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_RELEASE_LOCK
    - TAILQ_INSERT_TAIL
    - mm_malloc
    - EVBASE_ACQUIRE_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:
    - EVBASE_RELEASE_LOCK
    - TAILQ_REMOVE
    - mm_free
    - EVBASE_ACQUIRE_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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    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: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    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: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    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: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    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: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    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: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    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: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    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:
    - gethostbyaddr
    - ntohs
    - strlcpy
    - evutil_snprintf
    - 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
    - mm_malloc
    - html_replace
    - strlen
    - memcpy
    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:
    - struct evhttp_connection*::ext_method_cmp
    - event_debug
    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_enable
    - event_debug
    - bufferevent_setcb
    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:
    - evbuffer_add_printf
    - bufferevent_get_output
    - bufferevent_enable
    - bufferevent_setcb
    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:
    - evbuffer_add_printf
    - evhttp_find_header
    - evhttp_method_
    - evutil_snprintf
    - bufferevent_get_output
    - EV_SIZE_ARG
    - evbuffer_get_length
    - evhttp_add_header
    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:
    - evutil_ascii_strcasecmp
    - evhttp_find_header
    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:
    - evutil_ascii_strncasecmp
    - evhttp_find_header
    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:
    - evhttp_find_header
    - evutil_date_rfc1123
    - 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
    - evutil_snprintf
    - EV_SIZE_ARG
    - evhttp_add_header
    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_is_connection_close
    - evhttp_is_connection_keepalive
    - evhttp_remove_header
    - evbuffer_add_printf
    - evhttp_find_header
    - evhttp_response_needs_body
    - evhttp_maybe_add_content_length_header
    - evhttp_maybe_add_date_header
    - bufferevent_get_output
    - evbuffer_get_length
    - evhttp_add_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:
    - evutil_ascii_strcasecmp
    - evhttp_find_header
    - REQ_VERSION_ATLEAST
    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:
    - evhttp_make_header_response
    - evbuffer_add_buffer
    - evhttp_have_expect
    - evbuffer_add_printf
    - bufferevent_get_output
    - evbuffer_add
    - evhttp_make_header_request
    - evbuffer_get_length
    - TAILQ_FOREACH
    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:
    - TAILQ_REMOVE
    - mm_free
    - evhttp_uri_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:
    - EVUTIL_ASSERT
    - error_cb
    - evhttp_connection_incoming_fail
    - EVUTIL_SET_SOCKET_ERROR
    - bufferevent_disable
    - evhttp_connection_connect_
    - TAILQ_FIRST
    - evhttp_connection_free
    - evhttp_request_free_
    - EVUTIL_SOCKET_ERROR
    - evhttp_connection_reset_
    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_connection_start_detectclose
    - evhttp_request_dispatch
    - evhttp_connection_connect_
    - evhttp_request_free_auto
    - TAILQ_FIRST
    - evhttp_connected
    - evhttp_is_request_connection_close
    - evhttp_connection_free
    - evhttp_connection_reset_
    - 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:
    - evutil_strtoll
    - isspace
    - evbuffer_remove_buffer
    - mm_free
    - event_debug
    - strlen
    - evbuffer_get_length
    - evbuffer_readln
    - evbuffer_drain
    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_connection_fail_
    - evhttp_parse_headers_
    - bufferevent_disable
    - bufferevent_get_input
    - evhttp_connection_done
    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:
    - evhttp_connection_fail_
    - EV_I64_ARG
    - bufferevent_get_input
    - event_debug
    - evbuffer_get_length
    - evbuffer_drain
    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_connection_fail_
    - evhttp_lingering_close
    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_fail_
    - evhttp_handle_chunked_read
    - evbuffer_add_buffer
    - evbuffer_remove_buffer
    - evhttp_lingering_fail
    - bufferevent_disable
    - evhttp_request_free_auto
    - bufferevent_get_input
    - evhttp_connection_done
    - evbuffer_get_length
    - evbuffer_drain
    - evhttp_read_trailer
    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:
    - event_errx
    - evhttp_read_header
    - evhttp_read_trailer
    - event_deferred_cb_cancel_
    - TAILQ_FIRST
    - get_deferred_queue
    - bufferevent_get_input
    - EV_SIZE_ARG
    - event_debug
    - evhttp_read_firstline
    - evhttp_connection_reset_
    - evbuffer_get_length
    - 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:
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - bufferevent_get_output
    - evbuffer_get_length
    - evhttp_start_read_
    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:
    - event_initialized
    - event_deferred_cb_cancel_
    - mm_free
    - event_del
    - TAILQ_FIRST
    - evhttp_connected
    - event_debug_unassign
    - evhttp_request_free_
    - get_deferred_queue
    - bufferevent_free
    - TAILQ_REMOVE
    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:
    - EVUTIL_ASSERT
    - mm_strdup
    - mm_free
    - 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:
    - EVUTIL_ASSERT
    - bufferevent_replacefd
    - bufferevent_disable_hard_
    - evhttp_connected
    - bufferevent_get_input
    - bufferevent_get_output
    - evbuffer_drain
    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:
    - evhttp_connection_reset_hard_
    - bufferevent_setcb
    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:
    - EVUTIL_ASSERT
    - TAILQ_INSERT_TAIL
    - evhttp_request_free_auto
    - event_add
    - evtimer_assign
    - TAILQ_FIRST
    - evhttp_connection_free
    - TAILQ_INIT
    - evhttp_connection_reset_
    - TAILQ_REMOVE
    - struct evhttp_request*::cb
    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:
    - evhttp_connection_fail_
    - evbuffer_freeze
    - evbuffer_unfreeze
    - bufferevent_get_output
    - evbuffer_get_length
    - evhttp_start_read_
    - evbuffer_drain
    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_cb_cleanup
    - EVUTIL_ASSERT
    - evhttp_connection_fail_
    - event_deferred_cb_schedule_
    - TAILQ_FIRST
    - evhttp_connection_free
    - bufferevent_get_input
    - get_deferred_queue
    - event_debug
    - evhttp_connection_reset_
    - evhttp_connection_done
    - bufferevent_getfd
    - evbuffer_get_length
    - EV_SOCK_ARG
    - evhttp_connection_read_on_write_error
    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_connection_cb_cleanup
    - evhttp_error_cb
    - evhttp_request_dispatch
    - bufferevent_setcb
    - bufferevent_set_timeouts
    - event_debug
    - bufferevent_getfd
    - EV_SOCK_ARG
    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:
    - event_warn
    - evhttp_valid_response_code
    - mm_free
    - mm_strdup
    - atoi
    - strsep
    - event_debug
    - evhttp_parse_http_version
    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:
    - event_warn
    - evhttp_uri_parse_authority
    - evhttp_uri_parse_with_flags
    - strrchr
    - struct evhttp_request*::evcon::ext_method_cmp
    - strcmp
    - mm_strdup
    - strsep
    - event_debug
    - strlen
    - evhttp_parse_http_version
    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:
    - evutil_ascii_strcasecmp
    - mm_free
    - TAILQ_REMOVE
    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:
    - strchr
    - evhttp_header_is_valid_value
    - event_debug
    - evhttp_add_header_internal
    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:
    - event_warn
    - mm_calloc
    - mm_free
    - mm_strdup
    - TAILQ_INSERT_TAIL
    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
    - mm_free
    - evhttp_parse_request_line
    - evbuffer_get_length
    - evbuffer_readln
    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:
    - evutil_rtrim_lws_
    - memcpy
    - mm_realloc
    - strlen
    - TAILQ_LAST
    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:
    - evutil_rtrim_lws_
    - mm_free
    - strspn
    - evhttp_append_to_last_header
    - strsep
    - evbuffer_get_length
    - evbuffer_readln
    - evhttp_add_header
    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:
    - evutil_strtoll
    - evutil_ascii_strcasecmp
    - evhttp_find_header
    - EV_I64_ARG
    - bufferevent_get_input
    - EV_SIZE_ARG
    - event_debug
    - evbuffer_get_length
    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:
    - evutil_ascii_strcasecmp
    - evhttp_connection_fail_
    - evhttp_have_expect
    - evhttp_lingering_fail
    - evhttp_method_may_have_body_
    - evhttp_find_header
    - bufferevent_get_input
    - evhttp_send_error
    - evhttp_send_continue
    - evhttp_connection_done
    - evbuffer_get_length
    - evhttp_get_body_length
    - evhttp_read_body
    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:
    - evhttp_connection_fail_
    - evhttp_read_header
    - evhttp_parse_firstline_
    - bufferevent_get_input
    - event_debug
    - bufferevent_getfd
    - EV_SOCK_ARG
    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_connection_fail_
    - evbuffer_add_buffer
    - evhttp_start_write_
    - evhttp_parse_headers_
    - evhttp_response_needs_body
    - event_warnx
    - bufferevent_get_input
    - bufferevent_get_output
    - event_debug
    - evhttp_connection_done
    - bufferevent_getfd
    - evhttp_get_body
    - EV_SOCK_ARG
    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:
    - event_warn
    - bufferevent_setcb
    - event_deferred_cb_init_
    - mm_calloc
    - bufferevent_socket_new
    - evhttp_connection_free
    - bufferevent_get_priority
    - TAILQ_INIT
    - bufferevent_base_set
    - bufferevent_get_base
    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:
    - event_warn
    - member_size
    - evhttp_connection_free
    - 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:
    - event_warn
    - evhttp_connection_free
    - 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:
    - EVUTIL_ASSERT
    - bufferevent_base_set
    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:
    - EVUTIL_ASSERT
    - bufferevent_replacefd
    - bind_socket
    - bufferevent_socket_connect
    - bufferevent_setcb
    - bufferevent_set_timeouts
    - bufferevent_socket_connect_hostname
    - evhttp_connection_get_addr
    - event_debug
    - evhttp_connection_reset_
    - strcpy
    - bufferevent_enable
    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:
    - event_warn
    - EVUTIL_ASSERT
    - evhttp_request_dispatch
    - evhttp_connection_connect_
    - evhttp_request_free_auto
    - mm_free
    - TAILQ_FIRST
    - evhttp_connected
    - TAILQ_REMOVE
    - mm_strdup
    - TAILQ_INSERT_TAIL
    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:
    - evhttp_connection_fail_
    - evhttp_request_free_auto
    - TAILQ_FIRST
    - TAILQ_REMOVE
    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:
    - event_deferred_cb_schedule_
    - bufferevent_setcb
    - bufferevent_disable
    - bufferevent_get_input
    - get_deferred_queue
    - evbuffer_get_length
    - bufferevent_enable
    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_disable
    - evhttp_write_buffer
    - bufferevent_enable
    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:
    - EVUTIL_ASSERT
    - evhttp_is_connection_keepalive
    - struct evhttp_request*::on_complete_cb
    - evhttp_associate_new_request_with_connection
    - TAILQ_FIRST
    - REQ_VERSION_BEFORE
    - evhttp_is_request_connection_close
    - evhttp_connection_free
    - evhttp_request_free
    - 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_send_page_
    - evbuffer_add_printf
    - evhttp_response_phrase_internal
    - evbuffer_new
    - evhttp_connection_free
    - evbuffer_free
    - evhttp_response_code_
    - evbuffer_get_length
    - evbuffer_drain
    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:
    - mm_malloc
    - mm_free
    - evhttp_send_error
    - evhttp_htmlescape
    - evutil_snprintf
    - strlen
    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
    - evbuffer_add_buffer
    - evhttp_make_header
    - TAILQ_FIRST
    - evhttp_write_buffer
    - 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_send
    - evhttp_response_code_
    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:
    - REQ_VERSION_ATLEAST
    - evhttp_make_header
    - evhttp_find_header
    - evhttp_response_needs_body
    - evhttp_write_buffer
    - evhttp_response_code_
    - evhttp_add_header
    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_add_buffer
    - evbuffer_add_printf
    - evhttp_response_needs_body
    - evhttp_write_buffer
    - bufferevent_get_output
    - evbuffer_add
    - evbuffer_get_length
    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_make_header
    - evhttp_write_buffer
    - evhttp_connection_free
    - evhttp_response_code_
    - 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
    - evhttp_write_buffer
    - bufferevent_get_output
    - evhttp_request_free
    - evbuffer_add
    - evbuffer_get_length
    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:
    - event_warn
    - evhttp_response_phrase_internal
    - mm_strdup
    - mm_free
    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_add_header
    - evhttp_response_code_
    - evhttp_send
    - evhttp_clear_headers
    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_add_printf
    - mm_malloc
    - evbuffer_new
    - evbuffer_free
    - CHAR_IS_UNRESERVED
    - strlen
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_remove
    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:
    - EVUTIL_ISXDIGIT_
    - strtol
    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:
    - event_warn
    - strlen
    - mm_malloc
    - evhttp_decode_uri_internal
    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:
    - event_warn
    - EVUTIL_ASSERT
    - evhttp_decode_uri_internal
    - 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:
    - event_warn
    - evhttp_decode_uri_internal
    - evhttp_uri_parse
    - evhttp_remove_header
    - mm_malloc
    - mm_free
    - TAILQ_INIT
    - mm_strdup
    - evhttp_uri_free
    - strsep
    - event_debug
    - evhttp_clear_headers
    - evhttp_add_header_internal
    - strlen
    - evhttp_uri_get_query
    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
    - evhttp_uri_get_path
    - mm_malloc
    - mm_free
    - strcmp
    - strlen
    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:
    - mm_free
    - strcmp
    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:
    - EVUTIL_TOLOWER_
    - prefix_suffix_match
    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:
    - evutil_ascii_strcasecmp
    - TAILQ_FOREACH
    - evhttp_find_alias
    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
    - TAILQ_FOREACH
    - prefix_suffix_match
    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
    - bufferevent_disable
    - evhttp_find_vhost
    - evhttp_request_get_host
    - evhttp_send_error
    - evhttp_dispatch_callback
    - event_debug
    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:
    - EVUTIL_SET_SOCKET_ERROR
    - bind_socket
    - evutil_closesocket
    - listen
    - evhttp_accept_socket_with_handle
    - EVUTIL_SOCKET_ERROR
    - event_debug
    - event_sock_warn
    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:
    - evconnlistener_new
    - evhttp_bind_listener
    - 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:
    - event_warn
    - evhttp_set_max_body_size
    - evhttp_set_max_headers_size
    - mm_calloc
    - evhttp_set_allowed_methods
    - TAILQ_INIT
    - evhttp_set_default_content_type
    - evutil_timerclear
    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:
    - evhttp_bind_socket
    - mm_free
    - evhttp_new_object
    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_free
    - mm_free
    - TAILQ_FIRST
    - evhttp_connection_free
    - evconnlistener_free
    - evws_connection_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:
    - TAILQ_INSERT_TAIL
    - mm_strdup
    - 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:
    - TAILQ_INSERT_TAIL
    - mm_strdup
    - mm_calloc
    - mm_free
    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:
    - evutil_ascii_strcasecmp
    - TAILQ_FOREACH
    - mm_free
    - TAILQ_REMOVE
    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:
    - event_warn
    - mm_calloc
    - mm_free
    - strcmp
    - mm_strdup
    - TAILQ_INSERT_TAIL
    - TAILQ_FOREACH
    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:
    - TAILQ_REMOVE
    - TAILQ_FOREACH
    - mm_free
    - strcmp
    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:
    - event_warn
    - mm_calloc
    - evbuffer_new
    - TAILQ_INIT
    - evhttp_request_free
    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:
    - evbuffer_free
    - mm_free
    - evhttp_uri_free
    - evhttp_clear_headers
    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:
    - evhttp_uri_get_host
    - event_warn
    - evhttp_find_header
    - mm_malloc
    - EVUTIL_ISDIGIT_
    - strlen
    - memcpy
    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_replacefd
    - bufferevent_disable
    - bufferevent_socket_set_conn_address_
    - name_from_addr
    - mm_free
    - evhttp_connection_free
    - atoi
    - event_debug
    - evhttp_connection_base_bufferevent_new
    - evhttp_connection_base_bufferevent_unix_new
    - EV_SOCK_ARG
    - bufferevent_enable
    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:
    - event_warn
    - evhttp_request_new
    - struct evhttp*::newreqcb
    - mm_strdup
    - evhttp_request_free
    - TAILQ_INSERT_TAIL
    - evhttp_start_read_
    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:
    - evhttp_request_new
    - evutil_timerisset
    - evutil_closesocket
    - evhttp_associate_new_request_with_connection
    - evhttp_connection_free
    - bufferevent_enable
    - evhttp_send_error
    - evhttp_connection_set_write_timeout_tv
    - evhttp_get_request_connection
    - TAILQ_INSERT_TAIL
    - event_sock_warn
    - EV_SOCK_ARG
    - evhttp_connection_set_read_timeout_tv
    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:
    - event_errx
    - event_err
    - fake_getnameinfo
    - mm_strdup
    - getnameinfo
    - gai_strerror
    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:
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_set_tcp_keepalive
    - evutil_closesocket
    - bind
    - evutil_socket_
    - evutil_make_listen_socket_reuseable
    - EVUTIL_SOCKET_ERROR
    - event_sock_warn
    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:
    - event_warn
    - evutil_getaddrinfo
    - event_warnx
    - memset
    - evutil_snprintf
    - evutil_gai_strerror
    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
    - evutil_freeaddrinfo
    - make_addrinfo
    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_ASSERT
    - EVUTIL_ISALPHA_
    - 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
    - EVUTIL_ISXDIGIT_
    - CHAR_IS_UNRESERVED
    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
    - EVUTIL_ISXDIGIT_
    - CHAR_IS_UNRESERVED
    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_
    - evutil_inet_pton
    - CHAR_IS_UNRESERVED
    - memcpy
    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:
    - EVUTIL_ASSERT
    - strchr
    - event_warn
    - strncmp
    - bracket_addr_ok
    - regname_ok
    - userinfo_ok
    - mm_malloc
    - EVUTIL_ISDIGIT_
    - mm_strdup
    - parse_port
    - memcpy
    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
    - EVUTIL_ISXDIGIT_
    - CHAR_IS_UNRESERVED
    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:
    - event_warn
    - strchr
    - parse_authority
    - EVUTIL_ASSERT
    - mm_calloc
    - mm_free
    - end_of_authority
    - mm_strdup
    - evhttp_uri_free
    - path_matches_noscheme
    - end_of_path
    - 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:
    - event_warn
    - parse_authority
    - mm_calloc
    - end_of_authority
    - mm_strdup
    - evhttp_uri_free
    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:
    - URI_FREE_STR_
    - mm_free
    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_add_printf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_remove
    - URI_ADD_
    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
    - URI_SET_STR_
    - scheme_ok
    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:
    - URI_SET_STR_
    - strlen
    - userinfo_ok
    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:
    - regname_ok
    - bracket_addr_ok
    - memcpy
    - mm_realloc
    - strlen
    - free
    - URI_SET_STR_
    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:148,1
    - Dst: open
      Src: /src/libevent/evutil.c:153,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:158,1
    - Dst: close
      Src: /src/libevent/evutil.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pathname
    - flags
    - mode
    argTypes:
    - char*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: evutil_open_closeonexec_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - open
    - close
    - fcntl
    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:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    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:196,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:197,1
    - Dst: evutil_open_closeonexec_
      Src: /src/libevent/evutil.c:206,1
    - Dst: evutil_fd_filesize
      Src: /src/libevent/evutil.c:209,1
    - Dst: close
      Src: /src/libevent/evutil.c:211,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:214,1
    - Dst: close
      Src: /src/libevent/evutil.c:216,1
    - Dst: read
      Src: /src/libevent/evutil.c:225,1
    - Dst: N_TO_READ
      Src: /src/libevent/evutil.c:225,1
    - Dst: close
      Src: /src/libevent/evutil.c:230,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:232,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: 240
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 240
    functionName: evutil_read_file_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evutil_open_closeonexec_
    - mm_malloc
    - mm_free
    - close
    - N_TO_READ
    - evutil_fd_filesize
    - read
    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: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    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: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    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:255,1
    - Dst: GetTempPathW
      Src: /src/libevent/evutil.c:261,1
    - Dst: GetLongPathNameW
      Src: /src/libevent/evutil.c:262,1
    - Dst: GetTempFileNameW
      Src: /src/libevent/evutil.c:263,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:264,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/evutil.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - tmpfile
    argTypes:
    - WCHAR[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: create_tmpfile
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - GetLongPathNameW
    - GetTempFileNameW
    - event_warnx
    - EVUTIL_SOCKET_ERROR
    - evutil_secure_rng_get_bytes
    - GetTempPathW
    linkageType: ''
    returnType: int
    signature: int create_tmpfile(WCHAR tmpfile[MAX_PATH])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/evutil.c:282,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 290
    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:312,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:312,1
    - Dst: socket
      Src: /src/libevent/evutil.c:316,1
    - Dst: memset
      Src: /src/libevent/evutil.c:319,1
    - Dst: create_tmpfile
      Src: /src/libevent/evutil.c:321,1
    - Dst: DeleteFileW
      Src: /src/libevent/evutil.c:324,1
    - Dst: WideCharToMultiByte
      Src: /src/libevent/evutil.c:327,1
    - Dst: strlcpy
      Src: /src/libevent/evutil.c:331,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:333,1
    - Dst: bind
      Src: /src/libevent/evutil.c:337,1
    - Dst: listen
      Src: /src/libevent/evutil.c:340,1
    - Dst: socket
      Src: /src/libevent/evutil.c:343,1
    - Dst: memset
      Src: /src/libevent/evutil.c:347,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:351,1
    - Dst: connect
      Src: /src/libevent/evutil.c:354,1
    - Dst: accept
      Src: /src/libevent/evutil.c:359,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:366,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/evutil.c:371,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:374,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:381,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/evutil.c:384,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:386,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:388,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:390,1
    - Dst: DeleteFileW
      Src: /src/libevent/evutil.c:392,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:394,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: 397
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 397
    functionName: evutil_win_socketpair_afunix
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - ERR
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_ascii_strcasecmp
    - create_tmpfile
    - evutil_closesocket
    - bind
    - socket
    - listen
    - getsockname
    - DeleteFileW
    - event_warnx
    - memset
    - strlcpy
    - accept
    - connect
    - EVUTIL_SOCKET_ERROR
    - WideCharToMultiByte
    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: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    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:407,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/evutil.c:410,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:417,1
    - Dst: evutil_win_socketpair_afunix
      Src: /src/libevent/evutil.c:426,1
    - Dst: evutil_ersatz_socketpair_
      Src: /src/libevent/evutil.c:429,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: 430
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 430
    functionName: evutil_win_socketpair
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_check_working_afunix_
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_win_socketpair_afunix
    - evutil_ersatz_socketpair_
    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:439,1
    - Dst: event_sock_warn
      Src: /src/libevent/evutil.c:440,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:447,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:448,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:452,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 460
    functionName: evutil_make_socket_nonblocking
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_warn
    - event_sock_warn
    - ioctlsocket
    - fcntl
    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:470,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:472,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 478
    functionName: evutil_fast_socket_nonblocking
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_make_socket_nonblocking
    - event_warn
    - fcntl
    linkageType: ''
    returnType: int
    signature: int evutil_fast_socket_nonblocking(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 493
    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:503,1
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 540
    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:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    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:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    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:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 576
    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:583,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:584,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:588,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 595
    functionName: evutil_make_socket_closeonexec
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_warn
    - fcntl
    linkageType: ''
    returnType: int
    signature: int evutil_make_socket_closeonexec(evutil_socket_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libevent/evutil.c:605,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 611
    functionName: evutil_fast_socket_closeonexec
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_warn
    - fcntl
    linkageType: ''
    returnType: int
    signature: int evutil_fast_socket_closeonexec(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libevent/evutil.c:617,1
    - Dst: closesocket
      Src: /src/libevent/evutil.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 621
    functionName: evutil_closesocket
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 5
    functionsReached:
    - closesocket
    - close
    linkageType: ''
    returnType: int
    signature: int evutil_closesocket(evutil_socket_t sock)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/libevent/evutil.c:627,1
    - Dst: strtol
      Src: /src/libevent/evutil.c:629,1
    - Dst: _atoi64
      Src: /src/libevent/evutil.c:636,1
    - Dst: isspace
      Src: /src/libevent/evutil.c:637,1
    - Dst: isdigit
      Src: /src/libevent/evutil.c:641,1
    - Dst: _strtoi64
      Src: /src/libevent/evutil.c:647,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:654,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:657,1
    - Dst: EVUTIL_ISSPACE_
      Src: /src/libevent/evutil.c:664,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/evutil.c:669,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/evutil.c:672,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 3
    argNames:
    - s
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 681
    functionName: evutil_strtoll
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached:
    - _atoi64
    - isspace
    - EVUTIL_ISXDIGIT_
    - EVUTIL_ISSPACE_
    - _strtoi64
    - strtoll
    - sscanf
    - EVUTIL_ISDIGIT_
    - strtol
    - isdigit
    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:688,1
    - Dst: getsockopt
      Src: /src/libevent/evutil.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 697
    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:708,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/evutil.c:711,1
    - Dst: connect
      Src: /src/libevent/evutil.c:716,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evutil.c:717,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/evutil.c:718,1
    - Dst: EVUTIL_ERR_CONNECT_REFUSED
      Src: /src/libevent/evutil.c:720,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:729,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: 733
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 733
    functionName: evutil_socket_connect_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_socket_geterror
    - evutil_make_socket_nonblocking
    - evutil_closesocket
    - socket
    - connect
    - EVUTIL_ERR_CONNECT_RETRIABLE
    - EVUTIL_ERR_CONNECT_REFUSED
    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:745,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/evutil.c:749,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 756
    functionName: evutil_socket_finished_connecting_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ERR_CONNECT_RETRIABLE
    - EVUTIL_SET_SOCKET_ERROR
    - getsockopt
    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: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    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: 781
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 781
    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: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    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:791,1
    - Dst: evutil_v4addr_is_localhost
      Src: /src/libevent/evutil.c:793,1
    - Dst: evutil_v4addr_is_linklocal
      Src: /src/libevent/evutil.c:794,1
    - Dst: evutil_v4addr_is_classd
      Src: /src/libevent/evutil.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 796
    functionName: evutil_v4addr_is_local_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_v4addr_is_classd
    - evutil_v4addr_is_localhost
    - evutil_v4addr_is_linklocal
    - ntohl
    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:805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 810
    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:817,1
    - Dst: event_debug
      Src: /src/libevent/evutil.c:818,1
    - Dst: evutil_v6addr_is_local_
      Src: /src/libevent/evutil.c:823,1
    - Dst: event_debug
      Src: /src/libevent/evutil.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 828
    functionName: evutil_found_ifaddr
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_debug
    - evutil_v4addr_is_local_
    - evutil_v6addr_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:843,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:844,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:851,1
    - Dst: freeifaddrs
      Src: /src/libevent/evutil.c:854,1
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/evutil.c:861,1
    - Dst: TEXT
      Src: /src/libevent/evutil.c:861,1
    - Dst: GetProcAddress
      Src: /src/libevent/evutil.c:874,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:879,1
    - Dst: fn
      Src: /src/libevent/evutil.c:882,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:885,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:886,1
    - Dst: fn
      Src: /src/libevent/evutil.c:889,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:899,1
    - Dst: FreeLibrary
      Src: /src/libevent/evutil.c:906,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:908,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 913
    functionName: evutil_check_ifaddrs
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_warn
    - GetProcAddress
    - evutil_load_windows_system_library_
    - FreeLibrary
    - mm_malloc
    - mm_free
    - TEXT
    - freeifaddrs
    - fn
    - evutil_found_ifaddr
    - getifaddrs
    linkageType: ''
    returnType: int
    signature: int evutil_check_ifaddrs(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evutil_check_ifaddrs
      Src: /src/libevent/evutil.c:932,1
    - Dst: memset
      Src: /src/libevent/evutil.c:942,1
    - Dst: htons
      Src: /src/libevent/evutil.c:944,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:945,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:946,1
    - Dst: memset
      Src: /src/libevent/evutil.c:948,1
    - Dst: htons
      Src: /src/libevent/evutil.c:950,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:951,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:952,1
    - Dst: memset
      Src: /src/libevent/evutil.c:954,1
    - Dst: memset
      Src: /src/libevent/evutil.c:955,1
    - Dst: socket
      Src: /src/libevent/evutil.c:958,1
    - Dst: connect
      Src: /src/libevent/evutil.c:959,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:960,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:962,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:965,1
    - Dst: socket
      Src: /src/libevent/evutil.c:967,1
    - Dst: connect
      Src: /src/libevent/evutil.c:968,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:969,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:971,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:975,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 917
    functionDepth: 4
    functionLinenumber: 917
    functionLinenumberEnd: 978
    functionName: evutil_check_interfaces
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evutil_closesocket
    - evutil_inet_pton
    - socket
    - htons
    - getsockname
    - memset
    - evutil_check_ifaddrs
    - connect
    - evutil_found_ifaddr
    linkageType: ''
    returnType: int
    signature: int evutil_check_interfaces(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:996,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1002,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1004,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1008,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1010,1
    - Dst: mm_calloc
      Src: /src/libevent/evutil.c:1018,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1023,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: 1031
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1031
    functionName: evutil_new_addrinfo_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - mm_calloc
    - evutil_freeaddrinfo
    - evutil_new_addrinfo_
    - memcpy
    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: 1048
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1048
    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:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - servname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1060
    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:1069,1
    - Dst: getservbyname
      Src: /src/libevent/evutil.c:1074,1
    - Dst: ntohs
      Src: /src/libevent/evutil.c:1076,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - servname
    - protocol
    - hints
    argTypes:
    - char*
    - char*
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1081
    functionName: evutil_parse_servname
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - parse_numeric_servname
    - getservbyname
    - ntohs
    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:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - proto
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1109
    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: 1133
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1133
    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:1168,1
    - Dst: evutil_unparse_protoname
      Src: /src/libevent/evutil.c:1171,1
    - Dst: evutil_parse_servname
      Src: /src/libevent/evutil.c:1175,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1187,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1189,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1196,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1204,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1206,1
    - Dst: htonl
      Src: /src/libevent/evutil.c:1211,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1213,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1217,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evutil.c:1221,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1230,1
    - Dst: evutil_inet_pton_scope
      Src: /src/libevent/evutil.c:1231,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1235,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1237,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1248,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:1249,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1252,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1253,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: 1270
      start: 1152
    functionDepth: 2
    functionLinenumber: 1152
    functionLinenumberEnd: 1270
    functionName: evutil_getaddrinfo_common_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_inet_pton_scope
    - evutil_unparse_protoname
    - evutil_inet_pton
    - evutil_freeaddrinfo
    - htons
    - evutil_getaddrinfo_infer_protocols
    - evutil_new_addrinfo_
    - evutil_parse_servname
    - htonl
    - evutil_addrinfo_append_
    - memset
    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:1345,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1347,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:1352,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1356,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1358,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:1363,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1370,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1371,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1373,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evutil.c:1376,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:1380,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1382,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: 1388
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1388
    functionName: addrinfo_from_hostent
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_freeaddrinfo
    - htons
    - evutil_new_addrinfo_
    - event_warnx
    - evutil_addrinfo_append_
    - mm_strdup
    - memset
    - memcpy
    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:1402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - hints
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1395
    functionDepth: 5
    functionLinenumber: 1395
    functionLinenumberEnd: 1408
    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: 1442
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1442
    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:1484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    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:1492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1494
    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:1505,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1508,1
    - Dst: freeaddrinfo
      Src: /src/libevent/evutil.c:1515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - port
    - ai
    argTypes:
    - int
    - struct evutil_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1518
    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:1525,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:1528,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1531,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:1538,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1549
    functionName: apply_socktype_protocol_hack
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - mm_malloc
    - mm_free
    - evutil_getaddrinfo_infer_protocols
    - mm_strdup
    - memcpy
    linkageType: ''
    returnType: int
    signature: int apply_socktype_protocol_hack(struct evutil_addrinfo *ai)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1561,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1563,1
    - Dst: evutil_adjust_hints_for_addrconfig_
      Src: /src/libevent/evutil.c:1571,1
    - Dst: parse_numeric_servname
      Src: /src/libevent/evutil.c:1578,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evutil.c:1597,1
    - Dst: need_numeric_port_hack
      Src: /src/libevent/evutil.c:1609,1
    - Dst: parse_numeric_servname
      Src: /src/libevent/evutil.c:1610,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evutil.c:1613,1
    - Dst: need_socktype_protocol_hack
      Src: /src/libevent/evutil.c:1618,1
    - Dst: evutil_getaddrinfo_infer_protocols
      Src: /src/libevent/evutil.c:1619,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:1629,1
    - Dst: getaddrinfo
      Src: /src/libevent/evutil.c:1634,1
    - Dst: apply_numeric_port_hack
      Src: /src/libevent/evutil.c:1636,1
    - Dst: need_socktype_protocol_hack
      Src: /src/libevent/evutil.c:1638,1
    - Dst: apply_socktype_protocol_hack
      Src: /src/libevent/evutil.c:1639,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1640,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1652,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1654,1
    - Dst: evutil_adjust_hints_for_addrconfig_
      Src: /src/libevent/evutil.c:1658,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evutil.c:1660,1
    - Dst: gethostbyname_r
      Src: /src/libevent/evutil.c:1674,1
    - Dst: gethostbyname_r
      Src: /src/libevent/evutil.c:1679,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1684,1
    - Dst: gethostbyname_r
      Src: /src/libevent/evutil.c:1685,1
    - Dst: gethostbyname
      Src: /src/libevent/evutil.c:1690,1
    - Dst: WSAGetLastError
      Src: /src/libevent/evutil.c:1692,1
    - Dst: addrinfo_from_hostent
      Src: /src/libevent/evutil.c:1734,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: 1741
      start: 1552
    functionDepth: 6
    functionLinenumber: 1552
    functionLinenumberEnd: 1741
    functionName: evutil_getaddrinfo
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - need_numeric_port_hack
    - EVUTIL_ASSERT
    - gethostbyname_r
    - need_socktype_protocol_hack
    - parse_numeric_servname
    - getaddrinfo
    - evutil_freeaddrinfo
    - evutil_adjust_hints_for_addrconfig_
    - evutil_getaddrinfo_infer_protocols
    - WSAGetLastError
    - memset
    - gethostbyname
    - apply_socktype_protocol_hack
    - apply_numeric_port_hack
    - memcpy
    - addrinfo_from_hostent
    - evutil_getaddrinfo_common_
    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:1758,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1759,1
    - Dst: freeaddrinfo
      Src: /src/libevent/evutil.c:1772,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1777,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1782
    functionName: evutil_freeaddrinfo
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 5
    functionsReached:
    - freeaddrinfo
    - mm_free
    linkageType: ''
    returnType: void
    signature: void evutil_freeaddrinfo(struct evutil_addrinfo *ai)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evutil.c:1791,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1792,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:1794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1805
    functionName: evutil_dup_addrinfo_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mm_calloc
    - mm_strdup
    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: 1815
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1815
    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: 1821
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1821
    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: 1829
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1829
    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: 1838
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1838
    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:1851,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/evutil.c:1856,1
    - Dst: cb
      Src: /src/libevent/evutil.c:1857,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: 1860
      start: 1844
    functionDepth: 7
    functionLinenumber: 1844
    functionLinenumberEnd: 1860
    functionName: evutil_getaddrinfo_async_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evdns_getaddrinfo_impl
    - evutil_getaddrinfo
    - cb
    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:1865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1867
    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:1905,1
    - Dst: gai_strerror
      Src: /src/libevent/evutil.c:1907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1912
    functionName: evutil_gai_strerror
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - gai_strerrorA
    - gai_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_gai_strerror(int err)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evutil.c:1920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1925
    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: 1954
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1954
    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: 1961
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1961
    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:1993,1
    - Dst: HT_FIND
      Src: /src/libevent/evutil.c:1996,1
    - Dst: FormatMessageA
      Src: /src/libevent/evutil.c:2002,1
    - Dst: chomp
      Src: /src/libevent/evutil.c:2006,1
    - Dst: LocalAlloc
      Src: /src/libevent/evutil.c:2010,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2015,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:2019,1
    - Dst: LocalFree
      Src: /src/libevent/evutil.c:2022,1
    - Dst: HT_INSERT
      Src: /src/libevent/evutil.c:2029,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/evutil.c:2032,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 2035
    functionName: evutil_socket_error_to_string
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - FormatMessageA
    - HT_INSERT
    - LocalFree
    - mm_malloc
    - chomp
    - HT_FIND
    - evutil_snprintf
    - LocalAlloc
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    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:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2043
    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:2051,1
    - Dst: HT_NEXT_RMV
      Src: /src/libevent/evutil.c:2054,1
    - Dst: LocalFree
      Src: /src/libevent/evutil.c:2057,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:2058,1
    - Dst: HT_CLEAR
      Src: /src/libevent/evutil.c:2061,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/evutil.c:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2046
    functionDepth: 1
    functionLinenumber: 2046
    functionLinenumberEnd: 2069
    functionName: evutil_free_sock_err_globals
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - LocalFree
    - HT_START
    - HT_NEXT_RMV
    - mm_free
    - HT_CLEAR
    - EVTHREAD_FREE_LOCK
    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: 2078
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2078
    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: 2084
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2084
    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:2093,1
    - Dst: evutil_vsnprintf
      Src: /src/libevent/evutil.c:2094,1
    - Dst: va_end
      Src: /src/libevent/evutil.c:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2088
    functionDepth: 1
    functionLinenumber: 2088
    functionLinenumberEnd: 2097
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf
      Src: /src/libevent/evutil.c:2106,1
    - Dst: _vscprintf
      Src: /src/libevent/evutil.c:2108,1
    - Dst: _xpg5_vsnprintf
      Src: /src/libevent/evutil.c:2115,1
    - Dst: vsnprintf
      Src: /src/libevent/evutil.c:2117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - buflen
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2124
    functionName: evutil_vsnprintf
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - _vscprintf
    - _xpg5_vsnprintf
    - _vsnprintf
    - vsnprintf
    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:2133,1
    - Dst: ntohl
      Src: /src/libevent/evutil.c:2137,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2139,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2164,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2168,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2172,1
    - Dst: strlcpy
      Src: /src/libevent/evutil.c:2174,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2206,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2208,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2214,1
    - Dst: strlcpy
      Src: /src/libevent/evutil.c:2216,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: 2223
      start: 2129
    functionDepth: 2
    functionLinenumber: 2129
    functionLinenumberEnd: 2223
    functionName: evutil_inet_ntop
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - strlcpy
    - evutil_snprintf
    - strlen
    - ntohl
    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:2237,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2239,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2243,1
    - Dst: if_nametoindex
      Src: /src/libevent/evutil.c:2245,1
    - Dst: strtoul
      Src: /src/libevent/evutil.c:2247,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:2252,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2256,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:2257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - indexp
    argTypes:
    - int
    - char*
    - void*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2259
    functionName: evutil_inet_pton_scope
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - strchr
    - if_nametoindex
    - strtoul
    - evutil_inet_pton
    - mm_free
    - mm_strdup
    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:2265,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:2271,1
    - Dst: htonl
      Src: /src/libevent/evutil.c:2277,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2284,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2289,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/evutil.c:2293,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:2299,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/evutil.c:2318,1
    - Dst: strtol
      Src: /src/libevent/evutil.c:2320,1
    - Dst: memmove
      Src: /src/libevent/evutil.c:2356,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2358,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2371
    functionName: evutil_inet_pton
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 4
    functionsReached:
    - strchr
    - EVUTIL_ISXDIGIT_
    - sscanf
    - htonl
    - EVUTIL_ISDIGIT_
    - memmove
    - memset
    - strtol
    - strlen
    - inet_pton
    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:2389,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2392,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2399,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2407,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2416,1
    - Dst: atoi
      Src: /src/libevent/evutil.c:2429,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2441,1
    - Dst: htons
      Src: /src/libevent/evutil.c:2446,1
    - Dst: evutil_inet_pton_scope
      Src: /src/libevent/evutil.c:2447,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2454,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2462,1
    - Dst: htons
      Src: /src/libevent/evutil.c:2467,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2468,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2472,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: 2476
      start: 2373
    functionDepth: 2
    functionLinenumber: 2373
    functionLinenumberEnd: 2476
    functionName: evutil_parse_sockaddr_port
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - strchr
    - evutil_inet_pton_scope
    - evutil_inet_pton
    - htons
    - atoi
    - memset
    - memcpy
    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:2486,1
    - Dst: ntohs
      Src: /src/libevent/evutil.c:2487,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2489,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/evutil.c:2494,1
    - Dst: ntohs
      Src: /src/libevent/evutil.c:2495,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2497,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sa
    - out
    - outlen
    argTypes:
    - struct sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2478
    functionDepth: 3
    functionLinenumber: 2478
    functionLinenumberEnd: 2505
    functionName: evutil_format_sockaddr_port_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - ntohs
    - evutil_snprintf
    - evutil_inet_ntop
    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:2534,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: 2544
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2544
    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: 2607
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2607
    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: 2619
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2619
    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: 2623
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2623
    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:2629,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2624
    functionDepth: 1
    functionLinenumber: 2624
    functionLinenumberEnd: 2638
    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:2643,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2639
    functionDepth: 1
    functionLinenumber: 2639
    functionLinenumberEnd: 2653
    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:2661,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2662,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2667,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/evutil.c:2668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - find
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2655
    functionDepth: 2
    functionLinenumber: 2655
    functionLinenumberEnd: 2672
    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:2682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2693
    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:2699,1
    - Dst: getauxval
      Src: /src/libevent/evutil.c:2701,1
    - Dst: getuid
      Src: /src/libevent/evutil.c:2705,1
    - Dst: geteuid
      Src: /src/libevent/evutil.c:2705,1
    - Dst: getgid
      Src: /src/libevent/evutil.c:2709,1
    - Dst: getegid
      Src: /src/libevent/evutil.c:2709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2695
    functionDepth: 1
    functionLinenumber: 2695
    functionLinenumberEnd: 2714
    functionName: evutil_issetugid
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - issetugid
    - getegid
    - getuid
    - geteuid
    - getauxval
    - getgid
    linkageType: ''
    returnType: int
    signature: int evutil_issetugid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_issetugid
      Src: /src/libevent/evutil.c:2719,1
    - Dst: getenv
      Src: /src/libevent/evutil.c:2722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - varname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2716
    functionDepth: 2
    functionLinenumber: 2716
    functionLinenumberEnd: 2723
    functionName: evutil_getenv_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - getenv
    - evutil_issetugid
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_getenv_(const char *varname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/evutil.c:2730,1
    - Dst: _getpid
      Src: /src/libevent/evutil.c:2733,1
    - Dst: getpid
      Src: /src/libevent/evutil.c:2735,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: 2740
      start: 2725
    functionDepth: 1
    functionLinenumber: 2725
    functionLinenumberEnd: 2740
    functionName: evutil_weakrand_seed_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - _getpid
    - getpid
    - evutil_gettimeofday
    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: 2755
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2755
    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:2768,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: 2771
      start: 2757
    functionDepth: 1
    functionLinenumber: 2757
    functionLinenumberEnd: 2771
    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:2782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2783
    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:2794,1
    - Dst: memcmp
      Src: /src/libevent/evutil.c:2797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2800
    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: 2825
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2825
    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:2833,1
    - Dst: _tcslen
      Src: /src/libevent/evutil.c:2834,1
    - Dst: _tcscat
      Src: /src/libevent/evutil.c:2836,1
    - Dst: TEXT
      Src: /src/libevent/evutil.c:2836,1
    - Dst: _tcscat
      Src: /src/libevent/evutil.c:2837,1
    - Dst: LoadLibrary
      Src: /src/libevent/evutil.c:2838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - library_name
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2839
    functionName: evutil_load_windows_system_library_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - GetSystemDirectory
    - LoadLibrary
    - _tcscat
    - TEXT
    - _tcslen
    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:2855,1
    - Dst: socket
      Src: /src/libevent/evutil.c:2862,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:2866,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2867,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:2872,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2873,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - domain
    - type
    - protocol
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2850
    functionDepth: 3
    functionLinenumber: 2850
    functionLinenumberEnd: 2878
    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:2898,1
    - Dst: socketpair
      Src: /src/libevent/evutil.c:2900,1
    - Dst: evutil_ersatz_socketpair_
      Src: /src/libevent/evutil.c:2902,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:2908,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2909,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2910,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:2913,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2914,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2915,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:2922,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2923,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2924,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:2927,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2928,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2929,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: 2935
      start: 2880
    functionDepth: 4
    functionLinenumber: 2880
    functionLinenumberEnd: 2935
    functionName: evutil_socketpair
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    - evutil_fast_socket_nonblocking
    - evutil_fast_socket_closeonexec
    - evutil_ersatz_socketpair_
    - evutil_win_socketpair
    - socketpair
    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:2968,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:2968,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:2973,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:2973,1
    - Dst: socket
      Src: /src/libevent/evutil.c:2977,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2980,1
    - Dst: htonl
      Src: /src/libevent/evutil.c:2982,1
    - Dst: bind
      Src: /src/libevent/evutil.c:2984,1
    - Dst: listen
      Src: /src/libevent/evutil.c:2987,1
    - Dst: socket
      Src: /src/libevent/evutil.c:2990,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2994,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:2998,1
    - Dst: connect
      Src: /src/libevent/evutil.c:3002,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evutil.c:3005,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/evutil.c:3006,1
    - Dst: accept
      Src: /src/libevent/evutil.c:3012,1
    - Dst: EVUTIL_ERR_ACCEPT_RETRIABLE
      Src: /src/libevent/evutil.c:3013,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:3020,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3027,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:3034,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/evutil.c:3037,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3039,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3041,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3043,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:3045,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: 3048
      start: 2937
    functionDepth: 1
    functionLinenumber: 2937
    functionLinenumberEnd: 3048
    functionName: evutil_ersatz_socketpair_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached:
    - ERR
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_socket_geterror
    - EVUTIL_ERR_ACCEPT_RETRIABLE
    - bind
    - evutil_closesocket
    - socket
    - listen
    - getsockname
    - htonl
    - memset
    - EVUTIL_SOCKET_ERROR
    - accept
    - connect
    - 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: 2951
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2951
    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: 2953
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2953
    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:3064,1
    - Dst: accept
      Src: /src/libevent/evutil.c:3074,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3079,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3080,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3085,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3086,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: 3091
      start: 3058
    functionDepth: 3
    functionLinenumber: 3058
    functionLinenumberEnd: 3091
    functionName: evutil_accept4_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    - evutil_fast_socket_nonblocking
    - evutil_fast_socket_closeonexec
    - accept
    - accept4
    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:3110,1
    - Dst: pipe
      Src: /src/libevent/evutil.c:3114,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3115,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3116,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3117,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3118,1
    - Dst: close
      Src: /src/libevent/evutil.c:3119,1
    - Dst: close
      Src: /src/libevent/evutil.c:3120,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:3126,1
    - Dst: evutil_socketpair
      Src: /src/libevent/evutil.c:3135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3097
    functionDepth: 5
    functionLinenumber: 3097
    functionLinenumberEnd: 3140
    functionName: evutil_make_internal_pipe_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_warn
    - evutil_socketpair
    - pipe
    - pipe2
    - evutil_fast_socket_nonblocking
    - evutil_fast_socket_closeonexec
    - close
    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:3152,1
    - Dst: eventfd
      Src: /src/libevent/evutil.c:3156,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3160,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3161,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3166,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - initval
    - flags
    argTypes:
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3146
    functionDepth: 3
    functionLinenumber: 3146
    functionLinenumberEnd: 3175
    functionName: evutil_eventfd_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    - evutil_fast_socket_nonblocking
    - evutil_fast_socket_closeonexec
    - eventfd
    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:3180,1
    - Dst: evutil_free_sock_err_globals
      Src: /src/libevent/evutil.c:3181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3177
    functionDepth: 2
    functionLinenumber: 3177
    functionLinenumberEnd: 3182
    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: 3190
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3190
    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:3371,1
    - Dst: strsignal
      Src: /src/libevent/evutil.c:3374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3367
    functionDepth: 2
    functionLinenumber: 3367
    functionLinenumberEnd: 3376
    functionName: evutil_strsignal
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_snprintf
    - strsignal
    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_NEXT_RMV
    - mm_free
    - HT_START
    - 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:
    - memset
    - mm_realloc
    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:
    - EVUTIL_ASSERT
    - EVENT_DEBUG_MODE_IS_ON
    - EVUTIL_UNLIKELY
    - event_warnx
    - struct eventop*::add
    - GET_IO_SLOT_AND_CTOR
    - LIST_INSERT_HEAD
    - evmap_make_space
    - LIST_FIRST
    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:
    - EVUTIL_ASSERT
    - LIST_REMOVE
    - GET_IO_SLOT
    - struct eventop*::del
    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:
    - GET_IO_SLOT
    - LIST_FOREACH
    - event_active_nolock_
    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:
    - GET_SIGNAL_SLOT_AND_CTOR
    - struct eventop*::add
    - LIST_INSERT_HEAD
    - evmap_make_space
    - LIST_EMPTY
    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:
    - GET_SIGNAL_SLOT
    - LIST_FIRST
    - LIST_REMOVE
    - 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:
    - event_active_nolock_
    - GET_SIGNAL_SLOT
    - LIST_FOREACH
    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
    - memset
    - LIST_FIRST
    - struct eventop*::add
    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_EMPTY
    - LIST_FIRST
    - struct eventop*::add
    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_IO_SLOT
    - GET_SIGNAL_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:
    - EVUTIL_ASSERT
    - evmap_io_foreach_fd
    - event_change_get_fdinfo
    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:
    - EVUTIL_ASSERT
    - event_changelist_check
    - event_change_get_fdinfo
    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:
    - EVUTIL_UNLIKELY
    - mm_realloc
    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
    - event_changelist_grow
    - memset
    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_check
    - event_changelist_get_or_construct
    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_check
    - event_changelist_get_or_construct
    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_FOREACH
    - EVUTIL_ASSERT_LIST_OK
    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_FOREACH
    - EVUTIL_ASSERT_LIST_OK
    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
    - event_changelist_assert_ok
    - evmap_signal_foreach_signal
    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:
    - LIST_FOREACH
    - struct evmap_foreach_event_helper*::fn
    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:
    - LIST_FOREACH
    - struct evmap_foreach_event_helper*::fn
    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:
    - evbuffer_free
    - TAILQ_REMOVE
    - mm_free
    - bufferevent_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:
    - Base64encode
    - strlen
    - snprintf
    - 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:
    - evws_connection_free
    - evbuffer_get_length
    - bufferevent_get_output
    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:
    - evbuffer_add
    - htons
    - bufferevent_get_output
    - bufferevent_setcb
    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:
    - event_warn
    - memcpy
    - ntohs
    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:
    - event_warn
    - evbuffer_remove_buffer
    - bufferevent_incref_and_lock_
    - get_ws_frame
    - struct evws_connection*::cb
    - evbuffer_new
    - evbuffer_free
    - bufferevent_get_input
    - evbuffer_pullup
    - evws_force_disconnect_
    - bufferevent_decref_and_unlock_
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_drain
    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:
    - event_warn
    - evutil_ascii_strcasecmp
    - evhttp_request_get_input_headers
    - evhttp_start_ws_
    - bufferevent_setcb
    - evhttp_find_header
    - mm_calloc
    - bufferevent_enable_locking_
    - evhttp_request_get_connection
    - evhttp_request_get_output_headers
    - evhttp_send_reply
    - evws_connection_free
    - TAILQ_INSERT_TAIL
    - ws_gen_accept_key
    - evutil_ascii_strcasestr
    - evhttp_add_header
    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:
    - make_ws_frame
    - bufferevent_lock
    - bufferevent_unlock
    - bufferevent_get_output
    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:
    - EVTHREAD_FREE_LOCK
    - mm_free
    - struct evconnlistener*::ops::destroy
    - UNLOCK
    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:
    - evconnlistener_new_async
    - event_assign
    - evconnlistener_enable
    - mm_calloc
    - listen
    - event_base_get_iocp_
    - EVTHREAD_ALLOC_LOCK
    - event_get_win32_extension_fns_
    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_SET_SOCKET_ERROR
    - evutil_set_tcp_keepalive
    - evutil_make_listen_socket_not_ipv6only
    - evutil_closesocket
    - evutil_make_listen_socket_ipv6only
    - bind
    - evutil_socket_
    - evutil_make_listen_socket_reuseable
    - evutil_make_tcp_listen_socket_deferred
    - EVUTIL_SOCKET_ERROR
    - evconnlistener_new
    - evutil_make_listen_socket_reuseable_port
    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:
    - struct evconnlistener*::ops::shutdown
    - listener_decref_and_unlock
    - LOCK
    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:
    - evutil_closesocket
    - event_del
    - EVUTIL_UPCAST
    - event_get_fd
    - event_debug_unassign
    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:
    - LOCK
    - struct evconnlistener*::ops::disable
    - UNLOCK
    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:
    - struct evconnlistener*::ops::getfd
    - LOCK
    - UNLOCK
    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:
    - LOCK
    - struct evconnlistener*::ops::getbase
    - 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:
    - LOCK
    - evconnlistener_enable
    - UNLOCK
    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:
    - LOCK
    - UNLOCK
    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_ASSERT
    - evutil_accept4_
    - evutil_socket_geterror
    - evutil_closesocket
    - EVUTIL_ERR_ACCEPT_RETRIABLE
    - listener_decref_and_unlock
    - LOCK
    - UNLOCK
    - event_sock_warn
    - errorcb
    - cb
    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:
    - evutil_check_working_afunix_
    - event_base_get_npriorities
    - event_overlapped_init_
    - InitializeCriticalSectionAndSpinCount
    - mm_calloc
    - event_deferred_cb_init_
    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
    - closesocket
    - DeleteCriticalSection
    - mm_free
    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_deferred_cb_schedule_
    - accepted_socket_cb
    - evutil_make_socket_nonblocking
    - socket
    - WSAGetLastError
    - event_iocp_port_associate_
    - setsockopt
    - closesocket
    - struct win32_extension_fns*::AcceptEx
    - event_get_win32_extension_fns_
    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:
    - EVUTIL_ASSERT
    - free_and_unlock_accepting_socket
    - start_accepting
    - EnterCriticalSection
    - listener_decref_and_unlock
    - LeaveCriticalSection
    - LOCK
    - setsockopt
    - UNLOCK
    - struct win32_extension_fns*::GetAcceptExSockaddrs
    - event_get_win32_extension_fns_
    - errorcb
    - cb
    - WSASetLastError
    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_
    - free_and_unlock_accepting_socket
    - EVUTIL_UPCAST
    - EnterCriticalSection
    - LeaveCriticalSection
    - listener_decref_and_unlock
    - LOCK
    - WSAGetLastError
    - UNLOCK
    - event_sock_warn
    - WSAGetOverlappedResult
    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:
    - iocp_listener_event_add
    - EVUTIL_UPCAST
    - EnterCriticalSection
    - LeaveCriticalSection
    - LOCK
    - UNLOCK
    - start_accepting
    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:
    - iocp_listener_event_del
    - stop_accepting
    - evutil_closesocket
    - EVUTIL_UPCAST
    - EnterCriticalSection
    - LeaveCriticalSection
    - LOCK
    - UNLOCK
    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_warn
    - new_accepting_socket
    - free_and_unlock_accepting_socket
    - mm_calloc
    - listen
    - start_accepting
    - getsockname
    - event_base_get_iocp_
    - event_iocp_port_associate_
    - event_warnx
    - EnterCriticalSection
    - iocp_listener_event_add
    - mm_free
    - EVTHREAD_FREE_LOCK
    - EVTHREAD_ALLOC_LOCK
    - event_sock_warn
    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:
    - evdns_log_fn
    - evutil_vsnprintf
    - event_logv_
    - va_start
    - va_end
    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
    - LIST_INSERT_HEAD
    - init_tcp_connection
    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:
    - evdns_tcp_disconnect
    - mm_free
    - LIST_REMOVE
    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:
    - evdns_remove_tcp_client
    - LIST_FIRST
    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:
    - mm_calloc
    - init_tcp_connection
    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:
    - evdns_tcp_disconnect
    - mm_free
    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_LOCK
    - EVDNS_UNLOCK
    - 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_
    - evtimer_add
    - log
    - evtimer_del
    - memcpy
    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:
    - EVUTIL_ASSERT
    - nameserver_pick
    - ASSERT_LOCKED
    - event_assign
    - disconnect_and_free_connection
    - evutil_format_sockaddr_port_
    - evutil_closesocket
    - evutil_sockaddr_is_loopback_
    - bind
    - request_swap_ns
    - evtimer_add
    - event_del
    - log
    - event_add
    - 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:
    - ASSERT_LOCKED
    - evutil_format_sockaddr_port_
    - evtimer_del
    - log
    - evdns_cancel_request
    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:
    - EVUTIL_ASSERT
    - mm_free
    - event_del
    - evtimer_del
    - log
    - search_request_finished
    - event_debug_unassign
    - evdns_request_remove
    - EVDNS_UNLOCK
    - evdns_requests_pump_waiting_queue
    - EVDNS_LOCK
    - ASSERT_VALID_REQUEST
    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
    - nameserver_pick
    - ASSERT_LOCKED
    - ASSERT_VALID_REQUEST
    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:
    - EVUTIL_ASSERT
    - evdns_request_transmit
    - nameserver_pick
    - ASSERT_LOCKED
    - evdns_request_insert
    - request_trans_id_set
    - evdns_transmit
    - evdns_request_remove
    - REQ_HEAD
    - transaction_id_pick
    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:
    - EVUTIL_ASSERT
    - mm_free
    - 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
    - event_get_priority
    - memcpy
    - 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:
    - ASSERT_LOCKED
    - request_finished
    - 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:
    - search_try_next
    - nameserver_failed
    - ASSERT_LOCKED
    - reply_schedule_callback
    - evutil_format_sockaddr_port_
    - evdns_err_to_string
    - request_reissue
    - log
    - evdns_request_timeout_callback
    - request_finished
    - evutil_snprintf
    - client_retransmit_through_tcp
    - nameserver_up
    - REQ_HEAD
    - ASSERT_VALID_REQUEST
    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:
    - GET8
    - memcpy
    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:
    - EVUTIL_ASSERT
    - MIN
    - evutil_ascii_strcasecmp
    - ASSERT_LOCKED
    - GET32
    - reply_handle
    - GET16
    - mm_malloc
    - mm_free
    - name_parse
    - strcmp
    - mm_strdup
    - memset
    - memcpy
    - request_find_from_trans_id
    - MAX
    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:
    - ASSERT_LOCKED
    - GET16
    - mm_malloc
    - mm_calloc
    - name_parse
    - memset
    - strlen
    - memcpy
    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:
    - evutil_secure_rng_get_bytes
    - ASSERT_LOCKED
    - request_find_from_trans_id
    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:
    - nameserver_failed
    - ASSERT_LOCKED
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - evutil_format_sockaddr_port_
    - recvfrom
    - mm_malloc
    - evutil_sockaddr_cmp
    - reply_parse
    - log
    - EVUTIL_ERR_RW_RETRIABLE
    - mm_free
    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:
    - request_parse
    - ASSERT_LOCKED
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - recvfrom
    - log
    - EVUTIL_ERR_RW_RETRIABLE
    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:
    - EVUTIL_ASSERT
    - bufferevent_write
    - htons
    - log
    - sendto
    - evdns_remove_tcp_client
    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_ASSERT
    - ASSERT_LOCKED
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - server_send_response
    - event_assign
    - event_del
    - log
    - EVUTIL_ERR_RW_RETRIABLE
    - event_add
    - server_request_free
    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_assign
    - evutil_format_sockaddr_port_
    - event_add
    - log
    - event_del
    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_transmit
    - EVDNS_UNLOCK
    - nameserver_read
    - EVDNS_LOCK
    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:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - server_port_flush
    - 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
    - dnslabel_table_add
    - dnslabel_table_get_pos
    - memcpy
    - 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:
    - EDNS_ENABLED
    - dnsname_to_labels
    - APPEND32
    - APPEND16
    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:
    - event_assign
    - mm_malloc
    - mm_free
    - event_add
    - memset
    - LIST_INIT
    - 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
    - mm_calloc
    - LIST_INIT
    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:
    - EVUTIL_ASSERT
    - bufferevent_read
    - mm_malloc
    - mm_free
    - ntohs
    - bufferevent_get_input
    - evbuffer_get_length
    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:
    - EVUTIL_ASSERT
    - request_parse
    - bufferevent_setcb
    - bufferevent_setwatermark
    - mm_free
    - log
    - EVDNS_UNLOCK
    - server_port_free
    - evdns_remove_tcp_client
    - EVDNS_LOCK
    - tcp_read_message
    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:
    - EVUTIL_ASSERT
    - log
    - EVDNS_UNLOCK
    - server_port_free
    - evdns_remove_tcp_client
    - EVDNS_LOCK
    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_setcb
    - evdns_add_tcp_client
    - bufferevent_setwatermark
    - bufferevent_set_timeouts
    - log
    - bufferevent_socket_new
    - bufferevent_free
    - bufferevent_enable
    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_LOCK
    - EVDNS_UNLOCK
    - evdns_remove_all_tcp_clients
    - 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:
    - mm_malloc
    - mm_free
    - mm_strdup
    - memcpy
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - TO_SERVER_REQUEST
    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:
    - evutil_snprintf
    - evdns_server_request_add_reply
    - ntohl
    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:
    - EVUTIL_ASSERT
    - APPEND32
    - dnslabel_table_init
    - mm_malloc
    - htons
    - server_request_free_answers
    - strlen
    - memcpy
    - dnsname_to_labels
    - dnslabel_clear
    - APPEND16
    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:
    - event_assign
    - evutil_socket_geterror
    - server_send_response
    - evdns_server_request_format_response
    - event_del
    - event_add
    - EVUTIL_ERR_RW_RETRIABLE
    - log
    - EVDNS_UNLOCK
    - server_request_free
    - EVDNS_LOCK
    - server_port_flush
    - 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:
    - mm_free
    - EVDNS_UNLOCK
    - server_port_free
    - server_request_free_answers
    - EVDNS_LOCK
    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:
    - EVUTIL_ASSERT
    - evutil_closesocket
    - EVTHREAD_FREE_LOCK
    - mm_free
    - event_del
    - event_debug_unassign
    - evconnlistener_free
    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
    - reply_schedule_callback
    - request_finished
    - evtimer_del
    - log
    - 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:
    - retransmit_all_tcp_requests_for
    - evdns_request_transmit
    - nameserver_failed
    - reply_schedule_callback
    - nameserver_pick
    - disconnect_and_free_connection
    - request_swap_ns
    - request_finished
    - log
    - evtimer_del
    - EVDNS_UNLOCK
    - REQ_HEAD
    - EVDNS_LOCK
    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:
    - nameserver_failed
    - ASSERT_LOCKED
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - event_add
    - sendto
    - EVUTIL_ERR_RW_RETRIABLE
    - ASSERT_VALID_REQUEST
    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:
    - EVUTIL_ASSERT
    - bufferevent_socket_connect
    - disconnect_and_free_connection
    - bufferevent_set_timeouts
    - new_tcp_connection
    - bufferevent_socket_new
    - log
    linkageType: ''
    returnType: int
    signature: int evdns_tcp_connect_if_disconnected(struct nameserver *server)
  - BBCount: 4
    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: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2879,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/evdns.c:2885,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2887,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2851
    functionDepth: 7
    functionLinenumber: 2851
    functionLinenumberEnd: 2889
    functionName: client_tcp_read_packet_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - disconnect_and_free_connection
    - bufferevent_setcb
    - bufferevent_setwatermark
    - mm_free
    - reply_parse
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - tcp_read_message
    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:2895,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2896,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2897,1
    - Dst: log
      Src: /src/libevent/evdns.c:2899,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2902,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2905,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2908,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/evdns.c:2910,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/evdns.c:2910,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2911,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/evdns.c:2912,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - bev
    - events
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2891
    functionDepth: 3
    functionLinenumber: 2891
    functionLinenumberEnd: 2915
    functionName: client_tcp_event_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - disconnect_and_free_connection
    - bufferevent_setcb
    - evutil_make_socket_nonblocking
    - bufferevent_setwatermark
    - log
    - EVDNS_UNLOCK
    - bufferevent_getfd
    - EVDNS_LOCK
    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:2928,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:2929,1
    - Dst: evdns_tcp_connect_if_disconnected
      Src: /src/libevent/evdns.c:2931,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2935,1
    - Dst: log
      Src: /src/libevent/evdns.c:2937,1
    - Dst: htons
      Src: /src/libevent/evdns.c:2938,1
    - Dst: bufferevent_write
      Src: /src/libevent/evdns.c:2939,1
    - Dst: bufferevent_write
      Src: /src/libevent/evdns.c:2941,1
    - Dst: bufferevent_enable
      Src: /src/libevent/evdns.c:2943,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:2945,1
    - Dst: log
      Src: /src/libevent/evdns.c:2950,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - req
    - server
    argTypes:
    - struct request*
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2923
    functionDepth: 4
    functionLinenumber: 2923
    functionLinenumberEnd: 2954
    functionName: evdns_request_transmit_through_tcp
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - bufferevent_write
    - bufferevent_setcb
    - disconnect_and_free_connection
    - evtimer_add
    - evdns_tcp_connect_if_disconnected
    - log
    - htons
    - ASSERT_VALID_REQUEST
    - bufferevent_enable
    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:2966,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:2967,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2971,1
    - Dst: evdns_request_transmit_through_tcp
      Src: /src/libevent/evdns.c:2986,1
    - Dst: evdns_request_transmit_to
      Src: /src/libevent/evdns.c:2995,1
    - Dst: nameserver_write_waiting
      Src: /src/libevent/evdns.c:3001,1
    - Dst: log
      Src: /src/libevent/evdns.c:3011,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:3013,1
    - Dst: log
      Src: /src/libevent/evdns.c:3014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 2962
    functionDepth: 6
    functionLinenumber: 2962
    functionLinenumberEnd: 3023
    functionName: evdns_request_transmit
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 3
    functionsReached:
    - EVUTIL_ASSERT
    - evdns_request_transmit_through_tcp
    - ASSERT_LOCKED
    - nameserver_write_waiting
    - evtimer_add
    - log
    - ASSERT_VALID_REQUEST
    - evdns_request_transmit_to
    linkageType: ''
    returnType: int
    signature: int evdns_request_transmit(struct request *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3040,1
    - Dst: nameserver_up
      Src: /src/libevent/evdns.c:3044,1
    - Dst: nameserver_probe_failed
      Src: /src/libevent/evdns.c:3046,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3048,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: 3049
      start: 3025
    functionDepth: 5
    functionLinenumber: 3025
    functionLinenumberEnd: 3049
    functionName: nameserver_probe_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - nameserver_probe_failed
    - nameserver_up
    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:3059,1
    - Dst: log
      Src: /src/libevent/evdns.c:3060,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:3061,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3064,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3068,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3070,1
    - Dst: request_trans_id_set
      Src: /src/libevent/evdns.c:3075,1
    - Dst: transaction_id_pick
      Src: /src/libevent/evdns.c:3075,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3051
    functionDepth: 4
    functionLinenumber: 3051
    functionLinenumberEnd: 3078
    functionName: nameserver_send_probe
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - ASSERT_LOCKED
    - evutil_format_sockaddr_port_
    - mm_calloc
    - mm_free
    - request_trans_id_set
    - log
    - request_submit
    - request_new
    - transaction_id_pick
    linkageType: ''
    returnType: void
    signature: void nameserver_send_probe(struct nameserver *const ns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3088,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:3096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3083
    functionDepth: 7
    functionLinenumber: 3083
    functionLinenumberEnd: 3105
    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:3114,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3108
    functionDepth: 1
    functionLinenumber: 3108
    functionLinenumberEnd: 3125
    functionName: evdns_base_count_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:3130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3127
    functionDepth: 2
    functionLinenumber: 3127
    functionLinenumberEnd: 3131
    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:3140,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3144,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:3149,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:3151,1
    - Dst: evtimer_initialized
      Src: /src/libevent/evdns.c:3152,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:3153,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:3155,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:3159,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3160,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:3176,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:3181,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3197,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3134
    functionDepth: 3
    functionLinenumber: 3134
    functionLinenumberEnd: 3199
    functionName: evdns_base_clear_nameservers_and_suspend
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_request_insert
    - disconnect_and_free_connection
    - evtimer_initialized
    - evutil_closesocket
    - mm_free
    - event_del
    - evtimer_del
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_cancel_request
    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:3204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3201
    functionDepth: 4
    functionLinenumber: 3201
    functionLinenumberEnd: 3205
    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:3212,1
    - Dst: evdns_requests_pump_waiting_queue
      Src: /src/libevent/evdns.c:3213,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3209
    functionDepth: 2
    functionLinenumber: 3209
    functionLinenumberEnd: 3217
    functionName: evdns_base_resume
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - 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:3222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3219
    functionDepth: 3
    functionLinenumber: 3219
    functionLinenumberEnd: 3223
    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:3234,1
    - Dst: evutil_sockaddr_cmp
      Src: /src/libevent/evdns.c:3237,1
    - Dst: log
      Src: /src/libevent/evdns.c:3242,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3246,1
    - Dst: memset
      Src: /src/libevent/evdns.c:3249,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:3252,1
    - Dst: evutil_socket_
      Src: /src/libevent/evdns.c:3254,1
    - Dst: evutil_sockaddr_is_loopback_
      Src: /src/libevent/evdns.c:3259,1
    - Dst: bind
      Src: /src/libevent/evdns.c:3260,1
    - Dst: log
      Src: /src/libevent/evdns.c:3263,1
    - Dst: setsockopt
      Src: /src/libevent/evdns.c:3270,1
    - Dst: log
      Src: /src/libevent/evdns.c:3272,1
    - Dst: setsockopt
      Src: /src/libevent/evdns.c:3278,1
    - Dst: log
      Src: /src/libevent/evdns.c:3280,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3286,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:3290,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:3292,1
    - Dst: log
      Src: /src/libevent/evdns.c:3297,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:3298,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:3316,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:3318,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3319,1
    - Dst: log
      Src: /src/libevent/evdns.c:3320,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:3321,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: 3323
      start: 3225
    functionDepth: 4
    functionLinenumber: 3225
    functionLinenumberEnd: 3323
    functionName: evdns_nameserver_add_impl_
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - event_assign
    - evutil_format_sockaddr_port_
    - evutil_sockaddr_is_loopback_
    - bind
    - evutil_closesocket
    - mm_malloc
    - evutil_sockaddr_cmp
    - evtimer_assign
    - log
    - event_add
    - mm_free
    - event_debug_unassign
    - memset
    - evutil_socket_
    - setsockopt
    - memcpy
    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:3331,1
    - Dst: htons
      Src: /src/libevent/evdns.c:3333,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3338,1
    - Dst: evdns_nameserver_add_impl_
      Src: /src/libevent/evdns.c:3339,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - base
    - address
    argTypes:
    - struct evdns_base*
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3326
    functionDepth: 5
    functionLinenumber: 3326
    functionLinenumberEnd: 3342
    functionName: evdns_base_nameserver_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_nameserver_add_impl_
    - htons
    - memset
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    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:3347,1
    - Dst: evdns_base_nameserver_add
      Src: /src/libevent/evdns.c:3348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3344
    functionDepth: 6
    functionLinenumber: 3344
    functionLinenumberEnd: 3349
    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:3355,1
    - Dst: htons
      Src: /src/libevent/evdns.c:3357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sa
    - port
    argTypes:
    - struct sockaddr*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3359
    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:3365,1
    - Dst: ntohs
      Src: /src/libevent/evdns.c:3367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3361
    functionDepth: 0
    functionLinenumber: 3361
    functionLinenumberEnd: 3371
    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:3380,1
    - Dst: log
      Src: /src/libevent/evdns.c:3382,1
    - Dst: sockaddr_getport
      Src: /src/libevent/evdns.c:3387,1
    - Dst: sockaddr_setport
      Src: /src/libevent/evdns.c:3388,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3390,1
    - Dst: evdns_nameserver_add_impl_
      Src: /src/libevent/evdns.c:3391,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - base
    - ip_as_string
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3374
    functionDepth: 5
    functionLinenumber: 3374
    functionLinenumberEnd: 3394
    functionName: evdns_base_nameserver_ip_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_nameserver_add_impl_
    - sockaddr_getport
    - log
    - evutil_parse_sockaddr_port
    - EVDNS_UNLOCK
    - sockaddr_setport
    - EVDNS_LOCK
    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:3399,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:3400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ip_as_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3396
    functionDepth: 6
    functionLinenumber: 3396
    functionLinenumberEnd: 3401
    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:3408,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3409,1
    - Dst: evdns_nameserver_add_impl_
      Src: /src/libevent/evdns.c:3410,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3411,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: 3413
      start: 3403
    functionDepth: 5
    functionLinenumber: 3403
    functionLinenumberEnd: 3413
    functionName: evdns_base_nameserver_sockaddr_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - evdns_nameserver_add_impl_
    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:3422,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3436,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3439,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: 3441
      start: 3415
    functionDepth: 1
    functionLinenumber: 3415
    functionLinenumberEnd: 3441
    functionName: evdns_base_get_nameserver_addr
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - memcpy
    - EVDNS_UNLOCK
    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:3449,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - base
    - idx
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3461
      start: 3443
    functionDepth: 1
    functionLinenumber: 3443
    functionLinenumberEnd: 3461
    functionName: evdns_base_get_nameserver_fd
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:3468,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3469,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3475,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3485,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - req
    - head
    argTypes:
    - struct request*
    - struct request**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3465
    functionDepth: 1
    functionLinenumber: 3465
    functionLinenumberEnd: 3500
    functionName: evdns_request_remove
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - EVUTIL_ASSERT
    - ASSERT_LOCKED
    - ASSERT_VALID_REQUEST
    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:3505,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - req
    - head
    argTypes:
    - struct request*
    - struct request**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3503
    functionDepth: 1
    functionLinenumber: 3503
    functionLinenumberEnd: 3517
    functionName: evdns_request_insert
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - ASSERT_LOCKED
    - ASSERT_VALID_REQUEST
    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:3522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3519
    functionDepth: 0
    functionLinenumber: 3519
    functionLinenumberEnd: 3527
    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:3536,1
    - Dst: evdns_request_len
      Src: /src/libevent/evdns.c:3537,1
    - Dst: transaction_id_pick
      Src: /src/libevent/evdns.c:3538,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3541,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3546,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3551,1
    - Dst: memset
      Src: /src/libevent/evdns.c:3555,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:3559,1
    - Dst: strlcpy
      Src: /src/libevent/evdns.c:3564,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/evdns.c:3565,1
    - Dst: EVUTIL_ISALPHA_
      Src: /src/libevent/evdns.c:3567,1
    - Dst: evdns_request_data_build
      Src: /src/libevent/evdns.c:3581,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:3590,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3603,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: 3605
      start: 3529
    functionDepth: 4
    functionLinenumber: 3529
    functionLinenumberEnd: 3605
    functionName: request_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 3
    functionsReached:
    - evdns_request_data_build
    - ASSERT_LOCKED
    - nameserver_pick
    - EVUTIL_ISALPHA_
    - mm_malloc
    - mm_free
    - evtimer_assign
    - memset
    - strlcpy
    - evutil_secure_rng_get_bytes
    - strlen
    - evdns_request_len
    - transaction_id_pick
    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:3612,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3614,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3615,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3616,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3620,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:3622,1
    - Dst: request_trans_id_set
      Src: /src/libevent/evdns.c:3627,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:3630,1
    - Dst: log
      Src: /src/libevent/evdns.c:3633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - base
    - current
    argTypes:
    - struct evdns_base*
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3607
    functionDepth: 3
    functionLinenumber: 3607
    functionLinenumberEnd: 3636
    functionName: request_clone
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - nameserver_pick
    - ASSERT_LOCKED
    - mm_malloc
    - evtimer_assign
    - request_trans_id_set
    - log
    - memcpy
    - transaction_id_pick
    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:3641,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3642,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:3646,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:3646,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:3651,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:3653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3638
    functionDepth: 7
    functionLinenumber: 3638
    functionLinenumberEnd: 3656
    functionName: request_submit
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - evdns_request_transmit
    - ASSERT_LOCKED
    - evdns_request_insert
    - REQ_HEAD
    - ASSERT_VALID_REQUEST
    linkageType: ''
    returnType: void
    signature: void request_submit(struct request *const req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3674,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3676,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3681,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:3683,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:3686,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:3686,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:3689,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - base
    - handle
    argTypes:
    - struct evdns_base*
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3692
      start: 3659
    functionDepth: 2
    functionLinenumber: 3659
    functionLinenumberEnd: 3692
    functionName: evdns_cancel_request
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - reply_schedule_callback
    - request_finished
    - EVDNS_UNLOCK
    - REQ_HEAD
    - EVDNS_LOCK
    - ASSERT_VALID_REQUEST
    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:3700,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3701,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3706,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3711,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3713,1
    - Dst: search_request_new
      Src: /src/libevent/evdns.c:3715,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3718,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3721,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: 3723
      start: 3695
    functionDepth: 8
    functionLinenumber: 3695
    functionLinenumberEnd: 3723
    functionName: evdns_base_resolve_ipv4
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_calloc
    - mm_free
    - request_submit
    - log
    - EVDNS_UNLOCK
    - request_new
    - EVDNS_LOCK
    - search_request_new
    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:3728,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: 3730
      start: 3725
    functionDepth: 9
    functionLinenumber: 3725
    functionLinenumberEnd: 3730
    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:3741,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3742,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3747,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3751,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3753,1
    - Dst: search_request_new
      Src: /src/libevent/evdns.c:3755,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3758,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3761,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: 3763
      start: 3734
    functionDepth: 8
    functionLinenumber: 3734
    functionLinenumberEnd: 3763
    functionName: evdns_base_resolve_ipv6
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_calloc
    - mm_free
    - request_submit
    - log
    - EVDNS_UNLOCK
    - request_new
    - EVDNS_LOCK
    - search_request_new
    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:3767,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: 3769
      start: 3765
    functionDepth: 9
    functionLinenumber: 3765
    functionLinenumberEnd: 3769
    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:3777,1
    - Dst: ntohl
      Src: /src/libevent/evdns.c:3778,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evdns.c:3779,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3784,1
    - Dst: log
      Src: /src/libevent/evdns.c:3789,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3790,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3793,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3795,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3797,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3800,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: 3802
      start: 3771
    functionDepth: 8
    functionLinenumber: 3771
    functionLinenumberEnd: 3802
    functionName: evdns_base_resolve_reverse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - mm_calloc
    - mm_free
    - log
    - request_submit
    - evutil_snprintf
    - EVDNS_UNLOCK
    - request_new
    - EVDNS_LOCK
    - ntohl
    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:3805,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: 3807
      start: 3804
    functionDepth: 9
    functionLinenumber: 3804
    functionLinenumberEnd: 3807
    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:3817,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3826,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:3826,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3827,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:3827,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3828,1
    - Dst: log
      Src: /src/libevent/evdns.c:3833,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3834,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3837,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3839,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3841,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3844,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: 3846
      start: 3809
    functionDepth: 8
    functionLinenumber: 3809
    functionLinenumberEnd: 3846
    functionName: evdns_base_resolve_reverse_ipv6
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - EVDNS_LOCK
    - request_new
    - mm_calloc
    - mm_free
    - log
    - request_submit
    - EVDNS_UNLOCK
    - strlen
    - memcpy
    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:3849,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: 3851
      start: 3848
    functionDepth: 9
    functionLinenumber: 3848
    functionLinenumberEnd: 3851
    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:3887,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct search_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3879
    functionDepth: 1
    functionLinenumber: 3879
    functionLinenumberEnd: 3891
    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:3895,1
    - Dst: memset
      Src: /src/libevent/evdns.c:3897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3893
    functionDepth: 1
    functionLinenumber: 3893
    functionLinenumberEnd: 3902
    functionName: search_state_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_malloc
    - memset
    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:3906,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:3908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3904
    functionDepth: 2
    functionLinenumber: 3904
    functionLinenumberEnd: 3909
    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:3915,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:3916,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3918
      start: 3912
    functionDepth: 3
    functionLinenumber: 3912
    functionLinenumberEnd: 3918
    functionName: evdns_base_search_clear
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - search_postfix_clear
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:3922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3920
    functionDepth: 4
    functionLinenumber: 3920
    functionLinenumberEnd: 3923
    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:3930,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3932,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:3933,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3937,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - base
    - domain
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3925
    functionDepth: 2
    functionLinenumber: 3925
    functionLinenumberEnd: 3944
    functionName: search_postfix_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - mm_malloc
    - memcpy
    - strlen
    - search_state_new
    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:3951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3961
      start: 3948
    functionDepth: 1
    functionLinenumber: 3948
    functionLinenumberEnd: 3961
    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:3966,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:3967,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - domain
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3964
    functionDepth: 3
    functionLinenumber: 3964
    functionLinenumberEnd: 3969
    functionName: evdns_base_search_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - search_postfix_add
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:3972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3970
    functionDepth: 4
    functionLinenumber: 3970
    functionLinenumberEnd: 3973
    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:3978,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:3979,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - ndots
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3976
    functionDepth: 2
    functionLinenumber: 3976
    functionLinenumberEnd: 3983
    functionName: evdns_base_search_ndots_set
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - search_state_new
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:3986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndots
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3987
      start: 3984
    functionDepth: 3
    functionLinenumber: 3984
    functionLinenumberEnd: 3987
    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:3993,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:3994,1
    - Dst: gethostname
      Src: /src/libevent/evdns.c:3995,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:3996,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:3998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3989
    functionDepth: 3
    functionLinenumber: 3989
    functionLinenumberEnd: 3999
    functionName: search_set_from_hostname
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    - ASSERT_LOCKED
    - search_postfix_clear
    - search_postfix_add
    - 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:4004,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4017,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4019,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4021,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4028,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: 4030
      start: 4002
    functionDepth: 1
    functionLinenumber: 4002
    functionLinenumberEnd: 4030
    functionName: search_make_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - strlen
    - memcpy
    - mm_malloc
    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:4035,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4036,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4037,1
    - Dst: string_num_dots
      Src: /src/libevent/evdns.c:4043,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4044,1
    - Dst: search_make_new
      Src: /src/libevent/evdns.c:4048,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4050,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4051,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4055,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:4056,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4060,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:4066,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4069,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:4071,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: 4074
      start: 4032
    functionDepth: 8
    functionLinenumber: 4032
    functionLinenumberEnd: 4074
    functionName: search_request_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - EVUTIL_ASSERT
    - search_make_new
    - ASSERT_LOCKED
    - mm_free
    - request_submit
    - mm_strdup
    - string_num_dots
    - request_new
    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:4086,1
    - Dst: string_num_dots
      Src: /src/libevent/evdns.c:4094,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4096,1
    - Dst: log
      Src: /src/libevent/evdns.c:4097,1
    - Dst: search_request_finished
      Src: /src/libevent/evdns.c:4099,1
    - Dst: search_make_new
      Src: /src/libevent/evdns.c:4106,1
    - Dst: log
      Src: /src/libevent/evdns.c:4108,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4109,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4110,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:4117,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:4117,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:4120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4081
    functionDepth: 8
    functionLinenumber: 4081
    functionLinenumberEnd: 4122
    functionName: search_try_next
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - search_make_new
    - ASSERT_LOCKED
    - mm_free
    - search_request_finished
    - log
    - request_finished
    - request_submit
    - string_num_dots
    - REQ_HEAD
    - request_new
    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:4126,1
    - Dst: search_state_decref
      Src: /src/libevent/evdns.c:4128,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4135
      start: 4124
    functionDepth: 2
    functionLinenumber: 4124
    functionLinenumberEnd: 4135
    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:4147,1
    - Dst: search_set_from_hostname
      Src: /src/libevent/evdns.c:4149,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4140
    functionDepth: 6
    functionLinenumber: 4140
    functionLinenumberEnd: 4152
    functionName: evdns_resolv_set_defaults
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - ASSERT_LOCKED
    - search_set_from_hostname
    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:4161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - s
    - delim
    - state
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4173
    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:4181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4177
    functionDepth: 0
    functionLinenumber: 4177
    functionLinenumberEnd: 4184
    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:4192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4200
      start: 4187
    functionDepth: 0
    functionLinenumber: 4187
    functionLinenumberEnd: 4200
    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:4206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - str
    - min
    - max
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4215
      start: 4203
    functionDepth: 0
    functionLinenumber: 4203
    functionLinenumberEnd: 4215
    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:4224,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4228,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:4229,1
    - Dst: evdns_request_remove
      Src: /src/libevent/evdns.c:4236,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:4237,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - base
    - maxinflight
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4246
      start: 4217
    functionDepth: 2
    functionLinenumber: 4217
    functionLinenumberEnd: 4246
    functionName: evdns_base_set_max_requests_inflight
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - ASSERT_LOCKED
    - evdns_request_insert
    - mm_calloc
    - 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:4254,1
    - Dst: evdns_base_set_option_impl
      Src: /src/libevent/evdns.c:4255,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - base
    - option
    - val
    argTypes:
    - struct evdns_base*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4249
    functionDepth: 1
    functionLinenumber: 4249
    functionLinenumberEnd: 4258
    functionName: evdns_base_set_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - evdns_base_set_option_impl
    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:4266,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4267,1
    - Dst: strncmp
      Src: /src/libevent/evdns.c:4269,1
    - Dst: strncmp
      Src: /src/libevent/evdns.c:4271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - optionname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4274
      start: 4260
    functionDepth: 0
    functionLinenumber: 4260
    functionLinenumberEnd: 4274
    functionName: str_matches_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    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:4282,1
    - Dst: log
      Src: /src/libevent/evdns.c:4286,1
    - Dst: log
      Src: /src/libevent/evdns.c:4291,1
    - Dst: log
      Src: /src/libevent/evdns.c:4295,1
    - Dst: log
      Src: /src/libevent/evdns.c:4301,1
    - Dst: log
      Src: /src/libevent/evdns.c:4305,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4310,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: 4312
      start: 4277
    functionDepth: 1
    functionLinenumber: 4277
    functionLinenumberEnd: 4312
    functionName: evdns_server_port_set_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - log
    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:4318,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4319,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4320,1
    - Dst: log
      Src: /src/libevent/evdns.c:4323,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:4324,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:4332,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4333,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4335,1
    - Dst: log
      Src: /src/libevent/evdns.c:4337,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4339,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4341,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4342,1
    - Dst: log
      Src: /src/libevent/evdns.c:4345,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4348,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4349,1
    - Dst: log
      Src: /src/libevent/evdns.c:4352,1
    - Dst: evdns_base_set_max_requests_inflight
      Src: /src/libevent/evdns.c:4354,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4355,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4356,1
    - Dst: log
      Src: /src/libevent/evdns.c:4360,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4362,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4363,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4367,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/evdns.c:4372,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4376,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4378,1
    - Dst: log
      Src: /src/libevent/evdns.c:4382,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4384,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4386,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4387,1
    - Dst: log
      Src: /src/libevent/evdns.c:4390,1
    - Dst: log
      Src: /src/libevent/evdns.c:4396,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4399,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4400,1
    - Dst: log
      Src: /src/libevent/evdns.c:4403,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: strtoint
      Src: /src/libevent/evdns.c:4413,1
    - Dst: log
      Src: /src/libevent/evdns.c:4416,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4418,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4420,1
    - Dst: log
      Src: /src/libevent/evdns.c:4422,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4423,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4424,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4426,1
    - Dst: log
      Src: /src/libevent/evdns.c:4427,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4429,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4431,1
    - Dst: log
      Src: /src/libevent/evdns.c:4432,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4434,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4435,1
    - Dst: log
      Src: /src/libevent/evdns.c:4438,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: 4442
      start: 4314
    functionDepth: 3
    functionLinenumber: 4314
    functionLinenumberEnd: 4442
    functionName: evdns_base_set_option_impl
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - evdns_base_set_max_requests_inflight
    - ASSERT_LOCKED
    - strtoint_clipped
    - strtoint
    - log
    - str_matches_option
    - evdns_strtotimeval
    - memcpy
    - evutil_parse_sockaddr_port
    - strlen
    - search_state_new
    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:4448,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/evdns.c:4449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - option
    - val
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4450
      start: 4444
    functionDepth: 2
    functionLinenumber: 4444
    functionLinenumberEnd: 4450
    functionName: evdns_set_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_set_option
    - evdns_base_new
    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:4459,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4460,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4463,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4467,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4468,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:4471,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:4472,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4474,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:4476,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:4479,1
    - Dst: search_reverse
      Src: /src/libevent/evdns.c:4481,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4482,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:4485,1
    - Dst: evdns_base_set_option_impl
      Src: /src/libevent/evdns.c:4486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - base
    - start
    - flags
    argTypes:
    - struct evdns_base*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4490
      start: 4452
    functionDepth: 6
    functionLinenumber: 4452
    functionLinenumberEnd: 4490
    functionName: resolv_conf_parse_line
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - evdns_base_nameserver_ip_add
    - search_reverse
    - strchr
    - ASSERT_LOCKED
    - search_postfix_clear
    - search_postfix_add
    - strcmp
    - evdns_base_set_option_impl
    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:4504,1
    - Dst: evdns_base_resolv_conf_parse_impl
      Src: /src/libevent/evdns.c:4505,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - base
    - flags
    - filename
    argTypes:
    - struct evdns_base*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4501
    functionDepth: 1
    functionLinenumber: 4501
    functionLinenumberEnd: 4508
    functionName: evdns_base_resolv_conf_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolv_conf_parse_impl
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:4524,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4526,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4526,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4527,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evdns.c:4528,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:4531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4533
      start: 4510
    functionDepth: 2
    functionLinenumber: 4510
    functionLinenumberEnd: 4533
    functionName: evdns_get_default_hosts_filename
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - SHGetSpecialFolderPathA
    - mm_malloc
    - mm_strdup
    - evutil_snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      evdns_get_default_hosts_filename(void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:4543,1
    - Dst: evdns_get_default_hosts_filename
      Src: /src/libevent/evdns.c:4550,1
    - Dst: evdns_base_load_hosts
      Src: /src/libevent/evdns.c:4551,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4553,1
    - Dst: evdns_resolv_set_defaults
      Src: /src/libevent/evdns.c:4557,1
    - Dst: evutil_read_file_
      Src: /src/libevent/evdns.c:4561,1
    - Dst: evdns_resolv_set_defaults
      Src: /src/libevent/evdns.c:4564,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:4573,1
    - Dst: resolv_conf_parse_line
      Src: /src/libevent/evdns.c:4575,1
    - Dst: resolv_conf_parse_line
      Src: /src/libevent/evdns.c:4579,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4586,1
    - Dst: search_set_from_hostname
      Src: /src/libevent/evdns.c:4590,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4593,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - base
    - flags
    - filename
    argTypes:
    - struct evdns_base*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4535
    functionDepth: 7
    functionLinenumber: 4535
    functionLinenumberEnd: 4595
    functionName: evdns_base_resolv_conf_parse_impl
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - evdns_get_default_hosts_filename
    - evdns_base_load_hosts
    - evdns_resolv_set_defaults
    - strchr
    - evdns_base_nameserver_ip_add
    - evutil_read_file_
    - mm_free
    - log
    - search_set_from_hostname
    - resolv_conf_parse_line
    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:4600,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/evdns.c:4601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - flags
    - filename
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4602
      start: 4597
    functionDepth: 2
    functionLinenumber: 4597
    functionLinenumberEnd: 4602
    functionName: evdns_resolv_conf_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_new
    - evdns_base_resolv_conf_parse
    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:4612,1
    - Dst: isspace
      Src: /src/libevent/evdns.c:4614,1
    - Dst: isdigit
      Src: /src/libevent/evdns.c:4617,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4620,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4622,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4624,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - base
    - ips
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4629
      start: 4607
    functionDepth: 6
    functionLinenumber: 4607
    functionLinenumberEnd: 4629
    functionName: evdns_nameserver_ip_add_line
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - isspace
    - ASSERT_LOCKED
    - mm_malloc
    - mm_free
    - memcpy
    - isdigit
    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:4646,1
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/evdns.c:4647,1
    - Dst: TEXT
      Src: /src/libevent/evdns.c:4648,1
    - Dst: log
      Src: /src/libevent/evdns.c:4649,1
    - Dst: GetProcAddress
      Src: /src/libevent/evdns.c:4653,1
    - Dst: log
      Src: /src/libevent/evdns.c:4654,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4659,1
    - Dst: fn
      Src: /src/libevent/evdns.c:4662,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4668,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4669,1
    - Dst: fn
      Src: /src/libevent/evdns.c:4672,1
    - Dst: log
      Src: /src/libevent/evdns.c:4674,1
    - Dst: inet_ntop
      Src: /src/libevent/evdns.c:4685,1
    - Dst: inet_ntop
      Src: /src/libevent/evdns.c:4687,1
    - Dst: strncmp
      Src: /src/libevent/evdns.c:4691,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4695,1
    - Dst: log
      Src: /src/libevent/evdns.c:4697,1
    - Dst: log
      Src: /src/libevent/evdns.c:4701,1
    - Dst: log
      Src: /src/libevent/evdns.c:4709,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4718,1
    - Dst: FreeLibrary
      Src: /src/libevent/evdns.c:4720,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4635
    functionDepth: 6
    functionLinenumber: 4635
    functionLinenumberEnd: 4722
    functionName: load_nameservers_with_getadaptersaddresses_unlocked
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - GetProcAddress
    - inet_ntop
    - strncmp
    - ASSERT_LOCKED
    - evutil_load_windows_system_library_
    - mm_malloc
    - mm_free
    - log
    - TEXT
    - fn
    - FreeLibrary
    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:4728,1
    - Dst: load_nameservers_with_getadaptersaddresses_unlocked
      Src: /src/libevent/evdns.c:4729,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4732
      start: 4724
    functionDepth: 7
    functionLinenumber: 4724
    functionLinenumberEnd: 4732
    functionName: load_nameservers_with_getadaptersaddresses
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - load_nameservers_with_getadaptersaddresses_unlocked
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    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:4741,1
    - Dst: RegQueryValueEx
      Src: /src/libevent/evdns.c:4742,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4745,1
    - Dst: RegQueryValueEx
      Src: /src/libevent/evdns.c:4748,1
    - Dst: evdns_nameserver_ip_add_line
      Src: /src/libevent/evdns.c:4750,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - base
    - key
    - subkey
    argTypes:
    - struct evdns_base*
    - HKEY
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4755
      start: 4734
    functionDepth: 7
    functionLinenumber: 4734
    functionLinenumberEnd: 4755
    functionName: config_nameserver_from_reg_key
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - mm_malloc
    - mm_free
    - evdns_nameserver_ip_add_line
    - RegQueryValueEx
    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:4775,1
    - Dst: GetVersion
      Src: /src/libevent/evdns.c:4777,1
    - Dst: RegOpenKeyEx
      Src: /src/libevent/evdns.c:4780,1
    - Dst: log
      Src: /src/libevent/evdns.c:4782,1
    - Dst: GetLastError
      Src: /src/libevent/evdns.c:4782,1
    - Dst: RegOpenKeyEx
      Src: /src/libevent/evdns.c:4785,1
    - Dst: TEXT
      Src: /src/libevent/evdns.c:4785,1
    - Dst: log
      Src: /src/libevent/evdns.c:4789,1
    - Dst: GetLastError
      Src: /src/libevent/evdns.c:4789,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4792,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4793,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4794,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4795,1
    - Dst: RegCloseKey
      Src: /src/libevent/evdns.c:4796,1
    - Dst: RegCloseKey
      Src: /src/libevent/evdns.c:4797,1
    - Dst: RegOpenKeyEx
      Src: /src/libevent/evdns.c:4800,1
    - Dst: log
      Src: /src/libevent/evdns.c:4802,1
    - Dst: GetLastError
      Src: /src/libevent/evdns.c:4802,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4805,1
    - Dst: RegCloseKey
      Src: /src/libevent/evdns.c:4806,1
    - Dst: log
      Src: /src/libevent/evdns.c:4810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4761
    functionDepth: 1
    functionLinenumber: 4761
    functionLinenumberEnd: 4815
    functionName: load_nameservers_from_registry
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - GetLastError
    - GetVersion
    - RegOpenKeyEx
    - log
    - TEXT
    - RegCloseKey
    - TRY
    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: 4774
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4774
    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:4826,1
    - Dst: evdns_get_default_hosts_filename
      Src: /src/libevent/evdns.c:4827,1
    - Dst: log
      Src: /src/libevent/evdns.c:4828,1
    - Dst: evdns_base_load_hosts
      Src: /src/libevent/evdns.c:4829,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4831,1
    - Dst: load_nameservers_with_getadaptersaddresses_unlocked
      Src: /src/libevent/evdns.c:4833,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4834,1
    - Dst: load_nameservers_from_registry
      Src: /src/libevent/evdns.c:4837,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4841
      start: 4817
    functionDepth: 7
    functionLinenumber: 4817
    functionLinenumberEnd: 4841
    functionName: evdns_base_config_windows_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_get_default_hosts_filename
    - evdns_base_load_hosts
    - load_nameservers_from_registry
    - mm_free
    - log
    - load_nameservers_with_getadaptersaddresses_unlocked
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    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:4847,1
    - Dst: evdns_base_config_windows_nameservers
      Src: /src/libevent/evdns.c:4850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4852
      start: 4843
    functionDepth: 8
    functionLinenumber: 4843
    functionLinenumberEnd: 4852
    functionName: evdns_config_windows_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_new
    - evdns_base_config_windows_nameservers
    linkageType: ''
    returnType: int
    signature: int evdns_config_windows_nameservers(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_secure_rng_init
      Src: /src/libevent/evdns.c:4860,1
    - Dst: log
      Src: /src/libevent/evdns.c:4861,1
    - Dst: evutil_set_evdns_getaddrinfo_fn_
      Src: /src/libevent/evdns.c:4869,1
    - Dst: evutil_set_evdns_getaddrinfo_cancel_fn_
      Src: /src/libevent/evdns.c:4870,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4872,1
    - Dst: memset
      Src: /src/libevent/evdns.c:4875,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/evdns.c:4878,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4879,1
    - Dst: evdns_base_set_max_requests_inflight
      Src: /src/libevent/evdns.c:4884,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evdns.c:4907,1
    - Dst: SPLAY_INIT
      Src: /src/libevent/evdns.c:4908,1
    - Dst: log
      Src: /src/libevent/evdns.c:4919,1
    - Dst: evdns_base_config_windows_nameservers
      Src: /src/libevent/evdns.c:4937,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/evdns.c:4939,1
    - Dst: evutil_resolvconf_filename_
      Src: /src/libevent/evdns.c:4939,1
    - Dst: evdns_base_free_and_unlock
      Src: /src/libevent/evdns.c:4942,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4949,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 2
    argNames:
    - event_base
    - flags
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4951
      start: 4855
    functionDepth: 8
    functionLinenumber: 4855
    functionLinenumberEnd: 4951
    functionName: evdns_base_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 5
    functionsReached:
    - evdns_base_set_max_requests_inflight
    - evutil_set_evdns_getaddrinfo_fn_
    - evdns_base_free_and_unlock
    - evutil_secure_rng_init
    - evutil_set_evdns_getaddrinfo_cancel_fn_
    - mm_malloc
    - evdns_base_config_windows_nameservers
    - log
    - evdns_base_resolv_conf_parse
    - TAILQ_INIT
    - memset
    - SPLAY_INIT
    - evutil_resolvconf_filename_
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - 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:4956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4953
    functionDepth: 9
    functionLinenumber: 4953
    functionLinenumberEnd: 4963
    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: 4984
      start: 4965
    functionDepth: 0
    functionLinenumber: 4965
    functionLinenumberEnd: 4984
    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:4990,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:4991,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:4992,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:4994,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:4996,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:4999,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:5000,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4986
    functionDepth: 3
    functionLinenumber: 4986
    functionLinenumberEnd: 5002
    functionName: evdns_nameserver_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - disconnect_and_free_connection
    - evutil_closesocket
    - mm_free
    - event_del
    - event_debug_unassign
    - evdns_cancel_request
    linkageType: ''
    returnType: void
    signature: void evdns_nameserver_free(struct nameserver *server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/libevent/evdns.c:5007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct evdns_cache*
    - struct evdns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5008
      start: 5004
    functionDepth: 1
    functionLinenumber: 5004
    functionLinenumberEnd: 5008
    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:5016,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5017,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:5018,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5019,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct evdns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5021
      start: 5013
    functionDepth: 2
    functionLinenumber: 5013
    functionLinenumberEnd: 5021
    functionName: evdns_cache_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - SPLAY_REMOVE
    - mm_free
    - evutil_freeaddrinfo
    - evtimer_del
    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:5036,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:5037,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:5042,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:5043,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:5043,1
    - Dst: evdns_nameserver_free
      Src: /src/libevent/evdns.c:5052,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5062,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5064,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evdns.c:5070,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evdns.c:5071,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5072,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5076,1
    - Dst: SPLAY_EMPTY
      Src: /src/libevent/evdns.c:5078,1
    - Dst: evdns_cache_free
      Src: /src/libevent/evdns.c:5079,1
    - Dst: SPLAY_ROOT
      Src: /src/libevent/evdns.c:5079,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5082,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/evdns.c:5083,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5085,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - base
    - fail_requests
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5023
    functionDepth: 4
    functionLinenumber: 5023
    functionLinenumberEnd: 5086
    functionName: evdns_base_free_and_unlock
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - evdns_cache_free
    - reply_schedule_callback
    - mm_free
    - EVTHREAD_FREE_LOCK
    - request_finished
    - TAILQ_FIRST
    - SPLAY_EMPTY
    - EVDNS_UNLOCK
    - REQ_HEAD
    - TAILQ_REMOVE
    - SPLAY_ROOT
    - evdns_nameserver_free
    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:5091,1
    - Dst: evdns_base_free_and_unlock
      Src: /src/libevent/evdns.c:5092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - fail_requests
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5093
      start: 5088
    functionDepth: 5
    functionLinenumber: 5088
    functionLinenumberEnd: 5093
    functionName: evdns_base_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - evdns_base_free_and_unlock
    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:5099,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evdns.c:5100,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evdns.c:5101,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5102,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5105
      start: 5095
    functionDepth: 1
    functionLinenumber: 5095
    functionLinenumberEnd: 5105
    functionName: evdns_base_clear_host_addresses
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_free
    - TAILQ_FIRST
    - TAILQ_REMOVE
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    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:5113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fail_requests
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5107
    functionDepth: 6
    functionLinenumber: 5107
    functionLinenumberEnd: 5116
    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:5123,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:5127,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5134,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/evdns.c:5135,1
    - Dst: sockaddr_getport
      Src: /src/libevent/evdns.c:5140,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:5146,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:5152,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:5154,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5157,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5158,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5159,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evdns.c:5162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - base
    - line
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5170
      start: 5118
    functionDepth: 3
    functionLinenumber: 5118
    functionLinenumberEnd: 5170
    functionName: evdns_base_parse_hosts_line
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - strchr
    - sockaddr_getport
    - EVUTIL_ASSERT
    - ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    - mm_calloc
    - evutil_parse_sockaddr_port
    - memset
    - strlen
    - memcpy
    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:5179,1
    - Dst: evutil_read_file_
      Src: /src/libevent/evdns.c:5182,1
    - Dst: strlcpy
      Src: /src/libevent/evdns.c:5184,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5185,1
    - Dst: strlcpy
      Src: /src/libevent/evdns.c:5186,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5187,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:5195,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5199,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5202,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - base
    - hosts_fname
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5209
      start: 5172
    functionDepth: 4
    functionLinenumber: 5172
    functionLinenumberEnd: 5209
    functionName: evdns_base_load_hosts_impl
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    - evdns_base_parse_hosts_line
    - ASSERT_LOCKED
    - 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:5217,1
    - Dst: evdns_base_load_hosts_impl
      Src: /src/libevent/evdns.c:5218,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - base
    - hosts_fname
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5211
    functionDepth: 5
    functionLinenumber: 5211
    functionLinenumberEnd: 5221
    functionName: evdns_base_load_hosts
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - 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: 5279
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5279
    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: 5290
      start: 5282
    functionDepth: 0
    functionLinenumber: 5282
    functionLinenumberEnd: 5290
    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:5298,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5300,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:5301,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5302,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5305
      start: 5292
    functionDepth: 2
    functionLinenumber: 5292
    functionLinenumberEnd: 5305
    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: 5315
      start: 5307
    functionDepth: 0
    functionLinenumber: 5307
    functionLinenumberEnd: 5315
    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:5331,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5333,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5335,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5340,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5342,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5344,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5349,1
    - Dst: add_cname_to_reply
      Src: /src/libevent/evdns.c:5353,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5354,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5360,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5321
    functionDepth: 3
    functionLinenumber: 5321
    functionLinenumberEnd: 5371
    functionName: evdns_getaddrinfo_timeout_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - free_getaddrinfo_request
    - struct evdns_getaddrinfo_request*::user_cb
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_cancel_request
    - 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:5377,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: 5378
      start: 5373
    functionDepth: 1
    functionLinenumber: 5373
    functionLinenumberEnd: 5378
    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: 5385
      start: 5380
    functionDepth: 0
    functionLinenumber: 5380
    functionLinenumberEnd: 5385
    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:5392,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5393,1
    - Dst: evdns_cache_free
      Src: /src/libevent/evdns.c:5394,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5396
      start: 5387
    functionDepth: 3
    functionLinenumber: 5387
    functionLinenumberEnd: 5396
    functionName: evdns_ttl_expired
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cache_free
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - log
    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:5405,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5406,1
    - Dst: SPLAY_FIND
      Src: /src/libevent/evdns.c:5408,1
    - Dst: log
      Src: /src/libevent/evdns.c:5410,1
    - Dst: evdns_cache_free
      Src: /src/libevent/evdns.c:5411,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:5414,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:5416,1
    - Dst: evutil_dup_addrinfo_
      Src: /src/libevent/evdns.c:5417,1
    - Dst: SPLAY_INSERT
      Src: /src/libevent/evdns.c:5418,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:5419,1
    - Dst: timerclear
      Src: /src/libevent/evdns.c:5420,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:5422,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5424,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: 5425
      start: 5398
    functionDepth: 3
    functionLinenumber: 5398
    functionLinenumberEnd: 5425
    functionName: evdns_cache_write
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cache_free
    - evutil_dup_addrinfo_
    - SPLAY_INSERT
    - timerclear
    - SPLAY_FIND
    - mm_calloc
    - evtimer_add
    - evtimer_assign
    - log
    - mm_strdup
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    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:5439,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5440,1
    - Dst: SPLAY_FIND
      Src: /src/libevent/evdns.c:5442,1
    - Dst: log
      Src: /src/libevent/evdns.c:5445,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evdns.c:5455,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:5461,1
    - Dst: sockaddr_setport
      Src: /src/libevent/evdns.c:5463,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5464,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5467,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5477,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: 5480
      start: 5427
    functionDepth: 2
    functionLinenumber: 5427
    functionLinenumberEnd: 5480
    functionName: evdns_cache_lookup
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - SPLAY_FIND
    - evutil_freeaddrinfo
    - evutil_new_addrinfo_
    - log
    - evutil_addrinfo_append_
    - mm_strdup
    - EVDNS_UNLOCK
    - sockaddr_setport
    - EVDNS_LOCK
    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:5501,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/evdns.c:5503,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/evdns.c:5506,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5512,1
    - Dst: evdns_result_is_answer
      Src: /src/libevent/evdns.c:5513,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5522,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5534,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5541,1
    - Dst: evdns_err_to_getaddrinfo_err
      Src: /src/libevent/evdns.c:5551,1
    - Dst: evdns_getaddrinfo_set_timeout
      Src: /src/libevent/evdns.c:5561,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5568,1
    - Dst: add_cname_to_reply
      Src: /src/libevent/evdns.c:5572,1
    - Dst: evdns_cache_write
      Src: /src/libevent/evdns.c:5574,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5576,1
    - Dst: getaddrinfo_merge_err
      Src: /src/libevent/evdns.c:5580,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5582,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5584,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5593,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5594,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5600,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5603,1
    - Dst: htons
      Src: /src/libevent/evdns.c:5605,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5615,1
    - Dst: htons
      Src: /src/libevent/evdns.c:5617,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5631,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evdns.c:5632,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5635,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5637,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5639,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5642,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5645,1
    - Dst: evdns_getaddrinfo_set_timeout
      Src: /src/libevent/evdns.c:5651,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5661,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5664,1
    - Dst: add_cname_to_reply
      Src: /src/libevent/evdns.c:5671,1
    - Dst: evdns_cache_write
      Src: /src/libevent/evdns.c:5673,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5675,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5678,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: 5680
      start: 5482
    functionDepth: 4
    functionLinenumber: 5482
    functionLinenumberEnd: 5680
    functionName: evdns_getaddrinfo_gotresolve
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_err_to_getaddrinfo_err
    - htons
    - EVUTIL_UPCAST
    - evdns_result_is_answer
    - struct evdns_getaddrinfo_request*::user_cb
    - memcpy
    - EVDNS_LOCK
    - evdns_getaddrinfo_set_timeout
    - EVDNS_UNLOCK
    - evdns_cache_write
    - free_getaddrinfo_request
    - evutil_freeaddrinfo
    - evutil_new_addrinfo_
    - evutil_addrinfo_append_
    - memset
    - evdns_cancel_request
    - EVUTIL_ASSERT
    - getaddrinfo_merge_err
    - add_cname_to_reply
    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:5689,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evdns.c:5691,1
    - Dst: TAILQ_NEXT
      Src: /src/libevent/evdns.c:5693,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/evdns.c:5694,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: 5698
      start: 5682
    functionDepth: 2
    functionLinenumber: 5682
    functionLinenumberEnd: 5698
    functionName: find_hosts_entry
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evutil_ascii_strcasecmp
    - TAILQ_NEXT
    - 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:5710,1
    - Dst: find_hosts_entry
      Src: /src/libevent/evdns.c:5711,1
    - Dst: find_hosts_entry
      Src: /src/libevent/evdns.c:5712,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evdns.c:5718,1
    - Dst: sockaddr_setport
      Src: /src/libevent/evdns.c:5723,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5724,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5726,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5736,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: 5739
      start: 5700
    functionDepth: 3
    functionLinenumber: 5700
    functionLinenumberEnd: 5739
    functionName: evdns_getaddrinfo_fromhosts
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - find_hosts_entry
    - evutil_freeaddrinfo
    - evutil_new_addrinfo_
    - evutil_addrinfo_append_
    - EVDNS_UNLOCK
    - sockaddr_setport
    - EVDNS_LOCK
    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:5758,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5761,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/evdns.c:5769,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5770,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5775,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5777,1
    - Dst: evutil_adjust_hints_for_addrconfig_
      Src: /src/libevent/evdns.c:5781,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evdns.c:5788,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5790,1
    - Dst: evdns_getaddrinfo_fromhosts
      Src: /src/libevent/evdns.c:5795,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5797,1
    - Dst: evdns_cache_lookup
      Src: /src/libevent/evdns.c:5803,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5805,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:5813,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5815,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5819,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:5826,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5843,1
    - Dst: log
      Src: /src/libevent/evdns.c:5846,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/evdns.c:5849,1
    - Dst: log
      Src: /src/libevent/evdns.c:5857,1
    - Dst: evdns_base_resolve_ipv6
      Src: /src/libevent/evdns.c:5860,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:5868,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5873,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5878,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5879,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: 5882
      start: 5741
    functionDepth: 9
    functionLinenumber: 5741
    functionLinenumberEnd: 5882
    functionName: evdns_getaddrinfo
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - evdns_base_resolve_ipv4
    - evdns_base_resolve_ipv6
    - free_getaddrinfo_request
    - mm_calloc
    - evtimer_assign
    - evutil_getaddrinfo
    - log
    - evutil_getaddrinfo_common_
    - mm_strdup
    - memset
    - EVDNS_UNLOCK
    - evdns_getaddrinfo_fromhosts
    - memcpy
    - evdns_cache_lookup
    - cb
    - evutil_adjust_hints_for_addrconfig_
    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:5887,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5889,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:5892,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5895,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5897,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5899
      start: 5884
    functionDepth: 3
    functionLinenumber: 5884
    functionLinenumberEnd: 5899
    functionName: evdns_getaddrinfo_cancel
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - event_del
    - evdns_cancel_request
    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_reserve_
    - min_heap_shift_up_
    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_up_unconditional_
    - min_heap_shift_down_
    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_push_
    - min_heap_shift_down_
    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:
    - EVUTIL_ASSERT
    - FD_SET_ALLOC_SIZE
    - mm_realloc
    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:
    - evsig_init_
    - evutil_weakrand_seed_
    - FD_SET_ALLOC_SIZE
    - mm_calloc
    - mm_malloc
    - 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:
    - do_fd_set
    - event_debug
    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:
    - do_fd_clear
    - EV_SOCK_ARG
    - event_debug
    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:
    - evmap_io_active_
    - evutil_socket_error_to_string
    - fd_set_copy
    - FD_SET_ALLOC_SIZE
    - EVBASE_ACQUIRE_LOCK
    - select
    - EVBASE_RELEASE_LOCK
    - EVUTIL_SOCKET_ERROR
    - event_debug
    - mm_realloc
    - evutil_tv_to_msec_
    - Sleep
    - evutil_weakrand_range_
    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:
    - evsig_dealloc_
    - mm_free
    - memset
    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:
    - downcast
    - bufferevent_incref_and_lock_
    - upcast
    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:
    - downcast
    - bufferevent_decref_and_unlock_
    - upcast
    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_init_generic_timeout_cbs_
    - mm_calloc
    - mm_free
    - evbuffer_add_cb
    - bufferevent_free
    - downcast
    - bufferevent_init_common_
    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:
    - evbuffer_freeze
    - bufferevent_enable_locking_
    - bufferevent_pair_elt_new
    - bufferevent_free
    - 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:
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - evbuffer_remove_buffer
    - evbuffer_add_buffer
    - evbuffer_freeze
    - evbuffer_unfreeze
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - evbuffer_get_length
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - bufferevent_trigger_nolock_
    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:
    - decref_and_unlock
    - incref_and_lock
    - be_pair_wants_to_talk
    - be_pair_transfer
    - downcast
    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:
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - upcast
    - decref_and_unlock
    - incref_and_lock
    - be_pair_wants_to_talk
    - downcast
    - be_pair_transfer
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - evbuffer_get_length
    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:
    - upcast
    - bufferevent_run_eventcb_
    - decref_and_unlock
    - incref_and_lock
    - be_pair_transfer
    - downcast
    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:
    - upcast
    - decref_and_unlock
    - incref_and_lock
    - BEV_IS_PAIR
    - downcast
    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:
    - event_warn
    - kqop_free
    - mm_calloc
    - getpid
    - memset
    - kevent
    - kqueue
    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:
    - event_warn
    - mm_realloc
    - event_warnx
    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:
    - EVUTIL_ASSERT
    - event_changelist_remove_all_
    - event_warn
    - evmap_io_active_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - kq_grow_events
    - event_debug
    - kevent
    - kq_build_changes_list
    - evmap_signal_active_
    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:
    - close
    - mm_free
    - getpid
    - memset
    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:
    - evsig_dealloc_
    - kqop_free
    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:
    - EVUTIL_ASSERT
    - memset
    - kevent
    - 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:
    - EVUTIL_ASSERT
    - memset
    - kevent
    - 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
    - event_warn
    - memset
    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
    - event_warn
    - memset
    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:
    - EVUTIL_ASSERT
    - pin_release
    - upcast_evbuffer
    - evbuffer_decref_and_unlock_
    - evbuffer_unfreeze
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    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:
    - EVUTIL_ASSERT
    - pin_release
    - upcast_evbuffer
    - evbuffer_decref_and_unlock_
    - evbuffer_unfreeze
    - EVBUFFER_LOCK
    - evbuffer_drain
    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:
    - mm_calloc
    - LIST_INIT
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - pin_release
    - evbuffer_freeze
    - upcast_evbuffer
    - WSAGetLastError
    - evbuffer_unfreeze
    - evbuffer_free
    - memset
    - evbuffer_incref_
    - EVBUFFER_LOCK
    - WSASend
    - evbuffer_chain_pin_
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - pin_release
    - evbuffer_read_setup_vecs_
    - evbuffer_freeze
    - evbuffer_expand_fast_
    - upcast_evbuffer
    - WSAGetLastError
    - evbuffer_unfreeze
    - WSARecv
    - evbuffer_free
    - memset
    - WSABUF_FROM_EVBUFFER_IOV
    - evbuffer_incref_
    - EVBUFFER_LOCK
    - evbuffer_chain_pin_
    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:
    - EVBUFFER_UNLOCK
    - upcast_evbuffer
    - 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:
    - RtlNtStatusToDosError
    - return_set_error
    - NtCreateFile
    - CreateIoCompletionPort
    - CloseHandle
    - return_map_error
    - SetFileCompletionNotificationModes
    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:
    - return_set_error
    - RtlNtStatusToDosError
    - NtDeviceIoControlFile
    - 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:
    - NtCancelIoFileEx
    - return_set_error
    - RtlNtStatusToDosError
    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:
    - ts_tree_add
    - port_delete
    - port_new
    - return_set_error
    - init
    - port_state_to_handle_tree_node
    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:
    - return_set_error
    - epoll__create
    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:
    - return_set_error
    - epoll__create
    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_close
    - port_delete
    - init
    - ts_tree_del_and_ref
    - err_set_win_error
    - err_check_handle
    - port_state_from_handle_tree_node
    - ts_tree_node_unref_and_destroy
    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_ctl
    - ts_tree_node_unref
    - init
    - err_set_win_error
    - ts_tree_find_and_ref
    - err_check_handle
    - port_state_from_handle_tree_node
    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_wait
    - ts_tree_node_unref
    - return_set_error
    - init
    - err_set_win_error
    - ts_tree_find_and_ref
    - err_check_handle
    - port_state_from_handle_tree_node
    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:
    - err__map_win_error_to_errno
    - GetLastError
    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_map_error
    - return_set_error
    - GetHandleInformation
    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:
    - reflock_global_init
    - epoll_global_init
    - unused_var
    - ws_global_init
    - nt_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:
    - queue_node_init
    - mm_malloc
    - return_set_error
    - port_get_iocp_handle
    - mm_free
    - queue_append
    - memset
    - port_get_poll_group_queue
    - afd_create_helper_handle
    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
    - CloseHandle
    - mm_free
    - 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:
    - container_of
    - queue_empty
    - queue_last
    - poll_group__new
    - port_get_poll_group_queue
    - queue_move_first
    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:
    - port_get_poll_group_queue
    - assert
    - queue_move_last
    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:
    - mm_malloc
    - return_set_error
    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:
    - CreateIoCompletionPort
    - return_map_error
    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
    - port__alloc
    - queue_init
    - tree_init
    - memset
    - ts_tree_node_init
    - InitializeCriticalSection
    - port__free
    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:
    - CloseHandle
    - return_map_error
    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:
    - EnterCriticalSection
    - LeaveCriticalSection
    - port__close_iocp
    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_empty
    - sock_force_delete
    - sock_state_from_tree_node
    - sock_state_from_queue_node
    - DeleteCriticalSection
    - tree_root
    - assert
    - poll_group_from_queue_node
    - queue_first
    - poll_group_delete
    - port__free
    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:
    - queue_first
    - queue_empty
    - sock_update
    - sock_state_from_queue_node
    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:
    - port__feed_events
    - port__update_events
    - EnterCriticalSection
    - LeaveCriticalSection
    - return_map_error
    - GetQueuedCompletionStatusEx
    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:
    - port__update_events_if_polling
    - GetLastError
    - mm_malloc
    - return_set_error
    - mm_free
    - array_count
    - EnterCriticalSection
    - port__poll
    - LeaveCriticalSection
    - GetTickCount64
    - SetLastError
    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:
    - port__update_events_if_polling
    - sock_delete
    - sock_set_event
    - sock_new
    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:
    - sock_delete
    - port_find_socket
    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:
    - EnterCriticalSection
    - LeaveCriticalSection
    - port__ctl_op
    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:
    - sock_state_to_tree_node
    - tree_add
    - return_set_error
    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:
    - sock_state_to_tree_node
    - tree_del
    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:
    - return_set_error
    - RtlNtStatusToDosError
    - NtCreateKeyedEvent
    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:
    - unused_var
    - InterlockedAdd
    - 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
    - assert
    - reflock__signal_event
    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:
    - InterlockedExchange
    - InterlockedAdd
    - assert
    - reflock__await_event
    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:
    - mm_malloc
    - return_set_error
    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:
    - afd_cancel_poll
    - assert
    - poll_group_get_afd_helper_handle
    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:
    - queue_node_init
    - sock__alloc
    - poll_group_release
    - poll_group_acquire
    - tree_node_init
    - return_set_error
    - memset
    - port_register_socket_handle
    - ws_get_base_socket
    - sock__free
    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_cancel_socket_update
    - poll_group_release
    - port_remove_deleted_socket
    - sock__cancel_poll
    - port_unregister_socket_handle
    - port_add_deleted_socket
    - sock__free
    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:
    - port_cancel_socket_update
    - GetLastError
    - afd_poll
    - sock__cancel_poll
    - sock__delete
    - assert
    - poll_group_get_afd_helper_handle
    - sock__epoll_events_to_afd_events
    - return_map_error
    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:
    - container_of
    - sock__afd_events_to_epoll_events
    - port_request_socket_update
    - NT_SUCCESS
    - sock__delete
    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:
    - InitializeSRWLock
    - tree_init
    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
    - tree_add
    - ReleaseSRWLockExclusive
    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:
    - container_of
    - tree_find
    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:
    - ts_tree__find_node
    - tree_del
    - ReleaseSRWLockExclusive
    - AcquireSRWLockExclusive
    - reflock_ref
    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:
    - ts_tree__find_node
    - reflock_ref
    - ReleaseSRWLockShared
    - 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:
    - WSAIoctl
    - return_map_error
    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: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    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: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    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: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    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: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    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: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    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: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    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: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    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: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    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: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    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: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    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: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    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:418,1
    - Dst: bufferevent_run_readcb_
      Src: /src/libevent/bufferevent-internal.h:419,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent-internal.h:421,1
    - Dst: bufferevent_run_writecb_
      Src: /src/libevent/bufferevent-internal.h:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bufev
    - iotype
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: bufferevent_trigger_nolock_
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 1
    functionsReached:
    - bufferevent_run_writecb_
    - evbuffer_get_length
    - bufferevent_run_readcb_
    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: 471
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 471
    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: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    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: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    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: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    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: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    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: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    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: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    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: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    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: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    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:
    - evsig_init_
    - mm_calloc
    - mm_free
    - close
    - port_create
    - grow
    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:
    - FDI_TO_SYSEVENTS
    - event_warn
    - check_evportop
    - port_associate
    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
    - evmap_io_active_
    - EVBASE_ACQUIRE_LOCK
    - FDI_HAS_EVENTS
    - EVBASE_RELEASE_LOCK
    - check_evportop
    - check_event
    - event_debug
    - port_getn
    - reassociate
    - evmap_io_get_fdinfo_
    - grow
    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:
    - event_warn
    - EVUTIL_ASSERT
    - FDI_HAS_EVENTS
    - port_dissociate
    - check_evportop
    - 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:
    - evsig_dealloc_
    - close
    - mm_free
    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:
    - event_errx
    - event_global_setup_locks_
    - event_warnx
    - memset
    - evthread_get_lock_callbacks
    - memcpy
    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:
    - event_errx
    - event_warnx
    - memset
    - evthread_get_condition_callbacks
    - memcpy
    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_malloc
    - mm_free
    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:
    - EVUTIL_ASSERT
    - free
    - mm_free
    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:
    - EVUTIL_ASSERT
    - evthread_debug_lock_mark_locked
    - lock
    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:
    - unlock
    - evthread_debug_lock_mark_unlocked
    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
    - evthread_debug_lock_mark_unlocked
    - wait_condition
    - evthread_debug_lock_mark_locked
    - EVLOCK_ASSERT_LOCKED
    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:
    - EVUTIL_ASSERT
    - mm_malloc
    - mm_free
    - debug_lock_alloc
    - alloc
    - 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:
    - bufferevent_mbedtls_dyncontext_free
    - mm_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:
    - printf
    - mbedtls_strerror
    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_get_length
    - evbuffer_remove
    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:
    - EVUTIL_ASSERT
    - evbuffer_add
    - evbuffer_get_length
    - bufferevent_get_output
    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:
    - bufferevent_ssl_stop_writing
    - bufferevent_ssl_put_error
    - bufferevent_run_eventcb_
    - event_warnx
    - mbedtls_strerror
    - bufferevent_ssl_stop_reading
    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_ssl_new_impl
    - be_mbedtls_bio_set_fd
    - bufferevent_mbedtls_dyncontext_free
    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:
    - bufferevent_ssl_upcast
    - bufferevent_getfd
    - bufferevent_ssl_new_impl
    - be_mbedtls_bio_set_fd
    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_init
    - mm_calloc
    - mbedtls_ssl_setup
    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:
    - mbedtls_ssl_free
    - mm_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:
    - handle_entry
    - event_warnx
    - EnterCriticalSection
    - ReleaseSemaphore
    - LeaveCriticalSection
    - GetQueuedCompletionStatus
    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
    - socket
    - get_extension_function
    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:
    - _beginthread
    - CreateSemaphore
    - InitializeCriticalSectionAndSpinCount
    - mm_calloc
    - mm_free
    - init_extension_functions
    - CreateIoCompletionPort
    - CloseHandle
    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:
    - CloseHandle
    - DeleteCriticalSection
    - mm_free
    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
    - LeaveCriticalSection
    - event_iocp_notify_all
    - event_iocp_port_unlock_and_free_
    - WaitForSingleObject
    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
    - mm_malloc
    - memset
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_CHAIN_EXTRA
    - evbuffer_file_segment_free
    - evbuffer_chain_free
    - mm_free
    - evbuffer_decref_and_unlock_
    - CHAIN_PINNED
    - EVBUFFER_LOCK
    - UnmapViewOfFile
    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:
    - EVUTIL_ASSERT
    - CHAIN_PINNED
    - evbuffer_chains_all_empty
    - evbuffer_free_all_chains
    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:
    - EVUTIL_ASSERT
    - ASSERT_EVBUFFER_LOCKED
    - 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:
    - mm_calloc
    - LIST_INIT
    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:
    - EVBUFFER_UNLOCK
    - event_deferred_cb_init_
    - event_base_get_npriorities
    - EVBUFFER_LOCK
    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
    - struct evbuffer_cb_entry*::cb::cb_func
    - struct evbuffer_cb_entry*::cb::cb_obsolete
    - LIST_EMPTY
    - LIST_FIRST
    - ASSERT_EVBUFFER_LOCKED
    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:
    - event_deferred_cb_schedule_
    - EVBUFFER_UNLOCK
    - bufferevent_incref_
    - evbuffer_run_callbacks
    - LIST_EMPTY
    - evbuffer_incref_and_lock_
    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:
    - bufferevent_decref_
    - evbuffer_run_callbacks
    - evbuffer_decref_and_unlock_
    - EVBUFFER_LOCK
    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:
    - mm_free
    - LIST_FIRST
    - LIST_REMOVE
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - evbuffer_remove_all_callbacks
    - evbuffer_chain_free
    - event_deferred_cb_cancel_
    - EVTHREAD_FREE_LOCK
    - mm_free
    - ASSERT_EVBUFFER_LOCKED
    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_UNLOCK
    - evbuffer_add
    - evbuffer_expand_fast_
    - EVBUFFER_LOCK
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - evbuffer_read_setup_vecs_
    - CHAIN_SPACE_PTR
    - evbuffer_expand_fast_
    - CHAIN_SPACE_LEN
    - EVBUFFER_LOCK
    - evbuffer_expand_singlechain
    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:
    - EVBUFFER_UNLOCK
    - advance_last_with_data
    - CHAIN_SPACE_PTR
    - CHAIN_SPACE_LEN
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    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:
    - EVUTIL_ASSERT
    - CHAIN_PINNED_R
    - HAS_PINNED_R
    - memcpy
    - ASSERT_EVBUFFER_LOCKED
    - 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:
    - ZERO_CHAIN
    - ASSERT_EVBUFFER_LOCKED
    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:
    - event_warn
    - EVBUFFER_CHAIN_EXTRA
    - evbuffer_chain_insert
    - evbuffer_chain_incref
    - evbuffer_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:
    - RESTORE_PINNED
    - EVBUFFER_UNLOCK2
    - PRESERVE_PINNED
    - APPEND_CHAIN
    - EVBUFFER_LOCK2
    - evbuffer_invoke_callbacks_
    - COPY_CHAIN
    - evbuffer_free_all_chains
    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:
    - PREPEND_CHAIN
    - RESTORE_PINNED
    - EVBUFFER_UNLOCK2
    - PRESERVE_PINNED
    - EVBUFFER_LOCK2
    - evbuffer_invoke_callbacks_
    - COPY_CHAIN
    - evbuffer_free_all_chains
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - CHAIN_PINNED_R
    - evbuffer_chain_free
    - ZERO_CHAIN
    - HAS_PINNED_R
    - evbuffer_invoke_callbacks_
    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_UNLOCK
    - evbuffer_copyout_from
    - evbuffer_drain
    - EVBUFFER_LOCK
    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:
    - EVUTIL_ASSERT
    - memcpy
    - 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:
    - EVUTIL_ASSERT
    - advance_last_with_data
    - evbuffer_add_buffer
    - EVBUFFER_LOCK2
    - evbuffer_free_trailing_empty_chains
    - evbuffer_invoke_callbacks_
    - 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:
    - EVUTIL_ASSERT
    - event_warn
    - EVBUFFER_UNLOCK
    - CHAIN_SPACE_PTR
    - evbuffer_chain_free
    - CHAIN_SPACE_LEN
    - CHAIN_PINNED
    - EVBUFFER_LOCK
    - memcpy
    - evbuffer_chain_new_membuf
    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_UNLOCK
    - PTR_NOT_FOUND
    - evbuffer_find_eol_char
    - evbuffer_ptr_subtract
    - evbuffer_strchr
    - evbuffer_search
    - EVBUFFER_LOCK
    - evbuffer_strspn
    - memcpy
    - evbuffer_getchr
    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:
    - event_warn
    - EVBUFFER_UNLOCK
    - mm_malloc
    - evbuffer_search_eol
    - EVBUFFER_LOCK
    - evbuffer_remove
    - evbuffer_drain
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - evbuffer_chain_insert
    - CHAIN_PINNED
    - evbuffer_chain_insert_new
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    - evbuffer_chain_align
    - memcpy
    - evbuffer_chain_should_realign
    - evbuffer_chain_new_membuf
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - evbuffer_chain_insert_new
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    - memcpy
    - 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:
    - EVUTIL_ASSERT
    - evbuffer_chain_free
    - CHAIN_SPACE_LEN
    - evbuffer_chain_insert_new
    - evbuffer_chain_should_realign
    - evbuffer_chain_align
    - memcpy
    - ASSERT_EVBUFFER_LOCKED
    - evbuffer_chain_new_membuf
    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:
    - EVUTIL_ASSERT
    - evbuffer_chain_free
    - CHAIN_SPACE_LEN
    - evbuffer_chain_insert_new
    - ZERO_CHAIN
    - ASSERT_EVBUFFER_LOCKED
    - 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_UNLOCK
    - evbuffer_expand_singlechain
    - EVBUFFER_LOCK
    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:
    - EVUTIL_ASSERT
    - CHAIN_SPACE_LEN
    - CHAIN_SPACE_PTR
    - ASSERT_EVBUFFER_LOCKED
    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:
    - ioctl
    - ioctlsocket
    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:
    - readv
    - EVBUFFER_UNLOCK
    - advance_last_with_data
    - evbuffer_read_setup_vecs_
    - recv
    - evbuffer_expand_fast_
    - WSAGetLastError
    - WSARecv
    - CHAIN_SPACE_LEN
    - WSABUF_FROM_EVBUFFER_IOV
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    - get_n_bytes_readable_on_socket
    - evbuffer_expand_singlechain
    - read
    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:
    - writev
    - WSASend
    - write
    - ASSERT_EVBUFFER_LOCKED
    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
    - sendfile
    - ASSERT_EVBUFFER_LOCKED
    - EVUTIL_ERR_RW_RETRIABLE
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - evbuffer_write_iovec
    - evbuffer_pullup
    - evbuffer_drain
    - EVBUFFER_LOCK
    - write
    - evbuffer_write_sendfile
    - send
    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_UNLOCK
    - evbuffer_pullup
    - evbuffer_search
    - 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:
    - EVBUFFER_UNLOCK
    - PTR_NOT_FOUND
    - EVUTIL_ASSERT
    - 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:
    - memcmp
    - ASSERT_EVBUFFER_LOCKED
    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:
    - EVBUFFER_UNLOCK
    - PTR_NOT_FOUND
    - evbuffer_ptr_memcmp
    - EVBUFFER_LOCK
    - memcpy
    - memchr
    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:
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - advance_last_with_data
    - va_copy
    - CHAIN_SPACE_PTR
    - evutil_vsnprintf
    - CHAIN_SPACE_LEN
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    - va_end
    - evbuffer_expand_singlechain
    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:
    - evbuffer_add_vprintf
    - va_end
    - 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_UNLOCK
    - evbuffer_chain_insert
    - mm_free
    - EVBUFFER_LOCK
    - evbuffer_invoke_callbacks_
    - 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
    - mm_free
    - "offset < 0 || length < 0 ||\n\t    ((ev_uint64_t)length > EVBUFFER_CHAIN_MAX)
      ||\n\t    (ev_uint64_t)offset >"
    - EVTHREAD_ALLOC_LOCK
    - evutil_fd_filesize
    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:
    - EVUTIL_ASSERT
    - event_warn
    - mm_free
    - EVTHREAD_FREE_LOCK
    - close
    - get_page_size
    - munmap
    - EVLOCK_UNLOCK
    - CloseHandle
    - EVLOCK_LOCK
    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
    - MapViewOfFile
    - EVBUFFER_UNLOCK
    - evbuffer_file_segment_materialize
    - evbuffer_file_segment_free
    - evbuffer_invoke_callbacks_
    - GetSystemInfo
    - mm_free
    - evbuffer_chain_insert
    - memset
    - EVBUFFER_LOCK
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    - evbuffer_chain_new
    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_UNLOCK
    - evbuffer_remove_all_callbacks
    - evbuffer_add_cb
    - EVBUFFER_LOCK
    - LIST_EMPTY
    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
    - mm_calloc
    - LIST_INSERT_HEAD
    - EVBUFFER_LOCK
    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:
    - EVBUFFER_UNLOCK
    - mm_free
    - LIST_REMOVE
    - 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_UNLOCK
    - LIST_FOREACH
    - evbuffer_remove_cb_entry
    - EVBUFFER_LOCK
    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:
    - evbuffer_get_length
    - struct evbuffer_cb_entry*::cb
    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:
    - pthread_mutex_init
    - mm_malloc
    - mm_free
    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:
    - pthread_mutex_destroy
    - mm_free
    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_malloc
    - mm_free
    - pthread_cond_init
    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:
    - pthread_cond_destroy
    - mm_free
    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:
    - pthread_cond_wait
    - evutil_timeradd
    - evutil_gettimeofday
    - pthread_cond_timedwait
    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:
    - evthread_set_condition_callbacks
    - pthread_mutex_unlock
    - evthread_set_id_callback
    - evthread_set_lock_callbacks
    - pthread_mutex_lock
    - pthread_mutexattr_setprotocol
    - pthread_mutexattr_settype
    - 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_func_error_string
    - printf
    - ERR_lib_error_string
    - ERR_reason_error_string
    - ERR_get_error
    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_init
    - BIO_set_data
    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:
    - BIO_free
    - bufferevent_free
    - BIO_get_shutdown
    - BIO_get_init
    - 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:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - bufferevent_get_input
    - BIO_get_data
    - evbuffer_get_length
    - evbuffer_remove
    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:
    - EVUTIL_ASSERT
    - BIO_clear_retry_flags
    - bufferevent_get_output
    - BIO_set_retry_write
    - evbuffer_add
    - BIO_get_data
    - evbuffer_get_length
    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:
    - BIO_set_shutdown
    - bufferevent_get_input
    - BIO_get_shutdown
    - bufferevent_get_output
    - BIO_get_data
    - evbuffer_get_length
    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_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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_set_init
    - BIO_new
    - BIO_set_shutdown
    - BIO_s_bufferevent
    - BIO_set_data
    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:
    - bufferevent_ssl_stop_writing
    - SSL_is_init_finished
    - bufferevent_ssl_put_error
    - bufferevent_run_eventcb_
    - SSL_get_shutdown
    - event_warnx
    - ERR_get_error
    - ERR_peek_error
    - bufferevent_ssl_stop_reading
    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:
    - BIO_number_written
    - SSL_get_rbio
    - 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:
    - BIO_number_written
    - BIO_number_read
    - bufferevent_decrement_write_buckets_
    - bufferevent_decrement_read_buckets_
    - SSL_get_rbio
    - SSL_get_wbio
    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:
    - SSL_set_bio
    - BIO_new_bufferevent
    - BIO_new_socket
    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:
    - SSL_set_bio
    - bufferevent_ssl_new_impl
    - SSL_free
    - BIO_new_bufferevent
    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_get_fd
    - BIO_set_close
    - BIO_new_socket
    - bufferevent_ssl_new_impl
    - SSL_set_bio
    - SSL_free
    - SSL_get_wbio
    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:
    - strerror
    - event_exit
    - event_logv_
    - va_start
    - va_end
    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:
    - strerror
    - event_logv_
    - va_end
    - va_start
    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:
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - event_exit
    - event_logv_
    - va_start
    - va_end
    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:
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - event_logv_
    - va_start
    - va_end
    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:
    - event_exit
    - event_logv_
    - va_end
    - va_start
    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:
    - event_logv_
    - va_end
    - va_start
    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:
    - event_logv_
    - va_end
    - va_start
    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:
    - event_logv_
    - va_end
    - va_start
    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
    - evutil_snprintf
    - strlen
    - event_debug_get_logging_mask_
    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:
    - fprintf
    - log_fn
    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: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    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: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    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:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 151
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: CryptAcquireContext
      Src: /src/libevent/arc4random.c:166,1
    - Dst: GetLastError
      Src: /src/libevent/arc4random.c:168,1
    - Dst: CryptGenRandom
      Src: /src/libevent/arc4random.c:173,1
    - Dst: BCryptGenRandom
      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: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 183
    functionName: arc4_seed_win32
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - CryptGenRandom
    - GetLastError
    - evutil_memclear_
    - arc4_addrandom
    - BCryptGenRandom
    - CryptAcquireContext
    linkageType: ''
    returnType: int
    signature: int arc4_seed_win32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/libevent/arc4random.c:196,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:200,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: arc4_seed_getrandom
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_addrandom
    - getrandom
    - evutil_memclear_
    linkageType: ''
    returnType: int
    signature: int arc4_seed_getrandom(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/arc4random.c:221,1
    - Dst: sysctl
      Src: /src/libevent/arc4random.c:224,1
    - Dst: sysctl
      Src: /src/libevent/arc4random.c:229,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:240,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 243
    functionName: arc4_seed_sysctl_bsd
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - sysctl
    - arc4_addrandom
    - memset
    - 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:261,1
    - Dst: read
      Src: /src/libevent/arc4random.c:264,1
    - Dst: close
      Src: /src/libevent/arc4random.c:265,1
    - Dst: memset
      Src: /src/libevent/arc4random.c:268,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/arc4random.c:270,1
    - Dst: evutil_hex_char_to_int_
      Src: /src/libevent/arc4random.c:271,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:282,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:285,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 288
    functionName: arc4_seed_proc_sys_kernel_random_uuid
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ISXDIGIT_
    - evutil_open_closeonexec_
    - evutil_hex_char_to_int_
    - evutil_memclear_
    - arc4_addrandom
    - memset
    - close
    - read
    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:301,1
    - Dst: read_all
      Src: /src/libevent/arc4random.c:304,1
    - Dst: close
      Src: /src/libevent/arc4random.c:305,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:308,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: arc4_seed_urandom_helper_
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - evutil_open_closeonexec_
    - evutil_memclear_
    - arc4_addrandom
    - close
    - read_all
    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:322,1
    - Dst: arc4_seed_urandom_helper_
      Src: /src/libevent/arc4random.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 331
    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:342,1
    - Dst: arc4_seed_getrandom
      Src: /src/libevent/arc4random.c:346,1
    - Dst: arc4_seed_urandom
      Src: /src/libevent/arc4random.c:350,1
    - Dst: arc4_seed_proc_sys_kernel_random_uuid
      Src: /src/libevent/arc4random.c:355,1
    - Dst: arc4_seed_sysctl_bsd
      Src: /src/libevent/arc4random.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 363
    functionName: arc4_seed
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_seed_proc_sys_kernel_random_uuid
    - arc4_seed_win32
    - arc4_seed_urandom
    - arc4_seed_sysctl_bsd
    - arc4_seed_getrandom
    linkageType: ''
    returnType: int
    signature: int arc4_seed(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arc4_init
      Src: /src/libevent/arc4random.c:374,1
    - Dst: arc4_seed
      Src: /src/libevent/arc4random.c:378,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:400,1
    - Dst: arc4_getword
      Src: /src/libevent/arc4random.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: arc4_stir
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_seed
    - arc4_init
    - arc4_getword
    - arc4_getbyte
    linkageType: ''
    returnType: int
    signature: int arc4_stir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libevent/arc4random.c:413,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 420
    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: 434
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 434
    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:441,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:442,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:443,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 447
    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:454,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:455,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: arc4random_stir
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_stir
    - ARC4_UNLOCK_
    - ARC4_LOCK_
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT
    signature: ARC4RANDOM_EXPORT arc4random_stir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/arc4random.c:466,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:468,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:474,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dat
    - datlen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: arc4random_addrandom
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_addrandom
    - arc4_stir
    - ARC4_UNLOCK_
    - ARC4_LOCK_
    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:485,1
    - Dst: arc4_stir_if_needed
      Src: /src/libevent/arc4random.c:487,1
    - Dst: arc4_getword
      Src: /src/libevent/arc4random.c:488,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 6
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: ARC4RANDOM_UINT32::arc4random
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - ARC4_UNLOCK_
    - arc4_stir_if_needed
    - arc4_getword
    - ARC4_LOCK_
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT
    signature: 'ARC4RANDOM_EXPORT ARC4RANDOM_UINT32

      arc4random(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/arc4random.c:499,1
    - Dst: arc4_stir_if_needed
      Src: /src/libevent/arc4random.c:500,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:503,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:504,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf_
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 495
    functionDepth: 6
    functionLinenumber: 495
    functionLinenumberEnd: 507
    functionName: arc4random_buf
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_stir
    - arc4_stir_if_needed
    - arc4_getbyte
    - 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:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - upper_bound
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 545
    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:
    - EVUTIL_ASSERT
    - BEV_IS_ASYNC
    - 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:
    - EVUTIL_ASSERT
    - BEV_IS_ASYNC
    - 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:
    - EVUTIL_ASSERT
    - BEV_IS_ASYNC
    - 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:
    - evbuffer_launch_write_
    - bufferevent_incref_
    - bufferevent_get_write_max_
    - be_async_run_eventcb
    - bufferevent_decrement_write_buckets_
    - bev_async_del_write
    - bufferevent_decref_
    - evbuffer_get_length
    - bev_async_add_write
    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:
    - bev_async_del_read
    - bufferevent_incref_
    - bufferevent_get_read_max_
    - be_async_run_eventcb
    - bufferevent_decrement_read_buckets_
    - bufferevent_decref_
    - evbuffer_get_length
    - evbuffer_launch_read_
    - bev_async_add_read
    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:
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    - upcast
    - bev_async_consider_writing
    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:
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    - upcast
    - bev_async_consider_reading
    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
    - upcast
    - bev_async_consider_reading
    - bev_async_consider_writing
    - BEV_RESET_GENERIC_READ_TIMEOUT
    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_async_del_read
    - upcast
    - BEV_DEL_GENERIC_READ_TIMEOUT
    - bev_async_del_write
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    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:
    - EVUTIL_ASSERT
    - bev_async_del_read
    - evbuffer_overlapped_get_fd_
    - upcast
    - evutil_closesocket
    - BEV_UPCAST
    - bev_async_del_write
    - evbuffer_overlapped_set_fd_
    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:
    - EVUTIL_ASSERT
    - evbuffer_overlapped_get_fd_
    - event_base_del_virtual_
    - bufferevent_async_set_connected_
    - be_async_run_eventcb
    - upcast_connect
    - bev_async_set_wsa_error
    - bufferevent_decref_and_unlock_
    - setsockopt
    - BEV_LOCK
    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:
    - EVUTIL_ASSERT
    - bev_async_consider_reading
    - be_async_run_eventcb
    - evbuffer_commit_read_
    - be_async_trigger_nolock
    - bev_async_set_wsa_error
    - bufferevent_decrement_read_buckets_
    - bufferevent_decref_and_unlock_
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - upcast_read
    - BEV_LOCK
    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:
    - EVUTIL_ASSERT
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - bev_async_consider_writing
    - be_async_run_eventcb
    - be_async_trigger_nolock
    - bev_async_set_wsa_error
    - evbuffer_commit_write_
    - bufferevent_decrement_write_buckets_
    - bufferevent_decref_and_unlock_
    - BEV_LOCK
    - upcast_write
    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_init_generic_timeout_cbs_
    - event_overlapped_init_
    - mm_calloc
    - mm_free
    - evbuffer_add_cb
    - event_base_get_iocp_
    - event_iocp_port_associate_
    - evbuffer_free
    - bufferevent_free
    - fatal_error
    - evbuffer_overlapped_new_
    - bufferevent_init_common_
    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:
    - be_async_enable
    - upcast
    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:
    - BEV_IS_ASYNC
    - event_get_win32_extension_fns_
    - 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:
    - EVUTIL_ASSERT
    - struct win32_extension_fns*::ConnectEx
    - event_base_del_virtual_
    - upcast
    - bufferevent_incref_
    - event_base_add_virtual_
    - bind
    - WSAGetLastError
    - memset
    - bufferevent_decref_
    - event_get_win32_extension_fns_
    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_
    - upcast
    - GetLastError
    - event_base_get_iocp_
    - event_iocp_port_associate_
    - closesocket
    - fatal_error
    - evbuffer_overlapped_set_fd_
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:247,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: event_debug_mode_too_late_set
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void event_debug_mode_too_late_set(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:264,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:265,1
    - Dst: mm_malloc
      Src: /src/libevent/event.c:269,1
    - Dst: event_err
      Src: /src/libevent/event.c:271,1
    - Dst: HT_INSERT
      Src: /src/libevent/event.c:275,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:277,1
    - Dst: event_debug_mode_too_late_set
      Src: /src/libevent/event.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 281
    functionName: event_debug_note_setup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_INSERT
    - event_err
    - event_debug_mode_too_late_set
    - mm_malloc
    - HT_FIND
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    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:291,1
    - Dst: HT_REMOVE
      Src: /src/libevent/event.c:292,1
    - Dst: mm_free
      Src: /src/libevent/event.c:294,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:295,1
    - Dst: event_debug_mode_too_late_set
      Src: /src/libevent/event.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 299
    functionName: event_debug_note_teardown_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_debug_mode_too_late_set
    - HT_REMOVE
    - mm_free
    - EVLOCK_UNLOCK
    - 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:309,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:310,1
    - Dst: event_errx
      Src: /src/libevent/event.c:314,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:319,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:321,1
    - Dst: event_debug_mode_too_late_set
      Src: /src/libevent/event.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 325
    functionName: event_debug_note_add_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_errx
    - event_debug_mode_too_late_set
    - HT_FIND
    - EVLOCK_UNLOCK
    - EV_SOCK_ARG
    - EVLOCK_LOCK
    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:335,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:336,1
    - Dst: event_errx
      Src: /src/libevent/event.c:340,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:345,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:347,1
    - Dst: event_debug_mode_too_late_set
      Src: /src/libevent/event.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 351
    functionName: event_debug_note_del_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_errx
    - event_debug_mode_too_late_set
    - HT_FIND
    - EVLOCK_UNLOCK
    - EV_SOCK_ARG
    - EVLOCK_LOCK
    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:361,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:362,1
    - Dst: event_errx
      Src: /src/libevent/event.c:364,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:369,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: event_debug_assert_is_setup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_errx
    - HT_FIND
    - EVLOCK_UNLOCK
    - EV_SOCK_ARG
    - EVLOCK_LOCK
    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:382,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:383,1
    - Dst: event_errx
      Src: /src/libevent/event.c:385,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:390,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: event_debug_assert_not_added_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_errx
    - HT_FIND
    - EVLOCK_UNLOCK
    - EV_SOCK_ARG
    - EVLOCK_LOCK
    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:404,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: event_debug_assert_socket_nonblocking_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - fcntl
    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: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    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: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    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: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    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: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    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: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    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: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    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: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    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: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    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:435,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/event.c:442,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/event.c:449,1
    - Dst: evutil_timersub
      Src: /src/libevent/event.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - base
    - tp
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 455
    functionName: gettime
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - evutil_gettime_monotonic_
    - evutil_timersub
    - evutil_gettimeofday
    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:464,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:467,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/event.c:469,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:471,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 476
    functionName: event_base_gettimeofday_cached
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - evutil_timeradd
    - evutil_gettimeofday
    - 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: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    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:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 492
    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:504,1
    - Dst: update_time_cache
      Src: /src/libevent/event.c:506,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 509
    functionName: event_base_update_cache_time
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_LOCK
    - update_time_cache
    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:514,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/event.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evcb
    argTypes:
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 516
    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: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    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:527,1
    - Dst: event_errx
      Src: /src/libevent/event.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 537
    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:543,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/event.c:545,1
    - Dst: event_config_free
      Src: /src/libevent/event.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: event_base_new
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_new_with_config
    - event_config_free
    - event_config_new
    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:559,1
    - Dst: strcmp
      Src: /src/libevent/event.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cfg
    - method
    argTypes:
    - struct event_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: event_config_is_avoided_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - strcmp
    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:575,1
    - Dst: EVUTIL_TOUPPER_
      Src: /src/libevent/event.c:577,1
    - Dst: evutil_getenv_
      Src: /src/libevent/event.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 581
    functionName: event_is_method_disabled
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_TOUPPER_
    - evutil_snprintf
    - evutil_getenv_
    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: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    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:594,1
    - Dst: event_errx
      Src: /src/libevent/event.c:596,1
    - Dst: HT_INIT
      Src: /src/libevent/event.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 603
    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:611,1
    - Dst: HT_START
      Src: /src/libevent/event.c:612,1
    - Dst: HT_NEXT_RMV
      Src: /src/libevent/event.c:614,1
    - Dst: mm_free
      Src: /src/libevent/event.c:615,1
    - Dst: HT_CLEAR
      Src: /src/libevent/event.c:617,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 622
    functionName: event_disable_debug_mode
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_START
    - HT_NEXT_RMV
    - mm_free
    - HT_CLEAR
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void event_disable_debug_mode(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:632,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:635,1
    - Dst: mm_calloc
      Src: /src/libevent/event.c:638,1
    - Dst: event_warn
      Src: /src/libevent/event.c:639,1
    - Dst: evutil_getenv_
      Src: /src/libevent/event.c:655,1
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/event.c:661,1
    - Dst: gettime
      Src: /src/libevent/event.c:663,1
    - Dst: min_heap_ctor_
      Src: /src/libevent/event.c:666,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:673,1
    - Dst: evmap_io_initmap_
      Src: /src/libevent/event.c:675,1
    - Dst: evmap_signal_initmap_
      Src: /src/libevent/event.c:676,1
    - Dst: event_changelist_init_
      Src: /src/libevent/event.c:677,1
    - Dst: memcpy
      Src: /src/libevent/event.c:682,1
    - Dst: event_config_is_avoided_method
      Src: /src/libevent/event.c:702,1
    - Dst: event_is_method_disabled
      Src: /src/libevent/event.c:712,1
    - Dst: struct event_base*::evsel::init
      Src: /src/libevent/event.c:717,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:721,1
    - Dst: event_base_free
      Src: /src/libevent/event.c:724,1
    - Dst: evutil_getenv_
      Src: /src/libevent/event.c:728,1
    - Dst: event_msgx
      Src: /src/libevent/event.c:729,1
    - Dst: event_base_priority_init
      Src: /src/libevent/event.c:732,1
    - Dst: event_base_free
      Src: /src/libevent/event.c:733,1
    - Dst: EVTHREAD_LOCKING_ENABLED
      Src: /src/libevent/event.c:744,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/event.c:747,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/event.c:748,1
    - Dst: evthread_make_base_notifiable
      Src: /src/libevent/event.c:749,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:751,1
    - Dst: event_base_free
      Src: /src/libevent/event.c:752,1
    - Dst: event_base_start_iocp_
      Src: /src/libevent/event.c:760,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:765,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct event_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 768
    functionName: event_base_new_with_config
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_config_is_avoided_method
    - event_base_free
    - memcpy
    - struct event_base*::evsel::init
    - evthread_make_base_notifiable
    - event_warn
    - event_base_start_iocp_
    - event_warnx
    - event_is_method_disabled
    - EVTHREAD_LOCKING_ENABLED
    - EVTHREAD_ALLOC_LOCK
    - evutil_getenv_
    - EVTHREAD_ALLOC_COND
    - min_heap_ctor_
    - TAILQ_INIT
    - event_msgx
    - evutil_configure_monotonic_time_
    - event_base_priority_init
    - event_changelist_init_
    - mm_calloc
    - evmap_signal_initmap_
    - EVLOCK_UNLOCK
    - evmap_io_initmap_
    - gettime
    - EVLOCK_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:776,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - base
    - n_cpus
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 785
    functionName: event_base_start_iocp_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_warnx
    - event_iocp_port_launch_
    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:795,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 799
    functionName: event_base_stop_iocp_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_iocp_shutdown_
    - EVUTIL_ASSERT
    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:809,1
    - Dst: event_del_
      Src: /src/libevent/event.c:811,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:815,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:816,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:817,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:825,1
    - Dst: struct event*::ev_evcallback::evcb_cb_union::evcb_evfinalize
      Src: /src/libevent/event.c:826,1
    - Dst: mm_free
      Src: /src/libevent/event.c:828,1
    - Dst: struct event_callback*::evcb_cb_union::evcb_cbfinalize
      Src: /src/libevent/event.c:832,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: 839
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 839
    functionName: event_base_cancel_single_callback_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_free
    - struct event*::ev_evcallback::evcb_cb_union::evcb_evfinalize
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_callback_to_event
    - struct event_callback*::evcb_cb_union::evcb_cbfinalize
    - event_callback_cancel_nolock_
    - 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:847,1
    - Dst: TAILQ_NEXT
      Src: /src/libevent/event.c:848,1
    - Dst: event_base_cancel_single_callback_
      Src: /src/libevent/event.c:849,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:856,1
    - Dst: event_base_cancel_single_callback_
      Src: /src/libevent/event.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - base
    - run_finalizers
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 862
    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:880,1
    - Dst: event_base_stop_iocp_
      Src: /src/libevent/event.c:886,1
    - Dst: event_del
      Src: /src/libevent/event.c:891,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:892,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:894,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:897,1
    - Dst: evmap_delete_all_
      Src: /src/libevent/event.c:901,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:903,1
    - Dst: event_del
      Src: /src/libevent/event.c:904,1
    - Dst: event_del
      Src: /src/libevent/event.c:910,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:911,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:912,1
    - Dst: TAILQ_NEXT
      Src: /src/libevent/event.c:913,1
    - Dst: event_del
      Src: /src/libevent/event.c:916,1
    - Dst: mm_free
      Src: /src/libevent/event.c:921,1
    - Dst: mm_free
      Src: /src/libevent/event.c:924,1
    - Dst: event_base_free_queues_
      Src: /src/libevent/event.c:935,1
    - Dst: event_debug
      Src: /src/libevent/event.c:936,1
    - Dst: event_debug
      Src: /src/libevent/event.c:944,1
    - Dst: LIST_FIRST
      Src: /src/libevent/event.c:947,1
    - Dst: LIST_FIRST
      Src: /src/libevent/event.c:948,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/event.c:949,1
    - Dst: mm_free
      Src: /src/libevent/event.c:950,1
    - Dst: struct event_base*::evsel::dealloc
      Src: /src/libevent/event.c:954,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:957,1
    - Dst: TAILQ_EMPTY
      Src: /src/libevent/event.c:957,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:959,1
    - Dst: min_heap_empty_
      Src: /src/libevent/event.c:959,1
    - Dst: min_heap_dtor_
      Src: /src/libevent/event.c:960,1
    - Dst: mm_free
      Src: /src/libevent/event.c:962,1
    - Dst: evmap_io_clear_
      Src: /src/libevent/event.c:964,1
    - Dst: evmap_signal_clear_
      Src: /src/libevent/event.c:965,1
    - Dst: event_changelist_freemem_
      Src: /src/libevent/event.c:966,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/event.c:968,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/event.c:969,1
    - Dst: TAILQ_EMPTY
      Src: /src/libevent/event.c:973,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:974,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:975,1
    - Dst: mm_free
      Src: /src/libevent/event.c:976,1
    - Dst: mm_free
      Src: /src/libevent/event.c:983,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - base
    - run_finalizers
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 984
    functionName: event_base_free_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_free_queues_
    - evmap_signal_clear_
    - event_debug_unassign
    - min_heap_top_
    - TAILQ_REMOVE
    - evmap_io_clear_
    - mm_free
    - event_changelist_freemem_
    - event_del
    - EVTHREAD_FREE_LOCK
    - event_warnx
    - min_heap_empty_
    - event_debug
    - struct event_base*::evsel::dealloc
    - evmap_delete_all_
    - TAILQ_NEXT
    - EVTHREAD_FREE_COND
    - EVUTIL_ASSERT
    - event_base_stop_iocp_
    - TAILQ_EMPTY
    - EVUTIL_CLOSESOCKET
    - LIST_REMOVE
    - TAILQ_FIRST
    - min_heap_dtor_
    - LIST_FIRST
    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:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 5
    functionLinenumber: 986
    functionLinenumberEnd: 990
    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:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 5
    functionLinenumber: 992
    functionLinenumberEnd: 996
    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: 1006
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1006
    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:1026,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1050,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:1051,1
    - Dst: memset
      Src: /src/libevent/event.c:1052,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1057,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1059,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1065,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1066,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1068,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:1071,1
    - Dst: struct event_base*::evsel::dealloc
      Src: /src/libevent/event.c:1088,1
    - Dst: struct eventop*::init
      Src: /src/libevent/event.c:1089,1
    - Dst: event_errx
      Src: /src/libevent/event.c:1091,1
    - Dst: event_changelist_freemem_
      Src: /src/libevent/event.c:1100,1
    - Dst: evmap_reinit_
      Src: /src/libevent/event.c:1105,1
    - Dst: evsig_init_
      Src: /src/libevent/event.c:1108,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:1110,1
    - Dst: evthread_make_base_notifiable_nolock_
      Src: /src/libevent/event.c:1119,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1124
    functionName: event_reinit
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_errx
    - struct eventop*::init
    - EVUTIL_CLOSESOCKET
    - evmap_reinit_
    - evthread_make_base_notifiable_nolock_
    - evsig_init_
    - event_add_nolock_
    - event_changelist_freemem_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_debug_unassign
    - memset
    - struct event_base*::evsel::dealloc
    - event_del_nolock_
    linkageType: ''
    returnType: int
    signature: int event_reinit(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1133,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/event.c:1134,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1139
    functionName: event_gettime_monotonic
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - evutil_gettime_monotonic_
    - EVBASE_ACQUIRE_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:1155,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1171
    functionName: event_get_supported_methods
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_calloc
    - mm_free
    linkageType: ''
    returnType: char
    signature: 'char **

      event_get_supported_methods(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1176,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1187
    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:1193,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct event_config_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1195
    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:1202,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:1203,1
    - Dst: event_config_entry_free
      Src: /src/libevent/event.c:1204,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct event_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1207
    functionName: event_config_free
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_config_entry_free
    - TAILQ_REMOVE
    - mm_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: 1216
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1216
    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:1221,1
    - Dst: mm_strdup
      Src: /src/libevent/event.c:1225,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1226,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cfg
    - method
    argTypes:
    - struct event_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1233
    functionName: event_config_avoid_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_TAIL
    - mm_strdup
    - mm_malloc
    - mm_free
    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: 1243
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1243
    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: 1252
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1252
    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:1259,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: 1269
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1269
    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:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - npriorities
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1275
    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:1283,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:1285,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1293,1
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1299,1
    - Dst: event_warn
      Src: /src/libevent/event.c:1301,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:1307,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - base
    - npriorities
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1315
    functionName: event_base_priority_init
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_warn
    - mm_free
    - mm_calloc
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - TAILQ_INIT
    - N_ACTIVE_CALLBACKS
    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:1325,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1329
    functionName: event_base_get_npriorities
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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:1336,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - base
    - type
    argTypes:
    - struct event_base*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1350
    functionName: event_base_get_num_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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:1357,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1377,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: 1380
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1380
    functionName: event_base_get_max_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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: 1388
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1388
    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:1411,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1419,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1434
    functionName: event_signal_closure
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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: 1458
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1458
    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:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tv
    - base
    argTypes:
    - struct timeval*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1469
    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: 1478
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1478
    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:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1486
    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:1494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tv
    - base
    argTypes:
    - struct timeval*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1497
    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:1508,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: 1509
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1509
    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:1521,1
    - Dst: gettime
      Src: /src/libevent/event.c:1522,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1525,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1532,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:1534,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:1535,1
    - Dst: common_timeout_schedule
      Src: /src/libevent/event.c:1538,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1540
    functionName: common_timeout_callback
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_queue_remove_timeout
    - TAILQ_FIRST
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_active_nolock_
    - common_timeout_schedule
    - gettime
    - 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:1553,1
    - Dst: memcpy
      Src: /src/libevent/event.c:1555,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1556,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1568,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1568,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:1574,1
    - Dst: mm_realloc
      Src: /src/libevent/event.c:1583,1
    - Dst: event_warn
      Src: /src/libevent/event.c:1586,1
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1592,1
    - Dst: event_warn
      Src: /src/libevent/event.c:1594,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:1597,1
    - Dst: evtimer_assign
      Src: /src/libevent/event.c:1602,1
    - Dst: event_priority_set
      Src: /src/libevent/event.c:1605,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1612,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1612,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1614,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - base
    - duration
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1544
    functionDepth: 2
    functionLinenumber: 1544
    functionLinenumberEnd: 1616
    functionName: event_base_init_common_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_warn
    - event_priority_set
    - mm_calloc
    - evtimer_assign
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - is_common_timeout
    - EVBASE_RELEASE_LOCK
    - TAILQ_INIT
    - mm_realloc
    - memcpy
    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:1637,1
    - Dst: is_same_common_timeout
      Src: /src/libevent/event.c:1637,1
    - Dst: gettime
      Src: /src/libevent/event.c:1639,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1640,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:1658,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:1659,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:1665,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:1668,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1682
    functionName: event_persist_closure
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evutil_timeradd
    - event_add_nolock_
    - is_common_timeout
    - EVBASE_RELEASE_LOCK
    - is_same_common_timeout
    - evutil_timercmp
    - gettime
    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:1699,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1701,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1701,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:1704,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:1707,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1709,1
    - Dst: event_debug
      Src: /src/libevent/event.c:1710,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:1718,1
    - Dst: event_debug
      Src: /src/libevent/event.c:1719,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1725,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1725,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1738,1
    - Dst: event_signal_closure
      Src: /src/libevent/event.c:1739,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1742,1
    - Dst: event_persist_closure
      Src: /src/libevent/event.c:1743,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1748,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1751,1
    - Dst: evcb_callback
      Src: /src/libevent/event.c:1752,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1757,1
    - Dst: evcb_selfcb
      Src: /src/libevent/event.c:1758,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1765,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1768,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1769,1
    - Dst: event_debug_note_teardown_
      Src: /src/libevent/event.c:1770,1
    - Dst: evcb_evfinalize
      Src: /src/libevent/event.c:1771,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1773,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1779,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1780,1
    - Dst: evcb_cbfinalize
      Src: /src/libevent/event.c:1781,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1785,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1788,1
    - Dst: EVTHREAD_COND_BROADCAST
      Src: /src/libevent/event.c:1793,1
    - Dst: update_time_cache
      Src: /src/libevent/event.c:1803,1
    - Dst: gettime
      Src: /src/libevent/event.c:1804,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:1805,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: 1812
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1812
    functionName: event_process_active_single_queue
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_COND_BROADCAST
    - event_debug_note_teardown_
    - event_persist_closure
    - evcb_evfinalize
    - mm_free
    - EVBASE_ACQUIRE_LOCK
    - evcb_cbfinalize
    - event_callback_to_event
    - event_queue_remove_active
    - evcb_selfcb
    - event_debug
    - event_del_nolock_
    - evcb_callback
    - evutil_timercmp
    - EVUTIL_ASSERT
    - event_signal_closure
    - TAILQ_FIRST
    - update_time_cache
    - EVBASE_RELEASE_LOCK
    - gettime
    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:1831,1
    - Dst: gettime
      Src: /src/libevent/event.c:1832,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:1833,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1840,1
    - Dst: event_process_active_single_queue
      Src: /src/libevent/event.c:1844,1
    - Dst: event_process_active_single_queue
      Src: /src/libevent/event.c:1847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1820
    functionDepth: 4
    functionLinenumber: 1820
    functionLinenumberEnd: 1863
    functionName: event_process_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evutil_timeradd
    - event_process_active_single_queue
    - TAILQ_FIRST
    - update_time_cache
    - gettime
    linkageType: ''
    returnType: int
    signature: int event_process_active(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_loop
      Src: /src/libevent/event.c:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1873
    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:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 1879
    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:1884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1886
    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:1891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1893
    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: 1902
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1902
    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:1907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1909
    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:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event_base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1911
    functionDepth: 1
    functionLinenumber: 1911
    functionLinenumberEnd: 1916
    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:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1922
    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:1931,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:1934,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:1935,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 1941
    functionName: event_base_loopbreak
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - evthread_notify_base
    - EVBASE_NEED_NOTIFY
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    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:1950,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:1953,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:1954,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1960
    functionName: event_base_loopcontinue
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evthread_notify_base
    - EVBASE_NEED_NOTIFY
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    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:1966,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 1970
    functionName: event_base_got_break
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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:1976,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1980
    functionName: event_base_got_exit
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1988
    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:2002,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2005,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2007,1
    - Dst: clear_time_cache
      Src: /src/libevent/event.c:2013,1
    - Dst: evsig_set_base_
      Src: /src/libevent/event.c:2016,1
    - Dst: EVTHREAD_GET_ID
      Src: /src/libevent/event.c:2021,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2042,1
    - Dst: timeout_next
      Src: /src/libevent/event.c:2043,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:2049,1
    - Dst: event_haveevents
      Src: /src/libevent/event.c:2054,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2054,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2055,1
    - Dst: event_queue_make_later_events_active
      Src: /src/libevent/event.c:2060,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:2064,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2065,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2067,1
    - Dst: clear_time_cache
      Src: /src/libevent/event.c:2070,1
    - Dst: struct eventop*::dispatch
      Src: /src/libevent/event.c:2072,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2075,1
    - Dst: update_time_cache
      Src: /src/libevent/event.c:2081,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:2085,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2086,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2088,1
    - Dst: timeout_process
      Src: /src/libevent/event.c:2091,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2093,1
    - Dst: event_process_active
      Src: /src/libevent/event.c:2094,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2096,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2102,1
    - Dst: clear_time_cache
      Src: /src/libevent/event.c:2105,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 1990
    functionDepth: 5
    functionLinenumber: 1990
    functionLinenumberEnd: 2111
    functionName: event_base_loop
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVTHREAD_GET_ID
    - struct eventop*::dispatch
    - event_process_active
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - update_time_cache
    - timeout_next
    - event_haveevents
    - evsig_set_base_
    - event_debug
    - event_queue_make_later_events_active
    - timeout_process
    - TAILQ_FOREACH
    - clear_time_cache
    - N_ACTIVE_CALLBACKS
    - evutil_timerclear
    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:2121,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/event.c:2122,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2123,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:2124,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2126
    functionName: event_once_cb
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_free
    - LIST_REMOVE
    - EVBASE_ACQUIRE_LOCK
    - 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:2134,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: 2135
      start: 2129
    functionDepth: 1
    functionLinenumber: 2129
    functionLinenumberEnd: 2135
    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:2155,1
    - Dst: evtimer_assign
      Src: /src/libevent/event.c:2162,1
    - Dst: evutil_timerisset
      Src: /src/libevent/event.c:2164,1
    - Dst: event_assign
      Src: /src/libevent/event.c:2174,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2177,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2182,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:2184,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:2186,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2189,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/event.c:2192,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2194,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: 2197
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2197
    functionName: event_base_once
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_assign
    - evutil_timerisset
    - event_add_nolock_
    - mm_free
    - mm_calloc
    - evtimer_assign
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - LIST_INSERT_HEAD
    - event_active_nolock_
    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:2212,1
    - Dst: event_debug_assert_not_added_
      Src: /src/libevent/event.c:2213,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2228,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:2235,1
    - Dst: min_heap_elem_init_
      Src: /src/libevent/event.c:2242,1
    - Dst: event_debug_note_setup_
      Src: /src/libevent/event.c:2249,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: 2252
      start: 2204
    functionDepth: 3
    functionLinenumber: 2204
    functionLinenumberEnd: 2252
    functionName: event_assign
    functionSourceFile: /src/libevent/event.c
    functionUses: 8
    functionsReached:
    - event_debug_note_setup_
    - min_heap_elem_init_
    - event_debug_assert_not_added_
    - event_debug_assert_socket_nonblocking_
    - event_warnx
    - evutil_timerclear
    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:2261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2254
    functionDepth: 3
    functionLinenumber: 2254
    functionLinenumberEnd: 2267
    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:2274,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:2275,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: 2276
      start: 2269
    functionDepth: 4
    functionLinenumber: 2269
    functionLinenumberEnd: 2276
    functionName: event_set
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_assign
    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: 2282
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2282
    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:2288,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:2289,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:2292,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2284
    functionDepth: 2
    functionLinenumber: 2284
    functionLinenumberEnd: 2296
    functionName: event_base_get_running_event
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_IN_THREAD
    - event_callback_to_event
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    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:2302,1
    - Dst: event_assign
      Src: /src/libevent/event.c:2305,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2306,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: 2311
      start: 2298
    functionDepth: 4
    functionLinenumber: 2298
    functionLinenumberEnd: 2311
    functionName: event_new
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - mm_malloc
    - event_assign
    - mm_free
    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:2321,1
    - Dst: event_debug_note_teardown_
      Src: /src/libevent/event.c:2322,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2313
    functionDepth: 3
    functionLinenumber: 2313
    functionLinenumberEnd: 2325
    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:2330,1
    - Dst: event_debug_note_teardown_
      Src: /src/libevent/event.c:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2327
    functionDepth: 3
    functionLinenumber: 2327
    functionLinenumberEnd: 2334
    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:2343,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:2346,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: 2349
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2349
    functionName: event_finalize_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_active_nolock_
    - event_del_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:2356,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2357,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2361,1
    - Dst: event_finalize_nolock_
      Src: /src/libevent/event.c:2362,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2363,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: 2365
      start: 2351
    functionDepth: 2
    functionLinenumber: 2351
    functionLinenumberEnd: 2365
    functionName: event_finalize_impl_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - event_finalize_nolock_
    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:2370,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: 2371
      start: 2367
    functionDepth: 3
    functionLinenumber: 2367
    functionLinenumberEnd: 2371
    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:2376,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: 2377
      start: 2373
    functionDepth: 3
    functionLinenumber: 2373
    functionLinenumberEnd: 2377
    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:2384,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:2385,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:2387,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:2392,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: 2394
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2394
    functionName: event_callback_finalize_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_activate_nolock_
    - event_callback_to_event
    - event_del_nolock_
    - event_callback_cancel_nolock_
    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:2399,1
    - Dst: event_callback_finalize_nolock_
      Src: /src/libevent/event.c:2400,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2401,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: 2402
      start: 2396
    functionDepth: 3
    functionLinenumber: 2396
    functionLinenumberEnd: 2402
    functionName: event_callback_finalize_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_LOCK
    - event_callback_finalize_nolock_
    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:2415,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2417,1
    - Dst: event_callback_finalize_nolock_
      Src: /src/libevent/event.c:2425,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:2428,1
    - Dst: event_callback_finalize_nolock_
      Src: /src/libevent/event.c:2434,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2437,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: 2439
      start: 2407
    functionDepth: 3
    functionLinenumber: 2407
    functionLinenumberEnd: 2439
    functionName: event_callback_finalize_many_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_finalize_nolock_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_debug
    - event_callback_cancel_nolock_
    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:2449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ev
    - pri
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2446
    functionDepth: 3
    functionLinenumber: 2446
    functionLinenumberEnd: 2459
    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:2470,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2471,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2475,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2476,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:2492,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ev
    - event
    - tv
    argTypes:
    - struct event*
    - short
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2465
    functionDepth: 3
    functionLinenumber: 2465
    functionLinenumberEnd: 2498
    functionName: event_pending
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - evutil_timeradd
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - 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: 2507
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2507
    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:2512,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: 2524
      start: 2509
    functionDepth: 3
    functionLinenumber: 2509
    functionLinenumberEnd: 2524
    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: 2530
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2530
    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:2535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2532
    functionDepth: 3
    functionLinenumber: 2532
    functionLinenumberEnd: 2537
    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:2542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2539
    functionDepth: 3
    functionLinenumber: 2539
    functionLinenumberEnd: 2544
    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:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2546
    functionDepth: 3
    functionLinenumber: 2546
    functionLinenumberEnd: 2551
    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:2556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2553
    functionDepth: 3
    functionLinenumber: 2553
    functionLinenumberEnd: 2558
    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:2563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2560
    functionDepth: 3
    functionLinenumber: 2560
    functionLinenumberEnd: 2565
    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:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2567
    functionDepth: 3
    functionLinenumber: 2567
    functionLinenumberEnd: 2572
    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:2579,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2580,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2584,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:2586,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ev
    - tv
    argTypes:
    - struct event*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2591
    functionName: event_add
    functionSourceFile: /src/libevent/event.c
    functionUses: 12
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_add_nolock_
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    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:2604,1
    - Dst: write
      Src: /src/libevent/event.c:2606,1
    - Dst: EVUTIL_ERR_IS_EAGAIN
      Src: /src/libevent/event.c:2608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2609
    functionName: evthread_notify_base_default
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - write
    - send
    - EVUTIL_ERR_IS_EAGAIN
    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:2621,1
    - Dst: eventfd_read
      Src: /src/libevent/event.c:2629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2640
    functionName: evthread_notify_base_eventfd
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - eventfd_write
    - eventfd_read
    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:2650,1
    - Dst: struct event_base*::th_notify_fn
      Src: /src/libevent/event.c:2656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2647
    functionDepth: 1
    functionLinenumber: 2647
    functionLinenumberEnd: 2657
    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:2666,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2667,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2669,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:2673,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:2674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2661
    functionDepth: 3
    functionLinenumber: 2661
    functionLinenumberEnd: 2678
    functionName: event_remove_timer_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_queue_remove_timeout
    - event_debug_assert_is_setup_
    - event_debug
    - EVENT_BASE_ASSERT_LOCKED
    - evutil_timerclear
    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:2685,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2686,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2690,1
    - Dst: event_remove_timer_nolock_
      Src: /src/libevent/event.c:2692,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2680
    functionDepth: 4
    functionLinenumber: 2680
    functionLinenumberEnd: 2697
    functionName: event_remove_timer
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - event_remove_timer_nolock_
    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:2711,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2712,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2714,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:2717,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:2724,1
    - Dst: min_heap_reserve_
      Src: /src/libevent/event.c:2736,1
    - Dst: min_heap_size_
      Src: /src/libevent/event.c:2737,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2746,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:2748,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/event.c:2750,1
    - Dst: evmap_io_add_
      Src: /src/libevent/event.c:2757,1
    - Dst: evmap_signal_add_
      Src: /src/libevent/event.c:2759,1
    - Dst: event_queue_insert_inserted
      Src: /src/libevent/event.c:2761,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:2792,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:2811,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2811,1
    - Dst: gettime
      Src: /src/libevent/event.c:2814,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:2816,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:2818,1
    - Dst: COMMON_TIMEOUT_IDX
      Src: /src/libevent/event.c:2819,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:2827,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:2831,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2834,1
    - Dst: event_queue_reinsert_timeout
      Src: /src/libevent/event.c:2839,1
    - Dst: event_queue_insert_timeout
      Src: /src/libevent/event.c:2841,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:2846,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:2847,1
    - Dst: common_timeout_schedule
      Src: /src/libevent/event.c:2848,1
    - Dst: min_heap_elt_is_top_
      Src: /src/libevent/event.c:2858,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:2860,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:2861,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:2867,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:2868,1
    - Dst: event_debug_note_add_
      Src: /src/libevent/event.c:2870,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: 2873
      start: 2703
    functionDepth: 3
    functionLinenumber: 2703
    functionLinenumberEnd: 2873
    functionName: event_add_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 5
    functionsReached:
    - evutil_timeradd
    - event_queue_reinsert_timeout
    - event_debug_assert_is_setup_
    - get_common_timeout_list
    - min_heap_top_
    - evmap_io_add_
    - common_timeout_schedule
    - EV_SOCK_ARG
    - event_debug_note_add_
    - event_queue_insert_timeout
    - is_common_timeout
    - event_debug
    - event_queue_remove_active
    - evthread_notify_base
    - EVBASE_NEED_NOTIFY
    - EVTHREAD_COND_WAIT
    - evmap_signal_add_
    - min_heap_size_
    - COMMON_TIMEOUT_IDX
    - event_queue_remove_timeout
    - event_queue_insert_inserted
    - min_heap_reserve_
    - EVBASE_IN_THREAD
    - EVENT_BASE_ASSERT_LOCKED
    - evutil_timercmp
    - EVUTIL_ASSERT
    - event_to_event_callback
    - min_heap_elt_is_top_
    - TAILQ_FIRST
    - gettime
    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:2881,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2882,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2886,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:2887,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ev
    - blocking
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2891
      start: 2875
    functionDepth: 2
    functionLinenumber: 2875
    functionLinenumberEnd: 2891
    functionName: event_del_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - 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:2896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2893
    functionDepth: 3
    functionLinenumber: 2893
    functionLinenumberEnd: 2897
    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:2902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2899
    functionDepth: 3
    functionLinenumber: 2899
    functionLinenumberEnd: 2903
    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:2908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2905
    functionDepth: 3
    functionLinenumber: 2905
    functionLinenumberEnd: 2909
    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:2922,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:2923,1
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:2929,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:2940,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:2952,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:2954,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:2958,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2958,1
    - Dst: event_queue_remove_active_later
      Src: /src/libevent/event.c:2960,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2960,1
    - Dst: event_queue_remove_inserted
      Src: /src/libevent/event.c:2963,1
    - Dst: evmap_io_del_
      Src: /src/libevent/event.c:2965,1
    - Dst: evmap_signal_del_
      Src: /src/libevent/event.c:2967,1
    - Dst: event_haveevents
      Src: /src/libevent/event.c:2975,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2975,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:2980,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:2981,1
    - Dst: event_debug_note_del_
      Src: /src/libevent/event.c:2983,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2992,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:2993,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/event.c:2996,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 2
    argNames:
    - ev
    - blocking
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2916
    functionDepth: 3
    functionLinenumber: 2916
    functionLinenumberEnd: 3001
    functionName: event_del_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 6
    functionsReached:
    - event_queue_remove_inserted
    - min_heap_top_
    - EV_SOCK_ARG
    - event_queue_remove_active_later
    - event_debug_note_del_
    - event_debug
    - event_queue_remove_active
    - evthread_notify_base
    - EVBASE_NEED_NOTIFY
    - EVTHREAD_COND_WAIT
    - event_queue_remove_timeout
    - EVBASE_IN_THREAD
    - EVENT_BASE_ASSERT_LOCKED
    - evmap_io_del_
    - N_ACTIVE_CALLBACKS
    - EVUTIL_ASSERT
    - event_to_event_callback
    - evmap_signal_del_
    - event_haveevents
    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:3006,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:3007,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3011,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:3013,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3015,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ev
    - res
    - ncalls
    argTypes:
    - struct event*
    - int
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3003
    functionDepth: 3
    functionLinenumber: 3003
    functionLinenumberEnd: 3018
    functionName: event_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - event_debug_assert_is_setup_
    - event_active_nolock_
    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:3026,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3027,1
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3030,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3040,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:3059,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:3060,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/event.c:3062,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:3069,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:3069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ev
    - res
    - ncalls
    argTypes:
    - struct event*
    - int
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3021
    functionDepth: 1
    functionLinenumber: 3021
    functionLinenumberEnd: 3070
    functionName: event_active_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 6
    functionsReached:
    - EVUTIL_ASSERT
    - event_to_event_callback
    - event_callback_activate_nolock_
    - EVBASE_IN_THREAD
    - event_debug
    - EVENT_BASE_ASSERT_LOCKED
    - EVTHREAD_COND_WAIT
    - EV_SOCK_ARG
    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:3075,1
    - Dst: event_active_later_nolock_
      Src: /src/libevent/event.c:3076,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ev
    - res
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3072
    functionDepth: 1
    functionLinenumber: 3072
    functionLinenumberEnd: 3078
    functionName: event_active_later_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - event_active_later_nolock_
    - EVBASE_ACQUIRE_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:3084,1
    - Dst: event_callback_activate_later_nolock_
      Src: /src/libevent/event.c:3094,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:3094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ev
    - res
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 3080
    functionDepth: 1
    functionLinenumber: 3080
    functionLinenumberEnd: 3095
    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:3102,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:3103,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3097
    functionDepth: 1
    functionLinenumber: 3097
    functionLinenumberEnd: 3106
    functionName: event_callback_activate_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_activate_nolock_
    - EVBASE_ACQUIRE_LOCK
    - 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:3119,1
    - Dst: event_queue_remove_active_later
      Src: /src/libevent/event.c:3122,1
    - Dst: event_queue_insert_active
      Src: /src/libevent/event.c:3131,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:3133,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:3134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3108
    functionDepth: 2
    functionLinenumber: 3108
    functionLinenumberEnd: 3137
    functionName: event_callback_activate_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 3
    functionsReached:
    - EVUTIL_ASSERT
    - event_queue_remove_active_later
    - event_queue_insert_active
    - evthread_notify_base
    - EVBASE_NEED_NOTIFY
    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:3146,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:3147,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:3148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3139
    functionDepth: 2
    functionLinenumber: 3139
    functionLinenumberEnd: 3150
    functionName: event_callback_activate_later_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVBASE_NEED_NOTIFY
    - event_queue_insert_active_later
    - evthread_notify_base
    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:3156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - cb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3158
    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:3165,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:3166,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3160
    functionDepth: 1
    functionLinenumber: 3160
    functionLinenumberEnd: 3169
    functionName: event_callback_cancel_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - event_callback_cancel_nolock_
    - EVBASE_ACQUIRE_LOCK
    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:3179,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:3179,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3185,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:3189,1
    - Dst: event_queue_remove_active_later
      Src: /src/libevent/event.c:3192,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: 3199
      start: 3171
    functionDepth: 4
    functionLinenumber: 3171
    functionLinenumberEnd: 3199
    functionName: event_callback_cancel_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - EVUTIL_ASSERT
    - event_queue_remove_active_later
    - event_callback_to_event
    - event_queue_remove_active
    - 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:3204,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: 3209
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3209
    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: 3215
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3215
    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:3222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - base
    - cb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3217
    functionDepth: 2
    functionLinenumber: 3217
    functionLinenumberEnd: 3223
    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:3232,1
    - Dst: event_callback_activate_later_nolock_
      Src: /src/libevent/event.c:3234,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:3236,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - base
    - cb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3226
    functionDepth: 3
    functionLinenumber: 3226
    functionLinenumberEnd: 3243
    functionName: event_deferred_cb_schedule_
    functionSourceFile: /src/libevent/event.c
    functionUses: 6
    functionsReached:
    - event_callback_activate_nolock_
    - event_callback_activate_later_nolock_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    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:3254,1
    - Dst: gettime
      Src: /src/libevent/event.c:3262,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:3267,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:3268,1
    - Dst: evutil_timersub
      Src: /src/libevent/event.c:3272,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3274,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3275,1
    - Dst: event_debug
      Src: /src/libevent/event.c:3276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - base
    - tv_p
    argTypes:
    - struct event_base*
    - struct timeval**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3245
    functionDepth: 2
    functionLinenumber: 3245
    functionLinenumberEnd: 3280
    functionName: timeout_next
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - min_heap_top_
    - event_debug
    - evutil_timersub
    - evutil_timercmp
    - gettime
    - evutil_timerclear
    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:3290,1
    - Dst: gettime
      Src: /src/libevent/event.c:3294,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:3296,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:3299,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:3303,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:3305,1
    - Dst: event_debug
      Src: /src/libevent/event.c:3307,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3283
    functionDepth: 4
    functionLinenumber: 3283
    functionLinenumberEnd: 3311
    functionName: timeout_process
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_queue_remove_timeout
    - min_heap_empty_
    - min_heap_top_
    - event_debug
    - event_active_nolock_
    - evutil_timercmp
    - gettime
    - 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: 3315
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3315
    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: 3318
      start: 3317
    functionDepth: 0
    functionLinenumber: 3317
    functionLinenumberEnd: 3318
    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: 3325
      start: 3323
    functionDepth: 0
    functionLinenumber: 3323
    functionLinenumberEnd: 3325
    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: 3329
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3329
    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:3333,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3334,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3335,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3336,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3330
    functionDepth: 2
    functionLinenumber: 3330
    functionLinenumberEnd: 3341
    functionName: event_queue_remove_inserted
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_errx
    - DECR_EVENT_COUNT
    - EVENT_BASE_ASSERT_LOCKED
    - EV_SOCK_ARG
    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: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: 3357
      start: 3342
    functionDepth: 2
    functionLinenumber: 3342
    functionLinenumberEnd: 3357
    functionName: event_queue_remove_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_errx
    - DECR_EVENT_COUNT
    - EVENT_BASE_ASSERT_LOCKED
    - 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:3361,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3362,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3363,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3367,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3358
    functionDepth: 2
    functionLinenumber: 3358
    functionLinenumberEnd: 3372
    functionName: event_queue_remove_active_later
    functionSourceFile: /src/libevent/event.c
    functionUses: 3
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_errx
    - DECR_EVENT_COUNT
    - EVENT_BASE_ASSERT_LOCKED
    - 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:3376,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3377,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3378,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3379,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3382,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:3385,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3387,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3388,1
    - Dst: min_heap_erase_
      Src: /src/libevent/event.c:3391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3373
    functionDepth: 2
    functionLinenumber: 3373
    functionLinenumberEnd: 3393
    functionName: event_queue_remove_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 5
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_errx
    - is_common_timeout
    - get_common_timeout_list
    - DECR_EVENT_COUNT
    - min_heap_erase_
    - EVENT_BASE_ASSERT_LOCKED
    - TAILQ_REMOVE
    - EV_SOCK_ARG
    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:3403,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3410,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3412,1
    - Dst: insert_common_timeout_inorder
      Src: /src/libevent/event.c:3413,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3417,1
    - Dst: min_heap_push_
      Src: /src/libevent/event.c:3419,1
    - Dst: min_heap_erase_
      Src: /src/libevent/event.c:3422,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3423,1
    - Dst: insert_common_timeout_inorder
      Src: /src/libevent/event.c:3424,1
    - Dst: min_heap_adjust_
      Src: /src/libevent/event.c:3427,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3430,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: 3433
      start: 3397
    functionDepth: 3
    functionLinenumber: 3397
    functionLinenumberEnd: 3433
    functionName: event_queue_reinsert_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - insert_common_timeout_inorder
    - event_queue_insert_timeout
    - get_common_timeout_list
    - min_heap_push_
    - min_heap_erase_
    - TAILQ_REMOVE
    - min_heap_adjust_
    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:3449,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3455,1
    - Dst: is_same_common_timeout
      Src: /src/libevent/event.c:3456,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:3457,1
    - Dst: TAILQ_INSERT_AFTER
      Src: /src/libevent/event.c:3458,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/libevent/event.c:3463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctl
    - ev
    argTypes:
    - struct common_timeout_list*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3465
      start: 3437
    functionDepth: 1
    functionLinenumber: 3437
    functionLinenumberEnd: 3465
    functionName: insert_common_timeout_inorder
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - TAILQ_INSERT_AFTER
    - TAILQ_INSERT_HEAD
    - is_same_common_timeout
    - TAILQ_FOREACH_REVERSE
    - evutil_timercmp
    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:3470,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3472,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3473,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3474,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3467
    functionDepth: 2
    functionLinenumber: 3467
    functionLinenumberEnd: 3481
    functionName: event_queue_insert_inserted
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_errx
    - INCR_EVENT_COUNT
    - EVENT_BASE_ASSERT_LOCKED
    - EV_SOCK_ARG
    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:3486,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3493,1
    - Dst: MAX_EVENT_COUNT
      Src: /src/libevent/event.c:3498,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3499,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:3500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3483
    functionDepth: 1
    functionLinenumber: 3483
    functionLinenumberEnd: 3502
    functionName: event_queue_insert_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - MAX_EVENT_COUNT
    - INCR_EVENT_COUNT
    - EVENT_BASE_ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    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:3507,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3513,1
    - Dst: MAX_EVENT_COUNT
      Src: /src/libevent/event.c:3516,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3517,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:3518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3504
    functionDepth: 1
    functionLinenumber: 3504
    functionLinenumberEnd: 3519
    functionName: event_queue_insert_active_later
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - MAX_EVENT_COUNT
    - INCR_EVENT_COUNT
    - EVENT_BASE_ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    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:3524,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3526,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3527,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3528,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3532,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:3536,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3538,1
    - Dst: insert_common_timeout_inorder
      Src: /src/libevent/event.c:3539,1
    - Dst: min_heap_push_
      Src: /src/libevent/event.c:3541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3543
      start: 3521
    functionDepth: 2
    functionLinenumber: 3521
    functionLinenumberEnd: 3543
    functionName: event_queue_insert_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVUTIL_FAILURE_CHECK
    - event_errx
    - insert_common_timeout_inorder
    - INCR_EVENT_COUNT
    - is_common_timeout
    - get_common_timeout_list
    - min_heap_push_
    - EVENT_BASE_ASSERT_LOCKED
    - EV_SOCK_ARG
    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:3549,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:3551,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3552,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3554,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:3555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3545
    functionDepth: 1
    functionLinenumber: 3545
    functionLinenumberEnd: 3558
    functionName: event_queue_make_later_events_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - TAILQ_INSERT_TAIL
    - TAILQ_FIRST
    - EVENT_BASE_ASSERT_LOCKED
    - 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: 3566
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3566
    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: 3572
      start: 3568
    functionDepth: 0
    functionLinenumber: 3568
    functionLinenumberEnd: 3572
    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: 3583
      start: 3579
    functionDepth: 0
    functionLinenumber: 3579
    functionLinenumberEnd: 3583
    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:3597,1
    - Dst: malloc
      Src: /src/libevent/event.c:3599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3590
    functionDepth: 1
    functionLinenumber: 3590
    functionLinenumberEnd: 3600
    functionName: event_mm_malloc_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - malloc
    - mm_malloc_fn_
    linkageType: ''
    returnType: void
    signature: 'void *

      event_mm_malloc_(size_t sz)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc_fn_
      Src: /src/libevent/event.c:3613,1
    - Dst: memset
      Src: /src/libevent/event.c:3615,1
    - Dst: calloc
      Src: /src/libevent/event.c:3617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3629
      start: 3602
    functionDepth: 1
    functionLinenumber: 3602
    functionLinenumberEnd: 3629
    functionName: event_mm_calloc_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_malloc_fn_
    - calloc
    - memset
    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:3640,1
    - Dst: mm_malloc_fn_
      Src: /src/libevent/event.c:3644,1
    - Dst: memcpy
      Src: /src/libevent/event.c:3646,1
    - Dst: _strdup
      Src: /src/libevent/event.c:3649,1
    - Dst: strdup
      Src: /src/libevent/event.c:3651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3657
    functionName: event_mm_strdup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - _strdup
    - mm_malloc_fn_
    - strdup
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      event_mm_strdup_(const char *str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_realloc_fn_
      Src: /src/libevent/event.c:3663,1
    - Dst: realloc
      Src: /src/libevent/event.c:3665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3659
    functionDepth: 1
    functionLinenumber: 3659
    functionLinenumberEnd: 3666
    functionName: event_mm_realloc_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_realloc_fn_
    - realloc
    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:3672,1
    - Dst: free
      Src: /src/libevent/event.c:3674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3668
    functionDepth: 1
    functionLinenumber: 3668
    functionLinenumberEnd: 3675
    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: 3685
      start: 3677
    functionDepth: 0
    functionLinenumber: 3677
    functionLinenumberEnd: 3685
    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:3693,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3689
    functionDepth: 1
    functionLinenumber: 3689
    functionLinenumberEnd: 3696
    functionName: evthread_notify_drain_eventfd
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_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:3705,1
    - Dst: read
      Src: /src/libevent/event.c:3708,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3712,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3699
    functionDepth: 1
    functionLinenumber: 3699
    functionLinenumberEnd: 3715
    functionName: evthread_notify_drain_default
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - recv
    - EVBASE_ACQUIRE_LOCK
    - read
    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:3724,1
    - Dst: evthread_make_base_notifiable_nolock_
      Src: /src/libevent/event.c:3725,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3728
    functionName: evthread_make_base_notifiable
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - evthread_make_base_notifiable_nolock_
    - EVBASE_ACQUIRE_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:3742,1
    - Dst: evutil_eventfd_
      Src: /src/libevent/event.c:3751,1
    - Dst: evutil_make_internal_pipe_
      Src: /src/libevent/event.c:3759,1
    - Dst: event_assign
      Src: /src/libevent/event.c:3769,1
    - Dst: event_priority_set
      Src: /src/libevent/event.c:3774,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:3776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3730
    functionDepth: 6
    functionLinenumber: 3730
    functionLinenumberEnd: 3777
    functionName: evthread_make_base_notifiable_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_assign
    - event_priority_set
    - evutil_eventfd_
    - event_add_nolock_
    - evutil_make_internal_pipe_
    - event_kq_add_notify_event_
    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:3788,1
    - Dst: fn
      Src: /src/libevent/event.c:3799,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:3808,1
    - Dst: fn
      Src: /src/libevent/event.c:3814,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:3823,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:3830,1
    - Dst: fn
      Src: /src/libevent/event.c:3831,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: 3837
      start: 3779
    functionDepth: 2
    functionLinenumber: 3779
    functionLinenumberEnd: 3837
    functionName: event_base_foreach_event_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_to_event
    - fn
    - 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:3851,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3852,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:3864,1
    - Dst: fprintf
      Src: /src/libevent/event.c:3865,1
    - Dst: fputc
      Src: /src/libevent/event.c:3868,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: 3871
      start: 3841
    functionDepth: 1
    functionLinenumber: 3841
    functionLinenumberEnd: 3871
    functionName: dump_inserted_event_fn
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - fputc
    - fprintf
    - EV_SOCK_ARG
    - evutil_timeradd
    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:3885,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3886,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: 3896
      start: 3875
    functionDepth: 1
    functionLinenumber: 3875
    functionLinenumberEnd: 3896
    functionName: dump_active_event_fn
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - fprintf
    - EV_SOCK_ARG
    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:3906,1
    - Dst: event_base_foreach_event_nolock_
      Src: /src/libevent/event.c:3907,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3908,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: 3910
      start: 3898
    functionDepth: 3
    functionLinenumber: 3898
    functionLinenumberEnd: 3910
    functionName: event_base_foreach_event
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - event_base_foreach_event_nolock_
    - EVBASE_ACQUIRE_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:3916,1
    - Dst: fprintf
      Src: /src/libevent/event.c:3917,1
    - Dst: event_base_foreach_event_nolock_
      Src: /src/libevent/event.c:3918,1
    - Dst: fprintf
      Src: /src/libevent/event.c:3920,1
    - Dst: event_base_foreach_event_nolock_
      Src: /src/libevent/event.c:3921,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - base
    - output
    argTypes:
    - struct event_base*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3913
    functionDepth: 3
    functionLinenumber: 3913
    functionLinenumberEnd: 3923
    functionName: event_base_dump_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_foreach_event_nolock_
    - fprintf
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    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:3928,1
    - Dst: evmap_io_active_
      Src: /src/libevent/event.c:3932,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3943,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:3949,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3952,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3958,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: 3959
      start: 3925
    functionDepth: 2
    functionLinenumber: 3925
    functionLinenumberEnd: 3959
    functionName: event_base_active_by_fd
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evmap_io_active_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - TAILQ_FOREACH
    - event_active_nolock_
    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:3964,1
    - Dst: evmap_signal_active_
      Src: /src/libevent/event.c:3965,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - sig
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3961
    functionDepth: 2
    functionLinenumber: 3961
    functionLinenumberEnd: 3967
    functionName: event_base_active_by_signal
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_LOCK
    - evmap_signal_active_
    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:3973,1
    - Dst: MAX_EVENT_COUNT
      Src: /src/libevent/event.c:3975,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3977
      start: 3970
    functionDepth: 1
    functionLinenumber: 3970
    functionLinenumberEnd: 3977
    functionName: event_base_add_virtual_
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - MAX_EVENT_COUNT
    - EVBASE_ACQUIRE_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:3982,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3983,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:3985,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:3986,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3988
      start: 3979
    functionDepth: 2
    functionLinenumber: 3979
    functionLinenumberEnd: 3988
    functionName: event_base_del_virtual_
    functionSourceFile: /src/libevent/event.c
    functionUses: 5
    functionsReached:
    - EVUTIL_ASSERT
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - evthread_notify_base
    - EVBASE_NEED_NOTIFY
    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:3996,1
    - Dst: evthreadimpl_disable_lock_debugging_
      Src: /src/libevent/event.c:3998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4003
      start: 3990
    functionDepth: 1
    functionLinenumber: 3990
    functionLinenumberEnd: 4003
    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:4008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4009
      start: 4005
    functionDepth: 2
    functionLinenumber: 4005
    functionLinenumberEnd: 4009
    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:4014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 4011
    functionDepth: 1
    functionLinenumber: 4011
    functionLinenumberEnd: 4015
    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:4020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4017
    functionDepth: 3
    functionLinenumber: 4017
    functionLinenumberEnd: 4021
    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:4026,1
    - Dst: event_free_evsig_globals
      Src: /src/libevent/event.c:4027,1
    - Dst: event_free_evutil_globals
      Src: /src/libevent/event.c:4028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4023
    functionDepth: 4
    functionLinenumber: 4023
    functionLinenumberEnd: 4029
    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:4034,1
    - Dst: event_free_globals
      Src: /src/libevent/event.c:4035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4031
    functionDepth: 5
    functionLinenumber: 4031
    functionLinenumberEnd: 4036
    functionName: libevent_global_shutdown
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_free_globals
    - event_disable_debug_mode
    linkageType: ''
    returnType: void
    signature: void libevent_global_shutdown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_SETUP_GLOBAL_LOCK
      Src: /src/libevent/event.c:4043,1
    - Dst: evsig_global_setup_locks_
      Src: /src/libevent/event.c:4045,1
    - Dst: evutil_global_setup_locks_
      Src: /src/libevent/event.c:4047,1
    - Dst: evutil_secure_rng_global_setup_locks_
      Src: /src/libevent/event.c:4049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4052
      start: 4039
    functionDepth: 2
    functionLinenumber: 4039
    functionLinenumberEnd: 4052
    functionName: event_global_setup_locks_
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - evutil_global_setup_locks_
    - evsig_global_setup_locks_
    - EVTHREAD_SETUP_GLOBAL_LOCK
    - evutil_secure_rng_global_setup_locks_
    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:4058,1
    - Dst: event_base_assert_ok_nolock_
      Src: /src/libevent/event.c:4059,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:4060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4055
    functionDepth: 1
    functionLinenumber: 4055
    functionLinenumberEnd: 4061
    functionName: event_base_assert_ok_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - event_base_assert_ok_nolock_
    - EVBASE_ACQUIRE_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:4071,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4079,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4080,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:4080,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4081,1
    - Dst: EVUTIL_ASSERT_TAILQ_OK
      Src: /src/libevent/event.c:4089,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:4091,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4093,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:4093,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4094,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4095,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:4095,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4096,1
    - Dst: COMMON_TIMEOUT_IDX
      Src: /src/libevent/event.c:4096,1
    - Dst: EVUTIL_ASSERT_TAILQ_OK
      Src: /src/libevent/event.c:4105,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:4106,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4107,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4108,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:4115,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4116,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4063
    functionDepth: 4
    functionLinenumber: 4063
    functionLinenumberEnd: 4121
    functionName: event_base_assert_ok_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - COMMON_TIMEOUT_IDX
    - is_common_timeout
    - EVUTIL_ASSERT_TAILQ_OK
    - evutil_timercmp
    - TAILQ_FOREACH
    - evmap_check_integrity_
    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:
    - EVUTIL_ASSERT
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - read
    - evmap_signal_active_
    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:
    - EVUTIL_ASSERT
    - mm_free
    - 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: sigemptyset
      Src: /src/libevent/signalfd.c:132,1
    - Dst: sigaddset
      Src: /src/libevent/signalfd.c:133,1
    - Dst: sigprocmask
      Src: /src/libevent/signalfd.c:134,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:135,1
    - Dst: signalfd
      Src: /src/libevent/signalfd.c:139,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:141,1
    - Dst: event_new
      Src: /src/libevent/signalfd.c:146,1
    - Dst: event_priority_set
      Src: /src/libevent/signalfd.c:152,1
    - Dst: event_add_nolock_
      Src: /src/libevent/signalfd.c:154,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:160,1
    - Dst: close
      Src: /src/libevent/signalfd.c:162,1
    - Dst: sigprocmask
      Src: /src/libevent/signalfd.c:164,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 5
    argNames:
    - base
    - signo
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 169
    functionName: sigfd_add
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_warn
    - sigemptyset
    - event_priority_set
    - event_add_nolock_
    - mm_malloc
    - mm_free
    - sigaddset
    - sigprocmask
    - close
    - signalfd
    - event_new
    - evsig_ensure_saved_
    - sigfd_free_sigevent
    - sigaction
    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:178,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:180,1
    - Dst: sigemptyset
      Src: /src/libevent/signalfd.c:182,1
    - Dst: sigaddset
      Src: /src/libevent/signalfd.c:183,1
    - Dst: sigprocmask
      Src: /src/libevent/signalfd.c:184,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:185,1
    - Dst: sigaction
      Src: /src/libevent/signalfd.c:193,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:194,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:197,1
    - Dst: sigfd_free_sigevent
      Src: /src/libevent/signalfd.c:202,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: 204
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 204
    functionName: sigfd_del
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_warn
    - sigemptyset
    - mm_free
    - sigaddset
    - sigfd_free_sigevent
    - sigprocmask
    - sigaction
    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:208,1
    - Dst: getenv
      Src: /src/libevent/signalfd.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    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:
    - EVUTIL_ASSERT
    - mm_free
    - evrpc_remove_hook
    - TAILQ_FIRST
    - TAILQ_REMOVE
    - evrpc_unregister_rpc
    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:
    - EVUTIL_ASSERT
    - evrpc_remove_hook_internal
    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:
    - strlen
    - memcpy
    - 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:
    - TAILQ_INSERT_TAIL
    - mm_free
    - evrpc_construct_uri
    - evhttp_set_cb
    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
    - evrpc_construct_uri
    - evhttp_del_cb
    - mm_free
    - strcmp
    - TAILQ_REMOVE
    - TAILQ_FOREACH
    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:
    - EVUTIL_ASSERT
    - evrpc_request_cb_closure
    - mm_calloc
    - evrpc_reqstate_free_
    - TAILQ_FIRST
    - evhttp_send_error
    - evrpc_hook_associate_meta_
    - evrpc_process_hooks
    - evrpc_pause_request
    - evbuffer_get_length
    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:
    - EVUTIL_ASSERT
    - struct evrpc*::request_new
    - evrpc_reqstate_free_
    - evhttp_send_error
    - struct evrpc*::cb
    - struct evrpc*::reply_new
    - struct evrpc*::request_unmarshal
    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:
    - EVUTIL_ASSERT
    - evrpc_hook_context_free_
    - struct evrpc*::request_free
    - mm_free
    - evbuffer_free
    - struct evrpc*::reply_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:
    - EVUTIL_ASSERT
    - evrpc_request_done_closure
    - struct evrpc*::reply_complete
    - evbuffer_new
    - struct evrpc*::reply_marshal
    - TAILQ_FIRST
    - evhttp_send_error
    - evrpc_hook_associate_meta_
    - evrpc_process_hooks
    - evrpc_pause_request
    - evrpc_reqstate_free_
    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:
    - EVUTIL_ASSERT
    - evhttp_find_header
    - evhttp_send_error
    - evhttp_send_reply
    - evrpc_reqstate_free_
    - evhttp_add_header
    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:
    - evrpc_hook_context_free_
    - mm_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:
    - EVUTIL_ASSERT
    - mm_free
    - evrpc_remove_hook
    - TAILQ_FIRST
    - evhttp_connection_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:
    - EVUTIL_ASSERT
    - evhttp_connection_set_timeout
    - evhttp_connection_set_base
    - TAILQ_FIRST
    - TAILQ_REMOVE
    - TAILQ_INSERT_TAIL
    - evrpc_schedule_request
    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:
    - TAILQ_FOREACH
    - evhttp_connection_set_timeout
    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:
    - EVUTIL_ASSERT
    - evhttp_request_new
    - TAILQ_FIRST
    - evrpc_hook_associate_meta_
    - memset
    - evrpc_process_hooks
    - evrpc_pause_request
    - struct evrpc_request_wrapper*::request_marshal
    - evrpc_schedule_request_closure
    - evrpc_request_wrapper_free
    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:
    - evrpc_construct_uri
    - mm_free
    - evtimer_add
    - evhttp_make_request
    - memset
    - evrpc_request_wrapper_free
    - evutil_timerclear
    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:
    - EVUTIL_ASSERT
    - evrpc_pool_schedule
    - evtimer_assign
    - TAILQ_FIRST
    - TAILQ_INSERT_TAIL
    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_strdup
    - mm_malloc
    - mm_free
    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:
    - EVUTIL_ASSERT
    - event_del
    - TAILQ_FIRST
    - evrpc_hook_associate_meta_
    - evrpc_process_hooks
    - evrpc_pause_request
    - evhttp_request_own
    - evrpc_reply_done_closure
    - evrpc_request_wrapper_free
    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:
    - evrpc_pool_schedule
    - evhttp_request_is_owned
    - struct evrpc_request_wrapper*::reply_unmarshal
    - struct evrpc_request_wrapper*::reply_clear
    - memset
    - evhttp_request_free
    - 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:
    - evrpc_pool_find_connection
    - evrpc_schedule_request
    - TAILQ_FIRST
    - TAILQ_REMOVE
    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:
    - evrpc_meta_data_free
    - mm_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:
    - evrpc_hook_context_free_
    - mm_malloc
    - mm_free
    - mm_strdup
    - memcpy
    - TAILQ_INSERT_TAIL
    - evrpc_hook_meta_new_
    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:
    - TAILQ_FOREACH
    - strcmp
    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:
    - evrpc_make_request
    - evrpc_make_request_ctx
    - memset
    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_strdup
    - mm_calloc
    - mm_free
    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_object
    - evrpc_register_rpc
    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:
    - BEV_UPCAST
    - getpeername
    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:
    - EVUTIL_ASSERT
    - memcpy
    - 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:
    - bufferevent_add_event_
    - event_pending
    - 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_
    - evbuffer_freeze
    - evutil_socket_geterror
    - bufferevent_disable
    - bufferevent_incref_and_lock_
    - BEV_UPCAST
    - bufferevent_run_eventcb_
    - evbuffer_unfreeze
    - EVUTIL_ERR_RW_RETRIABLE
    - bufferevent_decrement_read_buckets_
    - bufferevent_decref_and_unlock_
    - evbuffer_get_length
    - evbuffer_read
    - bufferevent_trigger_nolock_
    - EVUTIL_ERR_CONNECT_REFUSED
    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:
    - evutil_socket_geterror
    - bufferevent_async_set_connected_
    - bufferevent_run_eventcb_
    - bufferevent_disable
    - evbuffer_unfreeze
    - bufferevent_decrement_write_buckets_
    - bufferevent_trigger_nolock_
    - evbuffer_freeze
    - evbuffer_write_atmost
    - bufferevent_get_write_max_
    - bufferevent_incref_and_lock_
    - event_del
    - evbuffer_get_length
    - bufferevent_socket_set_conn_address_fd_
    - EVUTIL_ERR_RW_RETRIABLE
    - bufferevent_decref_and_unlock_
    - evutil_socket_finished_connecting_
    - BEV_UPCAST
    - BEV_IS_ASYNC
    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:
    - event_assign
    - bufferevent_async_new_
    - evbuffer_freeze
    - mm_free
    - mm_calloc
    - evbuffer_add_cb
    - event_base_get_iocp_
    - evbuffer_set_flags
    - bufferevent_init_common_
    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_socket_connect
    - bufferevent_unsuspend_write_
    - bufferevent_run_eventcb_
    - bufferevent_socket_set_conn_address_
    - BEV_UPCAST
    - evutil_freeaddrinfo
    - bufferevent_decref_and_unlock_
    - BEV_LOCK
    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:
    - bufferevent_incref_
    - EVUTIL_UPCAST
    - BEV_UNLOCK
    - evutil_getaddrinfo_async_
    - evutil_snprintf
    - bufferevent_suspend_write_
    - bufferevent_suspend_read_
    - BEV_LOCK
    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_UPCAST
    - BEV_LOCK
    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_socket_new
    - bufferevent_setcb
    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:
    - BEV_UPCAST
    - event_del
    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
    - BEV_IS_SOCKET
    - BEV_UPCAST
    - event_get_fd
    - evutil_getaddrinfo_cancel_async_
    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:
    - EVUTIL_ASSERT
    - event_assign
    - BEV_IS_SOCKET
    - BEV_UPCAST
    - event_del
    - evbuffer_unfreeze
    - BEV_UNLOCK
    - evutil_getaddrinfo_cancel_async_
    - BEV_LOCK
    - bufferevent_enable
    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:
    - event_deferred_cb_set_priority_
    - event_priority_set
    - BEV_UPCAST
    - BEV_IS_FILTER
    - BEV_UNLOCK
    - BEV_IS_PAIR
    - BEV_LOCK
    - BEV_IS_ASYNC
    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:
    - BEV_UNLOCK
    - BEV_IS_SOCKET
    - BEV_LOCK
    - event_base_set
    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:
    - event_get_fd
    - be_socket_setfd
    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:
    - event_warn
    - epoll_create1
    - evutil_getenv_
    - evsig_init_
    - mm_calloc
    - close_epoll_handle
    - mm_free
    - epoll_create
    - sigfd_init_
    - memset
    - timerfd_create
    - close
    - evutil_make_socket_closeonexec
    - epoll_ctl
    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:
    - EVUTIL_ASSERT
    - event_warn
    - PRINT_CHANGES
    - strerror
    - memset
    - event_debug
    - epoll_ctl
    - EPOLL_OP_TABLE_INDEX
    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:
    - event_warn
    - event_changelist_remove_all_
    - timerfd_settime
    - EVUTIL_ASSERT
    - evmap_io_active_
    - epoll_apply_changes
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - epoll_wait
    - mm_realloc
    - event_debug
    - TIMEVAL_TO_TIMESPEC
    - evutil_tv_to_msec_
    - epoll_pwait2
    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:
    - mm_free
    - close_epoll_handle
    - evsig_dealloc_
    - close
    - memset
    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:
    - InitializeCriticalSectionAndSpinCount
    - mm_malloc
    - mm_free
    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:
    - EnterCriticalSection
    - TryEnterCriticalSection
    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:
    - mm_malloc
    - InitializeConditionVariable_fn
    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:
    - WakeAllConditionVariable_fn
    - WakeConditionVariable_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:
    - evutil_tv_to_msec_
    - GetLastError
    - SleepConditionVariableCS_fn
    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:
    - InitializeCriticalSectionAndSpinCount
    - mm_malloc
    - DeleteCriticalSection
    - mm_free
    - CreateEvent
    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:
    - CloseHandle
    - DeleteCriticalSection
    - mm_free
    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:
    - EnterCriticalSection
    - LeaveCriticalSection
    - SetEvent
    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:
    - GetTickCount
    - EnterCriticalSection
    - LeaveCriticalSection
    - ResetEvent
    - evutil_tv_to_msec_
    - WaitForSingleObject
    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:
    - GetProcAddress
    - evutil_load_windows_system_library_
    - EVUTIL_UNLIKELY
    - GetSystemTimePreciseAsFileTime_fn
    - GetSystemTimeAsFileTime
    - TEXT
    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:
    - nanosleep
    - usleep
    - CreateWaitableTimer
    - sleep
    - SetWaitableTimer
    - select
    - CloseHandle
    - WaitForSingleObject
    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:
    - event_errx
    - _gmtime64_s
    - gmtime
    - gmtime_r
    - evutil_snprintf
    - _gmtime64
    - time
    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_timersub
    - evutil_timercmp
    - 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:
    - mm_malloc
    - memset
    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:
    - event_errx
    - memset
    - clock_gettime
    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:
    - mach_absolute_time
    - memset
    - memcpy
    - 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:
    - mach_absolute_time
    - evutil_gettimeofday
    - 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:
    - struct evutil_monotonic_timer*::GetTickCount_fn
    - GetTickCount
    - 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:
    - GetProcAddress
    - evutil_load_windows_system_library_
    - QueryPerformanceCounter
    - QueryPerformanceFrequency
    - TEXT
    - memset
    - evutil_GetTickCount_
    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:
    - evutil_GetTickCount_
    - abs64
    - QueryPerformanceCounter
    - 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:
    - EVUTIL_ASSERT
    - evutil_offsetof
    - BEV_IS_FILTER
    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_suspend_read_
    - bufferevent_init_generic_timeout_cbs_
    - bufferevent_setcb
    - bufferevent_incref_
    - mm_calloc
    - mm_free
    - evbuffer_add_cb
    - bufferevent_enable_locking_
    - evbuffer_cb_clear_flags
    - downcast
    - bufferevent_init_common_
    - bufferevent_enable
    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_unsuspend_read_
    - upcast
    - bufferevent_setcb
    - BEV_UPCAST
    - event_warnx
    - bufferevent_free
    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:
    - evbuffer_remove_cb_entry
    - upcast
    - struct bufferevent_filtered*::free_context
    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_WRITE_TIMEOUT
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - bufferevent_unsuspend_read_
    - upcast
    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:
    - bufferevent_suspend_read_
    - upcast
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - BEV_DEL_GENERIC_READ_TIMEOUT
    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:
    - struct bufferevent_filtered*::process_in
    - be_readbuf_full
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - downcast
    - evbuffer_get_length
    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:
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - be_underlying_writebuf_full
    - evbuffer_cb_clear_flags
    - evbuffer_cb_set_flags
    - downcast
    - evbuffer_get_length
    - bufferevent_trigger_nolock_
    - struct bufferevent_filtered*::process_out
    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
    - bufferevent_incref_and_lock_
    - be_filter_process_output
    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:
    - EVUTIL_ASSERT
    - be_readbuf_full
    - BEV_UPCAST
    - be_filter_process_input
    - evbuffer_cb_set_flags
    - downcast
    - evbuffer_get_length
    - bufferevent_trigger_nolock_
    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_readbuf_full
    - evbuffer_cb_clear_flags
    - BEV_UNLOCK
    - be_filter_read_nolock_
    - downcast
    - evbuffer_get_length
    - BEV_LOCK
    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:
    - BEV_UNLOCK
    - downcast
    - BEV_LOCK
    - be_filter_read_nolock_
    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:
    - EVUTIL_ASSERT
    - be_filter_process_output
    - BEV_UPCAST
    - BEV_UNLOCK
    - downcast
    - BEV_LOCK
    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:
    - EVUTIL_ASSERT
    - bufferevent_run_eventcb_
    - BEV_UPCAST
    - BEV_UNLOCK
    - downcast
    - BEV_LOCK
    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:
    - be_filter_process_output
    - upcast
    - bufferevent_incref_and_lock_
    - be_filter_process_input
    - bufferevent_decref_and_unlock_
    - bufferevent_flush
    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:
    - event_base_gettimeofday_cached
    - ev_token_bucket_get_tick_
    - ev_token_bucket_update_
    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:
    - bufferevent_update_buckets
    - LIM
    - LOCK_GROUP
    - UNLOCK_GROUP
    - CLAMPTO
    - GROUP_SUSPENDED
    - bufferevent_suspend_write_
    - bufferevent_suspend_read_
    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:
    - UNLOCK_GROUP
    - bufferevent_unsuspend_read_
    - LOCK_GROUP
    - bev_group_unsuspend_reading_
    - event_add
    - event_del
    - bufferevent_suspend_read_
    - 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:
    - UNLOCK_GROUP
    - LOCK_GROUP
    - bufferevent_unsuspend_write_
    - bev_group_suspend_writing_
    - event_add
    - event_del
    - bev_group_unsuspend_writing_
    - 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
    - LIST_FOREACH
    - EVLOCK_TRY_LOCK_
    - bufferevent_suspend_read_
    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
    - LIST_FOREACH
    - EVLOCK_TRY_LOCK_
    - 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_
    - event_base_gettimeofday_cached
    - ev_token_bucket_get_tick_
    - event_add
    - ev_token_bucket_update_
    - BEV_UNLOCK
    - BEV_LOCK
    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_ASSERT
    - LIST_FIRST
    - LIST_NEXT
    - LIST_EMPTY
    - evutil_weakrand_range_
    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_UNLOCK
    - bufferevent_unsuspend_read_
    - EVLOCK_TRY_LOCK_
    - FOREACH_RANDOM_ORDER
    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
    - bufferevent_unsuspend_write_
    - EVLOCK_TRY_LOCK_
    - FOREACH_RANDOM_ORDER
    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:
    - UNLOCK_GROUP
    - LOCK_GROUP
    - event_get_base
    - bev_group_unsuspend_reading_
    - event_base_gettimeofday_cached
    - ev_token_bucket_get_tick_
    - ev_token_bucket_update_
    - bev_group_unsuspend_writing_
    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:
    - EVUTIL_ASSERT
    - bufferevent_unsuspend_read_
    - bufferevent_unsuspend_write_
    - event_initialized
    - ev_token_bucket_init_
    - event_assign
    - BEV_UPCAST
    - event_base_gettimeofday_cached
    - event_del
    - ev_token_bucket_get_tick_
    - mm_calloc
    - event_add
    - BEV_UNLOCK
    - bufferevent_suspend_write_
    - bufferevent_suspend_read_
    - BEV_LOCK
    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:
    - event_assign
    - ev_token_bucket_init_
    - evutil_weakrand_seed_
    - event_base_gettimeofday_cached
    - ev_token_bucket_get_tick_
    - mm_calloc
    - event_add
    - bufferevent_rate_limit_group_set_min_share
    - LIST_INIT
    - memcpy
    - EVTHREAD_ALLOC_LOCK
    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:
    - UNLOCK_GROUP
    - LOCK_GROUP
    - event_add
    - bufferevent_rate_limit_group_set_min_share
    - memcpy
    - evutil_timercmp
    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:
    - EVUTIL_ASSERT
    - UNLOCK_GROUP
    - LOCK_GROUP
    - EVTHREAD_FREE_LOCK
    - mm_free
    - event_del
    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:
    - UNLOCK_GROUP
    - LOCK_GROUP
    - event_assign
    - BEV_UPCAST
    - mm_calloc
    - BEV_UNLOCK
    - bufferevent_suspend_write_
    - LIST_INSERT_HEAD
    - bufferevent_suspend_read_
    - BEV_LOCK
    - bufferevent_remove_from_rate_limit_group
    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:
    - UNLOCK_GROUP
    - bufferevent_unsuspend_read_
    - LOCK_GROUP
    - bufferevent_unsuspend_write_
    - BEV_UPCAST
    - LIST_REMOVE
    - BEV_UNLOCK
    - BEV_LOCK
    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
    - bufferevent_update_buckets
    - BEV_UPCAST
    - BEV_LOCK
    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
    - bufferevent_update_buckets
    - BEV_UPCAST
    - BEV_LOCK
    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_UPCAST
    - BEV_LOCK
    - evbuffer_set_max_read
    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_UPCAST
    - BEV_LOCK
    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_UPCAST
    - BEV_LOCK
    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_UPCAST
    - BEV_LOCK
    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
    - BEV_UPCAST
    - BEV_LOCK
    - bufferevent_get_read_max_
    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
    - bufferevent_get_write_max_
    - BEV_UPCAST
    - BEV_LOCK
    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_UPCAST
    - BEV_LOCK
    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:
    - EVUTIL_ASSERT
    - bufferevent_unsuspend_read_
    - BEV_UPCAST
    - event_add
    - event_del
    - BEV_UNLOCK
    - bufferevent_suspend_read_
    - BEV_LOCK
    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:
    - EVUTIL_ASSERT
    - bufferevent_unsuspend_write_
    - BEV_UPCAST
    - event_add
    - event_del
    - BEV_UNLOCK
    - bufferevent_suspend_write_
    - BEV_LOCK
    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:
    - UNLOCK_GROUP
    - bev_group_suspend_reading_
    - LOCK_GROUP
    - bev_group_unsuspend_reading_
    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:
    - UNLOCK_GROUP
    - bev_group_unsuspend_writing_
    - LOCK_GROUP
    - bev_group_suspend_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:
    - R2
    - R1
    - R4
    - R3
    - memset
    - R0
    - memcpy
    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:
    - SHA1Transform
    - memcpy
    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:
    - SHA1Update
    - memset
    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:
    - SHA1Update
    - SHA1Init
    - 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:
    - evbuffer_add
    - encode_int_internal
    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_get_length
    - evbuffer_pullup
    - evbuffer_drain
    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_tag
    - evbuffer_add
    - evtag_encode_int
    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_tag
    - evtag_encode_int
    - 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:
    - evtag_encode_tag
    - encode_int_internal
    - 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_tag
    - evbuffer_add
    - evtag_encode_int
    - encode_int64_internal
    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:
    - decode_int_internal
    - evbuffer_drain
    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_tag_internal
    - decode_int_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_tag_internal
    - decode_int_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
    - evbuffer_get_length
    - decode_tag_internal
    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:
    - evtag_unmarshal_header
    - evbuffer_drain
    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
    - evtag_unmarshal_header
    - evbuffer_drain
    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
    - evbuffer_get_length
    - decode_tag_internal
    - 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_get_length
    - decode_tag_internal
    - evbuffer_drain
    - 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:
    - evbuffer_remove
    - evtag_unmarshal_header
    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:
    - event_warn
    - evbuffer_remove
    - evtag_unmarshal_header
    - mm_malloc
    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:
    - evtag_unmarshal_header
    - decode_int_internal
    - evbuffer_drain
    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:
    - EVUTIL_ASSERT
    - evutil_offsetof
    - BEV_IS_SSL
    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:
    - struct bufferevent_ssl*::ssl_ops::get_error
    - struct bufferevent_ssl*::ssl_ops::err_is_want_write
    - bufferevent_get_read_max_
    - struct bufferevent_ssl*::ssl_ops::read
    - clear_rbow
    - evbuffer_commit_space
    - struct bufferevent_ssl*::ssl_ops::clear_error
    - set_rbow
    - evbuffer_reserve_space
    - struct bufferevent_ssl*::ssl_ops::conn_closed
    - struct bufferevent_ssl*::ssl_ops::err_is_want_read
    - struct bufferevent_ssl*::ssl_ops::decrement_buckets
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - struct bufferevent_ssl*::ssl_ops::print_err
    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:
    - clear_wbor
    - struct bufferevent_ssl*::ssl_ops::get_error
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - evbuffer_peek
    - struct bufferevent_ssl*::ssl_ops::err_is_want_write
    - struct bufferevent_ssl*::ssl_ops::write
    - bufferevent_get_write_max_
    - struct bufferevent_ssl*::ssl_ops::clear_error
    - set_wbor
    - struct bufferevent_ssl*::ssl_ops::conn_closed
    - evbuffer_pullup
    - struct bufferevent_ssl*::ssl_ops::err_is_want_read
    - struct bufferevent_ssl*::ssl_ops::decrement_buckets
    - struct bufferevent_ssl*::ssl_ops::print_err
    - evbuffer_drain
    - bufferevent_trigger_nolock_
    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:
    - evbuffer_get_length
    - bufferevent_get_read_max_
    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:
    - do_write
    - do_read
    - event_del
    - struct bufferevent_ssl*::ssl_ops::pending
    - bytes_to_read
    - bufferevent_trigger_nolock_
    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:
    - do_write
    - do_read
    - event_del
    - evbuffer_get_length
    - bufferevent_trigger_nolock_
    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:
    - bufferevent_run_eventcb_
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    - consider_reading
    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:
    - bufferevent_run_eventcb_
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    - consider_writing
    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_assign
    - event_initialized
    - bufferevent_setcb
    - event_del
    - bufferevent_add_event_
    - event_pending
    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:
    - EVUTIL_ASSERT
    - struct bufferevent_ssl*::ssl_ops::get_error
    - struct bufferevent_ssl*::ssl_ops::handshake
    - start_writing
    - struct bufferevent_ssl*::ssl_ops::err_is_want_write
    - bufferevent_ssl_stop_writing
    - bufferevent_run_eventcb_
    - start_reading
    - struct bufferevent_ssl*::ssl_ops::clear_error
    - struct bufferevent_ssl*::ssl_ops::handshake_is_ok
    - event_get_fd
    - set_open_callbacks
    - struct bufferevent_ssl*::ssl_ops::err_is_want_read
    - struct bufferevent_ssl*::ssl_ops::conn_closed
    - struct bufferevent_ssl*::ssl_ops::decrement_buckets
    - bufferevent_ssl_stop_reading
    - struct bufferevent_ssl*::ssl_ops::print_err
    - bufferevent_enable
    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:
    - evutil_socket_finished_connecting_
    - bufferevent_run_eventcb_
    - bufferevent_incref_and_lock_
    - do_handshake
    - bufferevent_decref_and_unlock_
    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:
    - event_assign
    - event_initialized
    - bufferevent_setcb
    - event_del
    - do_handshake
    - bufferevent_setfd
    - bufferevent_enable
    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
    - be_ssl_auto_fd
    - BEV_IS_SSL
    - do_handshake
    - set_handshake_callbacks
    - struct bufferevent_ssl*::ssl_ops::renegotiate
    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
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - consider_writing
    - consider_reading
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - start_reading
    - start_writing
    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
    - bufferevent_ssl_stop_writing
    - BEV_DEL_GENERIC_READ_TIMEOUT
    - bufferevent_ssl_stop_reading
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    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_ssl_upcast
    - bufferevent_unsuspend_read_
    - bufferevent_setcb
    - BEV_UPCAST
    - event_warnx
    - bufferevent_free
    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:
    - bufferevent_ssl_upcast
    - evutil_closesocket
    - struct bufferevent_ssl*::ssl_ops::get_fd
    - struct bufferevent_ssl*::ssl_ops::free
    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:
    - struct bufferevent_ssl*::ssl_ops::set_connect_state
    - struct bufferevent_ssl*::ssl_ops::clear
    - set_open_callbacks
    - struct bufferevent_ssl*::ssl_ops::set_accept_state
    - set_handshake_callbacks
    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
    - event_get_fd
    - be_ssl_set_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:
    - struct bufferevent_ssl*::ssl_ops::init
    - bufferevent_suspend_read_
    - bufferevent_init_generic_timeout_cbs_
    - bufferevent_incref_
    - be_ssl_set_fd
    - struct le_ssl_ops*::free_raw
    - bufferevent_setwatermark
    - mm_calloc
    - evbuffer_add_cb
    - bufferevent_enable_locking_
    - be_ssl_auto_fd
    - bufferevent_free
    - struct bufferevent_ssl*::ssl_ops::free
    - struct bufferevent_ssl*::ssl_ops::init_bio_counts
    - bufferevent_init_common_
    - bufferevent_enable
    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:
    - bufferevent_ssl_upcast
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_IS_SSL
    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:
    - bufferevent_ssl_upcast
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_IS_SSL
    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:
    - bufferevent_ssl_upcast
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_IS_SSL
    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:
    - bufferevent_ssl_upcast
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_IS_SSL
    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:
    - BEV_UNLOCK
    - bufferevent_ssl_clear_flags
    - BEV_LOCK
    - bufferevent_ssl_set_flags
    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:
    - evutil_weakrand_seed_
    - sigfd_init_
    - 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:
    - event_warn
    - evmap_io_active_
    - poll
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_debug
    - mm_realloc
    - evutil_tv_to_msec_
    - memcpy
    - poll_check_ok
    - evutil_weakrand_range_
    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:
    - EVUTIL_ASSERT
    - event_warn
    - poll_check_ok
    - mm_realloc
    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:
    - EVUTIL_ASSERT
    - memcpy
    - 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:
    - evsig_dealloc_
    - mm_free
    - memset
    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_UNLOCK_
    - ARC4_LOCK_
    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_UNLOCK_
    - ARC4_LOCK_
    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_addrandom
    - arc4random_stir
    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_GROW
    - HT_SET_HASH_
    - 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_GROW
    - HT_SET_HASH_
    - _HT_FIND_P_
    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:
    - reallocfn
    - freefn
    - mallocfn
    - memset
    - HT_ELT_HASH_
    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:
    - hashfn
    - HT_ELT_HASH_
    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:
    - event_warn
    - evutil_open_closeonexec_
    - evsig_init_
    - mm_calloc
    - mm_free
    - getrlimit
    - close
    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
    - evmap_io_active_
    - ioctl
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_debug
    - devpoll_commit
    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:
    - evsig_dealloc_
    - close
    - mm_free
    - 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:
    - select_resize
    - evsig_init_
    - evutil_weakrand_seed_
    - mm_calloc
    - sigfd_init_
    - select_free_selectop
    - SELECT_ALLOC_SIZE
    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:
    - event_warn
    - evmap_io_active_
    - check_selectop
    - EVBASE_ACQUIRE_LOCK
    - select
    - EVBASE_RELEASE_LOCK
    - FD_ISSET
    - event_debug
    - mm_realloc
    - memcpy
    - evutil_weakrand_range_
    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:
    - event_warn
    - memset
    - check_selectop
    - mm_realloc
    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:
    - EVUTIL_ASSERT
    - select_resize
    - check_selectop
    - FD_SET
    - SELECT_ALLOC_SIZE
    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:
    - evsig_dealloc_
    - select_free_selectop
    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_UNLOCK
    - EVSIGBASE_LOCK
    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_
    - evutil_socket_geterror
    - recv
    - EVBASE_ACQUIRE_LOCK
    - EVUTIL_ERR_RW_RETRIABLE
    - EVBASE_RELEASE_LOCK
    - memset
    - event_sock_err
    - read
    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_assign
    - event_priority_set
    - mm_free
    - evutil_make_internal_pipe_
    - event_sock_err
    - event_sock_warn
    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:
    - event_warn
    - memset
    - event_debug
    - mm_realloc
    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:
    - event_warn
    - sigfillset
    - signal
    - mm_malloc
    - mm_free
    - memset
    - evsig_ensure_saved_
    - sigaction
    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:
    - EVUTIL_ASSERT
    - evsig_set_handler_
    - event_add_nolock_
    - event_warnx
    - EVSIGBASE_UNLOCK
    - event_debug
    - EVSIGBASE_LOCK
    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:
    - event_warn
    - signal
    - mm_free
    - sigaction
    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:
    - EVUTIL_ASSERT
    - EVSIGBASE_UNLOCK
    - event_debug
    - evsig_restore_handler_
    - EV_SOCK_ARG
    - EVSIGBASE_LOCK
    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:
    - EVUTIL_SET_SOCKET_ERROR
    - signal
    - strerror
    - event_warnx
    - EVUTIL_SOCKET_ERROR
    - write
    - send
    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:
    - evutil_closesocket
    - mm_free
    - event_del
    - event_debug_unassign
    - EVSIGBASE_UNLOCK
    - evsig_restore_handler_
    - EVSIGBASE_LOCK
    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:
    - BEV_UNLOCK
    - BEV_UPCAST
    - BEV_LOCK
    - struct bufferevent*::be_ops::disable
    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:
    - BEV_UNLOCK
    - BEV_UPCAST
    - BEV_LOCK
    - struct bufferevent*::be_ops::enable
    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:
    - BEV_UNLOCK
    - BEV_UPCAST
    - BEV_LOCK
    - struct bufferevent*::be_ops::disable
    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:
    - BEV_UNLOCK
    - BEV_UPCAST
    - BEV_LOCK
    - struct bufferevent*::be_ops::enable
    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:
    - evbuffer_get_length
    - bufferevent_wm_suspend_read
    - bufferevent_wm_unsuspend_read
    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:
    - EVUTIL_SET_SOCKET_ERROR
    - struct bufferevent*::writecb
    - struct bufferevent*::readcb
    - bufferevent_inbuf_wm_check
    - struct bufferevent*::errorcb
    - bufferevent_decref_and_unlock_
    - BEV_LOCK
    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:
    - writecb
    - EVUTIL_SET_SOCKET_ERROR
    - bufferevent_inbuf_wm_check
    - readcb
    - bufferevent_decref_and_unlock_
    - UNLOCKED
    - BEV_LOCK
    - errorcb
    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
    - BEV_UPCAST
    - bufferevent_inbuf_wm_check
    - 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_decref_and_unlock_
    - bufferevent_incref_and_lock_
    - bufferevent_trigger_nolock_
    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:
    - struct bufferevent*::errorcb
    - SCHEDULE_DEFERRED
    - BEV_UPCAST
    - EVUTIL_SOCKET_ERROR
    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_run_eventcb_
    - bufferevent_decref_and_unlock_
    - 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:
    - event_base_get_npriorities
    - evbuffer_set_parent_
    - event_deferred_cb_init_
    - evbuffer_new
    - bufferevent_enable_locking_
    - event_warnx
    - evbuffer_free
    - bufferevent_ratelim_init_
    - evutil_timerclear
    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_initialized
    - event_base_get_npriorities
    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:
    - bufferevent_incref_and_lock_
    - BEV_UPCAST
    - bufferevent_decref_and_unlock_
    - struct bufferevent*::be_ops::enable
    - event_debug
    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
    - BEV_LOCK
    - struct bufferevent*::be_ops::adj_timeouts
    - evutil_timerclear
    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:
    - memset
    - bufferevent_set_timeouts
    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:
    - BEV_UNLOCK
    - BEV_UPCAST
    - BEV_LOCK
    - struct bufferevent*::be_ops::disable
    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:
    - BEV_UNLOCK
    - BEV_LOCK
    - struct bufferevent*::be_ops::disable
    - event_debug
    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_UPCAST
    - evbuffer_add_cb
    - evbuffer_cb_clear_flags
    - evbuffer_cb_set_flags
    - BEV_UNLOCK
    - bufferevent_wm_unsuspend_read
    - evbuffer_get_length
    - BEV_LOCK
    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:
    - BEV_UNLOCK
    - BEV_LOCK
    - struct bufferevent*::be_ops::flush
    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_UPCAST
    - BEV_LOCK
    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:
    - EVUTIL_ASSERT
    - event_callback_finalize_many_
    - event_initialized
    - BEV_UPCAST
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::unlink
    - evbuffer_get_callbacks_
    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:
    - struct bufferevent*::be_ops::destruct
    - bufferevent_get_underlying
    - BEV_UPCAST
    - mm_free
    - EVTHREAD_FREE_LOCK
    - evbuffer_free
    - bufferevent_remove_from_rate_limit_group_internal_
    - BEV_UNLOCK
    - bufferevent_decref_
    - BEV_LOCK
    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:
    - bufferevent_decref_and_unlock_
    - BEV_LOCK
    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_decref_and_unlock_
    - bufferevent_cancel_all_
    - BEV_LOCK
    - bufferevent_setcb
    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_UPCAST
    - BEV_LOCK
    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:
    - bufferevent_get_underlying
    - evbuffer_enable_locking
    - BEV_UPCAST
    - bufferevent_enable_locking_
    - EVTHREAD_ALLOC_LOCK
    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:
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - BEV_LOCK
    - event_debug
    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:
    - evutil_closesocket
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - event_debug
    - BEV_LOCK
    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:
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - BEV_LOCK
    - event_debug
    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_UPCAST
    - BEV_LOCK
    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_run_eventcb_
    - bufferevent_disable
    - bufferevent_incref_and_lock_
    - bufferevent_decref_and_unlock_
    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_run_eventcb_
    - bufferevent_disable
    - bufferevent_incref_and_lock_
    - bufferevent_decref_and_unlock_
    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:
    - evutil_timerisset
    - BEV_UPCAST
    - event_add
    - event_del
    - evbuffer_get_length
    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:
    - bufferevent_add_event_
    - event_pending
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/test/tinytest.c:116,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/tinytest.c:119,1
    - Dst: GetTickCount64
      Src: /src/libevent/test/tinytest.c:121,1
    - Dst: gettimeofday
      Src: /src/libevent/test/tinytest.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: gettime_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - evutil_gettime_monotonic_
    - gettimeofday
    - GetTickCount64
    - evutil_configure_monotonic_time_
    linkageType: ''
    returnType: double
    signature: double gettime_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExitThread
      Src: /src/libevent/test/tinytest.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    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:152,1
    - Dst: CreateThread
      Src: /src/libevent/test/tinytest.c:160,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/test/tinytest.c:162,1
    - Dst: GetExitCodeThread
      Src: /src/libevent/test/tinytest.c:165,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:166,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:170,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:172,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - testcase
    - env
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts:
    - condition: (opt_timeout)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/libevent/test/tinytest.c
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: testcase_run_in_thread_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - CreateThread
    - printf
    - GetExitCodeThread
    - assert
    - CloseHandle
    - WaitForSingleObject
    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: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: 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: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: 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:200,1
    - Dst: testcase_run_in_thread_
      Src: /src/libevent/test/tinytest.c:211,1
    - Dst: testcase_set_timeout_
      Src: /src/libevent/test/tinytest.c:213,1
    - Dst: struct testcase_t*::fn
      Src: /src/libevent/test/tinytest.c:214,1
    - Dst: testcase_reset_timeout_
      Src: /src/libevent/test/tinytest.c:215,1
    - Dst: struct testcase_t*::fn
      Src: /src/libevent/test/tinytest.c:218,1
    - Dst: struct testcase_t*::setup::cleanup_fn
      Src: /src/libevent/test/tinytest.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 229
    functionName: testcase_run_bare_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - struct testcase_t*::setup::setup_fn
    - struct testcase_t*::setup::cleanup_fn
    - struct testcase_t*::fn
    - testcase_run_in_thread_
    - testcase_set_timeout_
    - testcase_reset_timeout_
    linkageType: ''
    returnType: enum outcome
    signature: enum outcome testcase_run_bare_(const struct testcase_t *testcase)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:254,1
    - Dst: abort
      Src: /src/libevent/test/tinytest.c:256,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:259,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:261,1
    - Dst: memset
      Src: /src/libevent/test/tinytest.c:264,1
    - Dst: memset
      Src: /src/libevent/test/tinytest.c:265,1
    - Dst: CreateProcessA
      Src: /src/libevent/test/tinytest.c:268,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:271,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/test/tinytest.c:274,1
    - Dst: GetExitCodeProcess
      Src: /src/libevent/test/tinytest.c:278,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:280,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:282,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:284,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:285,1
    - Dst: pipe
      Src: /src/libevent/test/tinytest.c:297,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:298,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:301,1
    - Dst: fork
      Src: /src/libevent/test/tinytest.c:302,1
    - Dst: vproc_transaction_begin
      Src: /src/libevent/test/tinytest.c:304,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:310,1
    - Dst: testcase_run_bare_
      Src: /src/libevent/test/tinytest.c:311,1
    - Dst: assert
      Src: /src/libevent/test/tinytest.c:312,1
    - Dst: write
      Src: /src/libevent/test/tinytest.c:314,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:316,1
    - Dst: exit
      Src: /src/libevent/test/tinytest.c:317,1
    - Dst: exit
      Src: /src/libevent/test/tinytest.c:319,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:327,1
    - Dst: read
      Src: /src/libevent/test/tinytest.c:328,1
    - Dst: waitpid
      Src: /src/libevent/test/tinytest.c:329,1
    - Dst: WEXITSTATUS
      Src: /src/libevent/test/tinytest.c:330,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:331,1
    - Dst: WIFSIGNALED
      Src: /src/libevent/test/tinytest.c:333,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:334,1
    - Dst: WTERMSIG
      Src: /src/libevent/test/tinytest.c:334,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:336,1
    - Dst: WIFSIGNALED
      Src: /src/libevent/test/tinytest.c:339,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:340,1
    - Dst: WTERMSIG
      Src: /src/libevent/test/tinytest.c:340,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:342,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:345,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    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: 311
        line_start: 311
        source_file: /src/libevent/test/tinytest.c
    constantsTouched: []
    func_position:
      end: 349
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 349
    functionName: testcase_run_forked_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - fork
    - waitpid
    - perror
    - WEXITSTATUS
    - vproc_transaction_begin
    - CreateProcessA
    - read
    - WIFSIGNALED
    - abort
    - pipe
    - printf
    - WTERMSIG
    - testcase_run_bare_
    - memset
    - assert
    - GetExitCodeProcess
    - CloseHandle
    - snprintf
    - WaitForSingleObject
    - exit
    - close
    - write
    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:418,1
    - Dst: strstr
      Src: /src/libevent/test/tinytest.c:419,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:423,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:426,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:428,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:430,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:432,1
    - Dst: strncmp
      Src: /src/libevent/test/tinytest.c:434,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: 444
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 444
    functionName: tinytest_set_flag_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strstr
    - printf
    - puts
    - snprintf
    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:449,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:450,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:451,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:452,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:453,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:454,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:455,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:456,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:457,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:458,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:459,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:460,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:461,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:462,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:463,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:465,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:466,1
    - Dst: exit
      Src: /src/libevent/test/tinytest.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - groups
    - list_groups
    argTypes:
    - struct testgroup_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 469
    functionName: usage
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - puts
    - tinytest_set_flag_
    - 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:476,1
    - Dst: process_test_option
      Src: /src/libevent/test/tinytest.c:479,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - groups
    - test
    argTypes:
    - struct testgroup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 489
    functionName: process_test_alias
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - process_test_option
    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:497,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:504,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:505,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:511,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - groups
    - test
    argTypes:
    - struct testgroup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 516
    functionName: process_test_option
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 1
    functionsReached:
    - printf
    - process_test_alias
    - tinytest_set_flag_
    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: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libevent/test/tinytest.c:552,1
    - Dst: memcpy
      Src: /src/libevent/test/tinytest.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - s
    - data
    - len
    argTypes:
    - struct parallel_slot*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 561
    functionName: par_buf_append_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - realloc
    linkageType: ''
    returnType: void
    signature: void par_buf_append_(struct parallel_slot *s, const char *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libevent/test/tinytest.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct parallel_slot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 577
    functionName: par_slot_free_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void par_slot_free_(struct parallel_slot *s)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:601,1
    - Dst: calloc
      Src: /src/libevent/test/tinytest.c:606,1
    - Dst: strlen
      Src: /src/libevent/test/tinytest.c:615,1
    - Dst: strlen
      Src: /src/libevent/test/tinytest.c:616,1
    - Dst: malloc
      Src: /src/libevent/test/tinytest.c:617,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:620,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:632,1
    - Dst: calloc
      Src: /src/libevent/test/tinytest.c:638,1
    - Dst: par_slot_free_
      Src: /src/libevent/test/tinytest.c:642,1
    - Dst: calloc
      Src: /src/libevent/test/tinytest.c:644,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:650,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:667,1
    - Dst: CreatePipe
      Src: /src/libevent/test/tinytest.c:689,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:691,1
    - Dst: SetHandleInformation
      Src: /src/libevent/test/tinytest.c:696,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:699,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:702,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:705,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:709,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:713,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:718,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:721,1
    - Dst: memset
      Src: /src/libevent/test/tinytest.c:725,1
    - Dst: GetStdHandle
      Src: /src/libevent/test/tinytest.c:732,1
    - Dst: InitializeProcThreadAttributeList
      Src: /src/libevent/test/tinytest.c:734,1
    - Dst: malloc
      Src: /src/libevent/test/tinytest.c:736,1
    - Dst: InitializeProcThreadAttributeList
      Src: /src/libevent/test/tinytest.c:738,1
    - Dst: UpdateProcThreadAttribute
      Src: /src/libevent/test/tinytest.c:740,1
    - Dst: CreateProcessA
      Src: /src/libevent/test/tinytest.c:748,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:753,1
    - Dst: DeleteProcThreadAttributeList
      Src: /src/libevent/test/tinytest.c:756,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:758,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:760,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:761,1
    - Dst: DeleteProcThreadAttributeList
      Src: /src/libevent/test/tinytest.c:767,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:769,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:771,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:772,1
    - Dst: pipe
      Src: /src/libevent/test/tinytest.c:780,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:781,1
    - Dst: fork
      Src: /src/libevent/test/tinytest.c:786,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:788,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:789,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:790,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:801,1
    - Dst: dup2
      Src: /src/libevent/test/tinytest.c:802,1
    - Dst: dup2
      Src: /src/libevent/test/tinytest.c:803,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:806,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:814,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:819,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:826,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:834,1
    - Dst: execvp
      Src: /src/libevent/test/tinytest.c:844,1
    - Dst: _exit
      Src: /src/libevent/test/tinytest.c:846,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:849,1
    - Dst: gettime_
      Src: /src/libevent/test/tinytest.c:854,1
    - Dst: PeekNamedPipe
      Src: /src/libevent/test/tinytest.c:875,1
    - Dst: ReadFile
      Src: /src/libevent/test/tinytest.c:879,1
    - Dst: par_buf_append_
      Src: /src/libevent/test/tinytest.c:883,1
    - Dst: WaitForMultipleObjects
      Src: /src/libevent/test/tinytest.c:894,1
    - Dst: PeekNamedPipe
      Src: /src/libevent/test/tinytest.c:905,1
    - Dst: ReadFile
      Src: /src/libevent/test/tinytest.c:911,1
    - Dst: par_buf_append_
      Src: /src/libevent/test/tinytest.c:917,1
    - Dst: GetExitCodeProcess
      Src: /src/libevent/test/tinytest.c:921,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:923,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:924,1
    - Dst: gettime_
      Src: /src/libevent/test/tinytest.c:927,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:932,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:936,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:939,1
    - Dst: fwrite
      Src: /src/libevent/test/tinytest.c:944,1
    - Dst: fflush
      Src: /src/libevent/test/tinytest.c:949,1
    - Dst: par_slot_free_
      Src: /src/libevent/test/tinytest.c:950,1
    - Dst: poll
      Src: /src/libevent/test/tinytest.c:964,1
    - Dst: read
      Src: /src/libevent/test/tinytest.c:972,1
    - Dst: par_buf_append_
      Src: /src/libevent/test/tinytest.c:975,1
    - Dst: waitpid
      Src: /src/libevent/test/tinytest.c:983,1
    - Dst: read
      Src: /src/libevent/test/tinytest.c:996,1
    - Dst: par_buf_append_
      Src: /src/libevent/test/tinytest.c:1001,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:1004,1
    - Dst: gettime_
      Src: /src/libevent/test/tinytest.c:1007,1
    - Dst: WIFEXITED
      Src: /src/libevent/test/tinytest.c:1009,1
    - Dst: WEXITSTATUS
      Src: /src/libevent/test/tinytest.c:1010,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1013,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1017,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1020,1
    - Dst: fwrite
      Src: /src/libevent/test/tinytest.c:1025,1
    - Dst: fflush
      Src: /src/libevent/test/tinytest.c:1030,1
    - Dst: par_slot_free_
      Src: /src/libevent/test/tinytest.c:1031,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:1039,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1042,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1044,1
    - Dst: TerminateProcess
      Src: /src/libevent/test/tinytest.c:1053,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/test/tinytest.c:1054,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:1056,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:1057,1
    - Dst: kill
      Src: /src/libevent/test/tinytest.c:1061,1
    - Dst: waitpid
      Src: /src/libevent/test/tinytest.c:1062,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:1063,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:1066,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:1068,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:1072,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:1073,1
    - Dst: free
      Src: /src/libevent/test/tinytest.c:1076,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 292
    argCount: 2
    argNames:
    - exe
    - groups
    argTypes:
    - char*
    - struct testgroup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 579
    functionDepth: 4
    functionLinenumber: 579
    functionLinenumberEnd: 1079
    functionName: run_tests_parallel_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - fork
    - PeekNamedPipe
    - calloc
    - waitpid
    - perror
    - SetHandleInformation
    - ReadFile
    - WEXITSTATUS
    - CreateProcessA
    - kill
    - dup2
    - gettime_
    - read
    - WaitForMultipleObjects
    - poll
    - par_slot_free_
    - WIFEXITED
    - fprintf
    - InitializeProcThreadAttributeList
    - pipe
    - CreatePipe
    - execvp
    - printf
    - par_buf_append_
    - memset
    - free
    - CloseHandle
    - malloc
    - snprintf
    - GetExitCodeProcess
    - WaitForSingleObject
    - GetStdHandle
    - _exit
    - fflush
    - puts
    - close
    - TerminateProcess
    - UpdateProcThreadAttribute
    - strlen
    - fwrite
    - DeleteProcThreadAttributeList
    linkageType: ''
    returnType: int
    signature: int run_tests_parallel_(const char *exe, struct testgroup_t *groups)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libevent/test/tinytest.c:1089,1
    - Dst: stricmp
      Src: /src/libevent/test/tinytest.c:1091,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:1093,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1098,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1100,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1102,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1105,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1105,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1108,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1111,1
    - Dst: usage
      Src: /src/libevent/test/tinytest.c:1112,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1113,1
    - Dst: usage
      Src: /src/libevent/test/tinytest.c:1114,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1115,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1118,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:1121,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1122,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1125,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:1128,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1129,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1132,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:1135,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1136,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1139,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:1142,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1143,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:1143,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1146,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:1149,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1151,1
    - Dst: strncmp
      Src: /src/libevent/test/tinytest.c:1154,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:1155,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1157,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:1161,1
    - Dst: process_test_option
      Src: /src/libevent/test/tinytest.c:1165,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:1172,1
    - Dst: setvbuf
      Src: /src/libevent/test/tinytest.c:1175,1
    - Dst: GetSystemInfo
      Src: /src/libevent/test/tinytest.c:1185,1
    - Dst: sysconf
      Src: /src/libevent/test/tinytest.c:1188,1
    - Dst: run_tests_parallel_
      Src: /src/libevent/test/tinytest.c:1198,1
    - Dst: testcase_run_one
      Src: /src/libevent/test/tinytest.c:1215,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1221,1
    - Dst: Sleep
      Src: /src/libevent/test/tinytest.c:1223,1
    - Dst: sleep
      Src: /src/libevent/test/tinytest.c:1225,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1234,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:1245,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1248,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1251,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 145
    argCount: 3
    argNames:
    - c
    - v
    - groups
    argTypes:
    - int
    - char**
    - struct testgroup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1083
    functionDepth: 5
    functionLinenumber: 1083
    functionLinenumberEnd: 1254
    functionName: tinytest_main
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - process_test_option
    - strrchr
    - setvbuf
    - testcase_run_one
    - run_tests_parallel_
    - tinytest_set_flag_
    - GetSystemInfo
    - sleep
    - fprintf
    - atoi
    - strncmp
    - stricmp
    - printf
    - usage
    - strcmp
    - sysconf
    - snprintf
    - Sleep
    - puts
    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: 1260
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1260
    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:1266,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1271
    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: 1278
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1278
    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:1288,1
    - Dst: malloc
      Src: /src/libevent/test/tinytest.c:1289,1
    - Dst: strdup
      Src: /src/libevent/test/tinytest.c:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - val_
    - len
    argTypes:
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1298
    functionName: tinytest_format_hex_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    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_disable
    - evbuffer_new
    - evbuffer_free
    - assert
    - evbuffer_get_length
    - bufferevent_read_buffer
    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:
    - bufferevent_get_enabled
    - tt_assert
    - bufferevent_get_underlying
    - bufferevent_setcb
    - bufferevent_new
    - bufferevent_write
    - bufferevent_disable
    - event_dispatch
    - tt_fd_op
    - tt_int_op
    - bufferevent_free
    - bufferevent_getcb
    - bufferevent_pair_new
    - bufferevent_getfd
    - tt_ptr_op
    - bufferevent_pair_get_partner
    - bufferevent_flush
    - bufferevent_enable
    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:
    - tt_ptr_op
    - ev_token_bucket_cfg_new
    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_free
    - tt_ptr_op
    - ev_token_bucket_cfg_new
    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:
    - cbs::alloc
    - lu_find
    - realloc
    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:
    - lu_find
    - cbs::free
    - TT_FAIL
    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:
    - lu_find
    - cbs::lock
    - TT_FAIL
    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:
    - lu_find
    - cbs::unlock
    - TT_FAIL
    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
    - event_base_free
    - libevent_global_shutdown
    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:
    - event_init
    - evthread_set_lock_callbacks
    - evthread_enable_lock_debugging
    - lock_unlock_free_thread_cbs
    - evthread_get_lock_callbacks
    - memcpy
    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:
    - free_lock_unlock_profiler
    - bufferevent_free
    - use_lock_unlock_profiler
    - tt_abort_perror
    - bufferevent_pair_new
    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: (len >= 10 && len <= 20)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/libevent/test/regress_bufferevent.c
    - condition: (evbuf != NULL)
      pos:
        line_end: 411
        line_start: 411
        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_disable
    - evbuffer_new
    - evbuffer_free
    - assert
    - evbuffer_get_length
    - bufferevent_read_buffer
    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_get_length
    - evbuffer_drain
    - assert
    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_new
    - bufferevent_setcb
    - bufferevent_write
    - event_pending
    - bufferevent_disable
    - bufferevent_getwatermark
    - bufferevent_setwatermark
    - event_dispatch
    - bufferevent_free
    - bufferevent_pair_new
    - tt_int_op
    - bufferevent_enable
    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_pullup
    - assert
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_drain
    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:
    - bufferevent_write
    - evbuffer_pullup
    - assert
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_drain
    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_get_underlying
    - bufferevent_setcb
    - bufferevent_write
    - bufferevent_disable
    - event_dispatch
    - tt_fd_op
    - bufferevent_filter_new
    - bufferevent_socket_new
    - bufferevent_free
    - bufferevent_pair_new
    - bufferevent_getfd
    - tt_ptr_op
    - bufferevent_enable
    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:
    - TT_BLATHER
    - bufferevent_disable
    - bufferevent_free
    - bufferevent_get_output
    - bufferevent_getfd
    - evbuffer_get_length
    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_BLATHER
    - tt_assert
    - 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
    - socket
    - getsockname
    - htonl
    - memset
    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:
    - TT_BLATHER
    - bufferevent_read
    - perror
    - event_base_loopexit
    - bufferevent_enable
    - tt_str_op
    - bufferevent_getfd
    - tt_int_op
    - TT_FAIL
    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:
    - bufferevent_getfd
    - TT_BLATHER
    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:
    - bufferevent_getfd
    - TT_BLATHER
    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_socket_connect
    - bufferevent_setcb
    - bufferevent_enable
    - event_base_dispatch
    - tt_assert
    - bufferevent_socket_new
    - tt_abort_perror
    - evconnlistener_free
    - event_get_win32_extension_fns_
    - evconnlistener_enable
    - strcmp
    - tt_want
    - htonl
    - memset
    - strstr
    - regress_get_listener_addr
    - bufferevent_free
    - tt_int_op
    - evconnlistener_new_bind
    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:
    - event_base_dispatch
    - bufferevent_socket_connect
    - tt_assert
    - bufferevent_setcb
    - evutil_closesocket
    - evtimer_assign
    - bufferevent_socket_new
    - bufferevent_enable
    - tt_want
    - event_add
    - bufferevent_free
    - evconnlistener_free
    - tt_int_op
    - fake_listener_create
    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:
    - TT_BLATHER
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - event_base_loopexit
    - bufferevent_getfd
    - EV_SOCK_ARG
    - TT_FAIL
    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:
    - event_base_dispatch
    - bufferevent_socket_connect
    - tt_assert
    - bufferevent_setcb
    - evutil_closesocket
    - evtimer_assign
    - bufferevent_socket_new
    - tt_want
    - event_add
    - event_del
    - bufferevent_free
    - tt_int_op
    - fake_listener_create
    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_setcb
    - bufferevent_disable
    - event_base_loopexit
    - tt_assert_timeval_empty
    - bufferevent_enable
    - event_base_dispatch
    - tt_assert
    - bufferevent_write
    - bufferevent_socket_new
    - evutil_gettimeofday
    - bufferevent_pair_new
    - bufferevent_filter_new
    - bufferevent_set_timeouts
    - tt_want
    - memset
    - strstr
    - test_timeval_diff_eq
    - bufferevent_free
    - tt_int_op
    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
    - TT_BLATHER
    - event_base_loopexit
    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:
    - TT_BLATHER
    - event_base_once
    - bufferevent_setcb
    - bufferevent_setwatermark
    - tt_int_op
    - bufferevent_trigger
    - bufferevent_get_input
    - bufferevent_getwatermark
    - bufferevent_getfd
    - evbuffer_get_length
    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:
    - event_base_dispatch
    - bufferevent_socket_connect
    - tt_assert
    - evconnlistener_enable
    - bufferevent_setcb
    - regress_get_listener_addr
    - strstr
    - bufferevent_socket_new
    - tt_want
    - htonl
    - tt_abort_perror
    - memset
    - bufferevent_free
    - evconnlistener_free
    - tt_int_op
    - evconnlistener_new_bind
    - bufferevent_enable
    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:
    - bufferevent_free
    - tt_assert
    - bufferevent_socket_new
    - bufferevent_filter_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_setcb
    - bufferevent_free
    - bufferevent_pair_new
    - event_base_loop
    - bufferevent_flush
    - bufferevent_enable
    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_get_length
    - evbuffer_drain
    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:
    - calloc
    - evbuffer_remove_buffer
    - evbuffer_get_length
    - tt_int_op
    - evbuffer_add
    - free
    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:
    - event_base_dispatch
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - bufferevent_setwatermark
    - bufferevent_filter_new
    - bufferevent_free
    - memset
    - bufferevent_pair_new
    - tt_int_op
    - bufferevent_enable
    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:
    - evbuffer_freeze
    - bufferevent_read
    - evbuffer_get_length
    - event_base_loopexit
    - bufferevent_get_input
    - strlen
    - tt_int_op
    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:
    - event_base_dispatch
    - tt_assert
    - bufferevent_setcb
    - bufferevent_socket_new
    - bufferevent_free
    - strlen
    - tt_int_op
    - write
    - send
    - bufferevent_enable
    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_assign
    - event_initialized
    - fprintf
    - event_add
    - event_del
    - evutil_gettimeofday
    - event_base_loop
    - evutil_timersub
    - send
    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:
    - calloc
    - perror
    - run_once
    - setrlimit
    - fprintf
    - event_base_new
    - atoi
    - getopt
    - event_config_free
    - event_get_supported_methods
    - evutil_socketpair
    - pipe
    - WSAStartup
    - printf
    - strcmp
    - event_base_new_with_config
    - event_get_version
    - exit
    - event_config_new
    - event_config_avoid_method
    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
    - assert
    - deflateEnd
    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
    - assert
    - inflateEnd
    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
    - inflate
    - evbuffer_commit_space
    - getstate
    - evbuffer_reserve_space
    - assert
    - evbuffer_get_length
    - evbuffer_drain
    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_commit_space
    - getstate
    - evbuffer_reserve_space
    - assert
    - deflate
    - evbuffer_get_length
    - evbuffer_drain
    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_disable
    - evbuffer_new
    - evbuffer_free
    - bufferevent_get_input
    - assert
    - evbuffer_get_length
    - bufferevent_read_buffer
    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:
    - evbuffer_get_length
    - bufferevent_get_output
    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:
    - deflateInit
    - evutil_socketpair
    - bufferevent_write
    - bufferevent_setcb
    - inflateInit
    - bufferevent_disable
    - event_dispatch
    - mm_calloc
    - bufferevent_filter_new
    - evutil_closesocket
    - bufferevent_socket_new
    - tt_want
    - tt_abort_perror
    - bufferevent_free
    - tt_ptr_op
    - tt_int_op
    - bufferevent_flush
    - bufferevent_enable
    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
    - fprintf
    - evutil_socket_error_to_string
    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_get_input
    - evbuffer_get_length
    - bufferevent_write
    - bufferevent_read
    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:
    - exit
    - my_perror
    - bufferevent_free
    - event_base_loopbreak
    - bufferevent_get_base
    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_enable
    - evconnlistener_get_base
    - bufferevent_socket_new
    - bufferevent_setcb
    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:
    - event_base_dispatch
    - event_base_free
    - exit
    - my_perror
    - evconnlistener_get_fd
    - getsockname
    - start_client
    - event_base_new
    - puts
    - evconnlistener_free
    - memcpy
    - evconnlistener_new_bind
    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:
    - exit
    - bufferevent_read
    - start_client
    - puts
    - bufferevent_free
    - bufferevent_get_base
    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:
    - puts
    - bufferevent_write
    - exit
    - bufferevent_enable
    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_socket_connect
    - bufferevent_setcb
    - exit
    - my_perror
    - bufferevent_socket_new
    - bufferevent_free
    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
    - WSAStartup
    - my_perror
    - htonl
    - setrlimit
    - memset
    - start_loop
    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:
    - event_init
    - MAKEWORD
    - 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:
    - EVTHREAD_ALLOC_COND
    - EVTHREAD_ALLOC_LOCK
    - tt_assert
    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:
    - EVTHREAD_COND_BROADCAST
    - EVLOCK_UNLOCK
    - 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
    - GetTickCount
    - EVLOCK_LOCK
    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:
    - event_iocp_shutdown_
    - tt_assert
    - pair_is_in
    - event_overlapped_init_
    - count_init
    - EVTHREAD_FREE_LOCK
    - tt_want
    - count_free
    - memset
    - event_iocp_activate_overlapped_
    - count_wait_for
    - event_iocp_port_launch_
    - tt_int_op
    - EVTHREAD_ALLOC_LOCK
    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:
    - evbuffer_commit_read_
    - tt_assert
    - 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:
    - evbuffer_commit_write_
    - tt_assert
    - 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:
    - event_iocp_shutdown_
    - evbuffer_add_buffer
    - evbuffer_enable_locking
    - evbuffer_free
    - tt_assert
    - count_init
    - event_iocp_port_associate_
    - count_free
    - count_wait_for
    - evbuffer_get_length
    - event_overlapped_init_
    - evbuffer_new
    - tt_want
    - evbuffer_overlapped_new_
    - evbuffer_add
    - evbuffer_launch_write_
    - event_iocp_port_launch_
    - tt_int_op
    - evbuffer_launch_read_
    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:
    - event_base_dispatch
    - tt_assert
    - bufferevent_write
    - bufferevent_async_new_
    - bufferevent_setcb
    - event_base_start_iocp_
    - bufferevent_read
    - event_base_get_iocp_
    - tt_str_op
    - bufferevent_free
    - strlen
    - tt_int_op
    - bufferevent_enable
    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:
    - evwatch_prepare_get_timeout
    - event_base_gettimeofday_cached
    - tt_int_op
    - evwatch_base
    - 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_ptr_op
    - tt_int_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_ptr_op
    - event_base_gettimeofday_cached
    - evwatch_base
    - tt_int_op
    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_ptr_op
    - tt_int_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:
    - event_base_dispatch
    - event_base_once
    - evwatch_free
    - evwatch_check_new
    - evwatch_prepare_new
    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:
    - evwatch_prepare_get_timeout
    - tt_int_op
    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:
    - event_base_dispatch
    - evwatch_prepare_new
    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
    - tt_ptr_op
    - evwatch_prepare_new
    - event_set_mem_functions
    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_config_new
    - event_config_set_flag
    - event_base_new_with_config
    - event_base_new
    - event_config_free
    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:
    - evutil_timeradd
    - exit
    - perror
    - 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:
    - evtimer_pending
    - exit
    - perror
    - evutil_gettimeofday
    - evutil_timersub
    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:
    - set_timer
    - remaining
    - init_test
    - evutil_usleep_
    - cleanup_test
    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_int_op
    - strstr
    - test_with_flags
    - tt_fail_msg
    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: 37
    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: 42
    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:
    - event_add
    - exit
    - read
    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:
    - tt_fail_perror
    - event_base_loopexit
    - event_del
    - read
    - 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:
    - strlen
    - write
    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:
    - exit
    - fprintf
    - event_del
    - event_add
    - shutdown
    - write
    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
    - fprintf
    - event_del
    - event_add
    - read
    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:
    - fprintf
    - event_add
    - exit
    - read
    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:
    - exit
    - fprintf
    - event_add
    - shutdown
    - memset
    - write
    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:
    - tt_fail_perror
    - setup_test
    - exit
    - event_dispatch
    - event_add
    - shutdown
    - event_set
    - cleanup_test
    - strlen
    - write
    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:
    - setup_test
    - exit
    - event_dispatch
    - event_add
    - event_set
    - cleanup_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:
    - tt_fail_perror
    - setup_test
    - exit
    - event_dispatch
    - event_add
    - shutdown
    - event_set
    - cleanup_test
    - strlen
    - write
    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:
    - evutil_closesocket
    - TT_BLATHER
    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:
    - event_base_free
    - evutil_socket_geterror
    - evutil_closesocket
    - strerror
    - event_base_loopexit
    - event_new
    - event_free
    - tt_assert
    - evutil_socket_error_to_string
    - evutil_make_socket_nonblocking
    - event_base_new
    - event_base_loop
    - TT_BLATHER
    - evutil_socketpair
    - EVUTIL_ERR_RW_RETRIABLE
    - memset
    - TT_DIE
    - event_add
    - tt_int_op
    - write
    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:
    - event_free
    - tt_assert
    - evutil_closesocket
    - event_add
    - event_base_loopexit
    - shutdown
    - tt_skip
    - tt_abort_msg
    - event_base_get_features
    - event_new
    - event_base_loop
    - tt_int_op
    - strstr
    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:
    - setup_test
    - exit
    - event_dispatch
    - event_add
    - event_set
    - memset
    - cleanup_test
    - memcmp
    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:
    - setup_test
    - exit
    - event_dispatch
    - event_add
    - event_set
    - memset
    - cleanup_test
    - memcmp
    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:
    - setup_test
    - tt_assert
    - event_dispatch
    - event_add
    - event_set
    - memset
    - cleanup_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:
    - setup_test
    - test_timeval_diff_eq
    - event_dispatch
    - evtimer_add
    - evutil_gettimeofday
    - evtimer_set
    - cleanup_test
    - evutil_timerclear
    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_assign
    - event_dispatch
    - event_del
    - 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_dispatch
    - event_assign
    - event_add
    - event_base_loopexit
    - event_del
    - evutil_usleep_
    - tt_int_op
    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_dispatch
    - event_base_once
    - event_assign
    - test_timeval_diff_eq
    - event_add
    - event_base_loopexit
    - evutil_gettimeofday
    - event_del
    - memset
    - tt_int_op
    - event_base_assert_ok_
    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:
    - event_del
    - evutil_gettimeofday
    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:
    - event_base_dispatch
    - event_base_init_common_timeout
    - event_base_free
    - tt_assert
    - event_assign
    - test_timeval_diff_eq
    - event_add
    - tt_int_op
    - evutil_gettimeofday
    - memset
    - tt_ptr_op
    - event_base_assert_ok_
    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:
    - tt_fail_perror
    - exit
    - event_add
    - write
    - read
    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_base_free
    - evutil_closesocket
    - shutdown
    - kill
    - evthread_make_base_notifiable
    - event_reinit
    - event_base_assert_ok_
    - read
    - tt_assert
    - evutil_make_socket_nonblocking
    - fprintf
    - getpid
    - tt_fail_perror
    - TT_BLATHER
    - regress_fork
    - evutil_socketpair
    - fork_wait_check
    - evsignal_set
    - setup_test
    - evsignal_add
    - exit
    - event_dispatch
    - event_add
    - event_set
    - evsignal_del
    - cleanup_test
    - strlen
    - tt_int_op
    - write
    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:
    - signal
    - evsignal_add
    - setitimer
    - event_dispatch
    - evsignal_set
    - memset
    - evsignal_del
    - cleanup_test
    - tt_int_op
    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: 4
    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:
    - evsignal_add
    - getpid
    - evsignal_new
    - event_self_cbarg
    - kill
    - event_base_loop
    - tt_int_op
    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:
    - signal
    - setup_test
    - evsignal_add
    - setitimer
    - event_dispatch
    - evsignal_set
    - memset
    - evsignal_del
    - cleanup_test
    - tt_int_op
    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_add
    - getpid
    - evsignal_set
    - event_loop
    - evsignal_del
    - kill
    - cleanup_test
    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:
    - evsignal_add
    - evsignal_set
    - event_loop
    - evsignal_del
    - cleanup_test
    - tt_int_op
    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
    - evsignal_add
    - event_init
    - evsignal_set
    - evsignal_del
    - cleanup_test
    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
    - printf
    - close
    - cleanup_test
    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_get_signal_method
    - event_base_free
    - exit
    - event_get_base
    - event_init
    - fprintf
    - evsignal_set
    - strcmp
    - event_add
    - tt_skip
    - getpid
    - kill
    - cleanup_test
    - event_base_loop
    - tt_ptr_op
    - event_get_method
    - event_base_set
    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
    - evsignal_add
    - event_init
    - getpid
    - evsignal_set
    - evsignal_del
    - kill
    - cleanup_test
    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:
    - signal
    - sigemptyset
    - evsignal_add
    - event_base_free
    - event_init
    - getpid
    - evsignal_set
    - evsignal_del
    - kill
    - cleanup_test
    - sigaction
    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:
    - event_loopexit
    - getpid
    - kill
    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:
    - event_loopexit
    - getpid
    - evtimer_add
    - kill
    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:
    - setup_test
    - event_base_free
    - signal_set
    - event_init
    - event_dispatch
    - signal_add
    - evtimer_add
    - evtimer_set
    - cleanup_test
    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:
    - test_timeval_diff_eq
    - event_dispatch
    - THREAD_RETURN
    - evutil_gettimeofday
    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:
    - evutil_usleep_
    - TT_BLATHER
    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:
    - tt_fail_perror
    - setup_test
    - test_timeval_diff_eq
    - event_add
    - evutil_gettimeofday
    - event_del
    - evutil_usleep_
    - event_set
    - THREAD_START
    - strlen
    - tt_int_op
    - write
    - 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_add
    - event_del
    - evutil_usleep_
    - event_set
    - 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:
    - event_base_free
    - tt_assert
    - event_assign
    - event_init
    - event_add
    - event_active
    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:
    - event_assign
    - event_pending
    - event_del
    - event_active
    - tt_int_op
    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_get_base
    - event_base_get_running_event
    - event_base_loopexit
    - tt_want
    - event_base_assert_ok_
    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_base_dispatch
    - event_free
    - event_active
    - event_self_cbarg
    - event_new
    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_base_dispatch
    - event_active
    - event_assign
    - event_self_cbarg
    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:
    - event_base_get_num_events
    - event_assign
    - event_base_add_virtual_
    - event_add
    - event_self_cbarg
    - event_active
    - event_base_loop
    - tt_int_op
    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:
    - event_assign
    - event_base_add_virtual_
    - event_del
    - event_add
    - event_self_cbarg
    - event_active
    - event_base_get_max_events
    - event_base_loop
    - tt_int_op
    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:
    - tt_int_op
    - event_assign
    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_base_loop
    - tt_int_op
    - event_assign
    - event_active
    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:
    - event_free
    - TT_BLATHER
    - event_base_free
    - tt_assert
    - event_assign
    - event_active_later_
    - event_add
    - event_base_loopexit
    - event_del
    - event_active
    - event_new
    - event_base_loop
    - tt_int_op
    - 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:
    - tt_fail_perror
    - write
    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:
    - tt_int_op
    - event_del
    - read
    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:
    - event_base_dispatch
    - event_free
    - evtimer_new
    - tt_assert
    - event_add
    - event_new
    - tt_int_op
    - event_base_assert_ok_
    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:
    - event_free
    - tt_assert
    - event_add
    - event_active
    - evutil_usleep_
    - event_new
    - event_base_loop
    - tt_int_op
    - 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:
    - event_base_dispatch
    - THREAD_RETURN
    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:
    - event_free
    - event_add
    - evutil_gettimeofday
    - event_del
    - evutil_usleep_
    - timeval_msec_diff
    - THREAD_START
    - event_new
    - tt_int_op
    - THREAD_JOIN
    - event_base_assert_ok_
    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:
    - event_base_free
    - tt_abort_printf
    - event_assign
    - event_base_loop
    - event_add
    - shutdown
    - event_base_new
    - tt_abort_perror
    - tt_abort_msg
    - strlen
    - write
    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:
    - setup_test
    - tt_assert
    - event_base_got_exit
    - test_timeval_diff_eq
    - event_dispatch
    - evtimer_add
    - evutil_gettimeofday
    - evtimer_set
    - evtimer_del
    - cleanup_test
    - event_loopexit
    - event_base_got_break
    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:
    - event_base_dispatch
    - setup_test
    - tt_assert
    - event_base_got_exit
    - event_base_free
    - test_timeval_diff_eq
    - event_base_loopexit
    - evutil_gettimeofday
    - event_base_new
    - cleanup_test
    - event_base_got_break
    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:
    - setup_test
    - tt_assert
    - event_base_got_exit
    - event_dispatch
    - evtimer_add
    - evtimer_del
    - evtimer_set
    - cleanup_test
    - event_base_got_break
    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:
    - tt_fail_perror
    - event_get_base
    - event_add
    - event_base_loopbreak
    - read
    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
    - event_assign
    - event_pending
    - event_initialized
    - event_add
    - event_del
    - memset
    - event_base_loop
    - tt_int_op
    - write
    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:
    - TT_BLATHER
    - event_priority_set
    - exit
    - event_base_priority_init
    - event_dispatch
    - fprintf
    - event_add
    - event_del
    - memset
    - timeout_set
    - evutil_timerclear
    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:
    - event_base_dispatch
    - event_assign
    - event_priority_set
    - event_base_priority_init
    - event_active
    - memset
    - tt_int_op
    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:
    - tt_fail_perror
    - setup_test
    - event_add
    - event_del
    - event_loop
    - event_set
    - cleanup_test
    - strlen
    - write
    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:
    - tt_fail_perror
    - strlen
    - write
    - read
    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:
    - tt_fail_perror
    - setup_test
    - exit
    - event_dispatch
    - event_add
    - event_set
    - event_loopexit
    - cleanup_test
    - strlen
    - write
    - evutil_timerclear
    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_BLATHER
    - tt_assert
    - EVBUFFER_LENGTH
    - tt_uint_op
    - evtag_decode_int64
    - evtag_init
    - evbuffer_new
    - evbuffer_free
    - evtag_encode_int64
    - evtag_encode_int
    - evtag_decode_int
    - tt_int_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:
    - evtag_init
    - test_weakrand
    - EVBUFFER_DATA
    - evbuffer_new
    - evtag_unmarshal_timeval
    - evbuffer_free
    - evtag_marshal_timeval
    - tt_abort_msg
    - evbuffer_add
    - tt_int_op
    - evbuffer_drain
    - evutil_timerclear
    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_BLATHER
    - EVBUFFER_LENGTH
    - evtag_decode_tag
    - evtag_encode_tag
    - evtag_init
    - tt_uint_op
    - evbuffer_new
    - evbuffer_free
    - tt_int_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:
    - evtag_peek
    - evtag_marshal_int
    - evtag_consume
    - evbuffer_new
    - evtag_payload_length
    - evbuffer_free
    - evtag_marshal_string
    - tt_int_op
    - evtag_peek_length
    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:
    - event_get_supported_methods
    - TT_BLATHER
    - event_base_free
    - tt_assert
    - event_base_get_method
    - event_config_new
    - event_config_set_flag
    - event_base_new_with_config
    - tt_str_op
    - assert
    - event_config_free
    - tt_int_op
    - event_config_avoid_method
    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
    - sscanf
    - event_get_version_number
    - tt_str_op
    - event_get_version
    - tt_int_op
    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_assert
      Src: /src/libevent/test/regress.c:2822,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2823,1
    - Dst: event_base_get_features
      Src: /src/libevent/test/regress.c:2823,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2828,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2806
    functionDepth: 6
    functionLinenumber: 2806
    functionLinenumberEnd: 2831
    functionName: test_base_features
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - tt_assert
    - event_config_new
    - event_base_new_with_config
    - event_base_new
    - event_base_get_features
    - event_config_require_features
    - tt_int_op
    - event_config_free
    linkageType: ''
    returnType: void
    signature: void test_base_features(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress.c:2839,1
    - Dst: putenv
      Src: /src/libevent/test/regress.c:2840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - k
    - v
    - o_
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2836
    functionDepth: 2
    functionLinenumber: 2836
    functionLinenumberEnd: 2841
    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:2851,1
    - Dst: putenv
      Src: /src/libevent/test/regress.c:2852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2848
    functionDepth: 2
    functionLinenumber: 2848
    functionLinenumberEnd: 2853
    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:2862,1
    - Dst: EVUTIL_TOUPPER_
      Src: /src/libevent/test/regress.c:2864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mname
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2858
    functionDepth: 2
    functionLinenumber: 2858
    functionLinenumberEnd: 2866
    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:2882,1
    - Dst: unsetenv
      Src: /src/libevent/test/regress.c:2883,1
    - Dst: getenv
      Src: /src/libevent/test/regress.c:2884,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress.c:2886,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress.c:2888,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:2890,1
    - Dst: event_get_supported_methods
      Src: /src/libevent/test/regress.c:2893,1
    - Dst: methodname_to_envvar
      Src: /src/libevent/test/regress.c:2895,1
    - Dst: unsetenv
      Src: /src/libevent/test/regress.c:2896,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress.c:2900,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2901,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2903,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:2904,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2905,1
    - Dst: strcmp
      Src: /src/libevent/test/regress.c:2909,1
    - Dst: setenv
      Src: /src/libevent/test/regress.c:2910,1
    - Dst: methodname_to_envvar
      Src: /src/libevent/test/regress.c:2913,1
    - Dst: setenv
      Src: /src/libevent/test/regress.c:2914,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:2919,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:2920,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2921,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2924,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2926,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress.c:2927,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2927,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2928,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:2933,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/regress.c:2934,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:2935,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2936,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress.c:2937,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2937,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:2939,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2944,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2946,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2869
    functionDepth: 6
    functionLinenumber: 2869
    functionLinenumberEnd: 2947
    functionName: test_base_environ
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_get_supported_methods
    - TT_BLATHER
    - event_base_free
    - tt_assert
    - event_base_get_method
    - event_config_new
    - event_config_set_flag
    - strcmp
    - tt_skip
    - getenv
    - event_base_new
    - event_base_new_with_config
    - TT_DECLARE
    - tt_str_op
    - methodname_to_envvar
    - setenv
    - unsetenv
    - event_config_free
    linkageType: ''
    returnType: void
    signature: void test_base_environ(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2956
    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:2961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 2965
    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:2970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2974
    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:2986,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2988,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2989,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2991,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2992,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2993,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2994,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2996,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2999,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3001,1
    - Dst: write
      Src: /src/libevent/test/regress.c:3003,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:3003,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:3004,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:3007,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:3009,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 2976
    functionDepth: 2
    functionLinenumber: 2976
    functionLinenumberEnd: 3014
    functionName: test_event_once
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_fail_perror
    - event_base_dispatch
    - event_base_once
    - shutdown
    - strlen
    - tt_int_op
    - write
    linkageType: ''
    returnType: void
    signature: void test_event_once(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:3026,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:3032,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:3034,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3016
    functionDepth: 2
    functionLinenumber: 3016
    functionLinenumberEnd: 3039
    functionName: test_event_once_never
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_base_once
    - event_base_loopexit
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_event_once_never(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3050,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3052,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress.c:3054,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3056,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3057,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3058,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:3060,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3061,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3062,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:3070,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3070,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3072,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress.c:3072,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:3074,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3078,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3079,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3082,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3083,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3086,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3041
    functionDepth: 5
    functionLinenumber: 3041
    functionLinenumberEnd: 3089
    functionName: test_event_pending
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - evtimer_new
    - tt_assert
    - test_timeval_diff_eq
    - event_add
    - evutil_gettimeofday
    - event_del
    - event_new
    - event_pending
    - evutil_timercmp
    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: 3095
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3095
    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:3105,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:3105,1
    - Dst: tinytest_set_test_skipped_
      Src: /src/libevent/test/regress.c:3106,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3110,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3111,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3115,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3116,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3116,1
    - Dst: close
      Src: /src/libevent/test/regress.c:3117,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3119,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3120,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3124,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3097
    functionDepth: 6
    functionLinenumber: 3097
    functionLinenumberEnd: 3127
    functionName: test_event_closed_fd_poll
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - tt_assert
    - event_base_get_method
    - event_add
    - strcmp
    - tt_int_op
    - event_del
    - close
    - event_new
    - event_base_loop
    - event_pending
    - 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:3144,1
    - Dst: write
      Src: /src/libevent/test/regress.c:3144,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:3145,1
    - Dst: dup
      Src: /src/libevent/test/regress.c:3148,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3149,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3151,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3152,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3153,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3154,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3156,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3157,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3158,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3159,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3160,1
    - Dst: close
      Src: /src/libevent/test/regress.c:3165,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3166,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3168,1
    - Dst: tt_want_int_op
      Src: /src/libevent/test/regress.c:3169,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3170,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3177,1
    - Dst: dup2
      Src: /src/libevent/test/regress.c:3177,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3178,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3179,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3180,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3181,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3183,1
    - Dst: tt_want_int_op
      Src: /src/libevent/test/regress.c:3184,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3185,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3189,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3191,1
    - Dst: close
      Src: /src/libevent/test/regress.c:3193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3135
    functionDepth: 6
    functionLinenumber: 3135
    functionLinenumberEnd: 3194
    functionName: test_dup_fd
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - dup2
    - event_free
    - tt_assert
    - tt_want_int_op
    - event_base_loop
    - dup
    - event_add
    - event_del
    - close
    - event_new
    - strlen
    - tt_int_op
    - write
    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:3201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3198
    functionDepth: 0
    functionLinenumber: 3198
    functionLinenumberEnd: 3202
    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:3209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3210
    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:3215,1
    - Dst: memcpy
      Src: /src/libevent/test/regress.c:3216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3212
    functionDepth: 1
    functionLinenumber: 3212
    functionLinenumberEnd: 3218
    functionName: dummy_malloc
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      dummy_malloc(size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_malloc
      Src: /src/libevent/test/regress.c:3225,1
    - Dst: tt_want
      Src: /src/libevent/test/regress.c:3226,1
    - Dst: check_dummy_mem_ok
      Src: /src/libevent/test/regress.c:3226,1
    - Dst: realloc
      Src: /src/libevent/test/regress.c:3228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mem_
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3220
    functionDepth: 2
    functionLinenumber: 3220
    functionLinenumberEnd: 3230
    functionName: dummy_realloc
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - dummy_malloc
    - check_dummy_mem_ok
    - realloc
    - tt_want
    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:3236,1
    - Dst: check_dummy_mem_ok
      Src: /src/libevent/test/regress.c:3236,1
    - Dst: free
      Src: /src/libevent/test/regress.c:3238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3232
    functionDepth: 1
    functionLinenumber: 3232
    functionLinenumberEnd: 3239
    functionName: dummy_free
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - check_dummy_mem_ok
    - free
    - tt_want
    linkageType: ''
    returnType: void
    signature: void dummy_free(void *mem_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress.c:3246,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:3247,1
    - Dst: event_config_avoid_method
      Src: /src/libevent/test/regress.c:3248,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:3249,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3250,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3251,1
    - Dst: check_dummy_mem_ok
      Src: /src/libevent/test/regress.c:3251,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:3254,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:3256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3257
      start: 3241
    functionDepth: 6
    functionLinenumber: 3241
    functionLinenumberEnd: 3257
    functionName: test_mm_functions
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - tt_assert
    - event_config_new
    - check_dummy_mem_ok
    - event_base_new_with_config
    - event_config_free
    - event_config_avoid_method
    - event_set_mem_functions
    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: 3265
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3265
    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:3289,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:3290,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:3291,1
    - Dst: socket
      Src: /src/libevent/test/regress.c:3297,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3298,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3299,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress.c:3299,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3301,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3303,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3304,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3306,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3309,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3313,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3315,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3321,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:3323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3267
    functionDepth: 6
    functionLinenumber: 3267
    functionLinenumberEnd: 3326
    functionName: test_many_events
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - tt_assert
    - evutil_make_socket_nonblocking
    - evutil_closesocket
    - socket
    - event_add
    - memset
    - event_new
    - event_base_loop
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_many_events(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3331,1
    - Dst: event_get_struct_event_size
      Src: /src/libevent/test/regress.c:3331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3328
    functionDepth: 1
    functionLinenumber: 3328
    functionLinenumberEnd: 3334
    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:3350,1
    - Dst: event_get_assignment
      Src: /src/libevent/test/regress.c:3351,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3353,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress.c:3354,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3355,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3356,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3357,1
    - Dst: event_get_assignment
      Src: /src/libevent/test/regress.c:3360,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3336
    functionDepth: 5
    functionLinenumber: 3336
    functionLinenumberEnd: 3365
    functionName: test_get_assignment
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - tt_fd_op
    - tt_int_op
    - event_get_assignment
    - event_new
    - tt_ptr_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:3375,1
    - Dst: event_get_callback
      Src: /src/libevent/test/regress.c:3377,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3379,1
    - Dst: event_get_base
      Src: /src/libevent/test/regress.c:3379,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3380,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: 3386
      start: 3372
    functionDepth: 4
    functionLinenumber: 3372
    functionLinenumberEnd: 3386
    functionName: foreach_count_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_get_base
    - event_get_callback_arg
    - tt_int_op
    - event_get_callback
    - tt_ptr_op
    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:3392,1
    - Dst: event_get_callback
      Src: /src/libevent/test/regress.c:3393,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: 3400
      start: 3388
    functionDepth: 4
    functionLinenumber: 3388
    functionLinenumberEnd: 3400
    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:3416,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3417,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: tt_int_op
      Src: /src/libevent/test/regress.c:3421,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3421,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3423,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3424,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3425,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3426,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3427,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3430,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3430,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_int_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_ptr_op
      Src: /src/libevent/test/regress.c:3439,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3442,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3442,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3444,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3402
    functionDepth: 5
    functionLinenumber: 3402
    functionLinenumberEnd: 3450
    functionName: test_event_foreach
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - tt_assert
    - event_base_foreach_event
    - event_add
    - event_active
    - event_new
    - tt_ptr_op
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_event_foreach(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3459,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/test/regress.c:3459,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:3462,1
    - Dst: event_base_update_cache_time
      Src: /src/libevent/test/regress.c:3465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3455
    functionDepth: 4
    functionLinenumber: 3455
    functionLinenumberEnd: 3469
    functionName: cache_time_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evutil_usleep_
    - tt_int_op
    - event_base_gettimeofday_cached
    - event_base_update_cache_time
    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:3479,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:3481,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/regress.c:3483,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:3485,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3486,1
    - Dst: evutil_gettimeofday
      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: event_base_gettimeofday_cached
      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: tt_int_op
      Src: /src/libevent/test/regress.c:3493,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3493,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:3495,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:3496,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_new
      Src: /src/libevent/test/regress.c:3500,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_active
      Src: /src/libevent/test/regress.c:3504,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:3506,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:3510,1
    - Dst: labs
      Src: /src/libevent/test/regress.c:3510,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3510,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_int_op
      Src: /src/libevent/test/regress.c:3513,1
    - Dst: labs
      Src: /src/libevent/test/regress.c:3513,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3513,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3515,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress.c:3515,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3516,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress.c:3516,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3521,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3523,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3525,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:3527,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:3529,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3471
    functionDepth: 6
    functionLinenumber: 3471
    functionLinenumberEnd: 3530
    functionName: test_gettimeofday_cached
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_free
    - event_base_free
    - tt_assert
    - labs
    - event_config_new
    - event_config_set_flag
    - event_base_gettimeofday_cached
    - evutil_gettimeofday
    - event_active
    - event_base_new_with_config
    - timeval_msec_diff
    - event_new
    - event_config_free
    - tt_int_op
    - strstr
    - evutil_timercmp
    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: 3538
      start: 3532
    functionDepth: 0
    functionLinenumber: 3532
    functionLinenumberEnd: 3538
    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:3552,1
    - Dst: evsignal_new
      Src: /src/libevent/test/regress.c:3553,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3554,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3555,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3556,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3557,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3558,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3559,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3561,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3562,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3563,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3564,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3565,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3566,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3567,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3568,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3572,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3573,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3575,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3540
    functionDepth: 5
    functionLinenumber: 3540
    functionLinenumberEnd: 3578
    functionName: test_evmap_invalid_slots
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - tt_assert
    - event_add
    - evsignal_new
    - event_new
    - tt_int_op
    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:3594,1
    - Dst: event_base_active_by_fd
      Src: /src/libevent/test/regress.c:3597,1
    - Dst: event_base_active_by_signal
      Src: /src/libevent/test/regress.c:3600,1
    - Dst: event_base_active_by_signal
      Src: /src/libevent/test/regress.c:3601,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:3603,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: event_new
      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: tt_assert
      Src: /src/libevent/test/regress.c:3613,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3615,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3616,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3617,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_add
      Src: /src/libevent/test/regress.c:3623,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:3626,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_fd
      Src: /src/libevent/test/regress.c:3631,1
    - Dst: event_base_active_by_signal
      Src: /src/libevent/test/regress.c:3633,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:3636,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3638,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:3642,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3644,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3646,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3651,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3653,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3655,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3657,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3580
    functionDepth: 6
    functionLinenumber: 3580
    functionLinenumberEnd: 3662
    functionName: test_active_by_fd
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    - tt_assert
    - event_add
    - event_base_active_by_fd
    - event_new
    - event_base_loop
    - tt_int_op
    - event_base_active_by_signal
    - 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:
    - event_errx
    - evhttp_bound_socket_get_fd
    - evhttp_new
    - regress_get_socket_port
    - evhttp_bind_socket_with_handle
    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
    - assert
    - evrpc_free
    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
    - fprintf
    - exit
    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:
    - evhttp_request_new
    - rpc_setup
    - evhttp_free
    - tt_assert
    - evhttp_connection_new
    - evbuffer_add_printf
    - event_dispatch
    - evhttp_connection_free
    - tt_abort
    - evhttp_make_request
    - rpc_teardown
    - evhttp_add_header
    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_new
    - fprintf
    - kill_free
    - kill_unmarshal
    - event_loopexit
    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:
    - evhttp_request_new
    - rpc_setup
    - evhttp_free
    - tt_assert
    - exit
    - evhttp_connection_new
    - event_dispatch
    - fprintf
    - msg_marshal
    - evhttp_connection_free
    - evhttp_make_request
    - EVTAG_ASSIGN
    - msg_free
    - rpc_teardown
    - msg_new
    - evhttp_add_header
    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_new
    - evhttp_connection_new
    - assert
    - evrpc_pool_add_connection
    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: (header)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (strcmp(header, "ran") == 0)
      pos:
        line_end: 335
        line_start: 335
        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:
    - evhttp_find_header
    - fprintf
    - EVTAG_GET
    - strcmp
    - assert
    - event_loopexit
    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:
    - event_loopexit
    - fprintf
    - EVTAG_GET
    - strcmp
    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:
    - evrpc_hook_get_connection
    - assert
    - strcmp
    - evhttp_add_header
    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:
    - evrpc_hook_find_meta
    - evhttp_remove_header
    - evhttp_find_header
    - evrpc_hook_get_connection
    - strcmp
    - assert
    - evhttp_add_header
    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(pool, EVRPC_OUTPUT, rpc_hook_add_meta, NULL))
      pos:
        line_end: 466
        line_start: 466
        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(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
    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:
    - evrpc_add_hook
    - rpc_pool_with_connection
    - rpc_setup
    - kill_clear
    - tt_assert
    - evhttp_free
    - EVRPC_MAKE_REQUEST
    - kill_new
    - event_dispatch
    - EVRPC_MAKE_CTX
    - evrpc_make_request
    - kill_free
    - assert
    - EVTAG_ASSIGN
    - msg_free
    - evrpc_pool_free
    - rpc_teardown
    - msg_new
    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:
    - rpc_pool_with_connection
    - rpc_setup
    - evhttp_free
    - tt_assert
    - EVRPC_MAKE_REQUEST
    - kill_new
    - event_dispatch
    - kill_free
    - EVTAG_ASSIGN
    - msg_free
    - evrpc_pool_free
    - rpc_teardown
    - msg_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:
    - event_once
    - malloc
    - memset
    - assert
    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(base, EVRPC_INPUT, rpc_hook_pause, base))
      pos:
        line_end: 641
        line_start: 641
        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(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
    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:
    - evrpc_add_hook
    - rpc_pool_with_connection
    - rpc_setup
    - evhttp_free
    - tt_assert
    - EVRPC_MAKE_REQUEST
    - kill_new
    - event_dispatch
    - kill_free
    - assert
    - EVTAG_ASSIGN
    - msg_free
    - evrpc_pool_free
    - tt_int_op
    - rpc_teardown
    - msg_new
    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:
    - rpc_pool_with_connection
    - rpc_setup
    - evhttp_free
    - tt_assert
    - EVRPC_REQUEST_DONE
    - EVRPC_MAKE_REQUEST
    - kill_new
    - event_dispatch
    - evrpc_pool_set_timeout
    - kill_free
    - EVTAG_ASSIGN
    - msg_free
    - evrpc_pool_free
    - rpc_teardown
    - msg_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_uint_op
    - EVTAG_GET
    - evbuffer_free
    - msg_free
    - evtag_peek
    - EVTAG_ARRAY_LEN
    - tt_assert
    - EVTAG_ARRAY_GET
    - evutil_gettimeofday
    - tt_abort_msg
    - EVTAG_ARRAY_ADD_VALUE
    - evutil_timersub
    - TT_BLATHER
    - EVTAG_HAS
    - evbuffer_new
    - strcmp
    - msg_new
    - TT_DIE
    - msg_complete
    - evtag_marshal_msg
    - EVTAG_ARRAY_ADD
    - EVTAG_ASSIGN
    - tt_int_op
    - evtag_unmarshal_msg
    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:
    - evhttp_request_new
    - rpc_setup
    - evhttp_free
    - tt_assert
    - evhttp_connection_new
    - evbuffer_add_printf
    - event_dispatch
    - evhttp_connection_free
    - tt_abort
    - evhttp_make_request
    - rpc_teardown
    - evhttp_add_header
    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_add
    - evtimer_del
    - 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_dispatch
    - event_free
    - evtimer_new
    - event_base_free
    - event_enable_debug_logging
    - WSAStartup
    - evutil_weakrand_seed_
    - printf
    - evtimer_add
    - event_self_cbarg
    - event_base_new
    - getenv
    - rand_int
    - MAKEWORD
    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: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    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:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - m
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:138,1
    - Dst: snprintf
      Src: /src/libevent/test/regress_main.c:144,1
    - Dst: umask
      Src: /src/libevent/test/regress_main.c:146,1
    - Dst: mkstemp
      Src: /src/libevent/test/regress_main.c:148,1
    - Dst: write
      Src: /src/libevent/test/regress_main.c:151,1
    - Dst: close
      Src: /src/libevent/test/regress_main.c:152,1
    - Dst: unlink
      Src: /src/libevent/test/regress_main.c:153,1
    - Dst: lseek
      Src: /src/libevent/test/regress_main.c:156,1
    - Dst: strdup
      Src: /src/libevent/test/regress_main.c:157,1
    - Dst: GetTempPathW
      Src: /src/libevent/test/regress_main.c:168,1
    - Dst: GetLongPathNameW
      Src: /src/libevent/test/regress_main.c:171,1
    - Dst: GetTempFileNameW
      Src: /src/libevent/test/regress_main.c:175,1
    - Dst: GetLastError
      Src: /src/libevent/test/regress_main.c:177,1
    - Dst: CreateFileW
      Src: /src/libevent/test/regress_main.c:180,1
    - Dst: WideCharToMultiByte
      Src: /src/libevent/test/regress_main.c:188,1
    - Dst: strdup
      Src: /src/libevent/test/regress_main.c:191,1
    - Dst: WriteFile
      Src: /src/libevent/test/regress_main.c:192,1
    - Dst: _open_osfhandle
      Src: /src/libevent/test/regress_main.c:194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - data
    - datalen
    - filename_out
    argTypes:
    - void*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 196
    functionName: regress_make_tmpfile
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - CreateFileW
    - unlink
    - GetLastError
    - lseek
    - GetLongPathNameW
    - WriteFile
    - mkstemp
    - strdup
    - GetTempPathW
    - GetTempFileNameW
    - getenv
    - WideCharToMultiByte
    - write
    - close
    - _open_osfhandle
    - umask
    - snprintf
    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:202,1
    - Dst: vproc_transaction_begin
      Src: /src/libevent/test/regress_main.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 207
    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: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    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:223,1
    - Dst: thread_policy_set
      Src: /src/libevent/test/regress_main.c:235,1
    - Dst: pthread_mach_thread_np
      Src: /src/libevent/test/regress_main.c:235,1
    - Dst: mach_error
      Src: /src/libevent/test/regress_main.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: move_pthread_to_realtime_scheduling_class
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - thread_policy_set
    - mach_error
    - pthread_mach_thread_np
    - 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:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - THREAD_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    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:269,1
    - Dst: thread_setup
      Src: /src/libevent/test/regress_main.c:271,1
    - Dst: thread_setup
      Src: /src/libevent/test/regress_main.c:273,1
    - Dst: THREAD_SELF
      Src: /src/libevent/test/regress_main.c:273,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_main.c:283,1
    - Dst: evthread_use_pthreads_with_flags
      Src: /src/libevent/test/regress_main.c:291,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:292,1
    - Dst: evthread_use_windows_threads
      Src: /src/libevent/test/regress_main.c:294,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:295,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_main.c:302,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_main.c:303,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:304,1
    - Dst: event_init
      Src: /src/libevent/test/regress_main.c:309,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_main.c:311,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:313,1
    - Dst: event_base_start_iocp_
      Src: /src/libevent/test/regress_main.c:316,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_main.c:317,1
    - Dst: evdns_set_log_fn
      Src: /src/libevent/test/regress_main.c:323,1
    - Dst: evdns_init
      Src: /src/libevent/test/regress_main.c:324,1
    - Dst: event_set_log_callback
      Src: /src/libevent/test/regress_main.c:329,1
    - Dst: calloc
      Src: /src/libevent/test/regress_main.c:331,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:333,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 253
    functionDepth: 10
    functionLinenumber: 253
    functionLinenumberEnd: 339
    functionName: basic_test_setup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - THREAD_SELF
    - evthread_use_windows_threads
    - evutil_socketpair
    - event_base_free
    - exit
    - evdns_set_log_fn
    - event_init
    - event_enable_debug_mode
    - event_base_start_iocp_
    - calloc
    - thread_setup
    - fprintf
    - evdns_init
    - event_base_new
    - evthread_use_pthreads_with_flags
    - event_set_log_callback
    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:347,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_main.c:351,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_main.c:353,1
    - Dst: evdns_shutdown
      Src: /src/libevent/test/regress_main.c:357,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_main.c:362,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_main.c:363,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_main.c:368,1
    - Dst: free
      Src: /src/libevent/test/regress_main.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 7
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: basic_test_cleanup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - evutil_closesocket
    - evdns_shutdown
    - event_set_log_callback
    - free
    - libevent_global_shutdown
    - event_base_assert_ok_
    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:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 11
    functionLinenumber: 384
    functionLinenumberEnd: 395
    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:408,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_main.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 416
    functionName: run_legacy_test_fn
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - tt_abort_msg
    - struct basic_test_data*::legacy_test_fn
    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:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 8
    functionLinenumber: 422
    functionLinenumberEnd: 429
    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:507,1
    - Dst: WSAStartup
      Src: /src/libevent/test/regress_main.c:509,1
    - Dst: signal
      Src: /src/libevent/test/regress_main.c:513,1
    - Dst: tinytest_skip
      Src: /src/libevent/test/regress_main.c:518,1
    - Dst: tinytest_skip
      Src: /src/libevent/test/regress_main.c:519,1
    - Dst: tinytest_skip
      Src: /src/libevent/test/regress_main.c:520,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:524,1
    - Dst: evthread_enable_lock_debugging
      Src: /src/libevent/test/regress_main.c:525,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:528,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_main.c:529,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:532,1
    - Dst: event_enable_debug_logging
      Src: /src/libevent/test/regress_main.c:533,1
    - Dst: tinytest_set_aliases
      Src: /src/libevent/test/regress_main.c:536,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/test/regress_main.c:538,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:540,1
    - Dst: setbuf
      Src: /src/libevent/test/regress_main.c:541,1
    - Dst: setbuf
      Src: /src/libevent/test/regress_main.c:542,1
    - Dst: tinytest_main
      Src: /src/libevent/test/regress_main.c:545,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_main.c:548,1
    - Dst: WSACleanup
      Src: /src/libevent/test/regress_main.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 500
    functionDepth: 6
    functionLinenumber: 500
    functionLinenumberEnd: 555
    functionName: main
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 1
    functionsReached:
    - signal
    - WSAStartup
    - event_enable_debug_logging
    - event_enable_debug_mode
    - evutil_weakrand_seed_
    - WSACleanup
    - setbuf
    - getenv
    - evthread_enable_lock_debugging
    - tinytest_set_aliases
    - tinytest_skip
    - tinytest_main
    - MAKEWORD
    - libevent_global_shutdown
    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:
    - recv
    - perror
    - 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:
    - calloc
    - evutil_socketpair
    - exit
    - evutil_closesocket
    - event_dispatch
    - perror
    - event_add
    - evutil_gettimeofday
    - event_del
    - event_set
    - evutil_timersub
    - free
    - send
    - evutil_timerclear
    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:
    - exit
    - WSAStartup
    - event_init
    - perror
    - fprintf
    - WSACleanup
    - run_once
    - setrlimit
    - atoi
    - getopt
    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:
    - PEM_read_bio_PrivateKey
    - BIO_free
    - tt_assert
    - BIO_new_mem_buf
    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_free
    - X509_set_subject_name
    - X509_NAME_add_entry_by_NID
    - tt_assert
    - X509_set_pubkey
    - X509_get_serialNumber
    - X509_getm_notBefore
    - X509_getm_notAfter
    - OBJ_txt2nid
    - X509_sign
    - ASN1_INTEGER_set
    - X509_NAME_new
    - X509_set_version
    - X509_NAME_free
    - X509_new
    - EVP_sha256
    - X509_set_issuer_name
    - X509_time_adj
    - time
    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:
    - SSL_CTX_new
    - SSLv23_method
    - 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:
    - SSLeay
    - SSL_load_error_strings
    - SSL_library_init
    - ERR_load_crypto_strings
    - OpenSSL_add_all_algorithms
    - TT_DECLARE
    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:
    - EVUTIL_ASSERT
    - init_ssl
    - basic_test_setup
    - ssl_getkey
    - ssl_getcert
    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
    - basic_test_cleanup
    - EVP_PKEY_free
    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_init
    - BIO_set_data
    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:
    - TT_BLATHER
    - BIO_get_shutdown
    - BIO_set_init
    - BIO_set_data
    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
    - BIO_set_retry_read
    - EVUTIL_ERR_RW_RETRIABLE
    - EVUTIL_SOCKET_ERROR
    - 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
    - BIO_set_retry_write
    - BIO_get_data
    - send
    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_set_shutdown
    - BIO_get_data
    - BIO_get_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_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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_set_init
    - BIO_new
    - BIO_s_rwcount
    - BIO_set_shutdown
    - 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:
    - SSL_set_bio
    - tt_assert
    - BIO_new_rwcount
    - BIO_set_data
    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:
    - printf
    - exit
    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:
    - event_base_dispatch
    - event_free
    - event_base_free
    - evutil_socketpair
    - send
    - event_config_new
    - perror
    - event_add
    - shutdown
    - event_base_new_with_config
    - event_self_cbarg
    - event_new
    - event_config_require_features
    - strlen
    - event_config_free
    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_get_length
    - evbuffer_drain
    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:
    - evutil_timeradd
    - bufferevent_setcb
    - bufferevent_disable
    - printf
    - perror
    - evutil_gettimeofday
    - bufferevent_free
    - evutil_timersub
    - free
    - launch_request
    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:
    - evutil_socket_geterror
    - bufferevent_setcb
    - evutil_make_socket_nonblocking
    - evutil_closesocket
    - evbuffer_add_printf
    - perror
    - socket
    - htons
    - frob_socket
    - evutil_gettimeofday
    - htonl
    - bufferevent_socket_new
    - memset
    - bufferevent_get_output
    - connect
    - EVUTIL_ERR_CONNECT_RETRIABLE
    - malloc
    - bufferevent_enable
    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:
    - event_base_dispatch
    - WSAStartup
    - printf
    - setvbuf
    - fprintf
    - WSACleanup
    - evutil_gettimeofday
    - event_base_new
    - puts
    - evutil_timersub
    - launch_request
    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:
    - evutil_weakrand_
    - memset
    - bufferevent_get_output
    - evbuffer_add
    - evbuffer_get_length
    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_get_length
    - evbuffer_drain
    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:
    - loud_writecb
    - bufferevent_enable
    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:
    - evbuffer_add_buffer
    - bufferevent_disable
    - bufferevent_get_input
    - bufferevent_get_output
    - evbuffer_get_length
    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:
    - evbuffer_get_length
    - bufferevent_get_output
    - bufferevent_enable
    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_set_rate_limit
    - bufferevent_add_to_rate_limit_group
    - bufferevent_setcb
    - event_add
    - bufferevent_socket_new
    - bufferevent_get_token_bucket_cfg
    - assert
    - event_new
    - bufferevent_enable
    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:
    - event_free
    - B
    - event_base_get_running_event
    - bufferevent_get_max_to_write
    - bufferevent_get_max_to_read
    - bufferevent_get_read_limit
    - bufferevent_get_write_limit
    - bufferevent_get_base
    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_read_limit
    - bufferevent_rate_limit_group_get_write_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
    - event_del
    - evutil_gettimeofday
    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_dispatch
    - event_free
    - MIN
    - event_base_free
    - event_config_new
    - event_config_set_flag
    - fprintf
    - event_add
    - evutil_gettimeofday
    - event_self_cbarg
    - event_base_new_with_config
    - event_new
    - event_config_free
    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_rate_limit_group_free
    - event_base_init_common_timeout
    - calloc
    - bufferevent_socket_connect
    - event_base_free
    - bufferevent_setcb
    - event_config_set_flag
    - perror
    - evconnlistener_get_fd
    - event_base_loopexit
    - event_new
    - ev_token_bucket_cfg_new
    - bufferevent_enable
    - event_base_dispatch
    - event_free
    - event_enable_debug_mode
    - fprintf
    - getsockname
    - bufferevent_socket_new
    - evconnlistener_free
    - event_config_free
    - evthread_use_windows_threads
    - printf
    - bufferevent_rate_limit_group_set_min_share
    - htonl
    - event_base_new_with_config
    - fabs
    - memset
    - timer_bias_calculate
    - assert
    - sqrt
    - free
    - bufferevent_rate_limit_group_new
    - event_config_new
    - event_add
    - bufferevent_free
    - evconnlistener_new_bind
    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:
    - srandom
    - signal
    - test_ratelimiting
    - WSAStartup
    - evutil_weakrand_seed_
    - fprintf
    - usage
    - strcmp
    - evutil_gettimeofday
    - evthread_enable_lock_debugging
    - MAKEWORD
    - handle_option
    - srand
    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:
    - ntohs
    - getsockname
    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_SOCKET_ERROR
      Src: /src/libevent/test/regress_testutils.c:119,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:120,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:121,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress_testutils.c:122,1
    - Dst: evdns_add_server_port_with_base
      Src: /src/libevent/test/regress_testutils.c:124,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_testutils.c:126,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: 133
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 133
    functionName: regress_get_udp_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - TT_DIE
    - evutil_socket_error_to_string
    - inet_addr
    - evutil_make_socket_nonblocking
    - bind
    - evutil_closesocket
    - socket
    - htons
    - regress_get_socket_port
    - tt_abort_perror
    - memset
    - EVUTIL_SOCKET_ERROR
    - evdns_add_server_port_with_base
    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:147,1
    - Dst: htons
      Src: /src/libevent/test/regress_testutils.c:149,1
    - Dst: htonl
      Src: /src/libevent/test/regress_testutils.c:150,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_testutils.c:152,1
    - Dst: evdns_add_server_port_with_listener
      Src: /src/libevent/test/regress_testutils.c:157,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_testutils.c:161,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_testutils.c:163,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_testutils.c:170,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: 172
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 172
    functionName: regress_get_tcp_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - evdns_add_server_port_with_listener
    - htons
    - evconnlistener_get_fd
    - regress_get_socket_port
    - htonl
    - memset
    - evconnlistener_free
    - evconnlistener_new_bind
    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:178,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:182,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_testutils.c:187,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 194
    functionName: regress_clean_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    - evdns_close_server_port
    linkageType: ''
    returnType: void
    signature: void regress_clean_dnsserver(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/test/regress_testutils.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    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:210,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_testutils.c:215,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:216,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:219,1
    - Dst: strtolower
      Src: /src/libevent/test/regress_testutils.c:224,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:226,1
    - Dst: atoi
      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_drop
      Src: /src/libevent/test/regress_testutils.c:229,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:231,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_testutils.c:231,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:234,1
    - Dst: atoi
      Src: /src/libevent/test/regress_testutils.c:235,1
    - Dst: evdns_server_request_add_reply
      Src: /src/libevent/test/regress_testutils.c:245,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:249,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_testutils.c:249,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:251,1
    - Dst: parse_csv_address_list
      Src: /src/libevent/test/regress_testutils.c:253,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_testutils.c:253,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_testutils.c:254,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:255,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_testutils.c:257,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:258,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_testutils.c:260,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:262,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_testutils.c:264,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_testutils.c:265,1
    - Dst: evdns_server_request_add_cname_reply
      Src: /src/libevent/test/regress_testutils.c:266,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:268,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:270,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_testutils.c:270,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_testutils.c:273,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_testutils.c:273,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 203
    functionDepth: 6
    functionLinenumber: 203
    functionLinenumberEnd: 274
    functionName: regress_dns_server_cb
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - TT_DIE
    - evutil_ascii_strcasecmp
    - evdns_server_request_add_aaaa_reply
    - tt_assert
    - evutil_inet_pton
    - evdns_server_request_add_cname_reply
    - strcmp
    - evdns_server_request_respond
    - evdns_server_request_add_a_reply
    - tt_want
    - atoi
    - evdns_server_request_add_reply
    - evdns_server_request_drop
    - ARRAY_SIZE
    - parse_csv_address_list
    - strtolower
    linkageType: ''
    returnType: void
    signature: void regress_dns_server_cb(struct evdns_server_request *req, void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_testutils.c:287,1
    - Dst: htonl
      Src: /src/libevent/test/regress_testutils.c:289,1
    - Dst: socket
      Src: /src/libevent/test/regress_testutils.c:298,1
    - Dst: bind
      Src: /src/libevent/test/regress_testutils.c:301,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_testutils.c:302,1
    - Dst: printf
      Src: /src/libevent/test/regress_testutils.c:303,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_testutils.c:304,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress_testutils.c:305,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_testutils.c:308,1
    - Dst: htons
      Src: /src/libevent/test/regress_testutils.c:309,1
    - Dst: socket
      Src: /src/libevent/test/regress_testutils.c:313,1
    - Dst: bind
      Src: /src/libevent/test/regress_testutils.c:316,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_testutils.c:317,1
    - Dst: printf
      Src: /src/libevent/test/regress_testutils.c:318,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_testutils.c:319,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress_testutils.c:320,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_testutils.c:324,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:329,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:331,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:336,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:340,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - port
    - need_udp
    - need_tcp
    argTypes:
    - ev_uint16_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 345
    functionName: regress_pick_port
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - evutil_closesocket
    - bind
    - printf
    - socket
    - htons
    - ntohs
    - regress_get_socket_port
    - htonl
    - memset
    - EVUTIL_SOCKET_ERROR
    linkageType: ''
    returnType: int
    signature: int regress_pick_port(ev_uint16_t *port, int need_udp, int need_tcp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: regress_pick_port
      Src: /src/libevent/test/regress_testutils.c:355,1
    - Dst: printf
      Src: /src/libevent/test/regress_testutils.c:356,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_testutils.c:361,1
    - Dst: printf
      Src: /src/libevent/test/regress_testutils.c:364,1
    - Dst: regress_get_tcp_dnsserver
      Src: /src/libevent/test/regress_testutils.c:371,1
    - Dst: printf
      Src: /src/libevent/test/regress_testutils.c:374,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_testutils.c:382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    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: 384
      start: 347
    functionDepth: 6
    functionLinenumber: 347
    functionLinenumberEnd: 384
    functionName: regress_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - regress_get_tcp_dnsserver
    - printf
    - regress_pick_port
    - regress_clean_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:390,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_testutils.c:393,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: 394
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: regress_get_listener_addr
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 2
    functionsReached:
    - evconnlistener_get_fd
    - getsockname
    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:404,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:405,1
    - Dst: strlen
      Src: /src/libevent/test/regress_testutils.c:405,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_testutils.c:405,1
    - Dst: strcpy
      Src: /src/libevent/test/regress_testutils.c:406,1
    - Dst: strtok
      Src: /src/libevent/test/regress_testutils.c:407,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:409,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_testutils.c:412,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:413,1
    - Dst: strtok
      Src: /src/libevent/test/regress_testutils.c:416,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: 420
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 420
    functionName: parse_csv_address_list
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 1
    functionsReached:
    - TT_DIE
    - tt_assert
    - evutil_inet_pton
    - strcpy
    - ARRAY_SIZE
    - strlen
    - strtok
    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:
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_remove_buffer
    - tt_assert
    - evbuffer_pullup
    - tt_abort_msg
    - evbuffer_get_length
    - evbuffer_drain
    - strncmp
    - evbuffer_commit_space
    - EVBUFFER_DATA
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_reserve_space
    - memset
    - evbuffer_add
    - evbuffer_validate
    - evbuffer_add_printf
    - strlen
    - tt_int_op
    - memcmp
    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_remove_buffer
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - evbuffer_add_reference
    - tt_mem_op
    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:
    - evbuffer_add_buffer
    - evbuffer_remove_buffer
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - tt_int_op
    - evbuffer_add_reference
    - tt_mem_op
    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:
    - evbuffer_remove_buffer
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_prepend_buffer
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - tt_int_op
    - evbuffer_add_reference
    - tt_mem_op
    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
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - tt_int_op
    - evbuffer_add_reference
    - tt_mem_op
    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:
    - evbuffer_remove_buffer
    - tt_assert
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - tt_int_op
    - evbuffer_add_reference
    - tt_mem_op
    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:
    - evbuffer_add_buffer
    - tt_assert
    - evbuffer_remove_buffer
    - evbuffer_commit_space
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_prepend_buffer
    - evbuffer_reserve_space
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - tt_int_op
    - tt_mem_op
    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:
    - evbuffer_add_buffer
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_add
    - tt_int_op
    - 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:
    - evbuffer_add_buffer
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_add
    - tt_int_op
    - 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:
    - evbuffer_peek
    - tt_assert
    - evbuffer_validate
    - evbuffer_commit_space
    - evbuffer_get_length
    - evbuffer_new
    - evbuffer_reserve_space
    - evbuffer_free
    - memset
    - tt_int_op
    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
    - evbuffer_validate
    - evbuffer_commit_space
    - evbuffer_new
    - strcmp
    - evbuffer_reserve_space
    - evbuffer_free
    - memset
    - tt_int_op
    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
    - evbuffer_commit_space
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_reserve_space
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - tt_int_op
    - tt_mem_op
    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
    - evbuffer_commit_space
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_reserve_space
    - evbuffer_free
    - ARRAY_SIZE
    - evbuffer_add
    - tt_int_op
    - 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_get_waste
    - tt_assert
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_pullup
    - memset
    - evbuffer_add
    - tt_int_op
    - evbuffer_drain
    - evbuffer_expand
    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_validate
    - evbuffer_new
    - evbuffer_free
    - evbuffer_add
    - evbuffer_expand
    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:
    - tt_assert
    - evbuffer_validate
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_expand
    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:
    - tt_assert
    - evbuffer_validate
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - memset
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_expand
    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:
    - strlen
    - tt_str_op
    - tt_want
    - 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_validate
    - evbuffer_commit_space
    - evbuffer_prepend
    - memcmp
    - evbuffer_new
    - evbuffer_reserve_space
    - evbuffer_free
    - evbuffer_pullup
    - strlen
    - tt_int_op
    - evbuffer_remove
    - evbuffer_drain
    - 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:
    - tt_assert
    - evbuffer_validate
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - memset
    - evbuffer_add
    - evbuffer_get_length
    - evbuffer_expand
    - 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:
    - tt_fail_perror
    - TT_BLATHER
    - evutil_socket_geterror
    - evbuffer_validate
    - event_base_loopexit
    - EVUTIL_ERR_RW_RETRIABLE
    - evbuffer_get_length
    - 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:
    - tt_fail_perror
    - TT_BLATHER
    - evutil_socket_geterror
    - event_base_loopexit
    - EVUTIL_ERR_RW_RETRIABLE
    - 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:
    - unlink
    - TT_BLATHER
    - tt_assert
    - evbuffer_validate
    - evbuffer_new
    - tt_skip
    - evbuffer_add_file
    - evbuffer_free
    - close
    - regress_make_tmpfile
    - free
    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:
    - unlink
    - evbuffer_add_file_segment
    - evutil_closesocket
    - evbuffer_free
    - evutil_weakrand_
    - event_new
    - evbuffer_file_segment_new
    - regress_make_tmpfile
    - event_base_dispatch
    - event_free
    - tt_assert
    - evbuffer_file_segment_free
    - strdup
    - tt_skip
    - evbuffer_pullup
    - tt_abort_msg
    - evutil_socketpair
    - evbuffer_new
    - evutil_ersatz_socketpair_
    - malloc
    - strstr
    - free
    - TT_DIE
    - evbuffer_validate
    - event_add
    - evbuffer_add_file
    - evbuffer_set_flags
    - strlen
    - tt_int_op
    - memcmp
    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:
    - unlink
    - evbuffer_add_file_segment
    - tt_assert
    - evbuffer_file_segment_free
    - evbuffer_validate
    - evbuffer_new
    - fstat
    - tt_skip
    - evbuffer_free
    - free
    - evbuffer_file_segment_add_cleanup_cb
    - evbuffer_file_segment_new
    - regress_make_tmpfile
    - tt_int_op
    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:
    - evbuffer_add_buffer
    - tt_assert
    - tt_uint_op
    - evbuffer_validate
    - evbuffer_new
    - tt_line_eq
    - evbuffer_get_length
    - tt_int_op
    - evbuffer_free
    - tt_abort_msg
    - strlen
    - evbuffer_drain
    - tt_ptr_op
    - evbuffer_add
    - free
    - evbuffer_readln
    - memcmp
    - event_set_mem_functions
    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
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_search_eol
    - strlen
    - evbuffer_ptr_set
    - evbuffer_add
    - tt_int_op
    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:
    - evbuffer_get_waste
    - tt_assert
    - tt_uint_op
    - evbuffer_add_printf
    - evbuffer_validate
    - printf
    - evbuffer_new
    - evbuffer_free
    - evutil_snprintf
    - strlen
    - evbuffer_get_length
    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:
    - strncmp
    - tt_assert
    - evbuffer_find
    - evbuffer_validate
    - evbuffer_new
    - tt_want
    - evbuffer_free
    - strlen
    - evbuffer_add
    - evbuffer_drain
    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
    - evbuffer_commit_space
    - evbuffer_validate
    - evbuffer_new
    - tt_int_op
    - evbuffer_reserve_space
    - evbuffer_free
    - memset
    - evbuffer_ptr_set
    - evbuffer_get_length
    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:
    - evbuffer_add_buffer
    - tt_assert
    - evbuffer_add_printf
    - evbuffer_search_range
    - evbuffer_new
    - evbuffer_free
    - evbuffer_ptr_set
    - evbuffer_search
    - tt_int_op
    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:
    - tt_uint_op
    - evbuffer_setcb
    - evbuffer_free
    - tt_assert
    - evbuffer_cb_suspend
    - evbuffer_add_cb
    - evbuffer_pullup
    - evbuffer_get_length
    - evbuffer_drain
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_cb_clear_flags
    - evbuffer_cb_set_flags
    - evbuffer_remove_cb_entry
    - evbuffer_add
    - evbuffer_add_reference
    - evbuffer_remove_cb
    - evbuffer_add_printf
    - evbuffer_validate
    - evbuffer_cb_unsuspend
    - tt_str_op
    - tt_int_op
    - event_set_mem_functions
    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:
    - evbuffer_add_buffer
    - tt_assert
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - strlen
    - evbuffer_drain
    - evbuffer_add
    - tt_int_op
    - evbuffer_remove
    - memcmp
    - 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:
    - evbuffer_add_reference_with_offset
    - evbuffer_add_buffer
    - tt_assert
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_add
    - strlen
    - tt_int_op
    - evbuffer_remove
    - evbuffer_drain
    - evbuffer_add_reference
    - tt_mem_op
    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
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - strlen
    - evbuffer_add
    - tt_int_op
    - evbuffer_remove
    - memcmp
    - evbuffer_add_buffer_reference
    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
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - strlen
    - evbuffer_add
    - tt_int_op
    - evbuffer_drain
    - evbuffer_add_buffer_reference
    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:
    - evbuffer_prepend_buffer
    - evbuffer_free
    - tt_nstr_op
    - tt_assert
    - evbuffer_add_cb
    - evbuffer_pullup
    - evbuffer_drain
    - evbuffer_prepend
    - evbuffer_new
    - memset
    - free
    - malloc
    - evbuffer_remove_cb
    - evbuffer_validate
    - evbuffer_add_printf
    - tt_str_op
    - tt_int_op
    - evbuffer_remove
    - memcmp
    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:
    - strncmp
    - tt_assert
    - evbuffer_validate
    - evbuffer_prepend
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - 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:
    - strncmp
    - tt_assert
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_prepend_buffer
    - evbuffer_free
    - evbuffer_pullup
    - 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:
    - evbuffer_add_buffer
    - evbuffer_peek
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_ptr_set
    - tt_int_op
    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:
    - evbuffer_peek
    - evbuffer_add_buffer
    - tt_assert
    - evbuffer_add_printf
    - tt_iov_eq
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - memset
    - evbuffer_ptr_set
    - tt_int_op
    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:
    - unlink
    - evbuffer_add_buffer
    - evbuffer_prepend_buffer
    - evbuffer_free
    - regress_make_tmpfile
    - evbuffer_readln
    - evbuffer_remove_buffer
    - tt_assert
    - evbuffer_freeze
    - evbuffer_write_atmost
    - FREEZE_EQ
    - tt_skip
    - evbuffer_get_length
    - evbuffer_write
    - evbuffer_read
    - evbuffer_drain
    - evbuffer_commit_space
    - evbuffer_prepend
    - evbuffer_new
    - strcmp
    - evbuffer_reserve_space
    - memset
    - evbuffer_add
    - free
    - evbuffer_add_reference
    - evbuffer_add_printf
    - evbuffer_add_file
    - tt_str_op
    - strlen
    - tt_int_op
    - evbuffer_remove
    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
    - evbuffer_add_iovec
    - evbuffer_new
    - evbuffer_get_length
    - strcmp
    - evbuffer_free
    - memset
    - strlen
    - tt_int_op
    - evbuffer_remove
    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
    - evbuffer_copyout_from
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - memset
    - evbuffer_ptr_set
    - evbuffer_add
    - strlen
    - tt_int_op
    - memcmp
    - evbuffer_add_reference
    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: 82
    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:
    - evthread_use_windows_threads
    - evutil_socket_error_to_string
    - printf
    - E
    - evutil_secure_rng_get_bytes
    - libevent_global_shutdown
    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
    - printf
    - event_add
    - strlen
    - send
    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:
    - signal
    - evutil_socketpair
    - WSAStartup
    - event_init
    - event_dispatch
    - event_add
    - event_set
    - MAKEWORD
    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
    - GetThreadTimes
    - GetCurrentThread
    - printf
    - evutil_gettimeofday
    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
    - GetThreadTimes
    - printf
    - evutil_gettimeofday
    - filetime_diff
    - evutil_timersub
    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:
    - printf
    - event_del
    - event_add
    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:
    - event_base_dispatch
    - event_free
    - get_cpu_usage
    - evtimer_new
    - evutil_socketpair
    - event_base_free
    - WSAStartup
    - evutil_closesocket
    - printf
    - perror
    - evtimer_add
    - event_add
    - start_cpu_usage_timer
    - event_base_new
    - event_new
    - MAKEWORD
    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:
    - event_base_get_method
    - strcmp
    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:
    - event_free
    - TT_BLATHER
    - tt_assert
    - event_base_get_method
    - base_supports_et
    - event_base_loop
    - event_add
    - event_del
    - shutdown
    - event_new
    - strlen
    - tt_int_op
    - send
    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:
    - event_free
    - event_base_free
    - tt_assert
    - event_pending
    - event_enable_debug_mode
    - event_add
    - event_del
    - tt_skip
    - event_base_new
    - event_new
    - tt_int_op
    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:
    - event_free
    - tt_assert
    - base_supports_et
    - event_add
    - event_del
    - tt_skip
    - close
    - event_new
    - event_base_loop
    - tt_int_op
    - send
    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:
    - exit
    - evws_close
    - fprintf
    - event_base_loopexit
    - strcmp
    - evws_send_text
    - evws_send_binary
    - snprintf
    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:
    - fprintf
    - exit
    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_connection_set_closecb
    - evws_send_text
    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:
    - calloc
    - ntohll
    - malloc
    - ntohs
    - evbuffer_pullup
    - memcpy
    - evbuffer_get_length
    - evbuffer_drain
    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:
    - receive_ws_msg
    - strcmp
    - bufferevent_get_input
    - free
    - bufferevent_get_output
    - strlen
    - evbuffer_get_length
    - memcmp
    - send_ws_msg
    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:
    - strncmp
    - bufferevent_setcb
    - evbuffer_get_length
    - strcmp
    - bufferevent_get_input
    - bufferevent_get_output
    - http_ws_readcb_phase2
    - strlen
    - free
    - evbuffer_readln
    - send_ws_msg
    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:
    - strncmp
    - bufferevent_get_input
    - strlen
    - free
    - evbuffer_readln
    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:
    - event_base_dispatch
    - evhttp_free
    - bufferevent_setcb
    - evbuffer_add_printf
    - create_bev
    - http_setup
    - http_connect
    - bufferevent_free
    - bufferevent_get_output
    - tt_int_op
    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_free
    - evbuffer_add
    - evbuffer_new
    - evhttp_send_reply
    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:
    - evbuffer_free
    - evbuffer_new
    - evhttp_send_reply
    - evbuffer_add_reference
    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_dispatch
    - signal
    - evthread_use_windows_threads
    - exit
    - WSAStartup
    - event_config_new
    - event_base_get_method
    - event_config_set_flag
    - evhttp_new
    - fprintf
    - evhttp_bind_socket
    - setbuf
    - event_base_loopexit
    - event_base_new_with_config
    - WSACleanup
    - strtol
    - malloc
    - evhttp_set_cb
    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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    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: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    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: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    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: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    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: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: SSL_SET_HOSTNAME
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_SET_HOSTNAME(ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:145,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:145,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:146,1
    - Dst: bufferevent_setfd
      Src: /src/libevent/test/regress_ssl.c:146,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:148,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:148,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:150,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - bev
    - filter
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: bufferevent_ssl_check_fd
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_getfd
    - tt_fd_op
    - bufferevent_setfd
    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:159,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_ssl.c:159,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:160,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_ssl.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: bufferevent_ssl_check_freed
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_pending
    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:169,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: free_on_cb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - bufferevent_free
    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:176,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_ssl.c:184,1
    - Dst: atoi
      Src: /src/libevent/test/regress_ssl.c:187,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_ssl.c:189,1
    - Dst: free
      Src: /src/libevent/test/regress_ssl.c:190,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:191,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:194,1
    - Dst: SSL_renegotiate
      Src: /src/libevent/test/regress_ssl.c:199,1
    - Dst: bufferevent_ssl_get_ssl
      Src: /src/libevent/test/regress_ssl.c:199,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:203,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:203,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:205,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 209
    functionName: respond_to_number
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_add_printf
    - bufferevent_enable
    - bufferevent_get_input
    - bufferevent_free
    - atoi
    - bufferevent_ssl_get_ssl
    - bufferevent_get_output
    - free
    - evbuffer_readln
    - SSL_renegotiate
    - TT_FAIL
    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:214,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:215,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:217,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:218,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: done_writing_cb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - bufferevent_disable
    - bufferevent_get_output
    - evbuffer_get_length
    - bufferevent_enable
    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:230,1
    - Dst: bufferevent_ssl_get_ssl
      Src: /src/libevent/test/regress_ssl.c:234,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:235,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/libevent/test/regress_ssl.c:242,1
    - Dst: SSL_get_peer_certificate
      Src: /src/libevent/test/regress_ssl.c:244,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:247,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:249,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_ssl.c:253,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:257,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:257,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:259,1
    - Dst: bufferevent_ssl_check_fd
      Src: /src/libevent/test/regress_ssl.c:262,1
    - Dst: bufferevent_ssl_check_freed
      Src: /src/libevent/test/regress_ssl.c:265,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:267,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:269,1
    - Dst: bufferevent_ssl_check_fd
      Src: /src/libevent/test/regress_ssl.c:272,1
    - Dst: bufferevent_ssl_check_freed
      Src: /src/libevent/test/regress_ssl.c:275,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:277,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:279,1
    - Dst: bufferevent_ssl_check_fd
      Src: /src/libevent/test/regress_ssl.c:282,1
    - Dst: bufferevent_ssl_check_freed
      Src: /src/libevent/test/regress_ssl.c:285,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:287,1
    - Dst: X509_free
      Src: /src/libevent/test/regress_ssl.c:292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 222
    functionDepth: 9
    functionLinenumber: 222
    functionLinenumberEnd: 293
    functionName: eventcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 6
    functionsReached:
    - bufferevent_ssl_check_fd
    - TT_BLATHER
    - bufferevent_ssl_check_freed
    - tt_assert
    - SSL_get1_peer_certificate
    - evbuffer_add_printf
    - X509_free
    - event_base_loopexit
    - SSL_get_peer_certificate
    - bufferevent_free
    - bufferevent_ssl_get_ssl
    - bufferevent_get_output
    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:305,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:307,1
    - Dst: bufferevent_ssl_filter_new
      Src: /src/libevent/test/regress_ssl.c:310,1
    - Dst: bufferevent_ssl_filter_new
      Src: /src/libevent/test/regress_ssl.c:312,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:316,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:318,1
    - Dst: bufferevent_ssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_ssl.c:321,1
    - Dst: bufferevent_ssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_ssl.c:322,1
    - Dst: bufferevent_ssl_set_flags
      Src: /src/libevent/test/regress_ssl.c:325,1
    - Dst: bufferevent_ssl_set_flags
      Src: /src/libevent/test/regress_ssl.c:326,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: 328
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: open_ssl_bufevs
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_setcb
    - bufferevent_ssl_socket_new
    - bufferevent_ssl_set_allow_dirty_shutdown
    - bufferevent_ssl_filter_new
    - 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:362,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:362,1
    - Dst: SSL_SET_HOSTNAME
      Src: /src/libevent/test/regress_ssl.c:363,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:364,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:364,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_ssl.c:366,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_ssl.c:367,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:373,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_ssl.c:376,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_ssl.c:378,1
    - Dst: open_ssl_bufevs
      Src: /src/libevent/test/regress_ssl.c:382,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:386,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:386,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_ssl.c:388,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/test/regress_ssl.c:388,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:395,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:399,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:400,1
    - Dst: open_ssl_bufevs
      Src: /src/libevent/test/regress_ssl.c:402,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:407,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:408,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:411,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:411,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:413,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:415,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:416,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:420,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:421,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:423,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:425,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:429,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:430,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/test/regress_ssl.c:432,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:435,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:435,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:437,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:439,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:440,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:442,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:443,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:444,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 72
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 330
    functionDepth: 9
    functionLinenumber: 330
    functionLinenumberEnd: 451
    functionName: regress_bufferevent_openssl
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_underlying
    - open_ssl_bufevs
    - SSL_use_certificate
    - bufferevent_disable
    - get_ssl_ctx
    - bufferevent_get_output
    - bufferevent_enable
    - SSL_SET_HOSTNAME
    - event_base_dispatch
    - tt_assert
    - tt_fd_op
    - bufferevent_socket_new
    - SSL_use_PrivateKey
    - bufferevent_getfd
    - tt_ptr_op
    - bufferevent_set_timeouts
    - SSL_new
    - evbuffer_add_printf
    - bufferevent_free
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void regress_bufferevent_openssl(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 458
    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:466,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:466,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_ssl.c:470,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_ssl.c:471,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:473,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:476,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:478,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_ssl.c:483,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:485,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:487,1
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_ssl.c:491,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: 495
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 495
    functionName: acceptcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - SSL_new
    - tt_assert
    - bufferevent_setcb
    - SSL_use_certificate
    - bufferevent_disable
    - bufferevent_ssl_socket_new
    - get_ssl_ctx
    - SSL_use_PrivateKey
    - evconnlistener_disable
    - bufferevent_enable
    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:522,1
    - Dst: htonl
      Src: /src/libevent/test/regress_ssl.c:524,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:526,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_ssl.c:529,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:533,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:534,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:534,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:536,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:536,1
    - Dst: SSL_SET_HOSTNAME
      Src: /src/libevent/test/regress_ssl.c:537,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:538,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:540,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:544,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:546,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:549,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_ssl.c:549,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:549,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:551,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:552,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:554,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_ssl.c:555,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:559,1
    - Dst: BIO_setup
      Src: /src/libevent/test/regress_ssl.c:560,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:562,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:562,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:563,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:565,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:567,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:568,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_ssl.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 504
    functionDepth: 9
    functionLinenumber: 504
    functionLinenumberEnd: 571
    functionName: regress_bufferevent_openssl_connect
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_socket_connect
    - bufferevent_setcb
    - bufferevent_ssl_socket_new
    - evconnlistener_get_fd
    - BIO_setup
    - get_ssl_ctx
    - bufferevent_get_output
    - bufferevent_enable
    - SSL_SET_HOSTNAME
    - event_base_dispatch
    - tt_assert
    - getsockname
    - evconnlistener_free
    - bufferevent_getfd
    - htonl
    - memset
    - SSL_new
    - evbuffer_add_printf
    - tt_int_op
    - evconnlistener_new_bind
    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:589,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:590,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:591,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:595,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:597,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:598,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress_ssl.c:600,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/test/regress_ssl.c:600,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_ssl.c:604,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:607,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:612,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:613,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_ssl.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 585
    functionDepth: 7
    functionLinenumber: 585
    functionLinenumberEnd: 617
    functionName: wm_transfer
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - bufferevent_setcb
    - bufferevent_disable
    - bufferevent_get_input
    - bufferevent_get_output
    - event_base_loopbreak
    - evbuffer_get_length
    - evbuffer_drain
    - evbuffer_add_buffer_reference
    - bufferevent_get_base
    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:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 628
    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:635,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:636,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:636,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_ssl.c:638,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_ssl.c:639,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:641,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:644,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:646,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_ssl.c:649,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:650,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:651,1
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_ssl.c:655,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: 658
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 658
    functionName: wm_acceptcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - SSL_new
    - tt_assert
    - bufferevent_setcb
    - SSL_use_certificate
    - bufferevent_setwatermark
    - bufferevent_ssl_socket_new
    - evconnlistener_get_base
    - get_ssl_ctx
    - SSL_use_PrivateKey
    - evconnlistener_disable
    - bufferevent_enable
    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:679,1
    - Dst: htonl
      Src: /src/libevent/test/regress_ssl.c:681,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:683,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:689,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:690,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_ssl.c:694,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_ssl.c:695,1
    - Dst: calloc
      Src: /src/libevent/test/regress_ssl.c:696,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:697,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ssl.c:698,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ssl.c:699,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:704,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_ssl.c:714,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:718,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:719,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:719,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:721,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:721,1
    - Dst: SSL_SET_HOSTNAME
      Src: /src/libevent/test/regress_ssl.c:722,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:723,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_ssl.c:726,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:727,1
    - Dst: bufferevent_ssl_filter_new
      Src: /src/libevent/test/regress_ssl.c:728,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:731,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:736,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_ssl.c:742,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:743,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:745,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_ssl.c:745,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:745,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:748,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_ssl.c:748,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:749,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_ssl.c:749,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:749,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:750,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:750,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:752,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:754,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:755,1
    - Dst: free
      Src: /src/libevent/test/regress_ssl.c:758,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_ssl.c:759,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_ssl.c:760,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_ssl.c:761,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:762,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:763,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_ssl.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 659
    functionDepth: 7
    functionLinenumber: 659
    functionLinenumberEnd: 768
    functionName: regress_bufferevent_openssl_wm
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - calloc
    - bufferevent_socket_connect
    - bufferevent_setcb
    - bufferevent_ssl_socket_new
    - evconnlistener_get_fd
    - evbuffer_free
    - get_ssl_ctx
    - bufferevent_get_output
    - evbuffer_add_buffer_reference
    - bufferevent_enable
    - SSL_SET_HOSTNAME
    - event_base_dispatch
    - tt_assert
    - bufferevent_setwatermark
    - bufferevent_socket_new
    - getsockname
    - evconnlistener_free
    - event_base_loop
    - TT_BLATHER
    - evbuffer_new
    - htonl
    - bufferevent_ssl_filter_new
    - memset
    - evbuffer_add
    - free
    - SSL_new
    - bufferevent_free
    - tt_int_op
    - evconnlistener_new_bind
    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:
    - fprintf
    - perror
    - EVUTIL_SOCKET_ERROR
    - evutil_socket_error_to_string
    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:
    - event_free
    - event_base_init_common_timeout
    - evtimer_new
    - event_base_free
    - WSAStartup
    - sock_perror
    - printf
    - fprintf
    - event_add
    - evsignal_new
    - event_active
    - event_base_new
    - evutil_gettimeofday
    - puts
    - evutil_make_internal_pipe_
    - event_new
    - event_base_dump_events
    - MAKEWORD
    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
    - printf
    - strcmp
    - assert
    - read
    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_join
    - pthread_create
    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:
    - strlen
    - printf
    - write
    - exit
    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:
    - event_base_free
    - event_new
    - evthread_use_pthreads
    - dup2
    - event_base_dispatch
    - event_free
    - evtimer_add
    - event_config_free
    - event_get_supported_methods
    - pipe
    - printf
    - strcmp
    - event_self_cbarg
    - event_base_new_with_config
    - assert
    - evtimer_new
    - event_config_new
    - event_add
    - close
    - event_config_avoid_method
    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:73,1
    - Dst: EVTHREAD_COND_BROADCAST
      Src: /src/libevent/test/regress_thread.c:74,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: wake_all_timeout
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_COND_BROADCAST
    - EVLOCK_UNLOCK
    - 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:83,1
    - Dst: EVTHREAD_COND_SIGNAL
      Src: /src/libevent/test/regress_thread.c:84,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: wake_one_timeout
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_COND_SIGNAL
    - EVLOCK_UNLOCK
    - 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:101,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_thread.c:102,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:103,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:104,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_thread.c:106,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_thread.c:109,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:113,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:116,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress_thread.c:116,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:118,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/test/regress_thread.c:118,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:119,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:121,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:123,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:127,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_thread.c:129,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:130,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_thread.c:132,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_thread.c:133,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (cw.lock)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/libevent/test/regress_thread.c
    - condition: (cw.cond)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/libevent/test/regress_thread.c
    - condition: (evtimer_add(&ev, &tv) == 0)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/libevent/test/regress_thread.c
    - condition: (EVTHREAD_COND_WAIT(cw.cond, cw.lock) == 0)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/libevent/test/regress_thread.c
    constantsTouched: []
    func_position:
      end: 136
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 136
    functionName: basic_thread
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - EVLOCK_LOCK
    - THREAD_RETURN
    - EVTHREAD_ALLOC_COND
    - EVTHREAD_FREE_LOCK
    - evtimer_add
    - evtimer_assign
    - event_base_loopexit
    - assert
    - EVTHREAD_COND_WAIT
    - EVLOCK_UNLOCK
    - EVTHREAD_FREE_COND
    - EVTHREAD_ALLOC_LOCK
    - evutil_timerclear
    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:150,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: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    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: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    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:270,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_thread.c:272,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/test/regress_thread.c:275,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:277,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:279,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 284
    functionName: wait_for_condition
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - EVTHREAD_COND_WAIT_TIMED
    - evutil_gettimeofday
    - EVLOCK_UNLOCK
    - EVTHREAD_COND_WAIT
    - EVLOCK_LOCK
    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:306,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_thread.c:307,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:308,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:309,1
    - Dst: memset
      Src: /src/libevent/test/regress_thread.c:311,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_thread.c:316,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_thread.c:317,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_thread.c:319,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_thread.c:320,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:322,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_thread.c:326,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:330,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:330,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:331,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:331,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_thread.c:334,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:338,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:343,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:344,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:350,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:352,1
    - Dst: evutil_timerisset
      Src: /src/libevent/test/regress_thread.c:353,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_thread.c:355,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress_thread.c:357,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress_thread.c:359,1
    - Dst: labs
      Src: /src/libevent/test/regress_thread.c:361,1
    - Dst: labs
      Src: /src/libevent/test/regress_thread.c:361,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:362,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:366,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_thread.c:371,1
    - Dst: evutil_timeradd
      Src: /src/libevent/test/regress_thread.c:374,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_thread.c:375,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:378,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:379,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_thread.c:382,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_thread.c:383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 384
    functionName: thread_conditions_simple
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - evutil_timerisset
    - evutil_timeradd
    - test_timeval_diff_leq
    - memcpy
    - THREAD_JOIN
    - event_base_dispatch
    - tt_assert
    - EVTHREAD_FREE_LOCK
    - evutil_gettimeofday
    - evutil_timersub
    - EVTHREAD_ALLOC_LOCK
    - TT_BLATHER
    - labs
    - EVTHREAD_ALLOC_COND
    - memset
    - EVTHREAD_FREE_COND
    - evtimer_assign
    - event_add
    - timeval_msec_diff
    - THREAD_START
    - tt_int_op
    - TT_FAIL
    linkageType: ''
    returnType: void
    signature: void thread_conditions_simple(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_thread.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    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:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 414
    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:423,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/test/regress_thread.c:425,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:426,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 430
    functionName: load_deferred_queue
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - event_deferred_cb_schedule_
    - THREAD_RETURN
    - SLEEP_MS
    - event_deferred_cb_init_
    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:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    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:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 447
    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:459,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:460,1
    - Dst: event_config_set_max_dispatch_interval
      Src: /src/libevent/test/regress_thread.c:461,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress_thread.c:463,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:464,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:469,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_thread.c:470,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_thread.c:472,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_thread.c:474,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_thread.c:476,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:477,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:480,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:484,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:488,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_thread.c:490,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress_thread.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 449
    functionDepth: 6
    functionLinenumber: 449
    functionLinenumberEnd: 493
    functionName: thread_deferred_cb_skew
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_config_set_max_dispatch_interval
    - event_base_once
    - tt_assert
    - TT_BLATHER
    - event_base_free
    - event_config_new
    - evutil_gettimeofday
    - event_base_new_with_config
    - event_config_free
    - evutil_timersub
    - 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:501,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress_thread.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 505
    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:510,1
    - Dst: event_active
      Src: /src/libevent/test/regress_thread.c:511,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:512,1
    - Dst: event_active
      Src: /src/libevent/test/regress_thread.c:513,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:514,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:516,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:518,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:519,1
    - Dst: event_active
      Src: /src/libevent/test/regress_thread.c:520,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 523
    functionName: register_events_subthread
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - SLEEP_MS
    - event_add
    - event_active
    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:534,1
    - Dst: event_assign
      Src: /src/libevent/test/regress_thread.c:536,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:540,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_thread.c:541,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_thread.c:542,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:543,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:544,1
    - Dst: event_base_got_break
      Src: /src/libevent/test/regress_thread.c:544,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:545,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_thread.c:549,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:551,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:553,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:554,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:555,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:556,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:557,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 525
    functionDepth: 6
    functionLinenumber: 525
    functionLinenumberEnd: 562
    functionName: thread_no_events
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_assign
    - tt_assert
    - THREAD_JOIN
    - test_timeval_diff_eq
    - evutil_gettimeofday
    - memset
    - THREAD_START
    - event_base_loop
    - evutil_timersub
    - event_base_got_break
    linkageType: ''
    returnType: void
    signature: void thread_no_events(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/regress_thread.c:572,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:573,1
    - Dst: event_assign
      Src: /src/libevent/test/regress_thread.c:574,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:575,1
    - Dst: event_del
      Src: /src/libevent/test/regress_thread.c:576,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_thread.c:577,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (base)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/libevent/test/regress_thread.c
    constantsTouched: []
    func_position:
      end: 579
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 579
    functionName: create_base_thread
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - event_base_free
    - event_assign
    - event_add
    - event_del
    - event_base_new
    - assert
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN create_base_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_thread.c:588,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: thread_debug_mode_too_late_race
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_START
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void thread_debug_mode_too_late_race(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: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    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:
    - TT_BLATHER
    - strerror
    - printf
    - event_base_loopexit
    - inet_ntoa
    - evutil_inet_ntop
    - event_loopexit
    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:
    - evdns_resolve_ipv4
    - event_dispatch
    - tt_int_op
    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:
    - tt_skip
    - event_dispatch
    - evdns_resolve_ipv6
    - tt_int_op
    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:
    - htonl
    - event_dispatch
    - tt_int_op
    - 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:
    - event_base_dispatch
    - event_base_free
    - tt_assert
    - evdns_base_new
    - event_base_new
    - htonl
    - evdns_base_free
    - evdns_base_resolve_reverse
    - tt_int_op
    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:
    - evutil_ascii_strcasecmp
    - evdns_server_request_add_aaaa_reply
    - printf
    - evdns_server_request_add_ptr_reply
    - evdns_server_request_add_a_reply
    - evdns_server_request_respond
    - htonl
    - evdns_server_request_drop
    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:
    - printf
    - strcmp
    - htonl
    - inet_ntoa
    - evutil_inet_ntop
    - event_loopexit
    - memcmp
    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:
    - evutil_closesocket
    - bind
    - socket
    - evdns_base_free
    - evdns_base_resolve_reverse
    - memcpy
    - tt_assert
    - evutil_make_socket_nonblocking
    - evdns_base_new
    - getsockname
    - tt_abort_perror
    - tt_mem_op
    - evdns_base_resolve_ipv6
    - htonl
    - memset
    - evdns_add_server_port
    - evdns_cancel_request
    - evdns_base_resolve_reverse_ipv6
    - evdns_base_get_nameserver_addr
    - evdns_base_nameserver_sockaddr_add
    - evdns_base_resolve_ipv4
    - event_dispatch
    - evdns_base_count_nameservers
    - tt_int_op
    - evdns_close_server_port
    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
    - ARRAY_SIZE
    - strlen
    - memcpy
    - evdns_close_server_port
    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: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_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:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 684
    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:695,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:700,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:702,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:703,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:703,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/test/regress_dns.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 689
    functionDepth: 6
    functionLinenumber: 689
    functionLinenumberEnd: 710
    functionName: search_cancel_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - TT_DIE
    - TT_BLATHER
    - tt_assert
    - evdns_server_request_respond
    - evdns_cancel_request
    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:723,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:725,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:726,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:728,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:729,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:731,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:731,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_search_add
      Src: /src/libevent/test/regress_dns.c:736,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:742,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:744,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:746,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:750,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 712
    functionDepth: 9
    functionLinenumber: 712
    functionLinenumberEnd: 753
    functionName: dns_search_cancel_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - evdns_base_search_add
    - evutil_snprintf
    - evdns_base_free
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:765,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:765,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_dns.c:770,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:775,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:783,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:786,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_dns.c:786,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:787,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:789,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:789,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_dns.c:792,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 793
    functionName: fail_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - TT_DIE
    - evutil_ascii_strcasecmp
    - tt_assert
    - evutil_inet_pton
    - event_base_loopexit
    - tt_want
    - evdns_server_request_add_a_reply
    - evdns_server_request_respond
    - evdns_server_request_drop
    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:808,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:810,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:811,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:813,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:814,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:816,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:816,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:817,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:817,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:818,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:818,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:819,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:819,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:821,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:827,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:829,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:831,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:832,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:833,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:833,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:838,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:838,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:839,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:839,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:840,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:842,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:848,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:851,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:854,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:855,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:858,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:859,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:860,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:861,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:862,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:862,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:866,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 795
    functionDepth: 9
    functionLinenumber: 795
    functionLinenumberEnd: 869
    functionName: dns_retry_test_impl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - htonl
    - memset
    - evutil_snprintf
    - evdns_base_free
    - evdns_base_set_option
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 10
    functionLinenumber: 870
    functionLinenumberEnd: 874
    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:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 10
    functionLinenumber: 875
    functionLinenumberEnd: 879
    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:895,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:897,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:898,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:900,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:901,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:903,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:903,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:904,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:904,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:905,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:905,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:906,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:906,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:907,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:907,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:909,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:909,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:911,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:915,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:918,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:919,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:920,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_dns.c:921,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:924,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:927,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:929,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:930,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:931,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:932,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:932,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:936,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:936,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:937,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:937,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:938,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:938,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:939,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:940,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:944,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:946,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:947,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:948,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:949,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_dns.c:950,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:953,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:955,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:957,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:958,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:959,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:960,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:960,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:964,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 881
    functionDepth: 9
    functionLinenumber: 881
    functionLinenumberEnd: 967
    functionName: dns_probe_settings_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - evutil_gettimeofday
    - htonl
    - evutil_snprintf
    - evdns_base_free
    - evdns_base_set_option
    - test_timeval_diff_leq
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:995,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:997,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:998,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1000,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1001,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1002,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1004,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1005,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1007,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1007,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1008,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1008,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1009,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1009,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1010,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1010,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1012,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:1013,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1017,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1017,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1022,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1023,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1024,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1025,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1026,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1026,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1029,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1033,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1035,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 984
    functionDepth: 9
    functionLinenumber: 984
    functionLinenumberEnd: 1038
    functionName: dns_reissue_test_impl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - htonl
    - memset
    - evutil_snprintf
    - evdns_base_free
    - evdns_base_set_option
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 10
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    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:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 10
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    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:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1059
    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:1076,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1078,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1083,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1085,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1086,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1088,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1088,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1089,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1089,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1090,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1090,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:1093,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1098,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1101,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1102,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1103,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1103,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1108,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1110,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1062
    functionDepth: 9
    functionLinenumber: 1062
    functionLinenumberEnd: 1115
    functionName: dns_inflight_test_impl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - htonl
    - evutil_snprintf
    - evdns_base_free
    - evdns_base_set_option
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1117
    functionDepth: 10
    functionLinenumber: 1117
    functionLinenumberEnd: 1121
    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:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1123
    functionDepth: 10
    functionLinenumber: 1123
    functionLinenumberEnd: 1127
    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:1139,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1140,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1143,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:1143,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1144,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1146,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1147,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1148,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1148,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1149,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1149,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:1151,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1155,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1157,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1159,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1160,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1161,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1162,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1166,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:1167,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:1169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1129
    functionDepth: 9
    functionLinenumber: 1129
    functionLinenumberEnd: 1170
    functionName: dns_disable_when_inactive_no_ns_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - event_base_free
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - tt_ptr_op
    - event_base_new
    - regress_dnsserver
    - evutil_snprintf
    - regress_clean_dnsserver
    - evdns_base_free
    - evdns_base_set_option
    - tt_int_op
    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:1185,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1186,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1190,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1191,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1192,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1192,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1193,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1195,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1196,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1198,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1199,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1201,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1203,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1172
    functionDepth: 9
    functionLinenumber: 1172
    functionLinenumberEnd: 1209
    functionName: dns_initialize_nameservers_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_get_nameserver_addr
    - tt_assert
    - evdns_base_new
    - tt_skip
    - evdns_base_free
    - tt_int_op
    - stat
    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:1222,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1223,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1225,1
    - Dst: load_nameservers_with_getadaptersaddresses
      Src: /src/libevent/test/regress_dns.c:1225,1
    - Dst: evdns_base_count_nameservers
      Src: /src/libevent/test/regress_dns.c:1226,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1227,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:1229,1
    - Dst: event_warn
      Src: /src/libevent/test/regress_dns.c:1231,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1232,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:1234,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1237,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1238,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1244,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1212
    functionDepth: 9
    functionLinenumber: 1212
    functionLinenumberEnd: 1249
    functionName: windows_dns_initialize_ipv6_nameservers_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_warn
    - TT_BLATHER
    - evdns_base_get_nameserver_addr
    - tt_assert
    - load_nameservers_with_getadaptersaddresses
    - evutil_closesocket
    - evdns_base_new
    - socket
    - tt_skip
    - evdns_base_count_nameservers
    - evdns_base_free
    - tt_int_op
    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:1264,1
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_dns.c:1264,1
    - Dst: strlen
      Src: /src/libevent/test/regress_dns.c:1265,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1268,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1270,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1272,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1274,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1276,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:1276,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1280,1
    - Dst: unlink
      Src: /src/libevent/test/regress_dns.c:1282,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:1283,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1255
    functionDepth: 9
    functionLinenumber: 1255
    functionLinenumberEnd: 1286
    functionName: dns_initialize_inactive_one_nameserver_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - unlink
    - tt_assert
    - event_base_loop
    - evdns_base_new
    - evutil_set_resolvconf_filename_
    - free
    - evdns_base_free
    - regress_make_tmpfile
    - strlen
    - tt_int_op
    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:1301,1
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_dns.c:1301,1
    - Dst: strlen
      Src: /src/libevent/test/regress_dns.c:1302,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1305,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1307,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1309,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1311,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1313,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:1313,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1317,1
    - Dst: unlink
      Src: /src/libevent/test/regress_dns.c:1319,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:1320,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1292
    functionDepth: 9
    functionLinenumber: 1292
    functionLinenumberEnd: 1323
    functionName: dns_initialize_inactive_two_nameservers_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - unlink
    - tt_assert
    - event_base_loop
    - evdns_base_new
    - evutil_set_resolvconf_filename_
    - free
    - evdns_base_free
    - regress_make_tmpfile
    - strlen
    - tt_int_op
    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:1333,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1335,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1337,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1338,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1339,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1339,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1340,1
    - Dst: evdns_base_get_nameserver_fd
      Src: /src/libevent/test/regress_dns.c:1340,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/test/regress_dns.c:1346,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1348,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1349,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1349,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1350,1
    - Dst: evdns_base_get_nameserver_fd
      Src: /src/libevent/test/regress_dns.c:1350,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/test/regress_dns.c:1352,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1353,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1354,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1354,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1355,1
    - Dst: evdns_base_get_nameserver_fd
      Src: /src/libevent/test/regress_dns.c:1355,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1327
    functionDepth: 9
    functionLinenumber: 1327
    functionLinenumberEnd: 1360
    functionName: dns_nameservers_no_default_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_get_nameserver_addr
    - tt_assert
    - evdns_base_get_nameserver_fd
    - evdns_base_new
    - evdns_base_resolv_conf_parse
    - evdns_base_free
    - tt_int_op
    - 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:1374,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1376,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1378,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1379,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/test/regress_dns.c:1381,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1382,1
    - Dst: close
      Src: /src/libevent/test/regress_dns.c:1386,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1388,1
    - Dst: unlink
      Src: /src/libevent/test/regress_dns.c:1390,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:1391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1362
    functionDepth: 9
    functionLinenumber: 1362
    functionLinenumberEnd: 1393
    functionName: dns_nameservers_no_nameservers_configured_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - unlink
    - tt_assert
    - evdns_base_new
    - evdns_base_resolv_conf_parse
    - tt_skip
    - free
    - close
    - evdns_base_free
    - regress_make_tmpfile
    - tt_int_op
    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:1418,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1420,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1424,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1425,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1426,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1429,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1432,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1435,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1436,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:1444,1
    - Dst: evdns_server_request_add_cname_reply
      Src: /src/libevent/test/regress_dns.c:1448,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1450,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1453,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1454,1
    - Dst: evdns_server_request_add_cname_reply
      Src: /src/libevent/test/regress_dns.c:1458,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1460,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1462,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1464,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1465,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1468,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_dns.c:1470,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1472,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1474,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:1480,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1483,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_dns.c:1485,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1487,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1490,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1491,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1496,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1499,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:1506,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1511,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1514,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1520,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1523,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1526,1
    - Dst: TT_GRIPE
      Src: /src/libevent/test/regress_dns.c:1529,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1533,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:1534,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1536,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:1537,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 106
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1404
    functionDepth: 6
    functionLinenumber: 1404
    functionLinenumberEnd: 1539
    functionName: be_getaddrinfo_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - TT_GRIPE
    - evutil_ascii_strcasecmp
    - TT_BLATHER
    - evdns_server_request_add_aaaa_reply
    - evdns_server_request_add_cname_reply
    - evdns_server_request_add_a_reply
    - evdns_server_request_respond
    - htonl
    - memset
    - evdns_server_request_drop
    - TT_FAIL
    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:1551,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: 1553
      start: 1542
    functionDepth: 2
    functionLinenumber: 1542
    functionLinenumberEnd: 1553
    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:1568,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1572,1
    - Dst: bufferevent_socket_get_dns_error
      Src: /src/libevent/test/regress_dns.c:1577,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1581,1
    - Dst: evutil_gai_strerror
      Src: /src/libevent/test/regress_dns.c:1582,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1585,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:1593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1596
    functionName: be_connect_hostname_event_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_base_loopexit
    - bufferevent_socket_get_dns_error
    - evutil_gai_strerror
    - TT_FAIL
    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:1602,1
    - Dst: bufferevent_socket_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1604,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: 1605
      start: 1598
    functionDepth: 9
    functionLinenumber: 1598
    functionLinenumberEnd: 1605
    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:1610,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:1611,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:1614,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1627,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1638,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1640,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_dns.c:1642,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1646,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_dns.c:1647,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_dns.c:1648,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:1650,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1652,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1653,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1656,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1657,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1659,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1660,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:1664,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1667,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1668,1
    - Dst: close
      Src: /src/libevent/test/regress_dns.c:1668,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1670,1
    - Dst: setrlimit
      Src: /src/libevent/test/regress_dns.c:1670,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:1677,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1678,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_dns.c:1679,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1680,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_dns.c:1681,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1687,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1687,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1690,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1690,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1697,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1701,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1705,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1705,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1708,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1708,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1711,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1711,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1714,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:1716,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress_dns.c:1716,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1717,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1719,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:1726,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1727,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1728,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1729,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1730,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:1732,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:1741,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:1746,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1750,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1752,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1754,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_dns.c:1758,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1760,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1762,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:1763,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_dns.c:1765,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1606
    functionDepth: 10
    functionLinenumber: 1606
    functionLinenumberEnd: 1767
    functionName: test_bufferevent_connect_hostname
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - bufferevent_setcb
    - socket
    - evconnlistener_get_fd
    - setrlimit
    - evdns_base_free
    - event_base_dispatch
    - tt_assert
    - evdns_base_new
    - bufferevent_socket_new
    - regress_get_socket_port
    - tt_skip
    - evconnlistener_free
    - bev_connect_hostname
    - evdns_base_nameserver_ip_add
    - event_base_get_method
    - strcmp
    - htonl
    - memset
    - evutil_getaddrinfo
    - bufferevent_free
    - evutil_snprintf
    - close
    - ARRAY_SIZE
    - tt_int_op
    - evconnlistener_new_bind
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:1784,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - err
    - res
    - ptr
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1777
    functionDepth: 2
    functionLinenumber: 1777
    functionLinenumberEnd: 1788
    functionName: gai_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_base_loopexit
    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:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1790
    functionDepth: 4
    functionLinenumber: 1790
    functionLinenumberEnd: 1795
    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:1812,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1813,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1814,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1816,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1817,1
    - Dst: evdns_base_load_hosts
      Src: /src/libevent/test/regress_dns.c:1820,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1822,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1822,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1823,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1823,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1829,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1832,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1833,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1835,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1837,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1838,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1839,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1842,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1846,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1849,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1850,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1852,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1853,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1854,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1857,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1858,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1861,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1863,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1864,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1865,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1866,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1867,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1868,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1872,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1873,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1875,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1877,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1878,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1879,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_dns.c:1880,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1881,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1882,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_dns.c:1883,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1884,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1885,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1886,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1890,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1891,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1895,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1897,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1898,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1899,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1901,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1902,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1903,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1905,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1906,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1907,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1908,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1912,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1913,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1916,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1918,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1919,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1920,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1922,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1923,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1924,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1926,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1927,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1928,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1929,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1933,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1934,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1937,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1939,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1940,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1941,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1943,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1944,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1945,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1947,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1948,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1949,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1950,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1954,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1955,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1958,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1960,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1961,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1962,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1964,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1965,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1966,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:1971,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1973,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1974,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1976,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1977,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1979,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1984,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1986,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1989,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1991,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:2009,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2011,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:2043,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2045,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2051,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2053,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2056,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2058,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_dns.c:2063,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2071,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2073,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2084,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2087,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2088,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2089,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2090,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2091,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2092,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2093,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2094,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2095,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2096,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2097,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_dns.c:2098,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2101,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2103,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2104,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2105,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2109,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2110,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2111,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2112,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2115,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2116,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2117,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2118,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2121,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2122,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2123,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2124,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2127,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2128,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2131,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2132,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2135,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2136,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2137,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2138,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2141,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2142,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2145,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2146,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2147,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2149,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2151,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2151,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2152,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2154,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2156,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2156,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2159,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2160,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2161,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2162,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2165,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2166,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2169,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2170,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2171,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2172,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_dns.c:2173,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2180,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: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2198,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2200,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2202,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2203,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2204,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2205,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2210,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2212,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2214,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2216,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2217,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2221,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2223,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2225,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2226,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2227,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2228,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2232,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2234,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2236,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2237,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2238,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2239,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2243,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2245,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2249,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2251,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2255,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2257,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2261,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2263,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:2274,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2276,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2279,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2281,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2287,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2289,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2291,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2292,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2293,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2294,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_dns.c:2295,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2298,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2302,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:2303,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2305,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:2307,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2309,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2312,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 325
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 1797
    functionDepth: 10
    functionLinenumber: 1797
    functionLinenumberEnd: 2315
    functionName: test_getaddrinfo_async
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - evdns_base_free
    - event_base_dispatch
    - test_ai_eq
    - tt_assert
    - evdns_base_new
    - ai_find_by_protocol
    - tt_ptr_op
    - evdns_base_nameserver_ip_add
    - evdns_base_load_hosts
    - TT_BLATHER
    - evutil_freeaddrinfo
    - memset
    - evdns_base_set_option
    - ai_find_by_family
    - evdns_getaddrinfo
    - tt_str_op
    - evutil_snprintf
    - ARRAY_SIZE
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    linkageType: ''
    returnType: void
    signature: void test_getaddrinfo_async(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2341,1
    - Dst: evdns_getaddrinfo_cancel
      Src: /src/libevent/test/regress_dns.c:2343,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:2346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2336
    functionDepth: 4
    functionLinenumber: 2336
    functionLinenumberEnd: 2347
    functionName: gaic_cancel_request_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - evdns_getaddrinfo_cancel
    linkageType: ''
    returnType: void
    signature: void gaic_cancel_request_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:2354,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:2356,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2349
    functionDepth: 6
    functionLinenumber: 2349
    functionLinenumberEnd: 2358
    functionName: gaic_server_response_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - free
    - evdns_server_request_add_a_reply
    - evdns_server_request_respond
    linkageType: ''
    returnType: void
    signature: void gaic_server_response_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2371,1
    - Dst: calloc
      Src: /src/libevent/test/regress_dns.c:2372,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2373,1
    - Dst: event_assign
      Src: /src/libevent/test/regress_dns.c:2375,1
    - Dst: event_add
      Src: /src/libevent/test/regress_dns.c:2376,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2364
    functionDepth: 6
    functionLinenumber: 2364
    functionLinenumberEnd: 2380
    functionName: gaic_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - calloc
    - tt_assert
    - event_assign
    - event_add
    - 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:2388,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2391,1
    - Dst: event_del
      Src: /src/libevent/test/regress_dns.c:2393,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2395,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:2396,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:2401,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2402,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:2406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - result
    - res
    - arg
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2383
    functionDepth: 4
    functionLinenumber: 2383
    functionLinenumberEnd: 2407
    functionName: gaic_getaddrinfo_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - tt_assert
    - evutil_freeaddrinfo
    - event_del
    - event_base_loopexit
    - memset
    - free
    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:2412,1
    - Dst: event_assign
      Src: /src/libevent/test/regress_dns.c:2426,1
    - Dst: snprintf
      Src: /src/libevent/test/regress_dns.c:2428,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2429,1
    - Dst: event_add
      Src: /src/libevent/test/regress_dns.c:2432,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: 2434
      start: 2409
    functionDepth: 10
    functionLinenumber: 2409
    functionLinenumberEnd: 2434
    functionName: gaic_launch
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - calloc
    - event_assign
    - event_add
    - evdns_getaddrinfo
    - snprintf
    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:2447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2448
    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:2457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - old
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2450
    functionDepth: 1
    functionLinenumber: 2450
    functionLinenumberEnd: 2458
    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:2464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2465
    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:2484,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_dns.c:2486,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_dns.c:2488,1
    - Dst: calloc
      Src: /src/libevent/test/regress_dns.c:2491,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:2492,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2493,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2474
    functionDepth: 9
    functionLinenumber: 2474
    functionLinenumberEnd: 2498
    functionName: testleak_setup
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - calloc
    - evdns_base_resolve_ipv4
    - event_enable_debug_mode
    - evdns_base_new
    - event_base_new
    - libevent_global_shutdown
    - event_set_mem_functions
    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:2505,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2507,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_dns.c:2509,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2510,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2516,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2518,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - testcase
    - env_
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2500
    functionDepth: 6
    functionLinenumber: 2500
    functionLinenumberEnd: 2522
    functionName: testleak_cleanup
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - tt_assert
    - free
    - evdns_base_free
    - tt_int_op
    - 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:2534,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2538,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2542,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - env_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2528
    functionDepth: 6
    functionLinenumber: 2528
    functionLinenumberEnd: 2546
    functionName: test_dbg_leak_cancel
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - event_base_free
    - evdns_cancel_request
    - 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:2554,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2555,1
    - Dst: evdns_base_resume
      Src: /src/libevent/test/regress_dns.c:2555,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2558,1
    - Dst: evdns_base_resume
      Src: /src/libevent/test/regress_dns.c:2558,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2561,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2572,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2574,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - env_
    - cancel
    - send_err_shutdown
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2548
    functionDepth: 6
    functionLinenumber: 2548
    functionLinenumberEnd: 2579
    functionName: dbg_leak_resume
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - tt_assert
    - evdns_base_resume
    - evdns_base_free
    - event_base_loop
    - evdns_cancel_request
    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: 2587
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2587
    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:2603,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2607,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - env_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2592
    functionDepth: 6
    functionLinenumber: 2592
    functionLinenumberEnd: 2610
    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:2625,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2627,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2629,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:2632,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:2633,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:2634,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress_dns.c:2636,1
    - Dst: bind
      Src: /src/libevent/test/regress_dns.c:2637,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:2638,1
    - Dst: evdns_add_server_port_with_base
      Src: /src/libevent/test/regress_dns.c:2640,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2643,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_dns.c:2645,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:2646,1
    - Dst: evdns_base_nameserver_sockaddr_add
      Src: /src/libevent/test/regress_dns.c:2648,1
    - Dst: gaic_launch
      Src: /src/libevent/test/regress_dns.c:2652,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2655,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2658,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2659,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2663,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2665,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2667,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:2669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2613
    functionDepth: 11
    functionLinenumber: 2613
    functionLinenumberEnd: 2670
    functionName: test_getaddrinfo_async_cancel_stress
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_base_free
    - evdns_base_nameserver_sockaddr_add
    - evutil_make_socket_nonblocking
    - bind
    - evdns_base_new
    - evutil_closesocket
    - socket
    - gaic_launch
    - getsockname
    - event_base_new
    - htonl
    - tt_abort_perror
    - memset
    - evdns_add_server_port_with_base
    - tt_int_op
    - evdns_base_free
    - evdns_close_server_port
    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:2677,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:2686,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2688,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2690,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2692,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2693,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2694,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2694,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2697,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:2697,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2700,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2705,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2707,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2709,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2711,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2672
    functionDepth: 9
    functionLinenumber: 2672
    functionLinenumberEnd: 2715
    functionName: dns_client_fail_requests_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - strcmp
    - evutil_snprintf
    - evdns_base_free
    - evdns_base_set_option
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:2720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - err
    - res
    - ptr
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2717
    functionDepth: 6
    functionLinenumber: 2717
    functionLinenumberEnd: 2721
    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:2735,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2737,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2739,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2741,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2742,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2744,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2744,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2747,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2747,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2752,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2754,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2756,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2758,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2722
    functionDepth: 10
    functionLinenumber: 2722
    functionLinenumberEnd: 2762
    functionName: dns_client_fail_requests_getaddrinfo_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_new
    - evdns_getaddrinfo
    - evutil_snprintf
    - evdns_base_free
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:2781,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_dns.c:2782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2777
    functionDepth: 6
    functionLinenumber: 2777
    functionLinenumberEnd: 2783
    functionName: race_base_run
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - THREAD_RETURN
    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:2790,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_dns.c:2791,1
    - Dst: EVTHREAD_COND_SIGNAL
      Src: /src/libevent/test/regress_dns.c:2793,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2794,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_dns.c:2795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2784
    functionDepth: 2
    functionLinenumber: 2784
    functionLinenumberEnd: 2796
    functionName: race_busywait_run
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - evdns_base_get_nameserver_addr
    - EVTHREAD_COND_SIGNAL
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    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:2806,1
    - Dst: EVTHREAD_COND_SIGNAL
      Src: /src/libevent/test/regress_dns.c:2807,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - result
    - res
    - arg
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2797
    functionDepth: 1
    functionLinenumber: 2797
    functionLinenumberEnd: 2810
    functionName: race_gai_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_COND_SIGNAL
    - EVLOCK_UNLOCK
    - 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:2827,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:2829,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2830,1
    - Dst: evthread_make_base_notifiable
      Src: /src/libevent/test/regress_dns.c:2831,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_dns.c:2832,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:2834,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2836,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2838,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2840,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2841,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2842,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2842,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_dns.c:2846,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_dns.c:2847,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_dns.c:2848,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2849,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2850,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2851,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_dns.c:2856,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:2858,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_dns.c:2860,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_dns.c:2863,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2867,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2867,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_dns.c:2872,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_dns.c:2881,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2887,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_dns.c:2887,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2889,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2892,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2894,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2898,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_dns.c:2899,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_dns.c:2900,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_dns.c:2901,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2902,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress_dns.c:2903,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2811
    functionDepth: 10
    functionLinenumber: 2811
    functionLinenumberEnd: 2905
    functionName: getaddrinfo_race_gotresolve_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - evthread_use_pthreads
    - evdns_base_free
    - evthread_make_base_notifiable
    - EVTHREAD_COND_WAIT_TIMED
    - tt_assert
    - evdns_base_new
    - EVTHREAD_FREE_LOCK
    - event_base_new
    - tt_abort_msg
    - EVTHREAD_ALLOC_LOCK
    - evdns_close_server_port
    - evdns_base_nameserver_ip_add
    - EVTHREAD_ALLOC_COND
    - ARRAY_SIZE
    - evutil_usleep_
    - EVTHREAD_FREE_COND
    - evdns_getaddrinfo
    - evutil_snprintf
    - THREAD_START
    - event_base_loopbreak
    - EVLOCK_UNLOCK
    - tt_int_op
    - regress_get_udp_dnsserver
    - EVLOCK_LOCK
    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:2913,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2922,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2923,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2925,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:2925,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2926,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2928,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2928,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2931,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2933,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2935,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2936,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:2936,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2937,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2938,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2941,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2943,1
    - Dst: event_base_dispatch
      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: tt_assert
      Src: /src/libevent/test/regress_dns.c:2948,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2949,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2951,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2953,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2955,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2956,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:2956,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2957,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2958,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2961,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2963,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2965,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2966,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2967,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2968,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2969,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2971,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2973,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2975,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2976,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:2977,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2978,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2979,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2981,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2983,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2985,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2986,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:2987,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2988,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2989,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2993,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:2995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2908
    functionDepth: 9
    functionLinenumber: 2908
    functionLinenumberEnd: 2996
    functionName: test_tcp_resolve
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - assert_request_results
    - REPEAT_256
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - REPEAT_64
    - regress_clean_dnsserver
    - evdns_base_free
    linkageType: ''
    returnType: void
    signature: void test_tcp_resolve(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3003,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3012,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3014,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3014,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3015,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3016,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3016,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3017,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3017,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3020,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3022,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3026,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3028,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:3029,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3031,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3032,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3036,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3037,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3045,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3045,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3045,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3053,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3055,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3055,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3056,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3058,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3059,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3059,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3060,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3062,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3066,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3068,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3068,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3070,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3071,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3076,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3078,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3087,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3094,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3095,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3097,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3097,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3098,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3098,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3099,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3101,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3101,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3103,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3105,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3108,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3110,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3114,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3116,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3125,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3132,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3133,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3135,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3136,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3137,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3139,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3139,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3141,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3143,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3146,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3148,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3152,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3154,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3171,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3171,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3172,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3173,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3174,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3175,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3175,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3178,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3180,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3181,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3182,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3184,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3184,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3186,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3188,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3189,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3189,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3192,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3194,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3195,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3196,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3198,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3198,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3200,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3202,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3203,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:3204,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3208,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3210,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3219,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3220,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3222,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3222,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3223,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3223,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3230,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3266,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3267,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3269,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3270,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3270,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3271,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3271,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3272,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3272,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3273,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3273,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3274,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3274,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3277,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3278,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3278,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3279,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3279,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3280,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3280,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3281,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3281,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3282,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3282,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3283,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3283,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3286,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3287,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3287,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3288,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3288,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3289,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3289,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3290,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3290,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3291,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3291,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3292,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3292,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3295,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3296,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3296,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3297,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3297,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3298,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3298,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3299,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3299,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3306,1
    - Dst: regress_get_tcp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3324,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3325,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3327,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3328,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3330,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3331,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3331,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3332,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3332,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3333,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3333,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3334,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3334,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3335,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3335,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3342,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3344,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3346,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3348,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3356,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3357,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3358,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3359,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 177
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3457
      start: 2998
    functionDepth: 9
    functionLinenumber: 2998
    functionLinenumberEnd: 3457
    functionName: test_tcp_resolve_pipeline
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_server_port_set_option
    - evutil_closesocket
    - REPEAT_64
    - evdns_base_free
    - event_base_dispatch
    - tt_assert
    - REPEAT_256
    - evdns_base_new
    - regress_dnsserver
    - regress_clean_dnsserver
    - evdns_base_nameserver_ip_add
    - DNS_LEGACY
    - evdns_base_set_option
    - regress_get_tcp_dnsserver
    - evdns_base_resolve_ipv4
    - assert_request_results
    - evutil_snprintf
    - ARRAY_SIZE
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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:3045,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3045,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3045,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3053,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3055,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3055,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3056,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3058,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3059,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3059,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3060,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3062,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3066,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3068,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3068,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3070,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3071,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3076,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3040
    functionDepth: 9
    functionLinenumber: 3040
    functionLinenumberEnd: 3079
    functionName: test_tcp_resolve_many_clients
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - assert_request_results
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - REPEAT_64
    - regress_clean_dnsserver
    - evdns_base_free
    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:3087,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3094,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3095,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3097,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3097,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3098,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3098,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3099,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3101,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3101,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3103,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3105,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3108,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3110,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3114,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3081
    functionDepth: 9
    functionLinenumber: 3081
    functionLinenumberEnd: 3117
    functionName: test_tcp_timeout
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - regress_clean_dnsserver
    - evdns_base_free
    - evdns_base_set_option
    linkageType: ''
    returnType: void
    signature: void test_tcp_timeout(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3125,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3132,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3133,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3135,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3136,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3137,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3139,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3139,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3141,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3143,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3146,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3148,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3152,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3119
    functionDepth: 9
    functionLinenumber: 3119
    functionLinenumberEnd: 3155
    functionName: test_tcp_notimpl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - regress_clean_dnsserver
    - evdns_base_free
    linkageType: ''
    returnType: void
    signature: void test_tcp_notimpl(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3171,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3171,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3172,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3173,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3174,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3175,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3175,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3178,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3180,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3181,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3182,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3184,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3184,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3186,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3188,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3189,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3189,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3192,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3194,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3195,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3196,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3198,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3198,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3200,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3202,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3203,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:3204,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3208,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3158
    functionDepth: 9
    functionLinenumber: 3158
    functionLinenumberEnd: 3211
    functionName: test_edns
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - event_base_dispatch
    - tt_assert
    - evdns_base_resolve_ipv4
    - assert_request_results
    - REPEAT_256
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - REPEAT_64
    - regress_clean_dnsserver
    - evdns_base_free
    - evdns_base_set_option
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_edns(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3219,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3220,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3222,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3222,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3223,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3223,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3213
    functionDepth: 9
    functionLinenumber: 3213
    functionLinenumberEnd: 3231
    functionName: test_set_so_rcvbuf_so_sndbuf
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - tt_assert
    - evdns_base_new
    - evdns_base_free
    - evdns_base_set_option
    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:3266,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3267,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3269,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3270,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3270,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3271,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3271,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3272,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3272,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3273,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3273,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3274,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3274,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3277,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3278,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3278,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3279,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3279,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3280,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3280,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3281,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3281,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3282,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3282,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3283,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3283,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3286,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3287,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3287,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3288,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3288,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3289,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3289,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3290,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3290,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3291,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3291,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3292,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3292,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3295,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3296,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3296,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3297,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3297,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3298,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3298,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3299,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3299,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3233
    functionDepth: 9
    functionLinenumber: 3233
    functionLinenumberEnd: 3307
    functionName: test_set_option
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_base_new
    - evdns_base_set_option
    - evdns_base_free
    - 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:3324,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3325,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3327,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3328,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3330,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3331,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3331,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3332,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3332,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3333,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3333,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3334,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3334,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3335,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3335,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3342,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3344,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3346,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3309
    functionDepth: 6
    functionLinenumber: 3309
    functionLinenumberEnd: 3349
    functionName: test_set_server_option
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_server_port_set_option
    - regress_get_tcp_dnsserver
    - tt_assert
    - evutil_closesocket
    - ARRAY_SIZE
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    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: 3354
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3354
    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:
    - evutil_closesocket
    - TT_BLATHER
    - evconnlistener_disable
    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:
    - event_base_dispatch
    - tt_assert
    - EVUTIL_CLOSESOCKET
    - strstr
    - evconnlistener_get_base
    - evconnlistener_get_fd
    - getsockname
    - htonl
    - memset
    - evconnlistener_free
    - evutil_socket_connect_
    - tt_ptr_op
    - tt_int_op
    - evconnlistener_new_bind
    - Sleep
    - ntohl
    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:
    - event_base_dispatch
    - evconnlistener_set_error_cb
    - tt_assert
    - evconnlistener_free
    - evconnlistener_new
    - tt_int_op
    - strstr
    - send
    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:
    - evutil_closesocket
    - TT_BLATHER
    - 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:
    - event_base_dispatch
    - tt_assert
    - evconnlistener_get_fd
    - getsockname
    - htonl
    - memset
    - evutil_socket_connect_
    - evconnlistener_new_bind
    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:
    - event_base_dispatch
    - tt_assert
    - evconnlistener_get_fd
    - getsockname
    - htonl
    - memset
    - evconnlistener_free
    - evutil_socket_connect_
    - tt_int_op
    - evconnlistener_new_bind
    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_DIE
    - tt_assert
    - setrlimit
    - evconnlistener_free
    - evconnlistener_new
    - event_base_loop
    - tt_int_op
    - send
    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:
    - evconnlistener_disable
    - THREAD_RETURN
    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:
    - evutil_closesocket
    - THREAD_START
    - 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
    - evconnlistener_get_fd
    - getsockname
    - htonl
    - memset
    - evconnlistener_free
    - evutil_socket_connect_
    - event_base_loop
    - evconnlistener_new_bind
    - THREAD_JOIN
    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:
    - evutil_usleep_
    - THREAD_START
    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
    - THREAD_JOIN
    - evconnlistener_free
    - evconnlistener_new
    - event_base_loop
    - tt_int_op
    - evconnlistener_set_error_cb
    - send
    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:
    - GetTempPathW
    - GetLongPathNameW
    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:
    - evutil_check_working_afunix_
    - unlink
    - TT_BLATHER
    - tt_assert_msg
    - is_unicode_temp_path
    - tt_skip
    - memset
    - close
    - strlcpy
    - EVUTIL_SOCKET_ERROR
    - evconnlistener_free
    - regress_make_tmpfile
    - free
    - evconnlistener_new_bind
    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:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct evhttp_ext_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    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:140,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_http.c:142,1
    - Dst: event_errx
      Src: /src/libevent/test/regress_http.c:148,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_http.c:151,1
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/libevent/test/regress_http.c:151,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: 157
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: http_bind
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_errx
    - evhttp_bind_socket_with_handle
    - evhttp_bound_socket_get_fd
    - 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:163,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_http.c:163,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_http.c:165,1
    - Dst: ssl_getcert
      Src: /src/libevent/test/regress_http.c:165,1
    - Dst: ssl_getkey
      Src: /src/libevent/test/regress_http.c:165,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_http.c:166,1
    - Dst: ssl_getkey
      Src: /src/libevent/test/regress_http.c:166,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test/regress_http.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - arg
    argTypes:
    - struct event_base*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: https_bev
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - SSL_use_certificate
    - get_ssl_ctx
    - ssl_getkey
    - SSL_use_PrivateKey
    - ssl_getcert
    - 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:177,1
    - Dst: get_mbedtls_config
      Src: /src/libevent/test/regress_http.c:177,1
    - Dst: bufferevent_mbedtls_socket_new
      Src: /src/libevent/test/regress_http.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - arg
    argTypes:
    - struct event_base*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    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:190,1
    - Dst: http_bind
      Src: /src/libevent/test/regress_http.c:192,1
    - Dst: init_ssl
      Src: /src/libevent/test/regress_http.c:196,1
    - Dst: evhttp_set_bevcb
      Src: /src/libevent/test/regress_http.c:197,1
    - Dst: evhttp_set_bevcb
      Src: /src/libevent/test/regress_http.c:202,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/test/regress_http.c:206,1
    - Dst: evhttp_set_ext_method_cmp
      Src: /src/libevent/test/regress_http.c:209,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
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:230,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:231,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:232,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:233,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:234,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:235,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: 237
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 237
    functionName: http_setup_gencb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_set_ext_method_cmp
    - http_bind
    - evhttp_new
    - init_ssl
    - evhttp_set_bevcb
    - evhttp_set_gencb
    - evhttp_set_cb
    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:240,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: 240
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 240
    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:257,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:260,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_http.c:261,1
    - Dst: event_warn
      Src: /src/libevent/test/regress_http.c:262,1
    - Dst: socket
      Src: /src/libevent/test/regress_http.c:268,1
    - Dst: event_err
      Src: /src/libevent/test/regress_http.c:270,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress_http.c:272,1
    - Dst: connect
      Src: /src/libevent/test/regress_http.c:273,1
    - Dst: WSAGetLastError
      Src: /src/libevent/test/regress_http.c:275,1
    - Dst: event_err
      Src: /src/libevent/test/regress_http.c:278,1
    - Dst: event_err
      Src: /src/libevent/test/regress_http.c:281,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_http.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 246
    functionDepth: 7
    functionLinenumber: 246
    functionLinenumberEnd: 288
    functionName: http_connect
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached:
    - event_warn
    - event_err
    - evutil_make_socket_nonblocking
    - socket
    - evutil_freeaddrinfo
    - evutil_getaddrinfo
    - WSAGetLastError
    - memset
    - evutil_snprintf
    - connect
    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:294,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:295,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:302,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - struct evbuffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: evbuffer_datacmp
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - evbuffer_get_length
    - evbuffer_pullup
    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:319,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - struct evbuffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: evbuffer_contains
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strlen
    - evbuffer_search
    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:329,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:329,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:330,1
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/test/regress_http.c:334,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:334,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/test/regress_http.c:338,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:338,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:343,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:343,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:348,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:349,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:351,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:353,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:355,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 359
    functionName: http_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_new
    - evhttp_request_get_input_headers
    - exit
    - evhttp_parse_headers_
    - bufferevent_disable
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - evbuffer_contains
    - evhttp_parse_firstline_
    - bufferevent_get_input
    - evhttp_request_free
    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:364,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:364,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: http_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - bufferevent_get_output
    - bufferevent_enable
    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:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 379
    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:387,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:389,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:389,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:391,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:392,1
    - Dst: evhttp_request_get_connection
      Src: /src/libevent/test/regress_http.c:394,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:395,1
    - Dst: evhttp_connection_get_server
      Src: /src/libevent/test/regress_http.c:395,1
    - Dst: evhttp_connection_get_addr
      Src: /src/libevent/test/regress_http.c:401,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:402,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_http.c:405,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:406,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:406,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:406,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_http.c:408,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:409,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:409,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:409,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:411,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:418,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:418,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:420,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:421,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:421,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: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:429,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:429,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:431,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:437,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:437,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:438,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:438,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:442,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 384
    functionDepth: 9
    functionLinenumber: 384
    functionLinenumberEnd: 447
    functionName: http_basic_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strncmp
    - TT_BLATHER
    - evhttp_request_get_input_headers
    - tt_assert
    - evutil_format_sockaddr_port_
    - evbuffer_add_printf
    - evhttp_connection_get_server
    - evhttp_find_header
    - evbuffer_new
    - strcmp
    - evhttp_request_get_connection
    - evhttp_add_header
    - evhttp_request_get_output_headers
    - evbuffer_free
    - evhttp_connection_get_addr
    - evhttp_send_reply
    - strlen
    - tt_fail_msg
    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:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 6
    functionLinenumber: 449
    functionLinenumberEnd: 454
    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:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 461
    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:466,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:470,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:472,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 9
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: http_large_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_printf
    - evbuffer_free
    - evbuffer_new
    - evhttp_send_reply
    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:491,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:495,1
    - Dst: evhttp_send_reply_chunk
      Src: /src/libevent/test/regress_http.c:496,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:497,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:500,1
    - Dst: evhttp_send_reply_end
      Src: /src/libevent/test/regress_http.c:503,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 488
    functionDepth: 9
    functionLinenumber: 488
    functionLinenumberEnd: 506
    functionName: http_chunked_trickle_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - evhttp_send_reply_chunk
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - free
    - evhttp_send_reply_end
    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:512,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:513,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:515,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:519,1
    - Dst: evhttp_request_get_uri
      Src: /src/libevent/test/regress_http.c:519,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:520,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:520,1
    - Dst: evhttp_send_reply_start
      Src: /src/libevent/test/regress_http.c:524,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 508
    functionDepth: 5
    functionLinenumber: 508
    functionLinenumberEnd: 529
    functionName: http_chunked_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_base_once
    - strcmp
    - evhttp_request_get_output_headers
    - memset
    - evhttp_request_get_uri
    - evhttp_send_reply_start
    - malloc
    - evhttp_add_header
    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:534,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:535,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_http.c:537,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:537,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:538,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 531
    functionDepth: 6
    functionLinenumber: 531
    functionLinenumberEnd: 541
    functionName: http_chunked_input_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_add_buffer
    - evbuffer_new
    - evbuffer_free
    - 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:550,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_http.c:553,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_http.c:553,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:556,1
    - Dst: bufferevent_openssl_filter_new
      Src: /src/libevent/test/regress_http.c:557,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test/regress_http.c:560,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:563,1
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/test/regress_http.c:567,1
    - Dst: get_mbedtls_config
      Src: /src/libevent/test/regress_http.c:567,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libevent/test/regress_http.c:568,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:571,1
    - Dst: bufferevent_mbedtls_filter_new
      Src: /src/libevent/test/regress_http.c:572,1
    - Dst: bufferevent_mbedtls_socket_new
      Src: /src/libevent/test/regress_http.c:575,1
    - Dst: bufferevent_mbedtls_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - base
    - fd
    - ssl_mask
    - flags_
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 543
    functionDepth: 6
    functionLinenumber: 543
    functionLinenumberEnd: 583
    functionName: create_bev
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached:
    - get_mbedtls_config
    - bufferevent_openssl_set_allow_dirty_shutdown
    - SSL_new
    - mbedtls_ssl_set_hostname
    - bufferevent_socket_new
    - get_ssl_ctx
    - bufferevent_openssl_filter_new
    - bufferevent_mbedtls_dyncontext_new
    - bufferevent_mbedtls_filter_new
    - bufferevent_mbedtls_set_allow_dirty_shutdown
    - bufferevent_openssl_socket_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:588,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:588,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:593,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:593,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 585
    functionDepth: 8
    functionLinenumber: 585
    functionLinenumberEnd: 599
    functionName: http_half_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_write
    - bufferevent_get_output
    - strlen
    - evbuffer_get_length
    - bufferevent_enable
    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:610,1
    - Dst: http_bind
      Src: /src/libevent/test/regress_http.c:616,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:617,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:618,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:621,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:624,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:625,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:627,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:629,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:632,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:637,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:638,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:641,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:643,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:646,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:647,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:649,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:651,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:653,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:660,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:661,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:664,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:666,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:669,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:670,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:672,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:681,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:681,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:684,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:685,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:687,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - arg
    - ssl
    - request_line
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 601
    functionDepth: 9
    functionLinenumber: 601
    functionLinenumberEnd: 691
    functionName: http_basic_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - exit
    - bufferevent_setcb
    - evbuffer_add_printf
    - create_bev
    - http_bind
    - fprintf
    - http_setup
    - http_connect
    - bufferevent_free
    - bufferevent_get_output
    - strlen
    - tt_int_op
    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:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 692
    functionDepth: 10
    functionLinenumber: 692
    functionLinenumberEnd: 693
    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:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 10
    functionLinenumber: 694
    functionLinenumberEnd: 695
    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:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 706
    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:712,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: http_delay_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - evutil_timerclear
    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:722,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:724,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:724,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:725,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:727,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 719
    functionDepth: 9
    functionLinenumber: 719
    functionLinenumberEnd: 729
    functionName: http_badreq_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_printf
    - evbuffer_new
    - evhttp_request_get_output_headers
    - evbuffer_free
    - evhttp_send_reply
    - evhttp_add_header
    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:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    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:744,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:744,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_http.c:745,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:746,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:747,1
    - Dst: evbuffer_contains
      Src: /src/libevent/test/regress_http.c:751,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:751,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:752,1
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/test/regress_http.c:756,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:756,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/test/regress_http.c:760,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:760,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:765,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:765,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:770,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:771,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:771,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:771,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:771,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_http.c:774,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 775
    functionName: http_badreq_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_new
    - evhttp_request_get_input_headers
    - evhttp_parse_headers_
    - bufferevent_disable
    - evhttp_find_header
    - event_base_loopexit
    - evbuffer_contains
    - evhttp_parse_firstline_
    - shutdown
    - bufferevent_get_input
    - evhttp_request_free
    - bufferevent_getfd
    - evbuffer_get_length
    - evbuffer_drain
    - TT_FAIL
    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:780,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: http_badreq_successcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_base_loopexit
    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:793,1
    - Dst: http_bind
      Src: /src/libevent/test/regress_http.c:799,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_http.c:800,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:803,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:804,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:807,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:808,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:810,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:812,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:817,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:817,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_http.c:819,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:820,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:822,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:824,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:826,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:827,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:830,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:831,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:837,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:838,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:841,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:842,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:844,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:846,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:854,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:854,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:856,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:858,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:860,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:862,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:865,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:867,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 784
    functionDepth: 8
    functionLinenumber: 784
    functionLinenumberEnd: 870
    functionName: http_bad_request_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - evhttp_free
    - bufferevent_setcb
    - evutil_closesocket
    - http_bind
    - shutdown
    - bufferevent_enable
    - event_base_dispatch
    - tt_assert
    - bufferevent_write
    - fprintf
    - bufferevent_socket_new
    - http_setup
    - http_connect
    - evutil_timerclear
    - TT_DIE
    - exit
    - bufferevent_free
    - strlen
    - tt_int_op
    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:878,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:881,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/test/regress_http.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 4
    functionLinenumber: 874
    functionLinenumberEnd: 883
    functionName: http_large_delay_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_fail_
    - event_base_once
    - evutil_timerclear
    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:888,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:889,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:890,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:890,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:893,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:895,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:897,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:899,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:901,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:903,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:905,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:907,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:910,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:911,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:914,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:915,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:916,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:919,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:920,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:923,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 885
    functionDepth: 9
    functionLinenumber: 885
    functionLinenumberEnd: 927
    functionName: http_genmethod_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - TT_BLATHER
    - exit
    - evbuffer_add_printf
    - evhttp_find_header
    - evbuffer_new
    - fprintf
    - strcmp
    - evbuffer_free
    - evhttp_send_reply
    - evhttp_request_get_uri
    - evhttp_request_get_command
    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:937,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:942,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:943,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:944,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:946,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:949,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:950,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:952,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:954,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:955,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:963,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:965,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:966,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:969,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:971,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:974,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: 975
      start: 929
    functionDepth: 9
    functionLinenumber: 929
    functionLinenumberEnd: 975
    functionName: http_genmethod_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_setcb
    - evbuffer_add_printf
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - evhttp_set_allowed_methods
    - http_connect
    - bufferevent_free
    - bufferevent_get_output
    - tt_int_op
    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:983,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:984,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:984,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:987,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:989,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:990,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:993,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:994,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:997,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 980
    functionDepth: 9
    functionLinenumber: 980
    functionLinenumberEnd: 1001
    functionName: http_custom_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - TT_BLATHER
    - exit
    - evbuffer_add_printf
    - evhttp_find_header
    - fprintf
    - evbuffer_new
    - evbuffer_free
    - evhttp_send_reply
    - evhttp_request_get_command
    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:1015,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:1017,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1019,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1020,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1021,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1024,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1025,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1027,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1036,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1036,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1038,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1040,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1041,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1044,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1046,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1003
    functionDepth: 8
    functionLinenumber: 1003
    functionLinenumberEnd: 1050
    functionName: http_custom_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - evhttp_set_allowed_methods
    - http_connect
    - bufferevent_free
    - strlen
    - tt_int_op
    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:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 10
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    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:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 10
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    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:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 10
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    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:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1070
    functionDepth: 10
    functionLinenumber: 1070
    functionLinenumberEnd: 1074
    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:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1076
    functionDepth: 10
    functionLinenumber: 1076
    functionLinenumberEnd: 1080
    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:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 10
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    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:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 10
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    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:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1094
    functionDepth: 10
    functionLinenumber: 1094
    functionLinenumberEnd: 1098
    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:1107,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1108,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:1111,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:1112,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1113,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1114,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1120
    functionName: http_sent_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - exit
    - fprintf
    - evhttp_request_get_output_buffer
    - evbuffer_get_length
    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:1125,1
    - Dst: evhttp_request_set_on_complete_cb
      Src: /src/libevent/test/regress_http.c:1127,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:1129,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:1130,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:1133,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1122
    functionDepth: 9
    functionLinenumber: 1122
    functionLinenumberEnd: 1138
    functionName: http_on_complete_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evhttp_request_set_on_complete_cb
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - 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:1148,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1153,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1154,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1157,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1158,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1159,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1168,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1168,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1170,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1172,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1174,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1176,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1140
    functionDepth: 8
    functionLinenumber: 1140
    functionLinenumberEnd: 1180
    functionName: http_on_complete_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - http_connect
    - bufferevent_free
    - strlen
    - tt_int_op
    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:1189,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:1189,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1194,1
    - Dst: strdup
      Src: /src/libevent/test/regress_http.c:1195,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1182
    functionDepth: 5
    functionLinenumber: 1182
    functionLinenumberEnd: 1199
    functionName: http_allowed_methods_eventcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strdup
    - event_base_loopexit
    - bufferevent_get_input
    - free
    - 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:1210,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1216,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:1219,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1222,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1223,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1224,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1225,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1234,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1234,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1236,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1238,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1239,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1241,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1242,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1243,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1244,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1253,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1253,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1255,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1257,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1258,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1260,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1261,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1263,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1264,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1273,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1273,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1275,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1277,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1278,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1280,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1281,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1283,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1284,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1293,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1293,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1295,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1297,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1298,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1299,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1300,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1302,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1305,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1306,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1306,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1306,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1309,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1310,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1310,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1310,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1313,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1314,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1314,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1314,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1317,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1318,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1318,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1318,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1322,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1324,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1326,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1328,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1330,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1332,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1334,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1201
    functionDepth: 8
    functionLinenumber: 1201
    functionLinenumberEnd: 1337
    functionName: http_allowed_methods_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - strncmp
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - evhttp_set_allowed_methods
    - http_connect
    - bufferevent_free
    - free
    - strlen
    - tt_int_op
    - bufferevent_enable
    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:1359,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_http.c:1363,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1365,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:1367,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_http.c:1371,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_http.c:1371,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test/regress_http.c:1372,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:1375,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:1377,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_http.c:1379,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1382,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1384,1
    - Dst: evhttp_connection_set_family
      Src: /src/libevent/test/regress_http.c:1385,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1387,1
    - Dst: evhttp_connection_get_base
      Src: /src/libevent/test/regress_http.c:1387,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1391,1
    - Dst: evhttp_connection_get_server
      Src: /src/libevent/test/regress_http.c:1391,1
    - Dst: evhttp_connection_set_ext_method_cmp
      Src: /src/libevent/test/regress_http.c:1394,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1400,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1403,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1403,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1406,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1407,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1408,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1411,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1413,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1418,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_add_header
      Src: /src/libevent/test/regress_http.c:1428,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1428,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1431,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1432,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1435,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1440,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1443,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1443,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1446,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1447,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1450,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1455,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1458,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1458,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1461,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1462,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1465,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1469,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1471,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: 1472
      start: 1343
    functionDepth: 7
    functionLinenumber: 1343
    functionLinenumberEnd: 1472
    functionName: http_connection_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - evhttp_request_get_output_headers
    - get_ssl_ctx
    - bufferevent_openssl_socket_new
    - evhttp_connection_base_bufferevent_new
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - evhttp_connection_set_family
    - fprintf
    - evhttp_connection_free
    - tt_skip
    - evhttp_set_allowed_methods
    - tt_abort_msg
    - bufferevent_openssl_set_allow_dirty_shutdown
    - evhttp_connection_get_server
    - http_setup
    - evhttp_make_request
    - evhttp_connection_set_ext_method_cmp
    - SSL_new
    - evhttp_connection_get_base
    - exit
    - evhttp_connection_base_new
    - evhttp_add_header
    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:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1474
    functionDepth: 8
    functionLinenumber: 1474
    functionLinenumberEnd: 1478
    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:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1479
    functionDepth: 8
    functionLinenumber: 1479
    functionLinenumberEnd: 1483
    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:1500,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1503,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:1503,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:1505,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1506,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:1510,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:1511,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1515,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1516,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1523,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1526,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1526,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1529,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1530,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1531,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1534,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1536,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1541,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1544,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1544,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1550,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1550,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1553,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1554,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1557,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1562,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1565,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1565,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1568,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1569,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1572,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1576,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1578,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:1580,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:1581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1490
    functionDepth: 9
    functionLinenumber: 1490
    functionLinenumberEnd: 1582
    functionName: http_connection_async_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - evhttp_request_get_output_headers
    - evdns_base_free
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - evdns_base_new
    - fprintf
    - evhttp_connection_free
    - regress_dnsserver
    - tt_abort_msg
    - regress_clean_dnsserver
    - evdns_base_nameserver_ip_add
    - http_setup
    - evhttp_make_request
    - exit
    - evhttp_connection_base_new
    - evutil_snprintf
    - evhttp_add_header
    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:1591,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1596,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1597,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1603,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1604,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:1607,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1608,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1608,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1609,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1609,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1610,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1610,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1612,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1613,1
    - Dst: evhttp_connection_free_on_completion
      Src: /src/libevent/test/regress_http.c:1622,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:1625,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1626,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1629,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/test/regress_http.c:1629,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1633,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1584
    functionDepth: 7
    functionLinenumber: 1584
    functionLinenumberEnd: 1636
    functionName: http_autofree_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_new
    - http_setup
    - TAILQ_FIRST
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_connection_free_on_completion
    - ARRAY_SIZE
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_autofree_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1641,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1643
    functionName: http_request_never_call
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    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:1647,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1644
    functionDepth: 2
    functionLinenumber: 1644
    functionLinenumberEnd: 1650
    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:1655,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1656,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:1656,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1659
    functionName: http_timed_out_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_assert
    - event_base_loopexit
    - 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:1666,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1667,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:1673,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - error
    - arg
    argTypes:
    - enum evhttp_request_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1662
    functionDepth: 2
    functionLinenumber: 1662
    functionLinenumberEnd: 1678
    functionName: http_request_error_cb_with_cancel
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - fprintf
    - event_base_loopexit
    - exit
    - evutil_timerclear
    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:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1679
    functionDepth: 5
    functionLinenumber: 1679
    functionLinenumberEnd: 1685
    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:1689,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1690,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: 1691
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1691
    functionName: http_no_write
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    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:1701,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - evcons
    argTypes:
    - struct evhttp_connection**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1692
    functionDepth: 4
    functionLinenumber: 1692
    functionLinenumberEnd: 1704
    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:1710,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1716,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1717,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:1718,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1720,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1721,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1722,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1722,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1728,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1706
    functionDepth: 7
    functionLinenumber: 1706
    functionLinenumberEnd: 1731
    functionName: http_fill_backlog
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_new
    - calloc
    - tt_assert
    - evhttp_connection_set_timeout
    - evhttp_connection_base_new
    - fprintf
    - http_free_evcons
    - evhttp_make_request
    - tt_int_op
    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:1747,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1751,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: 1754
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1754
    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:1774,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1779,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:1779,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:1781,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1782,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:1788,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:1789,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_http.c:1791,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_http.c:1792,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_http.c:1793,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_http.c:1802,1
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1803,1
    - Dst: http_fill_backlog
      Src: /src/libevent/test/regress_http.c:1810,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1811,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1814,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1818,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:1820,1
    - Dst: evhttp_connection_get_bufferevent
      Src: /src/libevent/test/regress_http.c:1823,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_http.c:1827,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:1827,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1834,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:1835,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1838,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1838,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1841,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1841,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:1844,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:1848,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1850,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1853,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1855,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1860,1
    - Dst: http_fill_backlog
      Src: /src/libevent/test/regress_http.c:1863,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1864,1
    - Dst: http_cancel_test_bad_request_new
      Src: /src/libevent/test/regress_http.c:1867,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1869,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1872,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1872,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1875,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1875,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1878,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1883,1
    - Dst: http_fill_backlog
      Src: /src/libevent/test/regress_http.c:1886,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1887,1
    - Dst: http_cancel_test_bad_request_new
      Src: /src/libevent/test/regress_http.c:1890,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1892,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1895,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1895,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1898,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1898,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1901,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1904,1
    - Dst: evbuffer_remove_cb
      Src: /src/libevent/test/regress_http.c:1906,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:1906,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1908,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1910,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:1912,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:1913,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1915,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_http.c:1917,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1755
    functionDepth: 9
    functionLinenumber: 1755
    functionLinenumberEnd: 1918
    functionName: http_cancel_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_get_bufferevent
    - event_base_once
    - evhttp_free
    - event_base_free
    - evhttp_connection_set_timeout
    - evhttp_request_get_output_headers
    - bufferevent_get_output
    - evdns_base_free
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - evdns_base_new
    - evhttp_request_set_error_cb
    - evbuffer_add_cb
    - evhttp_connection_free
    - regress_dnsserver
    - event_base_new
    - regress_clean_dnsserver
    - evdns_base_nameserver_ip_add
    - http_setup
    - http_fill_backlog
    - http_free_evcons
    - evhttp_make_request
    - evdns_base_set_option
    - evutil_timerclear
    - http_cancel_test_bad_request_new
    - evbuffer_remove_cb
    - evhttp_connection_base_new
    - evutil_snprintf
    - tt_int_op
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_cancel_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:1923,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1925
    functionName: http_request_no_action_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void http_request_no_action_done(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:1932,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1935,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:1939,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1940,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:1941,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:1945,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:1945,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1946,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:1950,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:1950,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1950,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1951,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:1952,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:1952,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1953,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:1957,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:1957,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1958,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1964,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1927
    functionDepth: 5
    functionLinenumber: 1927
    functionLinenumberEnd: 1965
    functionName: http_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - strlen
    - evbuffer_get_length
    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:1970,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1971,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1972,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:1976,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1967
    functionDepth: 2
    functionLinenumber: 1967
    functionLinenumberEnd: 1978
    functionName: http_request_expect_error
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - exit
    - fprintf
    - event_base_loopexit
    - 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:1992,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:1997,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:1998,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:1999,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:2000,1
    - Dst: evhttp_add_virtual_host
      Src: /src/libevent/test/regress_http.c:2002,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2003,1
    - Dst: evhttp_add_virtual_host
      Src: /src/libevent/test/regress_http.c:2006,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2007,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2011,1
    - Dst: evhttp_add_server_alias
      Src: /src/libevent/test/regress_http.c:2011,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2012,1
    - Dst: evhttp_add_server_alias
      Src: /src/libevent/test/regress_http.c:2012,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2014,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2015,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2018,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2021,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2021,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2024,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2026,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2029,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2031,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2036,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2039,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2039,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2042,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2044,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2045,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2048,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2050,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2055,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2058,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2058,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2061,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2063,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2066,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2068,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2073,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2076,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2076,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2079,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2081,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2084,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2086,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2091,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2094,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2094,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2097,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2099,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2104,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:2109,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2110,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:2113,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2114,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:2116,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:2126,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2126,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2128,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2130,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:2132,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:2133,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2137,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 1981
    functionDepth: 8
    functionLinenumber: 1981
    functionLinenumberEnd: 2140
    functionName: http_virtual_host_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - bufferevent_setcb
    - evutil_closesocket
    - evhttp_new
    - evhttp_request_get_output_headers
    - evhttp_set_cb
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - bufferevent_write
    - evhttp_add_virtual_host
    - fprintf
    - bufferevent_socket_new
    - evhttp_connection_free
    - tt_abort_msg
    - evhttp_add_server_alias
    - http_setup
    - http_connect
    - evhttp_make_request
    - exit
    - evhttp_connection_base_new
    - bufferevent_free
    - strlen
    - tt_int_op
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_virtual_host_test(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2148,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2149,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2152,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2153,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2154,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2157,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2157,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2158,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2159,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2163,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2163,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2164,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2165,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:2168,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2168,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2168,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2170,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2171,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2174,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2174,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2175,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2176,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:2180,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2144
    functionDepth: 2
    functionLinenumber: 2144
    functionLinenumberEnd: 2182
    functionName: http_request_empty_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evhttp_request_get_input_headers
    - exit
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - strcmp
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - evbuffer_get_length
    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:2192,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:2193,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2194,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:2196,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2188
    functionDepth: 9
    functionLinenumber: 2188
    functionLinenumberEnd: 2199
    functionName: http_dispatcher_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_add_printf
    - evbuffer_new
    - evbuffer_free
    - 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:2208,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2209,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2212,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2213,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2214,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2217,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2217,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2218,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2219,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2222,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2222,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2222,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2223,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2224,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2224,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2224,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2225,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2228,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2228,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2229,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2230,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2201
    functionDepth: 5
    functionLinenumber: 2201
    functionLinenumberEnd: 2235
    functionName: http_dispatcher_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - exit
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - strlen
    - evbuffer_get_length
    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:2244,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2248,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2249,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:2252,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2259,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2260,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2263,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2263,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2265,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2266,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2269,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2273,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2237
    functionDepth: 7
    functionLinenumber: 2237
    functionLinenumberEnd: 2276
    functionName: http_dispatcher_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_set_local_address
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_dispatcher_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libevent/test/regress_http.c:2290,1
    - Dst: stat
      Src: /src/libevent/test/regress_http.c:2292,1
    - Dst: S_ISSOCK
      Src: /src/libevent/test/regress_http.c:2292,1
    - Dst: evutil_socket_
      Src: /src/libevent/test/regress_http.c:2296,1
    - Dst: connect
      Src: /src/libevent/test/regress_http.c:2301,1
    - Dst: perror
      Src: /src/libevent/test/regress_http.c:2302,1
    - Dst: event_debug
      Src: /src/libevent/test/regress_http.c:2303,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2282
    functionDepth: 4
    functionLinenumber: 2282
    functionLinenumberEnd: 2309
    functionName: http_connect_unixsocket
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - S_ISSOCK
    - perror
    - evutil_socket_
    - close
    - connect
    - strcpy
    - event_debug
    - stat
    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:2320,1
    - Dst: stat
      Src: /src/libevent/test/regress_http.c:2324,1
    - Dst: S_ISSOCK
      Src: /src/libevent/test/regress_http.c:2324,1
    - Dst: unlink
      Src: /src/libevent/test/regress_http.c:2325,1
    - Dst: evutil_socket_
      Src: /src/libevent/test/regress_http.c:2327,1
    - Dst: bind
      Src: /src/libevent/test/regress_http.c:2332,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2333,1
    - Dst: chmod
      Src: /src/libevent/test/regress_http.c:2338,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2339,1
    - Dst: listen
      Src: /src/libevent/test/regress_http.c:2343,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2344,1
    - Dst: evhttp_accept_socket
      Src: /src/libevent/test/regress_http.c:2348,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - httpd
    - path
    argTypes:
    - struct evhttp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2312
    functionDepth: 4
    functionLinenumber: 2312
    functionLinenumberEnd: 2354
    functionName: evhttp_bind_unixsocket
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - unlink
    - S_ISSOCK
    - chmod
    - bind
    - listen
    - evutil_socket_
    - close
    - strcpy
    - evhttp_accept_socket
    - stat
    linkageType: ''
    returnType: int
    signature: int evhttp_bind_unixsocket(struct evhttp *httpd, const char *path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libevent/test/regress_http.c:2366,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:2373,1
    - Dst: getpid
      Src: /src/libevent/test/regress_http.c:2373,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:2374,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:2376,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2377,1
    - Dst: evhttp_bind_unixsocket
      Src: /src/libevent/test/regress_http.c:2377,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:2379,1
    - Dst: evhttp_uri_parse_with_flags
      Src: /src/libevent/test/regress_http.c:2381,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2382,1
    - Dst: http_connect_unixsocket
      Src: /src/libevent/test/regress_http.c:2385,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:2386,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:2387,1
    - Dst: evhttp_connection_base_bufferevent_reuse_new
      Src: /src/libevent/test/regress_http.c:2388,1
    - Dst: evhttp_connection_base_bufferevent_unix_new
      Src: /src/libevent/test/regress_http.c:2390,1
    - Dst: evhttp_uri_get_unixsocket
      Src: /src/libevent/test/regress_http.c:2390,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2392,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2397,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2398,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2401,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2401,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2403,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2404,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2407,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:2410,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:2410,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2415,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2417,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:2419,1
    - Dst: strstr
      Src: /src/libevent/test/regress_http.c:2422,1
    - Dst: unlink
      Src: /src/libevent/test/regress_http.c:2423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - data
    - preexisting
    argTypes:
    - struct basic_test_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2357
    functionDepth: 7
    functionLinenumber: 2357
    functionLinenumberEnd: 2424
    functionName: http_unix_socket_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - unlink
    - evhttp_uri_get_unixsocket
    - evhttp_free
    - evhttp_connection_base_bufferevent_reuse_new
    - evhttp_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_bufferevent_unix_new
    - evhttp_set_cb
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - evhttp_uri_parse_with_flags
    - tt_fd_op
    - getpid
    - evhttp_connection_free
    - getenv
    - tt_abort_msg
    - evhttp_uri_free
    - http_connect_unixsocket
    - bufferevent_getfd
    - evhttp_make_request
    - evhttp_bind_unixsocket
    - strstr
    - create_bev
    - evutil_snprintf
    - evhttp_add_header
    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:2429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2426
    functionDepth: 8
    functionLinenumber: 2426
    functionLinenumberEnd: 2430
    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:2435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2432
    functionDepth: 8
    functionLinenumber: 2432
    functionLinenumberEnd: 2436
    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:2454,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2458,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2459,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2466,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2467,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2470,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2470,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2471,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:2471,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2473,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2474,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2477,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2479,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2483,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2484,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2489,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2489,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2490,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2490,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2491,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:2491,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2493,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2494,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2497,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2499,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2501,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2447
    functionDepth: 9
    functionLinenumber: 2447
    functionLinenumberEnd: 2506
    functionName: http_post_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evbuffer_add_printf
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - evhttp_request_get_output_buffer
    - tt_abort_msg
    - tt_int_op
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_post_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:2512,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:2515,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2516,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2517,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2520,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2520,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2520,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2521,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2522,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2522,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2522,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2523,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2526,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2526,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2527,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2528,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:2528,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2528,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2529,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2530,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:2533,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2534,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:2536,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:2538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2508
    functionDepth: 9
    functionLinenumber: 2508
    functionLinenumberEnd: 2539
    functionName: http_post_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_datacmp
    - exit
    - evbuffer_add_printf
    - fprintf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - evhttp_request_get_input_buffer
    - evhttp_request_get_command
    - evhttp_send_reply
    - strlen
    - evbuffer_get_length
    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:2548,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2549,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2552,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2554,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2555,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2558,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2558,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2559,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2560,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2563,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2563,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2563,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2564,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2565,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2565,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2565,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2566,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2569,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2569,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2570,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2571,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2541
    functionDepth: 5
    functionLinenumber: 2541
    functionLinenumberEnd: 2576
    functionName: http_postrequest_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - exit
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - strlen
    - evbuffer_get_length
    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:2593,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2597,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2598,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2604,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2605,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2608,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2608,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2609,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:2609,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2611,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2612,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2615,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2617,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2618,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2586
    functionDepth: 9
    functionLinenumber: 2586
    functionLinenumberEnd: 2623
    functionName: http_put_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evbuffer_add_printf
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - evhttp_request_get_output_buffer
    - tt_abort_msg
    - tt_int_op
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_put_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:2629,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:2632,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2633,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2634,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2637,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2637,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2637,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2638,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2639,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2639,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2639,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2640,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2643,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2643,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2644,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2645,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:2645,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2645,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2646,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2647,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:2650,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2651,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:2653,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:2655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2625
    functionDepth: 9
    functionLinenumber: 2625
    functionLinenumberEnd: 2656
    functionName: http_put_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_datacmp
    - exit
    - evbuffer_add_printf
    - fprintf
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - evhttp_request_get_input_buffer
    - evhttp_request_get_command
    - evhttp_send_reply
    - strlen
    - evbuffer_get_length
    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:2665,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2666,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2669,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2671,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2672,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2675,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2675,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2676,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2677,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2680,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2680,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2680,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2681,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2682,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2682,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2682,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2683,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2687,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2687,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2688,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2689,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2658
    functionDepth: 5
    functionLinenumber: 2658
    functionLinenumberEnd: 2694
    functionName: http_putrequest_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - exit
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - strlen
    - evbuffer_get_length
    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:2700,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:2700,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:2702,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2696
    functionDepth: 3
    functionLinenumber: 2696
    functionLinenumberEnd: 2705
    functionName: http_failure_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - event_base_loopexit
    - 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:2718,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:2722,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2723,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:2726,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2727,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:2729,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:2734,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2734,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2736,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:2738,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2740,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2742,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:2745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2710
    functionDepth: 8
    functionLinenumber: 2710
    functionLinenumberEnd: 2746
    functionName: http_failure_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - http_connect
    - bufferevent_free
    - strlen
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void http_failure_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2752,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2753,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2753,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:2758,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2748
    functionDepth: 2
    functionLinenumber: 2748
    functionLinenumberEnd: 2761
    functionName: close_detect_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - evhttp_request_get_response_code
    - evutil_timerclear
    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:2767,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2770,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2773,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2773,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2776,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:2777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2763
    functionDepth: 6
    functionLinenumber: 2763
    functionLinenumberEnd: 2779
    functionName: close_detect_launch
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_new
    - evhttp_connection_get_base
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - tt_fail_msg
    - evhttp_add_header
    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:2785,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2788,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2789,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:2792,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:2797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2781
    functionDepth: 2
    functionLinenumber: 2781
    functionLinenumberEnd: 2800
    functionName: close_detect_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - evhttp_connection_get_base
    - tt_abort_msg
    - evhttp_request_get_response_code
    - evutil_timerclear
    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:2810,1
    - Dst: evhttp_set_timeout_tv
      Src: /src/libevent/test/regress_http.c:2815,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2817,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2819,1
    - Dst: evhttp_connection_set_timeout_tv
      Src: /src/libevent/test/regress_http.c:2820,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2823,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2831,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2834,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2834,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2837,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2839,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2842,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2845,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/test/regress_http.c:2845,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2849,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - data
    - with_delay
    argTypes:
    - struct basic_test_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2803
    functionDepth: 7
    functionLinenumber: 2803
    functionLinenumberEnd: 2852
    functionName: http_close_detection_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_set_timeout_tv
    - evhttp_connection_base_new
    - http_setup
    - TAILQ_FIRST
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_connection_set_timeout_tv
    - evhttp_add_header
    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:2856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2853
    functionDepth: 8
    functionLinenumber: 2853
    functionLinenumberEnd: 2857
    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:2861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2858
    functionDepth: 8
    functionLinenumber: 2858
    functionLinenumberEnd: 2862
    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:2873,1
    - Dst: evhttp_bind_socket
      Src: /src/libevent/test/regress_http.c:2874,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2876,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2879,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:2882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2864
    functionDepth: 5
    functionLinenumber: 2864
    functionLinenumberEnd: 2883
    functionName: http_highport_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_bind_socket
    - evhttp_free
    - evhttp_new
    - 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:2890,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2892,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2892,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2893,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2893,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2894,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2894,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2895,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2895,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2896,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2896,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2897,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2897,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2898,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2898,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2885
    functionDepth: 2
    functionLinenumber: 2885
    functionLinenumberEnd: 2901
    functionName: http_bad_header_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TAILQ_INIT
    - evhttp_clear_headers
    - tt_want
    - 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:2907,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2908,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2909,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:2909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - headers
    - key
    - value
    argTypes:
    - struct evkeyvalq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2903
    functionDepth: 2
    functionLinenumber: 2903
    functionLinenumberEnd: 2912
    functionName: validate_header
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strcmp
    - evhttp_find_header
    - tt_assert
    - tt_want
    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: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_want
      Src: /src/libevent/test/regress_http.c:2929,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2929,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2930,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2931,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2933,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2934,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2934,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2935,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2936,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2938,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2939,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2939,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2940,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2941,1
    - Dst: evhttp_parse_query
      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: tt_int_op
      Src: /src/libevent/test/regress_http.c:2945,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2946,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2948,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2949,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2950,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2952,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2953,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2953,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2954,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2955,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2957,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2958,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2959,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2959,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2960,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2960,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2961,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2963,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2964,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2965,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2967,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2968,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2969,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2971,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2972,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2973,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2975,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2976,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2977,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2977,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2978,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2978,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2979,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2979,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2980,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2914
    functionDepth: 4
    functionLinenumber: 2914
    functionLinenumberEnd: 2984
    functionName: http_parse_query_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_query
    - validate_header
    - tt_want
    - TAILQ_INIT
    - evhttp_clear_headers
    - tt_int_op
    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:2991,1
    - Dst: evhttp_parse_query_str
      Src: /src/libevent/test/regress_http.c:2993,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2994,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2994,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2995,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2996,1
    - Dst: evhttp_parse_query_str
      Src: /src/libevent/test/regress_http.c:2998,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2999,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2999,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3000,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3001,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2985
    functionDepth: 4
    functionLinenumber: 2985
    functionLinenumberEnd: 3005
    functionName: http_parse_query_str_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - validate_header
    - evhttp_parse_query_str
    - evhttp_find_header
    - tt_want
    - TAILQ_INIT
    - evhttp_clear_headers
    - tt_int_op
    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:3012,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3015,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3016,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3016,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3017,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3018,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3021,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3022,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3022,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3023,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3024,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3027,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3028,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3029,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3031,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3032,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3033,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3035,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3036,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3037,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3040,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3041,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3041,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3042,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3042,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3043,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3044,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3046,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3047,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3047,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3048,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3048,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3049,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3050,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3052,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3053,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3053,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3054,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3054,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3055,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3056,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3006
    functionDepth: 4
    functionLinenumber: 3006
    functionLinenumberEnd: 3061
    functionName: http_parse_query_str_flags_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - validate_header
    - tt_want
    - TAILQ_INIT
    - evhttp_parse_query_str_flags
    - evhttp_clear_headers
    - tt_int_op
    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:3086,1
    - Dst: strstr
      Src: /src/libevent/test/regress_http.c:3090,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3096,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3096,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3097,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3097,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3098,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3098,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3133,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3134,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3135,1
    - Dst: NCF
      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:3138,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3139,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3140,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3141,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3142,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3143,1
    - Dst: NCF
      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: BAD
      Src: /src/libevent/test/regress_http.c:3151,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3152,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3153,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3155,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3156,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3157,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3158,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3159,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3160,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3161,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3162,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3163,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3164,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3165,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3166,1
    - Dst: UNI
      Src: /src/libevent/test/regress_http.c:3169,1
    - Dst: UNI
      Src: /src/libevent/test/regress_http.c:3170,1
    - Dst: UNI
      Src: /src/libevent/test/regress_http.c:3171,1
    - Dst: evhttp_uri_new
      Src: /src/libevent/test/regress_http.c:3175,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3176,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3176,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3177,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3177,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3179,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3179,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3181,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3181,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3182,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3182,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3183,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3183,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3184,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3184,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3185,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3186,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3187,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3188,1
    - Dst: evhttp_uri_get_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_get_userinfo
      Src: /src/libevent/test/regress_http.c:3189,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3190,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3190,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3191,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3191,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3191,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3192,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3192,1
    - Dst: evhttp_uri_get_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_get_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_get_fragment
      Src: /src/libevent/test/regress_http.c:3194,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3195,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3196,1
    - Dst: evhttp_uri_new
      Src: /src/libevent/test/regress_http.c:3198,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3200,1
    - Dst: evhttp_uri_set_scheme
      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_scheme
      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_scheme
      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_userinfo
      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_host
      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_path
      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_query
      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_fragment
      Src: /src/libevent/test/regress_http.c:3210,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3212,1
    - Dst: evhttp_uri_set_scheme
      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_scheme
      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_userinfo
      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_userinfo
      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_host
      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_host
      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_host
      Src: /src/libevent/test/regress_http.c:3218,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3219,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3219,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3220,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3220,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3221,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3221,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3222,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3222,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3223,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3223,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3224,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3224,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3225,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3225,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3226,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3226,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3227,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3227,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3228,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3228,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3229,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3229,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3230,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3230,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3231,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3231,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3232,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3232,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3233,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3233,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3234,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3234,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3235,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3238,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3239,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3239,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3239,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3240,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3240,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3240,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3241,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3241,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3241,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3242,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3242,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3242,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3243,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3243,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3244,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3244,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3245,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3245,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3246,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3247,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3249,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3250,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3250,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3250,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3251,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3251,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3251,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3252,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3252,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3252,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3253,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3253,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3254,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3254,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3255,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3255,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3256,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3256,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3257,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3258,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3260,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3261,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3261,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3261,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3262,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3262,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3262,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3263,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3263,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3263,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3264,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3264,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3264,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3265,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3265,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3266,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3266,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3267,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3267,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3268,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3269,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3271,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3272,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3272,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3272,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3273,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3273,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3273,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3274,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3274,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3274,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3275,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3275,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3276,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3276,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3277,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3277,1
    - Dst: tt_want_str_op
      Src: /src/libevent/test/regress_http.c:3278,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3278,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3279,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3280,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3282,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3283,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3283,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3283,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3284,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3284,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3284,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3285,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3285,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3285,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3286,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3286,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3287,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3287,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3288,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3288,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3289,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3289,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3290,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3291,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3293,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3294,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3294,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3294,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3295,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3295,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3295,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3296,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3296,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3296,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3297,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3297,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3298,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3298,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3299,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3299,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3300,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3300,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3301,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3302,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3304,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3305,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3305,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3305,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3306,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3306,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3306,1
    - Dst: tt_want_str_op
      Src: /src/libevent/test/regress_http.c:3307,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3307,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3308,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3308,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3309,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3309,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3310,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3310,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3311,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3311,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3312,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3313,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3315,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3316,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3316,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3316,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3317,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3317,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3317,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3318,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3318,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3318,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3319,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3319,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3320,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3320,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3321,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3321,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3322,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3322,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3323,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3324,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3326,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3327,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3327,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3327,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3328,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3328,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3328,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3329,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3329,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3329,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3330,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3330,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3330,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3331,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3331,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3332,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3332,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3333,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3333,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3334,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3335,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3337,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3338,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3338,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3338,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3339,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3339,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3339,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3340,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3340,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3340,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3341,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3341,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3341,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3342,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3342,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3343,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3343,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3344,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3344,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3345,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3346,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3348,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3349,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3349,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3349,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3350,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3350,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3350,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3351,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3351,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3351,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3352,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3352,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3352,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3353,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3353,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3354,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3354,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3355,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3355,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3356,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3357,1
    - Dst: URI_PARSE
      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_scheme
      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_host
      Src: /src/libevent/test/regress_http.c:3361,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3362,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3362,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3362,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3363,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3363,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3363,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3364,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3364,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3365,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3365,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3366,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3366,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3367,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3368,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3370,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3371,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3371,1
    - Dst: evhttp_uri_get_scheme
      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_userinfo
      Src: /src/libevent/test/regress_http.c:3372,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3373,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3373,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3373,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3374,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3374,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3375,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3375,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3375,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3376,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3376,1
    - Dst: evhttp_uri_get_query
      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_fragment
      Src: /src/libevent/test/regress_http.c:3377,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3378,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3379,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3381,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3382,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3382,1
    - Dst: evhttp_uri_get_scheme
      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_userinfo
      Src: /src/libevent/test/regress_http.c:3383,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3384,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3384,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3384,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3385,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3385,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3386,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3386,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3386,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3387,1
    - Dst: evhttp_uri_get_query
      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_fragment
      Src: /src/libevent/test/regress_http.c:3388,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3389,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3390,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3392,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3393,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3393,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3393,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3394,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3394,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3394,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3395,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3395,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3395,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3396,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3396,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3397,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3397,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3397,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3398,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3398,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3399,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3399,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3399,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3400,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3401,1
    - Dst: URI_PARSE
      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_scheme
      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_userinfo
      Src: /src/libevent/test/regress_http.c:3405,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3406,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3406,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3406,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3407,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3407,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3408,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3408,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3408,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3409,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3409,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3410,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3410,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3411,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3412,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3414,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3415,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3416,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3416,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3417,1
    - Dst: evhttp_uri_get_userinfo
      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_host
      Src: /src/libevent/test/regress_http.c:3418,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3419,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3419,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3420,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3420,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3420,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3421,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3421,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3422,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3422,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3423,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3424,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3426,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3427,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3428,1
    - Dst: evhttp_uri_get_scheme
      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_userinfo
      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_host
      Src: /src/libevent/test/regress_http.c:3430,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3431,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3431,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3432,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3432,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3432,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3433,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3433,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3433,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3434,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3434,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3434,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3435,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3436,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3438,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3439,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3440,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3440,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3441,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3441,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3442,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3442,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3443,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3443,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3444,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3444,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3444,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3445,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3445,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3446,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3446,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3447,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3448,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3450,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3451,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3452,1
    - Dst: evhttp_uri_get_scheme
      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_userinfo
      Src: /src/libevent/test/regress_http.c:3453,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3454,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3454,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3455,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3455,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3456,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3456,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3456,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3457,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3457,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3457,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3458,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3458,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3458,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3459,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3460,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3462,1
    - Dst: tt_want
      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_scheme
      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_userinfo
      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_host
      Src: /src/libevent/test/regress_http.c:3466,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3467,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3467,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3468,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3468,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3468,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3469,1
    - Dst: evhttp_uri_get_query
      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_fragment
      Src: /src/libevent/test/regress_http.c:3470,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3471,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3472,1
    - Dst: URI_PARSE_FLAGS
      Src: /src/libevent/test/regress_http.c:3475,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3476,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3476,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3476,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3477,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3477,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3477,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3478,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3478,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3478,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3479,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3479,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3479,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3480,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3480,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3481,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3481,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3482,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3482,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3483,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3485,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3485,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3486,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3486,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3486,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3487,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3489,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3489,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3490,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3490,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3490,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3491,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 337
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3063
    functionDepth: 3
    functionLinenumber: 3063
    functionLinenumberEnd: 3499
    functionName: http_parse_uri_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_uri_get_host
    - URI_PARSE_FLAGS
    - evhttp_uri_join
    - evhttp_uri_set_port
    - evhttp_uri_set_path
    - tt_want_str_op
    - evhttp_uri_free
    - TT_URI
    - evhttp_uri_get_query
    - evhttp_uri_set_scheme
    - evhttp_uri_set_host
    - evhttp_uri_set_fragment
    - tt_want
    - strcmp
    - evhttp_uri_set_query
    - evhttp_uri_get_port
    - strstr
    - URI_PARSE
    - evhttp_uri_get_scheme
    - evhttp_uri_get_userinfo
    - evhttp_uri_get_path
    - evhttp_uri_get_fragment
    - UNI
    - evhttp_uri_set_userinfo
    - evhttp_uri_new
    - BAD
    - NCF
    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: 3074
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3074
    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: 3076
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3076
    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: 3084
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3084
    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: 3105
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3105
    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: 3120
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3120
    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: 3132
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3132
    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:3540,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3541,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3542,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3543,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3546,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3547,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3548,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3549,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3550,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3553,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3554,1
    - Dst: evhttp_uriencode
      Src: /src/libevent/test/regress_http.c:3557,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3558,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:3559,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3560,1
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:3564,1
    - Dst: evhttp_decode_uri_internal
      Src: /src/libevent/test/regress_http.c:3565,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3566,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3567,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:3568,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3569,1
    - Dst: DEC
      Src: /src/libevent/test/regress_http.c:3574,1
    - Dst: DEC
      Src: /src/libevent/test/regress_http.c:3577,1
    - Dst: DEC
      Src: /src/libevent/test/regress_http.c:3579,1
    - Dst: evhttp_uridecode
      Src: /src/libevent/test/regress_http.c:3583,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3584,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3585,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:3585,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3586,1
    - Dst: evhttp_uridecode
      Src: /src/libevent/test/regress_http.c:3591,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3592,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:3592,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3593,1
    - Dst: OLD_DEC
      Src: /src/libevent/test/regress_http.c:3598,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3603,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3501
    functionDepth: 2
    functionLinenumber: 3501
    functionLinenumberEnd: 3609
    functionName: http_uriencode_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_decode_uri_internal
    - evhttp_uriencode
    - tt_assert
    - memcmp
    - malloc
    - tt_int_op
    - OLD_DEC
    - tt_str_op
    - ENC
    - evhttp_uridecode
    - free
    - DEC
    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: 3521
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3521
    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: 3530
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3530
    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: 3538
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3538
    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:3622,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3623,1
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:3624,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:3626,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3627,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:3630,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3631,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:3633,1
    - Dst: bufferevent_base_set
      Src: /src/libevent/test/regress_http.c:3635,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:3643,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3643,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:3645,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:3647,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:3648,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:3650,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3652,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_http.c:3656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3611
    functionDepth: 8
    functionLinenumber: 3611
    functionLinenumberEnd: 3657
    functionName: http_base_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - event_base_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - tt_int_op
    - event_base_new
    - http_connect
    - bufferevent_free
    - strlen
    - bufferevent_base_set
    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:3668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3664
    functionDepth: 2
    functionLinenumber: 3664
    functionLinenumberEnd: 3669
    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:3682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3683
      start: 3671
    functionDepth: 2
    functionLinenumber: 3671
    functionLinenumberEnd: 3683
    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:3691,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3693,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:3693,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:3695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3685
    functionDepth: 2
    functionLinenumber: 3685
    functionLinenumberEnd: 3698
    functionName: http_incomplete_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - bufferevent_get_output
    - bufferevent_enable
    - shutdown
    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:3708,1
    - Dst: evhttp_set_timeout
      Src: /src/libevent/test/regress_http.c:3713,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:3715,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3716,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:3719,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3720,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:3722,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:3730,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3730,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:3732,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:3734,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:3736,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_http.c:3737,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:3739,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:3741,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:3745,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:3748,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:3751,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3754,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:3757,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: 3758
      start: 3700
    functionDepth: 8
    functionLinenumber: 3700
    functionLinenumberEnd: 3758
    functionName: http_incomplete_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - create_bev
    - http_setup
    - evutil_gettimeofday
    - http_connect
    - bufferevent_free
    - tt_abort_msg
    - strlen
    - tt_int_op
    - evutil_timersub
    - evhttp_set_timeout
    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:3760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3759
    functionDepth: 9
    functionLinenumber: 3759
    functionLinenumberEnd: 3760
    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:3762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3761
    functionDepth: 9
    functionLinenumber: 3761
    functionLinenumberEnd: 3762
    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: 3773
      start: 3769
    functionDepth: 0
    functionLinenumber: 3769
    functionLinenumberEnd: 3773
    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:3792,1
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/test/regress_http.c:3795,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3795,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/test/regress_http.c:3799,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3799,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:3803,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:3803,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3804,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:3807,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:3807,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3808,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:3816,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3819,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:3821,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3821,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3821,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:3825,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3825,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3827,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3827,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3831,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: strncmp
      Src: /src/libevent/test/regress_http.c:3851,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3851,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3851,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:3855,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3855,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3857,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3857,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3861,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3862,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3865,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:3872,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3874,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 82
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3775
    functionDepth: 6
    functionLinenumber: 3775
    functionLinenumberEnd: 3875
    functionName: http_chunked_errorcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_new
    - evhttp_request_get_input_headers
    - strncmp
    - evhttp_parse_headers_
    - evhttp_find_header
    - event_base_loopexit
    - strcmp
    - evhttp_parse_firstline_
    - bufferevent_get_input
    - evbuffer_pullup
    - evhttp_request_free
    - free
    - evbuffer_readln
    - evbuffer_drain
    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:3880,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:3880,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:3882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3877
    functionDepth: 2
    functionLinenumber: 3877
    functionLinenumberEnd: 3885
    functionName: http_chunked_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - bufferevent_get_output
    - bufferevent_enable
    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:3890,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3891,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3892,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:3895,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:3895,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3897,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3898,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3901,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:3901,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3902,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3903,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:3906,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3906,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:3906,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3909,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3910,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3915
      start: 3887
    functionDepth: 4
    functionLinenumber: 3887
    functionLinenumberEnd: 3915
    functionName: http_chunked_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strncmp
    - evhttp_request_get_input_headers
    - exit
    - evhttp_find_header
    - fprintf
    - event_base_loopexit
    - evbuffer_pullup
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - evbuffer_get_length
    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:3920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3917
    functionDepth: 0
    functionLinenumber: 3917
    functionLinenumberEnd: 3921
    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:3926,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:3928,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3931,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:3932,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3933,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3933,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3935,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3936,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3939,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:3942,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:3943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3923
    functionDepth: 9
    functionLinenumber: 3923
    functionLinenumberEnd: 3947
    functionName: http_send_chunk_test_write_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_add_printf
    - bufferevent_disable
    - bufferevent_get_output
    - evbuffer_add
    - strlen
    - bufferevent_enable
    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:3951,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:3954,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3959,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3961,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3966,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3969,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3948
    functionDepth: 6
    functionLinenumber: 3948
    functionLinenumberEnd: 3973
    functionName: http_send_chunk_test_error_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_base_loopexit
    - strcmp
    - bufferevent_get_input
    - free
    - evbuffer_get_length
    - 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:3982,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:3987,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3988,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:3990,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3991,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:3993,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4006,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4006,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4008,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4013,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4017,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 3974
    functionDepth: 8
    functionLinenumber: 3974
    functionLinenumberEnd: 4020
    functionName: http_send_chunk_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - create_bev
    - http_setup
    - http_connect
    - bufferevent_free
    - strlen
    - tt_int_op
    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:4025,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4026,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4028,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:4030,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4031,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4031,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4032,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4033,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4035,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:4039,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:4040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4044
      start: 4022
    functionDepth: 9
    functionLinenumber: 4022
    functionLinenumberEnd: 4044
    functionName: http_send_chunk_malformed_test_write_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_add_printf
    - bufferevent_disable
    - bufferevent_get_output
    - evbuffer_add
    - strlen
    - bufferevent_enable
    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:4048,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4051,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:4052,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:4053,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:4056,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4045
    functionDepth: 6
    functionLinenumber: 4045
    functionLinenumberEnd: 4058
    functionName: http_send_chunk_malformed_test_error_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - event_base_loopexit
    - bufferevent_get_input
    - tt_str_op
    - free
    - evbuffer_readln
    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:4067,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4072,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4073,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4075,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4076,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:4078,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4091,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4091,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4092,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4096,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4059
    functionDepth: 8
    functionLinenumber: 4059
    functionLinenumberEnd: 4099
    functionName: http_send_chunk_malformed_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - create_bev
    - http_setup
    - http_connect
    - bufferevent_free
    - 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:4113,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4118,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4119,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4122,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4123,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:4125,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4135,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4135,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4137,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4139,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4141,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4144,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_http.c:4145,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4147,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4149,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4152,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4153,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4155,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4160,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4163,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4163,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4166,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4167,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4170,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4172,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4177,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4180
      start: 4101
    functionDepth: 8
    functionLinenumber: 4101
    functionLinenumberEnd: 4180
    functionName: http_chunk_out_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - bufferevent_setcb
    - evhttp_request_get_output_headers
    - evhttp_connection_base_bufferevent_new
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - bufferevent_write
    - evutil_gettimeofday
    - evhttp_connection_free
    - tt_abort_msg
    - evutil_timersub
    - http_setup
    - http_connect
    - evhttp_make_request
    - create_bev
    - bufferevent_free
    - strlen
    - tt_int_op
    - evhttp_add_header
    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:4182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4181
    functionDepth: 9
    functionLinenumber: 4181
    functionLinenumberEnd: 4182
    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:4192,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4197,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4198,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4200,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4207,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4211,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4211,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4214,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4216,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4219,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4223,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4226
      start: 4184
    functionDepth: 7
    functionLinenumber: 4184
    functionLinenumberEnd: 4226
    functionName: http_stream_out_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - create_bev
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_connection_base_bufferevent_new
    - evhttp_add_header
    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:4228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4228
      start: 4227
    functionDepth: 8
    functionLinenumber: 4227
    functionLinenumberEnd: 4228
    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:4235,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:4236,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:4237,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_http.c:4240,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:4240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4241
      start: 4230
    functionDepth: 6
    functionLinenumber: 4230
    functionLinenumberEnd: 4241
    functionName: http_stream_in_chunk
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_buffer
    - exit
    - 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:4246,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:4246,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:4247,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:4248,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4252
      start: 4243
    functionDepth: 2
    functionLinenumber: 4243
    functionLinenumberEnd: 4252
    functionName: http_stream_in_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - event_base_loopexit
    - evhttp_request_get_input_buffer
    - evbuffer_get_length
    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:4262,1
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4265,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4269,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4270,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4272,1
    - Dst: evhttp_request_set_chunked_cb
      Src: /src/libevent/test/regress_http.c:4273,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4276,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4277,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4280,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4282,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_http.c:4283,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4284,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:4286,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:4289,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:4289,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4290,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:4296,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4298,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4300,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: 4301
      start: 4257
    functionDepth: 7
    functionLinenumber: 4257
    functionLinenumberEnd: 4301
    functionName: http_stream_in_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - TT_DIE
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_new
    - evbuffer_new
    - http_setup
    - evhttp_connection_free
    - evbuffer_free
    - evbuffer_pullup
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_request_set_chunked_cb
    - evbuffer_get_length
    - memcmp
    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:4306,1
    - Dst: http_stream_in_test_
      Src: /src/libevent/test/regress_http.c:4309,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4303
    functionDepth: 8
    functionLinenumber: 4303
    functionLinenumberEnd: 4311
    functionName: http_stream_in_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strlen
    - http_stream_in_test_
    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:4316,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4316,1
    - Dst: evhttp_cancel_request
      Src: /src/libevent/test/regress_http.c:4319,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4321
      start: 4313
    functionDepth: 5
    functionLinenumber: 4313
    functionLinenumberEnd: 4321
    functionName: http_stream_in_cancel_chunk
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - tt_int_op
    - evhttp_cancel_request
    - 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:4327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4328
      start: 4323
    functionDepth: 0
    functionLinenumber: 4323
    functionLinenumberEnd: 4328
    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:4337,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4339,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4340,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4342,1
    - Dst: evhttp_request_set_chunked_cb
      Src: /src/libevent/test/regress_http.c:4343,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4346,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4347,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4350,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4354,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4330
    functionDepth: 7
    functionLinenumber: 4330
    functionLinenumberEnd: 4357
    functionName: http_stream_in_cancel_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_request_set_chunked_cb
    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:4363,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4369,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4371,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4359
    functionDepth: 4
    functionLinenumber: 4359
    functionLinenumberEnd: 4377
    functionName: http_connection_fail_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_connection_get_base
    - event_base_loopexit
    - 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:4389,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4395,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4397,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4400,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4402,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4409,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4410,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4412,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4413,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4416,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4422
      start: 4381
    functionDepth: 7
    functionLinenumber: 4381
    functionLinenumberEnd: 4422
    functionName: http_connection_fail_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - create_bev
    - http_setup
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_connection_base_bufferevent_new
    - tt_int_op
    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:4424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4423
    functionDepth: 8
    functionLinenumber: 4423
    functionLinenumberEnd: 4424
    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:4429,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4430,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4430,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:4431,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:4431,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4432,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_http.c:4435,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4435,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:4435,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4440
      start: 4426
    functionDepth: 2
    functionLinenumber: 4426
    functionLinenumberEnd: 4440
    functionName: http_connection_retry_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - tt_assert
    - tt_uint_op
    - evhttp_find_header
    - evbuffer_get_length
    - event_base_loopexit
    - tt_abort_msg
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - tt_int_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:4453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4454
      start: 4449
    functionDepth: 0
    functionLinenumber: 4449
    functionLinenumberEnd: 4454
    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:4464,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4471,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:4472,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4474,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:4475,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:4475,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4478,1
    - Dst: bufferevent_mbedtls_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4483,1
    - Dst: evhttp_connection_base_bufferevent_reuse_new
      Src: /src/libevent/test/regress_http.c:4488,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4490,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4493,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4495,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4498,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4499,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4501,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4502,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4504,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4505,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:4508,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:4508,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4513,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4515,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: 4516
      start: 4456
    functionDepth: 8
    functionLinenumber: 4456
    functionLinenumberEnd: 4516
    functionName: http_simple_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - bufferevent_openssl_set_allow_dirty_shutdown
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_bufferevent_reuse_new
    - evhttp_connection_set_local_address
    - create_bev
    - tt_fd_op
    - http_setup
    - evhttp_connection_free
    - http_connect
    - bufferevent_mbedtls_set_allow_dirty_shutdown
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_connection_base_bufferevent_new
    - bufferevent_getfd
    - tt_int_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:4518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4518
      start: 4517
    functionDepth: 9
    functionLinenumber: 4517
    functionLinenumberEnd: 4518
    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:4520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4519
    functionDepth: 9
    functionLinenumber: 4519
    functionLinenumberEnd: 4520
    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:4522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4521
    functionDepth: 9
    functionLinenumber: 4521
    functionLinenumberEnd: 4522
    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:4524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4523
    functionDepth: 9
    functionLinenumber: 4523
    functionLinenumberEnd: 4524
    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:4531,1
    - Dst: event_errx
      Src: /src/libevent/test/regress_http.c:4533,1
    - Dst: init_ssl
      Src: /src/libevent/test/regress_http.c:4539,1
    - Dst: evhttp_bound_set_bevcb
      Src: /src/libevent/test/regress_http.c:4540,1
    - Dst: evhttp_bound_set_bevcb
      Src: /src/libevent/test/regress_http.c:4545,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_http.c:4549,1
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/libevent/test/regress_http.c:4549,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: 4557
      start: 4526
    functionDepth: 2
    functionLinenumber: 4526
    functionLinenumberEnd: 4557
    functionName: https_bind_ssl_bevcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_errx
    - evhttp_bound_socket_get_fd
    - evhttp_bound_set_bevcb
    - regress_get_socket_port
    - init_ssl
    - evhttp_bind_socket_with_handle
    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:4568,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4569,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_http.c:4571,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4573,1
    - Dst: https_bind_ssl_bevcb
      Src: /src/libevent/test/regress_http.c:4573,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/test/regress_http.c:4575,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4577,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4580,1
    - Dst: bufferevent_mbedtls_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4583,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4586,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4587,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:4589,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4591,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4593,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4594,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4596,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4596,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4598,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:4599,1
    - Dst: TT_GRIPE
      Src: /src/libevent/test/regress_http.c:4600,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4605,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4609,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4612,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: 4613
      start: 4558
    functionDepth: 7
    functionLinenumber: 4558
    functionLinenumberEnd: 4613
    functionName: https_per_socket_bevcb_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_GRIPE
    - evhttp_free
    - evhttp_connection_set_timeout
    - evhttp_connection_set_local_address
    - evhttp_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_bufferevent_new
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - https_bind_ssl_bevcb
    - evhttp_connection_free
    - evhttp_request_free
    - bufferevent_openssl_set_allow_dirty_shutdown
    - evhttp_set_gencb
    - bufferevent_mbedtls_set_allow_dirty_shutdown
    - evhttp_make_request
    - evhttp_bind_socket_with_handle
    - create_bev
    - evhttp_add_header
    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:4615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4614
    functionDepth: 8
    functionLinenumber: 4614
    functionLinenumberEnd: 4615
    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:4626,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4632,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4634,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4635,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4636,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4638,1
    - Dst: evhttp_connection_set_flags
      Src: /src/libevent/test/regress_http.c:4638,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:4640,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4642,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4649,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4650,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4653,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4653,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4655,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4657,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4660,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4661,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4662,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_http.c:4663,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4664,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4666,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:4674,1
    - Dst: evhttp_connection_set_timeout_tv
      Src: /src/libevent/test/regress_http.c:4679,1
    - Dst: evhttp_connection_set_initial_retry_tv
      Src: /src/libevent/test/regress_http.c:4680,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:4682,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4684,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4685,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4688,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4688,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4690,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4692,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4695,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4696,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4697,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_http.c:4700,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4702,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:4710,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:4711,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4713,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4714,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4717,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4717,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4719,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4721,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:4727,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:4730,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4732,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4733,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4734,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_http.c:4736,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4738,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4742,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4744,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: 4745
      start: 4617
    functionDepth: 7
    functionLinenumber: 4617
    functionLinenumberEnd: 4745
    functionName: http_connection_retry_test_basic
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - event_base_once
    - evhttp_connection_set_timeout
    - evhttp_connection_set_local_address
    - evhttp_request_get_output_headers
    - evhttp_connection_base_bufferevent_new
    - test_timeval_diff_leq
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_connection_set_flags
    - tt_assert
    - evhttp_connection_set_retries
    - evutil_gettimeofday
    - evhttp_connection_free
    - tt_abort_msg
    - regress_clean_dnsserver
    - evutil_timersub
    - evhttp_connection_set_timeout_tv
    - http_setup
    - evhttp_make_request
    - evhttp_connection_set_initial_retry_tv
    - evutil_timerclear
    - create_bev
    - tt_int_op
    - evhttp_add_header
    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:4755,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:4755,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:4756,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4757,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:4761,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:4762,1
    - Dst: http_connection_retry_test_basic
      Src: /src/libevent/test/regress_http.c:4764,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:4768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4747
    functionDepth: 9
    functionLinenumber: 4747
    functionLinenumberEnd: 4770
    functionName: http_connection_retry_conn_address_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - http_connection_retry_test_basic
    - tt_assert
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - evdns_base_free
    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:4772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4772
      start: 4771
    functionDepth: 10
    functionLinenumber: 4771
    functionLinenumberEnd: 4772
    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:4777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4778
      start: 4774
    functionDepth: 8
    functionLinenumber: 4774
    functionLinenumberEnd: 4778
    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:4781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4781
      start: 4779
    functionDepth: 9
    functionLinenumber: 4779
    functionLinenumberEnd: 4781
    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:4789,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4790,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:4791,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:4792,1
    - Dst: evhttp_htmlescape
      Src: /src/libevent/test/regress_http.c:4794,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4795,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:4796,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:4798,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4799,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4800,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:4800,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4801,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:4801,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4802,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/test/regress_http.c:4802,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4803,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/test/regress_http.c:4803,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4804,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:4804,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:4808,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4783
    functionDepth: 5
    functionLinenumber: 4783
    functionLinenumberEnd: 4811
    functionName: http_primitives
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - tt_assert
    - evhttp_del_cb
    - evhttp_new
    - tt_int_op
    - tt_str_op
    - evhttp_htmlescape
    - free
    - evhttp_set_cb
    linkageType: ''
    returnType: void
    signature: void http_primitives(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4821,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_http.c:4826,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4828,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4829,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:4832,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_http.c:4833,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:4834,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4849,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4849,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4852,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4854,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4855,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4856,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4859,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:4861,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4864
      start: 4813
    functionDepth: 8
    functionLinenumber: 4813
    functionLinenumberEnd: 4864
    functionName: http_multi_line_header_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - http_setup
    - bufferevent_socket_new
    - tt_int_op
    - http_connect
    - bufferevent_free
    - strlen
    - tt_ptr_op
    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:4870,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:4871,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4876
      start: 4866
    functionDepth: 2
    functionLinenumber: 4866
    functionLinenumberEnd: 4876
    functionName: http_request_bad
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - fprintf
    - event_base_loopexit
    - exit
    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:4885,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4889,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4890,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4897,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4900,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4900,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4903,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4904,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4907,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4911,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4878
    functionDepth: 7
    functionLinenumber: 4878
    functionLinenumberEnd: 4914
    functionName: http_negative_content_length_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_add_header
    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: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_data_length_constraints_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_assert
    - event_base_loopexit
    - 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:4928,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4929,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4929,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4932
      start: 4925
    functionDepth: 2
    functionLinenumber: 4925
    functionLinenumberEnd: 4932
    functionName: http_large_entity_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_assert
    - event_base_loopexit
    - 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:4936,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4937,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4937,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4933
    functionDepth: 2
    functionLinenumber: 4933
    functionLinenumberEnd: 4940
    functionName: http_expectation_failed_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_assert
    - event_base_loopexit
    - 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:4953,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4960,1
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:4962,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:4963,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4966,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4967,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4968,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4971,1
    - Dst: evhttp_connection_set_flags
      Src: /src/libevent/test/regress_http.c:4971,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4973,1
    - Dst: evhttp_set_max_headers_size
      Src: /src/libevent/test/regress_http.c:4975,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4976,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4978,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4979,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4980,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4980,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4981,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4981,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4982,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4983,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4984,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4986,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4988,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4989,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4990,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4990,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4992,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4993,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4994,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4996,1
    - Dst: evhttp_set_max_body_size
      Src: /src/libevent/test/regress_http.c:4998,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4999,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5003,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5004,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5004,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5005,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5005,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5006,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5007,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5008,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5010,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5012,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5013,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5013,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5014,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5014,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5015,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5015,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5016,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5017,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5018,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5020,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5024,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5025,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5025,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5026,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5026,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5027,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5027,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5028,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5029,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5030,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5032,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5036,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5037,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5037,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5038,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5038,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5039,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5039,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5040,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5041,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5042,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5044,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5049,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5051,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:5053,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 2
    argNames:
    - arg
    - read_on_write_error
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 4942
    functionDepth: 9
    functionLinenumber: 4942
    functionLinenumberEnd: 5054
    functionName: http_data_length_constraints_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - evhttp_connection_set_local_address
    - evhttp_request_get_output_headers
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_connection_set_flags
    - tt_assert
    - evhttp_set_max_body_size
    - evhttp_connection_free
    - tt_abort_msg
    - evhttp_request_get_output_buffer
    - TT_BLATHER
    - http_setup
    - memset
    - evhttp_make_request
    - malloc
    - free
    - evhttp_set_max_headers_size
    - evbuffer_add_printf
    - evhttp_connection_base_new
    - evhttp_add_header
    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:5056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 5055
    functionDepth: 10
    functionLinenumber: 5055
    functionLinenumberEnd: 5056
    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:5058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5058
      start: 5057
    functionDepth: 10
    functionLinenumber: 5057
    functionLinenumberEnd: 5058
    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:5070,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5075,1
    - Dst: evhttp_set_flags
      Src: /src/libevent/test/regress_http.c:5075,1
    - Dst: evhttp_set_max_body_size
      Src: /src/libevent/test/regress_http.c:5076,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5078,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5079,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:5080,1
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:5087,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5088,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5095,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5096,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5097,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5097,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5098,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5098,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5099,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5100,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5102,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5107,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5109,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:5111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - arg
    - lingering
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5112
      start: 5060
    functionDepth: 9
    functionLinenumber: 5060
    functionLinenumberEnd: 5112
    functionName: http_lingering_close_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - evhttp_connection_set_local_address
    - evhttp_request_get_output_headers
    - evhttp_set_flags
    - event_base_dispatch
    - evhttp_request_new
    - tt_assert
    - evhttp_set_max_body_size
    - evhttp_connection_free
    - tt_abort_msg
    - evhttp_request_get_output_buffer
    - http_setup
    - memset
    - evhttp_make_request
    - free
    - malloc
    - evbuffer_add_printf
    - evhttp_connection_base_new
    - evhttp_add_header
    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:5114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5113
    functionDepth: 10
    functionLinenumber: 5113
    functionLinenumberEnd: 5114
    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:5116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5115
    functionDepth: 10
    functionLinenumber: 5115
    functionLinenumberEnd: 5116
    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:5141,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:5143,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5144,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:5148,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5149,1
    - Dst: evhttp_send_reply_chunk
      Src: /src/libevent/test/regress_http.c:5150,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:5151,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:5157,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:5158,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5161
      start: 5131
    functionDepth: 9
    functionLinenumber: 5131
    functionLinenumberEnd: 5161
    functionName: terminate_chunked_trickle_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_base_once
    - evhttp_send_reply_chunk
    - evbuffer_add_printf
    - evbuffer_new
    - event_base_loopexit
    - evhttp_request_get_connection
    - evbuffer_free
    - evhttp_request_free
    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:5171,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5175
      start: 5163
    functionDepth: 3
    functionLinenumber: 5163
    functionLinenumberEnd: 5175
    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:5184,1
    - Dst: evhttp_request_get_connection
      Src: /src/libevent/test/regress_http.c:5185,1
    - Dst: evhttp_send_reply_start
      Src: /src/libevent/test/regress_http.c:5190,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5195
      start: 5177
    functionDepth: 5
    functionLinenumber: 5177
    functionLinenumberEnd: 5195
    functionName: terminate_chunked_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_set_closecb
    - evhttp_send_reply_start
    - event_base_once
    - evhttp_request_get_connection
    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:5201,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:5202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5203
      start: 5197
    functionDepth: 6
    functionLinenumber: 5197
    functionLinenumberEnd: 5203
    functionName: terminate_chunked_client
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    - bufferevent_free
    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:5209,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:5209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5210
      start: 5205
    functionDepth: 4
    functionLinenumber: 5205
    functionLinenumberEnd: 5210
    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:5223,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/test/regress_http.c:5227,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5228,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:5228,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5231,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5232,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:5235,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5236,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5238,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5241,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:5253,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5253,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:5254,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5256,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5259,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:5266,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - arg
    - oneshot
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5269
      start: 5213
    functionDepth: 8
    functionLinenumber: 5213
    functionLinenumberEnd: 5269
    functionName: http_terminate_chunked_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_base_once
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - evhttp_del_cb
    - http_setup
    - bufferevent_socket_new
    - http_connect
    - memset
    - strlen
    - evutil_timerclear
    - evhttp_set_cb
    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:5273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5274
      start: 5270
    functionDepth: 9
    functionLinenumber: 5270
    functionLinenumberEnd: 5274
    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:5278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5279
      start: 5275
    functionDepth: 9
    functionLinenumber: 5275
    functionLinenumberEnd: 5279
    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:5294,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:5294,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:5296,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5297,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:5301,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:5302,1
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:5304,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:5309,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:5310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - family
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5311
      start: 5286
    functionDepth: 9
    functionLinenumber: 5286
    functionLinenumberEnd: 5311
    functionName: http_ipv6_for_domain_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - tt_assert
    - http_connection_test_
    - evdns_base_new
    - regress_dnsserver
    - evutil_snprintf
    - regress_clean_dnsserver
    - evdns_base_free
    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:5315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5316
      start: 5312
    functionDepth: 10
    functionLinenumber: 5312
    functionLinenumberEnd: 5316
    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:5326,1
    - Dst: evhttp_connection_get_addr
      Src: /src/libevent/test/regress_http.c:5328,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5329,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_http.c:5331,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5332,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:5332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5339
      start: 5318
    functionDepth: 4
    functionLinenumber: 5318
    functionLinenumberEnd: 5339
    functionName: http_request_get_addr_on_close
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strncmp
    - evhttp_connection_get_addr
    - tt_assert
    - evutil_format_sockaddr_port_
    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:5348,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5353,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5354,1
    - Dst: evhttp_connection_set_closecb
      Src: /src/libevent/test/regress_http.c:5355,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5362,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5365,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5366,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5369,1
    - Dst: http_request_get_addr_on_close
      Src: /src/libevent/test/regress_http.c:5371,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5375,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5378
      start: 5341
    functionDepth: 7
    functionLinenumber: 5341
    functionLinenumberEnd: 5378
    functionName: http_get_addr_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - http_request_get_addr_on_close
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_connection_set_closecb
    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:5383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5384
      start: 5380
    functionDepth: 8
    functionLinenumber: 5380
    functionLinenumberEnd: 5384
    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:5388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5389
      start: 5385
    functionDepth: 8
    functionLinenumber: 5385
    functionLinenumberEnd: 5389
    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:5393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5394
      start: 5390
    functionDepth: 10
    functionLinenumber: 5390
    functionLinenumberEnd: 5394
    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:5402,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5402,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:5404,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5396
    functionDepth: 8
    functionLinenumber: 5396
    functionLinenumberEnd: 5407
    functionName: http_write_during_read
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strlen
    - bufferevent_write
    - event_base_loopexit
    - evutil_timerclear
    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:5417,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5422,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5423,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:5424,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5425,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5426,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:5427,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:5434,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5434,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:5435,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5437,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5439,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5443,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5446
      start: 5408
    functionDepth: 8
    functionLinenumber: 5408
    functionLinenumberEnd: 5446
    functionName: http_write_during_read_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_base_once
    - evhttp_free
    - tt_assert
    - bufferevent_write
    - bufferevent_setcb
    - bufferevent_disable
    - create_bev
    - http_setup
    - http_connect
    - bufferevent_free
    - strlen
    - evutil_timerclear
    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:5448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5448
      start: 5447
    functionDepth: 9
    functionLinenumber: 5447
    functionLinenumberEnd: 5448
    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:5457,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5462,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5464,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5465,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5467,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5469,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5470,1
    - Dst: evhttp_request_own
      Src: /src/libevent/test/regress_http.c:5472,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5474,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5478,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:5480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5483
      start: 5450
    functionDepth: 7
    functionLinenumber: 5450
    functionLinenumberEnd: 5483
    functionName: http_request_own_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_make_request
    - tt_abort_msg
    - evhttp_request_free
    - evhttp_request_own
    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:5493,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5494,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:5497,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5498,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5500,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:5502,1
    - Dst: va_start
      Src: /src/libevent/test/regress_http.c:5504,1
    - Dst: evbuffer_add_vprintf
      Src: /src/libevent/test/regress_http.c:5505,1
    - Dst: va_end
      Src: /src/libevent/test/regress_http.c:5506,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5508,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - base
    - port
    - fmt
    argTypes:
    - struct event_base*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5513
      start: 5485
    functionDepth: 8
    functionLinenumber: 5485
    functionLinenumberEnd: 5513
    functionName: http_run_bev_request
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - tt_assert
    - bufferevent_setcb
    - create_bev
    - evbuffer_add_vprintf
    - http_connect
    - bufferevent_free
    - bufferevent_get_output
    - va_start
    - va_end
    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:5522,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:5528,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5530,1
    - Dst: http_run_bev_request
      Src: /src/libevent/test/regress_http.c:5532,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:5538,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:5539,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5541,1
    - Dst: http_run_bev_request
      Src: /src/libevent/test/regress_http.c:5543,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:5549,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:5550,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5552,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5555,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5557,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:5559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5560
      start: 5514
    functionDepth: 9
    functionLinenumber: 5514
    functionLinenumberEnd: 5560
    functionName: http_request_extra_body_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_free
    - tt_assert
    - http_setup_gencb
    - evbuffer_add_printf
    - http_run_bev_request
    - evbuffer_new
    - evbuffer_free
    - evbuffer_pullup
    - bufferevent_free
    - evbuffer_get_length
    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:5575,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5576,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5577,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5579,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5581,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5582,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5583,1
    - Dst: tt_fail
      Src: /src/libevent/test/regress_http.c:5588,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:5589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct http_newreqcb_test_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5590
      start: 5572
    functionDepth: 2
    functionLinenumber: 5572
    functionLinenumberEnd: 5590
    functionName: http_newreqcb_test_state_check
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_fail
    - tt_int_op
    - event_base_loopexit
    - exit
    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:5596,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:5598,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5592
    functionDepth: 3
    functionLinenumber: 5592
    functionLinenumberEnd: 5603
    functionName: http_request_done_newreqcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_newreqcb_test_state_check
    - evhttp_request_set_error_cb
    - evhttp_request_get_response_code
    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:5611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - enum evhttp_request_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5612
      start: 5605
    functionDepth: 3
    functionLinenumber: 5605
    functionLinenumberEnd: 5612
    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:5619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5625
      start: 5614
    functionDepth: 3
    functionLinenumber: 5614
    functionLinenumberEnd: 5625
    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:5633,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5641,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5642,1
    - Dst: evhttp_set_newreqcb
      Src: /src/libevent/test/regress_http.c:5644,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5649,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:5651,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5653,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5655,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5656,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5656,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:5657,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5660,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5661,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5665,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5668,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5670,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5671,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5674,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5682
      start: 5628
    functionDepth: 7
    functionLinenumber: 5628
    functionLinenumberEnd: 5682
    functionName: http_newreqcb_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_set_retries
    - evhttp_connection_base_new
    - evhttp_request_set_error_cb
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - memset
    - evhttp_make_request
    - tt_abort_msg
    - http_newreqcb_test_state_check
    - evhttp_set_newreqcb
    - tt_int_op
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_newreqcb_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5692,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5697,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5698,1
    - Dst: evhttp_connection_set_connect_timeout_tv
      Src: /src/libevent/test/regress_http.c:5702,1
    - Dst: evhttp_connection_set_write_timeout_tv
      Src: /src/libevent/test/regress_http.c:5703,1
    - Dst: evhttp_connection_set_read_timeout_tv
      Src: /src/libevent/test/regress_http.c:5705,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5707,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5708,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5709,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5709,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5710,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5710,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5711,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5712,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5716,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5719
      start: 5684
    functionDepth: 7
    functionLinenumber: 5684
    functionLinenumberEnd: 5719
    functionName: http_timeout_read_client_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_set_connect_timeout_tv
    - evhttp_connection_base_new
    - http_setup
    - evhttp_connection_free
    - evhttp_request_get_output_headers
    - evhttp_make_request
    - evhttp_connection_set_write_timeout_tv
    - tt_int_op
    - evhttp_connection_set_read_timeout_tv
    - evhttp_add_header
    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:5763,1
    - Dst: evhttp_send_error
      Src: /src/libevent/test/regress_http.c:5766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5755
    functionDepth: 5
    functionLinenumber: 5755
    functionLinenumberEnd: 5769
    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:5782,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5789,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: 5797
      start: 5771
    functionDepth: 9
    functionLinenumber: 5771
    functionLinenumberEnd: 5797
    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:5809,1
    - Dst: tt_assert_op_type
      Src: /src/libevent/test/regress_http.c:5810,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:5810,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5812,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:5812,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:5815,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5816,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:5817,1
    - Dst: tt_assert_msg
      Src: /src/libevent/test/regress_http.c:5818,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:5819,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5820,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:5820,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:5820,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5823,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5829
      start: 5799
    functionDepth: 2
    functionLinenumber: 5799
    functionLinenumberEnd: 5829
    functionName: http_error_callback_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_input_headers
    - tt_assert
    - tt_assert_msg
    - evhttp_find_header
    - evbuffer_get_length
    - event_base_loopexit
    - tt_str_op
    - tt_assert_op_type
    - evhttp_request_get_command
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    - tt_int_op
    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:5843,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:5844,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5850,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5851,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:5854,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:5863,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/test/regress_http.c:5867,1
    - Dst: evhttp_set_errorcb
      Src: /src/libevent/test/regress_http.c:5871,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5876,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5878,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5879,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5881,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:5882,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5884,1
    - Dst: tt_abort_printf
      Src: /src/libevent/test/regress_http.c:5889,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5896,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5899
      start: 5831
    functionDepth: 7
    functionLinenumber: 5831
    functionLinenumberEnd: 5899
    functionName: http_error_callback_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - exit
    - evhttp_connection_set_local_address
    - evhttp_connection_base_new
    - http_setup
    - evhttp_set_errorcb
    - evhttp_connection_free
    - evhttp_set_allowed_methods
    - evhttp_set_gencb
    - evhttp_make_request
    - tt_abort_msg
    - ARRAY_SIZE
    - tt_abort_printf
    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:5903,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5904
      start: 5901
    functionDepth: 7
    functionLinenumber: 5901
    functionLinenumberEnd: 5904
    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:5914,1
    - Dst: evhttp_set_write_timeout_tv
      Src: /src/libevent/test/regress_http.c:5920,1
    - Dst: evhttp_set_read_timeout_tv
      Src: /src/libevent/test/regress_http.c:5922,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5924,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:5925,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5926,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5928,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:5929,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5931,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5935,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5938,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5940,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5941,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5945,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:5947,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5950
      start: 5905
    functionDepth: 9
    functionLinenumber: 5905
    functionLinenumberEnd: 5950
    functionName: http_timeout_read_server_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - event_base_once
    - evhttp_free
    - tt_assert
    - bufferevent_setcb
    - evbuffer_add_printf
    - evutil_closesocket
    - create_bev
    - evhttp_set_write_timeout_tv
    - http_setup
    - evhttp_set_read_timeout_tv
    - http_connect
    - bufferevent_free
    - bufferevent_get_output
    - strlen
    - tt_int_op
    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:5960,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5968,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5969,1
    - Dst: evhttp_set_max_connections
      Src: /src/libevent/test/regress_http.c:5971,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:5971,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5976,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:5978,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5980,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5982,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:5986,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5989,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5990,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5994,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:6005,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:6008,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:6010,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:6011,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:6012,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:6013,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:6016,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:6018,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:6020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6023
      start: 5955
    functionDepth: 7
    functionLinenumber: 5955
    functionLinenumberEnd: 6023
    functionName: http_max_connections_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_free
    - tt_assert
    - evhttp_connection_set_retries
    - evhttp_connection_base_new
    - evhttp_request_set_error_cb
    - http_setup
    - event_base_loopexit
    - evhttp_connection_free
    - memset
    - evhttp_make_request
    - tt_abort_msg
    - http_newreqcb_test_state_check
    - ARRAY_SIZE
    - evhttp_set_max_connections
    - tt_int_op
    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: 6029
      start: 6026
    functionDepth: 0
    functionLinenumber: 6026
    functionLinenumberEnd: 6029
    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: 6031
      start: 6030
    functionDepth: 0
    functionLinenumber: 6030
    functionLinenumberEnd: 6031
    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: 6033
      start: 6031
    functionDepth: 0
    functionLinenumber: 6031
    functionLinenumberEnd: 6033
    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: 6035
      start: 6033
    functionDepth: 0
    functionLinenumber: 6033
    functionLinenumberEnd: 6035
    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: 6037
      start: 6035
    functionDepth: 0
    functionLinenumber: 6035
    functionLinenumberEnd: 6037
    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: 6038
      start: 6037
    functionDepth: 0
    functionLinenumber: 6037
    functionLinenumberEnd: 6038
    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: 6039
      start: 6038
    functionDepth: 0
    functionLinenumber: 6038
    functionLinenumberEnd: 6039
    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: 6041
      start: 6039
    functionDepth: 0
    functionLinenumber: 6039
    functionLinenumberEnd: 6041
    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: 6043
      start: 6041
    functionDepth: 0
    functionLinenumber: 6041
    functionLinenumberEnd: 6043
    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:6046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6046
      start: 6045
    functionDepth: 10
    functionLinenumber: 6045
    functionLinenumberEnd: 6046
    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:6048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6048
      start: 6047
    functionDepth: 10
    functionLinenumber: 6047
    functionLinenumberEnd: 6048
    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: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_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:6052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6052
      start: 6051
    functionDepth: 9
    functionLinenumber: 6051
    functionLinenumberEnd: 6052
    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:6054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6053
    functionDepth: 9
    functionLinenumber: 6053
    functionLinenumberEnd: 6054
    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: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_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:6058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6058
      start: 6057
    functionDepth: 9
    functionLinenumber: 6057
    functionLinenumberEnd: 6058
    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:6060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6060
      start: 6059
    functionDepth: 9
    functionLinenumber: 6059
    functionLinenumberEnd: 6060
    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:6062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6062
      start: 6061
    functionDepth: 10
    functionLinenumber: 6061
    functionLinenumberEnd: 6062
    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:6064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6064
      start: 6063
    functionDepth: 9
    functionLinenumber: 6063
    functionLinenumberEnd: 6064
    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:6066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6066
      start: 6065
    functionDepth: 9
    functionLinenumber: 6065
    functionLinenumberEnd: 6066
    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:6068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6068
      start: 6067
    functionDepth: 9
    functionLinenumber: 6067
    functionLinenumberEnd: 6068
    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:6070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6070
      start: 6069
    functionDepth: 8
    functionLinenumber: 6069
    functionLinenumberEnd: 6070
    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:6072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6072
      start: 6071
    functionDepth: 8
    functionLinenumber: 6071
    functionLinenumberEnd: 6072
    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:6074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6074
      start: 6073
    functionDepth: 9
    functionLinenumber: 6073
    functionLinenumberEnd: 6074
    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:6076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6076
      start: 6075
    functionDepth: 8
    functionLinenumber: 6075
    functionLinenumberEnd: 6076
    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:6078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6078
      start: 6077
    functionDepth: 8
    functionLinenumber: 6077
    functionLinenumberEnd: 6078
    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:6080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6080
      start: 6079
    functionDepth: 8
    functionLinenumber: 6079
    functionLinenumberEnd: 6080
    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:6085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6085
      start: 6084
    functionDepth: 10
    functionLinenumber: 6084
    functionLinenumberEnd: 6085
    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:6087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6087
      start: 6086
    functionDepth: 10
    functionLinenumber: 6086
    functionLinenumberEnd: 6087
    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: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_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:6091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6090
    functionDepth: 9
    functionLinenumber: 6090
    functionLinenumberEnd: 6091
    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:6093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6093
      start: 6092
    functionDepth: 9
    functionLinenumber: 6092
    functionLinenumberEnd: 6093
    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: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_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:6097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6097
      start: 6096
    functionDepth: 9
    functionLinenumber: 6096
    functionLinenumberEnd: 6097
    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:6099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 6098
    functionDepth: 9
    functionLinenumber: 6098
    functionLinenumberEnd: 6099
    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:6101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6101
      start: 6100
    functionDepth: 10
    functionLinenumber: 6100
    functionLinenumberEnd: 6101
    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:6103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6103
      start: 6102
    functionDepth: 9
    functionLinenumber: 6102
    functionLinenumberEnd: 6103
    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:6105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6105
      start: 6104
    functionDepth: 9
    functionLinenumber: 6104
    functionLinenumberEnd: 6105
    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:6107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 6106
    functionDepth: 9
    functionLinenumber: 6106
    functionLinenumberEnd: 6107
    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:6109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 6108
    functionDepth: 8
    functionLinenumber: 6108
    functionLinenumberEnd: 6109
    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:6111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6111
      start: 6110
    functionDepth: 8
    functionLinenumber: 6110
    functionLinenumberEnd: 6111
    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:6113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6113
      start: 6112
    functionDepth: 9
    functionLinenumber: 6112
    functionLinenumberEnd: 6113
    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:6115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6115
      start: 6114
    functionDepth: 8
    functionLinenumber: 6114
    functionLinenumberEnd: 6115
    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:6117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6117
      start: 6116
    functionDepth: 8
    functionLinenumber: 6116
    functionLinenumberEnd: 6117
    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:6119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6119
      start: 6118
    functionDepth: 8
    functionLinenumber: 6118
    functionLinenumberEnd: 6119
    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_want
    - strcmp
    - tt_str_op
    - tt_abort_msg
    - tt_int_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
    - strdup
    - free
    - tt_str_op
    - strcpy
    - tt_mem_op
    - memcpy
    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:
    - tt_int_op
    - sleep
    - time
    - Sleep
    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:
    - tt_int_op
    - sleep
    - time
    - 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:
    - evutil_inet_pton
    - strcmp
    - evutil_inet_ntop
    - TT_FAIL
    - ntohl
    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_BLATHER
    - evutil_inet_pton
    - strcmp
    - evutil_inet_ntop
    - TT_FAIL
    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:
    - TT_BLATHER
    - evutil_inet_pton_scope
    - TT_FAIL
    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:
    - evutil_inet_pton
    - htons
    - evutil_parse_sockaddr_port
    - memset
    - memcmp
    - TT_FAIL
    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:
    - evutil_format_sockaddr_port_
    - tt_int_op
    - tt_str_op
    - evutil_parse_sockaddr_port
    - tt_ptr_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:
    - evutil_sockaddr_is_loopback_
    - evutil_parse_sockaddr_port
    - TT_FAIL
    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:
    - evutil_strtoll
    - tt_want
    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
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:479,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:480,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:481,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: test_evutil_snprintf
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - EV_U64_ARG
    - EV_I64_ARG
    - tt_str_op
    - evutil_snprintf
    - EV_SIZE_ARG
    - strlen
    - tt_int_op
    - EV_SSIZE_ARG
    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: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:491,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_util.c:491,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:492,1
    - Dst: evutil_ascii_strcasecmp
      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_strcasecmp
      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_strcasecmp
      Src: /src/libevent/test/regress_util.c:494,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
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:500,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:500,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:501,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:501,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:502,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:502,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:503,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 506
    functionName: test_evutil_casecmp
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_ascii_strcasecmp
    - tt_int_op
    - evutil_ascii_strncasecmp
    linkageType: ''
    returnType: void
    signature: void test_evutil_casecmp(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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:527,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: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: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:535,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:536,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:537,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:538,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 543
    functionName: test_evutil_rtrim
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TEST_TRIM
    - mm_free
    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: 519
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 519
    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:552,1
    - Dst: free
      Src: /src/libevent/test/regress_util.c:555,1
    - Dst: strdup
      Src: /src/libevent/test/regress_util.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - severity
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 558
    functionName: logfn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    - tt_want
    linkageType: ''
    returnType: void
    signature: void logfn(int severity, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_util.c:567,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:568,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - exitcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: fatalfn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - exit
    - strcmp
    linkageType: ''
    returnType: void
    signature: void fatalfn(int exitcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regress_fork
      Src: /src/libevent/test/regress_util.c:583,1
    - Dst: fn
      Src: /src/libevent/test/regress_util.c:585,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:586,1
    - Dst: wait
      Src: /src/libevent/test/regress_util.c:588,1
    - Dst: WEXITSTATUS
      Src: /src/libevent/test/regress_util.c:589,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - wantexitcode
    - wantseverity
    - wantmsg
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 594
    functionName: check_error_logging
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - wait
    - regress_fork
    - exit
    - tt_int_op
    - WEXITSTATUS
    - fn
    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:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 600
    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:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 607
    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:612,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/test/regress_util.c:614,1
    - Dst: event_sock_err
      Src: /src/libevent/test/regress_util.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: sock_err_fn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - event_sock_err
    - EVUTIL_SET_SOCKET_ERROR
    - socket
    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:628,1
    - Dst: event_set_fatal_callback
      Src: /src/libevent/test/regress_util.c:629,1
    - Dst: check_error_logging
      Src: /src/libevent/test/regress_util.c:646,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:648,1
    - Dst: event_warnx
      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_msgx
      Src: /src/libevent/test/regress_util.c:655,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:656,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:657,1
    - Dst: event_debug
      Src: /src/libevent/test/regress_util.c:659,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:661,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:663,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:664,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:666,1
    - Dst: event_warn
      Src: /src/libevent/test/regress_util.c:670,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:671,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:672,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:673,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:674,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:677,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:678,1
    - Dst: check_error_logging
      Src: /src/libevent/test/regress_util.c:679,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:680,1
    - Dst: socket
      Src: /src/libevent/test/regress_util.c:684,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:686,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress_util.c:688,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/test/regress_util.c:689,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:691,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:692,1
    - Dst: event_sock_warn
      Src: /src/libevent/test/regress_util.c:695,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:696,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:697,1
    - Dst: check_error_logging
      Src: /src/libevent/test/regress_util.c:700,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:701,1
    - Dst: free
      Src: /src/libevent/test/regress_util.c:708,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_util.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 711
    functionName: test_evutil_log
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_closesocket
    - strerror
    - socket
    - event_sock_warn
    - event_warn
    - evutil_socket_error_to_string
    - LOGEQ
    - event_warnx
    - event_debug
    - tt_ptr_op
    - event_set_fatal_callback
    - event_set_log_callback
    - check_error_logging
    - free
    - event_msgx
    - evutil_snprintf
    - RESET
    - tt_int_op
    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: 635
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 635
    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: 640
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 640
    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: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
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:727,1
    - Dst: strlcpy
      Src: /src/libevent/test/regress_util.c:727,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 731
    functionName: test_evutil_strlcpy
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_str_op
    - tt_int_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: 755
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 755
    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: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:779,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_int_op
      Src: /src/libevent/test/regress_util.c:784,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:785,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:786,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:790,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:793,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:797,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:798,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:801,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:807,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:808,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:811,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:817,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:818,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:821,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:827,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:828,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:831,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:847,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:849,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 855
    functionName: test_evutil_integers
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_assert
    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: 866
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 866
    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: 877
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 877
    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:888,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:890,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:892,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/test/regress_util.c:894,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:896,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:901,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:907,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_util.c:908,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:910,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:915,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_util.c:916,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:918,1
    - Dst: evutil_sockaddr_cmp
      Src: /src/libevent/test/regress_util.c:922,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:923,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:927,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:932,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: 934
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 934
    functionName: test_ai_eq_
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evutil_sockaddr_cmp
    - ntohs
    - evutil_parse_sockaddr_port
    - memset
    - evutil_inet_ntop
    - tt_int_op
    - TT_FAIL
    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:945,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:946,1
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/regress_util.c:951,1
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/regress_util.c:952,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:954,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:960,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/test/regress_util.c:961,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:968,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:969,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:978,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/test/regress_util.c:982,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/test/regress_util.c:984,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:985,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 936
    functionDepth: 9
    functionLinenumber: 936
    functionLinenumberEnd: 990
    functionName: test_evutil_rand
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evutil_weakrand_seed_
    - evutil_weakrand_
    - memset
    - evutil_secure_rng_get_bytes
    - tt_int_op
    - evutil_weakrand_range_
    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:995,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/test/regress_util.c:995,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:996,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/test/regress_util.c:996,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:997,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/test/regress_util.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1000
    functionName: test_EVUTIL_IS_
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ISDIGIT_
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_EVUTIL_IS_(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1013,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1015,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1016,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1017,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1022,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1025,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1026,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1027,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1028,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1029,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1030,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1033,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1036,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1037,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1038,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1039,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1040,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1041,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1045,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1049,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1050,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1051,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1052,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1053,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1054,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1057,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1058,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1059,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1060,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1061,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1062,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1067,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1068,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1069,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1070,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1071,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1072,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1077,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1078,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1079,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1080,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1081,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1082,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1087,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1088,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1089,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_util.c:1090,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1091,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1092,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_util.c:1093,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1094,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1095,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1096,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1101,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1104,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1105,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_util.c:1106,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1107,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1108,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_util.c:1109,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1110,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1111,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1112,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1116,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1119,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1120,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1121,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1124,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1128,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_util.c:1130,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1133,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1136,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress_util.c:1138,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1140,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1141,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1142,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 119
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1002
    functionDepth: 7
    functionLinenumber: 1002
    functionLinenumberEnd: 1149
    functionName: test_evutil_getaddrinfo
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - test_ai_eq
    - tt_assert
    - ai_find_by_family
    - evutil_freeaddrinfo
    - evutil_getaddrinfo
    - memset
    - ai_find_by_protocol
    - TT_DECLARE
    - tt_ptr_op
    - tt_int_op
    - tt_fail_msg
    linkageType: ''
    returnType: void
    signature: void test_evutil_getaddrinfo(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1164,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1168,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress_util.c:1170,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1172,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1173,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1174,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1175,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1176,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1178,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1179,1
    - Dst: htons
      Src: /src/libevent/test/regress_util.c:1179,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1180,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:1182,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1183,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1185,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1190,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1192,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1194,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1195,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1196,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1198,1
    - Dst: htons
      Src: /src/libevent/test/regress_util.c:1198,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:1200,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1202,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1151
    functionDepth: 7
    functionLinenumber: 1151
    functionLinenumberEnd: 1209
    functionName: test_evutil_getaddrinfo_live
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - tt_assert
    - evutil_freeaddrinfo
    - htons
    - evutil_getaddrinfo
    - memset
    - TT_DECLARE
    - evutil_inet_ntop
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_evutil_getaddrinfo_live(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1218,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1224,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1225,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1226,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1227,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1228,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1229,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1233,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1234,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1235,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1236,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1237,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1238,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1211
    functionDepth: 7
    functionLinenumber: 1211
    functionLinenumberEnd: 1244
    functionName: test_evutil_getaddrinfo_AI_ADDRCONFIG
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - test_ai_eq
    - tt_assert
    - evutil_freeaddrinfo
    - tt_int_op
    - evutil_getaddrinfo
    - memset
    - tt_ptr_op
    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:1252,1
    - Dst: TEXT
      Src: /src/libevent/test/regress_util.c:1252,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1253,1
    - Dst: CloseHandle
      Src: /src/libevent/test/regress_util.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1259
    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: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_malloc
      Src: /src/libevent/test/regress_util.c:1279,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1280,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1281,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1287
    functionName: test_event_malloc
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - mm_malloc
    - tt_assert
    - mm_free
    linkageType: ''
    returnType: void
    signature: void test_event_malloc(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1299,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1300,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1301,1
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1303,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1304,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1305,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_calloc
      Src: /src/libevent/test/regress_util.c:1314,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1315,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1316,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1317,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1324
    functionName: test_event_calloc
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - mm_calloc
    - tt_assert
    - mm_free
    linkageType: ''
    returnType: void
    signature: void test_event_calloc(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1340,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1345,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1350
    functionName: test_event_calloc_enomem
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_ptr_op
    - mm_calloc
    - tt_int_op
    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:1361,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1362,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1363,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
    - Dst: mm_strdup
      Src: /src/libevent/test/regress_util.c:1376,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1377,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1378,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1379,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1389
    functionName: test_event_strdup
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - mm_free
    - tt_str_op
    - mm_strdup
    - tt_int_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:1399,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_util.c:1400,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_util.c:1401,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_util.c:1402,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_util.c:1403,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1405,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1406,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1410,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1411,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1412,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1417
    functionName: test_evutil_usleep
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_usleep_
    - evutil_timersub
    - tt_int_op
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void test_evutil_usleep(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1429,1
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1430,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1452,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1453,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1460,1
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/test/regress_util.c:1460,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/regress_util.c:1463,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_util.c:1464,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1469,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_util.c:1469,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1470,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1471,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1473,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1475,1
    - Dst: abs
      Src: /src/libevent/test/regress_util.c:1475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1479
    functionName: test_evutil_monotonic_res
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - tt_assert
    - evutil_configure_monotonic_time_
    - abs
    - evutil_usleep_
    - evutil_gettime_monotonic_
    - evutil_timersub
    - tt_int_op
    - strstr
    - evutil_timercmp
    linkageType: ''
    returnType: void
    signature: void test_evutil_monotonic_res(void *data_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1486,1
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1487,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1497,1
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/test/regress_util.c:1497,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/regress_util.c:1501,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/regress_util.c:1504,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_util.c:1505,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1511,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_util.c:1511,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1512,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1513,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1515,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1517,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1481
    functionDepth: 3
    functionLinenumber: 1481
    functionLinenumberEnd: 1522
    functionName: test_evutil_monotonic_prc
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - tt_assert
    - evutil_configure_monotonic_time_
    - evutil_gettime_monotonic_
    - evutil_timersub
    - tt_int_op
    - strstr
    - evutil_timercmp
    linkageType: ''
    returnType: void
    signature: void test_evutil_monotonic_prc(void *data_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/libevent/test/regress_util.c:1528,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_util.c:1530,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:1530,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:1531,1
    - Dst: gmtime_r
      Src: /src/libevent/test/regress_util.c:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cur_p
    - t
    argTypes:
    - struct tm*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1537
    functionName: create_tm_from_unix_epoch
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - exit
    - strerror
    - fprintf
    - gmtime_r
    - gmtime
    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:1580,1
    - Dst: evutil_date_rfc1123
      Src: /src/libevent/test/regress_util.c:1581,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1582,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1589,1
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_util.c:1592,1
    - Dst: evutil_date_rfc1123
      Src: /src/libevent/test/regress_util.c:1593,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1571
    functionDepth: 3
    functionLinenumber: 1571
    functionLinenumberEnd: 1599
    functionName: test_evutil_date_rfc1123
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - create_tm_from_unix_epoch
    - strlen
    - tt_str_op
    - evutil_date_rfc1123
    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:1615,1
    - Dst: evutil_v4addr_is_local_
      Src: /src/libevent/test/regress_util.c:1615,1
    - Dst: htonl
      Src: /src/libevent/test/regress_util.c:1618,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1619,1
    - Dst: evutil_v4addr_is_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:1621,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1622,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1625,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1626,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1627,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1630,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1631,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1635
    functionName: test_evutil_v4addr_is_local
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - htonl
    - tt_int_op
    - evutil_v4addr_is_local_
    - 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: 1612
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1612
    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:1651,1
    - Dst: evutil_v6addr_is_local_
      Src: /src/libevent/test/regress_util.c:1651,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1652,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1655,1
    - Dst: evutil_v6addr_is_local_
      Src: /src/libevent/test/regress_util.c:1655,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1656,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1659,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1661,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1663,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1665,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1667,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1669,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1672,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1676
    functionName: test_evutil_v6addr_is_local
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - LOCAL6
    - evutil_v6addr_is_local_
    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: 1649
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1649
    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: 1683
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1683
    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:1689,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_util.c:1691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1692
    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: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: tt_int_op
      Src: /src/libevent/test/regress_util.c:1707,1
    - Dst: evutil_socketpair
      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: tt_int_op
      Src: /src/libevent/test/regress_util.c:1709,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1709,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1712,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1712,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1713,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1713,1
    - Dst: socketpair_init
      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_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1716,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1717,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1718,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1718,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1719,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1721,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1721,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1722,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1722,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1723,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1724,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1724,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1725,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1726,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1727,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1727,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1728,1
    - Dst: socketpair_close
      Src: /src/libevent/test/regress_util.c:1731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1694
    functionDepth: 5
    functionLinenumber: 1694
    functionLinenumberEnd: 1732
    functionName: test_evutil_socketpair_create
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_socketpair
    - SOCKETPAIR_CHECK_CLOSE
    - socketpair_init
    - socketpair_close
    - tt_int_op
    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: 1704
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1704
    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:1739,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1750,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/test/regress_util.c:1753,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1757,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1757,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1758,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1759,1
    - Dst: getsockopt
      Src: /src/libevent/test/regress_util.c:1762,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1763,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1764,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1775,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1776,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1777,1
    - Dst: htonl
      Src: /src/libevent/test/regress_util.c:1777,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1778,1
    - Dst: htonl
      Src: /src/libevent/test/regress_util.c:1778,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1783,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1784,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1785,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1785,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1789,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1789,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1790,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1791,1
    - Dst: recv
      Src: /src/libevent/test/regress_util.c:1791,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1792,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1793,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1794,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1794,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1794,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1795,1
    - Dst: recv
      Src: /src/libevent/test/regress_util.c:1795,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1796,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_util.c:1798,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1799,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1799,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1799,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_util.c:1800,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1801,1
    - Dst: recv
      Src: /src/libevent/test/regress_util.c:1801,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_util.c:1802,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1803,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1803,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1803,1
    - Dst: socketpair_close
      Src: /src/libevent/test/regress_util.c:1806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1735
    functionDepth: 5
    functionLinenumber: 1735
    functionLinenumberEnd: 1807
    functionName: test_evutil_win_socketpair
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_check_working_afunix_
    - socketpair_close
    - evutil_socketpair
    - getsockopt
    - tt_assert
    - recv
    - shutdown
    - htonl
    - tt_str_op
    - CHK_LOCALADDR
    - memset
    - strlen
    - tt_int_op
    - strstr
    - send
    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: 1772
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1772
    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:1817,1
    - Dst: RegQueryValueExA
      Src: /src/libevent/test/regress_util.c:1820,1
    - Dst: atoi
      Src: /src/libevent/test/regress_util.c:1822,1
    - Dst: RegCloseKey
      Src: /src/libevent/test/regress_util.c:1824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1827
    functionName: get_windows_build
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - RegQueryValueExA
    - atoi
    - RegOpenKeyExA
    - RegCloseKey
    linkageType: ''
    returnType: int
    signature: int get_windows_build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_windows_build
      Src: /src/libevent/test/regress_util.c:1837,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1838,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/test/regress_util.c:1839,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1841,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1829
    functionDepth: 2
    functionLinenumber: 1829
    functionLinenumberEnd: 1846
    functionName: test_evutil_check_working_afunix
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_check_working_afunix_
    - tt_int_op
    - tt_assert
    - 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:
    - min_heap_size_
    - tt_assert
    - check_heap
    - min_heap_ctor_
    - min_heap_dtor_
    - tt_want
    - free
    - min_heap_push_
    - min_heap_pop_
    - min_heap_erase_
    - set_random_timeout
    - malloc
    - evutil_timercmp
    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:
    - recv
    - printf
    - event_add
    - exit
    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:
    - evutil_socketpair
    - WSAStartup
    - event_init
    - event_dispatch
    - event_add
    - shutdown
    - event_set
    - MAKEWORD
    - strlen
    - send
    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:
    - event_base_dispatch
    - evtimer_new
    - event_free_finalize
    - event_base_assert_ok_
    - event_callback_activate_
    - tt_assert
    - event_add
    - evtimer_assign
    - event_active
    - event_del
    - event_finalize
    - event_callback_finalize_
    - tt_int_op
    - event_deferred_cb_init_
    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:
    - event_base_dispatch
    - event_free
    - evtimer_new
    - tt_assert
    - event_free_finalize
    - event_base_assert_ok_
    - event_base_free
    - event_base_new
    - event_finalize
    - tt_int_op
    - tinytest_set_test_skipped_
    - event_set_mem_functions
    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: 4
    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:
    - event_base_dispatch
    - evtimer_new
    - event_active
    - event_new
    - tt_int_op
    - 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
    - tt_int_op
    - event_assign
    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:
    - event_base_dispatch
    - event_add
    - tt_int_op
    - event_finalize
    - event_new
    - tt_ptr_op
    - 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:
    - evtimer_new
    - event_callback_finalize_many
    - event_deferred_cb_init_
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    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: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: X509_free
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_free(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: SSL_SET_HOSTNAME
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_SET_HOSTNAME(ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_mbedtls.c:101,1
    - Dst: event_debug
      Src: /src/libevent/test/regress_mbedtls.c:104,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: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: mbedtls_debug
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - strlen
    - event_debug
    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:116,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/test/regress_mbedtls.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buffer
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 9
    functionLinenumber: 109
    functionLinenumberEnd: 121
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_mbedtls.c:128,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:129,1
    - Dst: mbedtls_pk_init
      Src: /src/libevent/test/regress_mbedtls.c:130,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libevent/test/regress_mbedtls.c:131,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:138,1
    - Dst: end
      Src: /src/libevent/test/regress_mbedtls.c:140,1
    - Dst: mbedtls_pk_free
      Src: /src/libevent/test/regress_mbedtls.c:142,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:143,1
    - Dst: gmtime
      Src: /src/libevent/test/regress_mbedtls.c:152,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_mbedtls.c:154,1
    - Dst: strerror
      Src: /src/libevent/test/regress_mbedtls.c:154,1
    - Dst: exit
      Src: /src/libevent/test/regress_mbedtls.c:155,1
    - Dst: gmtime_r
      Src: /src/libevent/test/regress_mbedtls.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: mbedtls_getkey
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - end
    - tt_assert
    - exit
    - mbedtls_pk_parse_key
    - mbedtls_pk_init
    - strerror
    - fprintf
    - free
    - gmtime_r
    - malloc
    - gmtime
    - mbedtls_pk_free
    linkageType: ''
    returnType: mbedtls_pk_context
    signature: 'mbedtls_pk_context *

      mbedtls_getkey(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libevent/test/regress_mbedtls.c:167,1
    - Dst: snprintf
      Src: /src/libevent/test/regress_mbedtls.c:186,1
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_mbedtls.c:189,1
    - Dst: strftime
      Src: /src/libevent/test/regress_mbedtls.c:190,1
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_mbedtls.c:192,1
    - Dst: strftime
      Src: /src/libevent/test/regress_mbedtls.c:193,1
    - Dst: mbedtls_x509write_crt_init
      Src: /src/libevent/test/regress_mbedtls.c:195,1
    - Dst: mbedtls_x509write_crt_set_version
      Src: /src/libevent/test/regress_mbedtls.c:196,1
    - Dst: mbedtls_x509write_crt_set_serial_raw
      Src: /src/libevent/test/regress_mbedtls.c:203,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:205,1
    - Dst: mbedtls_mpi_init
      Src: /src/libevent/test/regress_mbedtls.c:207,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libevent/test/regress_mbedtls.c:208,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:209,1
    - Dst: mbedtls_x509write_crt_set_serial
      Src: /src/libevent/test/regress_mbedtls.c:210,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:211,1
    - Dst: mbedtls_mpi_free
      Src: /src/libevent/test/regress_mbedtls.c:212,1
    - Dst: mbedtls_x509write_crt_set_subject_name
      Src: /src/libevent/test/regress_mbedtls.c:215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:216,1
    - Dst: mbedtls_x509write_crt_set_issuer_name
      Src: /src/libevent/test/regress_mbedtls.c:217,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:218,1
    - Dst: mbedtls_x509write_crt_set_md_alg
      Src: /src/libevent/test/regress_mbedtls.c:220,1
    - Dst: mbedtls_x509write_crt_set_validity
      Src: /src/libevent/test/regress_mbedtls.c:223,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:224,1
    - Dst: mbedtls_x509write_crt_set_issuer_key
      Src: /src/libevent/test/regress_mbedtls.c:225,1
    - Dst: mbedtls_x509write_crt_set_subject_key
      Src: /src/libevent/test/regress_mbedtls.c:226,1
    - Dst: mbedtls_x509write_crt_pem
      Src: /src/libevent/test/regress_mbedtls.c:229,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libevent/test/regress_mbedtls.c:231,1
    - Dst: strlen
      Src: /src/libevent/test/regress_mbedtls.c:232,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:233,1
    - Dst: mbedtls_x509write_crt_pem
      Src: /src/libevent/test/regress_mbedtls.c:234,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:237,1
    - Dst: mbedtls_x509write_crt_free
      Src: /src/libevent/test/regress_mbedtls.c:238,1
    - Dst: malloc
      Src: /src/libevent/test/regress_mbedtls.c:240,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:241,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libevent/test/regress_mbedtls.c:242,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libevent/test/regress_mbedtls.c:243,1
    - Dst: strlen
      Src: /src/libevent/test/regress_mbedtls.c:243,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:244,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libevent/test/regress_mbedtls.c:248,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 252
    functionName: mbedtls_getcert
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_x509write_crt_pem
    - mbedtls_x509write_crt_set_issuer_name
    - mbedtls_x509write_crt_set_validity
    - mbedtls_ctr_drbg_seed
    - mbedtls_x509_crt_free
    - tt_assert
    - create_tm_from_unix_epoch
    - mbedtls_x509write_crt_set_issuer_key
    - mbedtls_x509write_crt_set_subject_key
    - mbedtls_x509write_crt_init
    - mbedtls_x509_crt_init
    - mbedtls_mpi_init
    - mbedtls_x509write_crt_free
    - malloc
    - snprintf
    - free
    - mbedtls_x509write_crt_set_subject_name
    - mbedtls_x509write_crt_set_serial
    - mbedtls_mpi_free
    - mbedtls_x509write_crt_set_serial_raw
    - mbedtls_mpi_read_string
    - strftime
    - mbedtls_x509write_crt_set_version
    - mbedtls_x509_crt_parse
    - strlen
    - mbedtls_x509write_crt_set_md_alg
    - time
    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:259,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libevent/test/regress_mbedtls.c:262,1
    - Dst: mbedtls_ssl_conf_renegotiation
      Src: /src/libevent/test/regress_mbedtls.c:263,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libevent/test/regress_mbedtls.c:265,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libevent/test/regress_mbedtls.c:267,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libevent/test/regress_mbedtls.c:270,1
    - Dst: mbedtls_ssl_conf_max_version
      Src: /src/libevent/test/regress_mbedtls.c:276,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libevent/test/regress_mbedtls.c:281,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libevent/test/regress_mbedtls.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 287
    functionName: get_mbedtls_config
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 2
    functionsReached:
    - mbedtls_ssl_conf_renegotiation
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_own_cert
    - mbedtls_ssl_config_init
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_conf_max_version
    - malloc
    - mbedtls_ssl_conf_rng
    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:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    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:298,1
    - Dst: psa_crypto_init
      Src: /src/libevent/test/regress_mbedtls.c:301,1
    - Dst: mbedtls_entropy_init
      Src: /src/libevent/test/regress_mbedtls.c:303,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libevent/test/regress_mbedtls.c:304,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libevent/test/regress_mbedtls.c:305,1
    - Dst: mbedtls_getkey
      Src: /src/libevent/test/regress_mbedtls.c:309,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_mbedtls.c:310,1
    - Dst: mbedtls_getcert
      Src: /src/libevent/test/regress_mbedtls.c:312,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_mbedtls.c:313,1
    - Dst: basic_test_setup
      Src: /src/libevent/test/regress_mbedtls.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 295
    functionDepth: 11
    functionLinenumber: 295
    functionLinenumberEnd: 318
    functionName: mbedtls_test_setup
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - init_mbedtls
    - psa_crypto_init
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_init
    - mbedtls_getcert
    - basic_test_setup
    - mbedtls_ctr_drbg_seed
    - mbedtls_getkey
    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:322,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libevent/test/regress_mbedtls.c:337,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:338,1
    - Dst: mbedtls_pk_free
      Src: /src/libevent/test/regress_mbedtls.c:339,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:340,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/test/regress_mbedtls.c:343,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:344,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/test/regress_mbedtls.c:348,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 319
    functionDepth: 8
    functionLinenumber: 319
    functionLinenumberEnd: 354
    functionName: mbedtls_test_cleanup
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_x509_crt_free
    - mbedtls_ssl_config_free
    - basic_test_cleanup
    - free
    - mbedtls_pk_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:360,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_mbedtls.c:362,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_mbedtls.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: bio_rwcount_read
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - recv
    - EVUTIL_SOCKET_ERROR
    - EVUTIL_ERR_RW_RETRIABLE
    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:371,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_mbedtls.c:373,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_mbedtls.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: bio_rwcount_write
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 1
    functionsReached:
    - EVUTIL_SOCKET_ERROR
    - send
    - EVUTIL_ERR_RW_RETRIABLE
    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:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - rw
    argTypes:
    - SSL*
    - struct rwcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    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_LEFT
    - SPLAY_RIGHT
    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_LINKRIGHT
    - SPLAY_LEFT
    - SPLAY_RIGHT
    - SPLAY_LINKLEFT
    - SPLAY_ROTATE_RIGHT
    - SPLAY_ASSEMBLE
    - SPLAY_ROTATE_LEFT
    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_ROOT
    - RB_AUGMENT
    - RB_SET
    - RB_RIGHT
    - RB_LEFT
    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
    - RB_ROOT
    - cmp
    - RB_LEFT
    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_PARENT
    - RB_RIGHT
    - 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_ROOT
    - RB_RIGHT
    - RB_LEFT
    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:
    - eq
    - sqrt
    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:
    - evwatch_prepare_get_timeout
    - evutil_timersub
    - histogram_update
    - evutil_gettimeofday
    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
    - histogram_update
    - evutil_gettimeofday
    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:
    - event_base_dispatch
    - histogram_new
    - event_free
    - event_base_free
    - histogram_free
    - event_add
    - evsignal_new
    - event_base_new
    - event_new
    - evwatch_prepare_new
    - evwatch_check_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:
    - evutil_snprintf
    - ntohl
    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:
    - printf
    - fflush
    - debug_ntoa
    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_gai_strerror
    - printf
    - evutil_freeaddrinfo
    - evutil_inet_ntop
    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:
    - printf
    - evdns_server_request_add_ptr_reply
    - evdns_server_request_add_a_reply
    - evdns_server_request_respond
    - htonl
    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:
    - event_base_free
    - evdns_set_log_fn
    - bind
    - perror
    - socket
    - htons
    - evdns_base_free
    - evdns_base_resolve_reverse
    - evdns_base_config_windows_nameservers
    - event_base_dispatch
    - evutil_make_socket_nonblocking
    - evdns_base_new
    - fprintf
    - event_base_new
    - getopt
    - evdns_base_nameserver_ip_add
    - WSAStartup
    - printf
    - evdns_base_resolv_conf_parse
    - memset
    - exit
    - evdns_base_resolve_ipv4
    - evutil_inet_pton
    - fflush
    - evdns_getaddrinfo
    - evdns_add_server_port_with_base
    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
    - evutil_ascii_strcasecmp
    - strchr
    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:
    - evhttp_request_get_input_headers
    - fwrite
    - printf
    - evbuffer_get_length
    - puts
    - evhttp_send_reply
    - evhttp_request_get_command
    - evhttp_request_get_uri
    - evhttp_request_get_input_buffer
    - evbuffer_remove
    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_uri_parse
    - perror
    - evhttp_request_get_output_headers
    - opendir
    - evbuffer_free
    - evhttp_request_get_uri
    - closedir
    - memcpy
    - FindNextFileA
    - FindFirstFileA
    - readdir
    - S_ISDIR
    - evhttp_uri_free
    - guess_content_type
    - FindClose
    - open
    - printf
    - evbuffer_new
    - fstat
    - evhttp_send_error
    - dump_request_cb
    - evhttp_request_get_command
    - free
    - malloc
    - strstr
    - stat
    - evhttp_uri_get_path
    - evbuffer_add_printf
    - evbuffer_add_file
    - evhttp_uridecode
    - evutil_snprintf
    - evhttp_send_reply
    - close
    - strlen
    - evhttp_add_header
    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:
    - fprintf
    - exit
    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:
    - print_usage
    - fprintf
    - atoi
    - memset
    - getopt
    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:
    - fprintf
    - EV_SOCK_ARG
    - evutil_strsignal
    - 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:
    - evhttp_bound_socket_get_fd
    - printf
    - perror
    - fprintf
    - ntohs
    - getsockname
    - memset
    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:
    - unlink
    - evhttp_free
    - event_base_free
    - event_enable_debug_logging
    - event_config_set_flag
    - evhttp_new
    - parse_opts
    - perror
    - WSACleanup
    - evhttp_set_cb
    - event_base_dispatch
    - event_free
    - signal
    - evhttp_set_max_body_size
    - display_listen_sock
    - fprintf
    - getenv
    - event_config_free
    - evthread_use_windows_threads
    - WSAStartup
    - event_base_new_with_config
    - evhttp_set_gencb
    - evhttp_bind_listener
    - strcpy
    - MAKEWORD
    - evhttp_bind_socket_with_handle
    - event_config_set_num_cpus_hint
    - event_config_new
    - event_add
    - setbuf
    - evsignal_new
    - evconnlistener_new_bind
    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
    - VERIFY
    - evhttp_uri_parse
    - evhttp_uri_get_port
    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_parse
    - evhttp_uri_set_host
    - evhttp_uri_set_port
    - evhttp_uri_set_userinfo
    - evhttp_uri_join
    - VERIFY
    - evhttp_uri_set_scheme
    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
    - VERIFY
    - evutil_snprintf
    - evhttp_uri_get_port
    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_get_length
    - evbuffer_pullup
    - VERIFY
    - evhttp_request_get_input_buffer
    - fwrite
    - evbuffer_drain
    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_uri_get_host
    - evhttp_request_new
    - evhttp_make_request
    - VERIFY
    - uri_path
    - evhttp_add_header
    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_uri_get_host
    - evhttp_request_new
    - event_base_dispatch
    - event_base_free
    - printf
    - evhttp_connection_base_new
    - uri_hostport
    - evhttp_connection_free
    - event_base_new
    - uri_parse
    - VERIFY
    - evhttp_make_request
    - evhttp_uri_get_port
    - evhttp_uri_free
    - evhttp_add_header
    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:
    - event_get_base
    - perror
    - fprintf
    - event_del
    - ReadFile
    - event_base_loopbreak
    - read
    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:
    - unlink
    - event_base_free
    - perror
    - lstat
    - event_new
    - event_base_dispatch
    - event_free
    - fprintf
    - event_base_new
    - open
    - mkfifo
    - event_self_cbarg
    - CloseHandle
    - exit
    - CreateFileA
    - event_add
    - evsignal_new
    - close
    - libevent_global_shutdown
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:119,1
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:120,1
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:121,1
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    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:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    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:136,1
    - Dst: fprintf
      Src: /src/libevent/sample/https-client.c:137,1
    - Dst: exit
      Src: /src/libevent/sample/https-client.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - func
    - err
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: err_mbedtls
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - mbedtls_strerror
    - fprintf
    - exit
    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: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    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:152,1
    - Dst: ERR_print_errors_fp
      Src: /src/libevent/sample/https-client.c:156,1
    - Dst: exit
      Src: /src/libevent/sample/https-client.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - func
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: err_openssl
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ERR_print_errors_fp
    - exit
    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:180,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libevent/sample/https-client.c:182,1
    - Dst: validate_hostname
      Src: /src/libevent/sample/https-client.c:185,1
    - Dst: X509_NAME_oneline
      Src: /src/libevent/sample/https-client.c:209,1
    - Dst: X509_get_subject_name
      Src: /src/libevent/sample/https-client.c:209,1
    - Dst: printf
      Src: /src/libevent/sample/https-client.c:213,1
    - Dst: printf
      Src: /src/libevent/sample/https-client.c:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - x509_ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 222
    functionName: cert_verify_callback
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - validate_hostname
    - X509_NAME_oneline
    - X509_verify_cert
    - printf
    - X509_STORE_CTX_get_current_cert
    - X509_get_subject_name
    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:233,1
    - Dst: err
      Src: /src/libevent/sample/https-client.c:235,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/libevent/sample/https-client.c:238,1
    - Dst: d2i_X509
      Src: /src/libevent/sample/https-client.c:239,1
    - Dst: X509_STORE_add_cert
      Src: /src/libevent/sample/https-client.c:242,1
    - Dst: X509_free
      Src: /src/libevent/sample/https-client.c:243,1
    - Dst: err_openssl
      Src: /src/libevent/sample/https-client.c:246,1
    - Dst: CertCloseStore
      Src: /src/libevent/sample/https-client.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - store
    - name
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: add_cert_for_store
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - err
    - d2i_X509
    - X509_free
    - X509_STORE_add_cert
    - CertCloseStore
    - CertOpenSystemStore
    - err_openssl
    - CertEnumCertificatesInStore
    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:258,1
    - Dst: strncpy
      Src: /src/libevent/sample/https-client.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - chars
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: strndup
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - malloc
    - strncpy
    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:93,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:94,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: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: my_debug
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_fprintf
    - fflush
    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:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    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:110,1
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:111,1
    - Dst: fwrite
      Src: /src/libevent/sample/ssl-client-mbedtls.c:113,1
    - Dst: fwrite
      Src: /src/libevent/sample/ssl-client-mbedtls.c:114,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:115,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/ssl-client-mbedtls.c:117,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/sample/ssl-client-mbedtls.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: readcb
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 3
    functionsReached:
    - bufferevent_read
    - fflush
    - fprintf
    - event_base_loopbreak
    - fwrite
    - bufferevent_get_base
    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:126,1
    - Dst: bufferevent_write
      Src: /src/libevent/sample/ssl-client-mbedtls.c:133,1
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:136,1
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:138,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 8
    functionLinenumber: 123
    functionLinenumberEnd: 141
    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:169,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/ssl-client-mbedtls.c:171,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:173,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libevent/sample/ssl-client-mbedtls.c:179,1
    - Dst: mbedtls_net_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:185,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:186,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:187,1
    - Dst: psa_crypto_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:190,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:192,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:194,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:195,1
    - Dst: mbedtls_entropy_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:197,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libevent/sample/ssl-client-mbedtls.c:198,1
    - Dst: strlen
      Src: /src/libevent/sample/ssl-client-mbedtls.c:199,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:200,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:204,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:210,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:211,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libevent/sample/ssl-client-mbedtls.c:213,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:216,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:221,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:226,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:227,1
    - Dst: mbedtls_net_connect
      Src: /src/libevent/sample/ssl-client-mbedtls.c:229,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:231,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:235,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:240,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:241,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libevent/sample/ssl-client-mbedtls.c:243,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:245,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:250,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libevent/sample/ssl-client-mbedtls.c:254,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libevent/sample/ssl-client-mbedtls.c:255,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libevent/sample/ssl-client-mbedtls.c:257,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libevent/sample/ssl-client-mbedtls.c:259,1
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:261,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libevent/sample/ssl-client-mbedtls.c:263,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:264,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:268,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/sample/ssl-client-mbedtls.c:270,1
    - Dst: event_base_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:271,1
    - Dst: evdns_base_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:272,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/sample/ssl-client-mbedtls.c:273,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/sample/ssl-client-mbedtls.c:275,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:277,1
    - Dst: bufferevent_mbedtls_filter_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:278,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/ssl-client-mbedtls.c:281,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/ssl-client-mbedtls.c:283,1
    - Dst: event_base_loop
      Src: /src/libevent/sample/ssl-client-mbedtls.c:286,1
    - Dst: event_base_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:287,1
    - Dst: mbedtls_strerror
      Src: /src/libevent/sample/ssl-client-mbedtls.c:295,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:296,1
    - Dst: mbedtls_net_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:300,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:302,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:303,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:305,1
    - Dst: mbedtls_entropy_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:306,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:310,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:311,1
    - Dst: getchar
      Src: /src/libevent/sample/ssl-client-mbedtls.c:312,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 316
    functionName: main
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 2
    functionsReached:
    - event_base_free
    - mbedtls_ssl_conf_dbg
    - mbedtls_ssl_set_hostname
    - bufferevent_setcb
    - getchar
    - mbedtls_entropy_free
    - mbedtls_ctr_drbg_seed
    - mbedtls_net_free
    - bufferevent_enable
    - mbedtls_x509_crt_free
    - psa_crypto_init
    - mbedtls_debug_set_threshold
    - mbedtls_net_connect
    - mbedtls_ssl_conf_ca_chain
    - event_enable_debug_mode
    - evdns_base_new
    - evutil_make_socket_nonblocking
    - mbedtls_ssl_conf_authmode
    - bufferevent_socket_new
    - event_base_new
    - bufferevent_mbedtls_filter_new
    - event_base_loop
    - mbedtls_ctr_drbg_free
    - mbedtls_ssl_config_free
    - WSAStartup
    - mbedtls_x509_crt_init
    - mbedtls_ctr_drbg_init
    - mbedtls_ssl_config_init
    - mbedtls_printf
    - mbedtls_ssl_config_defaults
    - evdns_base_set_option
    - MAKEWORD
    - fflush
    - mbedtls_entropy_init
    - bufferevent_mbedtls_dyncontext_new
    - mbedtls_strerror
    - mbedtls_net_init
    - mbedtls_x509_crt_parse
    - strlen
    - mbedtls_ssl_conf_rng
    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:
    - evbuffer_add_buffer
    - bufferevent_setcb
    - bufferevent_disable
    - bufferevent_setwatermark
    - bufferevent_get_input
    - bufferevent_get_output
    - evbuffer_get_length
    - evbuffer_drain
    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_setwatermark
    - bufferevent_setcb
    - bufferevent_enable
    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:
    - evbuffer_get_length
    - bufferevent_get_output
    - bufferevent_free
    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
    - bufferevent_setcb
    - bufferevent_disable
    - perror
    - fprintf
    - ERR_lib_error_string
    - ERR_reason_error_string
    - readcb
    - bufferevent_get_openssl_error
    - bufferevent_free
    - bufferevent_get_output
    - evbuffer_get_length
    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:
    - fputs
    - exit
    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:
    - bufferevent_socket_connect
    - SSL_new
    - bufferevent_setcb
    - perror
    - bufferevent_socket_new
    - bufferevent_openssl_filter_new
    - bufferevent_free
    - assert
    - bufferevent_openssl_socket_new
    - bufferevent_enable
    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:
    - event_base_free
    - perror
    - WSACleanup
    - htons
    - evutil_parse_sockaddr_port
    - OpenSSL_add_all_algorithms
    - event_base_dispatch
    - RAND_poll
    - signal
    - fprintf
    - ERR_load_crypto_strings
    - event_base_new
    - syntax
    - atoi
    - evconnlistener_free
    - TLS_method
    - WSAStartup
    - SSL_load_error_strings
    - SSL_library_init
    - strcmp
    - htonl
    - memset
    - MAKEWORD
    - SSL_CTX_new
    - evconnlistener_new_bind
    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:
    - printf
    - event_get_signal
    - event_del
    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:
    - event_base_dispatch
    - event_free
    - event_base_free
    - WSAStartup
    - event_add
    - evsignal_new
    - event_self_cbarg
    - event_base_new
    - MAKEWORD
    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:
    - event_base_dispatch
    - event_free
    - event_base_free
    - WSAStartup
    - printf
    - fprintf
    - htons
    - evsignal_new
    - event_add
    - event_base_new
    - evconnlistener_free
    - evconnlistener_new_bind
    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_write
    - bufferevent_setcb
    - bufferevent_disable
    - fprintf
    - bufferevent_socket_new
    - event_base_loopbreak
    - strlen
    - bufferevent_enable
    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:
    - evbuffer_get_length
    - bufferevent_get_output
    - bufferevent_free
    - printf
    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:
    - strerror
    - printf
    - bufferevent_free
    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:
    - printf
    - event_base_loopexit
    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
    - vfprintf
    - va_start
    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: 134
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    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_getfd
    - bufferevent_free
    - info
    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_new
    - bufferevent_set_max_single_read
    - SSL_use_certificate
    - bufferevent_socket_new
    - bufferevent_openssl_socket_new
    - SSL_use_PrivateKey
    - SSL_free
    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_load_error_strings
    - OpenSSL_add_all_algorithms
    - SSL_library_init
    - 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_assign_RSA
    - BN_set_word
    - RSA_generate_key_ex
    - RSA_new
    - EVP_RSA_gen
    - BN_free
    - BN_new
    - EVP_PKEY_new
    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:
    - X509_gmtime_adj
    - X509_getm_notAfter
    - X509_new
    - time
    - X509_set_pubkey
    - X509_set_issuer_name
    - EVP_sha1
    - X509_sign
    - X509_NAME_add_entry_by_txt
    - X509_get_subject_name
    - X509_get_serialNumber
    - ASN1_INTEGER_set
    - X509_getm_notBefore
    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_init
    - ssl_ctx_free
    - 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: 0
    functionLinenumber: 289
    functionLinenumberEnd: 349
    functionName: parse_opts
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 1
    functionsReached:
    - exit
    - print_usage
    - fprintf
    - strdup
    - atoi
    - memset
    - getopt
    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
    - fprintf
    - event_base_loopexit
    - evutil_strsignal
    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:
    - evutil_freeaddrinfo
    - evutil_getaddrinfo
    - memset
    - evutil_snprintf
    - memcpy
    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_lib_error_string
    - ERR_reason_error_string
    - bufferevent_get_openssl_error
    - 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:
    - be_ssl_errors
    - error
    - info
    - event_base_loopexit
    - be_free
    - bufferevent_getfd
    - bufferevent_get_base
    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:
    - fileno
    - bufferevent_get_input
    - evbuffer_write
    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_write_buffer
    - bufferevent_get_input
    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:
    - EVUTIL_ASSERT
    - evutil_set_tcp_keepalive
    - info
    - evutil_format_sockaddr_port_
    - bufferevent_setcb
    - evconnlistener_get_base
    - be_set_timeout
    - be_new
    - be_free
    - evconnlistener_disable
    - bufferevent_enable
    - 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:
    - be_free
    - event_cb_
    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:
    - bufferevent_socket_connect
    - event_base_free
    - bufferevent_setcb
    - event_enable_debug_logging
    - bufferevent_disable
    - parse_opts
    - evconnlistener_get_fd
    - ssl_ctx_init
    - WSACleanup
    - bufferevent_enable
    - event_base_dispatch
    - event_free
    - signal
    - info
    - be_set_timeout
    - bufferevent_socket_new
    - event_base_new
    - getenv
    - be_new
    - evconnlistener_free
    - be_free
    - bufferevent_getfd
    - bufferevent_set_max_single_read
    - WSAStartup
    - memset
    - MAKEWORD
    - free
    - ssl_ctx_free
    - evutil_set_tcp_keepalive
    - evutil_format_sockaddr_port_
    - make_address
    - event_add
    - evsignal_new
    - evconnlistener_new_bind
    - error
    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
    - TAILQ_FOREACH
    - evws_send_text
    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:
    - strncmp
    - broadcast_msg
    - evws_close
    - snprintf
    - memcmp
    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:
    - log_d
    - free
    - TAILQ_REMOVE
    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:
    - nice_addr
    - ntohs
    - memmove
    - evutil_inet_ntop
    - strlen
    - snprintf
    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:
    - TAILQ_INSERT_TAIL
    - calloc
    - evws_new_session
    - addr2str
    - getpeername
    - log_d
    - evws_connection_set_closecb
    - bufferevent_getfd
    - free
    - evws_connection_get_bufferevent
    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:
    - open
    - perror
    - evbuffer_new
    - evhttp_request_get_output_headers
    - fstat
    - evbuffer_add_file
    - evbuffer_free
    - evhttp_send_error
    - evhttp_send_reply
    - close
    - evhttp_add_header
    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:
    - printf
    - EV_SOCK_ARG
    - evutil_strsignal
    - 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:
    - event_base_dispatch
    - event_free
    - evhttp_free
    - event_base_free
    - evhttp_get_connection_count
    - perror
    - evhttp_new
    - event_add
    - evsignal_new
    - event_base_new
    - log_d
    - TAILQ_INIT
    - evhttp_bind_socket_with_handle
    - libevent_global_shutdown
    - evhttp_set_cb
    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:
    - printf
    - event_add
    - evutil_gettimeofday
    - evutil_timersub
    - evutil_timerclear
    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:
    - printf
    - event_base_loopexit
    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:
    - event_base_dispatch
    - event_free
    - event_base_free
    - WSAStartup
    - fprintf
    - event_add
    - strcmp
    - event_self_cbarg
    - event_base_new
    - evsignal_new
    - evutil_gettimeofday
    - setbuf
    - event_new
    - MAKEWORD
    - evutil_timerclear
    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:
    - ASN1_STRING_length
    - X509_NAME_get_entry
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - strlen
    - Curl_cert_hostcheck
    - X509_NAME_get_index_by_NID
    - 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:
    - X509_get_ext_d2i
    - sk_GENERAL_NAME_num
    - ASN1_STRING_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - strlen
    - sk_GENERAL_NAME_pop_free
    - Curl_cert_hostcheck
    - sk_GENERAL_NAME_value
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    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: 19
    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: 19
    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: 15
    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: 19
    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: 15
    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_LEFT
    - SPLAY_RIGHT
    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_LINKRIGHT
    - SPLAY_LEFT
    - SPLAY_RIGHT
    - SPLAY_LINKLEFT
    - SPLAY_ROTATE_RIGHT
    - SPLAY_ASSEMBLE
    - SPLAY_ROTATE_LEFT
    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_ROOT
    - RB_AUGMENT
    - RB_SET
    - RB_RIGHT
    - RB_LEFT
    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
    - RB_ROOT
    - cmp
    - RB_LEFT
    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_PARENT
    - RB_RIGHT
    - 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_ROOT
    - RB_RIGHT
    - RB_LEFT
    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:27,1
    - Dst: evhttp_new
      Src: /src/libevent/test-export/test-export.c:29,1
    - Dst: evdns_base_new
      Src: /src/libevent/test-export/test-export.c:30,1
    - Dst: evrpc_init
      Src: /src/libevent/test-export/test-export.c:34,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:37,1
    - Dst: evhttp_free
      Src: /src/libevent/test-export/test-export.c:39,1
    - Dst: evrpc_free
      Src: /src/libevent/test-export/test-export.c:41,1
    - Dst: evdns_base_free
      Src: /src/libevent/test-export/test-export.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 9
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - evhttp_free
    - event_base_free
    - evdns_base_new
    - evhttp_new
    - event_base_new
    - evrpc_free
    - evrpc_init
    - evdns_base_free
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evthread_use_pthreads
      Src: /src/libevent/test-export/test-export.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 52
    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:63,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libevent/test-export/test-export.c:64,1
    - Dst: SSL_load_error_strings
      Src: /src/libevent/test-export/test-export.c:65,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libevent/test-export/test-export.c:66,1
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:68,1
    - Dst: SSL_CTX_new
      Src: /src/libevent/test-export/test-export.c:73,1
    - Dst: SSLv23_method
      Src: /src/libevent/test-export/test-export.c:73,1
    - Dst: SSL_new
      Src: /src/libevent/test-export/test-export.c:77,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test-export/test-export.c:81,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:90,1
    - Dst: SSL_CTX_free
      Src: /src/libevent/test-export/test-export.c:92,1
    - Dst: SSL_free
      Src: /src/libevent/test-export/test-export.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 96
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - SSL_new
    - event_base_free
    - SSL_load_error_strings
    - SSL_library_init
    - ERR_load_crypto_strings
    - event_base_new
    - SSL_CTX_new
    - SSL_CTX_free
    - OpenSSL_add_all_algorithms
    - bufferevent_openssl_socket_new
    - SSLv23_method
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:107,1
    - Dst: malloc
      Src: /src/libevent/test-export/test-export.c:112,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libevent/test-export/test-export.c:116,1
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/test-export/test-export.c:118,1
    - Dst: bufferevent_mbedtls_socket_new
      Src: /src/libevent/test-export/test-export.c:120,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:129,1
    - Dst: bufferevent_mbedtls_dyncontext_free
      Src: /src/libevent/test-export/test-export.c:131,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/test-export/test-export.c:134,1
    - Dst: free
      Src: /src/libevent/test-export/test-export.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - event_base_free
    - bufferevent_mbedtls_dyncontext_free
    - mbedtls_ssl_config_free
    - event_base_new
    - bufferevent_mbedtls_dyncontext_new
    - mbedtls_ssl_config_init
    - free
    - malloc
    - bufferevent_mbedtls_socket_new
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:145,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - event_base_new
    - event_base_free
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/test-export/test-export.c:160,1
    - Dst: MAKEWORD
      Src: /src/libevent/test-export/test-export.c:160,1
    - Dst: test
      Src: /src/libevent/test-export/test-export.c:163,1
    - Dst: WSACleanup
      Src: /src/libevent/test-export/test-export.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 10
    functionLinenumber: 153
    functionLinenumberEnd: 168
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/indicator_core.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    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:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    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:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_INDICATOR_CALLBACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    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:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_INDICATOR_CALLBACK**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 54
    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_put_bytes_u8
    - WPACKET_close
    - ossl_assert
    - WPACKET_get_total_written
    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_put_bytes_u8
    - int_end_context
    - int_start_context
    - WPACKET_close
    - WPACKET_start_sub_packet
    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_put_bytes_u8
    - int_end_context
    - int_start_context
    - WPACKET_close
    - WPACKET_memcpy
    - WPACKET_start_sub_packet
    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:
    - put_bytes
    - WPACKET_put_bytes_u8
    - int_end_context
    - int_start_context
    - WPACKET_close
    - WPACKET_start_sub_packet
    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:140,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/der_writer.c:143,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/der_writer.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - v
    - top_byte
    argTypes:
    - WPACKET*
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: int_put_bytes_bn
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin
    - bn_get_words
    - WPACKET_allocate_bytes
    - BN_num_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:152,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/der_writer.c:154,1
    - Dst: ossl_DER_w_uint32
      Src: /src/openssl/crypto/der_writer.c:155,1
    - Dst: int_der_w_integer
      Src: /src/openssl/crypto/der_writer.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - tag
    - v
    argTypes:
    - WPACKET*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 158
    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:162,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:163,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:164,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:165,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: ossl_DER_w_null
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - int_end_context
    - int_start_context
    - WPACKET_close
    - WPACKET_start_sub_packet
    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:172,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 174
    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:191,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:192,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/der_writer.c:193,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/crypto/der_writer.c:195,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:196,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: ossl_DER_w_end_sequence
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_set_flags
    - WPACKET_put_bytes_u8
    - int_end_context
    - WPACKET_close
    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_new
    - ossl_provider_activate
    - ossl_provider_add_to_store
    - ossl_provider_free
    - ossl_provider_deactivate
    - ossl_provider_find
    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_disable_fallback_loading
    - OSSL_PROVIDER_try_load_ex
    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_deactivate
    - ossl_provider_free
    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:
    - OPENSSL_strdup
    - ossl_provider_info_clear
    - ERR_raise
    - memset
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_report_alloc_err_inv
      Src: /src/openssl/crypto/aligned_alloc.c:27,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/aligned_alloc.c:39,1
    - Dst: ossl_size_add
      Src: /src/openssl/crypto/aligned_alloc.c:39,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/aligned_alloc.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - num
    - alignment
    - freeptr
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 68
    functionName: ossl_malloc_align
    functionSourceFile: /src/openssl/crypto/aligned_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - CRYPTO_malloc
    - ossl_report_alloc_err_inv
    - ossl_size_add
    linkageType: ''
    returnType: void
    signature: "void *ossl_malloc_align(size_t num, size_t alignment, void **freeptr,\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: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    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: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    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: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    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: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    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: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    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: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    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: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    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:170,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    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: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    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:183,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    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:277,1
    - Dst: ATOMIC_ADD_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:290,1
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:294,1
    - Dst: ATOMIC_SUB_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - struct rcu_lock_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 302
    functionName: get_hold_current_qp
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ATOMIC_SUB_FETCH
    - ATOMIC_ADD_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:307,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: ossl_rcu_free_local_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    - OPENSSL_free
    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:322,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:325,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:330,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/threads_pthread.c:333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:334,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:335,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:353,1
    - Dst: get_hold_current_qp
      Src: /src/openssl/crypto/threads_pthread.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (available_qp != -1)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 359
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 359
    functionName: ossl_rcu_read_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - assert
    - get_hold_current_qp
    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:364,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:367,1
    - Dst: ATOMIC_SUB_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:378,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_pthread.c:380,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (data != NULL)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/openssl/crypto/threads_pthread.c
    - condition: (0)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 392
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 392
    functionName: ossl_rcu_read_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - ATOMIC_SUB_FETCH
    - assert
    - CRYPTO_THREAD_get_local_ex
    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:402,1
    - Dst: pthread_cond_wait
      Src: /src/openssl/crypto/threads_pthread.c:411,1
    - Dst: ATOMIC_ADD_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:435,1
    - Dst: pthread_cond_signal
      Src: /src/openssl/crypto/threads_pthread.c:439,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lock
    - curr_id
    argTypes:
    - CRYPTO_RCU_LOCK*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 442
    functionName: update_qp
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - pthread_cond_signal
    - pthread_mutex_lock
    - ATOMIC_ADD_FETCH
    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:446,1
    - Dst: pthread_cond_signal
      Src: /src/openssl/crypto/threads_pthread.c:448,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lock
    - qp
    argTypes:
    - CRYPTO_RCU_LOCK*
    - struct rcu_qp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: retire_qp
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_lock
    - 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:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - count
    argTypes:
    - CRYPTO_RCU_LOCK*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    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:463,1
    - Dst: TSAN_FAKE_UNLOCK
      Src: /src/openssl/crypto/threads_pthread.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: ossl_rcu_write_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - TSAN_FAKE_UNLOCK
    - pthread_mutex_lock
    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:469,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: ossl_rcu_write_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - TSAN_FAKE_LOCK
    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:480,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:483,1
    - Dst: update_qp
      Src: /src/openssl/crypto/threads_pthread.c:485,1
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:488,1
    - Dst: pthread_cond_wait
      Src: /src/openssl/crypto/threads_pthread.c:490,1
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:502,1
    - Dst: pthread_cond_broadcast
      Src: /src/openssl/crypto/threads_pthread.c:506,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:507,1
    - Dst: retire_qp
      Src: /src/openssl/crypto/threads_pthread.c:509,1
    - Dst: fn
      Src: /src/openssl/crypto/threads_pthread.c:515,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 518
    functionName: ossl_synchronize_rcu
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - retire_qp
    - ATOMIC_LOAD_N
    - OPENSSL_free
    - update_qp
    - pthread_cond_broadcast
    - pthread_mutex_lock
    - fn
    linkageType: ''
    returnType: void
    signature: void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: ossl_rcu_cb_item_new
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_RCU_CB_ITEM
    signature: CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - CRYPTO_RCU_CB_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: ossl_rcu_cb_item_free
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - lock
    - item
    - cb
    - data
    argTypes:
    - CRYPTO_RCU_LOCK*
    - CRYPTO_RCU_CB_ITEM*
    - rcu_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: ossl_rcu_call
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,\n
      \   rcu_cb_fn cb, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 546
    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:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/threads_pthread.c:566,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:570,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:576,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_pthread.c:576,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_pthread.c:576,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:579,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_pthread.c:579,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_pthread.c:579,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:582,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_pthread.c:582,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_pthread.c:582,1
    - Dst: pthread_cond_init
      Src: /src/openssl/crypto/threads_pthread.c:585,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_pthread.c:585,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_pthread.c:585,1
    - Dst: pthread_cond_init
      Src: /src/openssl/crypto/threads_pthread.c:589,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_pthread.c:589,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_pthread.c:589,1
    - Dst: allocate_new_qp_group
      Src: /src/openssl/crypto/threads_pthread.c:593,1
    - Dst: num_writers::num_writers
      Src: /src/openssl/crypto/threads_pthread.c:593,1
    - Dst: qp_group::qp_group
      Src: /src/openssl/crypto/threads_pthread.c:594,1
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/threads_pthread.c:602,1
    - Dst: pthread_cond_destroy
      Src: /src/openssl/crypto/threads_pthread.c:605,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:606,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - num_writers
    - ctx
    argTypes:
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 609
    functionName: ossl_rcu_lock_new
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - prior_signal::prior_signal
    - allocate_new_qp_group
    - pthread_mutex_destroy
    - pthread_cond_init
    - pthread_cond_destroy
    - num_writers::num_writers
    - OPENSSL_free
    - ossl_lib_ctx_get_concrete
    - prior_lock::prior_lock
    - write_lock::write_lock
    - pthread_mutex_init
    - OPENSSL_zalloc::OPENSSL_zalloc
    - qp_group::qp_group
    - alloc_signal::alloc_signal
    - alloc_lock::alloc_lock
    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:619,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:621,1
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/threads_pthread.c:627,1
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/threads_pthread.c:628,1
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/threads_pthread.c:629,1
    - Dst: pthread_cond_destroy
      Src: /src/openssl/crypto/threads_pthread.c:630,1
    - Dst: pthread_cond_destroy
      Src: /src/openssl/crypto/threads_pthread.c:631,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 635
    functionName: ossl_rcu_lock_free
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - ossl_synchronize_rcu
    - pthread_mutex_destroy
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_threadid_np
      Src: /src/openssl/crypto/threads_pthread.c:680,1
    - Dst: syscall
      Src: /src/openssl/crypto/threads_pthread.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 685
    functionName: get_tid
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - syscall
    - pthread_threadid_np
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline get_tid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:698,1
    - Dst: snprintf
      Src: /src/openssl/crypto/threads_pthread.c:700,1
    - Dst: get_tid
      Src: /src/openssl/crypto/threads_pthread.c:700,1
    - Dst: open
      Src: /src/openssl/crypto/threads_pthread.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 705
    functionName: init_contention_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - open
    - get_tid
    - OPENSSL_zalloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void *init_contention_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/openssl/crypto/threads_pthread.c:711,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 713
    functionName: destroy_contention_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - close
    - OPENSSL_free
    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:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 723
    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:727,1
    - Dst: init_contention_data
      Src: /src/openssl/crypto/threads_pthread.c:730,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/threads_pthread.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - init
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: get_stack_traces
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - init_contention_data
    - 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:745,1
    - Dst: ossl_time2us
      Src: /src/openssl/crypto/threads_pthread.c:748,1
    - Dst: ossl_time2us
      Src: /src/openssl/crypto/threads_pthread.c:749,1
    - Dst: get_tid
      Src: /src/openssl/crypto/threads_pthread.c:750,1
    - Dst: alloca
      Src: /src/openssl/crypto/threads_pthread.c:755,1
    - Dst: strlen
      Src: /src/openssl/crypto/threads_pthread.c:758,1
    - Dst: alloca
      Src: /src/openssl/crypto/threads_pthread.c:768,1
    - Dst: writev
      Src: /src/openssl/crypto/threads_pthread.c:772,1
    - Dst: free
      Src: /src/openssl/crypto/threads_pthread.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - traces
    argTypes:
    - struct stack_traces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 775
    functionName: print_stack_traces
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - alloca
    - dprintf
    - free
    - strlen
    - get_tid
    - writev
    - ossl_time2us
    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:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    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:789,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/threads_pthread.c:793,1
    - Dst: backtrace
      Src: /src/openssl/crypto/threads_pthread.c:794,1
    - Dst: backtrace_symbols
      Src: /src/openssl/crypto/threads_pthread.c:795,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/threads_pthread.c:797,1
    - Dst: fprintf
      Src: /src/openssl/crypto/threads_pthread.c:802,1
    - Dst: print_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:803,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: 807
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 807
    functionName: record_lock_contention
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - backtrace
    - print_stack_traces
    - ossl_time_subtract
    - backtrace_symbols
    - fprintf
    - ossl_time_now
    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:811,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/threads_pthread.c:813,1
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/openssl/crypto/threads_pthread.c:817,1
    - Dst: record_lock_contention
      Src: /src/openssl/crypto/threads_pthread.c:818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 827
    functionName: ossl_rwlock_rdlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - get_stack_traces
    - record_lock_contention
    - pthread_rwlock_tryrdlock
    - ossl_unlikely
    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:831,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/threads_pthread.c:833,1
    - Dst: pthread_rwlock_trywrlock
      Src: /src/openssl/crypto/threads_pthread.c:837,1
    - Dst: record_lock_contention
      Src: /src/openssl/crypto/threads_pthread.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 847
    functionName: ossl_rwlock_wrlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - get_stack_traces
    - record_lock_contention
    - ossl_unlikely
    - pthread_rwlock_trywrlock
    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:853,1
    - Dst: get_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:858,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:862,1
    - Dst: print_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    assertStmts:
    - condition: (traces->lock_depth >= 0)
      pos:
        line_end: 861
        line_start: 861
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 869
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 869
    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: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    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:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    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:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 886
    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:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 891
    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:900,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:902,1
    - Dst: pthread_rwlock_init
      Src: /src/openssl/crypto/threads_pthread.c:906,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:907,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:914,1
    - Dst: pthread_mutexattr_init
      Src: /src/openssl/crypto/threads_pthread.c:921,1
    - Dst: pthread_mutexattr_settype
      Src: /src/openssl/crypto/threads_pthread.c:924,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:930,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/openssl/crypto/threads_pthread.c:931,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:932,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/openssl/crypto/threads_pthread.c:936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 940
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_init_rwlock_contention_data
    - OPENSSL_free
    - pthread_mutexattr_destroy
    - pthread_mutex_init
    - pthread_mutexattr_settype
    - pthread_rwlock_init
    - 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:945,1
    - Dst: ossl_rwlock_rdlock
      Src: /src/openssl/crypto/threads_pthread.c:945,1
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:948,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts:
    - condition: (errno != EDEADLK && errno != EBUSY)
      pos:
        line_end: 948
        line_start: 948
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 955
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 955
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - pthread_mutex_lock
    - assert
    - ossl_rwlock_rdlock
    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:960,1
    - Dst: ossl_rwlock_wrlock
      Src: /src/openssl/crypto/threads_pthread.c:960,1
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:963,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts:
    - condition: (errno != EDEADLK && errno != EBUSY)
      pos:
        line_end: 963
        line_start: 963
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 970
      start: 957
    functionDepth: 4
    functionLinenumber: 957
    functionLinenumberEnd: 970
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - assert
    - ossl_assert
    - pthread_mutex_lock
    - ossl_rwlock_wrlock
    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:975,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:978,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts:
    - condition: (errno != EPERM)
      pos:
        line_end: 978
        line_start: 978
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 985
      start: 972
    functionDepth: 4
    functionLinenumber: 972
    functionLinenumberEnd: 985
    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:993,1
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/threads_pthread.c:995,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1000
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - pthread_mutex_destroy
    - pthread_rwlock_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:1004,1
    - Dst: pthread_once
      Src: /src/openssl/crypto/threads_pthread.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - once
    argTypes:
    - CRYPTO_ONCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1008
    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:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    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:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1021
    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:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    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:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1037
    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:1041,1
    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: 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:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1047
    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:1052,1
    - Dst: __atomic_add_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1053,1
    - Dst: atomic_add_int_nv
      Src: /src/openssl/crypto/threads_pthread.c:1059,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1063,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1069,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1073
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - atomic_add_int_nv
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - __atomic_add_fetch
    - CRYPTO_THREAD_write_lock
    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:1079,1
    - Dst: __atomic_add_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1080,1
    - Dst: atomic_add_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1086,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1090,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1099
    functionName: CRYPTO_atomic_add64
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - __atomic_add_fetch
    - atomic_add_64_nv
    - CRYPTO_THREAD_write_lock
    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:1105,1
    - Dst: __atomic_and_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1106,1
    - Dst: atomic_and_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1112,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1116,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1125
    functionName: CRYPTO_atomic_and
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - atomic_and_64_nv
    - __atomic_and_fetch
    - CRYPTO_THREAD_write_lock
    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:1131,1
    - Dst: __atomic_or_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1132,1
    - Dst: atomic_or_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1138,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1142,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1151
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_or_fetch
    - __atomic_is_lock_free
    - atomic_or_64_nv
    - CRYPTO_THREAD_write_lock
    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:1156,1
    - Dst: __atomic_load
      Src: /src/openssl/crypto/threads_pthread.c:1157,1
    - Dst: atomic_or_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1163,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_pthread.c:1167,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1174
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - atomic_or_64_nv
    - CRYPTO_THREAD_read_lock
    - __atomic_load
    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:1179,1
    - Dst: __atomic_store
      Src: /src/openssl/crypto/threads_pthread.c:1180,1
    - Dst: atomic_swap_64
      Src: /src/openssl/crypto/threads_pthread.c:1186,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1190,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1197
    functionName: CRYPTO_atomic_store
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_store
    - __atomic_is_lock_free
    - CRYPTO_THREAD_write_lock
    - 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:1202,1
    - Dst: __atomic_load
      Src: /src/openssl/crypto/threads_pthread.c:1203,1
    - Dst: atomic_or_uint_nv
      Src: /src/openssl/crypto/threads_pthread.c:1209,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_pthread.c:1213,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1220
    functionName: CRYPTO_atomic_load_int
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - atomic_or_uint_nv
    - __atomic_is_lock_free
    - CRYPTO_THREAD_read_lock
    - __atomic_load
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1225,1
    - Dst: __atomic_store
      Src: /src/openssl/crypto/threads_pthread.c:1226,1
    - Dst: atomic_swap_uint
      Src: /src/openssl/crypto/threads_pthread.c:1232,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1236,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - int*
    - int
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1243
    functionName: CRYPTO_atomic_store_int
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - __atomic_store
    - __atomic_is_lock_free
    - atomic_swap_uint
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store_int(int *dst, int val, CRYPTO_RWLOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_load_n
      Src: /src/openssl/crypto/threads_pthread.c:1248,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_pthread.c:1251,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - ret
    - lock
    argTypes:
    - void**
    - void**
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1258
    functionName: CRYPTO_atomic_load_ptr
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - __atomic_load_n
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_ptr(void **ptr, void **ret, CRYPTO_RWLOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_store
      Src: /src/openssl/crypto/threads_pthread.c:1263,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1266,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - void**
    - void**
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1273
    functionName: CRYPTO_atomic_store_ptr
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - __atomic_store
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store_ptr(void **dst, void **val, CRYPTO_RWLOCK *lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/openssl/crypto/threads_pthread.c:1278,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1280,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - expect
    - desire
    - lock
    argTypes:
    - void**
    - void**
    - void*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1290
    functionName: CRYPTO_atomic_cmp_exch_ptr
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - __atomic_compare_exchange_n
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_cmp_exch_ptr(void **ptr, void **expect, void *desire,
      CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1296
    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:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    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:41,1
    - Dst: _malloca
      Src: /src/openssl/crypto/getenv.c:44,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/getenv.c:48,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/getenv.c:51,1
    - Dst: _malloca
      Src: /src/openssl/crypto/getenv.c:55,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/getenv.c:59,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/getenv.c:61,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/getenv.c:67,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/getenv.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/getenv.c:74,1
    - Dst: _freea
      Src: /src/openssl/crypto/getenv.c:80,1
    - Dst: _freea
      Src: /src/openssl/crypto/getenv.c:83,1
    - Dst: __GLIBC_PREREQ
      Src: /src/openssl/crypto/getenv.c:90,1
    - Dst: secure_getenv
      Src: /src/openssl/crypto/getenv.c:92,1
    - Dst: OPENSSL_issetugid
      Src: /src/openssl/crypto/getenv.c:97,1
    - Dst: getenv
      Src: /src/openssl/crypto/getenv.c:99,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 101
    functionName: ossl_safe_getenv
    functionSourceFile: /src/openssl/crypto/getenv.c
    functionUses: 0
    functionsReached:
    - GetACP
    - _freea
    - _malloca
    - OPENSSL_free
    - MultiByteToWideChar
    - secure_getenv
    - __GLIBC_PREREQ
    - getenv
    - WideCharToMultiByte
    - OPENSSL_issetugid
    - GetEnvironmentVariableW
    - OPENSSL_malloc
    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:66,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:66,1
    - Dst: _alloca
      Src: /src/openssl/crypto/o_fopen.c:68,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:70,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:72,1
    - Dst: strlen
      Src: /src/openssl/crypto/o_fopen.c:72,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/o_fopen.c:73,1
    - Dst: _wfopen
      Src: /src/openssl/crypto/o_fopen.c:74,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:79,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/o_fopen.c:81,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:82,1
    - Dst: pathconf
      Src: /src/openssl/crypto/o_fopen.c:88,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/o_fopen.c:92,1
    - Dst: strlen
      Src: /src/openssl/crypto/o_fopen.c:92,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/o_fopen.c:111,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:114,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 117
    functionName: openssl_fopen
    functionSourceFile: /src/openssl/crypto/o_fopen.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - pathconf
    - OPENSSL_free
    - fopen
    - MultiByteToWideChar
    - OSSL_NELEM
    - strlen
    - _wfopen
    - OPENSSL_malloc
    - _alloca
    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: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/openssl/crypto/sparcv9cap.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    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: 51
    functionDepth: 0
    functionLinenumber: 51
    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:62,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: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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:95,1
    - Dst: strtoul
      Src: /src/openssl/crypto/sparcv9cap.c:96,1
    - Dst: strchr
      Src: /src/openssl/crypto/sparcv9cap.c:97,1
    - Dst: strtoul
      Src: /src/openssl/crypto/sparcv9cap.c:98,1
    - Dst: getisax
      Src: /src/openssl/crypto/sparcv9cap.c:106,1
    - Dst: _sparcv9_vis1_instrument
      Src: /src/openssl/crypto/sparcv9cap.c:146,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/sparcv9cap.c:160,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:161,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:162,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:164,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:166,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:167,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:168,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/sparcv9cap.c:169,1
    - Dst: memset
      Src: /src/openssl/crypto/sparcv9cap.c:171,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:175,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:176,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:179,1
    - Dst: _sparcv9_rdtick
      Src: /src/openssl/crypto/sparcv9cap.c:180,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:184,1
    - Dst: _sparcv9_vis1_probe
      Src: /src/openssl/crypto/sparcv9cap.c:185,1
    - Dst: _sparcv9_vis1_instrument
      Src: /src/openssl/crypto/sparcv9cap.c:188,1
    - Dst: _sparcv9_vis2_probe
      Src: /src/openssl/crypto/sparcv9cap.c:191,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:196,1
    - Dst: _sparcv9_fmadd_probe
      Src: /src/openssl/crypto/sparcv9cap.c:197,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:205,1
    - Dst: _sparcv9_vis3_probe
      Src: /src/openssl/crypto/sparcv9cap.c:206,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:210,1
    - Dst: _sparcv9_fjaesx_probe
      Src: /src/openssl/crypto/sparcv9cap.c:211,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:221,1
    - Dst: _sparcv9_rdcfr
      Src: /src/openssl/crypto/sparcv9cap.c:222,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:225,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:226,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/sparcv9cap.c:228,1
    - Dst: syscall
      Src: /src/openssl/crypto/sparcv9cap.c:234,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 240
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/sparcv9cap.c
    functionUses: 0
    functionsReached:
    - _sparcv9_vis2_probe
    - _sparcv9_vis1_instrument
    - _sparcv9_vis3_probe
    - _sparcv9_fmadd_probe
    - _sparcv9_rdtick
    - sigdelset
    - sigprocmask
    - _sparcv9_vis1_probe
    - getenv
    - sigfillset
    - memset
    - sigaction
    - strchr
    - strtoul
    - sigsetjmp
    - _sparcv9_fjaesx_probe
    - syscall
    - getisax
    - _sparcv9_rdcfr
    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: 0
    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:
    - OPENSSL_zalloc
    - ossl_unlikely
    - ossl_size_add
    - OPENSSL_secure_zalloc
    - ossl_size_mul
    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:
    - CRYPTO_secure_allocated
    - memcpy
    - ossl_param_bytes_to_blocks
    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: 19
    argCount: 1
    argNames:
    - src
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 144
    functionName: OSSL_PARAM_dup
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - ossl_param_bytes_to_blocks
    - OPENSSL_free
    - ossl_param_set_secure_block
    - ERR_raise
    - ossl_param_buf_alloc
    - memset
    - 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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    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:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_dup.c:183,1
    - Dst: qsort
      Src: /src/openssl/crypto/params_dup.c:188,1
    - Dst: qsort
      Src: /src/openssl/crypto/params_dup.c:189,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/params_dup.c:192,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/params_dup.c:216,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: OSSL_PARAM_merge
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OPENSSL_calloc
    - qsort
    - ERR_raise
    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:241,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/params_dup.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: OSSL_PARAM_free
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OSSL_PARAM_free(OSSL_PARAM *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/params_dup.c:254,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/params_dup.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/params_dup.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: OSSL_PARAM_clear_free
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OSSL_PARAM_clear_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:
    - ossl_lib_ctx_get_ex_data_global
    - CRYPTO_THREAD_lock_new
    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_write_lock
    - CRYPTO_THREAD_read_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:
    - ossl_lib_ctx_get_ex_data_global
    - CRYPTO_THREAD_lock_free
    - sk_EX_CALLBACK_pop_free
    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: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    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: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    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: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    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:117,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:122,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:126,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:128,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:136,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: 138
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 138
    functionName: ossl_crypto_free_ex_index_ex
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_num
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - get_and_lock
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - class_index
    - idx
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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:158,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:163,1
    - Dst: sk_EX_CALLBACK_new_null
      Src: /src/openssl/crypto/ex_data.c:168,1
    - Dst: sk_EX_CALLBACK_push
      Src: /src/openssl/crypto/ex_data.c:172,1
    - Dst: sk_EX_CALLBACK_free
      Src: /src/openssl/crypto/ex_data.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:175,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ex_data.c:180,1
    - Dst: sk_EX_CALLBACK_push
      Src: /src/openssl/crypto/ex_data.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:192,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:195,1
    - Dst: sk_EX_CALLBACK_set
      Src: /src/openssl/crypto/ex_data.c:196,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:199,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: 201
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 201
    functionName: ossl_crypto_get_ex_new_index_ex
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_push
    - sk_EX_CALLBACK_new_null
    - OPENSSL_free
    - sk_EX_CALLBACK_num
    - sk_EX_CALLBACK_free
    - ERR_raise
    - ossl_lib_ctx_get_ex_data_global
    - get_and_lock
    - OPENSSL_malloc
    - sk_EX_CALLBACK_set
    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:207,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: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    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:226,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:231,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:237,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ex_data.c:239,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ex_data.c:242,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:245,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:247,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:253,1
    - Dst: new_func
      Src: /src/openssl/crypto/ex_data.c:254,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:259,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: 261
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 261
    functionName: ossl_crypto_new_ex_data_ex
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_num
    - OPENSSL_free
    - CRYPTO_get_ex_data
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - get_and_lock
    - new_func
    - OSSL_NELEM
    - OPENSSL_malloc_array
    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:265,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: 266
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 266
    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:288,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:292,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:296,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/ex_data.c:297,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ex_data.c:301,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ex_data.c:304,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:307,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:309,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ex_data.c:322,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:322,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:326,1
    - Dst: dup_func
      Src: /src/openssl/crypto/ex_data.c:328,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ex_data.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:336,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: 338
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 338
    functionName: CRYPTO_dup_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_num
    - OPENSSL_free
    - dup_func
    - CRYPTO_get_ex_data
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - get_and_lock
    - OSSL_NELEM
    - CRYPTO_set_ex_data
    - sk_void_num
    - OPENSSL_malloc_array
    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: 360
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 360
    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:374,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:379,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:383,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ex_data.c:385,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ex_data.c:388,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:391,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:395,1
    - Dst: qsort
      Src: /src/openssl/crypto/ex_data.c:399,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:404,1
    - Dst: EX_CALLBACK*::free_func
      Src: /src/openssl/crypto/ex_data.c:405,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:411,1
    - Dst: sk_void_free
      Src: /src/openssl/crypto/ex_data.c:413,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: 416
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 416
    functionName: CRYPTO_free_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_num
    - OPENSSL_free
    - EX_CALLBACK*::free_func
    - CRYPTO_get_ex_data
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - sk_void_free
    - get_and_lock
    - OSSL_NELEM
    - qsort
    - OPENSSL_malloc_array
    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:427,1
    - Dst: ossl_crypto_alloc_ex_data_intern
      Src: /src/openssl/crypto/ex_data.c:432,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: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    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:442,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:446,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:449,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:450,1
    - Dst: EX_CALLBACK*::new_func
      Src: /src/openssl/crypto/ex_data.c:459,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: 462
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 462
    functionName: ossl_crypto_alloc_ex_data_intern
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    - EX_CALLBACK*::new_func
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - get_and_lock
    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:473,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:474,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/ex_data.c:479,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/ex_data.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:481,1
    - Dst: sk_void_set
      Src: /src/openssl/crypto/ex_data.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ad
    - idx
    - val
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 491
    functionName: CRYPTO_set_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 1
    functionsReached:
    - sk_void_num
    - ERR_raise
    - sk_void_set
    - 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:499,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/ex_data.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ad
    - idx
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    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: 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:
    - OPENSSL_zalloc
    - sk_OSSL_PARAM_BLD_DEF_push
    - ossl_param_bytes_to_blocks
    - OPENSSL_free
    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:
    - OPENSSL_zalloc
    - sk_OSSL_PARAM_BLD_DEF_new_null
    - 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:
    - sk_OSSL_PARAM_BLD_DEF_pop
    - sk_OSSL_PARAM_BLD_DEF_num
    - OPENSSL_free
    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:
    - free_all_params
    - sk_OSSL_PARAM_BLD_DEF_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OSSL_PARAM_BLD_free(OSSL_PARAM_BLD *bld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:125,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: OSSL_PARAM_BLD_push_int
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key, int
      num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:136,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: OSSL_PARAM_BLD_push_uint
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,\n
      \   unsigned int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:148,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: OSSL_PARAM_BLD_push_long
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,\n
      \   long int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:159,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: OSSL_PARAM_BLD_push_ulong
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,\n
      \   unsigned long int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:171,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: OSSL_PARAM_BLD_push_int32
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,\n
      \   int32_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:182,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: OSSL_PARAM_BLD_push_uint32
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,\n
      \   uint32_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:194,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: OSSL_PARAM_BLD_push_int64
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,\n
      \   int64_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:205,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: OSSL_PARAM_BLD_push_uint64
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,\n
      \   uint64_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:217,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: OSSL_PARAM_BLD_push_size_t
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,\n
      \   size_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:229,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: OSSL_PARAM_BLD_push_time_t
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,\n
      \   time_t num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:241,1
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: OSSL_PARAM_BLD_push_double
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,\n
      \   double num)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:255,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/param_build.c:259,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/param_build.c:264,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/param_build.c:265,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:276,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/param_build.c:279,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:286,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - bld
    - key
    - bn
    - sz
    - type
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 291
    functionName: push_BN
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - ERR_raise_data
    - ERR_raise
    - BN_get_flags
    - ossl_assert
    - param_push
    - BN_is_negative
    linkageType: ''
    returnType: int
    signature: "int push_BN(OSSL_PARAM_BLD *bld, const char *key,\n    const BIGNUM
      *bn, size_t sz, int type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:297,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/param_build.c:301,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:302,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:302,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:304,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - bld
    - key
    - bn
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: OSSL_PARAM_BLD_push_BN
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - push_BN
    - ERR_raise
    - BN_is_negative
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key,\n
      \   const BIGNUM *bn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:312,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/param_build.c:316,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:317,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:317,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - bld
    - key
    - bn
    - sz
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: OSSL_PARAM_BLD_push_BN_pad
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - push_BN
    - ERR_raise
    - BN_is_negative
    - BN_num_bytes
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:329,1
    - Dst: strlen
      Src: /src/openssl/crypto/param_build.c:334,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/param_build.c:335,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: OSSL_PARAM_BLD_push_utf8_string
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push
    - strlen
    - CRYPTO_secure_allocated
    - ERR_raise
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:349,1
    - Dst: strlen
      Src: /src/openssl/crypto/param_build.c:354,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: OSSL_PARAM_BLD_push_utf8_ptr
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - strlen
    - param_push
    - ERR_raise
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:369,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/param_build.c:373,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: OSSL_PARAM_BLD_push_octet_string
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_allocated
    - param_push
    - ERR_raise
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:387,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 396
    functionName: OSSL_PARAM_BLD_push_octet_ptr
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push
    - ERR_raise
    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:402,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_value
      Src: /src/openssl/crypto/param_build.c:407,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/param_build.c:424,1
    - Dst: BN_signed_bn2native
      Src: /src/openssl/crypto/param_build.c:426,1
    - Dst: memcpy
      Src: /src/openssl/crypto/param_build.c:434,1
    - Dst: memset
      Src: /src/openssl/crypto/param_build.c:436,1
    - Dst: memset
      Src: /src/openssl/crypto/param_build.c:442,1
    - Dst: memcpy
      Src: /src/openssl/crypto/param_build.c:444,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/param_build.c:447,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: 449
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 449
    functionName: param_bld_convert
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PARAM_BLD_DEF_value
    - OSSL_PARAM_construct_end
    - memcpy
    - memset
    - BN_bn2nativepad
    - sk_OSSL_PARAM_BLD_DEF_num
    - BN_signed_bn2native
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:459,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_num
      Src: /src/openssl/crypto/param_build.c:463,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/openssl/crypto/param_build.c:464,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/param_build.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:471,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/param_build.c:475,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/param_build.c:477,1
    - Dst: param_bld_convert
      Src: /src/openssl/crypto/param_build.c:481,1
    - Dst: ossl_param_set_secure_block
      Src: /src/openssl/crypto/param_build.c:482,1
    - Dst: free_all_params
      Src: /src/openssl/crypto/param_build.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 490
    functionName: OSSL_PARAM_BLD_to_param
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - param_bld_convert
    - ossl_param_bytes_to_blocks
    - ossl_param_set_secure_block
    - ERR_raise
    - OPENSSL_secure_free
    - free_all_params
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: clean_master_key_id
      Src: /src/openssl/crypto/threads_common.c:200,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_common.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: clean_master_key
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 0
    functionsReached:
    - clean_master_key_id
    - OPENSSL_free
    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:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 235
    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:263,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/threads_common.c:276,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_common.c:279,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/threads_common.c:285,1
    - Dst: ossl_sa_CTX_TABLE_ENTRY_get
      Src: /src/openssl/crypto/threads_common.c:304,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: 310
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 310
    functionName: CRYPTO_THREAD_get_local_ex
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 3
    functionsReached:
    - CRYPTO_THREAD_get_local
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_run_once
    - ossl_sa_CTX_TABLE_ENTRY_get
    - ossl_assert
    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:341,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/threads_common.c:346,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_common.c:349,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/threads_common.c:356,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/threads_common.c:361,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/threads_common.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_common.c:369,1
    - Dst: ossl_sa_CTX_TABLE_ENTRY_new
      Src: /src/openssl/crypto/threads_common.c:382,1
    - Dst: ossl_sa_CTX_TABLE_ENTRY_set
      Src: /src/openssl/crypto/threads_common.c:394,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: 396
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 396
    functionName: CRYPTO_THREAD_set_local_ex
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_get_local
    - OPENSSL_free
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_set_local
    - ossl_sa_CTX_TABLE_ENTRY_new
    - ossl_sa_CTX_TABLE_ENTRY_set
    - CRYPTO_THREAD_run_once
    - OPENSSL_calloc
    - ossl_assert
    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:409,1
    - Dst: clean_master_key
      Src: /src/openssl/crypto/threads_common.c:411,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/threads_common.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 414
    functionName: CRYPTO_THREAD_clean_local
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - CRYPTO_THREAD_set_local
    - clean_master_key
    linkageType: ''
    returnType: void
    signature: void CRYPTO_THREAD_clean_local(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: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    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:116,1
    - Dst: sh_init
      Src: /src/openssl/crypto/mem_sec.c:119,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/mem_sec.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - minsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 131
    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:137,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/mem_sec.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    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: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    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:164,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/mem_sec.c:166,1
    - Dst: sh_malloc
      Src: /src/openssl/crypto/mem_sec.c:170,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:171,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:173,1
    - Dst: ERR_new
      Src: /src/openssl/crypto/mem_sec.c:176,1
    - Dst: ERR_set_debug
      Src: /src/openssl/crypto/mem_sec.c:177,1
    - Dst: ERR_set_error
      Src: /src/openssl/crypto/mem_sec.c:178,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem_sec.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 184
    functionName: CRYPTO_secure_malloc
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sh_malloc
    - sh_actual_size
    - ERR_set_debug
    - CRYPTO_THREAD_write_lock
    - ERR_new
    - ERR_set_error
    - CRYPTO_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:191,1
    - Dst: CRYPTO_zalloc
      Src: /src/openssl/crypto/mem_sec.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: CRYPTO_secure_zalloc
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_zalloc
    - CRYPTO_secure_malloc
    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:203,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:204,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/mem_sec.c:207,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:209,1
    - Dst: CLEAR
      Src: /src/openssl/crypto/mem_sec.c:210,1
    - Dst: sh_free
      Src: /src/openssl/crypto/mem_sec.c:212,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:213,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: CRYPTO_secure_free
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_allocated
    - CRYPTO_THREAD_unlock
    - sh_actual_size
    - CRYPTO_THREAD_write_lock
    - CRYPTO_free
    - CLEAR
    - sh_free
    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:227,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem_sec.c:228,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:229,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/mem_sec.c:232,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:234,1
    - Dst: CLEAR
      Src: /src/openssl/crypto/mem_sec.c:235,1
    - Dst: sh_free
      Src: /src/openssl/crypto/mem_sec.c:237,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:238,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem_sec.c:242,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:243,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: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: CRYPTO_secure_clear_free
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_allocated
    - CRYPTO_THREAD_unlock
    - sh_actual_size
    - CRYPTO_THREAD_write_lock
    - OPENSSL_cleanse
    - CRYPTO_free
    - CLEAR
    - sh_free
    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:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 261
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/mem_sec.c:270,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: CRYPTO_secure_used
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: size_t
    signature: size_t CRYPTO_secure_used(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/mem_sec.c:287,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:289,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: CRYPTO_secure_actual_size
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - sh_actual_size
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    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: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    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: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    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: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    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: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    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: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    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:354,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: sh_getlist
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - TESTBIT
    - OPENSSL_assert
    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:366,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:367,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:369,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: sh_testbit
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - TESTBIT
    - OPENSSL_assert
    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:377,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:378,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:380,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:381,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:381,1
    - Dst: CLEARBIT
      Src: /src/openssl/crypto/mem_sec.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: sh_clearbit
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - TESTBIT
    - CLEARBIT
    - OPENSSL_assert
    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:389,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:390,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:392,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:393,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:393,1
    - Dst: SETBIT
      Src: /src/openssl/crypto/mem_sec.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: sh_setbit
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - TESTBIT
    - SETBIT
    - OPENSSL_assert
    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:401,1
    - Dst: WITHIN_FREELIST
      Src: /src/openssl/crypto/mem_sec.c:401,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:402,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:402,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:406,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:406,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - ptr
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: sh_add_to_list
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - WITHIN_ARENA
    - WITHIN_FREELIST
    - OPENSSL_assert
    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:429,1
    - Dst: WITHIN_FREELIST
      Src: /src/openssl/crypto/mem_sec.c:429,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: sh_remove_from_list
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - WITHIN_ARENA
    - WITHIN_FREELIST
    - OPENSSL_assert
    linkageType: ''
    returnType: void
    signature: void sh_remove_from_list(char *ptr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:443,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:446,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:447,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:452,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:468,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/mem_sec.c:485,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:486,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/mem_sec.c:490,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:491,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/mem_sec.c:495,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:496,1
    - Dst: sysconf
      Src: /src/openssl/crypto/mem_sec.c:504,1
    - Dst: sysconf
      Src: /src/openssl/crypto/mem_sec.c:506,1
    - Dst: GetSystemInfo
      Src: /src/openssl/crypto/mem_sec.c:514,1
    - Dst: mmap
      Src: /src/openssl/crypto/mem_sec.c:523,1
    - Dst: open
      Src: /src/openssl/crypto/mem_sec.c:530,1
    - Dst: mmap
      Src: /src/openssl/crypto/mem_sec.c:531,1
    - Dst: close
      Src: /src/openssl/crypto/mem_sec.c:533,1
    - Dst: VirtualAlloc
      Src: /src/openssl/crypto/mem_sec.c:540,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:547,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:548,1
    - Dst: mprotect
      Src: /src/openssl/crypto/mem_sec.c:555,1
    - Dst: VirtualProtect
      Src: /src/openssl/crypto/mem_sec.c:558,1
    - Dst: mprotect
      Src: /src/openssl/crypto/mem_sec.c:565,1
    - Dst: VirtualProtect
      Src: /src/openssl/crypto/mem_sec.c:568,1
    - Dst: syscall
      Src: /src/openssl/crypto/mem_sec.c:573,1
    - Dst: mlock
      Src: /src/openssl/crypto/mem_sec.c:575,1
    - Dst: VirtualLock
      Src: /src/openssl/crypto/mem_sec.c:582,1
    - Dst: mlock
      Src: /src/openssl/crypto/mem_sec.c:585,1
    - Dst: madvise
      Src: /src/openssl/crypto/mem_sec.c:589,1
    - Dst: sh_done
      Src: /src/openssl/crypto/mem_sec.c:596,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 2
    argNames:
    - size
    - minsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 598
    functionName: sh_init
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 1
    functionsReached:
    - sh_done
    - sh_add_to_list
    - VirtualLock
    - mprotect
    - OPENSSL_zalloc
    - GetSystemInfo
    - VirtualProtect
    - VirtualAlloc
    - OPENSSL_calloc
    - OPENSSL_assert
    - open
    - madvise
    - sysconf
    - sh_setbit
    - memset
    - mmap
    - syscall
    - close
    - mlock
    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:602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/mem_sec.c:603,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/mem_sec.c:604,1
    - Dst: munmap
      Src: /src/openssl/crypto/mem_sec.c:607,1
    - Dst: VirtualFree
      Src: /src/openssl/crypto/mem_sec.c:610,1
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: sh_done
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 2
    functionsReached:
    - memset
    - VirtualFree
    - munmap
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sh_done(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 618
    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:628,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - list
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 632
    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:661,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:661,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:662,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:663,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:664,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:670,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:670,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:671,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:672,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:673,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:677,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:677,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:678,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:679,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:680,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:682,1
    - Dst: sh_find_my_buddy
      Src: /src/openssl/crypto/mem_sec.c:682,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:687,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:687,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:688,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:689,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:691,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:691,1
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 697
    functionName: sh_malloc
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 1
    functionsReached:
    - sh_remove_from_list
    - sh_add_to_list
    - sh_clearbit
    - sh_testbit
    - WITHIN_ARENA
    - sh_setbit
    - memset
    - sh_find_my_buddy
    - OPENSSL_assert
    linkageType: ''
    returnType: void
    signature: void *sh_malloc(size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:706,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:706,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:707,1
    - Dst: sh_getlist
      Src: /src/openssl/crypto/mem_sec.c:710,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:711,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:711,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:712,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:713,1
    - Dst: sh_find_my_buddy
      Src: /src/openssl/crypto/mem_sec.c:716,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:717,1
    - Dst: sh_find_my_buddy
      Src: /src/openssl/crypto/mem_sec.c:717,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:718,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:719,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:719,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:720,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:721,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:722,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:722,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:723,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:724,1
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:729,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:733,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:733,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:734,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:735,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 738
    functionName: sh_free
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 2
    functionsReached:
    - sh_remove_from_list
    - sh_add_to_list
    - sh_clearbit
    - sh_testbit
    - WITHIN_ARENA
    - sh_getlist
    - memset
    - sh_setbit
    - sh_find_my_buddy
    - OPENSSL_assert
    linkageType: ''
    returnType: void
    signature: void sh_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:744,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:744,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:745,1
    - Dst: sh_getlist
      Src: /src/openssl/crypto/mem_sec.c:747,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:748,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 750
    functionName: sh_actual_size
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 4
    functionsReached:
    - WITHIN_ARENA
    - sh_getlist
    - sh_testbit
    - OPENSSL_assert
    linkageType: ''
    returnType: size_t
    signature: size_t sh_actual_size(char *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmp_thunk
      Src: /src/openssl/crypto/bsearch.c:31,1
    - Dst: cmp
      Src: /src/openssl/crypto/bsearch.c:33,1
    - Dst: cmp_thunk
      Src: /src/openssl/crypto/bsearch.c:46,1
    - Dst: cmp
      Src: /src/openssl/crypto/bsearch.c:49,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 5
    argNames:
    - key
    - base
    - num
    - size
    - flags
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 57
    functionName: ossl_bsearch
    functionSourceFile: /src/openssl/crypto/bsearch.c
    functionUses: 0
    functionsReached:
    - cmp_thunk
    - cmp
    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 (*cmp_thunk)(cmpthunk_fn
      real_cmp_fn, 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_allocate_bytes
    - WPACKET_start_sub_packet_len__
    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:
    - ossl_assert
    - BUF_MEM_grow
    - WPACKET_get_curr
    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_zalloc
    - WPACKET_allocate_bytes
    - OPENSSL_free
    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_n
    - ossl_quic_vlint_encode_len
    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:303,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/packet.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/packet.c:314,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - pkt
    - sub
    - doclose
    argTypes:
    - WPACKET*
    - WPACKET_SUB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 318
    functionName: wpacket_intern_close
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes__
    - OPENSSL_free
    - put_quic_value
    - GETBUF
    - put_value
    - WPACKET_put_bytes_u8
    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:324,1
    - Dst: wpacket_intern_close
      Src: /src/openssl/crypto/packet.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: WPACKET_fill_lengths
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - wpacket_intern_close
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int WPACKET_fill_lengths(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_close
      Src: /src/openssl/crypto/packet.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 345
    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:358,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/packet.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: WPACKET_finish
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - wpacket_intern_close
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int WPACKET_finish(WPACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:373,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/packet.c:380,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 399
    functionName: WPACKET_start_sub_packet_len__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_assert
    - 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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 404
    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:411,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:412,1
    - Dst: put_value
      Src: /src/openssl/crypto/packet.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - val
    - size
    argTypes:
    - WPACKET*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: WPACKET_put_bytes__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 2
    functionsReached:
    - put_value
    - ossl_assert
    - 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:425,1
    - Dst: maxmaxsize
      Src: /src/openssl/crypto/packet.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - maxsize
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 442
    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:451,1
    - Dst: memset
      Src: /src/openssl/crypto/packet.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - ch
    - len
    argTypes:
    - WPACKET*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 458
    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:467,1
    - Dst: memcpy
      Src: /src/openssl/crypto/packet.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - src
    - len
    argTypes:
    - WPACKET*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 474
    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:479,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/packet.c:480,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/packet.c:481,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: 485
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: WPACKET_sub_memcpy__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_close
    - WPACKET_memcpy
    - WPACKET_start_sub_packet_len__
    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:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - written
    argTypes:
    - WPACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 496
    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:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - WPACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 507
    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:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 520
    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: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    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:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 536
    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:542,1
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/openssl/crypto/packet.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - max_len
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 552
    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:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 4
    functionLinenumber: 554
    functionLinenumberEnd: 561
    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:565,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:566,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/packet.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - len
    - allocbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 571
    functionName: WPACKET_quic_sub_allocate_bytes
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_close
    - WPACKET_allocate_bytes
    - WPACKET_start_quic_sub_packet_bound
    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:579,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:584,1
    - Dst: ossl_quic_vlint_encode
      Src: /src/openssl/crypto/packet.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - v
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: WPACKET_quic_write_vlint
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_quic_vlint_encode
    - WPACKET_allocate_bytes
    - ossl_quic_vlint_encode_len
    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*::reserve_store
    - struct algorithm_data_st*::pre
    - struct algorithm_data_st*::unreserve_store
    - struct algorithm_data_st*::fn
    - struct algorithm_data_st*::post
    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:
    - algorithm_do_map
    - ossl_provider_unquery_operation
    - ossl_provider_query_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:164,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/core_algorithm.c:166,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_algorithm.c:173,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/core_algorithm.c:173,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/core_algorithm.c:174,1
    - Dst: algorithm_do_this
      Src: /src/openssl/crypto/core_algorithm.c:178,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: 180
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 180
    functionName: ossl_algorithm_do_all
    functionSourceFile: /src/openssl/crypto/core_algorithm.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - ossl_provider_libctx
    - ossl_provider_doall_activated
    - algorithm_do_this
    - ossl_assert
    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:191,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_algorithm.c:193,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/core_algorithm.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 199
    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:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    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: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    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: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    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: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: getauxval
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 1
    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:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    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:178,1
    - Dst: usleep
      Src: /src/openssl/crypto/armcap.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    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:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    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:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    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:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    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:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    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:247,1
    - Dst: probe
      Src: /src/openssl/crypto/armcap.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    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: 28
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/armcap.c:272,1
    - Dst: strtoul
      Src: /src/openssl/crypto/armcap.c:273,1
    - Dst: sysctl_query
      Src: /src/openssl/crypto/armcap.c:299,1
    - Dst: sysctl_query
      Src: /src/openssl/crypto/armcap.c:300,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/armcap.c:306,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:306,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:306,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:306,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:306,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:306,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:316,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:317,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:350,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:353,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:356,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/armcap.c:364,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:365,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:366,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:367,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:368,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:369,1
    - Dst: memset
      Src: /src/openssl/crypto/armcap.c:371,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/armcap.c:375,1
    - Dst: sigaction
      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:382,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:384,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:391,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: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:398,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:399,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:400,1
    - Dst: sigaction
      Src: /src/openssl/crypto/armcap.c:409,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/armcap.c:410,1
    - Dst: _armv8_cpuid_probe
      Src: /src/openssl/crypto/armcap.c:416,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:418,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:421,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:421,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:421,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:421,1
    - Dst: MIDR_IMPLEMENTER
      Src: /src/openssl/crypto/armcap.c:421,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IMPLEMENTER
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:425,1
    - Dst: _armv8_sve_get_vl_bytes
      Src: /src/openssl/crypto/armcap.c:428,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 439
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strtoul
    - sigfillset
    - MIDR_IS_CPU_MODEL
    - arm_probe_for
    - sysctl_query
    - MIDR_IMPLEMENTER
    - getenv
    - _armv8_cpuid_probe
    - memset
    - getauxval
    - sigdelset
    - sysctlbyname
    - _armv8_sve_get_vl_bytes
    - sigprocmask
    - sigaction
    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: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    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: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    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: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    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: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    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: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/openssl/crypto/riscvcap.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - str
    - dst
    - dstlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: strtoupper
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: void
    signature: void strtoupper(const char *str, char *dst, size_t dstlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoupper
      Src: /src/openssl/crypto/riscvcap.c:73,1
    - Dst: strlen
      Src: /src/openssl/crypto/riscvcap.c:76,1
    - Dst: memcpy
      Src: /src/openssl/crypto/riscvcap.c:85,1
    - Dst: strstr
      Src: /src/openssl/crypto/riscvcap.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - envstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: parse_env
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - strtoupper
    - strstr
    linkageType: ''
    returnType: void
    signature: void parse_env(const char *envstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/crypto/riscvcap.c:100,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: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    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:110,1
    - Dst: IS_IN_DEPEND_VECTOR
      Src: /src/openssl/crypto/riscvcap.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: hwprobe_to_cap
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - riscv_hwprobe
    - IS_IN_DEPEND_VECTOR
    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: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    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:144,1
    - Dst: parse_env
      Src: /src/openssl/crypto/riscvcap.c:145,1
    - Dst: getauxval
      Src: /src/openssl/crypto/riscvcap.c:149,1
    - Dst: hwprobe_to_cap
      Src: /src/openssl/crypto/riscvcap.c:150,1
    - Dst: RISCV_HAS_V
      Src: /src/openssl/crypto/riscvcap.c:154,1
    - Dst: riscv_vlen_asm
      Src: /src/openssl/crypto/riscvcap.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 157
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - RISCV_HAS_V
    - hwprobe_to_cap
    - getenv
    - parse_env
    - riscv_vlen_asm
    - getauxval
    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: 151
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 151
    functionName: LP_find_file
    functionSourceFile: /src/openssl/crypto/LPdir_unix.c
    functionUses: 0
    functionsReached:
    - readdir
    - strncpy
    - opendir
    - free
    - memset
    - OPENSSL_strcasecmp
    - strlen
    - malloc
    - OPENSSL_strlcpy
    - isdigit
    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:156,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_unix.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: LP_find_file_end
    functionSourceFile: /src/openssl/crypto/LPdir_unix.c
    functionUses: 0
    functionsReached:
    - free
    - closedir
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - OSSL_LIB_CTX*
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: ossl_lib_ctx_attach_ssl_conf_imodule
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_attach_ssl_conf_imodule(OSSL_LIB_CTX *ctx, CONF_IMODULE
      *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - OSSL_LIB_CTX*
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: ossl_lib_ctx_detach_ssl_conf_imodule
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_detach_ssl_conf_imodule(OSSL_LIB_CTX *ctx, CONF_IMODULE
      *md)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/context.c:122,1
    - Dst: ossl_do_ex_data_init
      Src: /src/openssl/crypto/context.c:127,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:132,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/context.c:135,1
    - Dst: ossl_prov_conf_ctx_new
      Src: /src/openssl/crypto/context.c:139,1
    - Dst: ossl_rand_ctx_new
      Src: /src/openssl/crypto/context.c:145,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:154,1
    - Dst: ossl_decoder_cache_new
      Src: /src/openssl/crypto/context.c:157,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:162,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:167,1
    - Dst: ossl_provider_store_new
      Src: /src/openssl/crypto/context.c:173,1
    - Dst: ossl_property_string_data_new
      Src: /src/openssl/crypto/context.c:178,1
    - Dst: ossl_stored_namemap_new
      Src: /src/openssl/crypto/context.c:182,1
    - Dst: ossl_property_defns_new
      Src: /src/openssl/crypto/context.c:186,1
    - Dst: ossl_ctx_global_properties_new
      Src: /src/openssl/crypto/context.c:190,1
    - Dst: ossl_bio_core_globals_new
      Src: /src/openssl/crypto/context.c:195,1
    - Dst: ossl_prov_drbg_nonce_ctx_new
      Src: /src/openssl/crypto/context.c:200,1
    - Dst: ossl_self_test_set_callback_new
      Src: /src/openssl/crypto/context.c:205,1
    - Dst: ossl_indicator_set_callback_new
      Src: /src/openssl/crypto/context.c:208,1
    - Dst: ossl_thread_event_ctx_new
      Src: /src/openssl/crypto/context.c:214,1
    - Dst: ossl_fips_prov_ossl_ctx_new
      Src: /src/openssl/crypto/context.c:217,1
    - Dst: ossl_threads_ctx_new
      Src: /src/openssl/crypto/context.c:223,1
    - Dst: ossl_child_prov_ctx_new
      Src: /src/openssl/crypto/context.c:230,1
    - Dst: ossl_property_parse_init
      Src: /src/openssl/crypto/context.c:236,1
    - Dst: ossl_load_builtin_compressions
      Src: /src/openssl/crypto/context.c:240,1
    - Dst: context_deinit_objs
      Src: /src/openssl/crypto/context.c:246,1
    - Dst: ossl_crypto_cleanup_all_ex_data_int
      Src: /src/openssl/crypto/context.c:249,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/context.c:251,1
    - Dst: memset
      Src: /src/openssl/crypto/context.c:252,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 102
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 254
    functionName: context_init
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_deinit_objs
    - ossl_stored_namemap_new
    - OSSL_TRACE1
    - ossl_prov_conf_ctx_new
    - ossl_prov_drbg_nonce_ctx_new
    - ossl_crypto_cleanup_all_ex_data_int
    - ossl_property_defns_new
    - ossl_child_prov_ctx_new
    - ossl_indicator_set_callback_new
    - ossl_load_builtin_compressions
    - ossl_bio_core_globals_new
    - ossl_rand_ctx_new
    - ossl_method_store_new
    - ossl_decoder_cache_new
    - ossl_ctx_global_properties_new
    - CRYPTO_THREAD_lock_new
    - memset
    - ossl_property_string_data_new
    - ossl_provider_store_new
    - ossl_threads_ctx_new
    - ossl_do_ex_data_init
    - ossl_thread_event_ctx_new
    - CRYPTO_THREAD_lock_free
    - ossl_self_test_set_callback_new
    - ossl_fips_prov_ossl_ctx_new
    - ossl_property_parse_init
    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:260,1
    - Dst: ossl_rand_ctx_free
      Src: /src/openssl/crypto/context.c:266,1
    - Dst: ossl_prov_conf_ctx_free
      Src: /src/openssl/crypto/context.c:273,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:282,1
    - Dst: ossl_decoder_cache_free
      Src: /src/openssl/crypto/context.c:286,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:292,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:298,1
    - Dst: ossl_provider_store_free
      Src: /src/openssl/crypto/context.c:305,1
    - Dst: ossl_property_string_data_free
      Src: /src/openssl/crypto/context.c:311,1
    - Dst: ossl_stored_namemap_free
      Src: /src/openssl/crypto/context.c:316,1
    - Dst: ossl_property_defns_free
      Src: /src/openssl/crypto/context.c:321,1
    - Dst: ossl_ctx_global_properties_free
      Src: /src/openssl/crypto/context.c:326,1
    - Dst: ossl_bio_core_globals_free
      Src: /src/openssl/crypto/context.c:332,1
    - Dst: ossl_prov_drbg_nonce_ctx_free
      Src: /src/openssl/crypto/context.c:338,1
    - Dst: ossl_indicator_set_callback_free
      Src: /src/openssl/crypto/context.c:344,1
    - Dst: ossl_self_test_set_callback_free
      Src: /src/openssl/crypto/context.c:349,1
    - Dst: ossl_thread_event_ctx_free
      Src: /src/openssl/crypto/context.c:355,1
    - Dst: ossl_fips_prov_ossl_ctx_free
      Src: /src/openssl/crypto/context.c:358,1
    - Dst: ossl_threads_ctx_free
      Src: /src/openssl/crypto/context.c:365,1
    - Dst: ossl_child_prov_ctx_free
      Src: /src/openssl/crypto/context.c:373,1
    - Dst: ossl_free_compression_methods_int
      Src: /src/openssl/crypto/context.c:380,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 384
    functionName: context_deinit_objs
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 1
    functionsReached:
    - ossl_prov_conf_ctx_free
    - ossl_indicator_set_callback_free
    - ossl_bio_core_globals_free
    - ossl_ctx_global_properties_free
    - ossl_provider_store_free
    - ossl_self_test_set_callback_free
    - ossl_method_store_free
    - ossl_thread_event_ctx_free
    - ossl_threads_ctx_free
    - ossl_rand_ctx_free
    - ossl_child_prov_ctx_free
    - ossl_decoder_cache_free
    - ossl_property_defns_free
    - ossl_property_string_data_free
    - ossl_fips_prov_ossl_ctx_free
    - ossl_free_compression_methods_int
    - ossl_prov_drbg_nonce_ctx_free
    - ossl_stored_namemap_free
    linkageType: ''
    returnType: void
    signature: void context_deinit_objs(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_detach_ssl_conf_imodule
      Src: /src/openssl/crypto/context.c:391,1
    - Dst: ossl_ctx_thread_stop
      Src: /src/openssl/crypto/context.c:393,1
    - Dst: context_deinit_objs
      Src: /src/openssl/crypto/context.c:395,1
    - Dst: ossl_crypto_cleanup_all_ex_data_int
      Src: /src/openssl/crypto/context.c:397,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/context.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: context_deinit
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_deinit_objs
    - ossl_crypto_cleanup_all_ex_data_int
    - CRYPTO_THREAD_lock_free
    - ossl_lib_ctx_detach_ssl_conf_imodule
    - ossl_ctx_thread_stop
    linkageType: ''
    returnType: int
    signature: int context_deinit(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/context.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(default_context_do_thread_key_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: context_init
      Src: /src/openssl/crypto/context.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_init
    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:433,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/context.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: ossl_lib_ctx_default_deinit
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_deinit
    - CRYPTO_THREAD_cleanup_local
    linkageType: ''
    returnType: void
    signature: void ossl_lib_ctx_default_deinit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:440,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:443,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/context.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: get_thread_default_context
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *get_thread_default_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:451,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/context.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: check_thread_default_context
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *check_thread_default_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_thread_default_context
      Src: /src/openssl/crypto/context.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 464
    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: check_thread_default_context
      Src: /src/openssl/crypto/context.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: check_default_context
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - check_thread_default_context
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *check_default_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/context.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - defctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    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:486,1
    - Dst: context_init
      Src: /src/openssl/crypto/context.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/context.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: OSSL_LIB_CTX_new
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_init
    - OPENSSL_zalloc
    - OPENSSL_free
    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:499,1
    - Dst: ossl_bio_init_core
      Src: /src/openssl/crypto/context.c:504,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/crypto/context.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - in
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 510
    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:515,1
    - Dst: ossl_provider_init_as_child
      Src: /src/openssl/crypto/context.c:520,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/crypto/context.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - in
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 5
    functionLinenumber: 512
    functionLinenumberEnd: 527
    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:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - config_file
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 532
    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_nocreate
      Src: /src/openssl/crypto/context.c:537,1
    - Dst: ossl_provider_deinit_child
      Src: /src/openssl/crypto/context.c:542,1
    - Dst: context_deinit
      Src: /src/openssl/crypto/context.c:544,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/context.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 546
    functionName: OSSL_LIB_CTX_free
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - ossl_lib_ctx_is_default_nocreate
    - ossl_provider_deinit_child
    - context_deinit
    linkageType: ''
    returnType: void
    signature: void OSSL_LIB_CTX_free(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:551,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 558
    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:564,1
    - Dst: set_default_context
      Src: /src/openssl/crypto/context.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 571
    functionName: OSSL_LIB_CTX_set0_default
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - get_default_context
    - set_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:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 580
    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:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 590
    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:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: ossl_lib_ctx_is_default
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - get_default_context
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_is_default(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_default_context
      Src: /src/openssl/crypto/context.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: ossl_lib_ctx_is_default_nocreate
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 1
    functionsReached:
    - check_default_context
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_is_default_nocreate(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 617
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 681
    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:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 5
    functionLinenumber: 683
    functionLinenumberEnd: 686
    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:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 694
    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:701,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/context.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 696
    functionDepth: 5
    functionLinenumber: 696
    functionLinenumberEnd: 707
    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:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 715
    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:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - libctx
    - value
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 723
    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
    - memset
    - ossl_pw_clear_passphrase_cache
    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:43,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/passphrase.c:44,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: 49
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: ossl_pw_set_passphrase
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ERR_raise
    - ossl_pw_clear_passphrase_data
    - ossl_assert
    - 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:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:55,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:58,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: 63
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: ossl_pw_set_pem_password_cb
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - ossl_assert
    - ERR_raise
    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:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:69,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:72,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: 77
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: ossl_pw_set_ossl_passphrase_cb
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - ossl_assert
    - ERR_raise
    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:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:83,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:86,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: 91
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: ossl_pw_set_ui_method
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - ossl_assert
    - ERR_raise
    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: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    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: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    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:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:124,1
    - Dst: UI_new
      Src: /src/openssl/crypto/passphrase.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:129,1
    - Dst: UI_set_method
      Src: /src/openssl/crypto/passphrase.c:134,1
    - Dst: UI_add_user_data
      Src: /src/openssl/crypto/passphrase.c:136,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/crypto/passphrase.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:142,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/passphrase.c:147,1
    - Dst: UI_add_input_string
      Src: /src/openssl/crypto/passphrase.c:151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:156,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/passphrase.c:162,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/crypto/passphrase.c:165,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: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 201
    functionName: do_ui_passphrase
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - UI_get_result_length
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_clear_free
    - UI_new
    - ERR_raise
    - UI_construct_prompt
    - UI_add_verify_string
    - UI_process
    - UI_set_method
    - UI_free
    - UI_add_user_data
    - memcpy
    - ossl_assert
    - UI_add_input_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:251,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:289,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/passphrase.c:294,1
    - Dst: memcpy
      Src: /src/openssl/crypto/passphrase.c:299,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: 305
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 305
    functionName: ossl_pw_get_passphrase
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - UI_destroy_method
    - UI_UTIL_wrap_read_pem_callback
    - OPENSSL_clear_realloc
    - ERR_raise_data
    - OPENSSL_cleanse
    - OSSL_PARAM_locate_const
    - ERR_raise
    - do_ui_passphrase
    - memcpy
    - cb
    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:312,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/crypto/passphrase.c:317,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: 321
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: ossl_pw_get_password
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_get_passphrase
    - OSSL_PARAM_utf8_string
    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:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 326
    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:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 331
    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:337,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: 338
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 338
    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:344,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: 345
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 345
    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: 0
    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:
    - ASCII_IS_LOWER
    - ossl_toascii
    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:
    - ASCII_IS_LOWER
    - ossl_toascii
    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:111,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/LPdir_win.c:114,1
    - Dst: _alloca
      Src: /src/openssl/crypto/LPdir_win.c:124,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/LPdir_win.c:125,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_win.c:127,1
    - Dst: _alloca
      Src: /src/openssl/crypto/LPdir_win.c:140,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:146,1
    - Dst: TEXT
      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:148,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:148,1
    - Dst: _tcscpy
      Src: /src/openssl/crypto/LPdir_win.c:150,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:150,1
    - Dst: FindFirstFile
      Src: /src/openssl/crypto/LPdir_win.c:153,1
    - Dst: _alloca
      Src: /src/openssl/crypto/LPdir_win.c:156,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_win.c:158,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_win.c:160,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_win.c:162,1
    - Dst: FindFirstFile
      Src: /src/openssl/crypto/LPdir_win.c:167,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_win.c:171,1
    - Dst: FindNextFile
      Src: /src/openssl/crypto/LPdir_win.c:177,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/LPdir_win.c:190,1
    - Dst: strncpy
      Src: /src/openssl/crypto/LPdir_win.c:197,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 203
    functionName: LP_find_file
    functionSourceFile: /src/openssl/crypto/LPdir_win.c
    functionUses: 0
    functionsReached:
    - FindFirstFile
    - GetLastError
    - FindNextFile
    - MultiByteToWideChar
    - strncpy
    - free
    - TEXT
    - memset
    - strcpy
    - strlen
    - malloc
    - WideCharToMultiByte
    - _tcscpy
    - _alloca
    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:208,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_win.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:58,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:66,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:67,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:67,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:68,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:73,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:75,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:76,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:76,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:77,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:82,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:84,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:85,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:85,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:86,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:91,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:94,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:95,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:95,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:96,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:101,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:130,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:131,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:131,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:132,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:138,1
    - Dst: defined
      Src: /src/openssl/crypto/info.c:147,1
    - Dst: defined
      Src: /src/openssl/crypto/info.c:147,1
    - Dst: defined
      Src: /src/openssl/crypto/info.c:148,1
    - Dst: defined
      Src: /src/openssl/crypto/info.c:148,1
    - Dst: defined
      Src: /src/openssl/crypto/info.c:149,1
    - Dst: defined
      Src: /src/openssl/crypto/info.c:149,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:176,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:176,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:177,1
    - Dst: RISCV_HAS_V
      Src: /src/openssl/crypto/info.c:180,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:181,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:181,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:182,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/info.c:183,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:184,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:185,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:185,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:186,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:219,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:222,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:226,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:228,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:232,1
    - Dst: add_seeds_stringlist
      Src: /src/openssl/crypto/info.c:235,1
    - Dst: add_seeds_stringlist
      Src: /src/openssl/crypto/info.c:238,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:241,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:247,1
    - Dst: jent_version
      Src: /src/openssl/crypto/info.c:247,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:248,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 254
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/info.c
    functionUses: 0
    functionsReached:
    - jent_version
    - RISCV_HAS_V
    - add_seeds_string
    - add_seeds_stringlist
    - BIO_snprintf
    - getenv
    - riscv_vlen
    - strlen
    - defined
    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: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    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: 217
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 217
    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:263,1
    - Dst: ossl_get_openssldir
      Src: /src/openssl/crypto/info.c:267,1
    - Dst: ossl_get_modulesdir
      Src: /src/openssl/crypto/info.c:271,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:295,1
    - Dst: ossl_get_wininstallcontext
      Src: /src/openssl/crypto/info.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 304
    functionName: OPENSSL_info
    functionSourceFile: /src/openssl/crypto/info.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ossl_get_modulesdir
    - strlen
    - ossl_get_wininstallcontext
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_none.c:77,1
    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: ossl_rcu_cb_item_new
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_RCU_CB_ITEM
    signature: CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_none.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - CRYPTO_RCU_CB_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ossl_rcu_cb_item_free
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - lock
    - item
    - cb
    - data
    argTypes:
    - CRYPTO_RCU_LOCK*
    - CRYPTO_RCU_CB_ITEM*
    - rcu_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: ossl_rcu_call
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,\n
      \   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: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    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:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    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:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 7
    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:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 13
    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:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 23
    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:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    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:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - once
    argTypes:
    - CRYPTO_ONCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    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: 186
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 186
    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: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 6
    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: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 4
    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: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 1
    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: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    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: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    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: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    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: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    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: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    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: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    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: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    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: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    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: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    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: 3
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - int*
    - int
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: CRYPTO_atomic_store_int
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store_int(int *dst, int val, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ret
    - lock
    argTypes:
    - void**
    - void**
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: CRYPTO_atomic_load_ptr
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_ptr(void **ptr, void **ret, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - void**
    - void**
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: CRYPTO_atomic_store_ptr
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store_ptr(void **dst, void **val, CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ptr
    - expect
    - desire
    - lock
    argTypes:
    - void**
    - void**
    - void*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: CRYPTO_atomic_cmp_exch_ptr
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_cmp_exch_ptr(void **ptr, void **expect, void *desire,
      CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    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:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    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_deactivate
    - ossl_provider_free
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:
    - sk_INFOPAIR_pop_free
    - OPENSSL_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_CHILD_CB_pop_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - sk_OSSL_PROVIDER_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
    - sk_OSSL_PROVIDER_CHILD_CB_new_null
    - ossl_provider_store_free
    - 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
    - CRYPTO_THREAD_unlock
    - get_provider_store
    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:
    - CRYPTO_THREAD_unlock
    - ERR_raise
    - OPENSSL_realloc_array
    - CRYPTO_THREAD_write_lock
    - OPENSSL_calloc
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_info_add_to_store(OSSL_LIB_CTX *libctx,\n    OSSL_PROVIDER_INFO
      *entry)"
  - BBCount: 10
    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:417,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/provider_core.c:418,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:423,1
    - Dst: sk_OSSL_PROVIDER_is_sorted
      Src: /src/openssl/crypto/provider_core.c:425,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:426,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:427,1
    - Dst: sk_OSSL_PROVIDER_is_sorted
      Src: /src/openssl/crypto/provider_core.c:429,1
    - Dst: sk_OSSL_PROVIDER_sort
      Src: /src/openssl/crypto/provider_core.c:430,1
    - Dst: sk_OSSL_PROVIDER_find
      Src: /src/openssl/crypto/provider_core.c:432,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:433,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:434,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/provider_core.c:435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - libctx
    - name
    - noconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 399
    functionDepth: 6
    functionLinenumber: 399
    functionLinenumberEnd: 440
    functionName: ossl_provider_find
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_provider_up_ref
    - sk_OSSL_PROVIDER_value
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - sk_OSSL_PROVIDER_is_sorted
    - sk_OSSL_PROVIDER_find
    - sk_OSSL_PROVIDER_sort
    - ossl_lib_ctx_is_default
    - get_provider_store
    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:453,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/provider_core.c:455,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:456,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:459,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:461,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:465,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:466,1
    - Dst: sk_INFOPAIR_deep_copy
      Src: /src/openssl/crypto/provider_core.c:467,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:471,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:472,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:475,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:476,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: 483
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 483
    functionName: provider_new
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - OPENSSL_free
    - sk_INFOPAIR_deep_copy
    - ossl_provider_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    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:489,1
    - Dst: ossl_provider_up_ref_parent
      Src: /src/openssl/crypto/provider_core.c:494,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: ossl_provider_up_ref
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_UP_REF
    - ossl_provider_free
    - ossl_provider_up_ref_parent
    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:508,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/provider_core.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: provider_up_ref_intern
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_activate
    - ossl_provider_up_ref
    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:516,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: provider_free_intern
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_deactivate
    - ossl_provider_free
    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:536,1
    - Dst: memset
      Src: /src/openssl/crypto/provider_core.c:539,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:547,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:554,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:557,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:575,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:580,1
    - Dst: provider_new
      Src: /src/openssl/crypto/provider_core.c:607,1
    - Dst: ossl_provider_set_module_path
      Src: /src/openssl/crypto/provider_core.c:616,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:617,1
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/crypto/provider_core.c:623,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    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: 633
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 633
    functionName: ossl_provider_new
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ERR_get_next_error_library
    - ossl_provider_free
    - strcmp
    - ossl_provider_set_module_path
    - memset
    - CRYPTO_THREAD_read_lock
    - provider_new
    - get_provider_store
    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:644,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:650,1
    - Dst: OSSL_PROVIDER_CHILD_CB*::create_cb
      Src: /src/openssl/crypto/provider_core.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 656
    functionName: create_provider_children
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - OSSL_PROVIDER_CHILD_CB*::create_cb
    - 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:671,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:674,1
    - Dst: sk_OSSL_PROVIDER_find
      Src: /src/openssl/crypto/provider_core.c:678,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:682,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/crypto/provider_core.c:685,1
    - Dst: create_provider_children
      Src: /src/openssl/crypto/provider_core.c:688,1
    - Dst: sk_OSSL_PROVIDER_delete_ptr
      Src: /src/openssl/crypto/provider_core.c:689,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:696,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/provider_core.c:699,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:700,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:718,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:719,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/provider_core.c:727,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:734,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: 736
      start: 658
    functionDepth: 6
    functionLinenumber: 658
    functionLinenumberEnd: 736
    functionName: ossl_provider_add_to_store
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    - create_provider_children
    - ERR_raise
    - ossl_provider_free
    - ossl_provider_up_ref
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_delete_ptr
    - CRYPTO_THREAD_write_lock
    - ossl_provider_deactivate
    - ossl_decoder_cache_flush
    - sk_OSSL_PROVIDER_find
    - sk_OSSL_PROVIDER_push
    - get_provider_store
    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:743,1
    - Dst: ossl_provider_teardown
      Src: /src/openssl/crypto/provider_core.c:755,1
    - Dst: ERR_unload_strings
      Src: /src/openssl/crypto/provider_core.c:759,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:760,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:765,1
    - Dst: ossl_init_thread_deregister
      Src: /src/openssl/crypto/provider_core.c:777,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/provider_core.c:778,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:781,1
    - Dst: sk_INFOPAIR_pop_free
      Src: /src/openssl/crypto/provider_core.c:782,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:783,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:784,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:785,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/provider_core.c:786,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:787,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 795
    functionName: ossl_provider_free
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 8
    functionsReached:
    - ossl_provider_free_parent
    - OPENSSL_free
    - sk_INFOPAIR_pop_free
    - ossl_provider_teardown
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - ERR_unload_strings
    - DSO_free
    - CRYPTO_DOWN_REF
    - ossl_init_thread_deregister
    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:800,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - module_path
    argTypes:
    - OSSL_PROVIDER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 807
    functionName: ossl_provider_set_module_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - value
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 841
    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:851,1
    - Dst: sk_INFOPAIR_value
      Src: /src/openssl/crypto/provider_core.c:852,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:853,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 860
    functionName: OSSL_PROVIDER_get_conf_parameters
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - sk_INFOPAIR_num
    - sk_INFOPAIR_value
    - 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:875,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/provider_core.c:876,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:878,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:879,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:880,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:881,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:883,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:884,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:885,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:886,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - prov
    - name
    - defval
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 890
    functionName: OSSL_PROVIDER_conf_get_bool
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - strcmp
    - OSSL_PROVIDER_get_conf_parameters
    - OSSL_PARAM_modified
    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:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provinfo
    - name
    - value
    argTypes:
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 897
    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:920,1
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:924,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:925,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:926,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:928,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - path
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 913
    functionDepth: 6
    functionLinenumber: 913
    functionLinenumberEnd: 933
    functionName: OSSL_PROVIDER_set_default_search_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - CRYPTO_THREAD_write_lock
    - 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:940,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:941,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 935
    functionDepth: 6
    functionLinenumber: 935
    functionLinenumberEnd: 946
    functionName: OSSL_PROVIDER_get0_default_search_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - 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:964,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:965,1
    - Dst: DSO_new
      Src: /src/openssl/crypto/provider_core.c:985,1
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:990,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:991,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:995,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:996,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1001,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/provider_core.c:1005,1
    - Dst: ossl_get_modulesdir
      Src: /src/openssl/crypto/provider_core.c:1007,1
    - Dst: DSO_ctrl
      Src: /src/openssl/crypto/provider_core.c:1010,1
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/provider_core.c:1015,1
    - Dst: DSO_merge
      Src: /src/openssl/crypto/provider_core.c:1017,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/provider_core.c:1020,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/provider_core.c:1021,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1025,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1026,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1027,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_core.c:1032,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/provider_core.c:1038,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_core.c:1044,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1052,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1055,1
    - Dst: OSSL_PROVIDER*::init_function
      Src: /src/openssl/crypto/provider_core.c:1058,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_core.c:1060,1
    - Dst: OSSL_FUNC_provider_teardown
      Src: /src/openssl/crypto/provider_core.c:1071,1
    - Dst: OSSL_FUNC_provider_gettable_params
      Src: /src/openssl/crypto/provider_core.c:1074,1
    - Dst: OSSL_FUNC_provider_get_params
      Src: /src/openssl/crypto/provider_core.c:1077,1
    - Dst: OSSL_FUNC_provider_self_test
      Src: /src/openssl/crypto/provider_core.c:1080,1
    - Dst: OSSL_FUNC_provider_random_bytes
      Src: /src/openssl/crypto/provider_core.c:1083,1
    - Dst: OSSL_FUNC_provider_get_capabilities
      Src: /src/openssl/crypto/provider_core.c:1086,1
    - Dst: OSSL_FUNC_provider_query_operation
      Src: /src/openssl/crypto/provider_core.c:1089,1
    - Dst: OSSL_FUNC_provider_unquery_operation
      Src: /src/openssl/crypto/provider_core.c:1092,1
    - Dst: OSSL_FUNC_provider_get_reason_strings
      Src: /src/openssl/crypto/provider_core.c:1097,1
    - Dst: p_get_reason_strings
      Src: /src/openssl/crypto/provider_core.c:1108,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/provider_core.c:1120,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/provider_core.c:1127,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/provider_core.c:1134,1
    - Dst: ERR_load_strings
      Src: /src/openssl/crypto/provider_core.c:1145,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 127
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 1156
    functionName: provider_init
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_provider_get_capabilities
    - ERR_PACK
    - OSSL_TRACE_END
    - DSO_convert_filename
    - OSSL_FUNC_provider_teardown
    - OSSL_FUNC_provider_gettable_params
    - DSO_ctrl
    - p_get_reason_strings
    - OSSL_PROVIDER*::init_function
    - CRYPTO_THREAD_read_lock
    - DSO_free
    - OSSL_FUNC_provider_query_operation
    - ossl_safe_getenv
    - OSSL_FUNC_provider_unquery_operation
    - OSSL_FUNC_provider_get_params
    - OSSL_FUNC_provider_get_reason_strings
    - OPENSSL_free
    - ERR_raise_data
    - ERR_raise
    - OPENSSL_calloc
    - ERR_GET_LIB
    - DSO_new
    - DSO_bind_func
    - ERR_load_strings
    - DSO_load
    - ossl_assert
    - get_provider_store
    - DSO_merge
    - OPENSSL_strdup
    - BIO_printf
    - CRYPTO_THREAD_unlock
    - OSSL_FUNC_provider_random_bytes
    - ossl_get_modulesdir
    - OSSL_FUNC_provider_self_test
    linkageType: ''
    returnType: int
    signature: int provider_init(OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1054
    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:1174,1
    - Dst: ossl_rand_check_random_provider_on_unload
      Src: /src/openssl/crypto/provider_core.c:1179,1
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1187,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1191,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1193,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1194,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1198,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1200,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1201,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:1227,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:1231,1
    - Dst: OSSL_PROVIDER_CHILD_CB*::remove_cb
      Src: /src/openssl/crypto/provider_core.c:1232,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1237,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1238,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1245,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:1250,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - prov
    - upcalls
    - removechildren
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1255
    functionName: provider_deactivate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 5
    functionsReached:
    - ossl_provider_free_parent
    - CRYPTO_THREAD_unlock
    - CRYPTO_atomic_add
    - ossl_rand_check_random_provider_on_unload
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - OSSL_PROVIDER_CHILD_CB*::remove_cb
    - ossl_decoder_cache_flush
    - ossl_assert
    - 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:1274,1
    - Dst: ossl_rand_check_random_provider_on_load
      Src: /src/openssl/crypto/provider_core.c:1280,1
    - Dst: ossl_provider_up_ref_parent
      Src: /src/openssl/crypto/provider_core.c:1283,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1287,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:1290,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1295,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1296,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:1299,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1303,1
    - Dst: create_provider_children
      Src: /src/openssl/crypto/provider_core.c:1307,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1311,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1312,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1319,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 3
    argNames:
    - prov
    - lock
    - upcalls
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1261
    functionDepth: 7
    functionLinenumber: 1261
    functionLinenumberEnd: 1327
    functionName: provider_activate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - ossl_provider_free_parent
    - CRYPTO_THREAD_unlock
    - CRYPTO_atomic_add
    - create_provider_children
    - ossl_rand_check_random_provider_on_load
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - ossl_provider_up_ref_parent
    - ossl_decoder_cache_flush
    - 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:1334,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1337,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1340,1
    - Dst: evp_method_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1344,1
    - Dst: ossl_encoder_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1346,1
    - Dst: ossl_decoder_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1347,1
    - Dst: ossl_store_loader_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1329
    functionDepth: 6
    functionLinenumber: 1329
    functionLinenumberEnd: 1359
    functionName: provider_flush_store_cache
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_decoder_store_cache_flush
    - ossl_store_loader_store_cache_flush
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - evp_method_store_cache_flush
    - ossl_encoder_store_cache_flush
    - get_provider_store
    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:1366,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1369,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1372,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1377,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1379,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1382,1
    - Dst: evp_method_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1384,1
    - Dst: ossl_encoder_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1386,1
    - Dst: ossl_decoder_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1387,1
    - Dst: ossl_store_loader_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1361
    functionDepth: 6
    functionLinenumber: 1361
    functionLinenumberEnd: 1399
    functionName: provider_remove_store_methods
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_encoder_store_remove_all_provided
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - ossl_store_loader_store_remove_all_provided
    - ossl_decoder_store_remove_all_provided
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - evp_method_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:1415,1
    - Dst: provider_flush_store_cache
      Src: /src/openssl/crypto/provider_core.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - prov
    - upcalls
    - aschild
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1401
    functionDepth: 8
    functionLinenumber: 1401
    functionLinenumberEnd: 1419
    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:1426,1
    - Dst: provider_remove_store_methods
      Src: /src/openssl/crypto/provider_core.c:1428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - prov
    - removechildren
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1421
    functionDepth: 7
    functionLinenumber: 1421
    functionLinenumberEnd: 1429
    functionName: ossl_provider_deactivate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 5
    functionsReached:
    - provider_deactivate
    - provider_remove_store_methods
    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: 1434
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1434
    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:1448,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1451,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1455,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1460,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_core.c:1467,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:1474,1
    - Dst: provider_new
      Src: /src/openssl/crypto/provider_core.c:1484,1
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/crypto/provider_core.c:1489,1
    - Dst: provider_activate
      Src: /src/openssl/crypto/provider_core.c:1498,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:1499,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/crypto/provider_core.c:1503,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:1504,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1515,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct provider_store_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1441
    functionDepth: 8
    functionLinenumber: 1441
    functionLinenumberEnd: 1517
    functionName: provider_activate_fallbacks
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ERR_get_next_error_library
    - provider_activate
    - ossl_provider_free
    - strcmp
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - STACK_OF
    - sk_OSSL_PROVIDER_push
    - provider_new
    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:1521,1
    - Dst: provider_activate_fallbacks
      Src: /src/openssl/crypto/provider_core.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1519
    functionDepth: 9
    functionLinenumber: 1519
    functionLinenumberEnd: 1527
    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:1535,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_core.c:1536,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/provider_core.c:1543,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/provider_core.c:1544,1
    - Dst: provider_activate_fallbacks
      Src: /src/openssl/crypto/provider_core.c:1549,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1556,1
    - Dst: sk_OSSL_PROVIDER_dup
      Src: /src/openssl/crypto/provider_core.c:1558,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1560,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/crypto/provider_core.c:1563,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:1569,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1571,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/provider_core.c:1579,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1580,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1589,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/provider_core.c:1591,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1592,1
    - Dst: sk_OSSL_PROVIDER_delete
      Src: /src/openssl/crypto/provider_core.c:1596,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1599,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1601,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:1607,1
    - Dst: cb
      Src: /src/openssl/crypto/provider_core.c:1609,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1620,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:1628,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1630,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1641,1
    - Dst: provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:1643,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/provider_core.c:1652,1
    - Dst: assert
      Src: /src/openssl/crypto/provider_core.c:1660,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/openssl/crypto/provider_core.c:1662,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - ctx
    - cbdata
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts:
    - condition: (ref > 0)
      pos:
        line_end: 1659
        line_start: 1659
        source_file: /src/openssl/crypto/provider_core.c
    constantsTouched: []
    func_position:
      end: 1664
      start: 1529
    functionDepth: 9
    functionLinenumber: 1529
    functionLinenumberEnd: 1664
    functionName: ossl_provider_doall_activated
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_UP_REF
    - CRYPTO_atomic_add
    - ossl_lib_ctx_is_default
    - sk_OSSL_PROVIDER_num
    - sk_OSSL_PROVIDER_delete
    - sk_OSSL_PROVIDER_value
    - OPENSSL_init_crypto
    - sk_OSSL_PROVIDER_dup
    - CRYPTO_THREAD_read_lock
    - assert
    - STACK_OF
    - CRYPTO_DOWN_REF
    - sk_OSSL_PROVIDER_free
    - provider_deactivate
    - provider_activate_fallbacks
    - get_provider_store
    - cb
    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:1670,1
    - Dst: provider_activate_fallbacks
      Src: /src/openssl/crypto/provider_core.c:1672,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider_core.c:1675,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1677,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1680,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:1681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1666
    functionDepth: 9
    functionLinenumber: 1666
    functionLinenumberEnd: 1684
    functionName: OSSL_PROVIDER_available
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - provider_activate_fallbacks
    - CRYPTO_THREAD_unlock
    - ossl_provider_free
    - CRYPTO_THREAD_read_lock
    - ossl_provider_find
    - 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: 1690
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1690
    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: 1695
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1695
    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:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1704
    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:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1714
    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: 1722
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1722
    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: 1727
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1727
    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:1751,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1752,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1754,1
    - Dst: OSSL_PROVIDER*::teardown
      Src: /src/openssl/crypto/provider_core.c:1756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1741
    functionDepth: 1
    functionLinenumber: 1741
    functionLinenumberEnd: 1758
    functionName: ossl_provider_teardown
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER*::teardown
    - BIO_printf
    - ossl_provider_name
    - 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:1751,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1749
    functionDepth: 1
    functionLinenumber: 1749
    functionLinenumberEnd: 1753
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_provider_name
    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:1778,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1785,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1786,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1787,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1789,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1790,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1791,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1793,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1800
    functionName: ossl_provider_gettable_params
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - OSSL_TRACE_END
    - OSSL_PARAM_print_to_bio
    - OSSL_PROVIDER*::gettable_params
    - ossl_provider_name
    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:1785,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1786,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1787,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1789,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1790,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1791,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1795
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_print_to_bio
    - ossl_provider_name
    - OPENSSL_free
    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:1823,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1828,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1831,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1832,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1833,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1835,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1841
    functionName: ossl_provider_get_params
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_TRACE_END
    - BIO_printf
    - OSSL_PARAM_print_to_bio
    - OSSL_PROVIDER*::get_params
    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:1828,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1831,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1832,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1833,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1837
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_print_to_bio
    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:1862,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1868,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1872,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1876,1
    - Dst: provider_remove_store_methods
      Src: /src/openssl/crypto/provider_core.c:1879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1857
    functionDepth: 7
    functionLinenumber: 1857
    functionLinenumberEnd: 1881
    functionName: ossl_provider_self_test
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - provider_remove_store_methods
    - OSSL_PROVIDER*::self_test
    - OSSL_TRACE_END
    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:1868,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1875
    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:1905,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: 1907
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1907
    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:1918,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1924,1
    - Dst: OSSL_PROVIDER*::get_capabilities
      Src: /src/openssl/crypto/provider_core.c:1926,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: 1929
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1929
    functionName: ossl_provider_get_capabilities
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER*::get_capabilities
    - BIO_printf
    - OSSL_TRACE_END
    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:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1923
    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:1959,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1962,1
    - Dst: OSSL_PROVIDER*::query_operation
      Src: /src/openssl/crypto/provider_core.c:1967,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1973,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1977,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1985,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1988,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: 1997
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1997
    functionName: ossl_provider_query_operation
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - BIO_printf
    - OSSL_PROVIDER*::query_operation
    - OSSL_TRACE_END
    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:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1961
    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:1973,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1977,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1969
    functionDepth: 1
    functionLinenumber: 1969
    functionLinenumberEnd: 1987
    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:2021,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:2027,1
    - Dst: OSSL_PROVIDER*::unquery_operation
      Src: /src/openssl/crypto/provider_core.c:2029,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: 2031
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2031
    functionName: ossl_provider_unquery_operation
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - OSSL_PROVIDER*::unquery_operation
    - BIO_printf
    - OSSL_TRACE_END
    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:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2026
    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:2038,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/provider_core.c:2041,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2045,1
    - Dst: memset
      Src: /src/openssl/crypto/provider_core.c:2049,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - provider
    - bitnum
    argTypes:
    - OSSL_PROVIDER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2056
    functionName: ossl_provider_set_operation_bit
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - memset
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - OPENSSL_realloc
    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:2064,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:2065,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:2070,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - provider
    - bitnum
    - result
    argTypes:
    - OSSL_PROVIDER*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2076
    functionName: ossl_provider_test_operation_bit
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_assert
    - CRYPTO_THREAD_read_lock
    - ERR_raise
    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: 2082
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    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: 2087
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2087
    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: 2095
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2095
    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:2104,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:2107,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:2110,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:2112,1
    - Dst: OSSL_PROVIDER_CHILD_CB*::global_props_cb
      Src: /src/openssl/crypto/provider_core.c:2113,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - props
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2097
    functionDepth: 6
    functionLinenumber: 2097
    functionLinenumberEnd: 2119
    functionName: ossl_provider_default_props_update
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - OSSL_PROVIDER_CHILD_CB*::global_props_cb
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - CRYPTO_THREAD_read_lock
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - 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:2145,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/provider_core.c:2148,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:2157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2158,1
    - Dst: evp_get_global_properties_str
      Src: /src/openssl/crypto/provider_core.c:2161,1
    - Dst: global_props_cb
      Src: /src/openssl/crypto/provider_core.c:2164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2165,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/crypto/provider_core.c:2167,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:2171,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:2173,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2176,1
    - Dst: create_cb
      Src: /src/openssl/crypto/provider_core.c:2186,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_push
      Src: /src/openssl/crypto/provider_core.c:2191,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:2196,1
    - Dst: remove_cb
      Src: /src/openssl/crypto/provider_core.c:2197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2199,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - handle
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2121
    functionDepth: 6
    functionLinenumber: 2121
    functionLinenumberEnd: 2205
    functionName: ossl_provider_register_child_cb
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - global_props_cb
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - get_provider_store
    - sk_OSSL_PROVIDER_num
    - remove_cb
    - sk_OSSL_PROVIDER_value
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - evp_get_global_properties_str
    - create_cb
    - OPENSSL_malloc
    - sk_OSSL_PROVIDER_CHILD_CB_push
    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:2219,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:2222,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:2224,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:2226,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_delete
      Src: /src/openssl/crypto/provider_core.c:2229,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2230,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2207
    functionDepth: 6
    functionLinenumber: 2207
    functionLinenumberEnd: 2235
    functionName: ossl_provider_deregister_child_cb
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - sk_OSSL_PROVIDER_CHILD_CB_delete
    - get_provider_store
    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: 2325
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2325
    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:2336,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:2337,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:2338,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:2339,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:2342,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:2345,1
    - Dst: ossl_provider_module_path
      Src: /src/openssl/crypto/provider_core.c:2345,1
    - Dst: OSSL_PROVIDER_get_conf_parameters
      Src: /src/openssl/crypto/provider_core.c:2348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - params
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2327
    functionDepth: 2
    functionLinenumber: 2327
    functionLinenumberEnd: 2349
    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:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts:
    - condition: (prov != NULL)
      pos:
        line_end: 2364
        line_start: 2364
        source_file: /src/openssl/crypto/provider_core.c
    constantsTouched: []
    func_position:
      end: 2367
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2367
    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:2379,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: 2380
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2380
    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:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2398
    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:2403,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: 2404
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2404
    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:2420,1
    - Dst: ERR_vset_error
      Src: /src/openssl/crypto/provider_core.c:2421,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/provider_core.c:2421,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/provider_core.c:2421,1
    - Dst: ERR_vset_error
      Src: /src/openssl/crypto/provider_core.c:2423,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: 2425
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2425
    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:2429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2430
    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:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2435
    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:2439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2440
    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:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2445
    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:2450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OPENSSL_CORE_CTX*
    - OSSL_INDICATOR_CALLBACK**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2451
    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:2456,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: 2457
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2457
    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:2463,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2463,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: 2465
      start: 2459
    functionDepth: 1
    functionLinenumber: 2459
    functionLinenumberEnd: 2465
    functionName: rand_get_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_get_entropy
    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:2471,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2471,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: 2473
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2473
    functionName: rand_get_user_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_get_user_entropy
    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:2478,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2478,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: 2480
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2480
    functionName: rand_cleanup_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_cleanup_entropy
    - core_get_libctx
    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:2485,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2485,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: 2487
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2487
    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:2494,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2494,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: 2496
      start: 2489
    functionDepth: 1
    functionLinenumber: 2489
    functionLinenumberEnd: 2496
    functionName: rand_get_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_get_nonce
    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:2503,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2503,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: 2505
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2505
    functionName: rand_get_user_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_get_user_nonce
    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:2510,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2510,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: 2512
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2512
    functionName: rand_cleanup_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_cleanup_nonce
    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:2517,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2517,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: 2519
      start: 2514
    functionDepth: 1
    functionLinenumber: 2514
    functionLinenumberEnd: 2519
    functionName: rand_cleanup_user_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_cleanup_user_nonce
    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:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2521
    functionDepth: 2
    functionLinenumber: 2521
    functionLinenumberEnd: 2524
    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:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2526
    functionDepth: 2
    functionLinenumber: 2526
    functionLinenumberEnd: 2529
    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:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2535
    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:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2537
    functionDepth: 3
    functionLinenumber: 2537
    functionLinenumberEnd: 2541
    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:2546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2543
    functionDepth: 2
    functionLinenumber: 2543
    functionLinenumberEnd: 2547
    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:2553,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/provider_core.c:2555,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/provider_core.c:2558,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/provider_core.c:2568,1
    - Dst: OBJ_add_sigid
      Src: /src/openssl/crypto/provider_core.c:2574,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: 2575
      start: 2549
    functionDepth: 1
    functionLinenumber: 2549
    functionLinenumberEnd: 2575
    functionName: core_obj_add_sigid
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - OBJ_find_sigid_algs
    - OBJ_add_sigid
    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:2581,1
    - Dst: OBJ_create
      Src: /src/openssl/crypto/provider_core.c:2582,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: 2583
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2583
    functionName: core_obj_create
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - OBJ_create
    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:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: getauxval
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 4
    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:151,1
    - Dst: strtoul
      Src: /src/openssl/crypto/ppccap.c:152,1
    - Dst: sysconf
      Src: /src/openssl/crypto/ppccap.c:164,1
    - Dst: uname
      Src: /src/openssl/crypto/ppccap.c:167,1
    - Dst: atoi
      Src: /src/openssl/crypto/ppccap.c:167,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:179,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:183,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:187,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:190,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:193,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:196,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/ppccap.c:210,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/ppccap.c:216,1
    - Dst: getauxval
      Src: /src/openssl/crypto/ppccap.c:227,1
    - Dst: getauxval
      Src: /src/openssl/crypto/ppccap.c:228,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/ppccap.c:261,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:262,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:267,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:268,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:269,1
    - Dst: memset
      Src: /src/openssl/crypto/ppccap.c:271,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/ppccap.c:275,1
    - Dst: sigaction
      Src: /src/openssl/crypto/ppccap.c:276,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:279,1
    - Dst: OPENSSL_fpu_probe
      Src: /src/openssl/crypto/ppccap.c:280,1
    - Dst: uname
      Src: /src/openssl/crypto/ppccap.c:286,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ppccap.c:286,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:288,1
    - Dst: OPENSSL_ppc64_probe
      Src: /src/openssl/crypto/ppccap.c:289,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:299,1
    - Dst: OPENSSL_altivec_probe
      Src: /src/openssl/crypto/ppccap.c:300,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:302,1
    - Dst: OPENSSL_crypto207_probe
      Src: /src/openssl/crypto/ppccap.c:303,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:308,1
    - Dst: OPENSSL_madd300_probe
      Src: /src/openssl/crypto/ppccap.c:309,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:314,1
    - Dst: OPENSSL_rdtsc_mftb
      Src: /src/openssl/crypto/ppccap.c:315,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:317,1
    - Dst: OPENSSL_rdtsc_mfspr268
      Src: /src/openssl/crypto/ppccap.c:318,1
    - Dst: sigaction
      Src: /src/openssl/crypto/ppccap.c:322,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/ppccap.c:323,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 324
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_altivec_probe
    - uname
    - sigdelset
    - sigprocmask
    - getenv
    - atoi
    - OPENSSL_crypto207_probe
    - OPENSSL_rdtsc_mfspr268
    - sigfillset
    - __power_set
    - sysconf
    - strcmp
    - OPENSSL_madd300_probe
    - memset
    - sysctlbyname
    - OPENSSL_rdtsc_mftb
    - strtoul
    - OPENSSL_fpu_probe
    - sigsetjmp
    - OPENSSL_ppc64_probe
    - getauxval
    - sigaction
    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:
    - lib$find_file
    - strcat
    - str$free1_dx
    - strncpy
    - memset
    - strcpy
    - strlen
    - malloc
    - $VMS_STATUS_SUCCESS
    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: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    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: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    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: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    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:92,1
    - Dst: LOAD
      Src: /src/openssl/crypto/mem.c:94,1
    - Dst: LOAD
      Src: /src/openssl/crypto/mem.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - mcount
    - rcount
    - fcount
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    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:113,1
    - Dst: atol
      Src: /src/openssl/crypto/mem.c:120,1
    - Dst: strchr
      Src: /src/openssl/crypto/mem.c:121,1
    - Dst: atof
      Src: /src/openssl/crypto/mem.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: parseit
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - strchr
    - atof
    - 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: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    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: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    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:142,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/mem.c:150,1
    - Dst: strlen
      Src: /src/openssl/crypto/mem.c:153,1
    - Dst: write
      Src: /src/openssl/crypto/mem.c:154,1
    - Dst: perror
      Src: /src/openssl/crypto/mem.c:155,1
    - Dst: parseit
      Src: /src/openssl/crypto/mem.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 166
    functionName: shouldfail
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - perror
    - BIO_snprintf
    - random
    - strlen
    - write
    - parseit
    linkageType: ''
    returnType: int
    signature: int shouldfail(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/mem.c:170,1
    - Dst: strlen
      Src: /src/openssl/crypto/mem.c:175,1
    - Dst: strncpy
      Src: /src/openssl/crypto/mem.c:177,1
    - Dst: parseit
      Src: /src/openssl/crypto/mem.c:179,1
    - Dst: getenv
      Src: /src/openssl/crypto/mem.c:182,1
    - Dst: atoi
      Src: /src/openssl/crypto/mem.c:183,1
    - Dst: getenv
      Src: /src/openssl/crypto/mem.c:184,1
    - Dst: srandom
      Src: /src/openssl/crypto/mem.c:185,1
    - Dst: atoi
      Src: /src/openssl/crypto/mem.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: ossl_malloc_setup_failures
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - srandom
    - strncpy
    - getenv
    - atoi
    - strlen
    - parseit
    linkageType: ''
    returnType: void
    signature: void ossl_malloc_setup_failures(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/openssl/crypto/mem.c:193,1
    - Dst: FAILTEST
      Src: /src/openssl/crypto/mem.c:194,1
    - Dst: malloc_impl
      Src: /src/openssl/crypto/mem.c:196,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/mem.c:202,1
    - Dst: malloc
      Src: /src/openssl/crypto/mem.c:214,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/mem.c:215,1
    - Dst: ossl_report_alloc_err
      Src: /src/openssl/crypto/mem.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: CRYPTO_malloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 2
    functionsReached:
    - ossl_report_alloc_err
    - FAILTEST
    - malloc_impl
    - ossl_likely
    - ossl_unlikely
    - INCREMENT
    - malloc
    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:226,1
    - Dst: memset
      Src: /src/openssl/crypto/mem.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: CRYPTO_zalloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 2
    functionsReached:
    - memset
    - CRYPTO_malloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_zalloc(size_t num, const char *file, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_report_alloc_err_inv
      Src: /src/openssl/crypto/mem.c:241,1
    - Dst: posix_memalign
      Src: /src/openssl/crypto/mem.c:254,1
    - Dst: ossl_malloc_align
      Src: /src/openssl/crypto/mem.c:261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - num
    - alignment
    - freeptr
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 262
    functionName: CRYPTO_aligned_alloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - ossl_report_alloc_err_inv
    - posix_memalign
    - ossl_malloc_align
    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:268,1
    - Dst: FAILTEST
      Src: /src/openssl/crypto/mem.c:269,1
    - Dst: realloc_impl
      Src: /src/openssl/crypto/mem.c:271,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:280,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem.c:283,1
    - Dst: realloc
      Src: /src/openssl/crypto/mem.c:287,1
    - Dst: ossl_report_alloc_err
      Src: /src/openssl/crypto/mem.c:291,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: 294
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 294
    functionName: CRYPTO_realloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - ossl_report_alloc_err
    - FAILTEST
    - realloc_impl
    - INCREMENT
    - realloc
    - CRYPTO_free
    - CRYPTO_malloc
    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:302,1
    - Dst: CRYPTO_clear_free
      Src: /src/openssl/crypto/mem.c:305,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem.c:311,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:315,1
    - Dst: memcpy
      Src: /src/openssl/crypto/mem.c:317,1
    - Dst: CRYPTO_clear_free
      Src: /src/openssl/crypto/mem.c:318,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: 321
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: CRYPTO_clear_realloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - memcpy
    - CRYPTO_malloc
    - 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:325,1
    - Dst: free_impl
      Src: /src/openssl/crypto/mem.c:327,1
    - Dst: free
      Src: /src/openssl/crypto/mem.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: CRYPTO_free
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 3
    functionsReached:
    - free_impl
    - INCREMENT
    - free
    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:339,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem.c:340,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: 341
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: CRYPTO_clear_free
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - CRYPTO_free
    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: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    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: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    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: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    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: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    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: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    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: 390
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 390
    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: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    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: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    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: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    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: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    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: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    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: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    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:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    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:52,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/cpuid.c:54,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/cpuid.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - variant_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: todigit
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - ossl_isxdigit
    - ossl_tolower
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: int todigit(variant_char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/cpuid.c:68,1
    - Dst: todigit
      Src: /src/openssl/crypto/cpuid.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - variant_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: ossl_strtouint64
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - ossl_tolower
    - todigit
    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: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    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:106,1
    - Dst: ossl_strtouint64
      Src: /src/openssl/crypto/cpuid.c:109,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/openssl/crypto/cpuid.c:113,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/openssl/crypto/cpuid.c:126,1
    - Dst: ossl_strchr
      Src: /src/openssl/crypto/cpuid.c:130,1
    - Dst: ossl_strtouint64
      Src: /src/openssl/crypto/cpuid.c:139,1
    - Dst: ossl_strchr
      Src: /src/openssl/crypto/cpuid.c:149,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/openssl/crypto/cpuid.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 171
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - ossl_strtouint64
    - ossl_strchr
    - OPENSSL_ia32_cpuid
    - 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: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    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: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    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: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    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: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    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: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    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_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_lock_new
    - sk_THREAD_EVENT_HANDLER_PTR_new_null
    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
    - CRYPTO_THREAD_get_local_ex
    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_ex
    - CRYPTO_THREAD_set_local
    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
    - OPENSSL_free
    - set_thread_event_handler
    - 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
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - get_global_tevent_register
    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:
    - CRYPTO_THREAD_unlock
    - get_global_tevent_register
    - sk_THREAD_EVENT_HANDLER_PTR_num
    - CRYPTO_THREAD_write_lock
    - sk_THREAD_EVENT_HANDLER_PTR_value
    - sk_THREAD_EVENT_HANDLER_PTR_delete
    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:
    - init_thread_stop
    - init_thread_remove_handlers
    - OPENSSL_free
    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:
    - init_thread_deregister
    - CRYPTO_THREAD_cleanup_local
    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
    - Dst: CRYPTO_THREAD_clean_local
      Src: /src/openssl/crypto/initthread.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: OPENSSL_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_clean_local
    - init_thread_remove_handlers
    - OPENSSL_free
    - init_thread_stop
    - clear_thread_local
    linkageType: ''
    returnType: void
    signature: void OPENSSL_thread_stop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_thread_local
      Src: /src/openssl/crypto/initthread.c:283,1
    - Dst: init_thread_stop
      Src: /src/openssl/crypto/initthread.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 287
    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:296,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/crypto/initthread.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: ossl_thread_register_fips
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - c_thread_start
    - FIPS_get_core_handle
    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:304,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/initthread.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: ossl_thread_event_ctx_new
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    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:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 330
    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:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 6
    functionLinenumber: 332
    functionLinenumberEnd: 335
    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:341,1
    - Dst: init_thread_stop
      Src: /src/openssl/crypto/initthread.c:342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: ossl_ctx_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 3
    functionsReached:
    - init_thread_stop
    - clear_thread_local
    - OPENSSL_free
    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:359,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/initthread.c:363,1
    - Dst: THREAD_EVENT_HANDLER*::handfn
      Src: /src/openssl/crypto/initthread.c:374,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:383,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - arg
    - hands
    argTypes:
    - void*
    - THREAD_EVENT_HANDLER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: init_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 4
    functionsReached:
    - THREAD_EVENT_HANDLER*::handfn
    - CRYPTO_THREAD_unlock
    - get_global_tevent_register
    - OPENSSL_free
    - CRYPTO_THREAD_write_lock
    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:406,1
    - Dst: ossl_thread_register_fips
      Src: /src/openssl/crypto/initthread.c:418,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/initthread.c:423,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: 436
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 436
    functionName: ossl_init_thread_start
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 2
    functionsReached:
    - ossl_thread_register_fips
    - alloc_thread_local
    - OPENSSL_malloc
    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:444,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/initthread.c:448,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_num
      Src: /src/openssl/crypto/initthread.c:453,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_value
      Src: /src/openssl/crypto/initthread.c:455,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:460,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:479,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/initthread.c:482,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_free
      Src: /src/openssl/crypto/initthread.c:483,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:484,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:486,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - index
    - all
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 489
    functionName: init_thread_deregister
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_unlock
    - get_global_tevent_register
    - OPENSSL_free
    - sk_THREAD_EVENT_HANDLER_PTR_free
    - CRYPTO_THREAD_lock_free
    - sk_THREAD_EVENT_HANDLER_PTR_num
    - CRYPTO_THREAD_write_lock
    - sk_THREAD_EVENT_HANDLER_PTR_value
    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:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 494
    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: 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_n
    - ossl_quic_vlint_encode_len
    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_unchecked
    - ossl_quic_vlint_decode_len
    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:64,1
    - Dst: TEXT
      Src: /src/openssl/crypto/defaults.c:65,1
    - Dst: RegQueryValueExW
      Src: /src/openssl/crypto/defaults.c:71,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/defaults.c:84,1
    - Dst: RegQueryValueExW
      Src: /src/openssl/crypto/defaults.c:89,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/defaults.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/defaults.c:100,1
    - Dst: RegCloseKey
      Src: /src/openssl/crypto/defaults.c:101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - dst
    - dstsizebytes
    - valuename
    argTypes:
    - char*
    - DWORD
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 104
    functionName: get_windows_regdirs
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - RegOpenKeyEx
    - RegQueryValueExW
    - TEXT
    - RegCloseKey
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: char *get_windows_regdirs(char *dst, DWORD dstsizebytes, LPCWSTR valuename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_windows_regdirs
      Src: /src/openssl/crypto/defaults.c:115,1
    - Dst: get_windows_regdirs
      Src: /src/openssl/crypto/defaults.c:116,1
    - Dst: strlen
      Src: /src/openssl/crypto/defaults.c:121,1
    - Dst: strlen
      Src: /src/openssl/crypto/defaults.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_windows_regdirs
    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:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    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:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    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:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    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:80,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/self_test_core.c:82,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/self_test_core.c:84,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/self_test_core.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - OSSL_SELF_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    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:92,1
    - Dst: self_test_setparams
      Src: /src/openssl/crypto/self_test_core.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - cb
    - cbarg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: OSSL_SELF_TEST_new
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - self_test_setparams
    - OPENSSL_zalloc
    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:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OSSL_SELF_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    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:119,1
    - Dst: OSSL_SELF_TEST*::cb
      Src: /src/openssl/crypto/self_test_core.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - st
    - type
    - desc
    argTypes:
    - OSSL_SELF_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: OSSL_SELF_TEST_onbegin
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - self_test_setparams
    - OSSL_SELF_TEST*::cb
    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:132,1
    - Dst: OSSL_SELF_TEST*::cb
      Src: /src/openssl/crypto/self_test_core.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - st
    - ret
    argTypes:
    - OSSL_SELF_TEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: OSSL_SELF_TEST_onend
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - self_test_setparams
    - OSSL_SELF_TEST*::cb
    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:153,1
    - Dst: OSSL_SELF_TEST*::cb
      Src: /src/openssl/crypto/self_test_core.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - st
    - bytes
    argTypes:
    - OSSL_SELF_TEST*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: OSSL_SELF_TEST_oncorrupt_byte
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - self_test_setparams
    - OSSL_SELF_TEST*::cb
    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::lock_store
    - struct construct_data_st*::mcm::get_tmp_store
    - is_temporary_method_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:
    - ossl_provider_test_operation_bit
    - ossl_assert
    - ERR_raise
    - is_temporary_method_store
    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:
    - ossl_assert
    - ossl_provider_set_operation_bit
    - ERR_raise
    - is_temporary_method_store
    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
    - struct construct_data_st*::mcm::construct
    - OSSL_TRACE2
    - struct construct_data_st*::mcm::put
    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_add
    - ossl_time_compare
    - ossl_time_now
    - ossl_ms2time
    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_time_subtract
    - ossl_sleep_millis
    - ossl_time_compare
    - ossl_time_now
    - ossl_sleep_secs
    - ossl_time_add
    - ossl_ms2time
    - ossl_time2ms
    linkageType: ''
    returnType: void
    signature: void OSSL_sleep(uint64_t millis)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/crypto/dllmain.c:33,1
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/crypto/dllmain.c:39,1
    - Dst: ossl_cleanup_destructor
      Src: /src/openssl/crypto/dllmain.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: DllMain
    functionSourceFile: /src/openssl/crypto/dllmain.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cpuid_setup
    - ossl_cleanup_destructor
    - 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_asc2bn
    - OSSL_PARAM_locate_const
    - ERR_raise
    - BN_hex2bn
    - BN_num_bits
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - BN_add_word
    - BN_is_negative
    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:
    - ebcdic2ascii
    - strncpy
    - memcpy
    - BN_bn2nativepad
    - OPENSSL_hexstr2buf_ex
    - BN_is_negative
    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:233,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:243,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/params_from_text.c:250,1
    - Dst: BN_print
      Src: /src/openssl/crypto/params_from_text.c:251,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:253,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/crypto/params_from_text.c:255,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:256,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:258,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/params_from_text.c:263,1
    - Dst: BN_print
      Src: /src/openssl/crypto/params_from_text.c:264,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:266,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/crypto/params_from_text.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:269,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:271,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/params_from_text.c:275,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/params_from_text.c:278,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/params_from_text.c:282,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/crypto/params_from_text.c:287,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:289,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:291,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:295,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - p
    - bio
    - print_values
    argTypes:
    - OSSL_PARAM*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 305
    functionName: OSSL_PARAM_print_to_bio
    functionSourceFile: /src/openssl/crypto/params_from_text.c
    functionUses: 4
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_get_double
    - BIO_dump
    - OSSL_PARAM_get_int64
    - BN_print
    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:323,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/params_from_text.c:327,1
    - Dst: construct_from_text
      Src: /src/openssl/crypto/params_from_text.c:330,1
    - Dst: BN_free
      Src: /src/openssl/crypto/params_from_text.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/params_from_text.c:334,1
    - Dst: BN_free
      Src: /src/openssl/crypto/params_from_text.c:337,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: 339
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 339
    functionName: OSSL_PARAM_allocate_from_text
    functionSourceFile: /src/openssl/crypto/params_from_text.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - construct_from_text
    - 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:
    - ossl_likely
    - strcmp
    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
    - memset
    - check_sign_bytes
    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_signed
    - signed_from_unsigned
    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_int32
    - OSSL_PARAM_get_int64
    - general_get_int
    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:
    - general_set_int
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    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_uint32
    - OSSL_PARAM_get_uint64
    - general_get_uint
    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
    - general_set_uint
    - OSSL_PARAM_set_uint64
    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_int32
    - OSSL_PARAM_get_int64
    - general_get_int
    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:
    - general_set_int
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    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_uint32
    - OSSL_PARAM_get_uint64
    - general_get_uint
    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
    - general_set_uint
    - OSSL_PARAM_set_uint64
    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:
    - general_set_uint
    - real_shift
    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:
    - general_get_uint
    - ossl_likely
    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:
    - general_set_uint
    - real_shift
    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_uint32
    - OSSL_PARAM_get_uint64
    - general_get_uint
    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
    - general_set_uint
    - OSSL_PARAM_set_uint64
    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_int32
    - OSSL_PARAM_get_int64
    - general_get_int
    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:
    - general_set_int
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    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:
    - ERR_raise
    - BN_native2bn
    - BN_signed_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:
    - BN_num_bytes
    - ERR_raise
    - BN_bn2nativepad
    - BN_signed_bn2native
    - BN_is_negative
    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:
    - get_string_internal
    - ERR_raise
    - 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:
    - OSSL_PARAM_get_octet_string
    - OPENSSL_clear_free
    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_get_total_written
    - WPACKET_init_null
    - WPACKET_cleanup
    - WPACKET_finish
    - WPACKET_memcpy
    - WPACKET_init_static_len
    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
    - OPENSSL_malloc
    - setbuf_fromparams
    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:56,1
    - Dst: ossl_malloc_setup_failures
      Src: /src/openssl/crypto/init.c:58,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/init.c:61,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/init.c:62,1
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/crypto/init.c:65,1
    - Dst: ossl_init_thread
      Src: /src/openssl/crypto/init.c:67,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/init.c:70,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:77,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:78,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - ossl_malloc_setup_failures
    - CRYPTO_THREAD_lock_free
    - OPENSSL_cpuid_setup
    - OSSL_TRACE
    - CRYPTO_THREAD_lock_new
    - ossl_init_thread
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err_shelve_state
      Src: /src/openssl/crypto/init.c:98,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:101,1
    - Dst: ossl_err_load_crypto_strings
      Src: /src/openssl/crypto/init.c:102,1
    - Dst: err_unshelve_state
      Src: /src/openssl/crypto/init.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - err_shelve_state
    - OSSL_TRACE
    - err_unshelve_state
    - ossl_err_load_crypto_strings
    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: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    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:125,1
    - Dst: ossl_err_load_SSL_strings
      Src: /src/openssl/crypto/init.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 129
    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: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    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:146,1
    - Dst: openssl_add_all_ciphers_int
      Src: /src/openssl/crypto/init.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    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: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    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:167,1
    - Dst: openssl_add_all_digests_int
      Src: /src/openssl/crypto/init.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    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: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    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:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 193
    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:196,1
    - Dst: ossl_no_config_int
      Src: /src/openssl/crypto/init.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    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:206,1
    - Dst: async_init
      Src: /src/openssl/crypto/init.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/crypto/init.c:258,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:260,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:262,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/init.c:265,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:273,1
    - Dst: ossl_comp_zlib_cleanup
      Src: /src/openssl/crypto/init.c:274,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:275,1
    - Dst: ossl_comp_brotli_cleanup
      Src: /src/openssl/crypto/init.c:276,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:277,1
    - Dst: ossl_comp_zstd_cleanup
      Src: /src/openssl/crypto/init.c:278,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:282,1
    - Dst: async_deinit
      Src: /src/openssl/crypto/init.c:283,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:297,1
    - Dst: ossl_rand_cleanup_int
      Src: /src/openssl/crypto/init.c:298,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:300,1
    - Dst: ossl_config_modules_free
      Src: /src/openssl/crypto/init.c:301,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:304,1
    - Dst: ossl_store_cleanup_int
      Src: /src/openssl/crypto/init.c:305,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:308,1
    - Dst: ossl_lib_ctx_default_deinit
      Src: /src/openssl/crypto/init.c:309,1
    - Dst: ossl_cleanup_thread
      Src: /src/openssl/crypto/init.c:311,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:313,1
    - Dst: bio_cleanup
      Src: /src/openssl/crypto/init.c:314,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:316,1
    - Dst: evp_cleanup_int
      Src: /src/openssl/crypto/init.c:317,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:319,1
    - Dst: ossl_obj_cleanup_int
      Src: /src/openssl/crypto/init.c:320,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:322,1
    - Dst: err_cleanup
      Src: /src/openssl/crypto/init.c:323,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:325,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/crypto/init.c:326,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:329,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/crypto/init.c:330,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:333,1
    - Dst: ossl_trace_cleanup
      Src: /src/openssl/crypto/init.c:334,1
    - Dst: OPENSSL_s390x_cleanup
      Src: /src/openssl/crypto/init.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 341
    functionName: ossl_cleanup_destructor
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 1
    functionsReached:
    - ossl_comp_zlib_cleanup
    - OPENSSL_s390x_cleanup
    - async_deinit
    - CRYPTO_secure_malloc_done
    - CRYPTO_THREAD_cleanup_local
    - ossl_lib_ctx_default_deinit
    - ossl_trace_cleanup
    - OPENSSL_thread_stop
    - ossl_comp_brotli_cleanup
    - ossl_store_cleanup_int
    - ossl_config_modules_free
    - ossl_comp_zstd_cleanup
    - ossl_obj_cleanup_int
    - err_cleanup
    - OSSL_CMP_log_close
    - CRYPTO_THREAD_lock_free
    - evp_cleanup_int
    - OSSL_TRACE
    - bio_cleanup
    - ossl_cleanup_thread
    - ossl_rand_cleanup_int
    linkageType: ''
    returnType: void
    signature: void ossl_cleanup_destructor(void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/init.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/init.c:356,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/init.c:373,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/init.c:373,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/init.c:390,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:390,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/init.c:402,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:409,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:415,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:419,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:424,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:428,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:433,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:437,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:442,1
    - Dst: openssl_init_fork_handlers
      Src: /src/openssl/crypto/init.c:446,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:450,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/init.c:454,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/init.c:460,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:463,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/init.c:465,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:468,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/init.c:471,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:480,1
    - Dst: CRYPTO_atomic_or
      Src: /src/openssl/crypto/init.c:483,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 64
    argCount: 2
    argNames:
    - opts
    - settings
    argTypes:
    - uint64_t
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 487
    functionName: OPENSSL_init_crypto
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_get_local
    - RUN_ONCE
    - CRYPTO_THREAD_unlock
    - CRYPTO_atomic_or
    - ossl_likely
    - ossl_unlikely
    - openssl_init_fork_handlers
    - ERR_raise
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_write_lock
    - CRYPTO_atomic_load
    - RUN_ONCE_ALT
    linkageType: ''
    returnType: int
    signature: int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS
      *settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cleanup_destructor
      Src: /src/openssl/crypto/init.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: OPENSSL_cleanup
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - ossl_cleanup_destructor
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cleanup(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:
    - struct child_prov_globals*::c_prov_get0_provider_ctx
    - ossl_lib_ctx_get_data
    - struct child_prov_globals*::c_prov_get0_dispatch
    - c_get_libctx
    - OSSL_FUNC_core_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:139,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:140,1
    - Dst: ossl_provider_set_child
      Src: /src/openssl/crypto/provider_child.c:144,1
    - Dst: ossl_provider_add_to_store
      Src: /src/openssl/crypto/provider_child.c:145,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_child.c:146,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:147,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_child.c:154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - prov
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 92
    functionDepth: 9
    functionLinenumber: 92
    functionLinenumberEnd: 156
    functionName: provider_create_child_cb
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_lib_ctx_get_data
    - ossl_provider_new
    - struct child_prov_globals*::c_prov_name
    - ossl_provider_activate
    - ossl_provider_add_to_store
    - ossl_provider_free
    - CRYPTO_THREAD_write_lock
    - ossl_provider_deactivate
    - ossl_provider_set_child
    - ossl_provider_find
    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:165,1
    - Dst: struct child_prov_globals*::c_prov_name
      Src: /src/openssl/crypto/provider_child.c:169,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider_child.c:170,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:177,1
    - Dst: ossl_provider_is_child
      Src: /src/openssl/crypto/provider_child.c:178,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_child.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - prov
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 8
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: provider_remove_child_cb
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    - ossl_provider_is_child
    - struct child_prov_globals*::c_prov_name
    - ossl_provider_free
    - ossl_provider_deactivate
    - ossl_provider_find
    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:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - props
    - cbdata
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    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:201,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/crypto/provider_child.c:209,1
    - Dst: OSSL_FUNC_provider_register_child_cb
      Src: /src/openssl/crypto/provider_child.c:213,1
    - Dst: OSSL_FUNC_provider_deregister_child_cb
      Src: /src/openssl/crypto/provider_child.c:217,1
    - Dst: OSSL_FUNC_provider_name
      Src: /src/openssl/crypto/provider_child.c:220,1
    - Dst: OSSL_FUNC_provider_get0_provider_ctx
      Src: /src/openssl/crypto/provider_child.c:224,1
    - Dst: OSSL_FUNC_provider_get0_dispatch
      Src: /src/openssl/crypto/provider_child.c:227,1
    - Dst: OSSL_FUNC_provider_up_ref
      Src: /src/openssl/crypto/provider_child.c:231,1
    - Dst: OSSL_FUNC_provider_free
      Src: /src/openssl/crypto/provider_child.c:234,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_child.c:251,1
    - Dst: struct child_prov_globals*::c_provider_register_child_cb
      Src: /src/openssl/crypto/provider_child.c:255,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: 263
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 263
    functionName: ossl_provider_init_as_child
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 1
    functionsReached:
    - struct child_prov_globals*::c_provider_register_child_cb
    - ossl_lib_ctx_get_data
    - OSSL_FUNC_provider_get0_dispatch
    - OSSL_FUNC_provider_free
    - OSSL_FUNC_provider_register_child_cb
    - OSSL_FUNC_provider_get0_provider_ctx
    - CRYPTO_THREAD_lock_new
    - OSSL_FUNC_provider_up_ref
    - OSSL_FUNC_provider_deregister_child_cb
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_provider_name
    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:268,1
    - Dst: struct child_prov_globals*::c_provider_deregister_child_cb
      Src: /src/openssl/crypto/provider_child.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 273
    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:292,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/provider_child.c:292,1
    - Dst: ossl_provider_get_parent
      Src: /src/openssl/crypto/provider_child.c:297,1
    - Dst: struct child_prov_globals*::c_prov_up_ref
      Src: /src/openssl/crypto/provider_child.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: ossl_provider_up_ref_parent
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 2
    functionsReached:
    - struct child_prov_globals*::c_prov_up_ref
    - ossl_provider_get_parent
    - ossl_provider_libctx
    - ossl_lib_ctx_get_data
    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:308,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/provider_child.c:308,1
    - Dst: ossl_provider_get_parent
      Src: /src/openssl/crypto/provider_child.c:313,1
    - Dst: struct child_prov_globals*::c_prov_free
      Src: /src/openssl/crypto/provider_child.c:316,1
    - Dst: ossl_provider_get_parent
      Src: /src/openssl/crypto/provider_child.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: ossl_provider_free_parent
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 3
    functionsReached:
    - struct child_prov_globals*::c_prov_free
    - ossl_provider_get_parent
    - ossl_provider_libctx
    - ossl_lib_ctx_get_data
    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:
    - strlen
    - memcpy
    - 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: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    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:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: OPENSSL_strlcpy
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 1
    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:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: OPENSSL_strlcat
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    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:147,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: 162
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 162
    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: 211
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 211
    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:229,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/o_str.c:232,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/o_str.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:241,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: 251
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 251
    functionName: hexstr2buf_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexchar2int
    - ERR_raise
    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:259,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: 260
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 260
    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:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:270,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/o_str.c:274,1
    - Dst: hexstr2buf_sep
      Src: /src/openssl/crypto/o_str.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/o_str.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - str
    - buflen
    - sep
    argTypes:
    - char*
    - long*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: ossl_hexstr2buf_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - hexstr2buf_sep
    - OPENSSL_free
    - ERR_raise
    - 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:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - buflen
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 292
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:315,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/o_str.c:321,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/o_str.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    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: 333
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 333
    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:339,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: 340
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/o_str.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:354,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/o_str.c:359,1
    - Dst: buf2hexstr_sep
      Src: /src/openssl/crypto/o_str.c:362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/o_str.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - buflen
    - sep
    argTypes:
    - unsigned char*
    - long
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 366
    functionName: ossl_buf2hexstr_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - buf2hexstr_sep
    - ERR_raise
    - 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:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 376
    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:381,1
    - Dst: strerror_r
      Src: /src/openssl/crypto/o_str.c:390,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/o_str.c:401,1
    - Dst: strerror_r
      Src: /src/openssl/crypto/o_str.c:409,1
    - Dst: strerror
      Src: /src/openssl/crypto/o_str.c:416,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/o_str.c:420,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - errnum
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 423
    functionName: openssl_strerror_r
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - strerror
    - strerror_r
    - OPENSSL_strlcpy
    - strerror_s
    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:429,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/o_str.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: OPENSSL_strcasecmp
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 4
    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:441,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/o_str.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 446
    functionName: OPENSSL_strncasecmp
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    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:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 453
    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:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    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:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    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:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    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:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vnamemap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    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:92,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:95,1
    - Dst: tsan_load
      Src: /src/openssl/crypto/core_namemap.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - namemap
    argTypes:
    - OSSL_NAMEMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: ossl_namemap_empty
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - tsan_load
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    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:123,1
    - Dst: sk_NAMES_value
      Src: /src/openssl/crypto/core_namemap.c:126,1
    - Dst: sk_OPENSSL_STRING_dup
      Src: /src/openssl/crypto/core_namemap.c:128,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:130,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/crypto/core_namemap.c:135,1
    - Dst: fn
      Src: /src/openssl/crypto/core_namemap.c:136,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/core_namemap.c:136,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/crypto/core_namemap.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - namemap
    - number
    - data
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 140
    functionName: ossl_namemap_doall_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_num
    - CRYPTO_THREAD_unlock
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_free
    - CRYPTO_THREAD_read_lock
    - sk_OPENSSL_STRING_dup
    - fn
    - sk_NAMES_value
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/core_namemap.c:146,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_namemap.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - namemap
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: ossl_namemap_name2num
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - strlen
    - ossl_namemap_name2num_n
    linkageType: ''
    returnType: int
    signature: int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/core_namemap.c:158,1
    - Dst: HT_INIT_RAW_KEY
      Src: /src/openssl/crypto/core_namemap.c:167,1
    - Dst: HT_COPY_RAW_KEY_CASE
      Src: /src/openssl/crypto/core_namemap.c:168,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:168,1
    - Dst: ossl_ht_get
      Src: /src/openssl/crypto/core_namemap.c:170,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - namemap
    - name
    - name_len
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: ossl_namemap_name2num_n
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 1
    functionsReached:
    - HT_COPY_RAW_KEY_CASE
    - ossl_ht_get
    - ossl_namemap_stored
    - HT_INIT_RAW_KEY
    - TO_HT_KEY
    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:188,1
    - Dst: sk_NAMES_value
      Src: /src/openssl/crypto/core_namemap.c:191,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/core_namemap.c:193,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - namemap
    - number
    - idx
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: ossl_namemap_num2name
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - sk_NAMES_value
    - sk_OPENSSL_STRING_value
    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:208,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_namemap.c:209,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/crypto/core_namemap.c:215,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/core_namemap.c:220,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/crypto/core_namemap.c:223,1
    - Dst: sk_NAMES_push
      Src: /src/openssl/crypto/core_namemap.c:228,1
    - Dst: sk_NAMES_num
      Src: /src/openssl/crypto/core_namemap.c:230,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/core_namemap.c:236,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 239
    functionName: numname_insert
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - sk_NAMES_num
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - OPENSSL_free
    - sk_NAMES_push
    - sk_OPENSSL_STRING_pop_free
    - sk_OPENSSL_STRING_new_null
    - ossl_assert
    - sk_NAMES_value
    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:250,1
    - Dst: numname_insert
      Src: /src/openssl/crypto/core_namemap.c:253,1
    - Dst: tsan_store
      Src: /src/openssl/crypto/core_namemap.c:257,1
    - Dst: HT_INIT_RAW_KEY
      Src: /src/openssl/crypto/core_namemap.c:259,1
    - Dst: HT_COPY_RAW_KEY_CASE
      Src: /src/openssl/crypto/core_namemap.c:260,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:260,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_namemap.c:260,1
    - Dst: ossl_ht_insert
      Src: /src/openssl/crypto/core_namemap.c:263,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_namemap.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 273
    functionName: namemap_add_name
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - numname_insert
    - HT_COPY_RAW_KEY_CASE
    - tsan_store
    - ossl_ht_insert
    - ERR_raise
    - ossl_namemap_name2num
    - strlen
    - HT_INIT_RAW_KEY
    - TO_HT_KEY
    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:282,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/core_namemap.c:288,1
    - Dst: namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:290,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 293
    functionName: ossl_namemap_add_name
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - namemap_add_name
    - CRYPTO_THREAD_write_lock
    - ossl_namemap_stored
    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:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_namemap.c:302,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/core_namemap.c:306,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/core_namemap.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:310,1
    - Dst: strchr
      Src: /src/openssl/crypto/core_namemap.c:321,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_namemap.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_namemap.c:330,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/core_namemap.c:335,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/core_namemap.c:340,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_namemap.c:353,1
    - Dst: namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:355,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/core_namemap.c:359,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:369,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: 371
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 371
    functionName: ossl_namemap_add_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - ERR_raise_data
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - ossl_namemap_name2num
    - strlen
    - namemap_add_name
    - ossl_assert
    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:389,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/core_namemap.c:389,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:390,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/core_namemap.c:390,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:394,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/core_namemap.c:394,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:395,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/core_namemap.c:395,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/core_namemap.c:396,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/core_namemap.c:399,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:400,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:404,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: 405
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 405
    functionName: get_legacy_evp_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OBJ_nid2obj
    - ossl_namemap_add_name
    - OBJ_nid2ln
    - OBJ_obj2txt
    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:409,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:412,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/core_namemap.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - 'on'
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 5
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: get_legacy_cipher_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_get
    - EVP_CIPHER_get_type
    - 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:417,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:420,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/core_namemap.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - 'on'
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: get_legacy_md_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_get
    - EVP_MD_get_type
    - 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:430,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:436,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:439,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:453,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ameth
    - arg
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 461
    functionName: get_legacy_pkey_meth_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - get_legacy_evp_names
    - evp_pkey_asn1_get0_info
    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:475,1
    - Dst: ossl_namemap_empty
      Src: /src/openssl/crypto/core_namemap.c:481,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/core_namemap.c:493,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/core_namemap.c:497,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/core_namemap.c:499,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:506,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:508,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:510,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:511,1
    - Dst: evp_pkey_asn1_get_count
      Src: /src/openssl/crypto/core_namemap.c:518,1
    - Dst: get_legacy_pkey_meth_names
      Src: /src/openssl/crypto/core_namemap.c:519,1
    - Dst: evp_pkey_asn1_get0
      Src: /src/openssl/crypto/core_namemap.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 470
    functionDepth: 6
    functionLinenumber: 470
    functionLinenumberEnd: 526
    functionName: ossl_namemap_stored
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 2
    functionsReached:
    - OBJ_NAME_do_all
    - ossl_lib_ctx_get_data
    - evp_pkey_asn1_get0
    - ossl_namemap_add_name
    - OPENSSL_init_crypto
    - ossl_namemap_empty
    - get_legacy_pkey_meth_names
    - evp_pkey_asn1_get_count
    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:535,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/core_namemap.c:538,1
    - Dst: ossl_ht_new
      Src: /src/openssl/crypto/core_namemap.c:541,1
    - Dst: sk_NAMES_new_null
      Src: /src/openssl/crypto/core_namemap.c:544,1
    - Dst: ossl_namemap_free
      Src: /src/openssl/crypto/core_namemap.c:550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 552
    functionName: ossl_namemap_new
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - sk_NAMES_new_null
    - CRYPTO_THREAD_lock_new
    - ossl_namemap_free
    - ossl_ht_new
    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:559,1
    - Dst: ossl_ht_free
      Src: /src/openssl/crypto/core_namemap.c:561,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/core_namemap.c:563,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - namemap
    argTypes:
    - OSSL_NAMEMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 565
    functionName: ossl_namemap_free
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 2
    functionsReached:
    - sk_NAMES_pop_free
    - CRYPTO_THREAD_lock_free
    - ossl_ht_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_namemap_free(OSSL_NAMEMAP *namemap)
  - 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_new
    - BN_usub
    - int2octets
    - BN_free
    - BN_cmp
    - bits2int
    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:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_KDF_fetch
    - 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:
    - EVP_KDF_CTX_free
    - OPENSSL_zalloc
    - ossl_bn_is_word_fixed_top
    - BN_ucmp
    - bn_correct_top
    - OPENSSL_clear_free
    - EVP_KDF_derive
    - int2octets
    - memset
    - BN_num_bits
    - bits2int_consttime
    - bits2octets
    - kdf_setup
    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:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - count
    argTypes:
    - struct rcu_lock_st*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    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:134,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:138,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/threads_win.c:144,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/threads_win.c:145,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/crypto/threads_win.c:146,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/crypto/threads_win.c:147,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/threads_win.c:148,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/threads_win.c:149,1
    - Dst: allocate_new_qp_group
      Src: /src/openssl/crypto/threads_win.c:150,1
    - Dst: num_writers::num_writers
      Src: /src/openssl/crypto/threads_win.c:150,1
    - Dst: qp_group::qp_group
      Src: /src/openssl/crypto/threads_win.c:151,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_win.c:152,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_win.c:153,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_win.c:154,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_win.c:155,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_win.c:156,1
    - Dst: rw_lock::rw_lock
      Src: /src/openssl/crypto/threads_win.c:157,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/threads_win.c:158,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:159,1
    - Dst: qp_group::qp_group
      Src: /src/openssl/crypto/threads_win.c:159,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:160,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_win.c:160,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:161,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_win.c:161,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:162,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_win.c:162,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:163,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_win.c:163,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:164,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_win.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - num_writers
    - ctx
    argTypes:
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 170
    functionName: ossl_rcu_lock_new
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - allocate_new_qp_group
    - prior_signal::prior_signal
    - num_writers::num_writers
    - OPENSSL_free
    - ossl_lib_ctx_get_concrete
    - prior_lock::prior_lock
    - alloc_lock::alloc_lock
    - rw_lock::rw_lock
    - CRYPTO_THREAD_lock_free
    - write_lock::write_lock
    - ossl_crypto_mutex_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_zalloc::OPENSSL_zalloc
    - qp_group::qp_group
    - ossl_crypto_condvar_new
    - alloc_signal::alloc_signal
    - ossl_crypto_condvar_free
    - ossl_crypto_mutex_new
    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:174,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:175,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:176,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:177,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:178,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:179,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: ossl_rcu_lock_free
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - CRYPTO_THREAD_lock_free
    - ossl_crypto_condvar_free
    - OPENSSL_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:193,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/crypto/threads_win.c:195,1
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/crypto/threads_win.c:197,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/crypto/threads_win.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 206
    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:211,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_win.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: ossl_rcu_free_local_data
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    - OPENSSL_free
    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:227,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:230,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_win.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:234,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/threads_win.c:237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:238,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_win.c:239,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_win.c:255,1
    - Dst: get_hold_current_qp
      Src: /src/openssl/crypto/threads_win.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (available_qp != -1)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/openssl/crypto/threads_win.c
    constantsTouched: []
    func_position:
      end: 261
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 261
    functionName: ossl_rcu_read_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - assert
    - get_hold_current_qp
    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:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    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:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    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:275,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_win.c:279,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/crypto/threads_win.c:285,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (data != NULL)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/openssl/crypto/threads_win.c
    constantsTouched: []
    func_position:
      end: 295
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 295
    functionName: ossl_rcu_read_unlock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - CRYPTO_atomic_add64
    - assert
    - CRYPTO_THREAD_get_local_ex
    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:306,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/threads_win.c:314,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:332,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:334,1
    - Dst: InterlockedExchange
      Src: /src/openssl/crypto/threads_win.c:336,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:339,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/crypto/threads_win.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - lock
    - curr_id
    argTypes:
    - CRYPTO_RCU_LOCK*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 343
    functionName: update_qp
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_lock
    - CRYPTO_THREAD_unlock
    - InterlockedExchange
    - ossl_crypto_condvar_wait
    - CRYPTO_THREAD_write_lock
    - ossl_crypto_condvar_signal
    - ossl_crypto_mutex_unlock
    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:348,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:350,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/crypto/threads_win.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lock
    - qp
    argTypes:
    - CRYPTO_RCU_LOCK*
    - struct rcu_qp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: retire_qp
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_signal
    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:362,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:365,1
    - Dst: update_qp
      Src: /src/openssl/crypto/threads_win.c:367,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/threads_win.c:370,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/threads_win.c:372,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/threads_win.c:376,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:380,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/crypto/threads_win.c:381,1
    - Dst: retire_qp
      Src: /src/openssl/crypto/threads_win.c:383,1
    - Dst: fn
      Src: /src/openssl/crypto/threads_win.c:389,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 395
    functionName: ossl_synchronize_rcu
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_lock
    - retire_qp
    - OPENSSL_free
    - update_qp
    - ossl_crypto_condvar_wait
    - ossl_crypto_condvar_broadcast
    - CRYPTO_atomic_load
    - fn
    - ossl_crypto_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: ossl_rcu_cb_item_new
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_RCU_CB_ITEM
    signature: CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - CRYPTO_RCU_CB_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: ossl_rcu_cb_item_free
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - lock
    - item
    - cb
    - data
    argTypes:
    - CRYPTO_RCU_LOCK*
    - CRYPTO_RCU_CB_ITEM*
    - rcu_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: ossl_rcu_call
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,\n
      \   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: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    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:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    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:435,1
    - Dst: InitializeSRWLock
      Src: /src/openssl/crypto/threads_win.c:439,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:442,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/openssl/crypto/threads_win.c:448,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:449,1
    - Dst: InitializeCriticalSection
      Src: /src/openssl/crypto/threads_win.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 458
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 10
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - InitializeCriticalSectionAndSpinCount
    - InitializeSRWLock
    - InitializeCriticalSection
    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:465,1
    - Dst: EnterCriticalSection
      Src: /src/openssl/crypto/threads_win.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 24
    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:477,1
    - Dst: EnterCriticalSection
      Src: /src/openssl/crypto/threads_win.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 34
    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:492,1
    - Dst: ReleaseSRWLockShared
      Src: /src/openssl/crypto/threads_win.c:494,1
    - Dst: LeaveCriticalSection
      Src: /src/openssl/crypto/threads_win.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 55
    functionsReached:
    - LeaveCriticalSection
    - ReleaseSRWLockShared
    - 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:508,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 513
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 15
    functionsReached:
    - DeleteCriticalSection
    - OPENSSL_free
    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:532,1
    - Dst: init
      Src: /src/openssl/crypto/threads_win.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - once
    argTypes:
    - CRYPTO_ONCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 541
    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:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    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:570,1
    - Dst: TlsGetValue
      Src: /src/openssl/crypto/threads_win.c:571,1
    - Dst: SetLastError
      Src: /src/openssl/crypto/threads_win.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 574
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 8
    functionsReached:
    - SetLastError
    - TlsGetValue
    - GetLastError
    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:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 6
    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:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 3
    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:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    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: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    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: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:605,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:606,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:611,1
    - Dst: InterlockedExchangeAdd
      Src: /src/openssl/crypto/threads_win.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 620
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 3
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - OPENSSL_assert
    - CRYPTO_THREAD_unlock
    - InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:626,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:627,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:632,1
    - Dst: InterlockedAdd64
      Src: /src/openssl/crypto/threads_win.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 640
    functionName: CRYPTO_atomic_add64
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 2
    functionsReached:
    - InterlockedAdd64
    - CRYPTO_THREAD_write_lock
    - OPENSSL_assert
    - 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: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:646,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:647,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:652,1
    - Dst: InterlockedAnd64
      Src: /src/openssl/crypto/threads_win.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 660
    functionName: CRYPTO_atomic_and
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - OPENSSL_assert
    - CRYPTO_THREAD_unlock
    - InterlockedAnd64
    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: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:666,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:667,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:672,1
    - Dst: InterlockedOr64
      Src: /src/openssl/crypto/threads_win.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 680
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - OPENSSL_assert
    - CRYPTO_THREAD_unlock
    - InterlockedOr64
    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: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:685,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:686,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:689,1
    - Dst: InterlockedOr64
      Src: /src/openssl/crypto/threads_win.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 697
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_unlock
    - OPENSSL_assert
    - CRYPTO_THREAD_read_lock
    - InterlockedOr64
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:702,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:703,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:706,1
    - Dst: InterlockedExchange64
      Src: /src/openssl/crypto/threads_win.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 714
    functionName: CRYPTO_atomic_store
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedExchange64
    - CRYPTO_THREAD_unlock
    - OPENSSL_assert
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK
      *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:719,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:720,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:723,1
    - Dst: InterlockedOr
      Src: /src/openssl/crypto/threads_win.c:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 732
    functionName: CRYPTO_atomic_load_int
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    - OPENSSL_assert
    - CRYPTO_THREAD_read_lock
    - InterlockedOr
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:737,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:738,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:741,1
    - Dst: InterlockedExchange
      Src: /src/openssl/crypto/threads_win.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - int*
    - int
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 749
    functionName: CRYPTO_atomic_store_int
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedExchange
    - CRYPTO_THREAD_unlock
    - OPENSSL_assert
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store_int(int *dst, int val, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/openssl/crypto/threads_win.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ret
    - lock
    argTypes:
    - void**
    - void**
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: CRYPTO_atomic_load_ptr
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_ptr(void **ptr, void **ret, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangePointer
      Src: /src/openssl/crypto/threads_win.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - void**
    - void**
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: CRYPTO_atomic_store_ptr
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedExchangePointer
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store_ptr(void **dst, void **val, CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchangePointer
      Src: /src/openssl/crypto/threads_win.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - expect
    - desire
    - lock
    argTypes:
    - void**
    - void**
    - void*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: CRYPTO_atomic_cmp_exch_ptr
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedCompareExchangePointer
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_cmp_exch_ptr(void **ptr, void **expect, void *desire,
      CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    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: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    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_BLD_push_utf8_string
    - OSSL_PARAM_set_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_set_octet_string
    - OSSL_PARAM_BLD_push_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: 5
    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:82,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/param_build_set.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - bld
    - p
    - key
    - bn
    - sz
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - BIGNUM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: ossl_param_build_set_bn_pad
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - OSSL_PARAM_BLD_push_BN_pad
    - OSSL_PARAM_set_BN
    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:95,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:97,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/param_build_set.c:99,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: 101
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ossl_param_build_set_bn
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_BLD_push_BN
    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:107,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/param_build_set.c:113,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/param_build_set.c:114,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/param_build_set.c:121,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:122,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/param_build_set.c:124,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: 129
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: ossl_param_build_set_multi_key_bn
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - sk_BIGNUM_const_value
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_BLD_push_BN
    - 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:
    - sa_doall
    - OPENSSL_free
    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:
    - sa_doall
    - OPENSSL_free
    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: 61
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 61
    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: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    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: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    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:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    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:102,1
    - Dst: close
      Src: /src/openssl/crypto/s390xcap.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: OPENSSL_s390x_cleanup
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 1
    functionsReached:
    - close
    - visibility
    linkageType: ''
    returnType: void
    signature: void OPENSSL_s390x_cleanup(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/openssl/crypto/s390xcap.c:114,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:125,1
    - Dst: getauxval
      Src: /src/openssl/crypto/s390xcap.c:129,1
    - Dst: OPENSSL_s390x_facilities
      Src: /src/openssl/crypto/s390xcap.c:133,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:137,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:138,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:139,1
    - Dst: memset
      Src: /src/openssl/crypto/s390xcap.c:147,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/s390xcap.c:149,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/s390xcap.c:150,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/s390xcap.c:151,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/s390xcap.c:152,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/s390xcap.c:154,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:155,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:156,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/s390xcap.c:159,1
    - Dst: OPENSSL_s390x_facilities
      Src: /src/openssl/crypto/s390xcap.c:160,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:163,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/s390xcap.c:164,1
    - Dst: OPENSSL_vx_probe
      Src: /src/openssl/crypto/s390xcap.c:165,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:167,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:168,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:169,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:172,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:173,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/s390xcap.c:174,1
    - Dst: getenv
      Src: /src/openssl/crypto/s390xcap.c:178,1
    - Dst: parse_env
      Src: /src/openssl/crypto/s390xcap.c:180,1
    - Dst: OPENSSL_s390x_functions
      Src: /src/openssl/crypto/s390xcap.c:190,1
    - Dst: open
      Src: /src/openssl/crypto/s390xcap.c:223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 227
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 2
    functionsReached:
    - open
    - sigfillset
    - sigsetjmp
    - S390X_CAPBIT
    - getenv
    - OPENSSL_s390x_functions
    - memset
    - parse_env
    - getauxval
    - sigdelset
    - OPENSSL_vx_probe
    - OPENSSL_s390x_facilities
    - visibility
    - sigprocmask
    - sigaction
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:262,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:264,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:265,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:267,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:272,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:274,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:299,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:301,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:302,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:304,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:305,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:307,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:326,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:331,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:336,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:341,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:342,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:343,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:344,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:346,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:362,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: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:372,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:377,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:378,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:379,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:384,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:389,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:394,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:399,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:404,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:405,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:406,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:407,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:411,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:421,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: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:431,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:436,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:437,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:438,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:443,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:448,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:453,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:458,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:463,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:464,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:465,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:466,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:470,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:482,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: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:492,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:497,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:498,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:499,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:504,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:509,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:514,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:519,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:524,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:527,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:529,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:530,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:533,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:548,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: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:570,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:575,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:576,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:577,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:582,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:587,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:592,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:597,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:602,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: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:610,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:611,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:612,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:613,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:615,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:631,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: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:653,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:658,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:659,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:660,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:665,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:670,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:675,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:680,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:685,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: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:693,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: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:713,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:714,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:715,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:716,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:737,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: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:759,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: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:772,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: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:785,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:790,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:795,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: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:803,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: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: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:823,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:824,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:825,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:826,1
    - Dst: malloc
      Src: /src/openssl/crypto/s390xcap.c:835,1
    - Dst: strlen
      Src: /src/openssl/crypto/s390xcap.c:835,1
    - Dst: memset
      Src: /src/openssl/crypto/s390xcap.c:840,1
    - Dst: strcpy
      Src: /src/openssl/crypto/s390xcap.c:841,1
    - Dst: strspn
      Src: /src/openssl/crypto/s390xcap.c:843,1
    - Dst: strtok
      Src: /src/openssl/crypto/s390xcap.c:844,1
    - Dst: strtok
      Src: /src/openssl/crypto/s390xcap.c:845,1
    - Dst: sscanf
      Src: /src/openssl/crypto/s390xcap.c:850,1
    - Dst: STR
      Src: /src/openssl/crypto/s390xcap.c:851,1
    - Dst: STR
      Src: /src/openssl/crypto/s390xcap.c:852,1
    - Dst: sscanf
      Src: /src/openssl/crypto/s390xcap.c:856,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_FUNC
      Src: /src/openssl/crypto/s390xcap.c:869,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:870,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:871,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:872,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:873,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:874,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:875,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
      Src: /src/openssl/crypto/s390xcap.c:880,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:881,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:882,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:883,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:884,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:885,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:886,1
    - Dst: TOK_CPU_ALIAS
      Src: /src/openssl/crypto/s390xcap.c:887,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:888,1
    - Dst: sscanf
      Src: /src/openssl/crypto/s390xcap.c:891,1
    - Dst: STR
      Src: /src/openssl/crypto/s390xcap.c:891,1
    - Dst: strcmp
      Src: /src/openssl/crypto/s390xcap.c:893,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/s390xcap.c:900,1
    - Dst: strtok
      Src: /src/openssl/crypto/s390xcap.c:908,1
    - Dst: free
      Src: /src/openssl/crypto/s390xcap.c:913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - cap
    - cex
    argTypes:
    - struct OPENSSL_s390xcap_st*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 915
    functionName: parse_env
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 2
    functionsReached:
    - TOK_CPU
    - S390X_CAPBIT
    - strspn
    - sscanf
    - STR
    - TOK_CPU_ALIAS
    - strcmp
    - memset
    - free
    - ossl_isspace
    - strcpy
    - TOK_FUNC
    - strlen
    - malloc
    - strtok
    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:
    - getegid
    - getuid
    - geteuid
    - getauxval
    - getgid
    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:
    - ERR_raise_data
    - get_last_sys_error
    - GetSystemTime
    - SystemTimeToFileTime
    - gettimeofday
    - ossl_time_zero
    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_allocate_bytes
    - ossl_encode_der_length
    - WPACKET_put_bytes_u8
    - BN_num_bits
    - BN_bn2binpad
    - WPACKET_close
    - WPACKET_start_sub_packet
    - BN_is_negative
    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_is_null_buf
    - WPACKET_init_null
    - WPACKET_cleanup
    - ossl_encode_der_length
    - WPACKET_put_bytes_u8
    - ossl_encode_der_integer
    - WPACKET_finish
    - WPACKET_get_length
    - WPACKET_close
    - WPACKET_start_sub_packet
    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_length_prefixed_2
    - PACKET_get_length_prefixed_1
    - PACKET_get_sub_packet
    - 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: 217
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 217
    functionName: ossl_decode_der_integer
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - BN_bin2bn
    - PACKET_data
    - PACKET_get_1
    - ossl_decode_der_length
    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:241,1
    - Dst: PACKET_get_1
      Src: /src/openssl/crypto/asn1_dsa.c:242,1
    - Dst: ossl_decode_der_length
      Src: /src/openssl/crypto/asn1_dsa.c:244,1
    - Dst: ossl_decode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:245,1
    - Dst: ossl_decode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:246,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/asn1_dsa.c:247,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/asn1_dsa.c:250,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: 253
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: ossl_decode_der_dsa_sig
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - ossl_decode_der_integer
    - PACKET_data
    - PACKET_get_1
    - ossl_decode_der_length
    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:182,1
    - Dst: memmove
      Src: /src/openssl/crypto/punycode.c:191,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: 200
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 200
    functionName: ossl_punycode_decode
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached:
    - is_basic
    - digit_decoded
    - 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: 243
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 243
    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:267,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/punycode.c:270,1
    - Dst: strchr
      Src: /src/openssl/crypto/punycode.c:274,1
    - Dst: strlen
      Src: /src/openssl/crypto/punycode.c:275,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/punycode.c:277,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/punycode.c:278,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/crypto/punycode.c:283,1
    - Dst: codepoint2utf8
      Src: /src/openssl/crypto/punycode.c:290,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/punycode.c:297,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/punycode.c:305,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/punycode.c:311,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/punycode.c:314,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - outlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 316
    functionName: ossl_a2ulabel
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached:
    - strchr
    - WPACKET_memcpy
    - WPACKET_cleanup
    - codepoint2utf8
    - WPACKET_put_bytes_u8
    - ossl_punycode_decode
    - strlen
    - ossl_assert
    - 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:
    - BIO_get_data
    - OPENSSL_free
    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:148,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/trace.c:154,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/trace.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 158
    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:167,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/trace.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: OSSL_trace_get_category_num
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:
    - OPENSSL_strdup
    - RUN_ONCE
    - OPENSSL_free
    - BIO_free
    - detach_cb
    - attach_cb
    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:406,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/trace.c:413,1
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:416,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/trace.c:423,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/trace.c:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - category
    - callback
    - data
    argTypes:
    - int
    - OSSL_trace_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 428
    functionName: OSSL_trace_set_callback
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - set_trace_data
    - OPENSSL_zalloc
    - BIO_new
    - OPENSSL_free
    - BIO_free
    - BIO_set_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:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - category
    - prefix
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 438
    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:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - category
    - suffix
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 448
    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: 458
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 458
    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:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 470
    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:478,1
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/crypto/trace.c:479,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/trace.c:486,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:492,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:493,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/trace.c:497,1
    - Dst: strlen
      Src: /src/openssl/crypto/trace.c:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 504
    functionName: OSSL_trace_begin
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_puts
    - OSSL_trace_enabled
    - ossl_trace_get_category
    - CRYPTO_THREAD_write_lock
    - 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:511,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/trace.c:516,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/trace.c:517,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:521,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:522,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/trace.c:526,1
    - Dst: strlen
      Src: /src/openssl/crypto/trace.c:527,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/trace.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - category
    - channel
    argTypes:
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 534
    functionName: OSSL_trace_end
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_puts
    - CRYPTO_THREAD_unlock
    - ossl_trace_get_category
    - BIO_flush
    - strlen
    - ossl_assert
    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:543,1
    - Dst: ossl_iscntrl
      Src: /src/openssl/crypto/trace.c:551,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: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 559
    functionName: OSSL_trace_string
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - ossl_iscntrl
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int OSSL_trace_string(BIO *out, int text, int full,\n    const unsigned
      char *data, size_t size)"
  - 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_unlikely
    - CRYPTO_malloc
    - ossl_size_mul
    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_unlikely
    - CRYPTO_zalloc
    - ossl_size_mul
    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_unlikely
    - CRYPTO_aligned_alloc
    - ossl_size_mul
    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_unlikely
    - CRYPTO_realloc
    - ossl_size_mul
    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_unlikely
    - CRYPTO_clear_realloc
    - ossl_size_mul
    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_unlikely
    - CRYPTO_secure_malloc
    - ossl_size_mul
    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_unlikely
    - CRYPTO_secure_zalloc
    - ossl_size_mul
    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:62,1
    - Dst: ossl_get_openssldir
      Src: /src/openssl/crypto/cversion.c:63,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cversion.c:64,1
    - Dst: ossl_get_modulesdir
      Src: /src/openssl/crypto/cversion.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached:
    - ossl_get_modulesdir
    - BIO_snprintf
    - ossl_get_openssldir
    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: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: TOSTR
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTR(x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/cversion.c:78,1
    - Dst: OPENSSL_info
      Src: /src/openssl/crypto/cversion.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 128
    functionName: OpenSSL_version
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - OPENSSL_info
    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_zalloc
    - CRYPTO_THREAD_lock_new
    - OPENSSL_free
    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:
    - OPENSSL_free
    - OSSL_TRACE
    - CRYPTO_THREAD_lock_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_PROVIDER_add_conf_parameter
    - sk_OPENSSL_CSTRING_pop
    - sk_OPENSSL_CSTRING_value
    - NCONF_get_section
    - sk_OPENSSL_CSTRING_push
    - OSSL_TRACE1
    - ossl_provider_info_add_parameter
    - OPENSSL_strlcat
    - OSSL_TRACE2
    - ERR_raise
    - sk_OPENSSL_CSTRING_num
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - provider_conf_params_internal
    - STACK_OF
    - strlen
    - OPENSSL_strlcpy
    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:
    - provider_conf_params_internal
    - sk_OPENSSL_CSTRING_new_null
    - STACK_OF
    - sk_OPENSSL_CSTRING_free
    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:
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_num
    - strcmp
    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_push
    - ossl_provider_disable_fallback_loading
    - CRYPTO_THREAD_unlock
    - ossl_lib_ctx_get_data
    - ossl_provider_new
    - ossl_provider_activate
    - ossl_provider_add_to_store
    - ERR_raise
    - prov_already_activated
    - ossl_provider_free
    - ossl_provider_set_module_path
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_new_null
    - ossl_provider_deactivate
    - provider_conf_params
    - ossl_provider_find
    - ERR_clear_error
    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:
    - OPENSSL_strdup
    - ossl_provider_info_clear
    - NCONF_get_section
    - ERR_raise_data
    - OSSL_TRACE1
    - OSSL_TRACE2
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - memset
    - STACK_OF
    - ossl_provider_info_add_to_store
    - provider_conf_params
    - provider_conf_parse_bool_setting
    - provider_conf_activate
    - skip_dot
    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:
    - NCONF_get_section
    - OSSL_TRACE1
    - CONF_imodule_get_value
    - ERR_raise
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - STACK_OF
    - provider_conf_load
    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: 0
    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:69,1
    - Dst: alloca
      Src: /src/openssl/crypto/cryptlib.c:75,1
    - Dst: GetUserObjectInformationW
      Src: /src/openssl/crypto/cryptlib.c:76,1
    - Dst: wcsstr
      Src: /src/openssl/crypto/cryptlib.c:87,1
    - Dst: wcsstr
      Src: /src/openssl/crypto/cryptlib.c:91,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 96
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - alloca
    - GetProcAddress
    - GetProcessWindowStation
    - GetLastError
    - GetModuleHandle
    - wcsstr
    - GetUserObjectInformationW
    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: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_isservice(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/cryptlib.c:119,1
    - Dst: GetFileType
      Src: /src/openssl/crypto/cryptlib.c:119,1
    - Dst: va_start
      Src: /src/openssl/crypto/cryptlib.c:124,1
    - Dst: _vsnprintf
      Src: /src/openssl/crypto/cryptlib.c:125,1
    - Dst: WriteFile
      Src: /src/openssl/crypto/cryptlib.c:126,1
    - Dst: va_end
      Src: /src/openssl/crypto/cryptlib.c:127,1
    - Dst: strlen
      Src: /src/openssl/crypto/cryptlib.c:137,1
    - Dst: alloca
      Src: /src/openssl/crypto/cryptlib.c:140,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/cryptlib.c:145,1
    - Dst: va_start
      Src: /src/openssl/crypto/cryptlib.c:187,1
    - Dst: _vsntprintf
      Src: /src/openssl/crypto/cryptlib.c:188,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/cryptlib.c:188,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/cryptlib.c:189,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:189,1
    - Dst: va_end
      Src: /src/openssl/crypto/cryptlib.c:190,1
    - Dst: OutputDebugString
      Src: /src/openssl/crypto/cryptlib.c:202,1
    - Dst: check_winnt
      Src: /src/openssl/crypto/cryptlib.c:206,1
    - Dst: OPENSSL_isservice
      Src: /src/openssl/crypto/cryptlib.c:206,1
    - Dst: RegisterEventSource
      Src: /src/openssl/crypto/cryptlib.c:207,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:207,1
    - Dst: ReportEvent
      Src: /src/openssl/crypto/cryptlib.c:212,1
    - Dst: OutputDebugString
      Src: /src/openssl/crypto/cryptlib.c:221,1
    - Dst: DeregisterEventSource
      Src: /src/openssl/crypto/cryptlib.c:225,1
    - Dst: MessageBox
      Src: /src/openssl/crypto/cryptlib.c:228,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:228,1
    - Dst: MessageBox
      Src: /src/openssl/crypto/cryptlib.c:232,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:232,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 1
    argNames:
    - fmta
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 234
    functionName: OPENSSL_showfatal
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - alloca
    - OPENSSL_isservice
    - va_start
    - OutputDebugString
    - _T
    - ReportEvent
    - check_winnt
    - va_end
    - WriteFile
    - MultiByteToWideChar
    - _vsntprintf
    - DeregisterEventSource
    - GetFileType
    - GetStdHandle
    - MessageBox
    - _vsnprintf
    - RegisterEventSource
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: void
    signature: void OPENSSL_showfatal(const char *fmta, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/cryptlib.c:241,1
    - Dst: vfprintf
      Src: /src/openssl/crypto/cryptlib.c:242,1
    - Dst: va_end
      Src: /src/openssl/crypto/cryptlib.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmta
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: OPENSSL_showfatal
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    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: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_isservice(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_showfatal
      Src: /src/openssl/crypto/cryptlib.c:255,1
    - Dst: abort
      Src: /src/openssl/crypto/cryptlib.c:258,1
    - Dst: raise
      Src: /src/openssl/crypto/cryptlib.c:264,1
    - Dst: _exit
      Src: /src/openssl/crypto/cryptlib.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - message
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: OPENSSL_die
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - abort
    - OPENSSL_showfatal
    - _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: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    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: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    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: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    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: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    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:159,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/hashtable/hashtable.c:166,1
    - Dst: memset
      Src: /src/openssl/crypto/hashtable/hashtable.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - len
    - freeptr
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: alloc_new_neighborhood_list
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_aligned_alloc_array
    - memset
    - OPENSSL_malloc_array
    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: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fnv1a_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: internal_ht_hash_fn
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_fnv1a_hash
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t internal_ht_hash_fn(HT_KEY *key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:186,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:195,1
    - Dst: atomic_lock::atomic_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:196,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hashtable/hashtable.c:199,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:199,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:201,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:202,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:202,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:204,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:205,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:205,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:206,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:206,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:207,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:207,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:208,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:208,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:209,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:209,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:210,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:212,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:215,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:216,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:218,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:218,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:219,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:222,1
    - Dst: alloc_new_neighborhood_list
      Src: /src/openssl/crypto/hashtable/hashtable.c:222,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:222,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:223,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:224,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:226,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:226,1
    - Dst: ossl_rcu_lock_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:229,1
    - Dst: lock::lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:230,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:233,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:234,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:240,1
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:241,1
    - Dst: lock::lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:241,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:243,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:244,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:244,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 1
    argNames:
    - conf
    argTypes:
    - HT_CONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 248
    functionName: ossl_ht_new
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_rcu_lock_free
    - OPENSSL_free
    - ossl_rcu_lock_new
    - md::md
    - CRYPTO_THREAD_lock_free
    - atomic_lock::atomic_lock
    - lock::lock
    - CRYPTO_THREAD_lock_new
    - memcpy
    - wpd::wpd
    - alloc_new_neighborhood_list
    - config::config
    linkageType: ''
    returnType: HT
    signature: HT *ossl_ht_new(const HT_CONFIG *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_read_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/crypto/hashtable/hashtable.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/hashtable/hashtable.c:283,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/hashtable/hashtable.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: ossl_ht_write_unlock
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_write_unlock
    - ossl_synchronize_rcu
    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:296,1
    - Dst: struct ht_internal_value_st*::ht::config::ht_free_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:300,1
    - Dst: free_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:301,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: free_oldmd
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - free_value
    - PREFETCH_NEIGHBORHOOD
    - struct ht_internal_value_st*::ht::config::ht_free_fn
    linkageType: ''
    returnType: void
    signature: void free_oldmd(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:316,1
    - Dst: alloc_new_neighborhood_list
      Src: /src/openssl/crypto/hashtable/hashtable.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:323,1
    - Dst: ossl_rcu_cb_item_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:330,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
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:338,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:339,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:350,1
    - Dst: free_oldmd
      Src: /src/openssl/crypto/hashtable/hashtable.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 357
    functionName: ossl_ht_flush_internal
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_rcu_cb_item_new
    - ossl_rcu_assign_ptr
    - ossl_rcu_call
    - ossl_rcu_deref
    - free_oldmd
    - alloc_new_neighborhood_list
    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:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 362
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_oldmd
      Src: /src/openssl/crypto/hashtable/hashtable.c:372,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:374,1
    - Dst: ossl_ht_flush_internal
      Src: /src/openssl/crypto/hashtable/hashtable.c:375,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/crypto/hashtable/hashtable.c:376,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:378,1
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:379,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:381,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:382,1
    - Dst: free_oldmd
      Src: /src/openssl/crypto/hashtable/hashtable.c:384,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: ossl_ht_free
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - ossl_ht_write_lock
    - ossl_rcu_lock_free
    - ossl_ht_write_unlock
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - free_oldmd
    - ossl_ht_flush_internal
    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: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    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:404,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:406,1
    - Dst: cb
      Src: /src/openssl/crypto/hashtable/hashtable.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - h
    - arg
    argTypes:
    - HT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: ossl_ht_foreach_until
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_deref
    - PREFETCH_NEIGHBORHOOD
    - 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:423,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:437,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:439,1
    - Dst: filter
      Src: /src/openssl/crypto/hashtable/hashtable.c:442,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - h
    - max_len
    - arg
    argTypes:
    - HT*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 451
    functionName: ossl_ht_filter
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - filter
    - OPENSSL_zalloc
    - ossl_rcu_deref
    - PREFETCH_NEIGHBORHOOD
    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:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - HT_VALUE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    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: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    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:467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 469
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:478,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:490,1
    - Dst: alloc_new_neighborhood_list
      Src: /src/openssl/crypto/hashtable/hashtable.c:494,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:508,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:526,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:527,1
    - Dst: grow_hashtable
      Src: /src/openssl/crypto/hashtable/hashtable.c:528,1
    - Dst: ossl_rcu_cb_item_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:537,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:552,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:553,1
    - Dst: free_old_neigh_table
      Src: /src/openssl/crypto/hashtable/hashtable.c:557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:567,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:568,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - h
    - oldsize
    argTypes:
    - HT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 570
    functionName: grow_hashtable
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - grow_hashtable
    - OPENSSL_zalloc
    - OPENSSL_free
    - PREFETCH_NEIGHBORHOOD
    - ossl_rcu_cb_item_new
    - ossl_rcu_assign_ptr
    - ossl_rcu_call
    - ossl_rcu_deref
    - free_old_neigh_table
    - alloc_new_neighborhood_list
    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:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 583
    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:591,1
    - Dst: PREFETCH
      Src: /src/openssl/crypto/hashtable/hashtable.c:592,1
    - Dst: memcmp
      Src: /src/openssl/crypto/hashtable/hashtable.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HT_KEY*
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: match_key
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - PREFETCH
    - memcmp
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline match_key(HT_KEY *a, HT_KEY *b)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:613,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:617,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/hashtable/hashtable.c:628,1
    - Dst: compare_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:634,1
    - Dst: match_key
      Src: /src/openssl/crypto/hashtable/hashtable.c:634,1
    - Dst: ossl_rcu_cb_item_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:641,1
    - Dst: CRYPTO_atomic_store
      Src: /src/openssl/crypto/hashtable/hashtable.c:644,1
    - Dst: ossl_rcu_cb_item_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:646,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:650,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:652,1
    - Dst: CRYPTO_atomic_store
      Src: /src/openssl/crypto/hashtable/hashtable.c:673,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:676,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - h
    - hash
    - newval
    - olddata
    argTypes:
    - HT*
    - uint64_t
    - struct ht_internal_value_st*
    - HT_VALUE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 684
    functionName: ossl_ht_insert_locked
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_cb_item_free
    - CRYPTO_atomic_store
    - compare_hash
    - PREFETCH_NEIGHBORHOOD
    - ossl_rcu_cb_item_new
    - ossl_rcu_assign_ptr
    - ossl_rcu_call
    - ossl_rcu_deref
    - CRYPTO_atomic_load
    - match_key
    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:696,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hashtable/hashtable.c:708,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: 712
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 712
    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:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct ht_internal_value_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:730,1
    - Dst: HT*::config::ht_hash_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:737,1
    - Dst: ossl_ht_insert_locked
      Src: /src/openssl/crypto/hashtable/hashtable.c:744,1
    - Dst: grow_hashtable
      Src: /src/openssl/crypto/hashtable/hashtable.c:747,1
    - Dst: free_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:753,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - h
    - key
    - data
    - olddata
    argTypes:
    - HT*
    - HT_KEY*
    - HT_VALUE*
    - HT_VALUE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 719
    functionDepth: 3
    functionLinenumber: 719
    functionLinenumberEnd: 757
    functionName: ossl_ht_insert
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - grow_hashtable
    - HT*::config::ht_hash_fn
    - free_value
    - ossl_ht_insert_locked
    - alloc_new_value
    linkageType: ''
    returnType: int
    signature: int ossl_ht_insert(HT *h, HT_KEY *key, HT_VALUE *data, HT_VALUE **olddata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HT*::config::ht_hash_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:773,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:776,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:781,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:784,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/hashtable/hashtable.c:794,1
    - Dst: compare_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:800,1
    - Dst: match_key
      Src: /src/openssl/crypto/hashtable/hashtable.c:800,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - h
    - key
    argTypes:
    - HT*
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 810
    functionName: ossl_ht_get
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - compare_hash
    - HT*::config::ht_hash_fn
    - PREFETCH_NEIGHBORHOOD
    - ossl_rcu_deref
    - CRYPTO_atomic_load
    - 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:816,1
    - Dst: free_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 818
    functionName: free_old_entry
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - free_value
    - struct ht_internal_value_st*::ht::config::ht_free_fn
    linkageType: ''
    returnType: void
    signature: void free_old_entry(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HT*::config::ht_hash_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:835,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:838,1
    - Dst: compare_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:843,1
    - Dst: match_key
      Src: /src/openssl/crypto/hashtable/hashtable.c:844,1
    - Dst: ossl_rcu_cb_item_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:846,1
    - Dst: CRYPTO_atomic_store
      Src: /src/openssl/crypto/hashtable/hashtable.c:849,1
    - Dst: ossl_rcu_cb_item_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:851,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:854,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:855,1
    - Dst: free_old_entry
      Src: /src/openssl/crypto/hashtable/hashtable.c:859,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - h
    - key
    argTypes:
    - HT*
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 869
    functionName: ossl_ht_delete
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_cb_item_free
    - CRYPTO_atomic_store
    - compare_hash
    - ossl_rcu_cb_item_new
    - PREFETCH_NEIGHBORHOOD
    - HT*::config::ht_hash_fn
    - ossl_rcu_assign_ptr
    - ossl_rcu_call
    - free_old_entry
    - match_key
    linkageType: ''
    returnType: int
    signature: int ossl_ht_delete(HT *h, HT_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - val
    argTypes:
    - HT*
    - HT_VALUE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 881
    functionName: ossl_ht_deref_value
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_deref
    linkageType: ''
    returnType: HT_VALUE
    signature: HT_VALUE *ossl_ht_deref_value(HT *h, HT_VALUE **val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - h
    - v
    argTypes:
    - HT*
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 895
    functionName: ossl_ht_inner_value
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *ossl_ht_inner_value(HT *h, HT_VALUE *v)
  - 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: 1
    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:61,1
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:62,1
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:63,1
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - RC4_KEY*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 66
    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: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: SK_LOOP
    functionSourceFile: /src/openssl/crypto/rc4/rc4_skey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SK_LOOP(d, n)
  - BBCount: 10
    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: 19
    EdgeCount: 19
    ICount: 48
    argCount: 4
    argNames:
    - key
    - len
    - indata
    - outdata
    argTypes:
    - RC4_KEY*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 90
    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:101,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: 0
    functionLinenumber: 150
    functionLinenumberEnd: 212
    functionName: CRYPTO_ctr128_encrypt_ctr32
    functionSourceFile: /src/openssl/crypto/modes/ctr128.c
    functionUses: 0
    functionsReached:
    - GETU32
    - memset
    - PUTU32
    - 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:
    - memmove
    - memcpy
    - block
    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:
    - memmove
    - memcpy
    - block
    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_memcmp
    - OPENSSL_cleanse
    - crypto_128_unwrap_raw
    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:209,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:211,1
    - Dst: memmove
      Src: /src/openssl/crypto/modes/wrap128.c:224,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:225,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/wrap128.c:226,1
    - Dst: block
      Src: /src/openssl/crypto/modes/wrap128.c:227,1
    - Dst: memmove
      Src: /src/openssl/crypto/modes/wrap128.c:230,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/wrap128.c:231,1
    - Dst: CRYPTO_128_wrap
      Src: /src/openssl/crypto/modes/wrap128.c:232,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: 236
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 236
    functionName: CRYPTO_128_wrap_pad
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - CRYPTO_128_wrap
    - memcpy
    - block
    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:281,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:282,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:284,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:286,1
    - Dst: crypto_128_unwrap_raw
      Src: /src/openssl/crypto/modes/wrap128.c:289,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:291,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:301,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:302,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:303,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:317,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:326,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:327,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: 333
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 333
    functionName: CRYPTO_128_unwrap_pad
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - OPENSSL_cleanse
    - memcpy
    - crypto_128_unwrap_raw
    - block
    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:
    - ctr64_inc
    - U64
    - memcpy
    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:
    - ctr64_inc
    - memcpy
    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:71,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: 72
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 72
    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:116,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: 168
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 168
    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[]
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 158
    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 uint64_t H[2])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:215,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:216,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:221,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:223,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:225,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - Xi
    - Htable
    argTypes:
    - uint64_t[]
    - u128[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 233
    functionName: gcm_gmult_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP8
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void gcm_gmult_4bit(uint64_t Xi[2], const u128 Htable[16])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:298,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:299,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:304,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:306,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:308,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 4
    argNames:
    - Xi
    - Htable
    - inp
    - len
    argTypes:
    - uint64_t[]
    - u128[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 321
    functionName: gcm_ghash_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP8
    - PUTU32
    linkageType: ''
    returnType: void
    signature: "void gcm_ghash_4bit(uint64_t Xi[2], const u128 Htable[16],\n    const
      uint8_t *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: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    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: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    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:528,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/modes/gcm128.c:528,1
    - Dst: RISCV_HAS_ZVKB
      Src: /src/openssl/crypto/modes/gcm128.c:529,1
    - Dst: RISCV_HAS_ZVKB
      Src: /src/openssl/crypto/modes/gcm128.c:535,1
    - Dst: RISCV_HAS_ZVBC
      Src: /src/openssl/crypto/modes/gcm128.c:535,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/modes/gcm128.c:535,1
    - Dst: RISCV_HAS_ZBC
      Src: /src/openssl/crypto/modes/gcm128.c:539,1
    - Dst: RISCV_HAS_ZBKB
      Src: /src/openssl/crypto/modes/gcm128.c:540,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/modes/gcm128.c:544,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 96
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct gcm_funcs_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 561
    functionName: gcm_get_funcs
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - RISCV_HAS_ZBC
    - RISCV_HAS_ZVBC
    - RISCV_HAS_ZBB
    - RISCV_HAS_ZVKB
    - RISCV_HAS_ZVKG
    - riscv_vlen
    - 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:567,1
    - Dst: struct gcm_funcs_st::ginit
      Src: /src/openssl/crypto/modes/gcm128.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Htable
    - H
    argTypes:
    - u128[]
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: ossl_gcm_init_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - gcm_get_funcs
    - struct gcm_funcs_st::ginit
    linkageType: ''
    returnType: void
    signature: void ossl_gcm_init_4bit(u128 Htable[16], const uint64_t H[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:575,1
    - Dst: struct gcm_funcs_st::gmult
      Src: /src/openssl/crypto/modes/gcm128.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Xi
    - Htable
    argTypes:
    - uint64_t[]
    - u128[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: ossl_gcm_gmult_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - gcm_get_funcs
    - struct gcm_funcs_st::gmult
    linkageType: ''
    returnType: void
    signature: void ossl_gcm_gmult_4bit(uint64_t Xi[2], const u128 Htable[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:586,1
    - Dst: struct gcm_funcs_st::ghash
      Src: /src/openssl/crypto/modes/gcm128.c:588,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:592,1
    - Dst: struct gcm_funcs_st::gmult
      Src: /src/openssl/crypto/modes/gcm128.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - Xi
    - Htable
    - inp
    - len
    argTypes:
    - uint64_t[]
    - u128[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 598
    functionName: ossl_gcm_ghash_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - gcm_get_funcs
    - memcpy
    - struct gcm_funcs_st::gmult
    - struct gcm_funcs_st::ghash
    linkageType: ''
    returnType: void
    signature: "void ossl_gcm_ghash_4bit(uint64_t Xi[2], const u128 Htable[16],\n
      \   const uint8_t *inp, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/gcm128.c:604,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:613,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:614,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:618,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:618,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:619,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:619,1
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:625,1
    - Dst: GCM128_CONTEXT*::funcs::ginit
      Src: /src/openssl/crypto/modes/gcm128.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - key
    - block
    argTypes:
    - GCM128_CONTEXT*
    - void*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 627
    functionName: CRYPTO_gcm128_init
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - gcm_get_funcs
    - GETU32
    - memset
    - BSWAP8
    - GCM128_CONTEXT*::funcs::ginit
    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:641,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:658,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:665,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:670,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:685,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:689,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:691,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:708,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:710,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: 714
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 714
    functionName: CRYPTO_gcm128_setiv
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP4
    - GETU32
    - PUTU32
    - GCM_MUL
    - BSWAP8
    - memcpy
    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:727,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:739,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:747,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:755,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: 768
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 768
    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:782,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:792,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:796,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:801,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:808,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:810,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:827,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:840,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:854,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:869,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:871,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:881,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:896,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:898,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:908,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:919,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:921,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:927,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:938,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:940,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:969,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:971,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:980,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:987,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: 993
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 993
    functionName: CRYPTO_gcm128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP4
    - GETU32
    - GHASH
    - PUTU32
    - GCM_MUL
    - U64
    - memcpy
    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:1007,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1017,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1021,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1026,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1033,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1035,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1052,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1067,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1081,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1088,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1097,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1099,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1113,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1122,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1124,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1144,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1146,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1155,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1166,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1168,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1200,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1202,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1211,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1220,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: 1226
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1226
    functionName: CRYPTO_gcm128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP4
    - GETU32
    - GHASH
    - PUTU32
    - GCM_MUL
    - U64
    - memcpy
    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:1233,1
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:1242,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1252,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1256,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1261,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1268,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1270,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1284,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1297,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1307,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1316,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1318,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1322,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1336,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1338,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1345,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1351,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1361,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1363,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: 1380
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1380
    functionName: CRYPTO_gcm128_encrypt_ctr32
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_encrypt
    - BSWAP4
    - GETU32
    - GHASH
    - PUTU32
    - GCM_MUL
    - U64
    - memcpy
    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:1387,1
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:1396,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1406,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1410,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1415,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1422,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1424,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1438,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1453,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1463,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1468,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1473,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1475,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1489,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1495,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1505,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1507,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1520,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1522,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: 1541
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1541
    functionName: CRYPTO_gcm128_decrypt_ctr32
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP4
    - GETU32
    - GHASH
    - CRYPTO_gcm128_decrypt
    - PUTU32
    - GCM_MUL
    - U64
    - memcpy
    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:1557,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1560,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1564,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1568,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:1573,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:1574,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1581,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1581,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1582,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1582,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1589,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1591,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1595,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/gcm128.c:1602,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: 1605
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1605
    functionName: CRYPTO_gcm128_finish
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - GETU32
    - GHASH
    - GCM_MUL
    - memset
    - BSWAP8
    - memcpy
    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:1609,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1610,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: 1612
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1612
    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:1618,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/modes/gcm128.c:1619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - block
    argTypes:
    - void*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1622
    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:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GCM128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1627
    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:
    - uint64_t
    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: uint32_t
    signature: uint32_t ocb_ntz(uint64_t 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:
    - CRYPTO_ocb128_init
    - OPENSSL_malloc
    - OPENSSL_free
    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
    - OCB128_CONTEXT*::encrypt
    - memset
    - OPENSSL_malloc_array
    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: 257
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 257
    functionName: CRYPTO_ocb128_setiv
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_block_lshift
    - memcpy
    - memset
    - ocb_block_xor
    - 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:279,1
    - Dst: ocb_ntz
      Src: /src/openssl/crypto/modes/ocb128.c:279,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:282,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:284,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:288,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:289,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:290,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:301,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:305,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:306,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:308,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:311,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:312,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: 318
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 318
    functionName: CRYPTO_ocb128_aad
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_lookup_l
    - OCB128_CONTEXT*::encrypt
    - ocb_ntz
    - memset
    - memcpy
    - ocb_block16_xor
    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:348,1
    - Dst: OCB128_CONTEXT*::stream
      Src: /src/openssl/crypto/modes/ocb128.c:351,1
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:364,1
    - Dst: ocb_ntz
      Src: /src/openssl/crypto/modes/ocb128.c:364,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:367,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:369,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:373,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:376,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:377,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:378,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:380,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:395,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:398,1
    - Dst: ocb_block_xor
      Src: /src/openssl/crypto/modes/ocb128.c:401,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:404,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:405,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 413
    functionName: CRYPTO_ocb128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_lookup_l
    - OCB128_CONTEXT*::encrypt
    - ocb_ntz
    - OCB128_CONTEXT*::stream
    - ocb_block_xor
    - memset
    - memcpy
    - ocb_block16_xor
    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:443,1
    - Dst: OCB128_CONTEXT*::stream
      Src: /src/openssl/crypto/modes/ocb128.c:446,1
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:459,1
    - Dst: ocb_ntz
      Src: /src/openssl/crypto/modes/ocb128.c:459,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:462,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:464,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:468,1
    - Dst: OCB128_CONTEXT*::decrypt
      Src: /src/openssl/crypto/modes/ocb128.c:469,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:470,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:473,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:475,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:490,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:493,1
    - Dst: ocb_block_xor
      Src: /src/openssl/crypto/modes/ocb128.c:496,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:499,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:500,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 508
    functionName: CRYPTO_ocb128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_lookup_l
    - OCB128_CONTEXT*::decrypt
    - OCB128_CONTEXT*::encrypt
    - ocb_ntz
    - OCB128_CONTEXT*::stream
    - ocb_block_xor
    - memset
    - memcpy
    - ocb_block16_xor
    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:522,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:523,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:524,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:525,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:528,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/ocb128.c:531,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: 533
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 533
    functionName: ocb_finish
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - OCB128_CONTEXT*::encrypt
    - ocb_block16_xor
    - memcpy
    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:541,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: 542
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 542
    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:549,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: 550
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 550
    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:558,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/ocb128.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OCB128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    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: 141
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 141
    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:160,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cfb128.c:174,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: 180
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 180
    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:193,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: 196
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 196
    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:206,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: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    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: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    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:
    - GETU32
    - memcpy
    - BSWAP8
    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_putword
    - siv128_getword
    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_update
    - siv128_dbl
    - siv128_xorblock
    - EVP_MAC_CTX_free
    - memset
    - memcpy
    - EVP_MAC_final
    - EVP_MAC_CTX_dup
    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:134,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/modes/siv128.c:136,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: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: siv128_do_encrypt
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex
    - EVP_EncryptUpdate
    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:149,1
    - Dst: ossl_siv128_init
      Src: /src/openssl/crypto/modes/siv128.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/modes/siv128.c:153,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: 157
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: ossl_siv128_new
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - ossl_siv128_init
    - OPENSSL_malloc
    - OPENSSL_free
    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:175,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:176,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:177,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/modes/siv128.c:178,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/modes/siv128.c:186,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/modes/siv128.c:187,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/modes/siv128.c:189,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/modes/siv128.c:191,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/modes/siv128.c:193,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/crypto/modes/siv128.c:194,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/crypto/modes/siv128.c:195,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/modes/siv128.c:196,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/modes/siv128.c:197,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:198,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:199,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/modes/siv128.c:200,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:202,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:204,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:211,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    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: 217
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 217
    functionName: ossl_siv128_init
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_update
    - EVP_CIPHER_get0_name
    - EVP_MAC_fetch
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_end
    - memset
    - EVP_MAC_CTX_dup
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    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:224,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/modes/siv128.c:226,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/modes/siv128.c:230,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:232,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:233,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/crypto/modes/siv128.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - SIV128_CONTEXT*
    - SIV128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: ossl_siv128_copy_ctx
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_copy
    - EVP_MAC_CTX_free
    - EVP_MAC_up_ref
    - memcpy
    - EVP_MAC_CTX_dup
    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:254,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:256,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:257,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/modes/siv128.c:258,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:261,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:264,1
    - Dst: siv128_xorblock
      Src: /src/openssl/crypto/modes/siv128.c:266,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: 269
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: ossl_siv128_aad
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - siv128_dbl
    - EVP_MAC_CTX_free
    - siv128_xorblock
    - EVP_MAC_final
    - EVP_MAC_CTX_dup
    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:285,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:288,1
    - Dst: siv128_do_encrypt
      Src: /src/openssl/crypto/modes/siv128.c:292,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: 296
      start: 274
    functionDepth: 5
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: ossl_siv128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - siv128_do_s2v_p
    - memcpy
    - siv128_do_encrypt
    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:314,1
    - Dst: siv128_do_encrypt
      Src: /src/openssl/crypto/modes/siv128.c:318,1
    - Dst: siv128_do_s2v_p
      Src: /src/openssl/crypto/modes/siv128.c:319,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/siv128.c:327,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: 332
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 332
    functionName: ossl_siv128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - siv128_do_s2v_p
    - memcpy
    - siv128_do_encrypt
    - 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: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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:351,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: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    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:364,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: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    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:374,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:376,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/modes/siv128.c:378,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/siv128.c:380,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/siv128.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIV128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 386
    functionName: ossl_siv128_cleanup
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - EVP_MAC_CTX_free
    - 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: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    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: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: U8TOU64
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t U8TOU64(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: U64TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U64TO8(unsigned char *p, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:58,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    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:96,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 124
    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
      \   uint32_t padbit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:162,1
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 164
    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 uint32_t
      nonce[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    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: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    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: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    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: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: U8TOU64
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t U8TOU64(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: U64TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U64TO8(unsigned char *p, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:130,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    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:154,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:155,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:176,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 195
    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,
      uint32_t padbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:227,1
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 229
    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 uint32_t
      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: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    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:259,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:260,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:261,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 263
    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:291,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:292,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:293,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:294,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:315,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:316,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:317,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 338
    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,
      uint32_t padbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:380,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:381,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:382,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 384
    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 uint32_t
      nonce[4])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:396,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:397,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:398,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:399,1
    - Dst: poly1305_init
      Src: /src/openssl/crypto/poly1305/poly1305.c:402,1
    - Dst: poly1305_init
      Src: /src/openssl/crypto/poly1305/poly1305.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - POLY1305*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 417
    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:444,1
    - Dst: poly1305_blocks
      Src: /src/openssl/crypto/poly1305/poly1305.c:445,1
    - Dst: memcpy
      Src: /src/openssl/crypto/poly1305/poly1305.c:450,1
    - Dst: poly1305_blocks
      Src: /src/openssl/crypto/poly1305/poly1305.c:460,1
    - Dst: memcpy
      Src: /src/openssl/crypto/poly1305/poly1305.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - POLY1305*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 468
    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:482,1
    - Dst: poly1305_emit
      Src: /src/openssl/crypto/poly1305/poly1305.c:485,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/poly1305/poly1305.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - POLY1305*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: Poly1305_Final
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - poly1305_blocks
    - 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: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    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: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    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: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    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: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    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: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    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: 82
    functionDepth: 0
    functionLinenumber: 82
    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:177,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:177,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:180,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:180,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:180,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:180,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:183,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:183,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:183,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:183,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: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:189,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:189,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:192,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:192,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:192,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:192,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:195,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:195,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:195,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 215
    functionName: poly1305_init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached:
    - U8TOU32
    - EXP
    - TWO
    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:277,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:278,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:279,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:280,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:288,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:288,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:289,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:289,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:290,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:290,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:291,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:291,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:293,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:294,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:295,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:296,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:307,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:307,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:308,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:308,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:309,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:309,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:310,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:310,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:312,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:313,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:314,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:315,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:329,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:329,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:330,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:330,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:331,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:331,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:332,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:332,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:334,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:334,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:335,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:335,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:376,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:376,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:377,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:377,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:378,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:378,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:379,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:379,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:381,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:381,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:382,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:382,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:402,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:403,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:404,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:405,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: 421
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 421
    functionName: poly1305_blocks
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 2
    functionsReached:
    - U8TOU32
    - EXP
    - TWO
    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:481,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:482,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:483,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 485
    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 uint32_t
      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: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: CONSTTIME_SECRET_VECTOR
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTTIME_SECRET_VECTOR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: CONSTTIME_DECLASSIFY_VECTOR
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTTIME_DECLASSIFY_VECTOR(v)
  - 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: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    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:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - num_polys
    argTypes:
    - VECTOR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    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:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - num_polys
    argTypes:
    - VECTOR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    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:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - rank
    argTypes:
    - VECTOR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    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:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - va
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    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:86,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:87,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: 85
        line_start: 85
        source_file: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    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:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    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:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    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:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    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:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - va
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    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:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - va
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    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:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - VECTOR*
    - POLY*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    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:159,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: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    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:170,1
    - Dst: poly_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:177,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: 180
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 180
    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:189,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: vector_scale_power2_round_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_scale_power2_round
    - vector_ntt
    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:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - t
    - t1
    - t0
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    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:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - VECTOR*
    - uint32_t
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    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:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - VECTOR*
    - uint32_t
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 223
    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:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 234
    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:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    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: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    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:266,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: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    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:276,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: 277
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 277
    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:
    - WPACKET_allocate_bytes
    - POLY_COEFF_NUM_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:
    - WPACKET_allocate_bytes
    - POLY_COEFF_NUM_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:
    - WPACKET_allocate_bytes
    - POLY_COEFF_NUM_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:
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    - mod_sub
    - value_barrier_32
    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
    - WPACKET_allocate_bytes
    - POLY_COEFF_NUM_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:
    - value_barrier_32
    - PACKET_get_bytes
    - OPENSSL_load_u32_le
    - mod_sub
    - memcpy
    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
    - mod_sub_64
    - OPENSSL_store_u32_le
    - WPACKET_allocate_bytes
    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:
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    - mod_sub
    - OPENSSL_load_u64_le
    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
    - OPENSSL_store_u16_le
    - mod_sub
    - 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:
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    - OPENSSL_load_u16_le
    - mod_sub
    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:
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    - mod_sub
    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_get_total_written
    - OPENSSL_free
    - poly_encode_10_bits
    - WPACKET_finish
    - WPACKET_memcpy
    - WPACKET_init_static_len
    - OPENSSL_malloc
    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:
    - OPENSSL_memdup
    - PACKET_buf_init
    - ossl_ml_dsa_key_pub_alloc
    - poly_decode_10_bits
    - shake_xof
    - PACKET_copy_bytes
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:
    - OPENSSL_secure_malloc
    - poly_encode_signed_two_to_power_12
    - WPACKET_get_total_written
    - OPENSSL_secure_clear_free
    - WPACKET_finish
    - WPACKET_memcpy
    - WPACKET_init_static_len
    - encode_fn
    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:
    - PACKET_remaining
    - OPENSSL_secure_malloc
    - PACKET_buf_init
    - ERR_raise_data
    - decode_fn
    - OPENSSL_secure_clear_free
    - ossl_ml_dsa_key_priv_alloc
    - poly_decode_signed_two_to_power_12
    - PACKET_copy_bytes
    - ossl_ml_dsa_key_public_from_private
    - memcpy
    - memcmp
    - ossl_ml_dsa_key_reset
    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:
    - PACKET_get_bytes
    - vector_zero
    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:
    - hint_bits_encode
    - WPACKET_finish
    - WPACKET_memcpy
    - WPACKET_init_static_len
    - encode_fn
    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:
    - PACKET_remaining
    - PACKET_buf_init
    - hint_bits_decode
    - decode_fn
    - 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
    - WPACKET_init_static_len
    - encode_fn
    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_select_int
    - constant_time_lt
    - mod_sub
    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:
    - ossl_ml_dsa_key_compress_high_bits
    - mod_sub
    - reduce_once
    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:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    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:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    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:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    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:82,1
    - Dst: poly_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:84,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: 86
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 86
    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:92,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: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    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:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - t
    - t1
    - t0
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 114
    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: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    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:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - POLY*
    - uint32_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 132
    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:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - POLY*
    - uint32_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 141
    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:150,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: 153
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 153
    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:161,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: 163
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 163
    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:172,1
    - Dst: maximum
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - mx
    argTypes:
    - POLY*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: poly_max
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - maximum
    - abs_mod_prime
    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:185,1
    - Dst: maximum
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - mx
    argTypes:
    - POLY*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: poly_max_signed
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - maximum
    - abs_signed
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:83,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:84,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:85,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - propq
    argTypes:
    - ML_DSA_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: ossl_ml_dsa_key_fetch_digests
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_fetch_digests(ML_DSA_KEY *key, const char *propq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_params_get
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:102,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:107,1
    - Dst: ossl_ml_dsa_key_fetch_digests
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:112,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - libctx
    - propq
    - evp_type
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: ossl_ml_dsa_key_new
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_ml_dsa_params_get
    - ossl_ml_dsa_key_free
    - ossl_ml_dsa_key_fetch_digests
    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:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    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:135,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:140,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    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:153,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:154,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: ossl_ml_dsa_key_free
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - ossl_ml_dsa_key_reset
    - OPENSSL_free
    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:172,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:173,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:174,1
    - Dst: vector_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:177,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:179,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:182,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: ossl_ml_dsa_key_reset
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 2
    functionsReached:
    - vector_secure_free
    - OPENSSL_free
    - OPENSSL_cleanse
    - OPENSSL_secure_clear_free
    - vector_init
    - vector_free
    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:209,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:217,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:218,1
    - Dst: ossl_ml_dsa_key_pub_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: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:224,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:231,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:233,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:235,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:236,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:237,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:239,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:242,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:245,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:248,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:252,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:253,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:259,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 261
    functionName: ossl_ml_dsa_key_dup
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - OPENSSL_zalloc
    - vector_copy
    - OPENSSL_memdup
    - ossl_ml_dsa_key_free
    - ossl_ml_dsa_key_pub_alloc
    - ossl_ml_dsa_key_priv_alloc
    - memcpy
    - EVP_MD_up_ref
    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:286,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:296,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: 306
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 306
    functionName: ossl_ml_dsa_key_equal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - 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:312,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 320
    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:345,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:349,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:350,1
    - Dst: matrix_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:351,1
    - Dst: matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:354,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:358,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:359,1
    - Dst: matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:361,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:362,1
    - Dst: vector_add
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:363,1
    - Dst: vector_power2_round
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:366,1
    - Dst: vector_zero
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - key
    - md_ctx
    - t1
    - t0
    argTypes:
    - ML_DSA_KEY*
    - EVP_MD_CTX*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 374
    functionName: public_from_private
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - vector_ntt
    - vector_copy
    - OPENSSL_free
    - matrix_mult_vector
    - vector_add
    - vector_zero
    - matrix_init
    - vector_ntt_inverse
    - vector_power2_round
    - vector_init
    - OPENSSL_malloc_array
    - 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:382,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:384,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:385,1
    - Dst: public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:386,1
    - Dst: vector_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:387,1
    - Dst: ossl_ml_dsa_pk_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:388,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:389,1
    - Dst: vector_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:392,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 395
    functionName: ossl_ml_dsa_key_public_from_private
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - public_from_private
    - ossl_ml_dsa_key_pub_alloc
    - ossl_ml_dsa_pk_encode
    - shake_xof
    - vector_alloc
    - vector_equal
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - vector_free
    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:408,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:411,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:415,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:416,1
    - Dst: public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:417,1
    - Dst: vector_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:420,1
    - Dst: vector_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:420,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:422,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 425
    functionName: ossl_ml_dsa_key_pairwise_check
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - public_from_private
    - OPENSSL_free
    - EVP_MD_CTX_free
    - vector_equal
    - EVP_MD_CTX_new
    - vector_init
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_pairwise_check(const ML_DSA_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:447,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:448,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:449,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:453,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:457,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:461,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:462,1
    - Dst: vector_expand_S
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:464,1
    - Dst: public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:465,1
    - Dst: ossl_ml_dsa_pk_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:466,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:467,1
    - Dst: ossl_ml_dsa_sk_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:469,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:472,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:473,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - out
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 435
    functionDepth: 5
    functionLinenumber: 435
    functionLinenumberEnd: 476
    functionName: keygen_internal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - public_from_private
    - OPENSSL_cleanse
    - ossl_ml_dsa_key_pub_alloc
    - ossl_ml_dsa_pk_encode
    - vector_expand_S
    - shake_xof
    - ossl_ml_dsa_key_priv_alloc
    - EVP_MD_CTX_free
    - EVP_MD_CTX_new
    - memcpy
    - ossl_ml_dsa_sk_encode
    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:485,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:487,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:488,1
    - Dst: keygen_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:497,1
    - Dst: keygen_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:499,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:500,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:502,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:503,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - out
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 510
    functionName: ossl_ml_dsa_generate_key
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ERR_raise_data
    - OPENSSL_secure_clear_free
    - RAND_priv_bytes_ex
    - keygen_internal
    - OPENSSL_secure_free
    - memcmp
    - ossl_ml_dsa_key_reset
    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: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    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: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    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: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    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: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    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: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    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: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    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: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    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: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    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: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    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: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    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: constish_time_true
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: reduce_once
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 2
    functionsReached:
    - constish_time_true
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: abs_signed
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 1
    functionsReached:
    - 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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: abs_mod_prime
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 1
    functionsReached:
    - 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:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: maximum
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 2
    functionsReached:
    - 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: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - s
    - t
    argTypes:
    - MATRIX*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    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:48,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: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    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
    - poly_add
    - vector_zero
    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:19,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:20,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:21,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: 22
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 22
    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:28,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:29,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:30,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:31,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: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    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:39,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:40,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:41,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:42,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:43,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: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    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: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    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: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    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:72,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nibble
    - out
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: coeff_from_nibble_4
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached:
    - mod_sub
    - value_barrier_32
    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:91,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:92,1
    - Dst: MOD5
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nibble
    - out
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: coeff_from_nibble_2
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached:
    - MOD5
    - mod_sub
    - value_barrier_32
    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:127,1
    - Dst: coeff_from_three_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:132,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:137,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: 140
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 140
    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:168,1
    - Dst: coef_from_nibble
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:176,1
    - Dst: coef_from_nibble
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:179,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:183,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: 186
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 186
    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:210,1
    - Dst: rej_ntt_poly
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:217,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: 224
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 224
    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:260,1
    - Dst: rej_bounded_poly
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:265,1
    - Dst: rej_bounded_poly
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:271,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: 279
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 279
    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:289,1
    - Dst: ossl_ml_dsa_poly_decode_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:290,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: 291
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 291
    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:320,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:327,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:344,1
    - Dst: poly_zero
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:346,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:356,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:359,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    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: 378
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 378
    functionName: ossl_ml_dsa_poly_sample_in_ball
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 1
    functionsReached:
    - poly_zero
    - shake_xof
    - CONSTTIME_DECLASSIFY
    - EVP_DigestSqueeze
    - mod_sub
    - 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:43,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:44,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: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:76,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:81,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:84,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:94,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:97,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 7
    argNames:
    - shake256_md
    - tr
    - tr_len
    - encode
    - prehash
    - ctx
    - ctx_len
    argTypes:
    - EVP_MD*
    - uint8_t*
    - size_t
    - int
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 107
    functionName: ossl_ml_dsa_mu_init_int
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: "EVP_MD_CTX *ossl_ml_dsa_mu_init_int(EVP_MD *shake256_md,\n    const
      uint8_t *tr, size_t tr_len, int encode, int prehash,\n    const uint8_t *ctx,
      size_t ctx_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_mu_init_int
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key
    - encode
    - ctx
    - ctx_len
    argTypes:
    - ML_DSA_KEY*
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: ossl_ml_dsa_mu_init
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_mu_init_int
    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:128,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: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:142,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:145,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: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: ossl_ml_dsa_mu_finalize
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSqueeze
    - ossl_assert
    - ERR_raise
    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:187,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:198,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:201,1
    - Dst: matrix_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:211,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: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:215,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:217,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:218,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:219,1
    - Dst: signature_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:221,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:230,1
    - Dst: CONSTTIME_SECRET_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:231,1
    - Dst: CONSTTIME_SECRET_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:232,1
    - Dst: CONSTTIME_SECRET_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:233,1
    - Dst: matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:235,1
    - Dst: shake_xof_3
      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:249,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:250,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:251,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:252,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:253,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:254,1
    - Dst: vector_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:266,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:268,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:269,1
    - Dst: matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:271,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:272,1
    - Dst: vector_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:274,1
    - Dst: ossl_ml_dsa_w1_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:275,1
    - Dst: shake_xof_2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:277,1
    - Dst: poly_sample_in_ball_ntt
      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:285,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:286,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:287,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:288,1
    - Dst: vector_add
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:290,1
    - Dst: vector_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:293,1
    - Dst: vector_low_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:294,1
    - Dst: vector_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:304,1
    - Dst: vector_max_signed
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:305,1
    - Dst: constant_time_declassify_u32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:306,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:307,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:308,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:311,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:312,1
    - Dst: vector_make_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:313,1
    - Dst: vector_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:315,1
    - Dst: vector_count_ones
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:316,1
    - Dst: constant_time_declassify_u32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:318,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:319,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:320,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:340,1
    - Dst: CONSTTIME_DECLASSIFY_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:341,1
    - Dst: CONSTTIME_DECLASSIFY_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:342,1
    - Dst: ossl_ml_dsa_sig_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:344,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:348,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:349,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:350,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:358,1
    - Dst: CONSTTIME_DECLASSIFY_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:359,1
    - Dst: CONSTTIME_DECLASSIFY_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:360,1
    - Dst: CONSTTIME_DECLASSIFY_VECTOR
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:361,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    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: 363
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 363
    functionName: ml_dsa_sign_internal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - CONSTTIME_SECRET_VECTOR
    - vector_sub
    - CONSTTIME_DECLASSIFY
    - CONSTTIME_DECLASSIFY_VECTOR
    - vector_ntt_inverse
    - EVP_MD_CTX_new
    - vector_init
    - vector_max
    - OPENSSL_cleanse
    - vector_max_signed
    - matrix_expand_A
    - vector_ntt
    - ossl_ml_dsa_w1_encode
    - ERR_raise
    - vector_expand_mask
    - EVP_MD_CTX_free
    - CONSTTIME_SECRET
    - poly_sample_in_ball_ntt
    - OPENSSL_malloc
    - constant_time_declassify_u32
    - ossl_ml_dsa_sig_encode
    - signature_init
    - matrix_mult_vector
    - OPENSSL_clear_free
    - vector_add
    - vector_low_bits
    - vector_make_hint
    - matrix_init
    - constant_time_ge
    - vector_mult_scalar
    - vector_copy
    - shake_xof_3
    - constant_time_lt
    - vector_count_ones
    - shake_xof_2
    - vector_high_bits
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_sign_internal(const ML_DSA_KEY *priv,\n    const uint8_t
      *mu, size_t mu_len, 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:405,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:411,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:415,1
    - Dst: matrix_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:423,1
    - Dst: signature_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:425,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:427,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:428,1
    - Dst: ossl_ml_dsa_sig_decode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:430,1
    - Dst: matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:431,1
    - Dst: poly_sample_in_ball_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:435,1
    - Dst: vector_scale_power2_round_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:440,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:441,1
    - Dst: vector_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:444,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:448,1
    - Dst: matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:449,1
    - Dst: vector_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:451,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:452,1
    - Dst: vector_use_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:456,1
    - Dst: ossl_ml_dsa_w1_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:457,1
    - Dst: shake_xof_3
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:459,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:464,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:466,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:467,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    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: 469
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 469
    functionName: ml_dsa_verify_internal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - vector_sub
    - ossl_ml_dsa_sig_decode
    - vector_ntt_inverse
    - EVP_MD_CTX_new
    - vector_init
    - vector_max
    - matrix_expand_A
    - vector_ntt
    - ossl_ml_dsa_w1_encode
    - OPENSSL_free
    - ERR_raise
    - vector_scale_power2_round_ntt
    - EVP_MD_CTX_free
    - poly_sample_in_ball_ntt
    - OPENSSL_malloc
    - signature_init
    - matrix_mult_vector
    - matrix_init
    - vector_mult_scalar
    - vector_use_hint
    - shake_xof_3
    - memcmp
    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, 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:488,1
    - Dst: ossl_ml_dsa_mu_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:504,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:508,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:511,1
    - Dst: ml_dsa_sign_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:515,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:518,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: 520
      start: 476
    functionDepth: 6
    functionLinenumber: 476
    functionLinenumberEnd: 520
    functionName: ossl_ml_dsa_sign
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_get_priv
    - ossl_ml_dsa_mu_finalize
    - ossl_ml_dsa_mu_update
    - ossl_ml_dsa_mu_init
    - ml_dsa_sign_internal
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_sign(const ML_DSA_KEY *priv,\n    int msg_is_mu, 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:537,1
    - Dst: ossl_ml_dsa_mu_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:544,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:548,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:551,1
    - Dst: ml_dsa_verify_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:555,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:557,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: 559
      start: 526
    functionDepth: 6
    functionLinenumber: 526
    functionLinenumberEnd: 559
    functionName: ossl_ml_dsa_verify
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_mu_finalize
    - ossl_ml_dsa_mu_update
    - ossl_ml_dsa_mu_init
    - ml_dsa_verify_internal
    - EVP_MD_CTX_free
    - ossl_ml_dsa_key_get_pub
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_verify(const ML_DSA_KEY *pub,\n    int msg_is_mu,
      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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    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:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: poly_ntt_mult_scalar
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - reduce_montgomery
    linkageType: ''
    returnType: void
    signature: void poly_ntt_mult_scalar(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:163,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:166,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: poly_ntt_scalar
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - reduce_montgomery
    - reduce_once
    - mod_sub
    linkageType: ''
    returnType: void
    signature: void poly_ntt_scalar(POLY *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:197,1
    - Dst: reduce_montgomery
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:198,1
    - Dst: reduce_montgomery
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: poly_ntt_inverse_scalar
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - reduce_montgomery
    - reduce_once
    linkageType: ''
    returnType: void
    signature: void poly_ntt_inverse_scalar(POLY *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_poly_ntt_mult_avx2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: poly_ntt_mult_avx2_wrapper
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - ml_dsa_poly_ntt_mult_avx2
    linkageType: ''
    returnType: void
    signature: "void poly_ntt_mult_avx2_wrapper(const POLY *lhs, const POLY *rhs,\n
      \   POLY *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_poly_ntt_avx2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: poly_ntt_avx2_wrapper
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - ml_dsa_poly_ntt_avx2
    linkageType: ''
    returnType: void
    signature: void poly_ntt_avx2_wrapper(POLY *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_poly_ntt_inverse_avx2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: poly_ntt_inverse_avx2_wrapper
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - ml_dsa_poly_ntt_inverse_avx2
    linkageType: ''
    returnType: void
    signature: void poly_ntt_inverse_avx2_wrapper(POLY *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_ntt_avx2_capable
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: ml_dsa_ntt_init
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - ml_dsa_ntt_avx2_capable
    linkageType: ''
    returnType: void
    signature: void ml_dsa_ntt_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:256,1
    - Dst: poly_ntt_mult_impl
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: ossl_ml_dsa_poly_ntt_mult
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 2
    functionsReached:
    - poly_ntt_mult_impl
    - CRYPTO_THREAD_run_once
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_poly_ntt_mult(const POLY *lhs, const POLY *rhs, POLY
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:271,1
    - Dst: poly_ntt_impl
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: ossl_ml_dsa_poly_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_run_once
    - poly_ntt_impl
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_poly_ntt(POLY *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:284,1
    - Dst: poly_ntt_inverse_impl
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: ossl_ml_dsa_poly_ntt_inverse
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_run_once
    - poly_ntt_inverse_impl
    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:
    - _malloc32
    - ERR_set_debug
    - ERR_set_error
    - 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:
    - strchr
    - strcat
    - OPENSSL_free
    - DSO_convert_filename
    - strrchr
    - ERR_raise
    - strncpy
    - sk_void_push
    - strlen
    - DSO_MALLOC
    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:
    - sk_void_pop
    - sk_void_num
    - ERR_raise
    - OPENSSL_free
    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:
    - do_find_symbol
    - ERR_raise_data
    - sys$getmsg
    - ERR_raise
    - lib$signal
    - sk_void_value
    - strcpy
    - strlen
    - sk_void_num
    - $VMS_STATUS_SUCCESS
    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:
    - ERR_raise_data
    - sys$getmsg
    - lib$signal
    - strncpy
    - SET_NAMX_NO_SHORT_UPCASE
    - strcpy
    - sys$parse
    - strlen
    - NAMX_DNA_FNA_SET
    - $VMS_STATUS_SUCCESS
    - OPENSSL_malloc
    - FAB_OR_NAML
    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:
    - strchr
    - OPENSSL_strdup
    - strcat
    - strrchr
    - strncpy
    - 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:
    - alloca
    - LoadLibraryW
    - MultiByteToWideChar
    - strlen
    - SetLastError
    - _alloca
    linkageType: ''
    returnType: HINSTANCE
    signature: HINSTANCE LoadLibraryA(LPCSTR lpLibFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: GETPROCADDRESS
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETPROCADDRESS(h, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    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:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:105,1
    - Dst: LoadLibraryA
      Src: /src/openssl/crypto/dso/dso_win32.c:108,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:110,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:114,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_win32.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:128,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: win32_load
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - DSO_convert_filename
    - OPENSSL_free
    - ERR_raise
    - sk_void_push
    - LoadLibraryA
    - 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:138,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_win32.c:141,1
    - Dst: sk_void_pop
      Src: /src/openssl/crypto/dso/dso_win32.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:145,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:149,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_win32.c:153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: win32_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - sk_void_push
    - sk_void_num
    - 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:170,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_win32.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:174,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/dso/dso_win32.c:177,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_win32.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:179,1
    - Dst: GETPROCADDRESS
      Src: /src/openssl/crypto/dso/dso_win32.c:182,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 188
    functionName: win32_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - ERR_raise
    - sk_void_value
    - GETPROCADDRESS
    - sk_void_num
    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:214,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dso/dso_win32.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:238,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: 300
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 300
    functionName: win32_splitter
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_free
    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:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:330,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:334,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_win32.c:339,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:341,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:348,1
    - Dst: openssl_strnchr
      Src: /src/openssl/crypto/dso/dso_win32.c:355,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:360,1
    - Dst: openssl_strnchr
      Src: /src/openssl/crypto/dso/dso_win32.c:368,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:372,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:378,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - dso
    - file_split
    argTypes:
    - DSO*
    - struct file_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 382
    functionName: win32_joiner
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - openssl_strnchr
    - ERR_raise
    - strncpy
    - strcpy
    - 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:392,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_win32.c:396,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_win32.c:400,1
    - Dst: win32_splitter
      Src: /src/openssl/crypto/dso/dso_win32.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:406,1
    - Dst: win32_splitter
      Src: /src/openssl/crypto/dso/dso_win32.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:411,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:412,1
    - Dst: win32_joiner
      Src: /src/openssl/crypto/dso/dso_win32.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:438,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:439,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 441
    functionName: win32_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - win32_splitter
    - win32_joiner
    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:448,1
    - Dst: strstr
      Src: /src/openssl/crypto/dso/dso_win32.c:448,1
    - Dst: strstr
      Src: /src/openssl/crypto/dso/dso_win32.c:448,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_win32.c:451,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_win32.c:453,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:454,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:456,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_win32.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: win32_name_converter
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - ERR_raise
    - strlen
    - strstr
    - 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: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleExW
      Src: /src/openssl/crypto/dso/dso_win32.c:506,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:509,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:510,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:513,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:515,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:516,1
    - Dst: GetModuleFileNameW
      Src: /src/openssl/crypto/dso/dso_win32.c:519,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:520,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:521,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:522,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/dso/dso_win32.c:540,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:542,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:543,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/dso/dso_win32.c:547,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:548,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:549,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:553,1
    - Dst: CloseHandle
      Src: /src/openssl/crypto/dso/dso_win32.c:555,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 557
    functionName: win32_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - ERR_raise_data
    - OPENSSL_free
    - GetModuleFileNameW
    - CloseHandle
    - GetModuleHandleExW
    - WideCharToMultiByte
    - OPENSSL_malloc
    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:572,1
    - Dst: TEXT
      Src: /src/openssl/crypto/dso/dso_win32.c:572,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:574,1
    - Dst: GETPROCADDRESS
      Src: /src/openssl/crypto/dso/dso_win32.c:578,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:581,1
    - Dst: GETPROCADDRESS
      Src: /src/openssl/crypto/dso/dso_win32.c:586,1
    - Dst: GETPROCADDRESS
      Src: /src/openssl/crypto/dso/dso_win32.c:590,1
    - Dst: GETPROCADDRESS
      Src: /src/openssl/crypto/dso/dso_win32.c:591,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:595,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:596,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:604,1
    - Dst: GETPROCADDRESS
      Src: /src/openssl/crypto/dso/dso_win32.c:609,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:611,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 619
    functionName: win32_globallookup
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - LoadLibrary
    - TEXT
    - GETPROCADDRESS
    - FreeLibrary
    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
    - DSO*::meth::init
    - OPENSSL_free
    - ERR_raise
    - sk_void_free
    - DSO_METHOD_openssl
    - DSO_free
    - 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: 3
    functionsReached:
    - REF_ASSERT_ISNT
    - DSO*::meth::dso_unload
    - OPENSSL_free
    - ERR_raise
    - sk_void_free
    - CRYPTO_FREE_REF
    - DSO*::meth::finish
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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
    - CRYPTO_UP_REF
    - ERR_raise
    - REF_PRINT_COUNT
    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:
    - ERR_raise
    - DSO_ctrl
    - DSO_set_filename
    - DSO_free
    - DSO*::meth::dso_load
    - DSO_new_method
    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:
    - DSO*::meth::dso_bind_func
    - ERR_raise
    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_strdup
    - ERR_raise
    - OPENSSL_free
    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*::merger
    - ERR_raise
    - DSO*::meth::dso_merger
    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
    - DSO*::name_converter
    - DSO*::meth::dso_name_converter
    - ERR_raise
    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: 0
    functionsReached:
    - DSO_pathbyaddr
    - DSO_load
    - OPENSSL_malloc
    - OPENSSL_free
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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:97,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:102,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:110,1
    - Dst: dlopen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:113,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:115,1
    - Dst: dlerror
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:116,1
    - Dst: set_sys_error
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:123,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:133,1
    - Dst: dlclose
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: dlfcn_load
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - set_sys_error
    - dlclose
    - ERR_raise_data
    - DSO_convert_filename
    - OPENSSL_free
    - ERR_raise
    - get_last_sys_error
    - sk_void_push
    - strlen
    - dlerror
    - dlopen
    linkageType: ''
    returnType: int
    signature: int dlfcn_load(DSO *dso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:143,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:146,1
    - Dst: sk_void_pop
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:150,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:154,1
    - Dst: dlclose
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: dlfcn_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - dlclose
    - ERR_raise
    - sk_void_push
    - sk_void_num
    - 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:171,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:175,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:178,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:180,1
    - Dst: dlsym
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:183,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:185,1
    - Dst: dlerror
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: dlfcn_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - dlsym
    - ERR_raise
    - sk_void_value
    - sk_void_num
    - dlerror
    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:198,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:206,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:214,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:227,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:228,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:234,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:237,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:239,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 242
    functionName: dlfcn_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - strcpy
    - 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:249,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:251,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:254,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:255,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:260,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:264,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:265,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:267,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 272
    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:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - address
    - dl
    argTypes:
    - void*
    - Dl_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    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:337,1
    - Dst: loadquery
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:350,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:365,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:367,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:370,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:371,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:378,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:379,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - ptr
    - dl
    argTypes:
    - void*
    - Dl_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 392
    functionName: dladdr
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strlcat
    - loadquery
    - strlen
    - OPENSSL_strlcpy
    - 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:411,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:415,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:421,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:424,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:429,1
    - Dst: dlerror
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 432
    functionName: dlfcn_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - dladdr
    - dlerror
    - strlen
    - memcpy
    - ERR_add_error_data
    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:436,1
    - Dst: dlsym
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:439,1
    - Dst: dlclose
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: dlfcn_globallookup
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - dlsym
    - dlclose
    - 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:71,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:72,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:75,1
    - Dst: sk_push
      Src: /src/openssl/crypto/dso/dso_dl.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dl.c:91,1
    - Dst: shl_unload
      Src: /src/openssl/crypto/dso/dso_dl.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: dl_load
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - DSO_convert_filename
    - OPENSSL_free
    - ERR_raise
    - sk_push
    - openssl_strerror_r
    - shl_load
    - 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:101,1
    - Dst: sk_num
      Src: /src/openssl/crypto/dso/dso_dl.c:104,1
    - Dst: sk_pop
      Src: /src/openssl/crypto/dso/dso_dl.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:109,1
    - Dst: sk_push
      Src: /src/openssl/crypto/dso/dso_dl.c:113,1
    - Dst: shl_unload
      Src: /src/openssl/crypto/dso/dso_dl.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: dl_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - sk_pop
    - sk_num
    - ERR_raise
    - sk_push
    - 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:126,1
    - Dst: sk_num
      Src: /src/openssl/crypto/dso/dso_dl.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:130,1
    - Dst: sk_value
      Src: /src/openssl/crypto/dso/dso_dl.c:133,1
    - Dst: sk_num
      Src: /src/openssl/crypto/dso/dso_dl.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:135,1
    - Dst: shl_findsym
      Src: /src/openssl/crypto/dso/dso_dl.c:138,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/dso/dso_dl.c:141,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:142,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 150
    functionName: dl_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - sk_value
    - shl_findsym
    - sk_num
    - ERR_raise
    - openssl_strerror_r
    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:157,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dl.c:165,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dl.c:173,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:187,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:188,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dl.c:194,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dl.c:197,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dl.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 202
    functionName: dl_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - strcpy
    - 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:216,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_dl.c:218,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:221,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dl.c:222,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dl.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:227,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dl.c:231,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dl.c:232,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: 211
    functionDepth: 1
    functionLinenumber: 211
    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:258,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dso/dso_dl.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: dl_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - shl_get_r
    - memcpy
    - strlen
    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:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    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: 1
    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:
    - UI_get_default_method
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - UI_null
    - CRYPTO_THREAD_lock_new
    - UI_free
    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: 2
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_free_ex_data
    - sk_UI_STRING_pop_free
    - UI*::meth::ui_destroy_data
    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:107,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ui/ui_lib.c:108,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: 116
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 116
    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:125,1
    - Dst: allocate_string_stack
      Src: /src/openssl/crypto/ui/ui_lib.c:129,1
    - Dst: sk_UI_STRING_push
      Src: /src/openssl/crypto/ui/ui_lib.c:133,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:137,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:140,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: 143
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: general_allocate_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - allocate_string_stack
    - general_allocate_prompt
    - sk_UI_STRING_push
    - free_string
    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:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:161,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_lib.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:165,1
    - Dst: general_allocate_prompt
      Src: /src/openssl/crypto/ui/ui_lib.c:169,1
    - Dst: allocate_string_stack
      Src: /src/openssl/crypto/ui/ui_lib.c:173,1
    - Dst: sk_UI_STRING_push
      Src: /src/openssl/crypto/ui/ui_lib.c:177,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:183,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:186,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: 190
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 190
    functionName: general_allocate_boolean
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - allocate_string_stack
    - general_allocate_prompt
    - sk_UI_STRING_push
    - ERR_raise
    - 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:199,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: 202
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: UI_add_input_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    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:212,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:221,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: 224
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: UI_dup_input_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - general_allocate_string
    - OPENSSL_free
    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:230,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: 233
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 233
    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:243,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:248,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:252,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: 254
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: UI_dup_verify_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - general_allocate_string
    - OPENSSL_free
    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:260,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: 263
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 263
    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:276,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:282,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:288,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:294,1
    - Dst: general_allocate_boolean
      Src: /src/openssl/crypto/ui/ui_lib.c:299,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
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:311,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: 313
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 313
    functionName: UI_dup_input_boolean
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - general_allocate_boolean
    - OPENSSL_free
    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:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 319
    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:327,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 337
    functionName: UI_dup_info_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - general_allocate_string
    - OPENSSL_free
    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:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 343
    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:351,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: UI_dup_error_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - general_allocate_string
    - OPENSSL_free
    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:369,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_lib.c:378,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_lib.c:380,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ui/ui_lib.c:383,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/ui/ui_lib.c:385,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/ui/ui_lib.c:386,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:389,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/ui/ui_lib.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ui
    - phrase_desc
    - object_name
    argTypes:
    - UI*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 394
    functionName: UI_construct_prompt
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strlcat
    - UI*::meth::ui_construct_prompt
    - strlen
    - OPENSSL_strlcpy
    - 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:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ui
    - user_data
    argTypes:
    - UI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: UI_add_user_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    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:415,1
    - Dst: UI*::meth::ui_duplicate_data
      Src: /src/openssl/crypto/ui/ui_lib.c:419,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:421,1
    - Dst: UI_add_user_data
      Src: /src/openssl/crypto/ui/ui_lib.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ui
    - user_data
    argTypes:
    - UI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 429
    functionName: UI_dup_user_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - UI*::meth::ui_duplicate_data
    - ERR_raise
    - UI_add_user_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: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    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:439,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:442,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:443,1
    - Dst: UI_get0_result_string
      Src: /src/openssl/crypto/ui/ui_lib.c:446,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - i
    argTypes:
    - UI*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 447
    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:452,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:455,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:456,1
    - Dst: UI_get_result_string_length
      Src: /src/openssl/crypto/ui/ui_lib.c:459,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - i
    argTypes:
    - UI*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: UI_get_result_length
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - sk_UI_STRING_num
    - sk_UI_STRING_value
    - ERR_raise
    - UI_get_result_string_length
    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:466,1
    - Dst: UI*::meth::ui_write_string
      Src: /src/openssl/crypto/ui/ui_lib.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - str
    - len
    - ui
    argTypes:
    - char*
    - size_t
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 474
    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:482,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/crypto/ui/ui_lib.c:489,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:493,1
    - Dst: UI*::meth::ui_write_string
      Src: /src/openssl/crypto/ui/ui_lib.c:495,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:496,1
    - Dst: UI*::meth::ui_flush
      Src: /src/openssl/crypto/ui/ui_lib.c:505,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:519,1
    - Dst: UI*::meth::ui_read_string
      Src: /src/openssl/crypto/ui/ui_lib.c:521,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:522,1
    - Dst: UI*::meth::ui_close_session
      Src: /src/openssl/crypto/ui/ui_lib.c:546,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_lib.c:553,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 555
    functionName: UI_process
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - UI*::meth::ui_write_string
    - sk_UI_STRING_value
    - ERR_raise_data
    - UI*::meth::ui_open_session
    - UI*::meth::ui_close_session
    - UI*::meth::ui_read_string
    - ERR_print_errors_cb
    - UI*::meth::ui_flush
    - sk_UI_STRING_num
    linkageType: ''
    returnType: int
    signature: int UI_process(UI *ui)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:560,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: 557
    functionDepth: 0
    functionLinenumber: 557
    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: 1
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_new_ex_data
    - ERR_raise
    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: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: '*(*UI_method_get_prompt_constructor(const UI_METHOD *method))(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))(UI
      *, const char *, const char *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 765
    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: 772
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 772
    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:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - idx
    argTypes:
    - UI_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 777
    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: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    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: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    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: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    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: 807
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 807
    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: 822
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 822
    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: 837
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 837
    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: 852
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 852
    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: 867
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 867
    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: 882
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 882
    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:886,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_lib.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ui
    - uis
    - result
    argTypes:
    - UI*
    - UI_STRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 887
    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:898,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_lib.c:906,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:914,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ui/ui_lib.c:918,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:927,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_lib.c:933,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_lib.c:937,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: 949
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 949
    functionName: UI_set_result_ex
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - strchr
    - memcpy
    - 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:25,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ui/ui_util.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - length
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: UI_UTIL_read_pw_string
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - UI_UTIL_read_pw
    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:40,1
    - Dst: UI_add_input_string
      Src: /src/openssl/crypto/ui/ui_util.c:42,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/crypto/ui/ui_util.c:44,1
    - Dst: UI_process
      Src: /src/openssl/crypto/ui/ui_util.c:46,1
    - Dst: UI_free
      Src: /src/openssl/crypto/ui/ui_util.c:47,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: 50
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: UI_UTIL_read_pw
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 1
    functionsReached:
    - UI_new
    - UI_add_verify_string
    - UI_process
    - UI_free
    - UI_add_input_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: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    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:74,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: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    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:84,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: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    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:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 96
    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: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    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:104,1
    - Dst: UI_method_get_ex_data
      Src: /src/openssl/crypto/ui/ui_util.c:108,1
    - Dst: UI_get_method
      Src: /src/openssl/crypto/ui/ui_util.c:108,1
    - Dst: UI_get_result_maxsize
      Src: /src/openssl/crypto/ui/ui_util.c:109,1
    - Dst: struct pem_password_cb_data*::cb
      Src: /src/openssl/crypto/ui/ui_util.c:113,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/crypto/ui/ui_util.c:114,1
    - Dst: UI_set_result_ex
      Src: /src/openssl/crypto/ui/ui_util.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: ui_read
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - UI_get_result_maxsize
    - UI_get0_user_data
    - UI_set_result_ex
    - UI_get_string_type
    - struct pem_password_cb_data*::cb
    - UI_get_method
    - UI_method_get_ex_data
    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: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    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: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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:148,1
    - Dst: UI_create_method
      Src: /src/openssl/crypto/ui/ui_util.c:149,1
    - Dst: UI_method_set_opener
      Src: /src/openssl/crypto/ui/ui_util.c:150,1
    - Dst: UI_method_set_reader
      Src: /src/openssl/crypto/ui/ui_util.c:151,1
    - Dst: UI_method_set_writer
      Src: /src/openssl/crypto/ui/ui_util.c:152,1
    - Dst: UI_method_set_closer
      Src: /src/openssl/crypto/ui/ui_util.c:153,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/ui/ui_util.c:154,1
    - Dst: UI_method_set_ex_data
      Src: /src/openssl/crypto/ui/ui_util.c:155,1
    - Dst: UI_destroy_method
      Src: /src/openssl/crypto/ui/ui_util.c:156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_util.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - cb
    - rwflag
    argTypes:
    - pem_password_cb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: UI_UTIL_wrap_read_pem_callback
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 1
    functionsReached:
    - UI_destroy_method
    - OPENSSL_zalloc
    - UI_method_set_reader
    - UI_method_set_writer
    - UI_method_set_closer
    - UI_method_set_opener
    - RUN_ONCE
    - OPENSSL_free
    - UI_create_method
    - UI_method_set_ex_data
    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:
    - UI_get0_output_string
    - fputs
    - UI_get_string_type
    - fflush
    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_get0_test_string
    - UI_get0_action_string
    - fputs
    - UI_get_string_type
    - fflush
    - fprintf
    - strcmp
    - UI_get0_output_string
    - UI_get_input_flags
    - read_string_inner
    - UI_get0_result_string
    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:312,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ui/ui_openssl.c:317,1
    - Dst: ReadConsoleA
      Src: /src/openssl/crypto/ui/ui_openssl.c:321,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:321,1
    - Dst: noecho_fgets
      Src: /src/openssl/crypto/ui/ui_openssl.c:333,1
    - Dst: fgets
      Src: /src/openssl/crypto/ui/ui_openssl.c:337,1
    - Dst: feof
      Src: /src/openssl/crypto/ui/ui_openssl.c:340,1
    - Dst: ferror
      Src: /src/openssl/crypto/ui/ui_openssl.c:342,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_openssl.c:344,1
    - Dst: read_till_nl
      Src: /src/openssl/crypto/ui/ui_openssl.c:347,1
    - Dst: UI_set_result
      Src: /src/openssl/crypto/ui/ui_openssl.c:349,1
    - Dst: fprintf
      Src: /src/openssl/crypto/ui/ui_openssl.c:356,1
    - Dst: echo_console
      Src: /src/openssl/crypto/ui/ui_openssl.c:357,1
    - Dst: popsig
      Src: /src/openssl/crypto/ui/ui_openssl.c:361,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ui/ui_openssl.c:366,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: 368
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 368
    functionName: read_string_inner
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - strchr
    - noecho_console
    - UI_set_result
    - echo_console
    - GetStdHandle
    - fgets
    - pushsig
    - fprintf
    - noecho_fgets
    - popsig
    - ReadConsoleA
    - ferror
    - read_till_nl
    - feof
    - OPENSSL_cleanse
    - WideCharToMultiByte
    - ReadConsoleW
    - GetEnvironmentVariableW
    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:373,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:381,1
    - Dst: GetConsoleMode
      Src: /src/openssl/crypto/ui/ui_openssl.c:384,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:384,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:388,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:397,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:399,1
    - Dst: TTY_get
      Src: /src/openssl/crypto/ui/ui_openssl.c:404,1
    - Dst: fileno
      Src: /src/openssl/crypto/ui/ui_openssl.c:404,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:457,1
    - Dst: sys$assign
      Src: /src/openssl/crypto/ui/ui_openssl.c:464,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:468,1
    - Dst: sys$qiow
      Src: /src/openssl/crypto/ui/ui_openssl.c:473,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 481
    functionName: open_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached:
    - sys$qiow
    - GetStdHandle
    - ERR_raise_data
    - fopen
    - fileno
    - CRYPTO_THREAD_write_lock
    - GetConsoleMode
    - TTY_get
    - sys$assign
    linkageType: ''
    returnType: int
    signature: int open_console(UI *ui)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ui/ui_openssl.c:486,1
    - Dst: TTY_set
      Src: /src/openssl/crypto/ui/ui_openssl.c:491,1
    - Dst: fileno
      Src: /src/openssl/crypto/ui/ui_openssl.c:491,1
    - Dst: sys$qiow
      Src: /src/openssl/crypto/ui/ui_openssl.c:499,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:502,1
    - Dst: SetConsoleMode
      Src: /src/openssl/crypto/ui/ui_openssl.c:513,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: noecho_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - sys$qiow
    - GetStdHandle
    - ERR_raise_data
    - SetConsoleMode
    - TTY_set
    - fileno
    - memcpy
    linkageType: ''
    returnType: int
    signature: int noecho_console(UI *ui)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ui/ui_openssl.c:522,1
    - Dst: TTY_set
      Src: /src/openssl/crypto/ui/ui_openssl.c:523,1
    - Dst: fileno
      Src: /src/openssl/crypto/ui/ui_openssl.c:523,1
    - Dst: sys$qiow
      Src: /src/openssl/crypto/ui/ui_openssl.c:531,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:534,1
    - Dst: SetConsoleMode
      Src: /src/openssl/crypto/ui/ui_openssl.c:544,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 548
    functionName: echo_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - sys$qiow
    - GetStdHandle
    - ERR_raise_data
    - SetConsoleMode
    - TTY_set
    - fileno
    - memcpy
    linkageType: ''
    returnType: int
    signature: int echo_console(UI *ui)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/openssl/crypto/ui/ui_openssl.c:555,1
    - Dst: fclose
      Src: /src/openssl/crypto/ui/ui_openssl.c:557,1
    - Dst: sys$dassgn
      Src: /src/openssl/crypto/ui/ui_openssl.c:559,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:561,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ui/ui_openssl.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: close_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sys$dassgn
    - fclose
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int close_console(UI *ui)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ui/ui_openssl.c:581,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:586,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:587,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: sigaction
      Src: /src/openssl/crypto/ui/ui_openssl.c:607,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:609,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 617
    functionName: pushsig
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - signal
    - memset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void pushsig(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:622,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:623,1
    - 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: sigaction
      Src: /src/openssl/crypto/ui/ui_openssl.c:640,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 646
    functionName: popsig
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - signal
    - sigaction
    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: 651
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 651
    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:668,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:686,1
    - Dst: FlushConsoleInputBuffer
      Src: /src/openssl/crypto/ui/ui_openssl.c:687,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_openssl.c:690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - size
    - tty
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 691
    functionName: noecho_fgets
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - strlen
    - FlushConsoleInputBuffer
    - GetStdHandle
    - getch
    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: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    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: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    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: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    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:
    - EC_GROUP_get0_field
    - BN_num_bytes
    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: ASN1_STRING_length
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:81,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: 1
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: ossl_sm2_plaintext_size
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - d2i_SM2_Ciphertext
    - ASN1_STRING_length
    - 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:
    - EVP_MD_get_size
    - ASN1_object_size
    - EC_KEY_get0_group
    - ec_field_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: 21
    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: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:264,1
    - Dst: i2d_SM2_Ciphertext
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:270,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:278,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:279,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:281,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:282,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:283,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:284,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:285,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:286,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:287,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:288,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 140
    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: 290
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 290
    functionName: ossl_sm2_encrypt
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - ossl_ec_key_get_libctx
    - ossl_ec_key_get0_propq
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EC_POINT_get_affine_coordinates
    - BN_priv_rand_range_ex
    - BN_CTX_start
    - OPENSSL_zalloc
    - ASN1_OCTET_STRING_free
    - ec_field_size
    - OPENSSL_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - EVP_MD_get0_name
    - OPENSSL_calloc
    - EC_POINT_new
    - EVP_MD_CTX_free
    - EC_POINT_free
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - ASN1_OCTET_STRING_set
    - is_all_zeros
    - BN_CTX_free
    - EVP_MD_fetch
    - memset
    - ossl_ecdh_kdf_X9_63
    - EVP_MD_free
    - ASN1_OCTET_STRING_new
    - BN_bn2binpad
    - i2d_SM2_Ciphertext
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - EVP_MD_get_size
    - EC_POINT_mul
    - EVP_DigestInit
    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:300,1
    - Dst: ec_field_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:307,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:308,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:314,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:315,1
    - Dst: memset
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:320,1
    - Dst: d2i_SM2_Ciphertext
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:325,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:329,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:330,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:334,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:335,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:338,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:344,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:348,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:349,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:353,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:357,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:358,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:359,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:366,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:370,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:372,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:372,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:375,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:379,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:380,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:383,1
    - Dst: is_all_zeros
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:388,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:395,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:397,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:401,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:402,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:403,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:404,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:406,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:411,1
    - Dst: memset
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:420,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:422,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:423,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:424,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:425,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:426,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:427,1
    - Dst: SM2_Ciphertext_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:428,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:429,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 98
    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: 432
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 432
    functionName: ossl_sm2_decrypt
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - ossl_ec_key_get_libctx
    - ossl_ec_key_get0_propq
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EC_POINT_get_affine_coordinates
    - SM2_Ciphertext_free
    - BN_CTX_start
    - OPENSSL_zalloc
    - ec_field_size
    - OPENSSL_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_KEY_get0_private_key
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - OPENSSL_calloc
    - EC_POINT_new
    - EC_POINT_free
    - EVP_MD_CTX_free
    - BN_CTX_end
    - is_all_zeros
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - memset
    - ossl_ecdh_kdf_X9_63
    - BN_bn2binpad
    - CRYPTO_memcmp
    - d2i_SM2_Ciphertext
    - EVP_MD_get_size
    - EC_KEY_get0_group
    - EC_POINT_mul
    - EVP_DigestInit
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_sign.c:45,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/sm2/sm2_sign.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:63,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:69,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:72,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:74,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_sign.c:78,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:79,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:80,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:81,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:82,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:83,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:84,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:88,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_sign.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:106,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:114,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:119,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:124,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/sm2/sm2_sign.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:129,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/sm2/sm2_sign.c:133,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_sign.c:134,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:138,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:139,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:140,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:141,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:142,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/sm2/sm2_sign.c:143,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:145,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:146,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:147,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:148,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:149,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:152,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:153,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:154,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:155,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_sign.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:164,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/sm2/sm2_sign.c:165,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:166,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:167,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 86
    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: 169
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 169
    functionName: ossl_sm2_compute_z_digest
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_curve
    - EVP_DigestFinal
    - ossl_ec_key_get_libctx
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EC_POINT_get_affine_coordinates
    - BN_CTX_start
    - OPENSSL_zalloc
    - OPENSSL_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - EVP_MD_CTX_free
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - BN_CTX_free
    - BN_bn2binpad
    - BN_num_bytes
    - EC_KEY_get0_group
    - EC_GROUP_get0_generator
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_compute_z_digest(uint8_t *out,\n    const EVP_MD *digest,\n
      \   const uint8_t *id,\n    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:177,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/sm2/sm2_sign.c:178,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:182,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/sm2/sm2_sign.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:190,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_sign.c:194,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/sm2/sm2_sign.c:198,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/sm2/sm2_sign.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:200,1
    - Dst: ossl_sm2_compute_z_digest
      Src: /src/openssl/crypto/sm2/sm2_sign.c:204,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_sign.c:209,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:210,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:211,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_sign.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:214,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/sm2/sm2_sign.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:220,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:223,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:224,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:225,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: 227
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 227
    functionName: sm2_compute_msg_hash
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - OPENSSL_zalloc
    - ossl_sm2_compute_z_digest
    - OPENSSL_free
    - EVP_DigestFinal
    - ossl_ec_key_get_libctx
    - ERR_raise
    - EVP_MD_get_size
    - ossl_ec_key_get0_propq
    - EVP_MD_fetch
    - EVP_MD_get0_name
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit
    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:231,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_sign.c:232,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/sm2/sm2_sign.c:233,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:246,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:251,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:256,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_sign.c:260,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:261,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:262,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:263,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:266,1
    - Dst: BN_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:274,1
    - Dst: BN_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:278,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:292,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:293,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:297,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:298,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:300,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:301,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/sm2/sm2_sign.c:306,1
    - Dst: BN_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:310,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:314,1
    - Dst: BN_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:317,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_sign.c:317,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/sm2/sm2_sign.c:318,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:319,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/sm2/sm2_sign.c:320,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:322,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/sm2/sm2_sign.c:327,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:332,1
    - Dst: ECDSA_SIG_set0
      Src: /src/openssl/crypto/sm2/sm2_sign.c:337,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:343,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:344,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/sm2/sm2_sign.c:347,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:348,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:349,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 2
    argNames:
    - key
    - e
    argTypes:
    - EC_KEY*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 351
    functionName: sm2_sig_gen
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - ECDSA_SIG_new
    - BN_is_zero
    - ossl_ec_key_get_libctx
    - EC_POINT_get_affine_coordinates
    - BN_priv_rand_range_ex
    - BN_CTX_start
    - BN_sub
    - ECDSA_SIG_set0
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_KEY_get0_private_key
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - BN_CTX_free
    - BN_mod_mul
    - BN_cmp
    - BN_new
    - BN_add
    - ossl_ec_group_do_inverse_ord
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - BN_mod_add
    - EC_POINT_mul
    - BN_free
    - BN_value_one
    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:357,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/sm2/sm2_sign.c:358,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:365,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:367,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:369,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_sign.c:372,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:373,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:376,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:382,1
    - Dst: ECDSA_SIG_get0
      Src: /src/openssl/crypto/sm2/sm2_sign.c:396,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:398,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_sign.c:398,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:399,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_sign.c:399,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:400,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:402,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:407,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/sm2/sm2_sign.c:411,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:412,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:416,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/sm2/sm2_sign.c:416,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:417,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:418,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:423,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:427,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:431,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/sm2/sm2_sign.c:432,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:433,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - key
    - sig
    - e
    argTypes:
    - EC_KEY*
    - ECDSA_SIG*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 435
    functionName: sm2_sig_verify
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - ossl_ec_key_get_libctx
    - EC_POINT_get_affine_coordinates
    - BN_CTX_start
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_new
    - EC_POINT_free
    - ECDSA_SIG_get0
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - BN_CTX_free
    - BN_cmp
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - BN_mod_add
    - EC_POINT_mul
    - BN_value_one
    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:446,1
    - Dst: sm2_sig_gen
      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: 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: 457
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 457
    functionName: ossl_sm2_do_sign
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - BN_free
    - sm2_compute_msg_hash
    - 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:469,1
    - Dst: sm2_sig_verify
      Src: /src/openssl/crypto/sm2/sm2_sign.c:475,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:478,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: 480
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: ossl_sm2_do_verify
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - BN_free
    - sm2_compute_msg_hash
    - sm2_sig_verify
    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:492,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/sm2/sm2_sign.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:498,1
    - Dst: sm2_sig_gen
      Src: /src/openssl/crypto/sm2/sm2_sign.c:502,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:504,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/sm2/sm2_sign.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:510,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:518,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:519,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: 521
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 521
    functionName: ossl_sm2_internal_sign
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - i2d_ECDSA_SIG
    - ECDSA_SIG_free
    - ERR_raise
    - BN_free
    - sm2_sig_gen
    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:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:536,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/openssl/crypto/sm2/sm2_sign.c:539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:540,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/sm2/sm2_sign.c:544,1
    - Dst: memcmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:546,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/sm2/sm2_sign.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:552,1
    - Dst: sm2_sig_verify
      Src: /src/openssl/crypto/sm2/sm2_sign.c:556,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:559,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:560,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:561,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: 563
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 563
    functionName: ossl_sm2_internal_verify
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - sm2_sig_verify
    - ECDSA_SIG_new
    - i2d_ECDSA_SIG
    - OPENSSL_free
    - ECDSA_SIG_free
    - ERR_raise
    - d2i_ECDSA_SIG
    - BN_free
    - memcmp
    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
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - EC_KEY_get0_private_key
    - BN_free
    - BN_cmp
    - BN_value_one
    - BN_sub_word
    - BN_dup
    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_EncodeBlock
    - OPENSSL_free
    - EVP_SignFinal
    - EVP_PKEY_get_size
    - 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:44,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/pem/pem_pkey.c:48,1
    - Dst: OSSL_DECODER_CTX_set_pem_password_cb
      Src: /src/openssl/crypto/pem/pem_pkey.c:57,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:60,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/crypto/pem/pem_pkey.c:61,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/pem/pem_pkey.c:62,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/pem/pem_pkey.c:62,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:63,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/pem/pem_pkey.c:66,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/pem/pem_pkey.c:66,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:68,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:69,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:72,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:77,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/pem/pem_pkey.c:83,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:86,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:91,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:96,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: 98
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 98
    functionName: pem_read_bio_key_decoder
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BIO_tell
    - OSSL_DECODER_CTX_new_for_pkey
    - ERR_clear_last_mark
    - OSSL_DECODER_from_bio
    - ERR_GET_REASON
    - OSSL_DECODER_CTX_set_pem_password_cb
    - ERR_raise
    - evp_keymgmt_util_has
    - EVP_PKEY_free
    - ERR_peek_error
    - OSSL_DECODER_CTX_free
    - ERR_set_mark
    - BIO_eof
    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:113,1
    - Dst: PEM_bytes_read_bio_secmem
      Src: /src/openssl/crypto/pem/pem_pkey.c:115,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:118,1
    - Dst: PEM_bytes_read_bio
      Src: /src/openssl/crypto/pem/pem_pkey.c:126,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:129,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:133,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_pkey.c:136,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/pem/pem_pkey.c:139,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:141,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:143,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:146,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_pkey.c:147,1
    - Dst: d2i_X509_SIG
      Src: /src/openssl/crypto/pem/pem_pkey.c:153,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pem_pkey.c:156,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_pkey.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:160,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:161,1
    - Dst: PKCS8_decrypt
      Src: /src/openssl/crypto/pem/pem_pkey.c:164,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:165,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_pkey.c:166,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:169,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:171,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:174,1
    - Dst: ossl_pem_check_suffix
      Src: /src/openssl/crypto/pem/pem_pkey.c:175,1
    - Dst: evp_pkey_asn1_find_str
      Src: /src/openssl/crypto/pem/pem_pkey.c:177,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:180,1
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:185,1
    - Dst: ossl_pem_check_suffix
      Src: /src/openssl/crypto/pem/pem_pkey.c:187,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/pem/pem_pkey.c:189,1
    - Dst: EVP_PKEY_set_type_str
      Src: /src/openssl/crypto/pem/pem_pkey.c:192,1
    - Dst: EVP_PKEY*::ameth::param_decode
      Src: /src/openssl/crypto/pem/pem_pkey.c:194,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:200,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/pem/pem_pkey.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:208,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:210,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:211,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: 213
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 213
    functionName: pem_read_bio_key_legacy
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - evp_pkcs82pkey_legacy
    - OPENSSL_cleanse
    - EVP_PKEY_new
    - OPENSSL_secure_free
    - cb
    - EVP_PKEY_set_type_str
    - ERR_pop_to_mark
    - ossl_pem_check_suffix
    - ERR_peek_last_error
    - ERR_raise
    - PEM_bytes_read_bio
    - X509_SIG_free
    - EVP_PKEY*::ameth::param_decode
    - ossl_d2i_PUBKEY_legacy
    - strcmp
    - PKCS8_decrypt
    - OPENSSL_secure_clear_free
    - d2i_X509_SIG
    - EVP_PKEY_free
    - ERR_set_mark
    - PKCS8_PRIV_KEY_INFO_free
    - ossl_d2i_PrivateKey_legacy
    - PEM_bytes_read_bio_secmem
    - d2i_PKCS8_PRIV_KEY_INFO
    - evp_pkey_asn1_find_str
    - PEM_def_callback
    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:226,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_pkey.c:227,1
    - Dst: BIO_f_readbuffer
      Src: /src/openssl/crypto/pem/pem_pkey.c:227,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pem/pem_pkey.c:230,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/pem/pem_pkey.c:231,1
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/openssl/crypto/pem/pem_pkey.c:237,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/pem/pem_pkey.c:238,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:241,1
    - Dst: pem_read_bio_key_decoder
      Src: /src/openssl/crypto/pem/pem_pkey.c:242,1
    - Dst: BIO_seek
      Src: /src/openssl/crypto/pem/pem_pkey.c:245,1
    - Dst: pem_read_bio_key_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:246,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: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 262
    functionName: pem_read_bio_key
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BIO_tell
    - ERR_clear_last_mark
    - BIO_new
    - ossl_pw_enable_passphrase_caching
    - BIO_pop
    - BIO_f_readbuffer
    - BIO_free
    - pem_read_bio_key_decoder
    - BIO_seek
    - ossl_pw_clear_passphrase_data
    - BIO_push
    - ossl_pw_set_pem_password_cb
    - pem_read_bio_key_legacy
    - ERR_set_mark
    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: 0
    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_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - PEM_read_bio_PUBKEY_ex
    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: 1
    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:
    - PEM_write_bio_PrivateKey_traditional
    - IMPLEMENT_PEM_provided_write_body_main
    - IMPLEMENT_PEM_provided_write_body_vars
    - IMPLEMENT_PEM_provided_write_body_pass
    - PEM_write_bio_PKCS8PrivateKey
    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:
    - evp_pkey_is_provided
    - evp_pkey_copy_downgraded
    - evp_pkey_is_assigned
    - ERR_raise
    - BIO_snprintf
    - EVP_PKEY_free
    - PEM_ASN1_write_bio
    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:
    - PEM_ASN1_write_bio
    - BIO_snprintf
    - IMPLEMENT_PEM_provided_write_body_vars
    - 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_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - PEM_read_bio_PrivateKey_ex
    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:
    - PEM_write_bio_PrivateKey_ex
    - BIO_free
    - ERR_raise
    - BIO_new_fp
    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
    - EVP_PKEY_free
    - DSA_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:
    - PEM_read_bio_PrivateKey
    - pkey_get_dsa
    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:
    - EVP_PKEY_get1_EC_KEY
    - EC_KEY_free
    - EVP_PKEY_free
    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:169,1
    - Dst: pkey_get_eckey
      Src: /src/openssl/crypto/pem/pem_all.c:170,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: 171
      start: 165
    functionDepth: 7
    functionLinenumber: 165
    functionLinenumberEnd: 171
    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:191,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_all.c:195,1
    - Dst: d2i_DHxparams
      Src: /src/openssl/crypto/pem/pem_all.c:196,1
    - Dst: d2i_DHparams
      Src: /src/openssl/crypto/pem/pem_all.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_all.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pem_all.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pem_all.c:203,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: 205
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: PEM_read_bio_DHparams
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - d2i_DHxparams
    - OPENSSL_free
    - ERR_raise
    - strcmp
    - PEM_bytes_read_bio
    - d2i_DHparams
    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:213,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_all.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_all.c:214,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_all.c:217,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/openssl/crypto/pem/pem_all.c:218,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_all.c:219,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: 221
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: PEM_read_DHparams
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - PEM_read_bio_DHparams
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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
    - ERR_raise
    - d2i
    - PEM_bytes_read_bio
    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:75,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_pk8.c:89,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/pem/pem_pk8.c:101,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/crypto/pem/pem_pk8.c:105,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pem/pem_pk8.c:105,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/crypto/pem/pem_pk8.c:117,1
    - Dst: OSSL_ENCODER_CTX_set_pem_password_cb
      Src: /src/openssl/crypto/pem/pem_pk8.c:120,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:124,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/crypto/pem/pem_pk8.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:132,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pem_pk8.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:139,1
    - Dst: PKCS8_encrypt
      Src: /src/openssl/crypto/pem/pem_pk8.c:145,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_pk8.c:147,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:151,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/crypto/pem/pem_pk8.c:153,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:154,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:157,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/pem/pem_pk8.c:159,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:162,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:164,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: 166
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 166
    functionName: do_pk8pkey
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 4
    functionsReached:
    - OSSL_ENCODER_to_bio
    - i2d_PKCS8_bio
    - OSSL_ENCODER_CTX_set_pem_password_cb
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - OPENSSL_cleanse
    - OSSL_ENCODER_CTX_get_num_encoders
    - PEM_write_bio_PKCS8
    - cb
    - EVP_CIPHER_get0_name
    - ERR_raise
    - X509_SIG_free
    - OSSL_ENCODER_CTX_set_passphrase
    - PKCS8_encrypt
    - OSSL_ENCODER_CTX_set_cipher
    - EVP_PKEY2PKCS8
    - OSSL_ENCODER_CTX_free
    - PKCS8_PRIV_KEY_INFO_free
    - strlen
    - OSSL_ENCODER_CTX_new_for_pkey
    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:177,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pem_pk8.c:181,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_pk8.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:185,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:186,1
    - Dst: PKCS8_decrypt
      Src: /src/openssl/crypto/pem/pem_pk8.c:189,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:190,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_pk8.c:191,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/crypto/pem/pem_pk8.c:194,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:199,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: 203
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 203
    functionName: d2i_PKCS8PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - EVP_PKCS82PKEY
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_bio
    - ERR_raise
    - PKCS8_decrypt
    - X509_SIG_free
    - EVP_PKEY_free
    - OPENSSL_cleanse
    - PEM_def_callback
    - cb
    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:211,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: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    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:218,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: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    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:225,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: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    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:232,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: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    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:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:243,1
    - Dst: do_pk8pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:246,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:247,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: 249
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: do_pk8pkey_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 4
    functionsReached:
    - do_pk8pkey
    - BIO_free
    - ERR_raise
    - BIO_new_fp
    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:257,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:258,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:261,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:262,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: 264
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: d2i_PKCS8PrivateKey_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - d2i_PKCS8PrivateKey_bio
    - ERR_raise
    - BIO_new_fp
    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:298,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_info.c:310,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: 312
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 312
    functionName: PEM_X509_INFO_write_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_info.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio
    - EVP_CIPHER_get0_name
    - PEM_write_bio_RSAPrivateKey
    - OPENSSL_cleanse
    - PEM_dek_info
    - PEM_write_bio_X509
    - ERR_raise
    - EVP_PKEY_get0_RSA
    - EVP_CIPHER_get_iv_length
    - strlen
    - PEM_proc_type
    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: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    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: 83
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 83
    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: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    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: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    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: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    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: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    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: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    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: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    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: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    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: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    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: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    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: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    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: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    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: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    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: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    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:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:85,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:89,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:94,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:95,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:102,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:109,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:114,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - key
    - evp_type
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 124
    functionName: evp_pkey_new0_key
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_DSA
    - ERR_raise
    - RSA_free
    - EVP_PKEY_set1_RSA
    - ossl_assert
    - EVP_PKEY_free
    - DSA_free
    - EVP_PKEY_new
    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:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:196,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:201,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:247,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: 252
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 252
    functionName: ossl_do_blob_header
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - read_ledword
    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: 254
    functionDepth: 0
    functionLinenumber: 254
    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_RSA_after_header
    - ossl_blob_length
    - ERR_raise
    - ossl_do_blob_header
    - ossl_b2i_DSA_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
    - do_b2i_key
    - isdss_to_evp_type
    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_RSA_after_header
    - ossl_blob_length
    - OPENSSL_free
    - BIO_read
    - evp_pkey_new0_key
    - ERR_raise
    - isdss_to_evp_type
    - ossl_do_blob_header
    - OPENSSL_malloc
    - ossl_b2i_DSA_after_header
    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:
    - DSA_set0_pqg
    - DSA_set0_key
    - DSA_new
    - BN_CTX_new
    - BN_CTX_free
    - ERR_raise
    - BN_mod_exp
    - read_lebn
    - BN_free
    - DSA_free
    - BN_new
    - 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:
    - BN_set_word
    - RSA_new
    - RSA_set0_factors
    - read_ledword
    - ERR_raise
    - RSA_free
    - RSA_set0_crt_params
    - read_lebn
    - BN_free
    - RSA_set0_key
    - BN_new
    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: 0
    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: 0
    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:
    - ossl_blob_length
    - write_ledword
    - check_bitlen_dsa
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get0_DSA
    - write_rsa
    - EVP_PKEY_is_a
    - OPENSSL_malloc
    - check_bitlen_rsa
    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:
    - RSA_get0_key
    - BN_num_bytes
    - RSA_size
    - ERR_raise
    - RSA_get0_factors
    - BN_num_bits
    - RSA_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:
    - write_lebn
    - RSA_get0_key
    - RSA_size
    - RSA_get0_factors
    - RSA_bits
    - 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:
    - DSA_get0_pqg
    - DSA_get0_key
    - ERR_raise
    - BN_num_bits
    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:
    - write_lebn
    - DSA_get0_key
    - BN_num_bytes
    - memset
    - 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: 0
    functionsReached:
    - ERR_raise
    - read_ledword
    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:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_KDF_fetch
    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
    - OPENSSL_cleanse
    - OPENSSL_free
    - EVP_DecryptUpdate
    - ERR_raise
    - read_ledword
    - EVP_DecryptInit_ex
    - EVP_CIPHER_fetch
    - memset
    - do_b2i_key
    - derive_pvk_key
    - EVP_CIPHER_free
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - memcpy
    - PEM_def_callback
    - OPENSSL_malloc
    - cb
    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:
    - ossl_do_PVK_header
    - BIO_read
    - OPENSSL_clear_free
    - ERR_raise
    - do_PVK_body_key
    - 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: 0
    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:
    - write_ledword
    - RAND_bytes_ex
    - derive_pvk_key
    - OPENSSL_cleanse
    - cb
    - OPENSSL_free
    - ERR_raise
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - EVP_CIPHER_fetch
    - do_i2b
    - memset
    - EVP_CIPHER_free
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_PKEY_get_id
    - PEM_def_callback
    - EVP_EncryptUpdate
    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:
    - i2b_PVK
    - ERR_raise
    - BIO_write
    - OPENSSL_free
    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:
    - EVP_get_pw_prompt
    - ERR_raise
    - memset
    - EVP_read_pw_string_min
    - strlen
    - memcpy
    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:
    - strlen
    - BIO_snprintf
    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:
    - strlen
    - BIO_snprintf
    - strcpy
    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_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - PEM_ASN1_read_bio
    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:161,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:174,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:175,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:180,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:181,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:189,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:190,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:198,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:199,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:207,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:208,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
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 48
    argCount: 2
    argNames:
    - nm
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 217
    functionName: check_pem
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_asn1_find_str
    - strcmp
    - ossl_pem_check_suffix
    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: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    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:225,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:227,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: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    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: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    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:235,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/pem/pem_lib.c:236,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: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: pem_malloc
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_malloc
    - CRYPTO_secure_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:251,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:252,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:253,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:254,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/pem/pem_lib.c:255,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/pem/pem_lib.c:255,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/pem/pem_lib.c:256,1
    - Dst: check_pem
      Src: /src/openssl/crypto/pem/pem_lib.c:259,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/openssl/crypto/pem/pem_lib.c:260,1
    - Dst: PEM_do_header
      Src: /src/openssl/crypto/pem/pem_lib.c:262,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:275,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:276,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:278,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: 280
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 280
    functionName: pem_bytes_read_bio_flags
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - PEM_do_header
    - ERR_GET_REASON
    - PEM_read_bio_ex
    - check_pem
    - PEM_get_EVP_CIPHER_INFO
    - PEM_FREE
    - ERR_peek_error
    - ERR_add_error_data
    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:286,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: 288
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 288
    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:294,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: 296
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 296
    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:307,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:308,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:311,1
    - Dst: PEM_ASN1_write_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:312,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:313,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: 315
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: PEM_ASN1_write
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - PEM_ASN1_write_bio
    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:333,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:334,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:335,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:340,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:348,1
    - Dst: i2d
      Src: /src/openssl/crypto/pem/pem_lib.c:352,1
    - Dst: i2d_ctx
      Src: /src/openssl/crypto/pem/pem_lib.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:354,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pem_lib.c:359,1
    - Dst: i2d
      Src: /src/openssl/crypto/pem/pem_lib.c:363,1
    - Dst: i2d_ctx
      Src: /src/openssl/crypto/pem/pem_lib.c:363,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_lib.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:372,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/pem/pem_lib.c:377,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/pem/pem_lib.c:382,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:382,1
    - Dst: EVP_BytesToKey
      Src: /src/openssl/crypto/pem/pem_lib.c:388,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/pem/pem_lib.c:388,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:392,1
    - Dst: PEM_proc_type
      Src: /src/openssl/crypto/pem/pem_lib.c:395,1
    - Dst: PEM_dek_info
      Src: /src/openssl/crypto/pem/pem_lib.c:396,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:396,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:400,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:401,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:402,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:403,1
    - Dst: PEM_write_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:412,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:416,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:417,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:418,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:419,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pem/pem_lib.c:420,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: 422
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 422
    functionName: PEM_ASN1_write_bio_internal
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - i2d_ctx
    - EVP_md5
    - EVP_CIPHER_get_iv_length
    - OPENSSL_cleanse
    - i2d
    - EVP_CIPHER_get0_name
    - PEM_dek_info
    - ERR_raise
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - RAND_bytes
    - OPENSSL_clear_free
    - EVP_EncryptInit_ex
    - EVP_BytesToKey
    - ebcdic2ascii
    - EVP_CIPHER_CTX_new
    - PEM_write_bio
    - strlen
    - PEM_proc_type
    - PEM_def_callback
    - EVP_EncryptUpdate
    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:428,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: 430
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 430
    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:437,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: 439
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 439
    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:455,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_lib.c:463,1
    - Dst: callback
      Src: /src/openssl/crypto/pem/pem_lib.c:465,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:467,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/pem/pem_lib.c:472,1
    - Dst: EVP_BytesToKey
      Src: /src/openssl/crypto/pem/pem_lib.c:475,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/pem/pem_lib.c:475,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:479,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:483,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:485,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:489,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:494,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:496,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:497,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:498,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: 500
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 500
    functionName: PEM_do_header
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - ebcdic2ascii
    - EVP_CIPHER_CTX_new
    - callback
    - ERR_raise
    - EVP_DecryptInit_ex
    - EVP_md5
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - PEM_def_callback
    - EVP_BytesToKey
    - EVP_DecryptUpdate
    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:524,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:528,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:529,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:532,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:536,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:539,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:540,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:545,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:553,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:554,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:557,1
    - Dst: strcspn
      Src: /src/openssl/crypto/pem/pem_lib.c:564,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/crypto/pem/pem_lib.c:567,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:569,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:572,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:575,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:580,1
    - Dst: load_iv
      Src: /src/openssl/crypto/pem/pem_lib.c:584,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:584,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - header
    - cipher
    argTypes:
    - char*
    - EVP_CIPHER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 588
    functionName: PEM_get_EVP_CIPHER_INFO
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - strcspn
    - ERR_raise
    - strspn
    - memset
    - EVP_CIPHER_get_iv_length
    - EVP_get_cipherbyname
    - load_iv
    - CHECK_AND_SKIP_PREFIX
    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:600,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - fromp
    - to
    - num
    argTypes:
    - char**
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 611
    functionName: load_iv
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_hexchar2int
    - ERR_raise
    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:620,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:620,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:621,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:624,1
    - Dst: PEM_write_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:625,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:626,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: 628
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: PEM_write
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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:636,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/crypto/pem/pem_lib.c:645,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:646,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:648,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:648,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:648,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:653,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:655,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:655,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/pem/pem_lib.c:661,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:668,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:672,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/crypto/pem/pem_lib.c:680,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:681,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:685,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:685,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:685,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:693,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:694,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pem/pem_lib.c:695,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: 697
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 697
    functionName: PEM_write_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 3
    functionsReached:
    - EVP_ENCODE_CTX_free
    - EVP_EncodeUpdate
    - BIO_write
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_EncodeInit
    - EVP_ENCODE_CTX_new
    - strlen
    - OPENSSL_malloc_array
    - EVP_EncodeFinal
    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:706,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:706,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:707,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:710,1
    - Dst: PEM_read_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:711,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:712,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: 714
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 714
    functionName: PEM_read
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - PEM_read_bio
    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:726,1
    - Dst: memmove
      Src: /src/openssl/crypto/pem/pem_lib.c:727,1
    - Dst: ossl_isbase64
      Src: /src/openssl/crypto/pem/pem_lib.c:741,1
    - Dst: ossl_iscntrl
      Src: /src/openssl/crypto/pem/pem_lib.c:752,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: 761
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 761
    functionName: sanitize_line
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - ossl_iscntrl
    - memmove
    - ossl_isbase64
    - memcmp
    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:782,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/pem/pem_lib.c:787,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:790,1
    - Dst: sanitize_line
      Src: /src/openssl/crypto/pem/pem_lib.c:795,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:799,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:801,1
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:804,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pem/pem_lib.c:807,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - bp
    - name
    - flags
    argTypes:
    - BIO*
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 813
    functionName: get_name
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - sanitize_line
    - PEM_MALLOC
    - ERR_raise
    - BIO_gets
    - PEM_FREE
    - memcpy
    - 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:846,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/pem/pem_lib.c:852,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:854,1
    - Dst: memchr
      Src: /src/openssl/crypto/pem/pem_lib.c:867,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:870,1
    - Dst: sanitize_line
      Src: /src/openssl/crypto/pem/pem_lib.c:872,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:883,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:894,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:895,1
    - Dst: strncmp
      Src: /src/openssl/crypto/pem/pem_lib.c:896,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:896,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:897,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:907,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/pem/pem_lib.c:914,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:930,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: 932
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 932
    functionName: get_header_and_data
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - strncmp
    - BIO_puts
    - sanitize_line
    - PEM_MALLOC
    - ERR_raise
    - BIO_gets
    - PEM_FREE
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - memchr
    - 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:955,1
    - Dst: BIO_s_secmem
      Src: /src/openssl/crypto/pem/pem_lib.c:958,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pem/pem_lib.c:958,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:960,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:961,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:963,1
    - Dst: get_name
      Src: /src/openssl/crypto/pem/pem_lib.c:967,1
    - Dst: get_header_and_data
      Src: /src/openssl/crypto/pem/pem_lib.c:969,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/pem/pem_lib.c:972,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:974,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:983,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:985,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/pem/pem_lib.c:989,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:990,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/crypto/pem/pem_lib.c:993,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:996,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/pem/pem_lib.c:1002,1
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:1003,1
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:1004,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pem_lib.c:1007,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pem_lib.c:1010,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:1019,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:1021,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:1024,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:1025,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:1026,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:1027,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: 1029
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 1029
    functionName: PEM_read_bio_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - get_header_and_data
    - BIO_get_mem_ptr
    - EVP_DecodeInit
    - EVP_ENCODE_CTX_free
    - EVP_DecodeFinal
    - BIO_new
    - get_name
    - BIO_s_secmem
    - BIO_read
    - BIO_free
    - PEM_MALLOC
    - ERR_raise
    - BIO_get_mem_data
    - EVP_DecodeUpdate
    - EVP_ENCODE_CTX_new
    - PEM_FREE
    - BIO_s_mem
    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:1034,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: 1035
      start: 1031
    functionDepth: 4
    functionLinenumber: 1031
    functionLinenumberEnd: 1035
    functionName: PEM_read_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    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:1045,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:1046,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pem_str
    - suffix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1058
    functionName: ossl_pem_check_suffix
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 2
    functionsReached:
    - strlen
    - strcmp
    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: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    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: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 97
    functionDepth: 0
    functionLinenumber: 97
    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:501,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:502,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:503,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:504,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:518,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:519,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:535,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:536,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 557
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, int bits,\n
      \   AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_x86core.c:571,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:611,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:611,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 624
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached:
    - AES_set_encrypt_key
    - ROTATE
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, int bits,\n
      \   AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_x86core.c:638,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:645,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:646,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:647,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:648,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:651,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:668,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:668,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:668,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:668,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:706,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:706,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:729,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: 637
        line_start: 637
        source_file: /src/openssl/crypto/aes/aes_x86core.c
    constantsTouched: []
    func_position:
      end: 741
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 741
    functionName: AES_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached:
    - GETU32
    - prefetch256
    - assert
    - ROTATE
    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:755,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:762,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:763,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:764,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:765,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:768,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:793,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:793,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:793,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:839,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:839,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:839,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:861,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: 754
        line_start: 754
        source_file: /src/openssl/crypto/aes/aes_x86core.c
    constantsTouched: []
    func_position:
      end: 867
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 867
    functionName: AES_decrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached:
    - GETU32
    - prefetch256
    - assert
    - ROTATE
    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: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    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: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    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:73,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:83,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:84,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:90,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:91,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:94,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:97,1
    - Dst: store_block
      Src: /src/openssl/crypto/aes/aes_ige.c:101,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:108,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:109,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:123,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:133,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:134,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:140,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:141,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:144,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:148,1
    - Dst: store_block
      Src: /src/openssl/crypto/aes/aes_ige.c:152,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:159,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:160,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: 163
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 163
    functionName: AES_ige_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached:
    - AES_encrypt
    - load_block
    - store_block
    - memcpy
    - AES_decrypt
    - OPENSSL_assert
    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, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:194,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:195,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:196,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:210,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:214,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:230,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:236,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:249,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:262,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:263,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:266,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:269,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:280,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:281,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:284,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:287,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: 295
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 295
    functionName: AES_bi_ige_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached:
    - AES_encrypt
    - memcpy
    - AES_decrypt
    - OPENSSL_assert
    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    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, 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, 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, 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:
    - uint32_t*
    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(uint32_t *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:
    - uint64_t*
    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(uint64_t *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 1
    argNames:
    - w
    argTypes:
    - uint32_t*
    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(uint32_t *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:
    - uint64_t*
    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(uint64_t *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:
    - uint64_t*
    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(uint64_t *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint64_t*
    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(uint64_t *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint64_t*
    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(uint64_t *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:
    - uint64_t*
    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:
    - U64
    - XtimeLong
    linkageType: ''
    returnType: void
    signature: void MixColumns(uint64_t *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:
    - uint64_t*
    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:
    - U64
    - XtimeLong
    linkageType: ''
    returnType: void
    signature: void InvMixColumns(uint64_t *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - w
    argTypes:
    - uint64_t*
    - uint64_t*
    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(uint64_t *state, const uint64_t *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*
    - uint64_t*
    - 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:
    - SubLong
    - AddRoundKey
    - ShiftRows
    - MixColumns
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void Cipher(const unsigned char *in, unsigned char *out,\n    const
      uint64_t *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*
    - uint64_t*
    - 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:
    - InvSubLong
    - InvShiftRows
    - InvMixColumns
    - AddRoundKey
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void InvCipher(const unsigned char *in, unsigned char *out,\n    const
      uint64_t *w, int nr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t*
    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(uint32_t *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*
    - uint64_t*
    - 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
    - SubWord
    - RotWord
    - XtimeWord
    linkageType: ''
    returnType: void
    signature: "void KeyExpansion(const unsigned char *key, uint64_t *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: 1
    functionsReached:
    - KeyExpansion
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, 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: 0
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, 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:
    - assert
    - Cipher
    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:
    - assert
    - InvCipher
    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:3067,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3068,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3069,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3070,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3084,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3085,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3101,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3123
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 2
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, int bits,\n
      \   AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_core.c:3137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3128
    functionDepth: 0
    functionLinenumber: 3128
    functionLinenumberEnd: 3167
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, int bits,\n
      \   AES_KEY *key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_core.c:3183,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3190,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3191,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3192,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3193,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3292,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3294,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3296,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3298,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: 3182
        line_start: 3182
        source_file: /src/openssl/crypto/aes/aes_core.c
    constantsTouched: []
    func_position:
      end: 3299
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3299
    functionName: AES_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - GETU32
    - assert
    - PUTU32
    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:3315,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3322,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3323,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3324,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3325,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3424,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3426,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3428,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:3430,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: 3314
        line_start: 3314
        source_file: /src/openssl/crypto/aes/aes_core.c
    constantsTouched: []
    func_position:
      end: 3431
      start: 3305
    functionDepth: 0
    functionLinenumber: 3305
    functionLinenumberEnd: 3431
    functionName: AES_decrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - GETU32
    - assert
    - PUTU32
    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:3506,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3507,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3508,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3509,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3523,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3524,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3540,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:3541,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3562
    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, int bits,\n
      \   AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_core.c:3576,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_core.c:3615,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_core.c:3615,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_core.c:3615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3622
      start: 3567
    functionDepth: 0
    functionLinenumber: 3567
    functionLinenumberEnd: 3622
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - AES_set_encrypt_key
    - ROTATE
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, 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_new
    - sk_OPENSSL_PSTRING_push
    - sk_OPENSSL_PSTRING_new_null
    - OPENSSL_free
    - BUF_MEM_grow_clean
    - BUF_MEM_free
    - BIO_gets
    - sk_OPENSSL_PSTRING_free
    - strlen
    - OPENSSL_malloc_array
    - BUF_MEM_grow
    - OPENSSL_malloc
    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:
    - lh_OPENSSL_STRING_free
    - OPENSSL_LH_new
    - lh_OPENSSL_STRING_insert
    - qual
    - lh_OPENSSL_STRING_retrieve
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_find
    - LHASH_OF
    - sk_OPENSSL_PSTRING_num
    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:
    - BUF_MEM_new
    - BIO_write
    - BUF_MEM_grow_clean
    - BUF_MEM_free
    - strlen
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_num
    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
    - sk_OPENSSL_PSTRING_push
    - lh_OPENSSL_STRING_retrieve
    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:
    - lh_OPENSSL_STRING_free
    - OPENSSL_free
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_free
    - sk_OPENSSL_PSTRING_num
    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: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    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: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    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: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    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: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    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:84,1
    - Dst: siphash_adjust_hash_size
      Src: /src/openssl/crypto/siphash/siphash.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - hash_size
    argTypes:
    - SIPHASH*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 103
    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:108,1
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:109,1
    - Dst: siphash_adjust_hash_size
      Src: /src/openssl/crypto/siphash/siphash.c:112,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: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    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:155,1
    - Dst: memcpy
      Src: /src/openssl/crypto/siphash/siphash.c:161,1
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:166,1
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:176,1
    - Dst: memcpy
      Src: /src/openssl/crypto/siphash/siphash.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - SIPHASH*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 192
    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:243,1
    - Dst: U64TO8_LE
      Src: /src/openssl/crypto/siphash/siphash.c:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - SIPHASH*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 252
    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_add_word
    - BN_value_one
    - BN_free
    - BN_cmp
    - BN_num_bits
    - BN_new
    - BN_priv_rand_range_ex
    - 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:
    - OPENSSL_free
    - OPENSSL_clear_free
    - BN_free
    - BN_clear_free
    - ossl_ffc_params_init
    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:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - d
    - j
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    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:88,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ffc/ffc_params.c:92,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: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: ossl_ffc_params_set_seed
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    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: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    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: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    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: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    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:142,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: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    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: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    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:170,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/ffc/ffc_params.c:171,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params.c:173,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 178
    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:182,1
    - 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: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/ffc/ffc_params.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:192,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ffc/ffc_params.c:195,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/ffc/ffc_params.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - FFC_PARAMS*
    - FFC_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 210
    functionName: ossl_ffc_params_copy
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ffc_bn_cpy
    - ossl_ffc_params_cleanup
    - OPENSSL_free
    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:214,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params.c:215,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params.c:216,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: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    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:226,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:226,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:229,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:229,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:232,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:232,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:235,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:235,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:238,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:238,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:241,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:241,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:244,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:244,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:247,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:247,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/ffc/ffc_params.c:252,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/ffc/ffc_params.c:253,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:256,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:256,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:262,1
    - Dst: PP
      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: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:266,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:270,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:270,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:276,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:276,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:281,1
    - Dst: PP
      Src: /src/openssl/crypto/ffc/ffc_params.c:281,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 3
    argNames:
    - ffc
    - bld
    - pp
    argTypes:
    - FFC_PARAMS*
    - OSSL_PARAM_BLD*
    - FFC_OSSL_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 287
    functionName: ossl_ffc_params_todata
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_int
    - ossl_param_build_set_utf8_string
    - PP
    - ossl_ffc_named_group_get_name
    - ossl_param_build_set_bn
    - ossl_param_build_set_octet_string
    - ossl_ffc_uid_to_dh_named_group
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *bld,\n
      \   const FFC_OSSL_PARAMS *pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: PP
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP(f)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - 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:294,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ffc/ffc_params.c:297,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ffc/ffc_params.c:300,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ffc/ffc_params.c:305,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ffc/ffc_params.c:306,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ffc/ffc_params.c:310,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ffc/ffc_params.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ffc/ffc_params.c:314,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ffc/ffc_params.c:319,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ffc/ffc_params.c:323,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ffc/ffc_params.c:324,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 3
    argNames:
    - bp
    - ffc
    - indent
    argTypes:
    - BIO*
    - FFC_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 330
    functionName: ossl_ffc_params_print
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_write
    - BIO_indent
    - ASN1_bn_print
    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_ffc_set_digest
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_int
    - ossl_ffc_params_set0_pqg
    - ossl_ffc_params_set0_j
    - ossl_ffc_named_group_set
    - ossl_ffc_params_set_seed
    - OSSL_PARAM_locate_const
    - BN_free
    - ossl_ffc_name_to_dh_named_group
    - ossl_ffc_params_enable_flags
    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_mod_exp_mont
    - BN_cmp
    - 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:
    - ossl_ffc_params_FIPS186_2_validate
    - ERR_raise
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_copy
    - ossl_ffc_params_FIPS186_4_validate
    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_FIPS186_2_validate
    - ossl_ffc_params_simple_validate
    - BN_CTX_free
    - BN_CTX_new_ex
    - ERR_raise
    - ossl_ffc_params_FIPS186_4_validate
    - BN_check_prime
    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_data
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:49,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:62,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: 69
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: ffc_validate_LN
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    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_data
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:81,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:94,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: 99
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: ffc_validate_LN
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    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:111,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:116,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:119,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:119,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:123,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:123,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: 129
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: generate_unverifiable_g
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont
    - BN_set_word
    - BN_cmp
    - 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:151,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:155,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:176,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:177,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:178,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:179,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:180,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:181,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:182,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:189,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:189,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:194,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: 196
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 196
    functionName: generate_canonical_g
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_mod_exp_mont
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - EVP_DigestUpdate
    - BN_cmp
    - BN_value_one
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - 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:210,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:211,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:212,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:213,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:214,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:215,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:219,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:219,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:222,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:235,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:238,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:252,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:253,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:259,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:260,1
    - Dst: BN_mask_bits
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:269,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:270,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:271,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:277,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:278,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:284,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:284,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:285,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:294,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:301,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:317,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: 319
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 319
    functionName: generate_p
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - EVP_Digest
    - BN_zero
    - BN_sub
    - BN_GENCB_call
    - BN_copy
    - EVP_MD_get_size
    - BN_CTX_get
    - BN_lshift1
    - BN_mask_bits
    - BN_cmp
    - BN_value_one
    - BN_mod
    - BN_lshift
    - BN_check_prime
    - BN_add
    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:329,1
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:331,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:338,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:343,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:350,1
    - Dst: memset
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:358,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:367,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:375,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: 395
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 395
    functionName: generate_q_fips186_4
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - EVP_Digest
    - BN_GENCB_call
    - ossl_bn_get_libctx
    - EVP_MD_get_size
    - RAND_bytes_ex
    - memset
    - 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:405,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:410,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:413,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:416,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:417,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:427,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:429,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:437,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:441,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: 455
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 455
    functionName: generate_q_fips186_2
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - EVP_Digest
    - BN_GENCB_call
    - ossl_bn_get_libctx
    - RAND_bytes_ex
    - memcpy
    - 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: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    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:548,1
    - Dst: default_mdname
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:552,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:557,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:561,1
    - Dst: ffc_validate_LN
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:574,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:579,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:583,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:586,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:587,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:588,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:589,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:590,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:591,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:639,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:640,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:654,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:665,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:690,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:690,1
    - Dst: generate_q_fips186_4
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:694,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:698,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:702,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:704,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:707,1
    - Dst: generate_p
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:708,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:724,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:730,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:737,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:739,1
    - Dst: ossl_ffc_params_validate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:743,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:753,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:753,1
    - Dst: BN_div
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:753,1
    - Dst: generate_canonical_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:759,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:765,1
    - Dst: generate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:770,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:774,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: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:783,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:784,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:787,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:788,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:792,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:805,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:806,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:808,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:809,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:810,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:811,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:812,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: 814
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 814
    functionName: ossl_ffc_params_FIPS186_4_gen_verify
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_params_validate_unverifiable_g
    - EVP_MD_CTX_new
    - memcpy
    - ffc_validate_LN
    - BN_CTX_start
    - OPENSSL_free
    - BN_sub
    - BN_CTX_new_ex
    - BN_CTX_get
    - generate_canonical_g
    - BN_MONT_CTX_free
    - EVP_MD_CTX_free
    - BN_lshift
    - OPENSSL_malloc
    - BN_CTX_end
    - ossl_ffc_params_set_validate_params
    - BN_CTX_free
    - EVP_MD_fetch
    - EVP_MD_free
    - BN_cmp
    - BN_MONT_CTX_set
    - generate_p
    - BN_GENCB_call
    - generate_q_fips186_4
    - BN_MONT_CTX_new
    - EVP_MD_get_size
    - BN_div
    - BN_free
    - BN_value_one
    - generate_unverifiable_g
    - default_mdname
    - BN_dup
    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:844,1
    - Dst: default_mdname
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:848,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:853,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:857,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:891,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:894,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:898,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:900,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:901,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:902,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:903,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:904,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:905,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:909,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:909,1
    - Dst: generate_q_fips186_2
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:945,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:949,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:951,1
    - Dst: generate_p
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:966,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:976,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:984,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:993,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:995,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1001,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1001,1
    - Dst: BN_div
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1004,1
    - Dst: generate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1006,1
    - Dst: ossl_ffc_params_validate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1009,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1015,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: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1024,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1025,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1028,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1029,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1033,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1044,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1045,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1046,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1047,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: 1049
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 1049
    functionName: ossl_ffc_params_FIPS186_2_gen_verify
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 1
    functionsReached:
    - default_mdname
    - ossl_ffc_params_validate_unverifiable_g
    - memcpy
    - BN_CTX_start
    - BN_sub
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_MONT_CTX_free
    - BN_lshift
    - BN_CTX_end
    - ossl_ffc_params_set_validate_params
    - BN_CTX_free
    - EVP_MD_fetch
    - EVP_MD_free
    - BN_cmp
    - BN_MONT_CTX_set
    - generate_p
    - BN_GENCB_call
    - BN_MONT_CTX_new
    - BN_div
    - EVP_MD_get_size
    - BN_free
    - BN_value_one
    - generate_unverifiable_g
    - generate_q_fips186_2
    - BN_dup
    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:1055,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: 1058
      start: 1051
    functionDepth: 3
    functionLinenumber: 1051
    functionLinenumberEnd: 1058
    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:1065,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1070,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: 1072
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1072
    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_end
    - BN_CTX_start
    - BN_set_word
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_CTX_free
    - BN_cmp
    - BN_sub_word
    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_end
    - BN_CTX_start
    - BN_is_one
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_mod_exp
    - ossl_ffc_validate_public_key_partial
    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: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    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: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    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: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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:96,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: ossl_ffc_name_to_dh_named_group
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - uid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    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:121,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:123,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:124,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - p
    - q
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 130
    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: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    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: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    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: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    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: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    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:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ffc
    - group
    argTypes:
    - FFC_PARAMS*
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 174
    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: 3
    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: 2
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_secure_clear_free
    - OPENSSL_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:
    - memset
    - ERR_raise
    - OPENSSL_realloc
    - sec_alloc_realloc
    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:
    - memset
    - OPENSSL_clear_realloc
    - ERR_raise
    - sec_alloc_realloc
    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: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    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: 5
    argNames:
    - (
    - name
    - ','
    - rank
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    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: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    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: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: CTEXT_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTEXT_BYTES(b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:288,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:290,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:290,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:291,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:292,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:293,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: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: single_keccak
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md
    - EVP_DigestFinal_ex
    - EVP_MD_xof
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - ossl_assert
    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:303,1
    - Dst: single_keccak
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:304,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: 305
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: prf
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - single_keccak
    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:314,1
    - Dst: single_keccak
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:315,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: 316
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: hash_h
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - single_keccak
    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:327,1
    - Dst: scalar_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:333,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:334,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:338,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:340,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:341,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: 342
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: hash_h_pubkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_encode
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - ossl_assert
    - EVP_DigestInit_ex
    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:352,1
    - Dst: single_keccak
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:353,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: 354
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: hash_g
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - single_keccak
    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:367,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:368,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:369,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:370,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: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: kdf
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    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:388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - out
    - mdctx
    argTypes:
    - scalar*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 406
    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: mlkem_ntt_ppc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: scalar_ntt_ppc
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - mlkem_ntt_ppc
    linkageType: ''
    returnType: void
    signature: void scalar_ntt_ppc(scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mlkem_inverse_ntt_ppc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: scalar_inverse_ntt_ppc
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - mlkem_inverse_ntt_ppc
    linkageType: ''
    returnType: void
    signature: void scalar_inverse_ntt_ppc(scalar *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: ml_kem_ntt_init
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ml_kem_ntt_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: reduce_once
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 6
    functionsReached:
    - constish_time_true
    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:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 488
    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:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - scalar*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 499
    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:526,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:527,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 532
    functionName: scalar_ntt_generic
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce_once
    - reduce
    linkageType: ''
    returnType: void
    signature: void scalar_ntt_generic(scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:559,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:560,1
    - Dst: scalar_mult_const
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 565
    functionName: scalar_inverse_ntt_generic
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_mult_const
    - reduce_once
    - reduce
    linkageType: ''
    returnType: void
    signature: void scalar_inverse_ntt_generic(scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 574
    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:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    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:608,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:608,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 611
    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:628,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:628,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 631
    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:649,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - out
    - s
    - bits
    argTypes:
    - uint8_t*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 658
    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:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - uint8_t[]
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 675
    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:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - out
    - in
    - bits
    argTypes:
    - scalar*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 728
    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: 746
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 746
    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: 793
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 793
    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:818,1
    - Dst: constant_time_lt_32
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - bits
    argTypes:
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 821
    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: 846
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 846
    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:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bits
    argTypes:
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 858
    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:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bits
    argTypes:
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 870
    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:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - lhs
    - rhs
    - rank
    argTypes:
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 878
    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:890,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: 891
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 891
    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:908,1
    - Dst: scalar_decompress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:909,1
    - Dst: scalar_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:910,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: 912
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 912
    functionName: vector_decode_decompress_ntt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_ntt
    - scalar_decode
    - 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:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - in
    - rank
    argTypes:
    - scalar*
    - uint8_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 923
    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:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - bits
    - rank
    argTypes:
    - scalar*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    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:937,1
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - out
    - lhs
    - rhs
    - rank
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 940
    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:953,1
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:955,1
    - Dst: scalar_inverse_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - out
    - m
    - a
    - rank
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 958
    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:968,1
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - out
    - m
    - a
    - rank
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 972
    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:988,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:993,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:994,1
    - Dst: sample_scalar
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - mdctx
    - key
    argTypes:
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1000
    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:1018,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1031,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1031,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1032,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1032,1
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1033,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1036,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1036,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1037,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1037,1
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1038,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: 1042
      start: 1010
    functionDepth: 3
    functionLinenumber: 1010
    functionLinenumberEnd: 1042
    functionName: cbd_2
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - constish_time_true
    - 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:1058,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1073,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1073,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1073,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1074,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1074,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1074,1
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1075,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1078,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1078,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1078,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1079,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1079,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1079,1
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1080,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1083,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1083,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1083,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1084,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1084,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1084,1
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1085,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1088,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1088,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1088,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1089,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1089,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1089,1
    - Dst: constish_time_true
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1090,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: 1094
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1094
    functionName: cbd_3
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - constish_time_true
    - 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:1106,1
    - Dst: cbd
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1109,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: 1113
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1113
    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:1124,1
    - Dst: cbd
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1127,1
    - Dst: scalar_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1129,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: 1132
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1132
    functionName: gencbd_vector_ntt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - scalar_ntt
    - cbd
    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: 1136
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1136
    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:1159,1
    - Dst: gencbd_vector_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1172,1
    - Dst: inner_product
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1175,1
    - Dst: scalar_inverse_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1176,1
    - Dst: matrix_mult_intt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1178,1
    - Dst: gencbd_vector
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1181,1
    - Dst: vector_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1183,1
    - Dst: vector_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1184,1
    - Dst: vector_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1185,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1188,1
    - Dst: cbd_2
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1190,1
    - Dst: scalar_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1192,1
    - Dst: scalar_decode_decompress_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1195,1
    - Dst: scalar_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1196,1
    - Dst: scalar_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1197,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: 1199
      start: 1153
    functionDepth: 4
    functionLinenumber: 1153
    functionLinenumberEnd: 1199
    functionName: encrypt_cpa
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - gencbd_vector
    - vector_encode
    - scalar_inverse_ntt
    - scalar_encode
    - vector_add
    - cbd_2
    - scalar_add
    - scalar_compress
    - memcpy
    - CBD1
    - vector_compress
    - scalar_decode_decompress_add
    - gencbd_vector_ntt
    - matrix_mult_intt
    - inner_product
    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:1214,1
    - Dst: scalar_decode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1215,1
    - Dst: scalar_decompress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1216,1
    - Dst: inner_product
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1217,1
    - Dst: scalar_inverse_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1218,1
    - Dst: scalar_sub
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1219,1
    - Dst: scalar_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1220,1
    - Dst: scalar_encode_1
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1221,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: 1222
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1222
    functionName: decrypt_cpa
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - vector_decode_decompress_ntt
    - scalar_encode_1
    - scalar_inverse_ntt
    - scalar_decode
    - scalar_decompress
    - scalar_sub
    - scalar_compress
    - inner_product
    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:1237,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1232
    functionDepth: 3
    functionLinenumber: 1232
    functionLinenumberEnd: 1239
    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:1251,1
    - Dst: encode_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1253,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1255,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1258
    functionName: encode_prvkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - vector_encode
    - encode_pubkey
    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:1273,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1274,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1280,1
    - Dst: hash_h
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1285,1
    - Dst: matrix_expand
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1286,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1287,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: 1293
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1293
    functionName: parse_pubkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - matrix_expand
    - ERR_raise_data
    - vector_decode_12
    - hash_h
    - memcpy
    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:1306,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1307,1
    - Dst: parse_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1314,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1319,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1320,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1327,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: 1329
      start: 1301
    functionDepth: 4
    functionLinenumber: 1301
    functionLinenumberEnd: 1329
    functionName: parse_prvkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - parse_pubkey
    - vector_decode_12
    - memcpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: int parse_prvkey(const uint8_t *in, EVP_MD_CTX *mdctx, ML_KEM_KEY *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CBD1
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1363,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1372,1
    - Dst: hash_g
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1374,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1376,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1378,1
    - Dst: matrix_expand
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1381,1
    - Dst: gencbd_vector_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1382,1
    - Dst: gencbd_vector_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1383,1
    - Dst: matrix_mult_transpose_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1387,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1389,1
    - Dst: hash_h_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1393,1
    - Dst: encode_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1396,1
    - Dst: hash_h
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1397,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1402,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1406,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1410,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1411,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1413,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - seed
    - mdctx
    - pubenc
    - key
    argTypes:
    - uint8_t[]
    - EVP_MD_CTX*
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1356
    functionDepth: 4
    functionLinenumber: 1356
    functionLinenumberEnd: 1418
    functionName: genkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - matrix_expand
    - hash_h_pubkey
    - OPENSSL_cleanse
    - ERR_raise_data
    - CONSTTIME_DECLASSIFY
    - encode_pubkey
    - hash_g
    - CBD1
    - hash_h
    - gencbd_vector_ntt
    - matrix_mult_transpose_add
    - memcpy
    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:1437,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1438,1
    - Dst: hash_g
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1439,1
    - Dst: encrypt_cpa
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1440,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1441,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1444,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1446,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: 1450
      start: 1428
    functionDepth: 5
    functionLinenumber: 1428
    functionLinenumberEnd: 1450
    functionName: encap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - OPENSSL_cleanse
    - encrypt_cpa
    - hash_g
    - memcpy
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1462,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1463,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1464,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1465,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - out
    - in
    - mdctx
    - key
    argTypes:
    - uint8_t*
    - uint8_t*
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1467
    functionName: hash_kr
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int hash_kr(uint8_t *out, uint8_t *in,\n    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: hash_kr
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1522,1
    - Dst: encrypt_cpa
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1523,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1524,1
    - Dst: constant_time_eq_int_8
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1527,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1528,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1530,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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: 1534
      start: 1487
    functionDepth: 5
    functionLinenumber: 1487
    functionLinenumberEnd: 1534
    functionName: decap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - kdf
    - ERR_raise_data
    - OPENSSL_cleanse
    - constant_time_eq_int_8
    - encrypt_cpa
    - hash_kr
    - decrypt_cpa
    - constant_time_select_8
    - memcpy
    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:1552,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1553,1
    - Dst: memset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1560,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: 1578
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1578
    functionName: add_storage
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_free
    - memset
    - OPENSSL_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:1593,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1594,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1595,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1603,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1604,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1608
    functionName: ossl_ml_kem_key_reset
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_dkenc
    - ossl_ml_kem_have_prvkey
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_ml_kem_key_reset(ML_KEM_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1631
    functionName: ossl_ml_kem_get_vinfo
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_run_once
    linkageType: ''
    returnType: ML_KEM_VINFO
    signature: ML_KEM_VINFO *ossl_ml_kem_get_vinfo(int evp_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1641,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1642,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1643,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1644,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1646,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1647,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1648,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - key
    - propq
    argTypes:
    - ML_KEM_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1652
    functionName: ossl_ml_kem_key_fetch_digest
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_key_fetch_digest(ML_KEM_KEY *key, const char *propq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1657,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1661,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1666,1
    - Dst: ossl_ml_kem_key_fetch_digest
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1675,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1678,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - libctx
    - properties
    - evp_type
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1654
    functionDepth: 2
    functionLinenumber: 1654
    functionLinenumberEnd: 1683
    functionName: ossl_ml_kem_key_new
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_free
    - ERR_raise_data
    - ossl_ml_kem_key_fetch_digest
    - ossl_ml_kem_get_vinfo
    - 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:1698,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1701,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1708,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1710,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1718,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1718,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1721,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1724,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1726,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1729,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1730,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1738,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1742,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1743,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1744,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1745,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - ML_KEM_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1748
    functionName: ossl_ml_kem_key_dup
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - OPENSSL_memdup
    - OPENSSL_free
    - memcpy
    - ossl_ml_kem_have_prvkey
    - ossl_ml_kem_decoded_key
    - ossl_ml_kem_have_pubkey
    - EVP_MD_up_ref
    - add_storage
    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:1755,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1756,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1757,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1758,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1760,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1762
    functionName: ossl_ml_kem_key_free
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - ossl_ml_kem_key_reset
    - OPENSSL_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:1768,1
    - Dst: encode_pubkey
      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: 4
    functionLinenumber: 1765
    functionLinenumberEnd: 1773
    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:1779,1
    - Dst: encode_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1782,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: 1784
      start: 1776
    functionDepth: 5
    functionLinenumber: 1776
    functionLinenumberEnd: 1784
    functionName: ossl_ml_kem_encode_private_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - encode_prvkey
    - ossl_ml_kem_have_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:1795,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1797,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: 1799
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1799
    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:1809,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1810,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1815,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1822,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1824,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: 1826
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1826
    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:1837,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1838,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1843,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1846,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1846,1
    - Dst: parse_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1847,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1850,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1851,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: 1853
      start: 1829
    functionDepth: 4
    functionLinenumber: 1829
    functionLinenumberEnd: 1853
    functionName: ossl_ml_kem_parse_public_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_reset
    - ossl_ml_kem_have_dkenc
    - parse_pubkey
    - EVP_MD_CTX_free
    - EVP_MD_CTX_new
    - ossl_ml_kem_have_pubkey
    - 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:1865,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1866,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1871,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1874,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1874,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1875,1
    - Dst: parse_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1876,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1879,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1880,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: 1882
      start: 1856
    functionDepth: 5
    functionLinenumber: 1856
    functionLinenumberEnd: 1882
    functionName: ossl_ml_kem_parse_private_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ossl_ml_kem_key_reset
    - parse_prvkey
    - ossl_ml_kem_have_dkenc
    - EVP_MD_CTX_free
    - EVP_MD_CTX_new
    - ossl_ml_kem_have_pubkey
    - add_storage
    - 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:1896,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1897,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1905,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1907,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1908,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1914,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1921,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1923,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1923,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1924,1
    - Dst: genkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1925,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1926,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1929,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1931,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1933,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1938,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1939,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: 1941
      start: 1888
    functionDepth: 5
    functionLinenumber: 1888
    functionLinenumberEnd: 1941
    functionName: ossl_ml_kem_genkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ossl_ml_kem_key_reset
    - OPENSSL_cleanse
    - RAND_priv_bytes_ex
    - ossl_ml_kem_have_dkenc
    - CONSTTIME_DECLASSIFY
    - EVP_MD_CTX_free
    - genkey
    - ossl_ml_kem_encode_seed
    - EVP_MD_CTX_new
    - ossl_ml_kem_have_pubkey
    - CONSTTIME_SECRET
    - add_storage
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_genkey(uint8_t *pubenc, size_t publen, ML_KEM_KEY *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1956,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1963,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1969,1
    - Dst: case_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1985,1
    - Dst: case_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1988,1
    - Dst: case_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1991,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1997,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1998,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1999,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2001,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    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: 2003
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 2003
    functionName: ossl_ml_kem_encap_seed
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - case_encap_seed
    - CONSTTIME_DECLASSIFY
    - EVP_MD_CTX_free
    - EVP_MD_CTX_new
    - ossl_ml_kem_have_pubkey
    - 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: 1983
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1983
    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:2014,1
    - Dst: ossl_ml_kem_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2019,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: 2021
      start: 2005
    functionDepth: 2
    functionLinenumber: 2005
    functionLinenumberEnd: 2021
    functionName: ossl_ml_kem_encap_rand
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_encap_seed
    - RAND_bytes_ex
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2035,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2041,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2042,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2053,1
    - Dst: case_decap
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2071,1
    - Dst: case_decap
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2074,1
    - Dst: case_decap
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2077,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2083,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2084,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2085,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    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: 2088
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2088
    functionName: ossl_ml_kem_decap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - case_decap
    - CONSTTIME_DECLASSIFY
    - RAND_bytes_ex
    - ossl_ml_kem_have_prvkey
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - CONSTTIME_SECRET
    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: 2069
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2069
    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:2097,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2097,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2098,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2104,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - ML_KEM_KEY*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2105
    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: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    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: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    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: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    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: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    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: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    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: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    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: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    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: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    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: 286
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 286
    functionName: ripemd160_block_data_order
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: 0
    functionsReached:
    - HOST_c2l
    - RIP1
    - RIP4
    - RIP3
    - RIP2
    - X
    - RIP5
    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: 13
    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: 13
    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:
    - OPENSSL_cleanse
    - RIPEMD160_Init
    - 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: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    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: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    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: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    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:259,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:264,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:264,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:264,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: SM4_T_slow
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - SM4_T_non_lin_sub
    - rotl
    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: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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:274,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:276,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: SM4_key_sub
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - SM4_T_non_lin_sub
    - rotl
    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:305,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:306,1
    - 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: SM4_key_sub
      Src: /src/openssl/crypto/sm4/sm4.c:311,1
    - Dst: SM4_key_sub
      Src: /src/openssl/crypto/sm4/sm4.c:312,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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - key
    - ks
    argTypes:
    - uint8_t*
    - SM4_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 322
    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: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    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:334,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:335,1
    - 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: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:343,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:344,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: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:352,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:353,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - uint8_t*
    - uint8_t*
    - SM4_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 356
    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:360,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:361,1
    - 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: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:365,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:366,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: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:374,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:375,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - uint8_t*
    - uint8_t*
    - SM4_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 378
    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:
    - OPENSSL_strcasecmp
    - ERR_raise
    - OSSL_NELEM
    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:
    - ERR_raise
    - OSSL_NELEM
    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_rand_uniform_uint32
    - OSSL_NELEM
    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:
    - ERR_raise
    - OSSL_NELEM
    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_rand_uniform_uint32
    - OSSL_NELEM
    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:
    - ERR_raise
    - OSSL_NELEM
    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_rand_uniform_uint32
    - OSSL_NELEM
    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_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_derive
    - ERR_raise
    - OSSL_PARAM_construct_end
    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:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - OPENSSL_free
    - ERR_raise
    - ossl_hpke_kdf_extract
    - WPACKET_finish
    - strlen
    - OPENSSL_cleanse
    - WPACKET_memcpy
    - WPACKET_init_static_len
    - OPENSSL_malloc
    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_get_total_written
    - WPACKET_cleanup
    - OPENSSL_free
    - ERR_raise
    - WPACKET_put_bytes_u16
    - WPACKET_finish
    - strlen
    - WPACKET_memcpy
    - WPACKET_init_static_len
    - OPENSSL_malloc
    - ossl_hpke_kdf_expand
    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: 5
    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:409,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke_util.c:412,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke_util.c:414,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/crypto/hpke/hpke_util.c:415,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - kdfname
    - mdname
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 421
    functionName: ossl_kdf_ctx_create
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_KDF_fetch
    - 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:436,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/hpke/hpke_util.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - st
    - synp
    - arrsize
    argTypes:
    - char*
    - synonymttab_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 442
    functionName: synonyms_name2id
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:459,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:464,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hpke/hpke_util.c:483,1
    - Dst: strchr
      Src: /src/openssl/crypto/hpke/hpke_util.c:491,1
    - Dst: synonyms_name2id
      Src: /src/openssl/crypto/hpke/hpke_util.c:499,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:500,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:509,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:510,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:528,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 2
    argNames:
    - suitestr
    - suite
    argTypes:
    - char*
    - OSSL_HPKE_SUITE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 530
    functionName: ossl_hpke_str2suite
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_memdup
    - OPENSSL_strnlen
    - OPENSSL_free
    - synonyms_name2id
    - ERR_raise
    - 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:
    - OSSL_PARAM_construct_utf8_string
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen
    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:168,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:173,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:179,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:184,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:190,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/hpke/hpke.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:195,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:202,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:203,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: 205
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 205
    functionName: hpke_aead_dec
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - EVP_DecryptUpdate
    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:233,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hpke/hpke.c:236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:237,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/hpke/hpke.c:241,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:245,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:251,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:256,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:262,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:267,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/hpke/hpke.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:273,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:279,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hpke/hpke.c:282,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:288,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:289,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: 291
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 291
    functionName: hpke_aead_enc
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_cleanse
    - ERR_raise
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - memcpy
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - ossl_assert
    - EVP_EncryptUpdate
    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: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    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:327,1
    - Dst: ossl_HPKE_KDF_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:329,1
    - Dst: ossl_HPKE_AEAD_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:331,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: 342
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: hpke_suite_check
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_HPKE_KEM_INFO_find_id
    - ossl_HPKE_KDF_INFO_find_id
    - ossl_HPKE_AEAD_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:360,1
    - Dst: ossl_HPKE_KDF_INFO_find_random
      Src: /src/openssl/crypto/hpke/hpke.c:364,1
    - Dst: ossl_HPKE_AEAD_INFO_find_random
      Src: /src/openssl/crypto/hpke/hpke.c:368,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: 373
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: hpke_random_suite
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_HPKE_AEAD_INFO_find_random
    - ossl_HPKE_KEM_INFO_find_random
    - ossl_HPKE_KDF_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:403,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:407,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: 413
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 413
    functionName: hpke_expansion
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - hpke_suite_check
    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:431,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: 439
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 439
    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:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:467,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:470,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:472,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:475,1
    - Dst: evp_pkey_new_raw_nist_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:476,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/crypto/hpke/hpke.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:485,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/hpke/hpke.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:490,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:493,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke.c:497,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:500,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:506,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:511,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:521,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:524,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:528,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:532,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:534,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:540,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:541,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: 543
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 543
    functionName: hpke_encap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - OPENSSL_malloc
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_auth_encapsulate_init
    - evp_pkey_new_raw_nist_public_key
    - ERR_raise
    - OSSL_PARAM_construct_end
    - hpke_kem_id_nist_curve
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - ossl_HPKE_KEM_INFO_find_id
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_new_raw_public_key_ex
    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:564,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:569,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/hpke/hpke.c:572,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:574,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:577,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:580,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:587,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:590,1
    - Dst: evp_pkey_new_raw_nist_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:591,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/crypto/hpke/hpke.c:596,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:603,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:606,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:607,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:612,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:616,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:617,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:620,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:626,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:633,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:634,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:636,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: 641
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 641
    functionName: hpke_decap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_free
    - OPENSSL_malloc
    - ERR_raise
    - OSSL_PARAM_construct_end
    - evp_pkey_new_raw_nist_public_key
    - EVP_PKEY_decapsulate
    - hpke_kem_id_nist_curve
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - ossl_HPKE_KEM_INFO_find_id
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_new_raw_public_key_ex
    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:672,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:676,1
    - Dst: ossl_HPKE_AEAD_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: ossl_HPKE_KDF_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:684,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:686,1
    - Dst: memset
      Src: /src/openssl/crypto/hpke/hpke.c:691,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:696,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:703,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/crypto/hpke/hpke.c:707,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:709,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke.c:712,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/crypto/hpke/hpke.c:721,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:727,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/crypto/hpke/hpke.c:730,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:736,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:742,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/crypto/hpke/hpke.c:745,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:752,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:758,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:761,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:767,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:771,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:774,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:780,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:785,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:788,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:794,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:800,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:801,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:802,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: 804
      start: 654
    functionDepth: 5
    functionLinenumber: 654
    functionLinenumberEnd: 804
    functionName: hpke_do_middle
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - ossl_hpke_labeled_extract
    - OPENSSL_cleanse
    - ERR_raise
    - ossl_HPKE_KDF_INFO_find_id
    - ossl_HPKE_AEAD_INFO_find_id
    - ossl_kdf_ctx_create
    - memset
    - strlen
    - ossl_hpke_labeled_expand
    - ossl_HPKE_KEM_INFO_find_id
    - 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:819,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:820,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:823,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:824,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:828,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hpke/hpke.c:831,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/hpke/hpke.c:836,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/hpke/hpke.c:841,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:843,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/hpke/hpke.c:856,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:857,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:858,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: 860
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 860
    functionName: OSSL_HPKE_CTX_new
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - hpke_suite_check
    - OPENSSL_free
    - ERR_raise
    - hpke_mode_check
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    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:866,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:867,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:868,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:869,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:870,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:871,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:872,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:873,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:874,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:875,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:876,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_HPKE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 880
    functionName: OSSL_HPKE_CTX_free
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - OPENSSL_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:887,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:891,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:895,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke.c:898,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:899,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke.c:902,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:903,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:908,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:912,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hpke/hpke.c:913,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:917,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/hpke/hpke.c:918,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:920,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: 926
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 926
    functionName: OSSL_HPKE_CTX_set1_psk
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - OPENSSL_free
    - OPENSSL_clear_free
    - ERR_raise
    - 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:932,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:936,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:940,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:943,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hpke/hpke.c:944,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: 949
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 949
    functionName: OSSL_HPKE_CTX_set1_ikme
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_memdup
    - ERR_raise
    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:954,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:959,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:963,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:966,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/crypto/hpke/hpke.c:967,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - priv
    argTypes:
    - OSSL_HPKE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 971
    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:983,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:988,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:992,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:996,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:999,1
    - Dst: evp_pkey_new_raw_nist_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:1000,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/crypto/hpke/hpke.c:1004,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1011,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:1018,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/hpke/hpke.c:1021,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:1025,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1026,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:1030,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:1036,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: 1038
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1038
    functionName: OSSL_HPKE_CTX_set1_authpub
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_free
    - OPENSSL_malloc
    - evp_pkey_new_raw_nist_public_key
    - ERR_raise
    - hpke_kem_id_nist_curve
    - EVP_PKEY_free
    - ossl_HPKE_KEM_INFO_find_id
    - EVP_PKEY_new_raw_public_key_ex
    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:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - seq
    argTypes:
    - OSSL_HPKE_CTX*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1048
    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:1053,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - seq
    argTypes:
    - OSSL_HPKE_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1067
    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:1079,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1083,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1087,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1091,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/crypto/hpke/hpke.c:1094,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1096,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1101,1
    - Dst: hpke_encap
      Src: /src/openssl/crypto/hpke/hpke.c:1104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1105,1
    - Dst: hpke_do_middle
      Src: /src/openssl/crypto/hpke/hpke.c:1113,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: 1115
      start: 1069
    functionDepth: 6
    functionLinenumber: 1069
    functionLinenumberEnd: 1115
    functionName: OSSL_HPKE_encap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_do_middle
    - OSSL_HPKE_get_public_encap_size
    - ERR_raise
    - hpke_encap
    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:1126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1138,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/crypto/hpke/hpke.c:1141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1148,1
    - Dst: hpke_decap
      Src: /src/openssl/crypto/hpke/hpke.c:1151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1153,1
    - Dst: hpke_do_middle
      Src: /src/openssl/crypto/hpke/hpke.c:1161,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: 1163
      start: 1117
    functionDepth: 6
    functionLinenumber: 1117
    functionLinenumberEnd: 1163
    functionName: OSSL_HPKE_decap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_do_middle
    - OSSL_HPKE_get_public_encap_size
    - hpke_decap
    - ERR_raise
    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:1175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1188,1
    - Dst: hpke_seqnonce2buf
      Src: /src/openssl/crypto/hpke/hpke.c:1191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1193,1
    - Dst: hpke_aead_enc
      Src: /src/openssl/crypto/hpke/hpke.c:1196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1197,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1198,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1203,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: 1205
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1205
    functionName: OSSL_HPKE_seal
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_seqnonce2buf
    - OPENSSL_cleanse
    - ERR_raise
    - hpke_aead_enc
    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:1217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1230,1
    - Dst: hpke_seqnonce2buf
      Src: /src/openssl/crypto/hpke/hpke.c:1233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1235,1
    - Dst: hpke_aead_dec
      Src: /src/openssl/crypto/hpke/hpke.c:1238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1239,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1240,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1244,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: 1246
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1246
    functionName: OSSL_HPKE_open
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_seqnonce2buf
    - OPENSSL_cleanse
    - hpke_aead_dec
    - ERR_raise
    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:1259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1271,1
    - Dst: ossl_HPKE_KDF_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:1274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1276,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/crypto/hpke/hpke.c:1280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1282,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:1292,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:1298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1300,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: 1302
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1302
    functionName: OSSL_HPKE_export
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - ERR_raise
    - ossl_HPKE_KDF_INFO_find_id
    - ossl_kdf_ctx_create
    - ossl_hpke_labeled_expand
    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:1316,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:1319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1326,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:1330,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:1331,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/hpke/hpke.c:1333,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/hpke/hpke.c:1335,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/hpke/hpke.c:1338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1339,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke.c:1343,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:1345,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/hpke/hpke.c:1346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1347,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/hpke/hpke.c:1350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1351,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:1354,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/hpke/hpke.c:1356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1359,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:1367,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:1368,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: 1370
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1370
    functionName: OSSL_HPKE_keygen
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_get_octet_string_param
    - hpke_suite_check
    - ERR_raise
    - OSSL_PARAM_construct_end
    - hpke_kem_id_nist_curve
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite
    argTypes:
    - OSSL_HPKE_SUITE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1375
    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:1391,1
    - Dst: hpke_random_suite
      Src: /src/openssl/crypto/hpke/hpke.c:1396,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1397,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:1403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1416,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/crypto/hpke/hpke.c:1426,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1429,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:1432,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/hpke/hpke.c:1433,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1434,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: 1440
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1440
    functionName: OSSL_HPKE_get_grease_value
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_suite_check
    - ERR_raise
    - OSSL_HPKE_keygen
    - RAND_bytes_ex
    - EVP_PKEY_free
    - hpke_random_suite
    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:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - suite
    argTypes:
    - char*
    - OSSL_HPKE_SUITE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1442
    functionDepth: 5
    functionLinenumber: 1442
    functionLinenumberEnd: 1445
    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:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - suite
    - clearlen
    argTypes:
    - OSSL_HPKE_SUITE
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1447
    functionDepth: 3
    functionLinenumber: 1447
    functionLinenumberEnd: 1455
    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:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - suite
    argTypes:
    - OSSL_HPKE_SUITE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    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:1472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - suite
    argTypes:
    - OSSL_HPKE_SUITE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1468
    functionDepth: 2
    functionLinenumber: 1468
    functionLinenumberEnd: 1478
    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: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    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:59,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cmac/cmac.c:61,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmac/cmac.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: CMAC_CTX_new
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_malloc
    - OPENSSL_free
    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: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
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    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: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    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:89,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cmac/cmac.c:90,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmac/cmac.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: CMAC_CTX_free
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - CMAC_CTX_cleanup
    - OPENSSL_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:100,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/cmac/cmac.c:102,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
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - CMAC_CTX*
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: CMAC_CTX_copy
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - memcpy
    - EVP_CIPHER_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in)
  - BBCount: 14
    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_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:136,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cmac/cmac.c:145,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/cmac/cmac.c:148,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:150,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cmac/cmac.c:152,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:154,1
    - Dst: make_kn
      Src: /src/openssl/crypto/cmac/cmac.c:156,1
    - Dst: make_kn
      Src: /src/openssl/crypto/cmac/cmac.c:157,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:158,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:160,1
    - Dst: memset
      Src: /src/openssl/crypto/cmac/cmac.c:163,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - key
    - keylen
    - cipher
    - param
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    - EVP_CIPHER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 167
    functionName: ossl_cmac_init
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_block_size
    - make_kn
    - EVP_EncryptInit_ex2
    - memset
    - 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, const OSSL_PARAM param[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmac/cmac.c:172,1
    - Dst: ossl_cmac_init
      Src: /src/openssl/crypto/cmac/cmac.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - key
    - keylen
    - cipher
    - impl
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    - EVP_CIPHER*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: CMAC_Init
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - ossl_cmac_init
    - ossl_assert
    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:188,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:197,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:205,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:218,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:225,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:232,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:236,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:240,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - in
    - dlen
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 243
    functionName: CMAC_Update
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - memcpy
    - 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:251,1
    - Dst: memset
      Src: /src/openssl/crypto/cmac/cmac.c:265,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:269,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:270,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: 274
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 274
    functionName: CMAC_Final
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - OPENSSL_cleanse
    - 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:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    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: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    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:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - alg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    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:
    - set_type_and_clear
    - copy_keypair_address
    - SLH_DSA_KEY*::hash_func::PRF
    - SLH_ADRS_DECLARE
    - copy
    - SLH_ADRS_FUNC_DECLARE
    - set_tree_index
    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::H
    - SLH_DSA_KEY*::hash_func::F
    - slh_fors_node
    - slh_fors_sk_gen
    - set_tree_height
    - OPENSSL_cleanse
    - SLH_ADRS_FUNC_DECLARE
    - set_tree_index
    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
    - WPACKET_memcpy
    - slh_fors_node
    - slh_fors_sk_gen
    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:
    - set_type_and_clear
    - F
    - SLH_HASH_FUNC_DECLARE
    - SLH_HASH_FN_DECLARE
    - SLH_ADRS_FN_DECLARE
    - SLH_ADRS_FUNC_DECLARE
    - WPACKET_get_total_written
    - WPACKET_finish
    - set_tree_height
    - copy_keypair_address
    - SLH_ADRS_DECLARE
    - WPACKET_init_static_len
    - WPACKET_allocate_bytes
    - T
    - H
    - slh_base_2b
    - PACKET_get_bytes
    - copy
    - set_tree_index
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - out
    - ','
    - outlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: sha256_final
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sha256_final(ctx, out, outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - out
    - ','
    - outlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: sha512_final
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sha512_final(ctx, out, outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha3_reset
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:71,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:72,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:73,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:74,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:75,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    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: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: slh_hmsg_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    - ossl_sha3_squeeze
    - ossl_sha3_reset
    linkageType: ''
    returnType: int
    signature: "int slh_hmsg_shake(SLH_DSA_HASH_CTX *hctx, 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: ossl_sha3_reset
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:90,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:91,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:92,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:93,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:94,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    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: 96
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: slh_prf_msg_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    - WPACKET_memcpy
    - ossl_sha3_squeeze
    - ossl_sha3_reset
    linkageType: ''
    returnType: int
    signature: "int slh_prf_msg_shake(SLH_DSA_HASH_CTX *hctx, 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: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:106,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:107,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: slh_f_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    - ossl_sha3_squeeze
    linkageType: ''
    returnType: int
    signature: "int slh_f_shake(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: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:121,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:122,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: slh_prf_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    - ossl_sha3_squeeze
    linkageType: ''
    returnType: int
    signature: "int slh_prf_shake(SLH_DSA_HASH_CTX *hctx,\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: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:135,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:136,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:137,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    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: 140
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: slh_h_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    - ossl_sha3_squeeze
    linkageType: ''
    returnType: int
    signature: "int slh_h_shake(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: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:156,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:157,1
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:159,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:160,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:161,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:162,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:163,1
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:164,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    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: 166
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: slh_hmsg_sha256
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - PKCS1_MGF1
    - SHA256_Final
    - memcpy
    - SHA256_Init
    linkageType: ''
    returnType: int
    signature: "int slh_hmsg_sha256(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: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:180,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:181,1
    - Dst: SHA512_Init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:183,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:184,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:185,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:186,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:187,1
    - Dst: SHA512_Final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:188,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    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: 190
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: slh_hmsg_sha512
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - SHA512_Update
    - PKCS1_MGF1
    - SHA512_Final
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int slh_hmsg_sha512(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: EVP_MD_get0_name
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:212,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:216,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:218,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:220,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:225,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:226,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:227,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:228,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:229,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: 231
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 231
    functionName: slh_prf_msg_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_update
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_MAC_init
    - WPACKET_memcpy
    - EVP_MAC_final
    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: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:241,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:242,1
    - Dst: sha256_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: slh_prf_sha256
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - sha256_final
    linkageType: ''
    returnType: int
    signature: "int slh_prf_sha256(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: SLH_WOTS_LEN
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:254,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:259,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:260,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:261,1
    - Dst: SLH_ADRS_FUNC*::copy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:263,1
    - Dst: SLH_ADRS_FUNC*::set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:264,1
    - Dst: SLH_ADRS_FUNC*::copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:265,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:268,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:272,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:273,1
    - Dst: sha256_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:274,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:276,1
    - Dst: set_hash_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:278,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:281,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:282,1
    - Dst: sha256_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:283,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - hctx
    - 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: 290
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 290
    functionName: slh_wots_pk_gen_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - SLH_ADRS_FUNC*::copy_keypair_address
    - SLH_ADRS_FUNC*::copy
    - set_chain_address
    - SLH_ADRS_FUNC*::set_type_and_clear
    - SLH_WOTS_LEN
    - SLH_ADRS_DECLARE
    - set_hash_address
    - memcpy
    - SLH_ADRS_FN_DECLARE
    - sha256_final
    linkageType: ''
    returnType: int
    signature: "int slh_wots_pk_gen_sha2(SLH_DSA_HASH_CTX *hctx,\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: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLH_WOTS_LEN
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:298,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:301,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:302,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:303,1
    - Dst: SLH_ADRS_FUNC*::copy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:307,1
    - Dst: SLH_ADRS_FUNC*::set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:308,1
    - Dst: SLH_ADRS_FUNC*::copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:309,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:312,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:316,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:317,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:318,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:320,1
    - Dst: set_hash_address
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:322,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:325,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:326,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:327,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - hctx
    - 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: 334
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 334
    functionName: slh_wots_pk_gen_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    - ossl_sha3_squeeze
    - SLH_ADRS_FUNC*::copy_keypair_address
    - SLH_ADRS_FUNC*::copy
    - set_chain_address
    - SLH_ADRS_FUNC*::set_type_and_clear
    - SLH_WOTS_LEN
    - SLH_ADRS_DECLARE
    - set_hash_address
    - memcpy
    - SLH_ADRS_FN_DECLARE
    linkageType: ''
    returnType: int
    signature: "int slh_wots_pk_gen_shake(SLH_DSA_HASH_CTX *hctx,\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: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:342,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:343,1
    - Dst: sha256_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 346
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: slh_f_sha256
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - sha256_final
    linkageType: ''
    returnType: int
    signature: "int slh_f_sha256(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: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:356,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:357,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:358,1
    - Dst: sha256_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    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: 361
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: slh_h_sha256
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - sha256_final
    linkageType: ''
    returnType: int
    signature: "int slh_h_sha256(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: SHA512_Init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:371,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:372,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:373,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:374,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:375,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:376,1
    - Dst: sha512_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    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: 379
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 379
    functionName: slh_h_sha512
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - SHA512_Update
    - sha512_final
    linkageType: ''
    returnType: int
    signature: "int slh_h_sha512(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: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:387,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:388,1
    - Dst: sha256_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: slh_t_sha256
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - sha256_final
    linkageType: ''
    returnType: int
    signature: "int slh_t_sha256(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:
    - Dst: SHA512_Init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:401,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:402,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:403,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:404,1
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:405,1
    - Dst: sha512_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    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: 408
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 408
    functionName: slh_t_sha512
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - SHA512_Update
    - sha512_final
    linkageType: ''
    returnType: int
    signature: "int slh_t_sha512(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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_shake256_new
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:414,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:417,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:419,1
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - hctx
    - pkseed
    - n
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 426
    functionName: slh_hash_shake_precache
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - ossl_shake256_new
    - OPENSSL_memdup
    - ossl_sha3_absorb
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int slh_hash_shake_precache(SLH_DSA_HASH_CTX *hctx, const uint8_t *pkseed,
      size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:431,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SLH_DSA_HASH_CTX*
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 444
    functionName: slh_hash_shake_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int slh_hash_shake_dup(SLH_DSA_HASH_CTX *dst, const SLH_DSA_HASH_CTX
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:448,1
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:452,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:453,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hctx
    - pkseed
    - n
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: slh_hash_sha256_precache
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    - OPENSSL_zalloc
    - SHA256_Init
    linkageType: ''
    returnType: int
    signature: int slh_hash_sha256_precache(SLH_DSA_HASH_CTX *hctx, const uint8_t
      *pkseed, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SLH_DSA_HASH_CTX*
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: slh_hash_sha256_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int slh_hash_sha256_dup(SLH_DSA_HASH_CTX *dst, const SLH_DSA_HASH_CTX
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - is_shake
    - security_category
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 501
    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, int security_category)
  - 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
    - WPACKET_allocate_bytes
    - SLH_ADRS_FN_DECLARE
    - SLH_HASH_FUNC_DECLARE
    - SLH_HASH_FN_DECLARE
    - set_hash_address
    - WPACKET_memcpy
    - SLH_ADRS_FUNC_DECLARE
    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: 2
    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:149,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:150,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:151,1
    - Dst: wots_pk_gen
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:153,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:156,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:157,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:158,1
    - Dst: T
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    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: 162
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: ossl_slh_wots_pk_gen
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - set_type_and_clear
    - copy_keypair_address
    - wots_pk_gen
    - SLH_HASH_FUNC_DECLARE
    - T
    - SLH_WOTS_LEN
    - SLH_ADRS_DECLARE
    - copy
    - SLH_ADRS_FUNC_DECLARE
    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:190,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:193,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:194,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:195,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:196,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:197,1
    - Dst: slh_bytes_to_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:203,1
    - Dst: compute_checksum_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:205,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:207,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:208,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:209,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:212,1
    - Dst: PRF
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:214,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:216,1
    - Dst: slh_wots_chain
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:218,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: 225
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 225
    functionName: ossl_slh_wots_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - set_type_and_clear
    - copy_keypair_address
    - SLH_ADRS_FN_DECLARE
    - SLH_HASH_FUNC_DECLARE
    - SLH_HASH_FN_DECLARE
    - compute_checksum_nibbles
    - set_chain_address
    - slh_bytes_to_nibbles
    - slh_wots_chain
    - SLH_WOTS_LEN1
    - copy
    - SLH_ADRS_FUNC_DECLARE
    - PRF
    - SLH_ADRS_DECLARE
    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:253,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:260,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:261,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:262,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:263,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:265,1
    - Dst: slh_bytes_to_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:268,1
    - Dst: compute_checksum_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:269,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:273,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:274,1
    - Dst: slh_wots_chain
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:275,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:281,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:282,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:283,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:284,1
    - Dst: T
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:286,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:289,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: 292
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 292
    functionName: ossl_slh_wots_pk_from_sig
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - set_type_and_clear
    - WPACKET_get_total_written
    - copy_keypair_address
    - PACKET_get_bytes
    - SLH_ADRS_FN_DECLARE
    - SLH_HASH_FUNC_DECLARE
    - set_chain_address
    - compute_checksum_nibbles
    - T
    - slh_bytes_to_nibbles
    - slh_wots_chain
    - WPACKET_finish
    - SLH_WOTS_LEN1
    - copy
    - SLH_ADRS_FUNC_DECLARE
    - WPACKET_init_static_len
    - SLH_ADRS_DECLARE
    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: 2
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: ossl_slh_xmss_node
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_xmss.c
    functionUses: 1
    functionsReached:
    - set_type_and_clear
    - SLH_DSA_KEY*::hash_func::H
    - ossl_slh_wots_pk_gen
    - set_keypair_address
    - ossl_slh_xmss_node
    - set_tree_height
    - SLH_ADRS_FUNC_DECLARE
    - set_tree_index
    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: 5
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: ossl_slh_xmss_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_xmss.c
    functionUses: 0
    functionsReached:
    - set_type_and_clear
    - WPACKET_allocate_bytes
    - set_keypair_address
    - ossl_slh_xmss_node
    - ossl_slh_wots_sign
    - SLH_ADRS_DECLARE
    - copy
    - SLH_ADRS_FUNC_DECLARE
    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:
    - set_type_and_clear
    - ossl_slh_wots_pk_from_sig
    - PACKET_get_bytes
    - set_keypair_address
    - SLH_ADRS_FN_DECLARE
    - SLH_HASH_FUNC_DECLARE
    - SLH_HASH_FN_DECLARE
    - H
    - set_tree_height
    - SLH_ADRS_FUNC_DECLARE
    - set_tree_index
    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: 1
    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:26,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:27,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: slh_dsa_key_hash_cleanup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_MAC_free
    - OPENSSL_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:39,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:49,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:53,1
    - Dst: ossl_slh_get_adrs_fn
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:57,1
    - Dst: ossl_slh_get_hash_fn
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: slh_dsa_key_hash_init
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_slh_get_hash_fn
    - EVP_MAC_fetch
    - ossl_slh_get_adrs_fn
    - EVP_MD_fetch
    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:67,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:69,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SLH_DSA_KEY*
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ossl_slh_dsa_key_get0_libctx
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_slh_dsa_key_get0_libctx(const SLH_DSA_KEY *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_params_get
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:97,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:102,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:107,1
    - Dst: slh_dsa_key_hash_init
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:111,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - libctx
    - propq
    - alg
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: ossl_slh_dsa_key_new
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - slh_dsa_key_hash_init
    - ossl_slh_dsa_key_free
    - 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:128,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ossl_slh_dsa_key_free
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 1
    functionsReached:
    - slh_dsa_key_hash_cleanup
    - OPENSSL_cleanse
    - OPENSSL_free
    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:148,1
    - Dst: slh_dsa_key_hash_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:154,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:156,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:163,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 172
    functionName: ossl_slh_dsa_key_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - slh_dsa_key_hash_dup
    - SLH_DSA_PUB
    - ossl_slh_dsa_key_free
    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:196,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:204,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: 214
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: ossl_slh_dsa_key_equal
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - 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: 227
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 227
    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:237,1
    - Dst: slh_dsa_compute_pk_root
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:240,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 243
    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
    - ossl_slh_dsa_hash_ctx_free
    - slh_dsa_compute_pk_root
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_pairwise_check(const SLH_DSA_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: ossl_slh_dsa_key_reset
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ossl_slh_dsa_key_reset(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:274,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:282,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:287,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:302,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:304,1
    - Dst: ossl_slh_dsa_key_reset
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - key
    - param_pub
    - param_priv
    - include_private
    argTypes:
    - SLH_DSA_KEY*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 312
    functionName: ossl_slh_dsa_key_fromdata
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - SLH_DSA_PUB
    - ossl_slh_dsa_key_reset
    - 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:329,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:330,1
    - Dst: zero
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:335,1
    - Dst: set_layer_address
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:336,1
    - Dst: SLH_DSA_PK_ROOT
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:338,1
    - Dst: ossl_slh_xmss_node
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:341,1
    - Dst: SLH_DSA_SK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:341,1
    - Dst: SLH_DSA_PK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:342,1
    - Dst: memcmp
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:343,1
    - Dst: SLH_DSA_PK_ROOT
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:343,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: 344
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: slh_dsa_compute_pk_root
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 1
    functionsReached:
    - SLH_DSA_PK_ROOT
    - memcmp
    - SLH_DSA_PK_SEED
    - ossl_slh_xmss_node
    - SLH_DSA_SK_SEED
    - zero
    - set_layer_address
    - SLH_ADRS_DECLARE
    - SLH_ADRS_FUNC_DECLARE
    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:368,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:369,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:374,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:376,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:377,1
    - Dst: ossl_slh_dsa_hash_ctx_prehash_pk_seed
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:381,1
    - Dst: slh_dsa_compute_pk_root
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:382,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    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: 392
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 392
    functionName: ossl_slh_dsa_generate_key
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_hash_ctx_prehash_pk_seed
    - slh_dsa_compute_pk_root
    - OPENSSL_cleanse
    - RAND_priv_bytes_ex
    - RAND_bytes_ex
    - SLH_DSA_PUB
    - SLH_DSA_PRIV
    - memcpy
    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:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - alg
    argTypes:
    - SLH_DSA_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 407
    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: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    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: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    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: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    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: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    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: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    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: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    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: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    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: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    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: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    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:462,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:464,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:466,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: 468
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 468
    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:472,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:474,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:475,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: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    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:486,1
    - Dst: ossl_slh_dsa_key_get_name
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:489,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:490,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:492,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:498,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:499,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:503,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:505,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:505,1
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:506,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:509,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:513,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:513,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 518
    functionName: ossl_slh_dsa_key_to_text
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_slh_dsa_key_get_pub_len
    - ERR_raise_data
    - ERR_raise
    - ossl_slh_dsa_key_get_pub
    - ossl_slh_dsa_key_get_priv_len
    - ossl_slh_dsa_key_get_priv
    - ossl_slh_dsa_key_get_name
    - ossl_bio_print_labeled_buf
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_to_text(BIO *out, const SLH_DSA_KEY *key, int
      selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:30,1
    - Dst: ossl_slh_dsa_hash_ctx_prehash_pk_seed
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:37,1
    - Dst: SLH_DSA_PK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:37,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:41,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: ossl_slh_dsa_hash_ctx_new
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_slh_dsa_hash_ctx_prehash_pk_seed
    - SLH_DSA_PK_SEED
    - ossl_slh_dsa_hash_ctx_free
    - EVP_MAC_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:59,1
    - Dst: SLH_DSA_HASH_CTX*::key::hash_func::prehash_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:68,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:71,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - src
    argTypes:
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: ossl_slh_dsa_hash_ctx_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_hash_ctx_free
    - OPENSSL_zalloc
    - SLH_DSA_HASH_CTX*::key::hash_func::prehash_dup
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: SLH_DSA_HASH_CTX
    signature: SLH_DSA_HASH_CTX *ossl_slh_dsa_hash_ctx_dup(const SLH_DSA_HASH_CTX
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLH_DSA_HASH_CTX*::key::hash_func::prehash_pk_seed
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pkseed
    - n
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ossl_slh_dsa_hash_ctx_prehash_pk_seed
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c
    functionUses: 2
    functionsReached:
    - SLH_DSA_HASH_CTX*::key::hash_func::prehash_pk_seed
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_dsa_hash_ctx_prehash_pk_seed(SLH_DSA_HASH_CTX *ctx,\n
      \   const uint8_t *pkseed, size_t n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:102,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    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
    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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: SLH_WOTS_LEN
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_local.h
    functionUses: 3
    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: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: SLH_HASH_FN_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.h
    functionUses: 4
    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: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: SLH_ADRS_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.h
    functionUses: 9
    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: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: SLH_ADRS_FN_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.h
    functionUses: 7
    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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    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: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SLH_DSA_PK_SEED
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 2
    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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    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: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    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: 10
    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:123,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    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:
    - set_type_and_clear
    - PACKET_buf_init
    - SLH_DSA_PK_SEED
    - ossl_slh_fors_pk_from_sig
    - SLH_HASH_FUNC_DECLARE
    - H_MSG
    - SLH_DSA_SK_SEED
    - ossl_slh_ht_sign
    - SLH_ADRS_FUNC_DECLARE
    - ERR_raise_data
    - SLH_DSA_SK_PRF
    - set_keypair_address
    - ERR_raise
    - set_tree_address
    - zero
    - WPACKET_finish
    - SLH_ADRS_DECLARE
    - WPACKET_init_static_len
    - SLH_DSA_PK_ROOT
    - WPACKET_get_curr
    - PRF_MSG
    - PACKET_get_bytes
    - MD_LEN
    - get_tree_ids
    - ossl_slh_fors_sign
    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:
    - SLH_DSA_PK_ROOT
    - set_type_and_clear
    - PACKET_remaining
    - PACKET_buf_init
    - PACKET_get_bytes
    - SLH_DSA_PK_SEED
    - set_keypair_address
    - ERR_raise
    - SLH_HASH_FUNC_DECLARE
    - H_MSG
    - MD_LEN
    - get_tree_ids
    - set_tree_address
    - zero
    - ossl_slh_fors_pk_from_sig
    - ossl_slh_ht_verify
    - SLH_ADRS_DECLARE
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:256,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:260,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:261,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:262,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:263,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:264,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:267,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    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: 272
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 272
    functionName: msg_encode
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - WPACKET_cleanup
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - WPACKET_memcpy
    - WPACKET_init_static_len
    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:289,1
    - Dst: slh_sign_internal
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:296,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: 298
      start: 278
    functionDepth: 6
    functionLinenumber: 278
    functionLinenumberEnd: 298
    functionName: ossl_slh_dsa_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - msg_encode
    - slh_sign_internal
    - OPENSSL_free
    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:314,1
    - Dst: slh_verify_internal
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:319,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:321,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: 323
      start: 304
    functionDepth: 6
    functionLinenumber: 304
    functionLinenumberEnd: 323
    functionName: ossl_slh_dsa_verify
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - slh_verify_internal
    - msg_encode
    - OPENSSL_free
    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: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    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:355,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:356,1
    - Dst: bytes_to_u64_be
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:369,1
    - Dst: bytes_to_u64_be
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:370,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: 372
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 372
    functionName: get_tree_ids
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 2
    functionsReached:
    - PACKET_get_bytes
    - bytes_to_u64_be
    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: 6
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: ossl_slh_ht_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hypertree.c
    functionUses: 1
    functionsReached:
    - ossl_slh_xmss_sign
    - WPACKET_get_curr
    - PACKET_buf_init
    - ossl_slh_xmss_pk_from_sig
    - set_tree_address
    - zero
    - set_layer_address
    - SLH_ADRS_DECLARE
    - memcpy
    - 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:
    - ossl_slh_xmss_pk_from_sig
    - memcmp
    - set_tree_address
    - zero
    - set_layer_address
    - SLH_ADRS_DECLARE
    - memcpy
    - 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:
    - memset
    - OPENSSL_store_u32_be
    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:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - EVP_PBE_find
    - ERR_set_mark
    - ERR_raise
    - PKCS5_pbe_set_ex
    - PKCS8_set0_pbe_ex
    - X509_ALGOR_free
    - PKCS5_pbe2_set_iv_ex
    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:76,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:79,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:83,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:86,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: 93
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: PKCS8_set0_pbe_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ASN1_OCTET_STRING_free
    - PKCS12_item_i2d_encrypt_ex
    - ERR_raise
    - ASN1_ITEM_rptr
    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:98,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: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    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: 0
    functionsReached:
    - ASN1_item_free
    - ASN1_ITEM_rptr
    - OPENSSL_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
    - EVP_PKEY_get_attr_by_NID
    - X509at_add1_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:114,1
    - Dst: PKCS12_add_key_ex
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:118,1
    - Dst: copy_bag_attr
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:124,1
    - Dst: copy_bag_attr
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:126,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:129,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:131,1
    - Dst: cb
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:136,1
    - Dst: pkcs12_remove_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:139,1
    - Dst: PKCS12_add_safe
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:144,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:147,1
    - Dst: PKCS12_add_safes_ex
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:150,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:155,1
    - Dst: PKCS12_set_mac
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:159,1
    - Dst: PKCS12_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:165,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:166,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:167,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: 169
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 169
    functionName: PKCS12_create_ex2
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 0
    functionsReached:
    - X509_digest
    - PKCS12_add_friendlyname
    - PKCS12_add_safes_ex
    - EVP_sha1
    - sk_X509_num
    - PKCS12_set_mac
    - PKCS12_add_key_ex
    - sk_PKCS7_pop_free
    - PKCS12_add_cert
    - cb
    - ERR_raise
    - STACK_OF
    - X509_alias_get0
    - PKCS12_free
    - pkcs12_remove_bag
    - PKCS12_add_safe
    - pkcs12_add_cert_bag
    - copy_bag_attr
    - sk_PKCS12_SAFEBAG_pop_free
    - X509_keyid_get0
    - X509_check_private_key
    - sk_X509_value
    - PKCS12_add_safe_ex
    - PKCS12_add_localkeyid
    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:176,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: 179
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 179
    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:185,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: 187
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 187
    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:199,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:202,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:205,1
    - Dst: pkcs12_add_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:208,1
    - Dst: PKCS12_SAFEBAG_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:214,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: 216
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 216
    functionName: pkcs12_add_cert_bag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 1
    functionsReached:
    - pkcs12_add_bag
    - PKCS12_SAFEBAG_free
    - PKCS12_add_friendlyname
    - PKCS12_add_localkeyid
    - PKCS12_SAFEBAG_create_cert
    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    const unsigned
      char *keyid,\n    int keyidlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/pkcs12/pk12err.c:60,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/pkcs12/pk12err.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    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:41,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:47,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:48,1
    - Dst: newpass_p12
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p12
    - oldpass
    - newpass
    argTypes:
    - PKCS12*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: PKCS12_newpass
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 0
    functionsReached:
    - newpass_p12
    - PKCS12_verify_mac
    - ERR_raise
    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:64,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:65,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:74,1
    - Dst: sk_PKCS7_new_null
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:76,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:78,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:79,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:81,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:83,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:85,1
    - Dst: alg_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:87,1
    - Dst: newpass_bags
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:95,1
    - Dst: PKCS12_pack_p7data
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:100,1
    - Dst: PKCS12_pack_p7encdata_ex
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:102,1
    - Dst: sk_PKCS7_push
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:105,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:106,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:109,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:116,1
    - Dst: PKCS12_pack_authsafes
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:118,1
    - Dst: PKCS12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:122,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:124,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:125,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:134,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:136,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:139,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:140,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:141,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 3
    argNames:
    - p12
    - oldpass
    - newpass
    argTypes:
    - PKCS12*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 143
    functionName: newpass_p12
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 1
    functionsReached:
    - PKCS12_gen_mac
    - sk_PKCS7_pop_free
    - sk_PKCS7_new_null
    - ASN1_OCTET_STRING_free
    - X509_SIG_getm
    - PKCS12_unpack_p7data
    - STACK_OF
    - PKCS7_free
    - sk_PKCS7_push
    - ASN1_OCTET_STRING_set
    - OBJ_obj2nid
    - PKCS12_unpack_p7encdata
    - PKCS12_pack_p7data
    - alg_get
    - ASN1_OCTET_STRING_new
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS7_num
    - newpass_bags
    - PKCS12_unpack_authsafes
    - PKCS12_pack_authsafes
    - sk_PKCS7_value
    - PKCS12_pack_p7encdata_ex
    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:170,1
    - Dst: PKCS8_decrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:173,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:177,1
    - Dst: alg_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:178,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:179,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:183,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:183,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:185,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:189,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:191,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:192,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:195,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: 198
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 198
    functionName: newpass_bag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 0
    functionsReached:
    - X509_SIG_get0
    - PKCS8_PRIV_KEY_INFO_free
    - OBJ_nid2sn
    - PKCS12_SAFEBAG_get_nid
    - PKCS8_encrypt_ex
    - X509_SIG_free
    - EVP_CIPHER_fetch
    - PKCS8_decrypt_ex
    - EVP_CIPHER_free
    - alg_get
    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:211,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:212,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:217,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:217,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:221,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:222,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:223,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:226,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:226,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:237,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:238,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:241,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:246,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:246,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:249,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:250,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:259,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:261,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:263,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: 265
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 265
    functionName: alg_get
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 2
    functionsReached:
    - ASN1_item_unpack
    - ASN1_INTEGER_get
    - ASN1_TYPE_unpack_sequence
    - OBJ_obj2nid
    - ASN1_ITEM_rptr
    - X509_ALGOR_get0
    - PBEPARAM_free
    - PBKDF2PARAM_free
    - PBE2PARAM_free
    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:29,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:34,1
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:39,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:52,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:57,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:57,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:61,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:69,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:76,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:82,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:85,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:88,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:93,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:94,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:96,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:102,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:102,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:105,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:106,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:111,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:122,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: 124
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 124
    functionName: PKCS12_pbe_crypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_zalloc
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_PBE_CipherInit_ex
    - OPENSSL_free
    - EVP_CIPHER_CTX_get_block_size
    - ERR_raise_data
    - EVP_CIPHER_get_flags
    - ERR_raise
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherFinal_ex
    - EVP_CIPHER_CTX_free
    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:131,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: 133
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: PKCS12_pbe_crypt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:152,1
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:162,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:164,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:166,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:167,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    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: 174
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: PKCS12_item_decrypt_d2i_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - PKCS12_pbe_crypt_ex
    - BIO_printf
    - OSSL_TRACE_END
    - OPENSSL_free
    - ERR_raise
    - ASN1_item_d2i
    - BIO_dump
    - OPENSSL_cleanse
    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:162,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    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:180,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: 182
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 182
    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:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:201,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:206,1
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:212,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:216,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:217,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:220,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: 222
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 222
    functionName: PKCS12_item_i2d_encrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 1
    functionsReached:
    - ASN1_item_i2d
    - PKCS12_pbe_crypt_ex
    - ASN1_OCTET_STRING_free
    - OPENSSL_free
    - OPENSSL_cleanse
    - ERR_raise
    - 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:229,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: 230
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 230
    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:
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_new
    - ERR_raise
    - ossl_pkcs7_set1_propq
    - ossl_pkcs7_set0_libctx
    - PKCS12_new
    - PKCS12_free
    - ASN1_INTEGER_set
    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:
    - OBJ_nid2obj
    - ASN1_item_pack
    - ERR_raise
    - PKCS12_BAGS_free
    - PKCS12_BAGS_new
    - PKCS12_SAFEBAG_new
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: "PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM
      *it,\n    int nid1, int nid2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:104,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/pkcs12/p12_add.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:108,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_add.c:112,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs12/p12_add.c:113,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_add.c:113,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_add.c:114,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:117,1
    - Dst: PKCS5_pbe_set_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:123,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:126,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:128,1
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:129,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_add.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:131,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:135,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:139,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    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: 142
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 142
    functionName: PKCS12_pack_p7encdata_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_add.c
    functionUses: 1
    functionsReached:
    - PKCS7_set_type
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - ASN1_OCTET_STRING_free
    - PKCS12_item_i2d_encrypt_ex
    - ERR_raise
    - PKCS5_pbe2_set_iv_ex
    - PKCS5_pbe_set_ex
    - PKCS7_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ASN1_ITEM_rptr
    - PKCS7_new_ex
    - X509_ALGOR_free
    - ERR_set_mark
    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:148,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: 150
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 150
    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:174,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: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bag
    - pass
    - passlen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    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: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    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:41,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:41,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:43,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:50,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:53,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:57,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:58,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:61,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:62,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:66,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:67,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:73,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:74,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:75,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:76,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: 78
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 78
    functionName: PKCS12_PBE_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get
    - EVP_CIPHER_get_key_length
    - PKCS12_key_gen_utf8_ex
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - EVP_CIPHER_get_iv_length
    - ASN1_ITEM_rptr
    - PBEPARAM_free
    - OPENSSL_cleanse
    - EVP_CipherInit_ex
    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:84,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: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    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: 133
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 133
    functionName: PKCS12_parse
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_peek_last_error
    - X509_free
    - sk_X509_new_null
    - parse_pk12
    - PKCS12_verify_mac
    - ERR_GET_REASON
    - ERR_raise
    - X509_check_private_key
    - OSSL_STACK_OF_X509_free
    - sk_X509_free
    - STACK_OF
    - ossl_x509_add_cert_new
    - EVP_PKEY_free
    - PKCS12_mac_present
    - ERR_GET_LIB
    - ERR_set_mark
    - sk_X509_shift
    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:141,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:142,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:146,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:148,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:149,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:150,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:152,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:154,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:158,1
    - Dst: parse_bags
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:161,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:163,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:164,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:167,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:169,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: 171
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 171
    functionName: parse_pk12
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - sk_PKCS7_num
    - parse_bags
    - PKCS12_unpack_p7data
    - OBJ_obj2nid
    - PKCS12_unpack_p7encdata
    - PKCS12_unpack_authsafes
    - STACK_OF
    - sk_PKCS7_pop_free
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS7_value
    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:179,1
    - Dst: parse_bag
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:180,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:180,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: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: parse_bags
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - parse_bag
    - sk_PKCS12_SAFEBAG_num
    - 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: 22
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:199,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:205,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:211,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:215,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:215,1
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:224,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:228,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:229,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:236,1
    - Dst: PKCS12_SAFEBAG_get1_cert_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:238,1
    - Dst: X509_keyid_set1
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:240,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:241,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:248,1
    - Dst: X509_alias_set1
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:250,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:251,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:253,1
    - Dst: sk_X509_push
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:259,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:260,1
    - Dst: parse_bags
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:267,1
    - Dst: PKCS12_SAFEBAG_get0_safes
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:267,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    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: 274
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 274
    functionName: parse_bag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - PKCS12_SAFEBAG_get_bag_nid
    - PKCS8_PRIV_KEY_INFO_free
    - ASN1_STRING_to_UTF8
    - PKCS12_decrypt_skey_ex
    - OPENSSL_free
    - X509_free
    - PKCS12_SAFEBAG_get_nid
    - parse_bags
    - PKCS12_SAFEBAG_get0_p8inf
    - X509_alias_set1
    - PKCS12_SAFEBAG_get0_attr
    - sk_X509_push
    - X509_keyid_set1
    - PKCS12_SAFEBAG_get1_cert_ex
    - PKCS12_SAFEBAG_get0_safes
    - EVP_PKCS82PKEY_ex
    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: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: PKCS12_mac_present
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 1
    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:46,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: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    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:76,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:80,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:81,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: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pkcs12_gen_gost_mac_key
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - PKCS5_PBKDF2_HMAC
    - OPENSSL_cleanse
    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:91,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:93,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:97,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:99,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:100,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:104,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:104,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - macalg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: PBMAC1_get1_pbkdf2_param
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - PBMAC1PARAM_free
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PBKDF2PARAM
    signature: PBKDF2PARAM *PBMAC1_get1_pbkdf2_param(const X509_ALGOR *macalg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PBMAC1_get1_pbkdf2_param
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:125,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:132,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:133,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:136,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:136,1
    - Dst: ossl_hmac2mdnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:138,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:145,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:152,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:154,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:159,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:162,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:168,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    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: 172
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 172
    functionName: PBMAC1_PBKDF2_HMAC
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - ossl_hmac2mdnid
    - OBJ_nid2sn
    - ASN1_INTEGER_get
    - ERR_raise_data
    - ERR_raise
    - EVP_MD_fetch
    - OBJ_obj2nid
    - EVP_MD_free
    - X509_ALGOR_get0
    - PBMAC1_get1_pbkdf2_param
    - PBKDF2PARAM_free
    - PKCS5_PBKDF2_HMAC
    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:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:205,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:216,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:217,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:218,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:219,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:220,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:220,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:223,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:229,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:233,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:234,1
    - Dst: PBMAC1_PBKDF2_HMAC
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:241,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:247,1
    - Dst: pkcs12_gen_gost_mac_key
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:251,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:261,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:261,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:263,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:275,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:280,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:284,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:289,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:299,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:300,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    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: 302
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 302
    functionName: pkcs12_gen_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - X509_SIG_get0
    - PBMAC1_PBKDF2_HMAC
    - ASN1_INTEGER_get
    - OBJ_nid2obj
    - EVP_MD_get_type
    - PKCS7_type_is_data
    - pkcs12_gen_gost_mac_key
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_fetch
    - PKCS12_key_gen_utf8_ex
    - OBJ_obj2nid
    - EVP_Q_mac
    - EVP_MD_free
    - X509_ALGOR_get0
    - ossl_safe_getenv
    - OPENSSL_cleanse
    - OBJ_obj2txt
    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,\n        OSSL_LIB_CTX *libctx,\n        const
      char *propq))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:307,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: 308
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 308
    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:320,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:324,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:325,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:326,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:331,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:331,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:333,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:336,1
    - Dst: ossl_hmac2mdnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:337,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:337,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:340,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:341,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:344,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:347,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:351,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:352,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:353,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - p12
    - pass
    - passlen
    argTypes:
    - PKCS12*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 357
    functionName: PKCS12_verify_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 2
    functionsReached:
    - X509_SIG_get0
    - ossl_hmac2mdnid
    - pkcs12_gen_mac
    - PBMAC1PARAM_free
    - CRYPTO_memcmp
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - OBJ_obj2nid
    - ASN1_STRING_length
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - ASN1_STRING_get0_data
    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:370,1
    - Dst: PKCS12_setup_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:374,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:381,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:384,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:386,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: 390
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: PKCS12_set_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 1
    functionsReached:
    - pkcs12_gen_mac
    - EVP_sha256
    - X509_SIG_getm
    - ASN1_OCTET_STRING_set
    - ERR_raise
    - PKCS12_setup_mac
    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: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - keylen
    - out
    - md_type
    - libctx
    - propq
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: pkcs12_pbmac1_pbkdf2_key_gen
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs5_pbkdf2_hmac_ex
    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,\n    OSSL_LIB_CTX *libctx, const char
      *propq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_MAC_DATA_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:408,1
    - Dst: PKCS12_MAC_DATA_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:411,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:415,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:419,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:427,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:431,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:436,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:438,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:439,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:440,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: 445
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 445
    functionName: pkcs12_setup_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - OBJ_nid2obj
    - X509_SIG_getm
    - ERR_raise
    - PKCS12_MAC_DATA_new
    - RAND_bytes_ex
    - memcpy
    - X509_ALGOR_set0
    - ASN1_INTEGER_set
    - PKCS12_MAC_DATA_free
    - 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:451,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:451,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: 452
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 452
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:472,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:475,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:477,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:482,1
    - Dst: ossl_md2hmacnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:484,1
    - Dst: ossl_md2hmacnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:485,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:494,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:498,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:502,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:503,1
    - Dst: PBMAC1PARAM_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:509,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:510,1
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:511,1
    - Dst: pkcs12_setup_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:519,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:523,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:523,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:524,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:528,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:529,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:535,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:536,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:536,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:542,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:545,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:548,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:549,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:555,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:556,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:558,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    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: 560
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 560
    functionName: PKCS12_set_pbmac1_pbkdf2
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - PBMAC1PARAM_new
    - EVP_MD_get_type
    - PKCS5_pbkdf2_set_ex
    - ossl_md2hmacnid
    - RAND_bytes_ex
    - pkcs12_gen_mac
    - OBJ_nid2obj
    - X509_SIG_getm
    - OPENSSL_free
    - ERR_raise
    - pkcs12_setup_mac
    - X509_ALGOR_free
    - ASN1_TYPE_pack_sequence
    - OPENSSL_malloc
    - PBMAC1PARAM_free
    - ASN1_OCTET_STRING_set
    - OBJ_txt2nid
    - X509_ALGOR_set0
    - ASN1_ITEM_rptr
    - EVP_sha256
    - EVP_MD_get_size
    - X509_ALGOR_new
    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:
    - X509_SIG_get0
    - PKCS12_item_decrypt_d2i_ex
    - 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:26,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:30,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: 44
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 44
    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:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - uni
    - unilen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 67
    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:86,1
    - Dst: ossl_utf8_getc_internal
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:89,1
    - Dst: OPENSSL_asc2uni
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:109,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:122,1
    - Dst: ossl_utf8_getc_internal
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:126,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: 151
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 151
    functionName: OPENSSL_utf82uni
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - strlen
    - ossl_utf8_getc_internal
    - OPENSSL_asc2uni
    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: ossl_utf8_putc_internal
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - str
    - utf16
    - len
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 182
    functionName: bmp_to_utf8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_putc_internal
    linkageType: ''
    returnType: int
    signature: int bmp_to_utf8(char *str, const unsigned char *utf16, int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bmp_to_utf8
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:193,1
    - Dst: OPENSSL_uni2asc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:200,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:212,1
    - Dst: bmp_to_utf8
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:220,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - uni
    - unilen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 235
    functionName: OPENSSL_uni2utf8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - bmp_to_utf8
    - OPENSSL_uni2asc
    - OPENSSL_malloc
    - OPENSSL_free
    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:239,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p12
    argTypes:
    - BIO*
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    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:245,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p12
    argTypes:
    - FILE*
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    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:256,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:258,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:259,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:262,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - p12
    argTypes:
    - BIO*
    - PKCS12**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: d2i_PKCS12_bio
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs12_get0_pkcs7ctx
    - ossl_pkcs7_ctx_get0_libctx
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio_ex
    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:273,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:275,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:276,1
    - Dst: ASN1_item_d2i_fp_ex
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:279,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - p12
    argTypes:
    - FILE*
    - PKCS12**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: d2i_PKCS12_fp
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs12_get0_pkcs7ctx
    - ossl_pkcs7_ctx_get0_libctx
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_fp_ex
    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
    - PKCS12_key_gen_uni_ex
    - ERR_raise
    - OPENSSL_asc2uni
    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_clear_free
    - PKCS12_key_gen_uni_ex
    - ERR_raise
    - OPENSSL_utf82uni
    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:113,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:114,1
    - Dst: BIO_hex_string
      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_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:117,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:119,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/pkcs12/p12_key.c:121,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/pkcs12/p12_key.c:123,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:127,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:129,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/pkcs12/p12_key.c:131,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/pkcs12/p12_key.c:133,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: 135
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 135
    functionName: PKCS12_key_gen_uni_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - BIO_printf
    - EVP_KDF_CTX_free
    - BIO_hex_string
    - OSSL_TRACE_END
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_KDF_fetch
    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:113,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:114,1
    - Dst: BIO_hex_string
      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_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:117,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_hex_string
    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:127,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_hex_string
    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:141,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: 142
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 142
    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:
    - OBJ_obj2nid
    - PKCS12_SAFEBAG_get_nid
    linkageType: ''
    returnType: int
    signature: int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: PKCS12_SAFEBAG_get0_bag_type
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: PKCS12_SAFEBAG_get0_bag_obj
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_get_bag_nid
    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:96,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:98,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:100,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: PKCS12_SAFEBAG_get1_cert
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - ASN1_item_unpack
    - OBJ_obj2nid
    - PKCS12_SAFEBAG_get_nid
    - ASN1_ITEM_rptr
    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:106,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:108,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:110,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: PKCS12_SAFEBAG_get1_crl
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - ASN1_item_unpack
    - OBJ_obj2nid
    - PKCS12_SAFEBAG_get_nid
    - ASN1_ITEM_rptr
    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:119,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:121,1
    - Dst: ASN1_item_unpack_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:123,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:124,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:125,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:126,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: 130
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: PKCS12_SAFEBAG_get1_cert_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - ossl_x509_set0_libctx
    - X509_free
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    - ASN1_item_unpack_ex
    - ASN1_ITEM_rptr
    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:137,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:139,1
    - Dst: ASN1_item_unpack_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:141,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:142,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:143,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:144,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: 148
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: PKCS12_SAFEBAG_get1_crl_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - X509_CRL_free
    - OBJ_obj2nid
    - ASN1_item_unpack_ex
    - ASN1_ITEM_rptr
    - ossl_x509_crl_set0_libctx
    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:152,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x509
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 154
    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:158,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 160
    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:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:168,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:171,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:178,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:182,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:184,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:187,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:190,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:197,1
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:202,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:206,1
    - Dst: PKCS12_BAGS_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:210,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: 212
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 212
    functionName: PKCS12_SAFEBAG_create_secret
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - ASN1_TYPE_new
    - ERR_raise
    - PKCS12_BAGS_free
    - PKCS12_BAGS_new
    - PKCS12_SAFEBAG_new
    - ASN1_OCTET_STRING_new
    - ASN1_TYPE_set
    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:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:221,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: PKCS12_SAFEBAG_create0_p8inf
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ERR_raise
    - PKCS12_SAFEBAG_new
    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:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:237,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p8
    argTypes:
    - X509_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: PKCS12_SAFEBAG_create0_pkcs8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ERR_raise
    - PKCS12_SAFEBAG_new
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:258,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:259,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:259,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:260,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:265,1
    - Dst: PKCS12_SAFEBAG_create0_pkcs8
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:270,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:272,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    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: 277
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - PKCS8_encrypt_ex
    - X509_SIG_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - PKCS12_SAFEBAG_create0_pkcs8
    - ERR_set_mark
    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:286,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: 289
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 289
    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:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    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, const 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:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p8
    - usage
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    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:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    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:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    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:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    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:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    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:87,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: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    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:96,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: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    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:105,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:109,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - attrs
    - attr_nid
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: PKCS12_get_attr_gen
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 3
    functionsReached:
    - X509at_get_attr_by_NID
    - X509at_get_attr
    - X509_ATTRIBUTE_get0_type
    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:116,1
    - Dst: OPENSSL_uni2utf8
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 122
    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: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    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: 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: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    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: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    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: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: async_fibre_free
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    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: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: async_local_init
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_local_init()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swapcontext
      Src: /src/openssl/crypto/async/async_local.h:116,1
    - Dst: _setjmp
      Src: /src/openssl/crypto/async/async_local.h:120,1
    - Dst: _longjmp
      Src: /src/openssl/crypto/async/async_local.h:122,1
    - Dst: setcontext
      Src: /src/openssl/crypto/async/async_local.h:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - o
    - n
    - r
    argTypes:
    - async_fibre*
    - async_fibre*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    functionsReached:
    - _longjmp
    - swapcontext
    - setcontext
    - _setjmp
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline async_fibre_swapcontext(async_fibre *o, async_fibre *n,
      int r)
  - 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: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    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: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: async_local_init
    functionSourceFile: /src/openssl/crypto/async/async_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_local_init()
  - 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:
    - CRYPTO_THREAD_set_local_ex
    - async_fibre_init_dispatcher
    - OPENSSL_free
    - ossl_init_thread_start
    - 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:
    - OPENSSL_free
    - CRYPTO_THREAD_set_local_ex
    - async_get_ctx
    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:
    - async_fibre_free
    - OPENSSL_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:106,1
    - Dst: ASYNC_init_thread
      Src: /src/openssl/crypto/async/async.c:113,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/async/async.c:115,1
    - Dst: sk_ASYNC_JOB_pop
      Src: /src/openssl/crypto/async/async.c:119,1
    - Dst: async_job_new
      Src: /src/openssl/crypto/async/async.c:125,1
    - Dst: async_fibre_makecontext
      Src: /src/openssl/crypto/async/async.c:127,1
    - Dst: async_job_free
      Src: /src/openssl/crypto/async/async.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 135
    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_job_free
    - async_fibre_makecontext
    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:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:147,1
    - Dst: sk_ASYNC_JOB_push
      Src: /src/openssl/crypto/async/async.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: async_release_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - sk_ASYNC_JOB_push
    - ERR_raise
    - CRYPTO_THREAD_get_local_ex
    - OPENSSL_free
    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:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:158,1
    - Dst: ASYNC_JOB*::func
      Src: /src/openssl/crypto/async/async.c:164,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: async_start_func
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - ASYNC_JOB*::func
    - async_fibre_swapcontext
    - ERR_raise
    - async_get_ctx
    linkageType: ''
    returnType: void
    signature: void async_start_func(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:185,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:188,1
    - Dst: async_ctx_new
      Src: /src/openssl/crypto/async/async.c:190,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:202,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:227,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:231,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:234,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:247,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:248,1
    - Dst: async_get_pool_job
      Src: /src/openssl/crypto/async/async.c:255,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/async/async.c:260,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:262,1
    - Dst: memcpy
      Src: /src/openssl/crypto/async/async.c:266,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/async/async.c:273,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:276,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:283,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:287,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    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: 291
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 291
    functionName: ASYNC_start_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_release_job
    - async_fibre_swapcontext
    - async_ctx_new
    - ossl_lib_ctx_get_concrete
    - ERR_raise
    - async_get_ctx
    - OSSL_LIB_CTX_set0_default
    - OPENSSL_init_crypto
    - async_get_pool_job
    - memcpy
    - 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:296,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:313,1
    - Dst: async_wait_ctx_reset_counts
      Src: /src/openssl/crypto/async/async.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 320
    functionName: ASYNC_pause_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_wait_ctx_reset_counts
    - async_fibre_swapcontext
    - ERR_raise
    - async_get_ctx
    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:330,1
    - Dst: async_job_free
      Src: /src/openssl/crypto/async/async.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - async_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 333
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    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:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    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:351,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:355,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/async/async.c:358,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/async/async.c:361,1
    - Dst: sk_ASYNC_JOB_new_reserve
      Src: /src/openssl/crypto/async/async.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:368,1
    - Dst: async_job_new
      Src: /src/openssl/crypto/async/async.c:377,1
    - Dst: async_fibre_makecontext
      Src: /src/openssl/crypto/async/async.c:378,1
    - Dst: async_job_free
      Src: /src/openssl/crypto/async/async.c:383,1
    - Dst: sk_ASYNC_JOB_push
      Src: /src/openssl/crypto/async/async.c:387,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/async/async.c:391,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:393,1
    - Dst: async_empty_pool
      Src: /src/openssl/crypto/async/async.c:399,1
    - Dst: sk_ASYNC_JOB_free
      Src: /src/openssl/crypto/async/async.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:401,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - max_size
    - init_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 403
    functionName: ASYNC_init_thread
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - CRYPTO_THREAD_set_local_ex
    - sk_ASYNC_JOB_free
    - OPENSSL_free
    - ossl_init_thread_start
    - sk_ASYNC_JOB_push
    - sk_ASYNC_JOB_new_reserve
    - ERR_raise
    - OPENSSL_init_crypto
    - async_job_new
    - async_empty_pool
    - async_job_free
    - async_fibre_makecontext
    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:407,1
    - Dst: async_empty_pool
      Src: /src/openssl/crypto/async/async.c:411,1
    - Dst: sk_ASYNC_JOB_free
      Src: /src/openssl/crypto/async/async.c:412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:413,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/async/async.c:414,1
    - Dst: async_local_cleanup
      Src: /src/openssl/crypto/async/async.c:417,1
    - Dst: async_ctx_free
      Src: /src/openssl/crypto/async/async.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: async_delete_thread_state
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - sk_ASYNC_JOB_free
    - OPENSSL_free
    - async_ctx_free
    - async_local_cleanup
    - CRYPTO_THREAD_get_local_ex
    - async_empty_pool
    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:423,1
    - Dst: async_delete_thread_state
      Src: /src/openssl/crypto/async/async.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: ASYNC_cleanup_thread
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    - async_delete_thread_state
    linkageType: ''
    returnType: void
    signature: void ASYNC_cleanup_thread(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:433,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 441
    functionName: ASYNC_get_current_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    - async_get_ctx
    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: 446
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: ASYNC_get_wait_ctx
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    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:452,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 463
    functionName: ASYNC_block_pause
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    - async_get_ctx
    linkageType: ''
    returnType: void
    signature: void ASYNC_block_pause(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:469,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 481
    functionName: ASYNC_unblock_pause
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    - async_get_ctx
    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: 0
    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: 0
    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: 0
    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: 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:
    - ConvertFiberToThread
    - async_get_ctx
    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:
    - GetCurrentFiber
    - ConvertThreadToFiberEx
    - 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:
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_write_lock
    - 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:
    - getcontext
    - CRYPTO_THREAD_unlock
    - makecontext
    - CRYPTO_THREAD_write_lock
    - stack_alloc_impl
    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: 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:
    - memcpy
    - memset
    - whirlpool_block
    - OPENSSL_cleanse
    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_Init
    - WHIRLPOOL_Final
    - WHIRLPOOL_Update
    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: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    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: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    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: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    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:
    - (
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    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: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    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: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    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: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    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: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    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: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    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: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    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: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    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: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    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: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    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: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    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: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    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: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    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: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    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: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    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: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    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: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    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: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    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: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    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: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    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: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    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: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    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: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    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: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    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: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    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: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    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:498,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:510,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_block.c:512,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:514,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_block.c:516,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_block.c:525,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:550,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:551,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:552,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:553,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:554,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:555,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:556,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:557,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,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:569,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,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:571,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,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:573,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,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:575,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:586,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:587,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:588,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:589,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:590,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:591,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:592,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:598,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:601,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:608,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:609,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:610,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:611,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:612,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:614,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:615,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:616,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:617,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:618,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:619,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:620,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:621,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:623,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:624,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:625,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:626,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:627,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:628,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:629,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:630,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:632,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:633,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:634,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:635,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:636,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:637,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:638,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:639,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:641,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:642,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:643,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:644,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:645,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:646,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:647,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:648,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:650,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:651,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:652,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:653,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:654,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:655,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:656,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:657,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:668,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:669,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:670,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:671,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:672,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:673,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:674,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:675,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:677,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:678,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:679,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:680,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:681,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:682,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:683,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:684,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:686,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:687,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:688,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:689,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:690,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:691,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:692,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:693,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:695,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:696,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:697,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:698,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:699,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:700,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:701,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:702,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:704,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:705,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:706,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:707,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:708,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:709,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:710,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:711,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:713,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:714,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:715,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:716,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:717,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:718,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:719,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:720,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:722,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:723,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:724,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:725,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:726,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:727,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:728,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:729,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:731,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:732,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:733,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:734,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:735,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:736,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:737,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:738,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 232
    argCount: 3
    argNames:
    - ctx
    - inp
    - n
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 772
    functionName: whirlpool_block
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 2
    functionsReached:
    - C3
    - C0
    - GO_FOR_MMX
    - C1
    - C4
    - C5
    - C2
    - C7
    - C6
    - memcpy
    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:
    - l2n
    - IDEA_encrypt
    - n2l
    - l2nn
    - n2ln
    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:
    - E_IDEA
    - idea_mul
    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:45,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_ofb64.c:46,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:50,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:51,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_ofb64.c:54,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:57,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:59,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:69,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    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: 74
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 74
    functionName: IDEA_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/idea/i_ofb64.c
    functionUses: 0
    functionsReached:
    - IDEA_encrypt
    - n2l
    - l2n
    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:46,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:48,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cfb64.c:50,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:53,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:55,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:66,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:68,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cfb64.c:70,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:73,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    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: 87
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 87
    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: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    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: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    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: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    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: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    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: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    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: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    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: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    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
    - l2c
    - DES_encrypt1
    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:
    - mdc2_body
    - memcpy
    - 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_Update
    - MDC2_Final
    - MDC2_Init
    - OPENSSL_cleanse
    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:
    - l2c
    - l2cn
    - c2ln
    - RC2_encrypt
    - RC2_decrypt
    - c2l
    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: 136
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 136
    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: 181
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 181
    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:
    - RC2_encrypt
    - l2c
    - RC2_decrypt
    - c2l
    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: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    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: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    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: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    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: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    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:
    - RC2_encrypt
    - l2c
    - c2l
    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: 104
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 104
    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:
    - RC2_encrypt
    - l2c
    - c2l
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    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: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    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: 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: 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/m_sigver.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    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: 35
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_free_algctx
      Src: /src/openssl/crypto/evp/m_sigver.c:48,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/m_sigver.c:53,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/m_sigver.c:58,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:61,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/m_sigver.c:63,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:79,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/m_sigver.c:84,1
    - Dst: canon_mdname
      Src: /src/openssl/crypto/evp/m_sigver.c:87,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/m_sigver.c:87,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/m_sigver.c:94,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:97,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/m_sigver.c:100,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:104,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/m_sigver.c:133,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:135,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/evp/m_sigver.c:140,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/m_sigver.c:143,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/m_sigver.c:146,1
    - Dst: evp_signature_fetch_from_prov
      Src: /src/openssl/crypto/evp/m_sigver.c:147,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/m_sigver.c:166,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/m_sigver.c:167,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/m_sigver.c:170,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:173,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/m_sigver.c:177,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:179,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:183,1
    - Dst: EVP_SIGNATURE*::newctx
      Src: /src/openssl/crypto/evp/m_sigver.c:191,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/m_sigver.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:193,1
    - Dst: canon_mdname
      Src: /src/openssl/crypto/evp/m_sigver.c:204,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/m_sigver.c:204,1
    - Dst: evp_keymgmt_util_get_deflt_digest_name
      Src: /src/openssl/crypto/evp/m_sigver.c:207,1
    - Dst: canon_mdname
      Src: /src/openssl/crypto/evp/m_sigver.c:211,1
    - Dst: evp_md_ctx_clear_digest
      Src: /src/openssl/crypto/evp/m_sigver.c:220,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/m_sigver.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:233,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:243,1
    - Dst: EVP_SIGNATURE*::digest_verify_init
      Src: /src/openssl/crypto/evp/m_sigver.c:247,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:251,1
    - Dst: EVP_SIGNATURE*::digest_sign_init
      Src: /src/openssl/crypto/evp/m_sigver.c:255,1
    - Dst: evp_pkey_ctx_use_cached_data
      Src: /src/openssl/crypto/evp/m_sigver.c:265,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:271,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:272,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/m_sigver.c:277,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:279,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:283,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:284,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:286,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/evp/m_sigver.c:288,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 153
    argCount: 9
    argNames:
    - ctx
    - pctx
    - type
    - mdname
    - libctx
    - props
    - pkey
    - ver
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - char*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 290
    functionName: do_sigver_init
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - evp_keymgmt_util_query_operation_name
    - EVP_SIGNATURE_get0_provider
    - canon_mdname
    - EVP_SIGNATURE_fetch
    - EVP_SIGNATURE*::newctx
    - evp_pkey_ctx_use_cached_data
    - evp_keymgmt_util_get_deflt_digest_name
    - evp_md_ctx_free_algctx
    - EVP_PKEY_CTX_new_from_pkey
    - ERR_pop_to_mark
    - ERR_raise_data
    - ossl_provider_ctx
    - EVP_SIGNATURE*::digest_sign_init
    - ERR_raise
    - EVP_MD_get0_name
    - EVP_KEYMGMT_free
    - EVP_SIGNATURE_free
    - evp_pkey_ctx_free_old_ops
    - EVP_KEYMGMT_get0_provider
    - EVP_MD_fetch
    - evp_keymgmt_fetch_from_prov
    - ossl_assert
    - ERR_set_mark
    - evp_signature_fetch_from_prov
    - evp_pkey_ctx_is_legacy
    - EVP_MD_CTX_clear_flags
    - EVP_PKEY_get0_type_name
    - EVP_SIGNATURE*::digest_verify_init
    - evp_pkey_export_to_provider
    - EVP_KEYMGMT_get0_name
    - evp_md_ctx_clear_digest
    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
      \   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:297,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: 299
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 299
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/m_sigver.c:304,1
    - Dst: do_sigver_init
      Src: /src/openssl/crypto/evp/m_sigver.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    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: 308
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: EVP_DigestSignInit
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - 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:315,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: 317
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 317
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/m_sigver.c:322,1
    - Dst: do_sigver_init
      Src: /src/openssl/crypto/evp/m_sigver.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    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: 326
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: EVP_DigestVerifyInit
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:336,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:346,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:353,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:358,1
    - Dst: EVP_SIGNATURE*::digest_sign_update
      Src: /src/openssl/crypto/evp/m_sigver.c:359,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:360,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:361,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - data
    - dsize
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 365
    functionName: EVP_DigestSignUpdate
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::digest_sign_update
    - ERR_clear_last_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_DigestUpdate
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t
      dsize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:375,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:383,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:388,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:393,1
    - Dst: EVP_SIGNATURE*::digest_verify_update
      Src: /src/openssl/crypto/evp/m_sigver.c:394,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:395,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:396,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:398,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - data
    - dsize
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 400
    functionName: EVP_DigestVerifyUpdate
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - ERR_set_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_DigestUpdate
    - EVP_SIGNATURE*::digest_verify_update
    linkageType: ''
    returnType: int
    signature: int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t
      dsize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:411,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:419,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:426,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/m_sigver.c:433,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:438,1
    - Dst: EVP_SIGNATURE*::digest_sign_final
      Src: /src/openssl/crypto/evp/m_sigver.c:439,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:441,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:442,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:444,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:448,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - sigret
    - siglen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 450
    functionName: EVP_DigestSignFinal
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::digest_sign_final
    - ERR_clear_last_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_CTX_free
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,\n
      \   size_t *siglen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:464,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:478,1
    - Dst: EVP_SIGNATURE*::digest_sign
      Src: /src/openssl/crypto/evp/m_sigver.c:479,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_DigestSignUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:489,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/evp/m_sigver.c:491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    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: 492
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 492
    functionName: EVP_DigestSign
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - ERR_clear_last_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_DigestSignUpdate
    - EVP_SIGNATURE*::digest_sign
    - ERR_set_mark
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:511,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:518,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/m_sigver.c:525,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:530,1
    - Dst: EVP_SIGNATURE*::digest_verify_final
      Src: /src/openssl/crypto/evp/m_sigver.c:531,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:532,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:533,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:535,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:539,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 541
    functionName: EVP_DigestVerifyFinal
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_PKEY_CTX_dup
    - EVP_SIGNATURE*::digest_verify_final
    - EVP_PKEY_CTX_free
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig,\n
      \   size_t siglen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:549,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:554,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:567,1
    - Dst: EVP_SIGNATURE*::digest_verify
      Src: /src/openssl/crypto/evp/m_sigver.c:568,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:569,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:570,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:572,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:577,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/crypto/evp/m_sigver.c:579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    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: 580
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 580
    functionName: EVP_DigestVerify
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyFinal
    - ERR_clear_last_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_SIGNATURE*::digest_verify
    - EVP_DigestVerifyUpdate
    - ERR_set_mark
    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: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    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:44,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:48,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/evp/p5_crpt.c:52,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/evp/p5_crpt.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:54,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/p5_crpt.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:60,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/evp/p5_crpt.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:65,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/evp/p5_crpt.c:72,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/p5_crpt.c:79,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/p5_crpt.c:81,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/evp/p5_crpt.c:85,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/evp/p5_crpt.c:86,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/p5_crpt.c:87,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt.c:90,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt.c:92,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p5_crpt.c:94,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p5_crpt.c:95,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p5_crpt.c:97,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/evp/p5_crpt.c:98,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/p5_crpt.c:100,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/p5_crpt.c:101,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/p5_crpt.c:102,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: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p5_crpt.c:106,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/p5_crpt.c:109,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/evp/p5_crpt.c:110,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: 112
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 112
    functionName: PKCS5_PBE_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_get_key_length
    - EVP_KDF_CTX_new
    - EVP_CIPHER_get_iv_length
    - memcpy
    - OPENSSL_cleanse
    - EVP_CipherInit_ex
    - EVP_MD_name
    - ASN1_INTEGER_get
    - EVP_KDF_free
    - EVP_KDF_derive
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - ASN1_TYPE_unpack_sequence
    - ASN1_ITEM_rptr
    - PBEPARAM_free
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_int
    - EVP_MD_get_size
    - EVP_KDF_fetch
    - strlen
    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:118,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: 120
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 120
    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:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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: 31
    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:109,1
    - Dst: OSSL_FUNC_kdf_gettable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:114,1
    - Dst: OSSL_FUNC_kdf_settable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:119,1
    - Dst: OSSL_FUNC_kdf_get_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:124,1
    - Dst: OSSL_FUNC_kdf_get_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:129,1
    - Dst: OSSL_FUNC_kdf_set_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:134,1
    - Dst: OSSL_FUNC_kdf_set_skey
      Src: /src/openssl/crypto/evp/kdf_meth.c:139,1
    - Dst: OSSL_FUNC_kdf_derive_skey
      Src: /src/openssl/crypto/evp/kdf_meth.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_meth.c:154,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/kdf_meth.c:157,1
    - Dst: evp_kdf_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:165,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 96
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 167
    functionName: evp_kdf_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_kdf_derive
    - OSSL_FUNC_kdf_reset
    - OSSL_FUNC_kdf_freectx
    - OSSL_FUNC_kdf_dupctx
    - OSSL_FUNC_kdf_get_ctx_params
    - OSSL_FUNC_kdf_derive_skey
    - OSSL_FUNC_kdf_gettable_ctx_params
    - evp_kdf_new
    - OSSL_FUNC_kdf_set_ctx_params
    - ERR_raise
    - ossl_provider_up_ref
    - OSSL_FUNC_kdf_set_skey
    - OSSL_FUNC_kdf_get_params
    - evp_kdf_free
    - OSSL_FUNC_kdf_settable_ctx_params
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_kdf_gettable_params
    - OSSL_FUNC_kdf_newctx
    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:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    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:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 180
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 185
    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:191,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:191,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: EVP_KDF_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KDF_get0_provider
    - 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:200,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:200,1
    - Dst: EVP_KDF*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: EVP_KDF_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KDF_get0_provider
    - 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:210,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:210,1
    - Dst: EVP_KDF*::settable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: EVP_KDF_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KDF_get0_provider
    - EVP_KDF*::settable_ctx_params
    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:220,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:220,1
    - Dst: EVP_KDF_CTX*::meth::gettable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: EVP_KDF_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KDF_CTX*::meth::gettable_ctx_params
    - EVP_KDF_get0_provider
    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:230,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:230,1
    - Dst: EVP_KDF_CTX*::meth::settable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: EVP_KDF_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KDF_CTX*::meth::settable_ctx_params
    - EVP_KDF_get0_provider
    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:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 245
    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_CIPHER_CTX_reset
    - OPENSSL_clear_free
    - EVP_PKEY_decrypt
    - ERR_raise
    - EVP_PKEY_decrypt_init
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_set_key_length
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - 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_DecryptFinal_ex
    - EVP_DecryptInit_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_CTX_set_signature_md
    - EVP_MD_CTX_get0_md
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_test_flags
    - ERR_raise
    - EVP_MD_CTX_copy_ex
    - EVP_PKEY_get_size
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_sign_init
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: EVP_sha1
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 2
    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: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    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: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: EVP_sha256
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 3
    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: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    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: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    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: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: EVP_sha384
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    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: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: EVP_sha512
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    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: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    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: 144
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 144
    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:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    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: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: 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:34,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/exchange.c:39,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/exchange.c:40,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/exchange.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: evp_keyexch_new
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - ossl_provider_up_ref
    linkageType: ''
    returnType: EVP_KEYEXCH
    signature: EVP_KEYEXCH *evp_keyexch_new(OSSL_PROVIDER *prov)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: evp_keyexch_new
      Src: /src/openssl/crypto/evp/exchange.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:59,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/exchange.c:64,1
    - Dst: OSSL_FUNC_keyexch_newctx
      Src: /src/openssl/crypto/evp/exchange.c:73,1
    - Dst: OSSL_FUNC_keyexch_init
      Src: /src/openssl/crypto/evp/exchange.c:79,1
    - Dst: OSSL_FUNC_keyexch_set_peer
      Src: /src/openssl/crypto/evp/exchange.c:85,1
    - Dst: OSSL_FUNC_keyexch_derive
      Src: /src/openssl/crypto/evp/exchange.c:90,1
    - Dst: OSSL_FUNC_keyexch_freectx
      Src: /src/openssl/crypto/evp/exchange.c:96,1
    - Dst: OSSL_FUNC_keyexch_dupctx
      Src: /src/openssl/crypto/evp/exchange.c:102,1
    - Dst: OSSL_FUNC_keyexch_get_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:107,1
    - Dst: OSSL_FUNC_keyexch_gettable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:114,1
    - Dst: OSSL_FUNC_keyexch_set_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:120,1
    - Dst: OSSL_FUNC_keyexch_settable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:127,1
    - Dst: OSSL_FUNC_keyexch_derive_skey
      Src: /src/openssl/crypto/evp/exchange.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:150,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:157,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 90
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 159
    functionName: evp_keyexch_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keyexch_dupctx
    - OSSL_FUNC_keyexch_freectx
    - evp_keyexch_new
    - OSSL_FUNC_keyexch_init
    - OSSL_FUNC_keyexch_settable_ctx_params
    - ERR_raise
    - OSSL_FUNC_keyexch_derive_skey
    - OSSL_FUNC_keyexch_derive
    - OSSL_FUNC_keyexch_gettable_ctx_params
    - OSSL_FUNC_keyexch_set_ctx_params
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_keyexch_get_ctx_params
    - OSSL_FUNC_keyexch_set_peer
    - OSSL_FUNC_keyexch_newctx
    - EVP_KEYEXCH_free
    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:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:170,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/exchange.c:171,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/exchange.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: EVP_KEYEXCH_free
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 2
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 182
    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: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    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:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    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:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    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:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:225,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/exchange.c:229,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/exchange.c:232,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/exchange.c:234,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/exchange.c:242,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/exchange.c:245,1
    - Dst: evp_keymgmt_newdata
      Src: /src/openssl/crypto/evp/exchange.c:246,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/exchange.c:247,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/exchange.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:249,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/exchange.c:258,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/exchange.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:261,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/exchange.c:264,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/exchange.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:268,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:297,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:298,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/openssl/crypto/evp/exchange.c:302,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:304,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:307,1
    - Dst: evp_keyexch_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:308,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/exchange.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:312,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:329,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/exchange.c:330,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/exchange.c:333,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:336,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/exchange.c:340,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:342,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/exchange.c:346,1
    - Dst: EVP_KEYEXCH*::newctx
      Src: /src/openssl/crypto/evp/exchange.c:353,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/exchange.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:356,1
    - Dst: EVP_KEYEXCH*::init
      Src: /src/openssl/crypto/evp/exchange.c:359,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:361,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/exchange.c:364,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:366,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 368
    functionName: EVP_PKEY_derive_init_ex
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 1
    functionsReached:
    - ERR_clear_last_mark
    - evp_keymgmt_util_query_operation_name
    - EVP_KEYEXCH_fetch
    - EVP_PKEY_new
    - EVP_KEYEXCH*::newctx
    - ERR_pop_to_mark
    - EVP_KEYEXCH_get0_provider
    - ossl_provider_ctx
    - ERR_raise
    - EVP_KEYMGMT_free
    - evp_pkey_ctx_free_old_ops
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_PKEY_free
    - ossl_assert
    - ERR_set_mark
    - evp_keyexch_fetch_from_prov
    - evp_pkey_ctx_is_legacy
    - evp_keymgmt_newdata
    - evp_pkey_export_to_provider
    - EVP_KEYEXCH*::init
    - EVP_PKEY_set_type_by_keymgmt
    - EVP_KEYMGMT_get0_name
    - EVP_KEYEXCH_free
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_derive_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:379,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/exchange.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:384,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:389,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/exchange.c:394,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/crypto/evp/exchange.c:397,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/exchange.c:398,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:412,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:413,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/exchange.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:417,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/exchange.c:422,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:424,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:427,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::set_peer
      Src: /src/openssl/crypto/evp/exchange.c:430,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/exchange.c:434,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/exchange.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - peer
    - validate_peer
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 441
    functionName: EVP_PKEY_derive_set_peer_ex
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_KEYEXCH_get0_provider
    - EVP_PKEY_up_ref
    - EVP_PKEY_CTX*::op::kex::exchange::set_peer
    - ERR_raise
    - EVP_KEYMGMT_free
    - evp_keymgmt_fetch_from_prov
    - EVP_PKEY_public_check
    - evp_pkey_export_to_provider
    - EVP_PKEY_free
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - peer
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 446
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:453,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/exchange.c:457,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:463,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::derive
      Src: /src/openssl/crypto/evp/exchange.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - pkeylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 471
    functionName: EVP_PKEY_derive
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::kex::exchange::derive
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *pkeylen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:481,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/exchange.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:491,1
    - Dst: evp_skeymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:498,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/exchange.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:520,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/exchange.c:524,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:526,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::derive
      Src: /src/openssl/crypto/evp/exchange.c:530,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:532,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:537,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:538,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/exchange.c:541,1
    - Dst: EVP_SKEY_import_SKEYMGMT
      Src: /src/openssl/crypto/evp/exchange.c:544,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/exchange.c:546,1
    - Dst: evp_skey_alloc
      Src: /src/openssl/crypto/evp/exchange.c:550,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::derive_skey
      Src: /src/openssl/crypto/evp/exchange.c:554,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/exchange.c:555,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/exchange.c:559,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:565,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 6
    argNames:
    - ctx
    - mgmt
    - key_type
    - propquery
    - keylen
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SKEYMGMT*
    - char*
    - char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 567
    functionName: EVP_PKEY_derive_SKEY
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_skeymgmt_fetch_from_prov
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OPENSSL_zalloc
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_import_SKEYMGMT
    - OPENSSL_free
    - OPENSSL_clear_free
    - ossl_provider_ctx
    - EVP_SKEY_free
    - ERR_raise
    - EVP_PKEY_CTX*::op::kex::exchange::derive_skey
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_free
    - EVP_PKEY_CTX*::op::kex::exchange::derive
    - evp_skey_alloc
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_PKEY_derive_SKEY(EVP_PKEY_CTX *ctx, EVP_SKEYMGMT *mgmt,\n
      \   const char *key_type, const char *propquery,\n    size_t keylen, const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    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: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    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: 582
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 582
    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:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - keyexch
    - name
    argTypes:
    - EVP_KEYEXCH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 588
    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:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 603
    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:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keyexch
    - data
    argTypes:
    - EVP_KEYEXCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 613
    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:622,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:622,1
    - Dst: EVP_KEYEXCH*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 624
    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:632,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:632,1
    - Dst: EVP_KEYEXCH*::settable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 634
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX*::cipher::freectx
      Src: /src/openssl/crypto/evp/evp_enc.c:38,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:42,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/evp_enc.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: EVP_CIPHER_CTX_reset
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::freectx
    - memset
    - EVP_CIPHER_free
    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:53,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: 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:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 67
    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: 27
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:90,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:110,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/evp_enc.c:113,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_enc.c:115,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:121,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:127,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:133,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:136,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/crypto/evp/evp_enc.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:144,1
    - Dst: EVP_CIPHER_CTX*::cipher::newctx
      Src: /src/openssl/crypto/evp/evp_enc.c:149,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:151,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/evp/evp_enc.c:161,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:180,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:182,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:188,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:190,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_enc.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:194,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:211,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:217,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit
      Src: /src/openssl/crypto/evp/evp_enc.c:221,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:224,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:227,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:237,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:243,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit
      Src: /src/openssl/crypto/evp/evp_enc.c:247,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:250,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:253,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 7
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - enc
    - is_pipeline
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    - uint8_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 255
    functionName: evp_cipher_init_internal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::newctx
    - memcpy
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_CTX*::cipher::dinit
    - ossl_provider_ctx
    - ERR_raise
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_can_pipeline
    - ossl_assert
    - EVP_CIPHER_up_ref
    - OBJ_nid2sn
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX*::cipher::dinit_skey
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX*::cipher::einit_skey
    - EVP_CIPHER_CTX*::cipher::einit
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_init_internal(EVP_CIPHER_CTX *ctx,\n    const EVP_CIPHER
      *cipher,\n    const unsigned char *key,\n    const unsigned char *iv, int enc,\n
      \   uint8_t is_pipeline,\n    const OSSL_PARAM params[])"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:280,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:298,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:304,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:307,1
    - Dst: EVP_CIPHER_CTX*::cipher::newctx
      Src: /src/openssl/crypto/evp/evp_enc.c:314,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:322,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/evp/evp_enc.c:331,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/crypto/evp/evp_enc.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:349,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit
      Src: /src/openssl/crypto/evp/evp_enc.c:353,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:356,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/crypto/evp/evp_enc.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:370,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit
      Src: /src/openssl/crypto/evp/evp_enc.c:374,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:377,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    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: 384
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 384
    functionName: evp_cipher_init_skey_internal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX*::cipher::dinit
    - ossl_provider_ctx
    - EVP_CIPHER_CTX*::cipher::newctx
    - ERR_raise
    - EVP_CIPHER_CTX*::cipher::dinit_skey
    - EVP_CIPHER_CTX*::cipher::einit_skey
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX*::cipher::einit
    - EVP_SKEY_get0_raw_key
    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:390,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: 391
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 391
    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:397,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: 398
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 398
    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:404,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:405,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: 406
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 406
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:412,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    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: 415
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: EVP_CipherInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - 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:423,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:434,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_einit
      Src: /src/openssl/crypto/evp/evp_enc.c:438,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: 445
      start: 417
    functionDepth: 4
    functionLinenumber: 417
    functionLinenumberEnd: 445
    functionName: EVP_CipherPipelineEncryptInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_cipher_init_internal
    - ERR_raise
    - EVP_CIPHER_CTX*::cipher::p_einit
    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:453,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:464,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_dinit
      Src: /src/openssl/crypto/evp/evp_enc.c:468,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: 475
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 475
    functionName: EVP_CipherPipelineDecryptInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_cipher_init_internal
    - ERR_raise
    - EVP_CIPHER_CTX*::cipher::p_dinit
    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:481,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/evp/evp_enc.c:483,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: 484
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: EVP_CipherUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_DecryptUpdate
    - EVP_EncryptUpdate
    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:493,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:494,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:498,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:499,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:504,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:509,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_cupdate
      Src: /src/openssl/crypto/evp/evp_enc.c:516,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: 519
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 519
    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:524,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:526,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: 527
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 527
    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:532,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/crypto/evp/evp_enc.c:534,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: 535
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 535
    functionName: EVP_CipherFinal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptFinal
    - EVP_EncryptFinal
    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:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:544,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:548,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:549,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:553,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:554,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:558,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:559,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_cfinal
      Src: /src/openssl/crypto/evp/evp_enc.c:566,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: 568
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 568
    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:573,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: 574
      start: 570
    functionDepth: 5
    functionLinenumber: 570
    functionLinenumberEnd: 574
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:580,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: EVP_EncryptInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - ossl_assert
    - 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:589,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: 590
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 590
    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:595,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: 596
      start: 592
    functionDepth: 5
    functionLinenumber: 592
    functionLinenumberEnd: 596
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:602,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 5
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: EVP_DecryptInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - ossl_assert
    - 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:611,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: 612
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 612
    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: 648
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: ossl_is_partially_overlapping
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_is_partially_overlapping(const void *ptr1, const void *ptr2,
      int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:658,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:662,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:665,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:670,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:671,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:676,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:680,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:685,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:686,1
    - Dst: EVP_CIPHER_CTX*::cipher::cupdate
      Src: /src/openssl/crypto/evp/evp_enc.c:690,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:694,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:695,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:696,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: 703
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 703
    functionName: EVP_EncryptUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - ossl_unlikely
    - EVP_CIPHER_CTX*::cipher::cupdate
    - ossl_likely
    - ERR_raise
    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:708,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: 710
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 710
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:721,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:727,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:732,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:736,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_enc.c:740,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:743,1
    - Dst: EVP_CIPHER_CTX*::cipher::cfinal
      Src: /src/openssl/crypto/evp/evp_enc.c:747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:752,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 759
    functionName: EVP_EncryptFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX*::cipher::cfinal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:769,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:773,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:776,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:781,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:782,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:786,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:787,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:790,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:791,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_enc.c:795,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::cupdate
      Src: /src/openssl/crypto/evp/evp_enc.c:801,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:805,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:806,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 814
    functionName: EVP_DecryptUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 4
    functionsReached:
    - ossl_likely
    - ossl_unlikely
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX*::cipher::cupdate
    - ERR_raise
    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:819,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: 821
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 821
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:832,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:838,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:843,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:848,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_enc.c:852,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:855,1
    - Dst: EVP_CIPHER_CTX*::cipher::cfinal
      Src: /src/openssl/crypto/evp/evp_enc.c:859,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 871
    functionName: EVP_DecryptFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 6
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX*::cipher::cfinal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:880,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:884,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:888,1
    - Dst: EVP_CIPHER_settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:888,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:891,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:895,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/crypto/evp/evp_enc.c:896,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - c
    - keylen
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 873
    functionDepth: 5
    functionLinenumber: 873
    functionLinenumberEnd: 903
    functionName: EVP_CIPHER_CTX_set_key_length
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_set_int
    - EVP_CIPHER_settable_ctx_params
    - OSSL_PARAM_locate_const
    - ERR_raise
    - EVP_CIPHER_CTX_get_key_length
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_size_t
    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:918,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pad
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 922
    functionName: EVP_CIPHER_CTX_set_padding
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 2
    functionsReached:
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_uint
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *ctx, int pad)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:935,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:940,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:951,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:956,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:978,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:985,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:989,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:996,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1002,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1011,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1017,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1022,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1027,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1029,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1032,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1033,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1043,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1048,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1050,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1054,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_enc.c:1056,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1057,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1067,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1069,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1071,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1075,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1077,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_enc.c:1079,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1080,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1088,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1091,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1094,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1096,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1099,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_enc.c:1101,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1102,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1111,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1117,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1123,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 152
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 1127
    functionName: EVP_CIPHER_CTX_ctrl
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 3
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_size_t
    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:1132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - params
    argTypes:
    - EVP_CIPHER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    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:1142,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:1144,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1145,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:1151,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1136
    functionDepth: 5
    functionLinenumber: 1136
    functionLinenumberEnd: 1159
    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:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1166
    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:1171,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1172,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1174
    functionName: EVP_CIPHER_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    - EVP_CIPHER*::gettable_params
    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:1181,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1181,1
    - Dst: EVP_CIPHER*::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1185
    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:1192,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1192,1
    - Dst: EVP_CIPHER*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1196
    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:1203,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1203,1
    - Dst: EVP_CIPHER_CTX*::cipher::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1207
    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:1214,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1214,1
    - Dst: EVP_CIPHER_CTX*::cipher::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1218
    functionName: EVP_CIPHER_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::gettable_ctx_params
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    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:1229,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1231
    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:1237,1
    - Dst: EVP_CIPHER_CTX_get_libctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1244,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:1246,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:1247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1234
    functionDepth: 3
    functionLinenumber: 1234
    functionLinenumberEnd: 1252
    functionName: EVP_CIPHER_CTX_rand_key
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - RAND_priv_bytes_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get_libctx
    - EVP_CIPHER_CTX_get_key_length
    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:1256,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/evp/evp_enc.c:1258,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1263
    functionName: EVP_CIPHER_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_copy
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX *EVP_CIPHER_CTX_dup(const EVP_CIPHER_CTX *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1278,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:1282,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:1287,1
    - Dst: EVP_CIPHER_CTX*::cipher::dupctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1292,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1299
    functionName: EVP_CIPHER_CTX_copy
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_CTX*::cipher::dupctx
    - ERR_raise
    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:1303,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/evp_enc.c:1305,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1310
    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:1328,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_enc.c:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - vlegacy_nid
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1340
    functionName: set_legacy_nid
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_get
    - EVP_CIPHER_get_nid
    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:1351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1352,1
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/evp_enc.c:1358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1360,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/evp_enc.c:1366,1
    - Dst: OSSL_FUNC_cipher_newctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1376,1
    - Dst: OSSL_FUNC_cipher_encrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1382,1
    - Dst: OSSL_FUNC_cipher_decrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1388,1
    - Dst: OSSL_FUNC_cipher_encrypt_skey_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1394,1
    - Dst: OSSL_FUNC_cipher_decrypt_skey_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1400,1
    - Dst: OSSL_FUNC_cipher_update
      Src: /src/openssl/crypto/evp/evp_enc.c:1406,1
    - Dst: OSSL_FUNC_cipher_final
      Src: /src/openssl/crypto/evp/evp_enc.c:1412,1
    - Dst: OSSL_FUNC_cipher_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:1418,1
    - Dst: OSSL_FUNC_cipher_pipeline_encrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1423,1
    - Dst: OSSL_FUNC_cipher_pipeline_decrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1429,1
    - Dst: OSSL_FUNC_cipher_pipeline_update
      Src: /src/openssl/crypto/evp/evp_enc.c:1435,1
    - Dst: OSSL_FUNC_cipher_pipeline_final
      Src: /src/openssl/crypto/evp/evp_enc.c:1441,1
    - Dst: OSSL_FUNC_cipher_freectx
      Src: /src/openssl/crypto/evp/evp_enc.c:1447,1
    - Dst: OSSL_FUNC_cipher_dupctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1453,1
    - Dst: OSSL_FUNC_cipher_get_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1458,1
    - Dst: OSSL_FUNC_cipher_get_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1463,1
    - Dst: OSSL_FUNC_cipher_set_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1468,1
    - Dst: OSSL_FUNC_cipher_gettable_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1473,1
    - Dst: OSSL_FUNC_cipher_gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1478,1
    - Dst: OSSL_FUNC_cipher_settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1498,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:1501,1
    - Dst: evp_cipher_cache_constants
      Src: /src/openssl/crypto/evp/evp_enc.c:1506,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1507,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1514,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 152
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1516
    functionName: evp_cipher_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_cipher_encrypt_skey_init
    - OSSL_FUNC_cipher_decrypt_skey_init
    - OSSL_FUNC_cipher_encrypt_init
    - OSSL_FUNC_cipher_pipeline_encrypt_init
    - evp_cipher_new
    - OSSL_FUNC_cipher_freectx
    - evp_names_do_all
    - OSSL_FUNC_cipher_cipher
    - OSSL_FUNC_cipher_gettable_ctx_params
    - OSSL_FUNC_cipher_pipeline_update
    - OSSL_FUNC_cipher_set_ctx_params
    - ERR_raise
    - OSSL_FUNC_cipher_pipeline_final
    - OSSL_FUNC_cipher_gettable_params
    - OSSL_FUNC_cipher_decrypt_init
    - OSSL_FUNC_cipher_newctx
    - OSSL_FUNC_cipher_update
    - OSSL_FUNC_cipher_settable_ctx_params
    - evp_cipher_cache_constants
    - EVP_CIPHER_free
    - OSSL_FUNC_cipher_get_ctx_params
    - OSSL_FUNC_cipher_dupctx
    - OSSL_FUNC_cipher_pipeline_decrypt_init
    - ossl_provider_up_ref
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_cipher_get_params
    - OSSL_FUNC_cipher_final
    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:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1521
    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:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1526
    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:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1536
    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:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1547
    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: 1556
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1556
    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:1563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1565
    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:1569,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1570,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_enc.c:1571,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1567
    functionDepth: 2
    functionLinenumber: 1567
    functionLinenumberEnd: 1573
    functionName: evp_cipher_free_int
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - CRYPTO_FREE_REF
    - ossl_provider_free
    - OPENSSL_free
    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:1582,1
    - Dst: evp_cipher_free_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1575
    functionDepth: 3
    functionLinenumber: 1575
    functionLinenumberEnd: 1586
    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:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1600
    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: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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:
    - EVP_MD_CTX_new
    - BIO_set_init
    - BIO_set_data
    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_get_data
    - EVP_MD_CTX_free
    - BIO_set_init
    - BIO_set_data
    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:97,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_md.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: md_read
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_read
    - BIO_copy_next_retry
    - EVP_DigestUpdate
    - BIO_get_init
    - BIO_get_data
    - BIO_next
    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:111,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_md.c:112,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_md.c:114,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_md.c:116,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_md.c:118,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:120,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:126,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_md.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: md_write
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - EVP_DigestUpdate
    - BIO_get_init
    - BIO_get_data
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int md_write(BIO *b, const char *in, int inl)
  - BBCount: 18
    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_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:178,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:182,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:183,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_md.c:184,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/bio_md.c:188,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:190,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:194,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/bio_md.c:195,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:197,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:200,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 204
    functionName: md_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - BIO_set_init
    - BIO_copy_next_retry
    - EVP_MD_CTX_get0_md
    - EVP_MD_CTX_copy_ex
    - BIO_get_init
    - BIO_get_data
    - EVP_DigestInit_ex
    - BIO_next
    - BIO_set_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:210,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    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:223,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/crypto/evp/bio_md.c:225,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/bio_md.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: md_gets
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_size
    - BIO_get_data
    - EVP_DigestFinal_ex
    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:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    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:139,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ec_support.c:142,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ec_support.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: ossl_ec_curve_name2nid
    functionSourceFile: /src/openssl/crypto/evp/ec_support.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    - ossl_ec_curve_nist2nid_int
    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:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    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:184,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ec_support.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_support.c:198,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ec_support.c:203,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/evp/ec_support.c:209,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/evp/ec_support.c:209,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ec_support.c:210,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/ec_support.c:217,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/evp/ec_support.c:221,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ec_support.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ec_support.c:224,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/evp/ec_support.c:227,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ec_support.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ec_support.c:230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 5
    argNames:
    - x
    - y
    - field_len
    - pbuf
    - pbsize
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 237
    functionName: EVP_EC_affine2oct
    functionSourceFile: /src/openssl/crypto/evp/ec_support.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - ERR_raise_data
    - OPENSSL_free
    - ERR_raise
    - BN_bn2binpad
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int EVP_EC_affine2oct(const BIGNUM *x, const BIGNUM *y, size_t field_len,\n
      \   unsigned char **pbuf, size_t *pbsize)"
  - 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:36,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: 39
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: EVP_PKEY_encrypt_old
    functionSourceFile: /src/openssl/crypto/evp/p_enc.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - evp_pkey_get0_RSA_int
    - ERR_raise
    - RSA_public_encrypt
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_encrypt_old(unsigned char *ek, const unsigned char *key,\n
      \   int key_len, EVP_PKEY *pubk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:53,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:55,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:57,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:59,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: evp_pkey_ctx_state
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_state(const EVP_PKEY_CTX *ctx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/pmeth_lib.c:78,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/pmeth_lib.c:83,1
    - Dst: evp_pkey_name2type
      Src: /src/openssl/crypto/evp/pmeth_lib.c:87,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/pmeth_lib.c:102,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:116,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/crypto/evp/pmeth_lib.c:120,1
    - Dst: evp_keymgmt_get_legacy_alg
      Src: /src/openssl/crypto/evp/pmeth_lib.c:134,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:145,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:156,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:158,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:162,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:168,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:169,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:179,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:180,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 5
    argNames:
    - libctx
    - pkey
    - keytype
    - propquery
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 187
    functionName: int_ctx_new
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - OBJ_nid2sn
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - OPENSSL_free
    - EVP_PKEY_up_ref
    - evp_pkey_name2type
    - ERR_raise
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_up_ref
    - EVP_KEYMGMT_fetch
    - EVP_PKEY_CTX_free
    - EVP_KEYMGMT_get0_name
    - ossl_assert
    - evp_keymgmt_get_legacy_alg
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *int_ctx_new(OSSL_LIB_CTX *libctx, EVP_PKEY *pkey,\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:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - name
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 196
    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:201,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: 202
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 202
    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:206,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:208,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:209,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:212,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:214,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:215,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:218,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:220,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:221,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:224,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:226,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:227,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:230,1
    - Dst: evp_keymgmt_gen_cleanup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 234
    functionName: evp_pkey_ctx_free_old_ops
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::encap::kem::freectx
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - evp_keymgmt_gen_cleanup
    - EVP_PKEY_CTX*::op::sig::signature::freectx
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::ciph::cipher::freectx
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_free
    - EVP_ASYM_CIPHER_free
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX*::op::kex::exchange::freectx
    - EVP_KEYEXCH_free
    - EVP_SIGNATURE_free
    linkageType: ''
    returnType: void
    signature: void evp_pkey_ctx_free_old_ops(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_lib.c:241,1
    - Dst: evp_pkey_ctx_free_all_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:243,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:247,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:248,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:249,1
    - Dst: BN_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:250,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: EVP_PKEY_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 10
    functionsReached:
    - evp_pkey_ctx_free_old_ops
    - OPENSSL_free
    - evp_pkey_ctx_free_all_cached_data
    - EVP_KEYMGMT_free
    - BN_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:257,1
    - Dst: int_ctx_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkey
    - e
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: EVP_PKEY_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:264,1
    - Dst: int_ctx_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - e
    argTypes:
    - int
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: EVP_PKEY_CTX_new_id
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:273,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:277,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:286,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:293,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:298,1
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:301,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:305,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:310,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:313,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:319,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:322,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:326,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:331,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:334,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:340,1
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:343,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:347,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:352,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:355,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:361,1
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:364,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:368,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:373,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:376,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:382,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:387,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:399,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:403,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:405,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:410,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 139
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 412
    functionName: EVP_PKEY_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::sig::signature::dupctx
    - EVP_PKEY_up_ref
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::ciph::cipher::dupctx
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_ASYM_CIPHER_up_ref
    - OPENSSL_zalloc
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_free
    - EVP_KEYMGMT_free
    - EVP_SIGNATURE_free
    - EVP_KEYEXCH_up_ref
    - EVP_ASYM_CIPHER_free
    - EVP_KEYMGMT_up_ref
    - ossl_assert
    - EVP_PKEY_CTX_free
    - OPENSSL_strdup
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_KEM_up_ref
    - EVP_PKEY_CTX*::op::encap::kem::dupctx
    - evp_pkey_export_to_provider
    - EVP_SIGNATURE_up_ref
    - EVP_KEYEXCH_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/pmeth_lib.c:418,1
    - Dst: evp_pkey_name2type
      Src: /src/openssl/crypto/evp/pmeth_lib.c:419,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/pmeth_lib.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - keytype
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: EVP_PKEY_CTX_is_a
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - evp_pkey_name2type
    - EVP_KEYMGMT_is_a
    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:426,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:428,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:431,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:433,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:436,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:438,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:441,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:443,1
    - Dst: evp_keymgmt_gen_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:446,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:448,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:451,1
    - Dst: evp_pkey_ctx_set_params_to_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:458,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 462
    functionName: EVP_PKEY_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - evp_pkey_ctx_state
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::ciph::cipher::set_ctx_params
    - EVP_PKEY_CTX*::op::kex::exchange::set_ctx_params
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX*::op::encap::kem::set_ctx_params
    - EVP_PKEY_CTX_IS_GEN_OP
    - evp_keymgmt_gen_set_params
    - EVP_PKEY_CTX*::op::sig::signature::set_ctx_params
    - evp_pkey_ctx_set_params_to_ctrl
    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:466,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:468,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:471,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:473,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:476,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:478,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:481,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:483,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:486,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:488,1
    - Dst: evp_keymgmt_gen_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:491,1
    - Dst: evp_pkey_ctx_get_params_to_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:498,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:501,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 504
    functionName: EVP_PKEY_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_state
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::sig::signature::get_ctx_params
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - ERR_raise_data
    - EVP_PKEY_CTX*::op::ciph::cipher::get_ctx_params
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::encap::kem::get_ctx_params
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX*::op::kex::exchange::get_ctx_params
    - evp_keymgmt_gen_get_params
    - EVP_PKEY_CTX_IS_GEN_OP
    - evp_pkey_ctx_get_params_to_ctrl
    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:511,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:514,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:514,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:515,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:518,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:521,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:522,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:523,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:526,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:529,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:530,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:531,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:534,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:537,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:537,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:538,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:541,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:544,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:544,1
    - Dst: EVP_PKEY_CTX*::keymgmt::gen_gettable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:545,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 549
    functionName: EVP_PKEY_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_params
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::kex::exchange::gettable_ctx_params
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_KEYEXCH_get0_provider
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX*::keymgmt::gen_gettable_params
    - ossl_provider_ctx
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX*::op::ciph::cipher::gettable_ctx_params
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::encap::kem::gettable_ctx_params
    - EVP_PKEY_CTX_IS_GEN_OP
    - 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:555,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:558,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:558,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:559,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:562,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:565,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:566,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:567,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:570,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:573,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:574,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:575,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:578,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:581,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:581,1
    - Dst: EVP_PKEY_CTX*::keymgmt::gen_settable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:582,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:585,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:588,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:588,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 593
    functionName: EVP_PKEY_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::kex::exchange::settable_ctx_params
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX*::op::ciph::cipher::settable_ctx_params
    - EVP_KEYEXCH_get0_provider
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX*::keymgmt::gen_settable_params
    - ossl_provider_ctx
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::encap::kem::settable_ctx_params
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX*::op::sig::signature::settable_ctx_params
    - EVP_KEM_get0_provider
    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:618,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:619,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_lib.c:624,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 630
    functionName: evp_pkey_ctx_set_params_strict
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_settable_params
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_set_params
    - 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:643,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:644,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_lib.c:649,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: evp_pkey_ctx_get_params_strict
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_gettable_params
    - 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:664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:665,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:671,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:674,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:677,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:679,1
    - Dst: evp_get_digestbyname_ex
      Src: /src/openssl/crypto/evp/pmeth_lib.c:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 689
    functionName: EVP_PKEY_CTX_get_signature_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_get_params
    - evp_get_digestbyname_ex
    - EVP_PKEY_CTX_ctrl
    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:699,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:705,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/pmeth_lib.c:710,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:713,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:719,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:721,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: 722
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 722
    functionName: evp_pkey_ctx_set_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_ctrl
    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:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 729
    functionName: EVP_PKEY_CTX_set_signature_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    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:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 736
    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:746,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:757,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:761,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:768,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:770,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: 771
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 771
    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
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_ctrl
    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:786,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:793,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:797,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:804,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_lib.c:805,1
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:806,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:810,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:811,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:813,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:823,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:828,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:832,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/pmeth_lib.c:837,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:838,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:841,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: 843
      start: 773
    functionDepth: 4
    functionLinenumber: 773
    functionLinenumberEnd: 843
    functionName: evp_pkey_ctx_add1_octet_string
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_zalloc
    - EVP_PKEY_CTX_gettable_params
    - OPENSSL_clear_free
    - evp_pkey_ctx_set1_octet_string
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_set_params
    - memcpy
    - EVP_PKEY_CTX_ctrl
    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:848,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: 853
      start: 845
    functionDepth: 4
    functionLinenumber: 845
    functionLinenumberEnd: 853
    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:858,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: 863
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 863
    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:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 865
    functionDepth: 4
    functionLinenumber: 865
    functionLinenumberEnd: 870
    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:875,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: 880
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 880
    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:885,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: 890
      start: 882
    functionDepth: 4
    functionLinenumber: 882
    functionLinenumberEnd: 890
    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:895,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: 900
      start: 892
    functionDepth: 5
    functionLinenumber: 892
    functionLinenumberEnd: 900
    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:906,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:907,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:914,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:919,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:923,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:924,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 927
    functionName: EVP_PKEY_CTX_set_hkdf_mode
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_int
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_ctrl
    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:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pass
    - passlen
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 937
    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:942,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: 947
      start: 939
    functionDepth: 4
    functionLinenumber: 939
    functionLinenumberEnd: 947
    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:954,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:955,1
    - Dst: EVP_PKEY_CTX_ctrl_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:962,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:965,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:966,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:968,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: 969
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 969
    functionName: evp_pkey_ctx_set_uint64
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_ctrl_uint64
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - 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:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 976
    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:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - r
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 983
    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:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 4
    functionLinenumber: 985
    functionLinenumberEnd: 990
    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:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - maxmem_bytes
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 4
    functionLinenumber: 992
    functionLinenumberEnd: 999
    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:1004,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: 1009
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    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:1016,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1019,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1020,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1023,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1025,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - op
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1027
    functionName: EVP_PKEY_CTX_set_kem_op
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_KEM_OP
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    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:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    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:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    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:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id_len
    argTypes:
    - EVP_PKEY_CTX*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1052,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1057,1
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1061,1
    - Dst: evp_pkey_ctx_ctrl_to_param
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1063,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1066,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1070
    functionName: evp_pkey_ctx_ctrl_int
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_state
    - evp_pkey_ctx_ctrl_to_param
    - ERR_raise
    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:1078,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1082,1
    - Dst: evp_pkey_ctx_store_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1083,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1086,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1088,1
    - Dst: evp_pkey_ctx_ctrl_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1097,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: 1098
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1098
    functionName: EVP_PKEY_CTX_ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 8
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - ERR_raise
    - evp_pkey_ctx_store_cached_data
    - evp_pkey_ctx_ctrl_int
    - ERR_set_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:1103,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: 1104
      start: 1100
    functionDepth: 4
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1112,1
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1116,1
    - Dst: evp_pkey_ctx_ctrl_str_to_param
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1126
    functionName: evp_pkey_ctx_ctrl_str_int
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_state
    - ERR_raise
    - evp_pkey_ctx_ctrl_str_to_param
    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:1134,1
    - Dst: evp_pkey_ctx_store_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1135,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1136,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1138,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1140,1
    - Dst: evp_pkey_ctx_ctrl_str_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1151
    functionName: EVP_PKEY_CTX_ctrl_str
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - evp_pkey_ctx_ctrl_str_int
    - evp_pkey_ctx_store_cached_data
    - strlen
    - ERR_set_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:1161,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1162,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cmd
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1167
    functionName: decode_cmd
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - strcmp
    linkageType: ''
    returnType: int
    signature: int decode_cmd(int cmd, const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: decode_cmd
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1183,1
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1191,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1194,1
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1195,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1207,1
    - Dst: evp_pkey_ctx_free_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1213,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1215,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    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: 1229
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1229
    functionName: evp_pkey_ctx_store_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - evp_pkey_ctx_state
    - OPENSSL_strdup
    - OPENSSL_memdup
    - ERR_raise
    - EVP_KEYMGMT_is_a
    - evp_pkey_type2name
    - evp_pkey_ctx_free_cached_data
    - decode_cmd
    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:1234,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - cmd
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1231
    functionDepth: 2
    functionLinenumber: 1231
    functionLinenumberEnd: 1243
    functionName: evp_pkey_ctx_free_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - decode_cmd
    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:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1245
    functionDepth: 3
    functionLinenumber: 1245
    functionLinenumberEnd: 1248
    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:1260,1
    - Dst: evp_pkey_ctx_ctrl_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1268
    functionName: evp_pkey_ctx_use_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_ctrl_str_int
    - evp_pkey_ctx_ctrl_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: 1273
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    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: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    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:1282,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1284,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1285,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1287,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1288,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1290,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1291,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1293,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1294,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1300
    functionName: EVP_PKEY_CTX_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_KEYEXCH_get0_provider
    - EVP_KEYMGMT_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX_IS_GEN_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:1308,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - cmd
    - str
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1304
    functionDepth: 4
    functionLinenumber: 1304
    functionLinenumberEnd: 1312
    functionName: EVP_PKEY_CTX_str2ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - strlen
    - EVP_PKEY_CTX_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:1320,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cmd
    - hex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 4
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: EVP_PKEY_CTX_hex2ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexstr2buf
    - EVP_PKEY_CTX_ctrl
    - OPENSSL_free
    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:1334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1335,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1338,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: 1339
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1339
    functionName: EVP_PKEY_CTX_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    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: 1344
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1344
    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: 1350
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1350
    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: 1355
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1355
    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: 1360
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1360
    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: 1365
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1365
    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: 1370
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1370
    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: 1375
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1375
    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: 1380
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1380
    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:
    - 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: 22
    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:106,1
    - Dst: EVP_ASYM_CIPHER_fetch
      Src: /src/openssl/crypto/evp/asymcipher.c:111,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:114,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:117,1
    - Dst: evp_asym_cipher_fetch_from_prov
      Src: /src/openssl/crypto/evp/asymcipher.c:118,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/asymcipher.c:137,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/asymcipher.c:138,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:141,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:144,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/asymcipher.c:148,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:152,1
    - Dst: EVP_ASYM_CIPHER*::newctx
      Src: /src/openssl/crypto/evp/asymcipher.c:157,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/asymcipher.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:160,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:168,1
    - Dst: EVP_ASYM_CIPHER*::encrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:173,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:177,1
    - Dst: EVP_ASYM_CIPHER*::decrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:185,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:191,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/asymcipher.c:196,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:199,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 108
    argCount: 3
    argNames:
    - ctx
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 201
    functionName: evp_pkey_asym_cipher_init
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - evp_keymgmt_util_query_operation_name
    - EVP_ASYM_CIPHER_fetch
    - ERR_pop_to_mark
    - ERR_raise_data
    - EVP_ASYM_CIPHER*::encrypt_init
    - ossl_provider_ctx
    - ERR_raise
    - EVP_KEYMGMT_free
    - evp_pkey_ctx_free_old_ops
    - EVP_KEYMGMT_get0_provider
    - evp_asym_cipher_fetch_from_prov
    - EVP_ASYM_CIPHER_free
    - evp_keymgmt_fetch_from_prov
    - EVP_ASYM_CIPHER*::newctx
    - EVP_ASYM_CIPHER*::decrypt_init
    - ossl_assert
    - ERR_set_mark
    - evp_pkey_ctx_is_legacy
    - EVP_ASYM_CIPHER_get0_provider
    - evp_pkey_export_to_provider
    - EVP_KEYMGMT_get0_name
    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:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 206
    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:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:232,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:237,1
    - Dst: EVP_ASYM_CIPHER*::encrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:238,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:239,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:240,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    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: 244
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: EVP_PKEY_encrypt
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_raise
    - EVP_ASYM_CIPHER*::encrypt
    - ERR_set_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:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 5
    functionLinenumber: 246
    functionLinenumberEnd: 249
    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:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 254
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:275,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:281,1
    - Dst: EVP_ASYM_CIPHER*::decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:282,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:283,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:284,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    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: 289
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 289
    functionName: EVP_PKEY_decrypt
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 1
    functionsReached:
    - ERR_clear_last_mark
    - ERR_raise_data
    - EVP_ASYM_CIPHER*::decrypt
    - ERR_count_to_mark
    - ERR_raise
    - ERR_set_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:296,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/asymcipher.c:297,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:302,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/asymcipher.c:303,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: 308
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 308
    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:312,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:317,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/asymcipher.c:318,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:319,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/asymcipher.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: evp_asym_cipher_new
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - ossl_provider_up_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:337,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:338,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/asymcipher.c:343,1
    - Dst: OSSL_FUNC_asym_cipher_newctx
      Src: /src/openssl/crypto/evp/asymcipher.c:352,1
    - Dst: OSSL_FUNC_asym_cipher_encrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:358,1
    - Dst: OSSL_FUNC_asym_cipher_encrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:364,1
    - Dst: OSSL_FUNC_asym_cipher_decrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:370,1
    - Dst: OSSL_FUNC_asym_cipher_decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:376,1
    - Dst: OSSL_FUNC_asym_cipher_freectx
      Src: /src/openssl/crypto/evp/asymcipher.c:382,1
    - Dst: OSSL_FUNC_asym_cipher_dupctx
      Src: /src/openssl/crypto/evp/asymcipher.c:388,1
    - Dst: OSSL_FUNC_asym_cipher_get_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:394,1
    - Dst: OSSL_FUNC_asym_cipher_gettable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:401,1
    - Dst: OSSL_FUNC_asym_cipher_set_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:408,1
    - Dst: OSSL_FUNC_asym_cipher_settable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:415,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:435,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/asymcipher.c:441,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: 443
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 443
    functionName: evp_asym_cipher_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_asym_cipher_decrypt
    - OSSL_FUNC_asym_cipher_encrypt
    - OSSL_FUNC_asym_cipher_encrypt_init
    - OSSL_FUNC_asym_cipher_decrypt_init
    - OSSL_FUNC_asym_cipher_freectx
    - OSSL_FUNC_asym_cipher_newctx
    - ERR_raise
    - OSSL_FUNC_asym_cipher_dupctx
    - OSSL_FUNC_asym_cipher_gettable_ctx_params
    - OSSL_FUNC_asym_cipher_get_ctx_params
    - OSSL_FUNC_asym_cipher_set_ctx_params
    - EVP_ASYM_CIPHER_free
    - ossl_algorithm_get1_first_name
    - evp_asym_cipher_new
    - OSSL_FUNC_asym_cipher_settable_ctx_params
    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:451,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/asymcipher.c:454,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/asymcipher.c:455,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:456,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/asymcipher.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: EVP_ASYM_CIPHER_free
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 5
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    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: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    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:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    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:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 491
    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:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - name
    argTypes:
    - EVP_ASYM_CIPHER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 496
    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: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    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: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    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: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    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:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 527
    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:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - data
    argTypes:
    - EVP_ASYM_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 537
    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:546,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:546,1
    - Dst: EVP_ASYM_CIPHER*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cip
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: EVP_ASYM_CIPHER_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_ASYM_CIPHER*::gettable_ctx_params
    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:557,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:557,1
    - Dst: EVP_ASYM_CIPHER*::settable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cip
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: EVP_ASYM_CIPHER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_ASYM_CIPHER*::settable_ctx_params
    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:33,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/p5_crpt2.c:41,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:46,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/evp/p5_crpt2.c:49,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:50,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:53,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:55,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p5_crpt2.c:57,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:58,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p5_crpt2.c:60,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/evp/p5_crpt2.c:61,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:64,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:68,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:72,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:77,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:80,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/evp/p5_crpt2.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    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: 84
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 84
    functionName: ossl_pkcs5_pbkdf2_hmac_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - BIO_printf
    - BIO_hex_string
    - OSSL_TRACE_END
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_KDF_fetch
    - strlen
    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:68,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:72,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:77,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_hex_string
    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:90,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: 92
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: PKCS5_PBKDF2_HMAC
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 2
    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:101,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:102,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:104,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: 106
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: PKCS5_PBKDF2_HMAC_SHA1
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs5_pbkdf2_hmac_ex
    - EVP_MD_free
    - EVP_MD_fetch
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/evp/p5_crpt2.c:126,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/evp/p5_crpt2.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:128,1
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:133,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/p5_crpt2.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:135,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/evp/p5_crpt2.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:143,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:147,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:151,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:154,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:157,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/evp/p5_crpt2.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:160,1
    - Dst: kdf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:163,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:165,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    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: 168
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 168
    functionName: PKCS5_v2_PBE_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - kdf
    - ERR_clear_last_mark
    - EVP_CIPHER_asn1_to_param
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - OBJ_obj2nid
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ASN1_ITEM_rptr
    - EVP_PBE_find_ex
    - OBJ_obj2txt
    - EVP_CipherInit_ex
    - PBE2PARAM_free
    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:174,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: 175
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 175
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/evp/p5_crpt2.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:191,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/p5_crpt2.c:194,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/p5_crpt2.c:195,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/evp/p5_crpt2.c:199,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/evp/p5_crpt2.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:202,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/p5_crpt2.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:208,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/evp/p5_crpt2.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:216,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/p5_crpt2.c:221,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/crypto/evp/p5_crpt2.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:226,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:230,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p5_crpt2.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:237,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/evp/p5_crpt2.c:244,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:245,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:248,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p5_crpt2.c:250,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:251,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:252,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    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: 254
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 254
    functionName: PKCS5_v2_PBKDF2_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - ASN1_INTEGER_get
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_PBE_find
    - OPENSSL_cleanse
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - EVP_CIPHER_CTX_get_key_length
    - EVP_MD_fetch
    - OBJ_obj2nid
    - PBKDF2PARAM_free
    - EVP_MD_free
    - ASN1_ITEM_rptr
    - ossl_pkcs5_pbkdf2_hmac_ex
    - OPENSSL_assert
    - EVP_CipherInit_ex
    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:260,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: 262
      start: 256
    functionDepth: 6
    functionLinenumber: 256
    functionLinenumberEnd: 262
    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_legacy
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    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
    - evp_pkey_ctx_is_legacy
    - ERR_raise
    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:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_int
    - dh_paramgen_check
    - OSSL_PARAM_construct_end
    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:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_octet_string
    - dh_paramgen_check
    - OSSL_PARAM_construct_end
    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:
    - evp_pkey_ctx_set_params_strict
    - dh_paramgen_check
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:
    - evp_pkey_ctx_set_params_strict
    - dh_paramgen_check
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_int
    - dh_paramgen_check
    - OSSL_PARAM_construct_end
    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:
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    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:
    - dh_param_derive_check
    - evp_pkey_ctx_set_params_strict
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:
    - dh_param_derive_check
    - ERR_raise
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_size_t
    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:
    - dh_param_derive_check
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - ERR_raise
    - 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:
    - dh_param_derive_check
    - ERR_raise
    - 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: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 124
    argCount: 5
    argNames:
    - ctx
    - t
    - f
    - dlen
    - wrap_cnt
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 286
    functionName: evp_encodeblock_int
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_scalar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t evp_encodeblock_int(EVP_ENCODE_CTX *ctx, unsigned char *t,\n
      \   const unsigned char *f, int dlen, int *wrap_cnt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/crypto/evp/evp_pbe.c:106,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/evp_pbe.c:106,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/evp/evp_pbe.c:111,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/evp/evp_pbe.c:113,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_pbe.c:114,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/evp_pbe.c:122,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/evp_pbe.c:125,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_pbe.c:125,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_pbe.c:127,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_pbe.c:128,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/evp_pbe.c:134,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_pbe.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pbe.c:137,1
    - Dst: keygen_ex
      Src: /src/openssl/crypto/evp/evp_pbe.c:144,1
    - Dst: keygen
      Src: /src/openssl/crypto/evp/evp_pbe.c:146,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:149,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    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: 153
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 153
    functionName: EVP_PBE_CipherInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2sn
    - keygen
    - ERR_raise_data
    - ERR_raise
    - EVP_MD_fetch
    - OBJ_obj2nid
    - i2t_ASN1_OBJECT
    - EVP_CIPHER_fetch
    - keygen_ex
    - EVP_CIPHER_free
    - EVP_PBE_find_ex
    - EVP_MD_free
    - strlen
    - OPENSSL_strlcpy
    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:158,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: 159
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 159
    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: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    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: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    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:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pbe.c:193,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_pbe.c:198,1
    - Dst: sk_EVP_PBE_CTL_push
      Src: /src/openssl/crypto/evp/evp_pbe.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pbe.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:214,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: 216
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 216
    functionName: EVP_PBE_alg_add_type
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - ERR_raise
    - sk_EVP_PBE_CTL_push
    - sk_EVP_PBE_CTL_new
    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:224,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/evp/evp_pbe.c:228,1
    - Dst: EVP_PBE_alg_add_type
      Src: /src/openssl/crypto/evp/evp_pbe.c:232,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: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    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:249,1
    - Dst: sk_EVP_PBE_CTL_find
      Src: /src/openssl/crypto/evp/evp_pbe.c:250,1
    - Dst: sk_EVP_PBE_CTL_value
      Src: /src/openssl/crypto/evp/evp_pbe.c:251,1
    - Dst: OBJ_bsearch_pbe2
      Src: /src/openssl/crypto/evp/evp_pbe.c:254,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/evp_pbe.c:254,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: 267
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 267
    functionName: EVP_PBE_find_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 2
    functionsReached:
    - sk_EVP_PBE_CTL_find
    - sk_EVP_PBE_CTL_value
    - sk_EVP_PBE_CTL_sort
    - OSSL_NELEM
    - OBJ_bsearch_pbe2
    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:272,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: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    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:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbe
    argTypes:
    - EVP_PBE_CTL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    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:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ptype
    - ppbe_nid
    - num
    argTypes:
    - int*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 299
    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
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - ossl_provider_up_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:425,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:431,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:437,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:443,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:451,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: 453
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 453
    functionName: evp_signature_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_signature_gettable_ctx_params
    - OSSL_FUNC_signature_verify
    - OSSL_FUNC_signature_digest_sign_final
    - OSSL_FUNC_signature_newctx
    - OSSL_FUNC_signature_sign_message_update
    - OSSL_FUNC_signature_digest_sign_update
    - ERR_raise_data
    - OSSL_FUNC_signature_sign
    - OSSL_FUNC_signature_settable_ctx_params
    - OSSL_FUNC_signature_verify_init
    - OSSL_FUNC_signature_digest_sign
    - ERR_raise
    - OSSL_FUNC_signature_digest_verify
    - OSSL_FUNC_signature_digest_sign_init
    - OSSL_FUNC_signature_set_ctx_params
    - OSSL_FUNC_signature_freectx
    - OSSL_FUNC_signature_set_ctx_md_params
    - EVP_SIGNATURE_free
    - OSSL_FUNC_signature_get_ctx_params
    - OSSL_FUNC_signature_gettable_ctx_md_params
    - OSSL_FUNC_signature_verify_recover
    - OSSL_FUNC_signature_get_ctx_md_params
    - OSSL_FUNC_signature_sign_init
    - OSSL_FUNC_signature_verify_message_init
    - OSSL_FUNC_signature_sign_message_init
    - OSSL_FUNC_signature_digest_verify_init
    - OSSL_FUNC_signature_verify_recover_init
    - OSSL_FUNC_signature_digest_verify_final
    - OSSL_FUNC_signature_settable_ctx_md_params
    - OSSL_FUNC_signature_verify_message_update
    - OSSL_FUNC_signature_sign_message_final
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_signature_digest_verify_update
    - evp_signature_new
    - OSSL_FUNC_signature_query_key_types
    - OSSL_FUNC_signature_verify_message_final
    - 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:461,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/signature.c:464,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/signature.c:465,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/signature.c:466,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/signature.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: EVP_SIGNATURE_free
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 5
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 476
    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: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    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:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 490
    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:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 501
    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:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - signature
    - name
    argTypes:
    - EVP_SIGNATURE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 507
    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: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: EVP_SIGNATURE_has_message_update
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_SIGNATURE_has_message_update(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: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    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: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    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: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    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:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 544
    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:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - EVP_SIGNATURE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    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:563,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:563,1
    - Dst: EVP_SIGNATURE*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: EVP_SIGNATURE_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_SIGNATURE_get0_provider
    - EVP_SIGNATURE*::gettable_ctx_params
    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:574,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:574,1
    - Dst: EVP_SIGNATURE*::settable_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 576
    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: 39
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:590,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/signature.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:606,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:620,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:621,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/signature.c:622,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/signature.c:625,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:628,1
    - Dst: EVP_SIGNATURE*::query_key_types
      Src: /src/openssl/crypto/evp/signature.c:642,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/evp/signature.c:644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:647,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/signature.c:656,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/openssl/crypto/evp/signature.c:657,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/signature.c:666,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/openssl/crypto/evp/signature.c:669,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:674,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/crypto/evp/signature.c:680,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/signature.c:684,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/signature.c:686,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/signature.c:690,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:691,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/signature.c:698,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/signature.c:700,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:701,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/signature.c:705,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/signature.c:708,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:709,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:738,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:740,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/evp/signature.c:745,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:747,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:750,1
    - Dst: evp_signature_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:751,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:770,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/signature.c:771,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/signature.c:774,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:777,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:781,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/signature.c:785,1
    - Dst: EVP_SIGNATURE*::newctx
      Src: /src/openssl/crypto/evp/signature.c:793,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/signature.c:793,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:796,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:803,1
    - Dst: EVP_SIGNATURE*::sign_init
      Src: /src/openssl/crypto/evp/signature.c:808,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:812,1
    - Dst: EVP_SIGNATURE*::sign_message_init
      Src: /src/openssl/crypto/evp/signature.c:817,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:821,1
    - Dst: EVP_SIGNATURE*::verify_init
      Src: /src/openssl/crypto/evp/signature.c:826,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:830,1
    - Dst: EVP_SIGNATURE*::verify_message_init
      Src: /src/openssl/crypto/evp/signature.c:835,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:839,1
    - Dst: EVP_SIGNATURE*::verify_recover_init
      Src: /src/openssl/crypto/evp/signature.c:844,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:847,1
    - Dst: EVP_SIGNATURE*::freectx
      Src: /src/openssl/crypto/evp/signature.c:852,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/signature.c:863,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:864,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:867,1
    - Dst: evp_pkey_ctx_use_cached_data
      Src: /src/openssl/crypto/evp/signature.c:873,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:876,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/signature.c:879,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:881,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 192
    argCount: 4
    argNames:
    - ctx
    - signature
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 883
    functionName: evp_pkey_signature_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_is_a
    - evp_keymgmt_util_query_operation_name
    - ERR_clear_last_mark
    - EVP_SIGNATURE_get0_provider
    - EVP_SIGNATURE_is_a
    - EVP_SIGNATURE_fetch
    - EVP_SIGNATURE*::newctx
    - evp_pkey_ctx_use_cached_data
    - EVP_SIGNATURE*::sign_message_init
    - ERR_pop_to_mark
    - EVP_SIGNATURE*::freectx
    - ERR_raise_data
    - ossl_provider_ctx
    - ERR_raise
    - EVP_SIGNATURE*::verify_recover_init
    - EVP_KEYMGMT_free
    - EVP_SIGNATURE*::verify_message_init
    - EVP_SIGNATURE*::verify_init
    - EVP_SIGNATURE_free
    - EVP_SIGNATURE*::sign_init
    - evp_pkey_ctx_free_old_ops
    - EVP_SIGNATURE*::query_key_types
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_fetch_from_prov
    - ossl_assert
    - ERR_set_mark
    - evp_signature_fetch_from_prov
    - evp_pkey_ctx_is_legacy
    - evp_pkey_export_to_provider
    - EVP_KEYMGMT_get0_name
    - EVP_SIGNATURE_up_ref
    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:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 5
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: EVP_PKEY_sign_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 1
    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:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 890
    functionDepth: 5
    functionLinenumber: 890
    functionLinenumberEnd: 893
    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:898,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: 899
      start: 895
    functionDepth: 5
    functionLinenumber: 895
    functionLinenumberEnd: 899
    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:904,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: 905
      start: 901
    functionDepth: 5
    functionLinenumber: 901
    functionLinenumberEnd: 905
    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:915,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:920,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:927,1
    - Dst: EVP_SIGNATURE*::sign_message_update
      Src: /src/openssl/crypto/evp/signature.c:932,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:934,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: 937
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 937
    functionName: EVP_PKEY_sign_message_update
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::sign_message_update
    - ERR_raise
    - 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:947,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:952,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:959,1
    - Dst: EVP_SIGNATURE*::sign_message_final
      Src: /src/openssl/crypto/evp/signature.c:964,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:967,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: 970
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 970
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:981,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:987,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:992,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:999,1
    - Dst: EVP_SIGNATURE*::sign
      Src: /src/openssl/crypto/evp/signature.c:1004,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1007,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    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: 1010
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1010
    functionName: EVP_PKEY_sign
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 1
    functionsReached:
    - EVP_SIGNATURE*::sign
    - ERR_raise
    - 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:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 5
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: EVP_PKEY_verify_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    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:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 5
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    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:1025,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: 1026
      start: 1022
    functionDepth: 5
    functionLinenumber: 1022
    functionLinenumberEnd: 1026
    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:1031,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: 1032
      start: 1028
    functionDepth: 5
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    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:1040,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/signature.c:1044,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/signature.c:1050,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/signature.c:1052,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: 1053
      start: 1034
    functionDepth: 3
    functionLinenumber: 1034
    functionLinenumberEnd: 1053
    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:1063,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1068,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1075,1
    - Dst: EVP_SIGNATURE*::verify_message_update
      Src: /src/openssl/crypto/evp/signature.c:1080,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1082,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: 1085
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1085
    functionName: EVP_PKEY_verify_message_update
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::verify_message_update
    - ERR_raise
    - ERR_raise_data
    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: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_final
      Src: /src/openssl/crypto/evp/signature.c:1112,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1117
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1139,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1146,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::verify
      Src: /src/openssl/crypto/evp/signature.c:1151,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    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: 1158
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1158
    functionName: EVP_PKEY_verify
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::op::sig::signature::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:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1160
    functionDepth: 5
    functionLinenumber: 1160
    functionLinenumberEnd: 1163
    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:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1165
    functionDepth: 5
    functionLinenumber: 1165
    functionLinenumberEnd: 1169
    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:1174,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: 1175
      start: 1171
    functionDepth: 5
    functionLinenumber: 1171
    functionLinenumberEnd: 1175
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1196,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1203,1
    - Dst: EVP_SIGNATURE*::verify_recover
      Src: /src/openssl/crypto/evp/signature.c:1208,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    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: 1214
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1214
    functionName: EVP_PKEY_verify_recover
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::verify_recover
    - ERR_raise
    - ERR_raise_data
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    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: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    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: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: EVP_DO_ALL_PROVIDED_THUNK
    functionSourceFile: /src/openssl/crypto/evp/evp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_DO_ALL_PROVIDED_THUNK(type)
  - 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:
    - ossl_provider_ctx
    - EVP_SKEYMGMT_get0_provider
    - EVP_SKEYMGMT*::import
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: evp_skeymgmt_up_ref
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_skeymgmt_up_ref(void *skeymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: evp_skeymgmt_free
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void evp_skeymgmt_free(void *skeymgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:62,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:64,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: skeymgmt_new
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_free
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *skeymgmt_new(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: skeymgmt_new
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:78,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:82,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:83,1
    - Dst: OSSL_FUNC_skeymgmt_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:92,1
    - Dst: OSSL_FUNC_skeymgmt_import
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:96,1
    - Dst: OSSL_FUNC_skeymgmt_export
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:100,1
    - Dst: OSSL_FUNC_skeymgmt_generate
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:104,1
    - Dst: OSSL_FUNC_skeymgmt_get_key_id
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:108,1
    - Dst: OSSL_FUNC_skeymgmt_imp_settable_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:112,1
    - Dst: OSSL_FUNC_skeymgmt_gen_settable_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:116,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:126,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:130,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:132,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: 138
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 138
    functionName: skeymgmt_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - skeymgmt_new
    - OSSL_FUNC_skeymgmt_generate
    - OSSL_FUNC_skeymgmt_get_key_id
    - OSSL_FUNC_skeymgmt_gen_settable_params
    - OSSL_FUNC_skeymgmt_free
    - ERR_raise
    - OSSL_FUNC_skeymgmt_imp_settable_params
    - ossl_provider_up_ref
    - ossl_algorithm_get1_first_name
    - EVP_SKEYMGMT_free
    - OSSL_FUNC_skeymgmt_export
    - OSSL_FUNC_skeymgmt_import
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: evp_skeymgmt_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 1
    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:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: EVP_SKEYMGMT_fetch
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 1
    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:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: EVP_SKEYMGMT_up_ref
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 1
    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:176,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:179,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:180,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: EVP_SKEYMGMT_free
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 4
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    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: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    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: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    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:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - skeymgmt
    - name
    argTypes:
    - EVP_SKEYMGMT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 219
    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:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - skeymgmt
    - data
    argTypes:
    - EVP_SKEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 232
    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:241,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:241,1
    - Dst: EVP_SKEYMGMT*::gen_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: EVP_SKEYMGMT_get0_gen_settable_params
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_SKEYMGMT_get0_provider
    - EVP_SKEYMGMT*::gen_params
    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:253,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:253,1
    - Dst: EVP_SKEYMGMT*::imp_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: EVP_SKEYMGMT_get0_imp_settable_params
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT*::imp_params
    - ossl_provider_ctx
    - 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: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    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:73,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/evp/bio_enc.c:76,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_enc.c:78,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_enc.c:84,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: enc_new
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_zalloc
    - BIO_set_init
    - OPENSSL_free
    - BIO_set_data
    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:97,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/evp/bio_enc.c:101,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/bio_enc.c:102,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_enc.c:103,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: enc_free
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - OPENSSL_clear_free
    - EVP_CIPHER_CTX_free
    - BIO_get_data
    - BIO_set_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:117,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:119,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_enc.c:128,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/bio_enc.c:139,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/evp/bio_enc.c:158,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:167,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:170,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/evp/bio_enc.c:187,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:190,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/evp/bio_enc.c:205,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:208,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_enc.c:230,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:237,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:238,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 240
    functionName: enc_read
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - BIO_clear_retry_flags
    - BIO_should_retry
    - BIO_read
    - EVP_CIPHER_CTX_get_block_size
    - BIO_copy_next_retry
    - EVP_CipherFinal_ex
    - BIO_next
    - BIO_get_data
    - memcpy
    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:248,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:249,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:255,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_enc.c:258,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:260,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/evp/bio_enc.c:274,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:277,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_enc.c:287,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:289,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 300
    functionName: enc_write
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - BIO_clear_retry_flags
    - BIO_write
    - 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:312,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:313,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:325,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/bio_enc.c:326,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:328,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:338,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:343,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:348,1
    - Dst: enc_write
      Src: /src/openssl/crypto/evp/bio_enc.c:355,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:368,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:380,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:381,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:387,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:388,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:389,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:394,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:398,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/evp/bio_enc.c:399,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/evp/bio_enc.c:402,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:404,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:407,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 302
    functionDepth: 5
    functionLinenumber: 302
    functionLinenumberEnd: 411
    functionName: enc_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_copy
    - BIO_clear_retry_flags
    - BIO_set_init
    - EVP_CIPHER_CTX_is_encrypting
    - BIO_copy_next_retry
    - enc_write
    - EVP_CipherFinal_ex
    - BIO_next
    - BIO_get_data
    - EVP_CipherInit_ex
    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:415,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 421
    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:432,1
    - Dst: BIO_get_callback_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:436,1
    - Dst: callback_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:437,1
    - Dst: BIO_get_callback
      Src: /src/openssl/crypto/evp/bio_enc.c:444,1
    - Dst: callback
      Src: /src/openssl/crypto/evp/bio_enc.c:446,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:451,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:453,1
    - Dst: callback_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:457,1
    - Dst: callback
      Src: /src/openssl/crypto/evp/bio_enc.c:461,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: 464
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 464
    functionName: BIO_set_cipher
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - BIO_get_callback_ex
    - BIO_set_init
    - callback
    - BIO_get_callback
    - callback_ex
    - BIO_get_data
    - EVP_CipherInit_ex
    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: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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:
    - evp_skeymgmt_export
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EVP_SKEY_export(const EVP_SKEY *skey, int selection,\n    OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 6
    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: EVP_SKEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/s_lib.c:50,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/s_lib.c:58,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/s_lib.c:59,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/s_lib.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: evp_skey_alloc
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - EVP_SKEYMGMT_up_ref
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - ERR_raise
    - CRYPTO_FREE_REF
    - CRYPTO_THREAD_lock_new
    - ossl_assert
    linkageType: ''
    returnType: EVP_SKEY
    signature: EVP_SKEY *evp_skey_alloc(EVP_SKEYMGMT *skeymgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:71,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:79,1
    - Dst: evp_skey_alloc
      Src: /src/openssl/crypto/evp/s_lib.c:84,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - libctx
    - skeymgmtname
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: evp_skey_alloc_fetch
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_free
    - evp_skey_alloc
    - ERR_raise
    - EVP_SKEYMGMT_fetch
    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:93,1
    - Dst: evp_skeymgmt_import
      Src: /src/openssl/crypto/evp/s_lib.c:98,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:105,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: 107
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: EVP_SKEY_import
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - evp_skeymgmt_import
    - EVP_SKEY_free
    - 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
      Src: /src/openssl/crypto/evp/s_lib.c:112,1
    - Dst: evp_skeymgmt_import
      Src: /src/openssl/crypto/evp/s_lib.c:117,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - libctx
    - skeymgmt
    - selection
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_SKEYMGMT*
    - int
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: EVP_SKEY_import_SKEYMGMT
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 1
    functionsReached:
    - evp_skey_alloc
    - evp_skeymgmt_import
    - EVP_SKEY_free
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_SKEY_import_SKEYMGMT(OSSL_LIB_CTX *libctx, EVP_SKEYMGMT
      *skeymgmt,\n    int selection, const OSSL_PARAM *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_skey_alloc_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:131,1
    - Dst: evp_skeymgmt_generate
      Src: /src/openssl/crypto/evp/s_lib.c:136,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:143,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: 145
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 145
    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:157,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/evp/s_lib.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 161
    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:169,1
    - Dst: evp_skeymgmt_export
      Src: /src/openssl/crypto/evp/s_lib.c:176,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: 179
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: EVP_SKEY_get0_raw_key
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 1
    functionsReached:
    - evp_skeymgmt_export
    - ERR_raise
    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:187,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/s_lib.c:189,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/crypto/evp/s_lib.c:191,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: 193
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: EVP_SKEY_import_raw_key
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_import
    - OSSL_PARAM_construct_end
    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:199,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/s_lib.c:202,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/s_lib.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: EVP_SKEY_up_ref
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:214,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/s_lib.c:215,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/s_lib.c:218,1
    - Dst: evp_skeymgmt_freedata
      Src: /src/openssl/crypto/evp/s_lib.c:219,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:221,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/s_lib.c:223,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/s_lib.c:224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/s_lib.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: EVP_SKEY_free
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 4
    functionsReached:
    - REF_ASSERT_ISNT
    - evp_skeymgmt_freedata
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - EVP_SKEYMGMT_free
    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:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    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: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    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:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    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:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - skey
    - name
    argTypes:
    - EVP_SKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 261
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 275
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:285,1
    - Dst: EVP_SKEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/s_lib.c:293,1
    - Dst: evp_skeymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/s_lib.c:296,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:305,1
    - Dst: EVP_SKEY_up_ref
      Src: /src/openssl/crypto/evp/s_lib.c:312,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:314,1
    - Dst: EVP_SKEY_export
      Src: /src/openssl/crypto/evp/s_lib.c:321,1
    - Dst: evp_skey_alloc
      Src: /src/openssl/crypto/evp/s_lib.c:327,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:334,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:339,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:340,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - skey
    - libctx
    - prov
    - propquery
    argTypes:
    - EVP_SKEY*
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 342
    functionName: EVP_SKEY_to_provider
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - evp_skeymgmt_fetch_from_prov
    - EVP_SKEY_up_ref
    - EVP_SKEY_export
    - EVP_SKEY_free
    - ERR_raise
    - evp_skey_alloc
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_free
    - EVP_SKEYMGMT_up_ref
    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:
    - strchr
    - ossl_namemap_name2num_n
    - ossl_method_store_fetch
    - get_evp_method_store
    - evp_method_id
    - ossl_namemap_stored
    - 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:
    - strchr
    - ossl_namemap_name2num_n
    - OSSL_TRACE1
    - ossl_method_store_add
    - get_evp_method_store
    - evp_method_id
    - ossl_namemap_stored
    - strlen
    - OSSL_TRACE5
    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:
    - ossl_namemap_add_names
    - struct evp_method_data_st*::method_from_algorithm
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:350,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_fetch.c:352,1
    - Dst: free_method
      Src: /src/openssl/crypto/evp/evp_fetch.c:354,1
    - Dst: evp_method_id
      Src: /src/openssl/crypto/evp/evp_fetch.c:357,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/evp/evp_fetch.c:359,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/evp/evp_fetch.c:375,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_fetch.c:376,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/evp/evp_fetch.c:378,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/crypto/evp/evp_fetch.c:382,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/evp/evp_fetch.c:383,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: 389
      start: 250
    functionDepth: 7
    functionLinenumber: 250
    functionLinenumberEnd: 389
    functionName: inner_evp_generic_fetch
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE4
    - ERR_raise_data
    - ossl_method_store_cache_set
    - get_evp_method_store
    - ERR_raise
    - evp_method_id
    - free_method
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_lib_ctx_get_descriptor
    - ossl_method_construct
    - ossl_assert
    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:404,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:407,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: 409
      start: 391
    functionDepth: 8
    functionLinenumber: 391
    functionLinenumberEnd: 409
    functionName: evp_generic_fetch
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 7
    functionsReached:
    - inner_evp_generic_fetch
    - dealloc_tmp_evp_method_store
    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:428,1
    - Dst: inner_evp_generic_fetch
      Src: /src/openssl/crypto/evp/evp_fetch.c:430,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:433,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: 435
      start: 417
    functionDepth: 8
    functionLinenumber: 417
    functionLinenumberEnd: 435
    functionName: evp_generic_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 5
    functionsReached:
    - inner_evp_generic_fetch
    - ossl_provider_libctx
    - dealloc_tmp_evp_method_store
    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:439,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 6
    functionLinenumber: 437
    functionLinenumberEnd: 444
    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:448,1
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:449,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/evp/evp_fetch.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 6
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: evp_method_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    - get_evp_method_store
    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:461,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:462,1
    - Dst: ossl_global_properties_no_mirrored
      Src: /src/openssl/crypto/evp/evp_fetch.c:471,1
    - Dst: ossl_global_properties_stop_mirroring
      Src: /src/openssl/crypto/evp/evp_fetch.c:478,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:481,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_fetch.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:485,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:491,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:492,1
    - Dst: ossl_provider_default_props_update
      Src: /src/openssl/crypto/evp/evp_fetch.c:495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:496,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:498,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:501,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/evp/evp_fetch.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:507,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: 509
      start: 456
    functionDepth: 7
    functionLinenumber: 456
    functionLinenumberEnd: 509
    functionName: evp_set_parsed_default_properties
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_cache_flush_all
    - ossl_property_list_to_string
    - OPENSSL_free
    - get_evp_method_store
    - ERR_raise
    - ossl_global_properties_no_mirrored
    - ossl_ctx_global_properties
    - ossl_provider_default_props_update
    - ossl_property_free
    - ossl_global_properties_stop_mirroring
    - ossl_decoder_cache_flush
    - OPENSSL_malloc
    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:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:517,1
    - Dst: evp_set_parsed_default_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:520,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:521,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: 525
      start: 511
    functionDepth: 8
    functionLinenumber: 511
    functionLinenumberEnd: 525
    functionName: evp_set_default_properties_int
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - evp_set_parsed_default_properties
    - ossl_parse_query
    - ossl_property_free
    - ERR_raise
    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:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 9
    functionLinenumber: 527
    functionLinenumberEnd: 530
    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:535,1
    - Dst: evp_set_default_properties_int
      Src: /src/openssl/crypto/evp/evp_fetch.c:541,1
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/evp/evp_fetch.c:542,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:543,1
    - Dst: ossl_property_merge
      Src: /src/openssl/crypto/evp/evp_fetch.c:546,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:547,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:549,1
    - Dst: evp_set_parsed_default_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:552,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - libctx
    - propq
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 532
    functionDepth: 9
    functionLinenumber: 532
    functionLinenumberEnd: 557
    functionName: evp_default_properties_merge
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_set_parsed_default_properties
    - evp_set_default_properties_int
    - ERR_raise
    - ossl_property_free
    - ossl_ctx_global_properties
    - ossl_parse_query
    - 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:562,1
    - Dst: ossl_property_is_enabled
      Src: /src/openssl/crypto/evp/evp_fetch.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - prop_name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: evp_default_property_is_enabled
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_property_is_enabled
    - ossl_ctx_global_properties
    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:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 570
    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:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - enable
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 10
    functionLinenumber: 572
    functionLinenumberEnd: 578
    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:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - enable
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 11
    functionLinenumber: 580
    functionLinenumberEnd: 583
    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:587,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/evp_fetch.c:592,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:596,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_fetch.c:600,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:604,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - libctx
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 609
    functionName: evp_get_global_properties_str
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - ossl_property_list_to_string
    - OPENSSL_free
    - ERR_raise
    - ossl_ctx_global_properties
    - 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:613,1
    - Dst: ossl_lib_ctx_is_global_default
      Src: /src/openssl/crypto/evp/evp_fetch.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 614
    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:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - id
    - method
    - arg
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 628
    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:644,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:651,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:653,1
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:653,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:655,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: 656
      start: 630
    functionDepth: 8
    functionLinenumber: 630
    functionLinenumberEnd: 656
    functionName: evp_generic_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 6
    functionsReached:
    - inner_evp_generic_fetch
    - ossl_method_store_do_all
    - get_evp_method_store
    - dealloc_tmp_evp_method_store
    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:664,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:665,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/evp_fetch.c:668,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/evp_fetch.c:669,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: 670
      start: 658
    functionDepth: 7
    functionLinenumber: 658
    functionLinenumberEnd: 670
    functionName: evp_is_a
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 4
    functionsReached:
    - ossl_namemap_name2num
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:676,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:677,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/evp/evp_fetch.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - number
    - data
    argTypes:
    - OSSL_PROVIDER*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 672
    functionDepth: 7
    functionLinenumber: 672
    functionLinenumberEnd: 680
    functionName: evp_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 5
    functionsReached:
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:232,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/evp/evp_err.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 236
    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: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    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: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY*::ameth::pkey_bits
      Src: /src/openssl/crypto/evp/p_lib.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    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:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: EVP_PKEY_get_security_bits
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::pkey_security_bits
    - ERR_raise
    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: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    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: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    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:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - arg
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    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:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    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:145,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:145,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/crypto/evp/p_lib.c:146,1
    - Dst: evp_pkey_is_blank
      Src: /src/openssl/crypto/evp/p_lib.c:164,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:166,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:167,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/p_lib.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:179,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/evp/p_lib.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:186,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/evp/p_lib.c:190,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/crypto/evp/p_lib.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:194,1
    - Dst: evp_keymgmt_util_copy
      Src: /src/openssl/crypto/evp/p_lib.c:200,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:222,1
    - Dst: evp_keymgmt_dup
      Src: /src/openssl/crypto/evp/p_lib.c:224,1
    - Dst: EVP_PKEY*::ameth::param_copy
      Src: /src/openssl/crypto/evp/p_lib.c:233,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:236,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 238
    functionName: EVP_PKEY_copy_parameters
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - EVP_PKEY_parameters_eq
    - evp_pkey_is_blank
    - evp_keymgmt_util_copy
    - evp_keymgmt_dup
    - evp_pkey_copy_downgraded
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_set_type
    - ERR_raise
    - evp_pkey_export_to_provider
    - EVP_PKEY_set_type_by_keymgmt
    - EVP_PKEY_free
    - EVP_PKEY*::ameth::param_copy
    - evp_pkey_is_legacy
    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:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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:244,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/evp/p_lib.c:247,1
    - Dst: EVP_PKEY*::ameth::param_missing
      Src: /src/openssl/crypto/evp/p_lib.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: EVP_PKEY_missing_parameters
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    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:264,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:270,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:270,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:270,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:274,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:274,1
    - Dst: evp_keymgmt_util_match
      Src: /src/openssl/crypto/evp/p_lib.c:275,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:281,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:282,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:282,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:284,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:285,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:285,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:299,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:306,1
    - Dst: evp_keymgmt_match
      Src: /src/openssl/crypto/evp/p_lib.c:321,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - a
    - b
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 323
    functionName: evp_pkey_cmp_any
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - OBJ_nid2sn
    - evp_keymgmt_match
    - EVP_KEYMGMT_is_a
    - evp_pkey_export_to_provider
    - evp_keymgmt_util_match
    - ossl_assert
    - 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:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    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:337,1
    - Dst: evp_pkey_cmp_any
      Src: /src/openssl/crypto/evp/p_lib.c:345,1
    - Dst: EVP_PKEY*::ameth::param_cmp
      Src: /src/openssl/crypto/evp/p_lib.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 354
    functionName: EVP_PKEY_parameters_eq
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY*::ameth::param_cmp
    - evp_pkey_cmp_any
    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:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    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:384,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/evp/p_lib.c:385,1
    - Dst: evp_pkey_cmp_any
      Src: /src/openssl/crypto/evp/p_lib.c:389,1
    - Dst: EVP_PKEY*::ameth::param_cmp
      Src: /src/openssl/crypto/evp/p_lib.c:401,1
    - Dst: EVP_PKEY*::ameth::pub_cmp
      Src: /src/openssl/crypto/evp/p_lib.c:407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 412
    functionName: EVP_PKEY_eq
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_has
    - EVP_PKEY*::ameth::pub_cmp
    - evp_pkey_cmp_any
    - EVP_PKEY*::ameth::param_cmp
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/evp/p_lib.c:427,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:429,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:434,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/crypto/evp/p_lib.c:435,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/p_lib.c:438,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:439,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/crypto/evp/p_lib.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:445,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:449,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:453,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/p_lib.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:460,1
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:464,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:474,1
    - Dst: EVP_PKEY*::ameth::set_priv_key
      Src: /src/openssl/crypto/evp/p_lib.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:479,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:484,1
    - Dst: EVP_PKEY*::ameth::set_pub_key
      Src: /src/openssl/crypto/evp/p_lib.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:489,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:497,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:500,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 7
    argNames:
    - libctx
    - strtype
    - propq
    - nidtype
    - key
    - len
    - key_is_priv
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 502
    functionName: new_raw_key_int
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - EVP_PKEY_new
    - OBJ_nid2sn
    - OSSL_PARAM_construct_octet_string
    - ERR_clear_last_mark
    - pkey_set_type
    - EVP_PKEY*::ameth::set_pub_key
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - ERR_raise
    - EVP_PKEY*::ameth::set_priv_key
    - EVP_PKEY_CTX_new_from_name
    - ossl_assert
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - ERR_set_mark
    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    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:509,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: 511
      start: 504
    functionDepth: 6
    functionLinenumber: 504
    functionLinenumberEnd: 511
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:517,1
    - Dst: new_raw_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - type
    - e
    - priv
    - len
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 6
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: EVP_PKEY_new_raw_private_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - 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:526,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: 528
      start: 522
    functionDepth: 6
    functionLinenumber: 522
    functionLinenumberEnd: 528
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:534,1
    - Dst: new_raw_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - type
    - e
    - pub
    - len
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 6
    functionLinenumber: 530
    functionLinenumberEnd: 537
    functionName: EVP_PKEY_new_raw_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - 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:552,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:554,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/p_lib.c:558,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 566
    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:578,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:583,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:588,1
    - Dst: EVP_PKEY*::ameth::get_priv_key
      Src: /src/openssl/crypto/evp/p_lib.c:592,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:593,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: 598
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 598
    functionName: EVP_PKEY_get_raw_private_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::get_priv_key
    - ERR_raise
    - evp_keymgmt_util_export
    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:610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:620,1
    - Dst: EVP_PKEY*::ameth::get_pub_key
      Src: /src/openssl/crypto/evp/p_lib.c:624,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:625,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: 630
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 630
    functionName: EVP_PKEY_get_raw_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY*::ameth::get_pub_key
    - evp_keymgmt_util_export
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char
      *pub,\n    size_t *len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/evp/p_lib.c:644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:647,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/evp/p_lib.c:651,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/crypto/evp/p_lib.c:655,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:656,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:660,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:662,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:665,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:667,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/crypto/evp/p_lib.c:669,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:670,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 6
    argNames:
    - priv
    - len
    - cipher_name
    - cipher
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 632
    functionDepth: 5
    functionLinenumber: 632
    functionLinenumberEnd: 682
    functionName: new_cmac_key_int
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_get0_name
    - EVP_PKEY_fromdata_init
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:687,1
    - Dst: new_cmac_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - e
    - priv
    - len
    - cipher
    argTypes:
    - ENGINE*
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 6
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: EVP_PKEY_new_CMAC_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - new_cmac_key_int
    - ossl_assert
    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:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 695
    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:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkey
    - str
    - len
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 700
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:709,1
    - Dst: ossl_ec_key_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:716,1
    - Dst: ossl_dsa_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:722,1
    - Dst: ossl_dh_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 735
    functionName: detect_foreign_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_is_foreign
    - ossl_dh_is_foreign
    - ossl_dsa_is_foreign
    - ossl_rsa_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:742,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/p_lib.c:744,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/evp/p_lib.c:747,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:761,1
    - Dst: detect_foreign_key
      Src: /src/openssl/crypto/evp/p_lib.c:765,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pkey
    - type
    - key
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 768
    functionName: EVP_PKEY_assign
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_type
    - EVP_PKEY_set_type
    - EC_KEY_get0_group
    - EC_GROUP_get_curve_name
    - detect_foreign_key
    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:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 780
    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:786,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 795
    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:802,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 811
    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:820,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    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:836,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 840
    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:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 845
    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:851,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/evp/p_lib.c:854,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/evp/p_lib.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 860
    functionName: EVP_PKEY_set1_DSA
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - DSA_free
    - DSA_up_ref
    - EVP_PKEY_assign_DSA
    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:863,1
    - Dst: DSA_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: EVP_PKEY_get1_DSA
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - DSA_up_ref
    - evp_pkey_get0_DSA_int
    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:875,1
    - 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: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 880
    functionName: evp_pkey_get0_ECX_KEY
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_base_id
    - ERR_raise
    - evp_pkey_get_legacy
    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:884,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 889
    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: 896
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 896
    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:928,1
    - Dst: DH_get0_q
      Src: /src/openssl/crypto/evp/p_lib.c:931,1
    - Dst: DH_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:933,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/evp/p_lib.c:936,1
    - Dst: DH_free
      Src: /src/openssl/crypto/evp/p_lib.c:939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pkey
    - dhkey
    argTypes:
    - EVP_PKEY*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 942
    functionName: EVP_PKEY_set1_DH
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - DH_get0_q
    - ossl_dh_is_named_safe_prime_group
    - DH_free
    - EVP_PKEY_assign
    - DH_up_ref
    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:947,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 951
    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:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 956
    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:960,1
    - Dst: DH_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 966
    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: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    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:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 977
    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:1011,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/p_lib.c:1012,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/p_lib.c:1016,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1016,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/p_lib.c:1018,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1019
    functionName: evp_pkey_name2type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_type
    - OBJ_sn2nid
    - OBJ_ln2nid
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    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:1025,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1031
    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:1038,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:1039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - name
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1033
    functionDepth: 4
    functionLinenumber: 1033
    functionLinenumberEnd: 1040
    functionName: EVP_PKEY_is_a
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_name2type
    - EVP_KEYMGMT_is_a
    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:1046,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:1049,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1050,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/evp/p_lib.c:1050,1
    - Dst: fn
      Src: /src/openssl/crypto/evp/p_lib.c:1052,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/crypto/evp/p_lib.c:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - data
    argTypes:
    - EVP_PKEY*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1056
    functionName: EVP_PKEY_type_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - OBJ_nid2sn
    - EVP_KEYMGMT_names_do_all
    - EVP_PKEY_get_id
    - evp_pkey_is_typed
    - fn
    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:1061,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/evp/p_lib.c:1074,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/p_lib.c:1080,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_lib.c:1081,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/p_lib.c:1085,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/evp/p_lib.c:1087,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/p_lib.c:1089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1094
    functionName: EVP_PKEY_can_sign
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_util_query_operation_name
    - EVP_KEYMGMT_get0_provider
    - EC_KEY_can_sign
    - ossl_provider_libctx
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_get_base_id
    - EVP_SIGNATURE_free
    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:1098,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/evp/p_lib.c:1100,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1102,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: 1106
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1106
    functionName: print_reset_indent
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_set_indent
    - BIO_free
    - 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:1114,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1117,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/evp/p_lib.c:1118,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/crypto/evp/p_lib.c:1118,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/evp/p_lib.c:1122,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1125,1
    - Dst: print_reset_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1126,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: 1131
      start: 1108
    functionDepth: 2
    functionLinenumber: 1108
    functionLinenumberEnd: 1131
    functionName: print_set_indent
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - print_reset_indent
    - BIO_set_indent
    - BIO_new
    - BIO_f_prefix
    - BIO_get_indent
    - BIO_push
    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:1136,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p_lib.c:1137,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/p_lib.c:1138,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: 1140
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1140
    functionName: unsup_alg
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - BIO_printf
    - BIO_indent
    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:1154,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1157,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/evp/p_lib.c:1159,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/evp/p_lib.c:1160,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:1161,1
    - Dst: legacy_print
      Src: /src/openssl/crypto/evp/p_lib.c:1168,1
    - Dst: unsup_alg
      Src: /src/openssl/crypto/evp/p_lib.c:1170,1
    - Dst: print_reset_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1173,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: 1175
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1175
    functionName: print_pkey
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - print_reset_indent
    - OSSL_ENCODER_CTX_free
    - legacy_print
    - print_set_indent
    - OSSL_ENCODER_to_bio
    - unsup_alg
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_CTX_new_for_pkey
    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:1180,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: 1183
      start: 1177
    functionDepth: 4
    functionLinenumber: 1177
    functionLinenumberEnd: 1183
    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:1188,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: 1191
      start: 1185
    functionDepth: 4
    functionLinenumber: 1185
    functionLinenumberEnd: 1191
    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:1196,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: 1199
      start: 1193
    functionDepth: 4
    functionLinenumber: 1193
    functionLinenumberEnd: 1199
    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:1206,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/evp/p_lib.c:1210,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1211,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: 1213
      start: 1202
    functionDepth: 5
    functionLinenumber: 1202
    functionLinenumberEnd: 1213
    functionName: EVP_PKEY_print_public_fp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - EVP_PKEY_print_public
    - BIO_new_fp
    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:1219,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/crypto/evp/p_lib.c:1223,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1224,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: 1226
      start: 1215
    functionDepth: 5
    functionLinenumber: 1215
    functionLinenumberEnd: 1226
    functionName: EVP_PKEY_print_private_fp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - EVP_PKEY_print_private
    - BIO_new_fp
    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:1232,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/crypto/evp/p_lib.c:1236,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1237,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: 1239
      start: 1228
    functionDepth: 5
    functionLinenumber: 1228
    functionLinenumberEnd: 1239
    functionName: EVP_PKEY_print_params_fp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - EVP_PKEY_print_params
    - BIO_new_fp
    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:1249,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - mdname
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1252
    functionName: mdname2nid
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - OBJ_ln2nid
    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:1262,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_lib.c:1267,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1273,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/p_lib.c:1274,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1275,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/p_lib.c:1276,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/p_lib.c:1282,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/p_lib.c:1283,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/evp/p_lib.c:1291,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: 1300
      start: 1254
    functionDepth: 7
    functionLinenumber: 1254
    functionLinenumberEnd: 1300
    functionName: legacy_asn1_ctrl_to_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    - EVP_MD_fetch
    - EVP_MD_free
    - ossl_namemap_stored
    - ossl_namemap_name2num
    - EVP_PKEY_get_default_digest_name
    - ERR_set_mark
    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:1305,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1308,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: 1309
      start: 1302
    functionDepth: 8
    functionLinenumber: 1302
    functionLinenumberEnd: 1309
    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:1315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkey
    - pnid
    argTypes:
    - EVP_PKEY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1311
    functionDepth: 9
    functionLinenumber: 1311
    functionLinenumberEnd: 1316
    functionName: EVP_PKEY_get_default_digest_nid
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    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:1322,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/evp/p_lib.c:1328,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1329,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/evp/p_lib.c:1332,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: 1335
      start: 1318
    functionDepth: 10
    functionLinenumber: 1318
    functionLinenumberEnd: 1335
    functionName: EVP_PKEY_get_default_digest_name
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2sn
    - evp_keymgmt_util_get_deflt_digest_name
    - EVP_PKEY_get_default_digest_nid
    - OPENSSL_strlcpy
    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:1340,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: 1342
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1342
    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:1350,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1353,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/evp/p_lib.c:1354,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1356,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:1358,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: 1360
      start: 1344
    functionDepth: 3
    functionLinenumber: 1344
    functionLinenumberEnd: 1360
    functionName: EVP_PKEY_digestsign_supports_digest
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ERR_set_mark
    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:1369,1
    - Dst: EVP_PKEY_set_octet_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1371,1
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1379,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: 1385
      start: 1363
    functionDepth: 9
    functionLinenumber: 1363
    functionLinenumberEnd: 1385
    functionName: EVP_PKEY_set1_encoded_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_is_provided
    - evp_pkey_asn1_ctrl
    - 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:1392,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1402,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/p_lib.c:1409,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:1416,1
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pkey
    - ppub
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1387
    functionDepth: 9
    functionLinenumber: 1387
    functionLinenumberEnd: 1431
    functionName: EVP_PKEY_get1_encoded_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_free
    - evp_pkey_asn1_ctrl
    - 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:1437,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1445,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/evp/p_lib.c:1448,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1450,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/evp/p_lib.c:1456,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1457,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1464,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/p_lib.c:1465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:1466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1435
    functionDepth: 3
    functionLinenumber: 1435
    functionLinenumberEnd: 1468
    functionName: EVP_PKEY_new
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 5
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - CRYPTO_FREE_REF
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *EVP_PKEY_new(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:1494,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1495,1
    - Dst: evp_pkey_free_it
      Src: /src/openssl/crypto/evp/p_lib.c:1507,1
    - Dst: evp_pkey_asn1_find_str
      Src: /src/openssl/crypto/evp/p_lib.c:1521,1
    - Dst: evp_pkey_asn1_find
      Src: /src/openssl/crypto/evp/p_lib.c:1523,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1534,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:1539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1540,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - pkey
    - type
    - str
    - len
    - keymgmt
    argTypes:
    - EVP_PKEY*
    - int
    - char*
    - int
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1575
    functionName: pkey_set_type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - evp_pkey_asn1_find
    - ERR_raise
    - EVP_KEYMGMT_up_ref
    - evp_pkey_free_it
    - evp_pkey_asn1_find_str
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int pkey_set_type(EVP_PKEY *pkey, 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:1586,1
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:1588,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/p_lib.c:1588,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1597
    functionName: find_ameth
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - strlen
    - pkey_set_type
    - 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:1612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1614,1
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:1621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - keymgmt
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1627
    functionName: EVP_PKEY_set_type_by_keymgmt
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - pkey_set_type
    - ERR_raise
    - EVP_KEYMGMT_names_do_all
    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:1633,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/p_lib.c:1636,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/p_lib.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1639
    functionName: EVP_PKEY_up_ref
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:1708,1
    - Dst: assert
      Src: /src/openssl/crypto/evp/p_lib.c:1716,1
    - Dst: EVP_PKEY_ASN1_METHOD*::pkey_free
      Src: /src/openssl/crypto/evp/p_lib.c:1725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    assertStmts:
    - condition: (x->pkey.ptr == NULL)
      pos:
        line_end: 1715
        line_start: 1715
        source_file: /src/openssl/crypto/evp/p_lib.c
    constantsTouched: []
    func_position:
      end: 1728
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1728
    functionName: evp_pkey_free_legacy
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_ASN1_METHOD*::pkey_free
    - evp_pkey_asn1_find
    - assert
    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:1734,1
    - Dst: evp_pkey_free_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:1736,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1740,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:1741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1731
    functionDepth: 2
    functionLinenumber: 1731
    functionLinenumberEnd: 1746
    functionName: evp_pkey_free_it
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_freedata
    - evp_pkey_free_legacy
    - EVP_KEYMGMT_free
    - evp_keymgmt_util_clear_operation_cache
    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:1755,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/p_lib.c:1756,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/p_lib.c:1759,1
    - Dst: evp_pkey_free_it
      Src: /src/openssl/crypto/evp/p_lib.c:1760,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/evp/p_lib.c:1762,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/p_lib.c:1764,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1765,1
    - Dst: sk_X509_ATTRIBUTE_pop_free
      Src: /src/openssl/crypto/evp/p_lib.c:1767,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:1769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1748
    functionDepth: 3
    functionLinenumber: 1748
    functionLinenumberEnd: 1770
    functionName: EVP_PKEY_free
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 24
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - evp_pkey_free_it
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - sk_X509_ATTRIBUTE_pop_free
    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:1780,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1784,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1788
    functionName: EVP_PKEY_get_size
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY*::ameth::pkey_size
    - ERR_raise
    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:1792,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:1795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1802
    functionName: EVP_PKEY_get0_description
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - evp_pkey_is_assigned
    linkageType: ''
    returnType: char
    signature: char *EVP_PKEY_get0_description(const EVP_PKEY *pkey)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1847,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:1853,1
    - Dst: EVP_PKEY*::ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:1871,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/evp/p_lib.c:1872,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:1874,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1893,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1896,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:1900,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1900,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:1903,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/evp/p_lib.c:1903,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/p_lib.c:1903,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/p_lib.c:1912,1
    - Dst: evp_keymgmt_newdata
      Src: /src/openssl/crypto/evp/p_lib.c:1916,1
    - Dst: EVP_PKEY*::ameth::export_to
      Src: /src/openssl/crypto/evp/p_lib.c:1925,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1926,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:1937,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1938,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/evp/p_lib.c:1943,1
    - Dst: EVP_PKEY*::ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:1946,1
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:1947,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:1949,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:1952,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1956,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1957,1
    - Dst: evp_keymgmt_util_cache_keydata
      Src: /src/openssl/crypto/evp/p_lib.c:1963,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1965,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1966,1
    - Dst: EVP_PKEY*::ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:1972,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1974,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:1979,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:1995,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 101
    argCount: 4
    argNames:
    - pk
    - libctx
    - keymgmt
    - propquery
    argTypes:
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - EVP_KEYMGMT**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1804
    functionDepth: 5
    functionLinenumber: 1804
    functionLinenumberEnd: 1997
    functionName: evp_pkey_export_to_provider
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 8
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - EVP_PKEY_CTX_new_from_pkey
    - evp_keymgmt_util_find_operation_cache
    - EVP_PKEY*::ameth::dirty_cnt
    - EVP_KEYMGMT_free
    - evp_keymgmt_freedata
    - evp_keymgmt_util_cache_keydata
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_util_export_to_provider
    - strcmp
    - EVP_PKEY*::ameth::export_to
    - EVP_KEYMGMT_up_ref
    - evp_keymgmt_util_clear_operation_cache
    - EVP_PKEY_CTX_free
    - OBJ_nid2sn
    - CRYPTO_THREAD_unlock
    - EVP_KEYMGMT_is_a
    - OSSL_PROVIDER_get0_name
    - evp_keymgmt_newdata
    - OSSL_PARAM_construct_octet_ptr
    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:2004,1
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/evp/p_lib.c:2007,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2007,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/p_lib.c:2013,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:2021,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/p_lib.c:2022,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:2030,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/p_lib.c:2034,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2036,1
    - Dst: evp_pkey_free_it
      Src: /src/openssl/crypto/evp/p_lib.c:2040,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:2043,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/p_lib.c:2049,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_lib.c:2056,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:2057,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2060,1
    - Dst: evp_keymgmt_export
      Src: /src/openssl/crypto/evp/p_lib.c:2063,1
    - Dst: ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:2068,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:2070,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:2073,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/p_lib.c:2076,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:2082,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_PKEY**
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2000
    functionDepth: 5
    functionLinenumber: 2000
    functionLinenumberEnd: 2086
    functionName: evp_pkey_copy_downgraded
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_new
    - evp_pkey_is_provided
    - OBJ_nid2sn
    - ERR_raise_data
    - evp_pkey_is_assigned
    - ossl_provider_libctx
    - ERR_raise
    - EVP_PKEY_set_type
    - ameth::dirty_cnt
    - evp_pkey_free_it
    - EVP_KEYMGMT_get0_name
    - evp_keymgmt_export
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - ossl_assert
    - EVP_PKEY_CTX_new_from_pkey
    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:2093,1
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/evp/p_lib.c:2100,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2102,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/evp/p_lib.c:2105,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2110,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/crypto/evp/p_lib.c:2116,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/evp/p_lib.c:2119,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2130,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:2136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2088
    functionDepth: 6
    functionLinenumber: 2088
    functionLinenumberEnd: 2139
    functionName: evp_pkey_get_legacy
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 6
    functionsReached:
    - evp_pkey_is_provided
    - CRYPTO_THREAD_unlock
    - evp_pkey_copy_downgraded
    - evp_pkey_is_assigned
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - EVP_PKEY_free
    - ossl_assert
    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:2155,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/crypto/evp/p_lib.c:2156,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2157,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2158,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2159,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/p_lib.c:2166,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2172,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2176,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/evp/p_lib.c:2178,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2181,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/p_lib.c:2182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:2184,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2185,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p_lib.c:2186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pkey
    - key_name
    - bn
    argTypes:
    - EVP_PKEY*
    - char*
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2142
    functionDepth: 2
    functionLinenumber: 2142
    functionLinenumberEnd: 2189
    functionName: EVP_PKEY_get_bn_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_PARAM_get_BN
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_PKEY_get_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_BN
    - memset
    - OSSL_PARAM_modified
    - 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:2201,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2202,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2203,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2204,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: 2208
      start: 2191
    functionDepth: 2
    functionLinenumber: 2191
    functionLinenumberEnd: 2208
    functionName: EVP_PKEY_get_octet_string_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_get_params
    - OSSL_PARAM_construct_end
    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:2220,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2221,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2222,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2223,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: 2235
      start: 2210
    functionDepth: 2
    functionLinenumber: 2210
    functionLinenumberEnd: 2235
    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:2245,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2246,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2247,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - out
    argTypes:
    - EVP_PKEY*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2237
    functionDepth: 2
    functionLinenumber: 2237
    functionLinenumberEnd: 2249
    functionName: EVP_PKEY_get_int_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    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:2259,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2260,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2261,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2262,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: 2263
      start: 2251
    functionDepth: 2
    functionLinenumber: 2251
    functionLinenumberEnd: 2263
    functionName: EVP_PKEY_get_size_t_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:2272,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2273,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - in
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2265
    functionDepth: 2
    functionLinenumber: 2265
    functionLinenumberEnd: 2275
    functionName: EVP_PKEY_set_int_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_end
    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:2284,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2285,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2286,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: 2287
      start: 2277
    functionDepth: 2
    functionLinenumber: 2277
    functionLinenumberEnd: 2287
    functionName: EVP_PKEY_set_size_t_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:2299,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/evp/p_lib.c:2302,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:2303,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/evp/p_lib.c:2306,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/crypto/evp/p_lib.c:2308,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2309,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pkey
    - key_name
    - bn
    argTypes:
    - EVP_PKEY*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2289
    functionDepth: 2
    functionLinenumber: 2289
    functionLinenumberEnd: 2311
    functionName: EVP_PKEY_set_bn_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set_params
    - BN_num_bytes
    - evp_pkey_is_assigned
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_BN
    - BN_bn2nativepad
    - ossl_assert
    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:2321,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2322,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - str
    argTypes:
    - EVP_PKEY*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2313
    functionDepth: 2
    functionLinenumber: 2313
    functionLinenumberEnd: 2324
    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:2334,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2336,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2337,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: 2338
      start: 2326
    functionDepth: 2
    functionLinenumber: 2326
    functionLinenumberEnd: 2338
    functionName: EVP_PKEY_set_octet_string_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_end
    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:2342,1
    - Dst: EVP_KEYMGMT_settable_params
      Src: /src/openssl/crypto/evp/p_lib.c:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2340
    functionDepth: 1
    functionLinenumber: 2340
    functionLinenumberEnd: 2345
    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:2350,1
    - Dst: evp_keymgmt_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2352,1
    - Dst: evp_pkey_set_params_to_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:2363,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2370
    functionName: EVP_PKEY_set_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 5
    functionsReached:
    - evp_pkey_is_provided
    - ERR_raise
    - evp_keymgmt_set_params
    - evp_pkey_set_params_to_ctrl
    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:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    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:2374,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/openssl/crypto/evp/p_lib.c:2375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2372
    functionDepth: 1
    functionLinenumber: 2372
    functionLinenumberEnd: 2377
    functionName: EVP_PKEY_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - EVP_KEYMGMT_gettable_params
    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:2382,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2383,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:2385,1
    - Dst: evp_pkey_get_params_to_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:2386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2391
    functionName: EVP_PKEY_get_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 5
    functionsReached:
    - evp_pkey_is_provided
    - evp_pkey_get_params_to_ctrl
    - ERR_raise
    - evp_keymgmt_get_params
    - 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:2406,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/crypto/evp/p_lib.c:2411,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:2417,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2422,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2425,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2394
    functionDepth: 3
    functionLinenumber: 2394
    functionLinenumberEnd: 2432
    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
    - strcmp
    - EC_KEY_get_conv_form
    - EVP_PKEY_get0_EC_KEY
    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:2446,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/p_lib.c:2451,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/evp/p_lib.c:2455,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:2461,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2465,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2434
    functionDepth: 3
    functionLinenumber: 2434
    functionLinenumberEnd: 2471
    functionName: EVP_PKEY_get_field_type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_utf8_string_param
    - EC_KEY_get0_group
    - strcmp
    - EVP_PKEY_get0_EC_KEY
    - 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_get_size
      Src: /src/openssl/crypto/evp/p_seal.c:58,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_seal.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_seal.c:62,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/evp/p_seal.c:66,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/evp/p_seal.c:67,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_seal.c:70,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_seal.c:75,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p_seal.c:76,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: 78
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 78
    functionName: EVP_SealInit
    functionSourceFile: /src/openssl/crypto/evp/p_seal.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encrypt
    - EVP_CIPHER_CTX_get0_cipher
    - OPENSSL_cleanse
    - EVP_CIPHER_get0_provider
    - ossl_provider_libctx
    - ERR_raise
    - RAND_priv_bytes_ex
    - EVP_CIPHER_CTX_get_key_length
    - EVP_PKEY_get_size
    - EVP_CIPHER_CTX_rand_key
    - EVP_PKEY_encrypt_init
    - EVP_EncryptInit_ex
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_CTX_get_iv_length
    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:83,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/evp/p_seal.c:85,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: 87
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 87
    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: 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_aes_128_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_128_cbc_hmac_sha1(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: 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: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: EVP_aes_128_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_128_cbc_hmac_sha1(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: 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asn1_find
      Src: /src/openssl/crypto/evp/evp_pkey_type.c:68,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/evp_pkey_type.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: EVP_PKEY_type
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey_type.c
    functionUses: 3
    functionsReached:
    - evp_pkey_asn1_find
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_type(int type)
  - 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: 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: 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: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    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: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    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: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    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: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    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: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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: 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:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:202,1
    - Dst: OSSL_FUNC_rand_gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:207,1
    - Dst: OSSL_FUNC_rand_settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:212,1
    - Dst: OSSL_FUNC_rand_get_params
      Src: /src/openssl/crypto/evp/evp_rand.c:217,1
    - Dst: OSSL_FUNC_rand_get_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:222,1
    - Dst: OSSL_FUNC_rand_set_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:228,1
    - Dst: OSSL_FUNC_rand_verify_zeroization
      Src: /src/openssl/crypto/evp/evp_rand.c:233,1
    - Dst: OSSL_FUNC_rand_get_seed
      Src: /src/openssl/crypto/evp/evp_rand.c:241,1
    - Dst: OSSL_FUNC_rand_clear_seed
      Src: /src/openssl/crypto/evp/evp_rand.c:246,1
    - Dst: evp_rand_free
      Src: /src/openssl/crypto/evp/evp_rand.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:268,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:272,1
    - Dst: evp_rand_free
      Src: /src/openssl/crypto/evp/evp_rand.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:274,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: 280
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 280
    functionName: evp_rand_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_rand_settable_ctx_params
    - OSSL_FUNC_rand_get_seed
    - OSSL_FUNC_rand_set_ctx_params
    - OSSL_FUNC_rand_verify_zeroization
    - OSSL_FUNC_rand_freectx
    - OSSL_FUNC_rand_uninstantiate
    - OSSL_FUNC_rand_generate
    - OSSL_FUNC_rand_lock
    - OSSL_FUNC_rand_gettable_params
    - OSSL_FUNC_rand_newctx
    - ERR_raise
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_nonce
    - OSSL_FUNC_rand_gettable_ctx_params
    - evp_rand_free
    - OSSL_FUNC_rand_instantiate
    - OSSL_FUNC_rand_enable_locking
    - evp_rand_new
    - OSSL_FUNC_rand_clear_seed
    - OSSL_FUNC_rand_reseed
    - ossl_provider_up_ref
    - OSSL_FUNC_rand_unlock
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_rand_get_params
    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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 9
    functionLinenumber: 282
    functionLinenumberEnd: 288
    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:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 293
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    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: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    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: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    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:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - rand
    - name
    argTypes:
    - EVP_RAND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 8
    functionLinenumber: 315
    functionLinenumberEnd: 318
    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: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    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:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - params
    argTypes:
    - EVP_RAND*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    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:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    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:346,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_rand.c:350,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:353,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:354,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:359,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:361,1
    - Dst: EVP_RAND*::newctx
      Src: /src/openssl/crypto/evp/evp_rand.c:367,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:367,1
    - Dst: EVP_RAND_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:371,1
    - Dst: EVP_RAND*::freectx
      Src: /src/openssl/crypto/evp/evp_rand.c:372,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:373,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:374,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/evp/evp_rand.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - rand
    - parent
    argTypes:
    - EVP_RAND*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 381
    functionName: EVP_RAND_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_provider_ctx
    - ERR_raise
    - CRYPTO_FREE_REF
    - EVP_RAND_CTX_free
    - EVP_RAND*::freectx
    - EVP_RAND_CTX_up_ref
    - EVP_RAND*::newctx
    - EVP_RAND_up_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:391,1
    - Dst: EVP_RAND_CTX*::meth::freectx
      Src: /src/openssl/crypto/evp/evp_rand.c:395,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/evp/evp_rand.c:397,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:398,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:399,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/evp/evp_rand.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: EVP_RAND_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 2
    functionsReached:
    - EVP_RAND_free
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - EVP_RAND_CTX*::meth::freectx
    - CRYPTO_DOWN_REF
    - EVP_RAND_CTX_free
    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: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    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:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    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:418,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:420,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    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:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    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:437,1
    - Dst: evp_rand_set_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:439,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 442
    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_unlock
    - evp_rand_lock
    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:448,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:448,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: EVP_RAND_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - ossl_provider_ctx
    - 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:457,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:457,1
    - Dst: EVP_RAND*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: EVP_RAND_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - ossl_provider_ctx
    - 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:467,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:467,1
    - Dst: EVP_RAND*::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: EVP_RAND_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - ossl_provider_ctx
    - EVP_RAND*::settable_ctx_params
    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:477,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:477,1
    - Dst: EVP_RAND_CTX*::meth::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: EVP_RAND_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - ossl_provider_ctx
    - 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:487,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:487,1
    - Dst: EVP_RAND_CTX*::meth::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: EVP_RAND_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - ossl_provider_ctx
    - EVP_RAND_CTX*::meth::settable_ctx_params
    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:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 491
    functionDepth: 9
    functionLinenumber: 491
    functionLinenumberEnd: 503
    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:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - data
    argTypes:
    - EVP_RAND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 8
    functionLinenumber: 505
    functionLinenumberEnd: 513
    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:518,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: 520
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 520
    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(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:529,1
    - Dst: evp_rand_instantiate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:531,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:533,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: 535
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 535
    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:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    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:546,1
    - Dst: evp_rand_uninstantiate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:548,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: EVP_RAND_uninstantiate
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_uninstantiate_locked
    - evp_rand_unlock
    - evp_rand_lock
    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:562,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:564,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:566,1
    - Dst: EVP_RAND_CTX*::meth::generate
      Src: /src/openssl/crypto/evp/evp_rand.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:573,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: 583
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 583
    functionName: evp_rand_generate_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::generate
    - ERR_raise
    - evp_rand_get_ctx_params_locked
    - OSSL_PARAM_construct_size_t
    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:591,1
    - Dst: evp_rand_generate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:593,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:595,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: 597
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 597
    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:604,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: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    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:615,1
    - Dst: evp_rand_reseed_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:617,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:619,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: 621
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 621
    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:628,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 632
    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:638,1
    - Dst: evp_rand_strength_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:640,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 643
    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:648,1
    - Dst: EVP_RAND_CTX*::meth::nonce
      Src: /src/openssl/crypto/evp/evp_rand.c:651,1
    - Dst: evp_rand_generate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:652,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: 653
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: evp_rand_nonce_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_generate_locked
    - EVP_RAND_CTX*::meth::nonce
    - evp_rand_strength_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:660,1
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:664,1
    - Dst: evp_rand_nonce_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:666,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:667,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: 669
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 669
    functionName: EVP_RAND_nonce
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_nonce_locked
    - evp_rand_unlock
    - evp_rand_lock
    - 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:676,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_rand.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: EVP_RAND_get_state
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_get_params
    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:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 687
    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:693,1
    - Dst: evp_rand_verify_zeroization_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:695,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 698
    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: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    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:714,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: 719
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 719
    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:729,1
    - Dst: evp_rand_get_seed_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:731,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:736,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: 738
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 738
    functionName: evp_rand_get_seed
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_get_seed_locked
    - evp_rand_lock
    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:744,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: 745
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 745
    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:750,1
    - Dst: evp_rand_clear_seed_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:752,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:753,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: 754
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: evp_rand_clear_seed
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_clear_seed_locked
    - evp_rand_unlock
    - evp_rand_lock
    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
    - OPENSSL_free
    - ossl_provider_ctx
    - EVP_MAC_up_ref
    - ERR_raise
    - EVP_MAC*::newctx
    - 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:
    - OPENSSL_free
    - EVP_MAC_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:
    - OPENSSL_free
    - EVP_MAC_CTX_free
    - EVP_MAC_up_ref
    - ERR_raise
    - EVP_MAC_CTX*::meth::dupctx
    - 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
    - EVP_MAC_CTX*::meth::get_params
    - OSSL_PARAM_construct_size_t
    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:
    - EVP_MAC_CTX*::meth::init
    - ERR_raise
    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:
    - OSSL_PARAM_construct_int
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MAC_CTX*::meth::final
    - EVP_MAC_CTX_get_mac_size
    - EVP_MAC_CTX_set_params
    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: 12
    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:273,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/mac_lib.c:281,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/mac_lib.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:284,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/mac_lib.c:288,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/mac_lib.c:303,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/mac_lib.c:306,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/crypto/evp/mac_lib.c:311,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/evp/mac_lib.c:312,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/evp/mac_lib.c:313,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/crypto/evp/mac_lib.c:314,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/evp/mac_lib.c:315,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/evp/mac_lib.c:316,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/mac_lib.c:318,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/evp/mac_lib.c:319,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_lib.c:320,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/evp/mac_lib.c:330,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/evp/mac_lib.c:331,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    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: 333
      start: 254
    functionDepth: 6
    functionLinenumber: 254
    functionLinenumberEnd: 333
    functionName: EVP_Q_mac
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_update
    - EVP_MAC_fetch
    - OPENSSL_free
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_MAC_CTX_set_params
    - EVP_MAC_settable_ctx_params
    - EVP_MAC_final
    - OPENSSL_malloc
    - EVP_MAC_CTX_new
    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:25,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:26,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/ec_ctrl.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    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
    - evp_pkey_ctx_is_legacy
    - ERR_raise
    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:44,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ec_ctrl.c:59,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:61,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - cofactor_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: EVP_PKEY_CTX_set_ecdh_cofactor_mode
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_int
    - evp_pkey_ctx_getset_ecdh_param_checks
    - ERR_raise
    - 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:74,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ec_ctrl.c:78,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:80,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 104
    functionName: EVP_PKEY_CTX_get_ecdh_cofactor_mode
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - evp_pkey_ctx_getset_ecdh_param_checks
    - ERR_raise
    - 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:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - kdf
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 114
    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:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 124
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 134
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pmd
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 144
    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:152,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/ec_ctrl.c:165,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:167,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - outlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 173
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_outlen
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_getset_ecdh_param_checks
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:181,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/ec_ctrl.c:185,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:187,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - plen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_outlen
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_getset_ecdh_param_checks
    - ERR_raise
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_size_t
    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:214,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/ec_ctrl.c:218,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:225,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ec_ctrl.c:234,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: 239
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - evp_pkey_ctx_getset_ecdh_param_checks
    - ERR_raise
    - 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:248,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/ec_ctrl.c:252,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:254,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - pukm
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 274
    functionName: EVP_PKEY_CTX_get0_ecdh_kdf_ukm
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_getset_ecdh_param_checks
    - ERR_raise
    - 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:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 290
    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:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param_enc
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 300
    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:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    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:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    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: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    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: 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_camellia_128_ofb
    - EVP_aria_256_ccm
    - EVP_aes_128_cfb8
    - EVP_aria_192_ccm
    - EVP_camellia_192_ecb
    - EVP_aes_256_cfb1
    - EVP_des_ede3_cbc
    - EVP_cast5_cbc
    - EVP_camellia_128_cfb
    - EVP_rc5_32_12_16_cfb
    - EVP_aria_192_cfb
    - EVP_aes_256_cbc
    - EVP_aes_192_ofb
    - EVP_aes_256_wrap
    - EVP_aes_128_ecb
    - EVP_sm4_ecb
    - EVP_des_cfb1
    - EVP_seed_ecb
    - EVP_sm4_cfb
    - EVP_aes_192_cfb8
    - EVP_aria_256_gcm
    - EVP_aes_128_gcm
    - EVP_rc5_32_12_16_ofb
    - EVP_aes_256_gcm
    - EVP_aes_128_ctr
    - EVP_camellia_256_cbc
    - EVP_camellia_192_cfb8
    - EVP_aria_128_cfb1
    - EVP_cast5_cfb
    - EVP_bf_ofb
    - EVP_aria_128_gcm
    - EVP_aes_256_cbc_hmac_sha256
    - EVP_aes_256_ecb
    - EVP_des_ede3_wrap
    - EVP_aes_192_wrap_pad
    - EVP_camellia_256_cfb1
    - EVP_add_cipher
    - EVP_aes_192_ccm
    - EVP_aes_128_cbc_hmac_sha1
    - EVP_aria_128_ecb
    - EVP_camellia_128_ecb
    - EVP_aes_128_cbc_hmac_sha256
    - EVP_aria_192_cfb8
    - EVP_camellia_128_cfb8
    - EVP_aes_128_wrap
    - EVP_camellia_128_cbc
    - EVP_des_ede3_cfb8
    - EVP_aes_192_gcm
    - EVP_des_ede3_cfb1
    - EVP_cast5_ecb
    - EVP_camellia_192_cfb1
    - EVP_aes_192_cfb
    - EVP_des_cfb
    - EVP_aria_256_cbc
    - EVP_aria_128_ctr
    - EVP_seed_ofb
    - EVP_des_ede_ofb
    - EVP_aes_256_wrap_pad
    - EVP_idea_cfb
    - EVP_aes_256_cfb
    - EVP_aria_192_ctr
    - EVP_aria_256_ctr
    - EVP_aes_256_cfb8
    - EVP_cast5_ofb
    - EVP_camellia_256_ctr
    - EVP_des_cbc
    - EVP_sm4_ofb
    - EVP_rc5_32_12_16_ecb
    - EVP_aes_128_cfb
    - EVP_camellia_128_cfb1
    - EVP_camellia_192_ofb
    - EVP_idea_cbc
    - EVP_des_ofb
    - EVP_aes_192_cfb1
    - EVP_chacha20_poly1305
    - EVP_desx_cbc
    - EVP_aes_128_xts
    - EVP_aes_256_ccm
    - EVP_des_ede_cfb
    - EVP_rc2_cfb
    - EVP_aria_256_cfb
    - EVP_aria_192_gcm
    - EVP_des_ede3_cfb
    - EVP_bf_ecb
    - EVP_aria_256_cfb1
    - EVP_aes_192_ocb
    - EVP_aria_192_ofb
    - EVP_aria_128_ccm
    - EVP_aes_256_ofb
    - EVP_seed_cbc
    - EVP_aria_256_ofb
    - EVP_aes_192_wrap
    - EVP_aria_128_ofb
    - EVP_bf_cbc
    - EVP_rc2_ofb
    - EVP_rc4
    - EVP_des_cfb8
    - EVP_aes_256_ocb
    - EVP_aria_128_cbc
    - EVP_des_ecb
    - EVP_aes_256_xts
    - EVP_camellia_192_cbc
    - EVP_aes_128_ocb
    - EVP_add_cipher_alias
    - EVP_des_ede_cbc
    - EVP_aria_128_cfb8
    - EVP_rc5_32_12_16_cbc
    - EVP_idea_ecb
    - EVP_aria_256_cfb8
    - EVP_rc2_40_cbc
    - EVP_aria_128_cfb
    - EVP_camellia_256_ofb
    - EVP_rc4_hmac_md5
    - EVP_des_ede3_ofb
    - EVP_bf_cfb
    - EVP_camellia_192_cfb
    - EVP_aes_128_ccm
    - EVP_camellia_256_cfb8
    - EVP_aes_192_cbc
    - EVP_des_ede
    - EVP_seed_cfb
    - EVP_rc2_64_cbc
    - EVP_aes_128_ofb
    - EVP_aes_192_ecb
    - EVP_camellia_256_cfb
    - EVP_rc4_40
    - EVP_aes_256_cbc_hmac_sha1
    - EVP_chacha20
    - EVP_aes_256_ctr
    - EVP_camellia_128_ctr
    - EVP_camellia_192_ctr
    - EVP_sm4_cbc
    - EVP_aria_192_cfb1
    - EVP_aes_192_ctr
    - EVP_aria_192_cbc
    - EVP_camellia_256_ecb
    - EVP_aes_128_cbc
    - EVP_aes_128_wrap_pad
    - EVP_aes_128_cfb1
    - EVP_idea_ofb
    - EVP_aria_192_ecb
    - EVP_aria_256_ecb
    - EVP_rc2_cbc
    - EVP_des_ede3
    - EVP_sm4_ctr
    - EVP_rc2_ecb
    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: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    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: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:306,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:309,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:311,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:324,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:327,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:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:337,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:340,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:342,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: 349
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 349
    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:401,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:407,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:424,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:430,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:432,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:434,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:436,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:442,1
    - Dst: EVP_PKEY_CTX_IS_FROMDATA_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:446,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:457,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:471,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:473,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:476,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:480,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:484,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:492,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:499,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:504,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:508,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:512,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:516,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:555,1
    - Dst: strcpy
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:569,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:570,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:573,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:580,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:581,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:583,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:586,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:625,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:629,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:633,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:639,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:642,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:646,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:649,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:666,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:667,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:675,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:679,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:682,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:687,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:689,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:692,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:695,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: 711
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 711
    functionName: default_fixup_args
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_get_int
    - OSSL_PARAM_set_uint
    - EVP_PKEY_CTX_IS_KEM_OP
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_set_octet_string
    - EVP_PKEY_CTX_IS_GEN_OP
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise_data
    - OPENSSL_free
    - EVP_PKEY_CTX_settable_params
    - OSSL_PARAM_construct_utf8_ptr
    - OPENSSL_strlcat
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX_IS_FROMDATA_OP
    - ERR_raise
    - OSSL_PARAM_allocate_from_text
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_get_octet_string
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_construct_BN
    - strcpy
    - BN_bn2nativepad
    - ossl_assert
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - OSSL_PARAM_set_int
    - BN_num_bytes
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_get_octet_ptr
    - strlen
    - OSSL_PARAM_construct_octet_ptr
    - 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:719,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: 722
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 722
    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:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 731
    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:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 736
    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:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 741
    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:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 746
    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:757,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:778,1
    - Dst: get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:779,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:780,1
    - Dst: get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:782,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:783,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:786,1
    - Dst: get_algo_by_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:794,1
    - Dst: get_algo_by_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:797,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: 802
      start: 748
    functionDepth: 6
    functionLinenumber: 748
    functionLinenumberEnd: 802
    functionName: fix_cipher_md
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - get_name
    - strlen
    - get_algo_by_name
    - default_fixup_args
    - 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:808,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: 810
      start: 804
    functionDepth: 7
    functionLinenumber: 804
    functionLinenumberEnd: 810
    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:816,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: 818
      start: 812
    functionDepth: 7
    functionLinenumber: 812
    functionLinenumberEnd: 818
    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:824,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: 836
      start: 820
    functionDepth: 6
    functionLinenumber: 820
    functionLinenumberEnd: 836
    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:857,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:865,1
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:886,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:901,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:904,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:913,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: 924
      start: 843
    functionDepth: 6
    functionLinenumber: 843
    functionLinenumberEnd: 924
    functionName: fix_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - strlen
    - ossl_assert
    - default_fixup_args
    - 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:937,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: 938
      start: 927
    functionDepth: 7
    functionLinenumber: 927
    functionLinenumberEnd: 938
    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:951,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: 952
      start: 941
    functionDepth: 7
    functionLinenumber: 941
    functionLinenumberEnd: 952
    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:961,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:974,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:979,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:991,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: 995
      start: 955
    functionDepth: 6
    functionLinenumber: 955
    functionLinenumberEnd: 995
    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:1004,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1012,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1012,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1013,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1019,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: 1020
      start: 998
    functionDepth: 6
    functionLinenumber: 998
    functionLinenumberEnd: 1020
    functionName: fix_dh_nid
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_named_group_get_name
    - ERR_raise
    - ossl_ffc_uid_to_dh_named_group
    - default_fixup_args
    - 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:1029,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1038,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:1049,1
    - Dst: atoi
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1049,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1050,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1061,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: 1062
      start: 1023
    functionDepth: 6
    functionLinenumber: 1023
    functionLinenumberEnd: 1062
    functionName: fix_dh_nid5114
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_named_group_get_name
    - ERR_raise
    - atoi
    - ossl_ffc_uid_to_dh_named_group
    - default_fixup_args
    - 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:1071,1
    - Dst: ossl_dh_gen_type_id2name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1079,1
    - Dst: atoi
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1079,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1081,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1084,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1087,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: 1088
      start: 1065
    functionDepth: 6
    functionLinenumber: 1065
    functionLinenumberEnd: 1088
    functionName: fix_dh_paramgen_type
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_dh_gen_type_id2name
    - ERR_raise
    - atoi
    - strlen
    - default_fixup_args
    - 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:1097,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1119,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1123,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1134,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: 1136
      start: 1091
    functionDepth: 6
    functionLinenumber: 1091
    functionLinenumberEnd: 1136
    functionName: fix_ec_param_enc
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - default_fixup_args
    - strcmp
    - 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:1146,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1154,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1170,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1174,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: 1179
      start: 1139
    functionDepth: 6
    functionLinenumber: 1139
    functionLinenumberEnd: 1179
    functionName: fix_ec_paramgen_curve_nid
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - default_fixup_args
    - OBJ_sn2nid
    - 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:1200,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1212,1
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1218,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1228,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: 1246
      start: 1182
    functionDepth: 6
    functionLinenumber: 1182
    functionLinenumberEnd: 1246
    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:1265,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1301,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1315,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1317,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1322,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1326,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1337,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1341,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1344,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1351,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1352,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1356,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1357,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: 1371
      start: 1249
    functionDepth: 6
    functionLinenumber: 1249
    functionLinenumberEnd: 1371
    functionName: fix_rsa_padding_mode
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_get_int
    - ERR_raise_data
    - OSSL_PARAM_get_uint
    - ERR_raise
    - strcmp
    - OSSL_NELEM
    - strlen
    - default_fixup_args
    - 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:1385,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1408,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1412,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1413,1
    - Dst: strncpy
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1416,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1420,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1423,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1431,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1432,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1436,1
    - Dst: atoi
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1436,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: 1451
      start: 1374
    functionDepth: 6
    functionLinenumber: 1374
    functionLinenumberEnd: 1451
    functionName: fix_rsa_pss_saltlen
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - strncpy
    - strcmp
    - atoi
    - OSSL_NELEM
    - strlen
    - default_fixup_args
    - 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:1465,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1472,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1476,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1479,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1482,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1489,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1490,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1493,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: 1503
      start: 1454
    functionDepth: 6
    functionLinenumber: 1454
    functionLinenumberEnd: 1503
    functionName: fix_hkdf_mode
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    - strlen
    - default_fixup_args
    - 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:1522,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1525,1
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1526,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1529,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1531,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1537,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1537,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1541,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1547,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1558,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1559,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: 1560
      start: 1515
    functionDepth: 6
    functionLinenumber: 1515
    functionLinenumberEnd: 1560
    functionName: get_payload_group_name
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_named_group_get_name
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    - ERR_raise
    - ossl_ffc_uid_to_dh_named_group
    - EVP_PKEY_get0_DH
    - OSSL_EC_curve_nid2name
    - strlen
    - EVP_PKEY_get_base_id
    - DH_get_nid
    - default_fixup_args
    - 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:1572,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1575,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1577,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1582,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1584,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1588,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1592,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: 1593
      start: 1562
    functionDepth: 6
    functionLinenumber: 1562
    functionLinenumberEnd: 1593
    functionName: get_payload_private_key
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_get0_EC_KEY
    - DH_get0_priv_key
    - EC_KEY_get0_private_key
    - EVP_PKEY_get0_DH
    - EVP_PKEY_get_base_id
    - default_fixup_args
    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:1604,1
    - Dst: ossl_dh_key2buf
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1610,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1610,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1614,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1614,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1624,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1624,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1632,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1633,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1633,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1634,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1635,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1639,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1643,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1649,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1653,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1654,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: 1656
      start: 1595
    functionDepth: 6
    functionLinenumber: 1595
    functionLinenumberEnd: 1656
    functionName: get_payload_public_key
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - OPENSSL_free
    - DSA_get0_pub_key
    - ossl_dh_key2buf
    - BN_CTX_new_ex
    - EVP_PKEY_get0_EC_KEY
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - EC_POINT_point2buf
    - BN_CTX_free
    - ERR_raise
    - EVP_PKEY_get0_DH
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get_base_id
    - DH_get0_pub_key
    - default_fixup_args
    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:1664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1675,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1679,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1679,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1683,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1684,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1690,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1691,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1695,1
    - Dst: strncmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1698,1
    - Dst: strncmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1700,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1706,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1708,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1711,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: 1714
      start: 1658
    functionDepth: 6
    functionLinenumber: 1658
    functionLinenumberEnd: 1714
    functionName: get_payload_public_key_ec
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - strncmp
    - ossl_ec_key_get_libctx
    - ERR_raise
    - EVP_PKEY_get0_EC_KEY
    - BN_CTX_new_ex
    - EC_KEY_get0_group
    - BN_CTX_get
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - default_fixup_args
    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:1726,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: 1727
      start: 1716
    functionDepth: 6
    functionLinenumber: 1716
    functionLinenumberEnd: 1727
    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:1736,1
    - Dst: DH_get0_p
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1739,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1739,1
    - Dst: DSA_get0_p
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1744,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1744,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1748,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1751,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: 1752
      start: 1729
    functionDepth: 7
    functionLinenumber: 1729
    functionLinenumberEnd: 1752
    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_get0_DH
    - EVP_PKEY_get0_DSA
    - DSA_get0_p
    - EVP_PKEY_get_base_id
    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:1760,1
    - Dst: DH_get0_q
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1763,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1763,1
    - Dst: DSA_get0_q
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1768,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1768,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1773,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: 1774
      start: 1754
    functionDepth: 7
    functionLinenumber: 1754
    functionLinenumberEnd: 1774
    functionName: get_dh_dsa_payload_q
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - DH_get0_q
    - get_payload_bn
    - EVP_PKEY_get0_DH
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get_base_id
    - DSA_get0_q
    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:1782,1
    - Dst: DH_get0_g
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1785,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1785,1
    - Dst: DSA_get0_g
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1790,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1790,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1795,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: 1796
      start: 1776
    functionDepth: 7
    functionLinenumber: 1776
    functionLinenumberEnd: 1796
    functionName: get_dh_dsa_payload_g
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - DSA_get0_g
    - get_payload_bn
    - EVP_PKEY_get0_DH
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get_base_id
    - DH_get0_g
    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:1808,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: 1809
      start: 1798
    functionDepth: 6
    functionLinenumber: 1798
    functionLinenumberEnd: 1809
    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:1818,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1821,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1821,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1823,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1829,1
    - Dst: get_payload_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1833,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: 1834
      start: 1811
    functionDepth: 7
    functionLinenumber: 1811
    functionLinenumberEnd: 1834
    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
    - EVP_PKEY_base_id
    - EC_KEY_decoded_from_explicit_params
    - get_payload_int
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1847,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1850,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1851,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1852,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1855,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1859,1
    - Dst: get_payload_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1836
    functionDepth: 7
    functionLinenumber: 1836
    functionLinenumberEnd: 1864
    functionName: get_ec_field_degree
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_degree
    - ERR_raise
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_base_id
    - get_payload_int
    linkageType: ''
    returnType: int
    signature: "int get_ec_field_degree(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:1872,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1873,1
    - Dst: RSA_get0_n
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1875,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1875,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1877,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: 1878
      start: 1866
    functionDepth: 7
    functionLinenumber: 1866
    functionLinenumberEnd: 1878
    functionName: get_rsa_payload_n
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_base_id
    - RSA_get0_n
    - get_payload_bn
    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:1886,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1887,1
    - Dst: RSA_get0_e
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1889,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1889,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1891,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: 1892
      start: 1880
    functionDepth: 7
    functionLinenumber: 1880
    functionLinenumberEnd: 1892
    functionName: get_rsa_payload_e
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_base_id
    - get_payload_bn
    - RSA_get0_e
    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:1900,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1901,1
    - Dst: RSA_get0_d
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1903,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1903,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1905,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: 1906
      start: 1894
    functionDepth: 7
    functionLinenumber: 1894
    functionLinenumberEnd: 1906
    functionName: get_rsa_payload_d
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_RSA
    - EVP_PKEY_get_base_id
    - get_payload_bn
    - RSA_get0_d
    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:1913,1
    - Dst: RSA_get0_p
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1918,1
    - Dst: RSA_get0_q
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1921,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1924,1
    - Dst: RSA_get0_multi_prime_factors
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1928,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1933,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: 1934
      start: 1908
    functionDepth: 7
    functionLinenumber: 1908
    functionLinenumberEnd: 1934
    functionName: get_rsa_payload_factor
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - RSA_get0_q
    - EVP_PKEY_get0_RSA
    - RSA_get0_p
    - get_payload_bn
    - RSA_get0_multi_prime_factors
    - RSA_get_multi_prime_extra_count
    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:1941,1
    - Dst: RSA_get0_dmp1
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1946,1
    - Dst: RSA_get0_dmq1
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1949,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1952,1
    - Dst: RSA_get0_multi_prime_crt_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1956,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1961,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: 1962
      start: 1936
    functionDepth: 7
    functionLinenumber: 1936
    functionLinenumberEnd: 1962
    functionName: get_rsa_payload_exponent
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - RSA_get0_dmq1
    - RSA_get0_multi_prime_crt_params
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    - RSA_get_multi_prime_extra_count
    - RSA_get0_dmp1
    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:1969,1
    - Dst: RSA_get0_iqmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1974,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1977,1
    - Dst: RSA_get0_multi_prime_crt_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1981,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1986,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: 1987
      start: 1964
    functionDepth: 7
    functionLinenumber: 1964
    functionLinenumberEnd: 1987
    functionName: get_rsa_payload_coefficient
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - RSA_get0_multi_prime_crt_params
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    - RSA_get0_iqmp
    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: 2000
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2000
    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: 2013
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2013
    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: 2026
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2026
    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:2065,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2070,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2070,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2071,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: 2080
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2080
    functionName: fix_group_ecx
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    - OSSL_PARAM_get_utf8_string_ptr
    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:2622,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2665,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2668,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2698,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: 2710
      start: 2606
    functionDepth: 3
    functionLinenumber: 2606
    functionLinenumberEnd: 2710
    functionName: lookup_translation
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - ossl_assert
    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:2715,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - struct translation_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2712
    functionDepth: 4
    functionLinenumber: 2712
    functionLinenumberEnd: 2717
    functionName: lookup_evp_pkey_ctx_translation
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - lookup_translation
    - OSSL_NELEM
    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:2722,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - struct translation_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2719
    functionDepth: 4
    functionLinenumber: 2719
    functionLinenumberEnd: 2724
    functionName: lookup_evp_pkey_translation
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - lookup_translation
    - OSSL_NELEM
    linkageType: ''
    returnType: struct translation_st
    signature: 'struct translation_st *

      lookup_evp_pkey_translation(struct translation_st *tmpl)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2750,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2763,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2771,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2774,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2785,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2789,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 6
    argNames:
    - pctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2727
    functionDepth: 5
    functionLinenumber: 2727
    functionLinenumberEnd: 2792
    functionName: evp_pkey_ctx_ctrl_to_param
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - cleanup_translation_ctx
    - lookup_evp_pkey_ctx_translation
    - ERR_raise
    - evp_pkey_ctx_get_params_strict
    - fixup
    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:2816,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2828,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2833,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2847,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2853,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2855,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - pctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2795
    functionDepth: 5
    functionLinenumber: 2795
    functionLinenumberEnd: 2858
    functionName: evp_pkey_ctx_ctrl_str_to_param
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - cleanup_translation_ctx
    - lookup_evp_pkey_ctx_translation
    - fixup
    - strlen
    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:2883,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2893,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2896,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2911,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2915,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: 2921
      start: 2861
    functionDepth: 5
    functionLinenumber: 2861
    functionLinenumberEnd: 2921
    functionName: evp_pkey_ctx_setget_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - cleanup_translation_ctx
    - lookup_evp_pkey_ctx_translation
    - EVP_PKEY_CTX_ctrl
    - fixup
    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:2927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2923
    functionDepth: 6
    functionLinenumber: 2923
    functionLinenumberEnd: 2928
    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:2934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2930
    functionDepth: 6
    functionLinenumber: 2930
    functionLinenumberEnd: 2935
    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:2956,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2972,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2973,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2977,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2979,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: 2982
      start: 2938
    functionDepth: 5
    functionLinenumber: 2938
    functionLinenumberEnd: 2982
    functionName: evp_pkey_setget_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - cleanup_translation_ctx
    - ossl_assert
    - lookup_evp_pkey_translation
    - fixup
    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:2986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2984
    functionDepth: 6
    functionLinenumber: 2984
    functionLinenumberEnd: 2987
    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_sm3
    - EVP_ripemd160
    - EVP_sha512_224
    - EVP_sha3_512
    - EVP_md5
    - EVP_sha1
    - EVP_sha224
    - EVP_md5_sha1
    - EVP_sha384
    - EVP_shake128
    - EVP_sha512_256
    - EVP_add_digest_alias
    - EVP_sha512
    - EVP_mdc2
    - EVP_sha3_384
    - EVP_blake2b512
    - EVP_sha3_224
    - EVP_add_digest
    - EVP_whirlpool
    - EVP_md4
    - EVP_sha3_256
    - EVP_sha256
    - EVP_shake256
    - EVP_blake2s256
    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:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:116,1
    - Dst: OSSL_FUNC_mac_gettable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:121,1
    - Dst: OSSL_FUNC_mac_settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:126,1
    - Dst: OSSL_FUNC_mac_get_params
      Src: /src/openssl/crypto/evp/mac_meth.c:131,1
    - Dst: OSSL_FUNC_mac_get_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:136,1
    - Dst: OSSL_FUNC_mac_set_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:141,1
    - Dst: OSSL_FUNC_mac_init_skey
      Src: /src/openssl/crypto/evp/mac_meth.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_meth.c:159,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/mac_meth.c:163,1
    - Dst: evp_mac_free
      Src: /src/openssl/crypto/evp/mac_meth.c:171,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: 173
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 173
    functionName: evp_mac_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_mac_update
    - OSSL_FUNC_mac_final
    - evp_mac_free
    - OSSL_FUNC_mac_freectx
    - evp_mac_new
    - OSSL_FUNC_mac_gettable_ctx_params
    - OSSL_FUNC_mac_get_ctx_params
    - ERR_raise
    - OSSL_FUNC_mac_get_params
    - OSSL_FUNC_mac_newctx
    - OSSL_FUNC_mac_init
    - OSSL_FUNC_mac_gettable_params
    - OSSL_FUNC_mac_init_skey
    - ossl_provider_up_ref
    - OSSL_FUNC_mac_set_ctx_params
    - OSSL_FUNC_mac_dupctx
    - OSSL_FUNC_mac_settable_ctx_params
    - ossl_algorithm_get1_first_name
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 9
    functionLinenumber: 175
    functionLinenumberEnd: 181
    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:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 186
    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:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 191
    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: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    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:202,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_meth.c:202,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: EVP_MAC_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_get0_provider
    - ossl_provider_ctx
    - EVP_MAC*::gettable_params
    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:211,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:211,1
    - Dst: EVP_MAC*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: EVP_MAC_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_get0_provider
    - ossl_provider_ctx
    - EVP_MAC*::gettable_ctx_params
    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:221,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:221,1
    - Dst: EVP_MAC*::settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: EVP_MAC_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 1
    functionsReached:
    - EVP_MAC*::settable_ctx_params
    - EVP_MAC_get0_provider
    - ossl_provider_ctx
    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:231,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:231,1
    - Dst: EVP_MAC_CTX*::meth::gettable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: EVP_MAC_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::gettable_ctx_params
    - EVP_MAC_get0_provider
    - ossl_provider_ctx
    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:241,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:241,1
    - Dst: EVP_MAC_CTX*::meth::settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: EVP_MAC_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_get0_provider
    - ossl_provider_ctx
    - EVP_MAC_CTX*::meth::settable_ctx_params
    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:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 245
    functionDepth: 9
    functionLinenumber: 245
    functionLinenumberEnd: 256
    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:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 9
    functionLinenumber: 258
    functionLinenumberEnd: 267
    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:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: STRINGIFY_IMPLEMENTATION_
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY_IMPLEMENTATION_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: STRINGIFY
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: OPENSSL_TARGET_REGION
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_TARGET_REGION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: OPENSSL_TARGET_REGION
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_TARGET_REGION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_subs_epu8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:54,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:54,1
    - Dst: _mm256_cmpgt_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:55,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:55,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:57,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:57,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:57,1
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:58,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:67,1
    - Dst: _mm256_add_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: lookup_pshufb_std
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_cmpgt_epi8
    - _mm256_or_si256
    - _mm256_setr_epi8
    - _mm256_subs_epu8
    - _mm256_add_epi8
    - _mm256_and_si256
    - _mm256_shuffle_epi8
    - _mm256_set1_epi8
    linkageType: ''
    returnType: OPENSSL_TARGET_AVX2
    signature: OPENSSL_TARGET_AVX2 lookup_pshufb_std(__m256i input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:75,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:76,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:77,1
    - Dst: _mm256_cmpgt_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:77,1
    - Dst: _mm256_cmpgt_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:78,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:79,1
    - Dst: _mm256_setzero_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:80,1
    - Dst: _mm256_sub_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:82,1
    - Dst: _mm256_cmpgt_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:82,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:82,1
    - Dst: _mm256_sub_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:83,1
    - Dst: _mm256_cmpgt_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:83,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:83,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:84,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:84,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:85,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:85,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:86,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:86,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:87,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:87,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:90,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:90,1
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:92,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:97,1
    - Dst: _mm256_add_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 100
    functionName: lookup_pshufb_srp
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_cmpgt_epi8
    - _mm256_or_si256
    - _mm256_setr_epi8
    - _mm256_cmpeq_epi8
    - _mm256_setzero_si256
    - _mm256_add_epi8
    - _mm256_and_si256
    - _mm256_shuffle_epi8
    - _mm256_sub_epi8
    - _mm256_set1_epi8
    - _mm256_blendv_epi8
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: OPENSSL_UNTARGET_AVX2 lookup_pshufb_srp(__m256i input)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:110,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:112,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:114,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:116,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:118,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:120,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:122,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:124,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:126,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:128,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:130,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:132,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:134,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:136,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:138,1
    - Dst: _mm256_setzero_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: shift_right_zeros
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_srli_si256
    - _mm256_setzero_si256
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: OPENSSL_UNTARGET_AVX2 shift_right_zeros(__m256i v, int n)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:152,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:154,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:156,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:158,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:160,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:162,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:164,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:166,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:168,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:170,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:172,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:174,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:176,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:178,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:180,1
    - Dst: _mm256_setzero_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:182,1
    - Dst: _mm256_setzero_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 2
    argNames:
    - v
    - n
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 186
    functionName: shift_left_zeros
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_slli_si256
    - _mm256_setzero_si256
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: OPENSSL_UNTARGET_AVX2 shift_left_zeros(__m256i v, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:214,1
    - Dst: _mm_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:215,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:218,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:219,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:220,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:220,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:221,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:222,1
    - Dst: _mm256_alignr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:227,1
    - Dst: _mm256_permute2x128_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:227,1
    - Dst: _mm256_blend_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:229,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:230,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:231,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:232,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:232,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:233,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - input
    - K
    argTypes:
    - __m256i
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: insert_line_feed32
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm_setr_epi8
    - _mm256_cmpeq_epi8
    - _mm256_alignr_epi8
    - _mm256_permute2x128_si256
    - _mm_loadu_si128
    - _mm256_set_m128i
    - _mm256_blend_epi32
    - _mm256_shuffle_epi8
    - _mm256_set1_epi8
    - _mm256_blendv_epi8
    linkageType: ''
    returnType: OPENSSL_TARGET_AVX2
    signature: OPENSSL_TARGET_AVX2 insert_line_feed32(__m256i input, int K)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:246,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:253,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:260,1
    - Dst: insert_line_feed32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:261,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - v
    - out
    - stride
    - wrap_cnt
    argTypes:
    - __m256i
    - uint8_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 267
    functionName: ins_nl_gt32
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_extract_epi8
    - insert_line_feed32
    - _mm256_storeu_si256
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: "OPENSSL_UNTARGET_AVX2 ins_nl_gt32(__m256i v, uint8_t *out, int stride,\n
      \   int *wrap_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:277,1
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:284,1
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:286,1
    - Dst: shift_left_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:296,1
    - Dst: shift_right_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:296,1
    - Dst: shift_left_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:298,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:299,1
    - Dst: shift_left_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:300,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:301,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:303,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:304,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:309,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:312,1
    - Dst: shift_left_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:314,1
    - Dst: shift_right_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:314,1
    - Dst: shift_left_zeros
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:316,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:317,1
    - Dst: _mm256_blendv_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:318,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:319,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - v0
    - output
    - wrap_max
    - wrap_cnt
    argTypes:
    - __m256i
    - uint8_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 345
    functionName: insert_nl_gt16
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_setr_epi8
    - _mm256_or_si256
    - _mm256_extract_epi8
    - shift_right_zeros
    - _mm256_storeu_si256
    - _mm256_and_si256
    - shift_left_zeros
    - _mm256_set1_epi8
    - _mm256_blendv_epi8
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: "OPENSSL_UNTARGET_AVX2 insert_nl_gt16(const __m256i v0,\n    uint8_t
      *output,\n    int wrap_max, int *wrap_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:354,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:358,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:360,1
    - Dst: _mm256_extract_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:362,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:363,1
    - Dst: _mm256_extract_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:364,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:368,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:370,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - v0
    - output
    - dummy_stride
    - wrap_cnt
    argTypes:
    - __m256i
    - uint8_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: insert_nl_2nd_vec_stride_12
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_extract_epi16
    - _mm256_setr_epi8
    - _mm256_shuffle_epi8
    - _mm256_extract_epi8
    - _mm256_storeu_si256
    - memcpy
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: "OPENSSL_UNTARGET_AVX2 insert_nl_2nd_vec_stride_12(const __m256i v0,\n
      \   uint8_t *output,\n    int dummy_stride,\n    int *wrap_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:385,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:387,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:387,1
    - Dst: _mm256_andnot_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - mask
    argTypes:
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: insert_newlines_by_mask
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    - _mm256_andnot_si256
    - _mm256_or_si256
    - _mm256_set1_epi8
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: OPENSSL_UNTARGET_AVX2 insert_newlines_by_mask(__m256i data, __m256i
      mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:395,1
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:399,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:403,1
    - Dst: insert_newlines_by_mask
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:404,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:406,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:415,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:418,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:418,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:418,1
    - Dst: _mm256_slli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:423,1
    - Dst: _mm256_srli_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:424,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:428,1
    - Dst: _mm256_extract_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:430,1
    - Dst: _mm256_extract_epi64
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:431,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:434,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - v0
    - output
    argTypes:
    - __m256i
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 447
    functionName: insert_nl_str4
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_extract_epi32
    - _mm256_setr_epi8
    - _mm256_or_si256
    - _mm256_extract_epi64
    - _mm256_shuffle_epi8
    - _mm256_srli_si256
    - insert_newlines_by_mask
    - _mm256_storeu_si256
    - _mm256_slli_si256
    - memcpy
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: OPENSSL_UNTARGET_AVX2 insert_nl_str4(const __m256i v0, uint8_t *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:453,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:457,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:458,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:459,1
    - Dst: _mm256_extract_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:460,1
    - Dst: _mm256_extract_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:461,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:464,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:465,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - v0
    - output
    argTypes:
    - __m256i
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 477
    functionName: insert_nl_str8
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm256_extract_epi16
    - _mm256_setr_epi8
    - _mm256_shuffle_epi8
    - _mm256_extract_epi8
    - _mm256_storeu_si256
    - memcpy
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: OPENSSL_UNTARGET_AVX2 insert_nl_str8(const __m256i v0, uint8_t *output)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:492,1
    - Dst: _mm_prefetch
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:498,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:504,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:505,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:506,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:506,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:507,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:507,1
    - Dst: _mm256_mulhi_epu16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:508,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:508,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:509,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:509,1
    - Dst: _mm256_mullo_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:510,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:510,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:511,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:513,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:514,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:515,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:515,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:516,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:516,1
    - Dst: _mm256_mulhi_epu16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:517,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:517,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:518,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:518,1
    - Dst: _mm256_mullo_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:519,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:519,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:520,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:522,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:523,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:524,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:524,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:525,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:525,1
    - Dst: _mm256_mulhi_epu16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:526,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:526,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:527,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:527,1
    - Dst: _mm256_mullo_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:528,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:528,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:529,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:531,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:532,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:533,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:533,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:534,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:534,1
    - Dst: _mm256_mulhi_epu16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:535,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:535,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:536,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:536,1
    - Dst: _mm256_mullo_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:537,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:537,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:538,1
    - Dst: lookup_pshufb_srp
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:546,1
    - Dst: lookup_pshufb_srp
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:547,1
    - Dst: lookup_pshufb_srp
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:548,1
    - Dst: lookup_pshufb_srp
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:549,1
    - Dst: lookup_pshufb_std
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:552,1
    - Dst: lookup_pshufb_std
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:553,1
    - Dst: lookup_pshufb_std
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:554,1
    - Dst: lookup_pshufb_std
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:555,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:559,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:562,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:565,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:568,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:572,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:575,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:580,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:583,1
    - Dst: insert_nl_str4
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:590,1
    - Dst: insert_nl_str4
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:591,1
    - Dst: insert_nl_str4
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:592,1
    - Dst: insert_nl_str4
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:593,1
    - Dst: insert_nl_str8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:598,1
    - Dst: insert_nl_str8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:599,1
    - Dst: insert_nl_str8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:600,1
    - Dst: insert_nl_str8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:601,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:607,1
    - Dst: insert_nl_2nd_vec_stride_12
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:608,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:609,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:610,1
    - Dst: insert_nl_2nd_vec_stride_12
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:613,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:614,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:615,1
    - Dst: insert_nl_2nd_vec_stride_12
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:616,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:619,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:620,1
    - Dst: insert_nl_2nd_vec_stride_12
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:621,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:622,1
    - Dst: ins_nl_gt32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:629,1
    - Dst: ins_nl_gt32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:630,1
    - Dst: ins_nl_gt32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:631,1
    - Dst: ins_nl_gt32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:632,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:634,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:635,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:636,1
    - Dst: insert_nl_gt16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:637,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:645,1
    - Dst: _mm_loadu_si128
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:646,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:651,1
    - Dst: _mm256_set_m128i
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:651,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:652,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:652,1
    - Dst: _mm256_mulhi_epu16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:653,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:653,1
    - Dst: _mm256_and_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:654,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:654,1
    - Dst: _mm256_mullo_epi16
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:655,1
    - Dst: _mm256_set1_epi32
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:655,1
    - Dst: _mm256_or_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:656,1
    - Dst: _mm256_storeu_si256
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:657,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/enc_b64_avx2.c:669,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 6
    argNames:
    - ctx
    - dst
    - src
    - srclen
    - ctx_length
    - final_wrap_cnt
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - unsigned char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 670
    functionName: encode_base64_avx2
    functionSourceFile: /src/openssl/crypto/evp/enc_b64_avx2.c
    functionUses: 0
    functionsReached:
    - _mm_prefetch
    - _mm256_set_m128i
    - _mm256_or_si256
    - ins_nl_gt32
    - _mm256_and_si256
    - lookup_pshufb_std
    - _mm256_mullo_epi16
    - _mm256_set_epi8
    - evp_encodeblock_int
    - _mm_loadu_si128
    - insert_nl_2nd_vec_stride_12
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_shuffle_epi8
    - insert_nl_str4
    - insert_nl_str8
    - lookup_pshufb_srp
    - insert_nl_gt16
    - _mm256_mulhi_epu16
    linkageType: ''
    returnType: OPENSSL_UNTARGET_AVX2
    signature: "OPENSSL_UNTARGET_AVX2 encode_base64_avx2(EVP_ENCODE_CTX *ctx, unsigned
      char *dst,\n    const unsigned char *src, int srclen, int ctx_length,\n    int
      *final_wrap_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    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: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    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: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    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:112,1
    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: 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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - EVP_ENCODE_CTX*
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    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: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    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: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    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: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/evp/encode.c:154,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:156,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:162,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:166,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:175,1
    - Dst: encode_base64_avx2
      Src: /src/openssl/crypto/evp/encode.c:181,1
    - Dst: encode_base64_avx2
      Src: /src/openssl/crypto/evp/encode.c:189,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:194,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:198,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts:
    - condition: (EVP_ENCODE_B64_LENGTH <= (int)sizeof(ctx->enc_data))
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/openssl/crypto/evp/encode.c
    constantsTouched: []
    func_position:
      end: 222
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 222
    functionName: EVP_EncodeUpdate
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - encode_base64_avx2
    - memcpy
    - evp_encodeblock_int
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 240
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_base64_avx2
      Src: /src/openssl/crypto/evp/encode.c:247,1
    - Dst: encode_base64_avx2
      Src: /src/openssl/crypto/evp/encode.c:250,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:252,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - t
    - f
    - dlen
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: EVP_EncodeBlock
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - encode_base64_avx2
    - 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: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    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:315,1
    - Dst: B64_BASE64
      Src: /src/openssl/crypto/evp/encode.c:323,1
    - Dst: B64_BASE64
      Src: /src/openssl/crypto/evp/encode.c:340,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/encode.c:350,1
    - Dst: evp_decodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:355,1
    - Dst: evp_decodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:374,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: 394
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 394
    functionName: EVP_DecodeUpdate
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - conv_ascii2bin
    - B64_BASE64
    - evp_decodeblock_int
    - OPENSSL_assert
    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:413,1
    - Dst: B64_NOT_BASE64
      Src: /src/openssl/crypto/evp/encode.c:422,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:422,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:432,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:433,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:434,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:435,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:446,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:447,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:448,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:449,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: 474
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 474
    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:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - f
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 479
    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:487,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: 495
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 495
    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: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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: 67
      start: 21
    functionDepth: 11
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: alg_module_init
    functionSourceFile: /src/openssl/crypto/evp/evp_cnf.c
    functionUses: 0
    functionsReached:
    - NCONF_get_section
    - evp_default_properties_enable_fips_int
    - ERR_raise_data
    - CONF_imodule_get_value
    - OSSL_TRACE2
    - ERR_raise
    - strcmp
    - CONF_imodule_get_name
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - STACK_OF
    - X509V3_get_value_bool
    - evp_set_default_properties_int
    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:71,1
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/evp/evp_cnf.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    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: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    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: 63
    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_new_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:93,1
    - Dst: OSSL_FUNC_keymgmt_gen_init
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:97,1
    - Dst: OSSL_FUNC_keymgmt_gen_set_template
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:101,1
    - Dst: OSSL_FUNC_keymgmt_gen_set_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:106,1
    - Dst: OSSL_FUNC_keymgmt_gen_settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:112,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:124,1
    - Dst: OSSL_FUNC_keymgmt_gen
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:129,1
    - Dst: OSSL_FUNC_keymgmt_gen_cleanup
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:133,1
    - Dst: OSSL_FUNC_keymgmt_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:137,1
    - Dst: OSSL_FUNC_keymgmt_load
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:141,1
    - Dst: OSSL_FUNC_keymgmt_get_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:146,1
    - Dst: OSSL_FUNC_keymgmt_gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:152,1
    - Dst: OSSL_FUNC_keymgmt_set_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:158,1
    - Dst: OSSL_FUNC_keymgmt_settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:164,1
    - Dst: OSSL_FUNC_keymgmt_query_operation_name
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:169,1
    - Dst: OSSL_FUNC_keymgmt_has
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:173,1
    - Dst: OSSL_FUNC_keymgmt_dup
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:177,1
    - Dst: OSSL_FUNC_keymgmt_validate
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:181,1
    - Dst: OSSL_FUNC_keymgmt_match
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:185,1
    - Dst: OSSL_FUNC_keymgmt_import
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:190,1
    - Dst: OSSL_FUNC_keymgmt_import_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:198,1
    - Dst: OSSL_FUNC_keymgmt_import_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:206,1
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:212,1
    - Dst: OSSL_FUNC_keymgmt_export_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:220,1
    - Dst: OSSL_FUNC_keymgmt_export_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:228,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:257,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:261,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:263,1
    - Dst: get_legacy_alg_type_from_keymgmt
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:268,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 170
    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_settable_params
    - OSSL_FUNC_keymgmt_gen_settable_params
    - OSSL_FUNC_keymgmt_set_params
    - OSSL_FUNC_keymgmt_new_ex
    - get_legacy_alg_type_from_keymgmt
    - OSSL_FUNC_keymgmt_gen
    - OSSL_FUNC_keymgmt_import_types_ex
    - OSSL_FUNC_keymgmt_new
    - OSSL_FUNC_keymgmt_import
    - OSSL_FUNC_keymgmt_export_types
    - OSSL_FUNC_keymgmt_gen_get_params
    - ERR_raise
    - OSSL_FUNC_keymgmt_import_types
    - EVP_KEYMGMT_free
    - OSSL_FUNC_keymgmt_gen_cleanup
    - OSSL_FUNC_keymgmt_gen_set_template
    - keymgmt_new
    - OSSL_FUNC_keymgmt_export
    - OSSL_FUNC_keymgmt_query_operation_name
    - OSSL_FUNC_keymgmt_load
    - OSSL_FUNC_keymgmt_export_types_ex
    - OSSL_FUNC_keymgmt_gen_init
    - OSSL_FUNC_keymgmt_dup
    - OSSL_FUNC_keymgmt_free
    - OSSL_FUNC_keymgmt_gettable_params
    - OSSL_FUNC_keymgmt_has
    - OSSL_FUNC_keymgmt_gen_gettable_params
    - OSSL_FUNC_keymgmt_get_params
    - OSSL_FUNC_keymgmt_match
    - ossl_provider_up_ref
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_keymgmt_validate
    - OSSL_FUNC_keymgmt_gen_set_params
    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:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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: 9
    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: 7
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 9
    functionLinenumber: 349
    functionLinenumberEnd: 362
    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:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keymgmt
    - data
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 8
    functionLinenumber: 364
    functionLinenumberEnd: 372
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:379,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:379,1
    - Dst: EVP_KEYMGMT*::new
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:388,1
    - Dst: EVP_KEYMGMT*::new_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - keymgmt
    - params
    argTypes:
    - EVP_KEYMGMT*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: evp_keymgmt_newdata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 2
    functionsReached:
    - EVP_KEYMGMT*::new_ex
    - ossl_provider_ctx
    - EVP_KEYMGMT*::new
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: void
    signature: void *evp_keymgmt_newdata(const EVP_KEYMGMT *keymgmt, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keymgmt
    - keydata
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    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:402,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:402,1
    - Dst: EVP_KEYMGMT*::gen_init
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - selection
    - params
    argTypes:
    - EVP_KEYMGMT*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: evp_keymgmt_gen_init
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT*::gen_init
    - 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:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - templ
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 421
    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:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    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:433,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:433,1
    - Dst: EVP_KEYMGMT*::gen_settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 438
    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:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    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:450,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:450,1
    - Dst: EVP_KEYMGMT*::gen_gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: EVP_KEYMGMT_gen_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT*::gen_gettable_params
    - EVP_KEYMGMT_get0_provider
    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:464,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:469,1
    - Dst: EVP_KEYMGMT*::gen
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:470,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:471,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:472,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:474,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: 476
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 476
    functionName: evp_keymgmt_gen
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - EVP_KEYMGMT*::gen
    - ERR_raise_data
    - ERR_count_to_mark
    - ERR_set_mark
    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:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - keymgmt
    - genctx
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    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: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    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:492,1
    - Dst: EVP_KEYMGMT*::load
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:493,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: 495
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: evp_keymgmt_load
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::load
    - evp_keymgmt_has_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:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 503
    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:507,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:507,1
    - Dst: EVP_KEYMGMT*::gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 512
    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:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    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:524,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:524,1
    - Dst: EVP_KEYMGMT*::settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: EVP_KEYMGMT_settable_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT*::settable_params
    - EVP_KEYMGMT_get0_provider
    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:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 535
    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:543,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: 544
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 544
    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:553,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: 554
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 554
    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:561,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: 562
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 562
    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:567,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:567,1
    - Dst: EVP_KEYMGMT*::import_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:570,1
    - Dst: EVP_KEYMGMT*::import_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - keymgmt
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 574
    functionName: evp_keymgmt_import_types
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::import_types_ex
    - EVP_KEYMGMT*::import_types
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    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:581,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: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    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:587,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:587,1
    - Dst: EVP_KEYMGMT*::export_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:590,1
    - Dst: EVP_KEYMGMT*::export_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - keymgmt
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: evp_keymgmt_export_types
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT*::export_types
    - EVP_KEYMGMT*::export_types_ex
    - EVP_KEYMGMT_get0_provider
    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:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - keydata_from
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 603
    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:68,1
    - Dst: UI_process
      Src: /src/openssl/crypto/evp/evp_key.c:73,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/evp_key.c:74,1
    - Dst: UI_free
      Src: /src/openssl/crypto/evp/evp_key.c:76,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: 78
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: EVP_read_pw_string_min
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 2
    functionsReached:
    - UI_new
    - UI_process
    - UI_free
    - OPENSSL_cleanse
    - UI_add_verify_string
    - UI_add_input_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:90,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/evp_key.c:91,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_key.c:92,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_key.c:93,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/evp_key.c:98,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/evp_key.c:102,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:107,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/evp_key.c:110,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/evp_key.c:112,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/evp_key.c:116,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/evp_key.c:118,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/evp_key.c:120,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/evp/evp_key.c:151,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/evp_key.c:153,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/evp_key.c:154,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: 156
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 156
    functionName: EVP_BytesToKey
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 2
    functionsReached:
    - OPENSSL_cleanse
    - EVP_CIPHER_get_key_length
    - EVP_DigestFinal_ex
    - EVP_CIPHER_get_iv_length
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - OPENSSL_assert
    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_nid2ln
    - OBJ_nid2sn
    - OBJ_NAME_add
    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_nid2ln
    - OBJ_nid2sn
    - OBJ_NAME_add
    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: 1
    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
    - ossl_namemap_doall_names
    - OBJ_NAME_get
    - OPENSSL_init_crypto
    - EVP_CIPHER_fetch
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - EVP_CIPHER_free
    - ERR_set_mark
    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: 1
    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: 3
    functionsReached:
    - ERR_pop_to_mark
    - ossl_namemap_doall_names
    - EVP_MD_fetch
    - OBJ_NAME_get
    - OPENSSL_init_crypto
    - EVP_MD_free
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ERR_set_mark
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: evp_cleanup_int
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 1
    functionsReached:
    - OBJ_NAME_cleanup
    - OBJ_sigid_free
    - EVP_PBE_cleanup
    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:205,1
    - Dst: struct doall_cipher*::fn
      Src: /src/openssl/crypto/evp/names.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nm
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    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:217,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/evp/names.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 222
    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:232,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/crypto/evp/names.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 237
    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),\n    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct doall_md*::fn
      Src: /src/openssl/crypto/evp/names.c:249,1
    - Dst: struct doall_md*::fn
      Src: /src/openssl/crypto/evp/names.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nm
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    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:261,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/evp/names.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    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: 268
    functionDepth: 2
    functionLinenumber: 268
    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),\n    void
      *arg)"
  - 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: 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: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    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: 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:31,1
    - Dst: EVP_KDF*::newctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:33,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:33,1
    - Dst: EVP_KDF_up_ref
      Src: /src/openssl/crypto/evp/kdf_lib.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:35,1
    - Dst: EVP_KDF*::freectx
      Src: /src/openssl/crypto/evp/kdf_lib.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: EVP_KDF_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 6
    functionsReached:
    - OPENSSL_zalloc
    - EVP_KDF_up_ref
    - EVP_KDF*::freectx
    - OPENSSL_free
    - ossl_provider_ctx
    - ERR_raise
    - EVP_KDF*::newctx
    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:50,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: EVP_KDF_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 9
    functionsReached:
    - EVP_KDF_free
    - EVP_KDF_CTX*::meth::freectx
    - 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:63,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/kdf_lib.c:67,1
    - Dst: EVP_KDF_up_ref
      Src: /src/openssl/crypto/evp/kdf_lib.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:70,1
    - Dst: EVP_KDF_CTX*::meth::dupctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:74,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: EVP_KDF_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_up_ref
    - OPENSSL_free
    - EVP_KDF_CTX*::meth::dupctx
    - ERR_raise
    - memcpy
    - 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: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    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: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    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: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    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:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - kdf
    - name
    argTypes:
    - EVP_KDF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 8
    functionLinenumber: 97
    functionLinenumberEnd: 100
    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: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    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: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    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:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    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:129,1
    - Dst: EVP_KDF_CTX*::meth::get_ctx_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:131,1
    - Dst: EVP_KDF_CTX*::meth::get_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: EVP_KDF_CTX_get_kdf_size
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX*::meth::get_params
    - EVP_KDF_CTX*::meth::get_ctx_params
    - OSSL_PARAM_construct_size_t
    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:145,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: 146
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 146
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/kdf_lib.c:160,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/evp/kdf_lib.c:164,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/kdf_lib.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: convert_key_cb
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string_ptr
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int convert_key_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX*::meth::set_skey
      Src: /src/openssl/crypto/evp/kdf_lib.c:185,1
    - Dst: EVP_SKEY_export
      Src: /src/openssl/crypto/evp/kdf_lib.c:196,1
    - Dst: EVP_KDF_CTX*::meth::set_ctx_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - key
    - paramname
    argTypes:
    - EVP_KDF_CTX*
    - EVP_SKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: EVP_KDF_CTX_set_SKEY
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SKEY_export
    - EVP_KDF_CTX*::meth::set_ctx_params
    - EVP_KDF_CTX*::meth::set_skey
    linkageType: ''
    returnType: int
    signature: int EVP_KDF_CTX_set_SKEY(EVP_KDF_CTX *ctx, EVP_SKEY *key, const char
      *paramname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:211,1
    - Dst: evp_skeymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/kdf_lib.c:218,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/kdf_lib.c:225,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:241,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/kdf_lib.c:245,1
    - Dst: EVP_KDF_CTX*::meth::derive
      Src: /src/openssl/crypto/evp/kdf_lib.c:249,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:250,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/kdf_lib.c:253,1
    - Dst: EVP_SKEY_import_SKEYMGMT
      Src: /src/openssl/crypto/evp/kdf_lib.c:256,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:256,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:260,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:262,1
    - Dst: evp_skey_alloc
      Src: /src/openssl/crypto/evp/kdf_lib.c:266,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:269,1
    - Dst: EVP_KDF_CTX*::meth::derive_skey
      Src: /src/openssl/crypto/evp/kdf_lib.c:273,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:273,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:276,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - ctx
    - mgmt
    - key_type
    - propquery
    - keylen
    - params
    argTypes:
    - EVP_KDF_CTX*
    - EVP_SKEYMGMT*
    - char*
    - char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 283
    functionName: EVP_KDF_derive_SKEY
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - evp_skeymgmt_fetch_from_prov
    - OPENSSL_zalloc
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX*::meth::derive_skey
    - EVP_SKEY_import_SKEYMGMT
    - OPENSSL_free
    - OPENSSL_clear_free
    - ossl_provider_ctx
    - ossl_provider_libctx
    - ERR_raise
    - EVP_SKEY_free
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_free
    - EVP_KDF_CTX*::meth::derive
    - evp_skey_alloc
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_KDF_derive_SKEY(EVP_KDF_CTX *ctx, EVP_SKEYMGMT *mgmt,\n
      \   const char *key_type, const char *propquery,\n    size_t keylen, const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF*::get_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - params
    argTypes:
    - EVP_KDF*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    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:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_KDF_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    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:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_KDF_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    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:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - data
    argTypes:
    - EVP_KDF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 8
    functionLinenumber: 312
    functionLinenumberEnd: 320
    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: 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: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    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: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    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: 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:
    - EVP_PKEY_assign_RSA
    - RSA_up_ref
    - 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:
    - evp_pkey_get0_RSA_int
    - RSA_up_ref
    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:
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_free
    - EC_KEY_up_ref
    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
    - ERR_raise
    - evp_pkey_get_legacy
    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: 8
    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:
    - evp_pkey_get0_EC_KEY_int
    - EC_KEY_up_ref
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
  - 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: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    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: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    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: 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: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    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:
    - EVP_PKEY_CTX_set_signature_md
    - EVP_MD_CTX_get0_md
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_test_flags
    - ERR_raise
    - EVP_MD_CTX_copy_ex
    - EVP_PKEY_verify_init
    - EVP_PKEY_verify
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:36,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: 39
      start: 21
    functionDepth: 8
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: EVP_PKEY_decrypt_old
    functionSourceFile: /src/openssl/crypto/evp/p_dec.c
    functionUses: 0
    functionsReached:
    - RSA_private_decrypt
    - EVP_PKEY_get_id
    - evp_pkey_get0_RSA_int
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_decrypt_old(unsigned char *key, const unsigned char *ek,
      int ekl,\n    EVP_PKEY *priv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX*::digest::freectx
      Src: /src/openssl/crypto/evp/digest.c:30,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:32,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - force
    - keep_fetched
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: evp_md_ctx_clear_digest
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX*::digest::freectx
    - EVP_MD_free
    - EVP_MD_CTX_set_flags
    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:61,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:62,1
    - Dst: evp_md_ctx_clear_digest
      Src: /src/openssl/crypto/evp/digest.c:66,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/digest.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - keep_fetched
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: evp_md_ctx_reset_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - evp_md_ctx_clear_digest
    - OPENSSL_cleanse
    - EVP_PKEY_CTX_free
    - 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:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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:86,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/digest.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:88,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/crypto/evp/digest.c:92,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/crypto/evp/digest.c:95,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:99,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:100,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: 102
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: evp_md_ctx_new_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_PKEY_CTX_set1_id
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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: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_MD_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 24
    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:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/digest.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: EVP_MD_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 26
    functionsReached:
    - EVP_MD_CTX_reset
    - OPENSSL_free
    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:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:123,1
    - Dst: EVP_MD_CTX*::digest::freectx
      Src: /src/openssl/crypto/evp/digest.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: evp_md_ctx_free_algctx
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX*::digest::freectx
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int evp_md_ctx_free_algctx(EVP_MD_CTX *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/digest.c:138,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/crypto/evp/digest.c:147,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/crypto/evp/digest.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:150,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/digest.c:155,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:161,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:167,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:168,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/digest.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:169,1
    - Dst: evp_md_ctx_free_algctx
      Src: /src/openssl/crypto/evp/digest.c:173,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:180,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/digest.c:184,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/digest.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:190,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:194,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:199,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:200,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/evp/digest.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:201,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:204,1
    - Dst: EVP_MD_CTX*::digest::newctx
      Src: /src/openssl/crypto/evp/digest.c:209,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:217,1
    - Dst: EVP_MD_CTX*::digest::dinit
      Src: /src/openssl/crypto/evp/digest.c:221,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 3
    argNames:
    - ctx
    - type
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 222
    functionName: evp_md_init_internal
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - OBJ_nid2sn
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - ossl_likely
    - EVP_MD_CTX_clear_flags
    - ossl_unlikely
    - ossl_provider_ctx
    - ERR_raise
    - EVP_MD_fetch
    - EVP_DigestVerifyInit
    - EVP_MD_up_ref
    - EVP_MD_free
    - EVP_MD_CTX*::digest::newctx
    - ossl_assert
    - evp_md_ctx_free_algctx
    - EVP_MD_CTX*::digest::dinit
    linkageType: ''
    returnType: int
    signature: "int evp_md_init_internal(EVP_MD_CTX *ctx, const EVP_MD *type,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_init_internal
      Src: /src/openssl/crypto/evp/digest.c:227,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: 228
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: EVP_DigestInit_ex2
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 4
    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:232,1
    - Dst: evp_md_init_internal
      Src: /src/openssl/crypto/evp/digest.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 7
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: EVP_DigestInit
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 4
    functionsReached:
    - EVP_MD_CTX_reset
    - evp_md_init_internal
    linkageType: ''
    returnType: int
    signature: int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/digest.c:238,1
    - Dst: evp_md_init_internal
      Src: /src/openssl/crypto/evp/digest.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - type
    - impl
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: EVP_DigestInit_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 11
    functionsReached:
    - ossl_assert
    - 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:245,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:249,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:253,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/digest.c:254,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/evp/digest.c:266,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/crypto/evp/digest.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:275,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:280,1
    - Dst: EVP_MD_CTX*::digest::dupdate
      Src: /src/openssl/crypto/evp/digest.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 284
    functionName: EVP_DigestUpdate
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 21
    functionsReached:
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - ossl_unlikely
    - ERR_raise
    - EVP_DigestSignUpdate
    - 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:290,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:291,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: 293
      start: 287
    functionDepth: 7
    functionLinenumber: 287
    functionLinenumberEnd: 293
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:302,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/crypto/evp/digest.c:305,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:306,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:310,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:315,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:320,1
    - Dst: EVP_MD_CTX*::digest::dfinal
      Src: /src/openssl/crypto/evp/digest.c:324,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:329,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - md
    - isize
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 338
    functionName: EVP_DigestFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 9
    functionsReached:
    - EVP_MD_CTX_get_size
    - ossl_likely
    - ossl_unlikely
    - EVP_MD_CTX*::digest::dfinal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned
      int *isize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:348,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:353,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:358,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:363,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:372,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/digest.c:373,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:375,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/crypto/evp/digest.c:375,1
    - Dst: EVP_MD_CTX*::digest::dfinal
      Src: /src/openssl/crypto/evp/digest.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - md
    - size
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 381
    functionName: EVP_DigestFinalXOF
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 2
    functionsReached:
    - ossl_likely
    - ossl_unlikely
    - EVP_MD_CTX*::digest::dfinal
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MD_CTX_set_params
    - OSSL_PARAM_construct_size_t
    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:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:392,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:397,1
    - Dst: EVP_MD_CTX*::digest::dsqueeze
      Src: /src/openssl/crypto/evp/digest.c:401,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: 402
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 402
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:407,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:417,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::serialize
      Src: /src/openssl/crypto/evp/digest.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: EVP_MD_CTX_serialize
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - EVP_MD_CTX*::digest::serialize
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_serialize(EVP_MD_CTX *ctx, unsigned char *out, size_t
      *outlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:443,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:448,1
    - Dst: EVP_MD_CTX*::digest::deserialize
      Src: /src/openssl/crypto/evp/digest.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: EVP_MD_CTX_deserialize
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - EVP_MD_CTX*::digest::deserialize
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EVP_MD_CTX_deserialize(EVP_MD_CTX *ctx, const unsigned char *in,\n
      \   size_t inlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/digest.c:457,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/digest.c:459,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 8
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: EVP_MD_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_CTX_copy_ex
    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:468,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/digest.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 7
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: EVP_MD_CTX_copy
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_reset
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:477,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:483,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:491,1
    - Dst: EVP_MD_CTX*::digest::copyctx
      Src: /src/openssl/crypto/evp/digest.c:497,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:499,1
    - Dst: evp_md_ctx_reset_ex
      Src: /src/openssl/crypto/evp/digest.c:504,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/evp/digest.c:508,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:511,1
    - Dst: EVP_MD_CTX*::digest::dupctx
      Src: /src/openssl/crypto/evp/digest.c:518,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:520,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/digest.c:528,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/digest.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:533,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:534,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 472
    functionDepth: 7
    functionLinenumber: 472
    functionLinenumberEnd: 541
    functionName: EVP_MD_CTX_copy_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 5
    functionsReached:
    - evp_md_ctx_reset_ex
    - EVP_MD_CTX_clear_flags
    - EVP_MD_CTX*::digest::copyctx
    - ERR_raise
    - EVP_PKEY_CTX_dup
    - EVP_MD_up_ref
    - EVP_MD_free
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_reset
    - EVP_MD_CTX*::digest::dupctx
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/digest.c:550,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/digest.c:553,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:556,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/digest.c:557,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/digest.c:558,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/digest.c:559,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    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: 563
      start: 543
    functionDepth: 8
    functionLinenumber: 543
    functionLinenumberEnd: 563
    functionName: EVP_Digest
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 3
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_set_flags
    - EVP_DigestUpdate
    - ossl_assert
    - EVP_MD_CTX_new
    - 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:569,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/evp/digest.c:574,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:575,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: 580
      start: 565
    functionDepth: 9
    functionLinenumber: 565
    functionLinenumberEnd: 580
    functionName: EVP_Q_digest
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - EVP_MD_free
    - EVP_MD_fetch
    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:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - digest
    - params
    argTypes:
    - EVP_MD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 587
    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:592,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:593,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - digest
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 595
    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:602,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::set_ctx_md_params
      Src: /src/openssl/crypto/evp/digest.c:607,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:610,1
    - Dst: EVP_MD_CTX*::digest::set_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MD_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: EVP_MD_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - ossl_unlikely
    - EVP_MD_CTX*::digest::set_ctx_params
    - EVP_PKEY_CTX*::op::sig::signature::set_ctx_md_params
    - ossl_likely
    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:621,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:621,1
    - Dst: EVP_MD*::settable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: EVP_MD_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    - EVP_MD*::settable_ctx_params
    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:642,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:646,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:646,1
    - Dst: EVP_MD_CTX*::digest::settable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 651
    functionName: EVP_MD_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    - 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:663,1
    - Dst: EVP_MD_CTX*::digest::get_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MD_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 670
    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:677,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:677,1
    - Dst: EVP_MD*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: EVP_MD_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    - EVP_MD*::gettable_ctx_params
    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:688,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:693,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_md_params
      Src: /src/openssl/crypto/evp/digest.c:699,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:702,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:704,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:704,1
    - Dst: EVP_MD_CTX*::digest::gettable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:705,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 708
    functionName: EVP_MD_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_md_params
    - ossl_unlikely
    - EVP_MD_get0_provider
    - ossl_provider_ctx
    - EVP_MD_CTX*::digest::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:718,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:723,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:730,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/digest.c:734,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/digest.c:738,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/crypto/evp/digest.c:746,1
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/crypto/evp/digest.c:748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 754
    functionName: EVP_MD_CTX_ctrl
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - EVP_MD_CTX_get_params
    - EVP_MD_CTX_set_params
    - OSSL_PARAM_construct_size_t
    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:758,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/digest.c:760,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/digest.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 765
    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:782,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/evp/digest.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - vlegacy_nid
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 795
    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:810,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:811,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/digest.c:812,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/digest.c:813,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/digest.c:815,1
    - Dst: evp_do_md_getparams
      Src: /src/openssl/crypto/evp/digest.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 828
    functionName: evp_md_cache_constants
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - evp_do_md_getparams
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int evp_md_cache_constants(EVP_MD *md)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_new
      Src: /src/openssl/crypto/evp/digest.c:839,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:840,1
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/digest.c:846,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:848,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/digest.c:854,1
    - Dst: OSSL_FUNC_digest_newctx
      Src: /src/openssl/crypto/evp/digest.c:863,1
    - Dst: OSSL_FUNC_digest_init
      Src: /src/openssl/crypto/evp/digest.c:869,1
    - Dst: OSSL_FUNC_digest_update
      Src: /src/openssl/crypto/evp/digest.c:875,1
    - Dst: OSSL_FUNC_digest_final
      Src: /src/openssl/crypto/evp/digest.c:881,1
    - Dst: OSSL_FUNC_digest_squeeze
      Src: /src/openssl/crypto/evp/digest.c:887,1
    - Dst: OSSL_FUNC_digest_digest
      Src: /src/openssl/crypto/evp/digest.c:893,1
    - Dst: OSSL_FUNC_digest_freectx
      Src: /src/openssl/crypto/evp/digest.c:898,1
    - Dst: OSSL_FUNC_digest_dupctx
      Src: /src/openssl/crypto/evp/digest.c:904,1
    - Dst: OSSL_FUNC_digest_get_params
      Src: /src/openssl/crypto/evp/digest.c:908,1
    - Dst: OSSL_FUNC_digest_set_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:912,1
    - Dst: OSSL_FUNC_digest_get_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:916,1
    - Dst: OSSL_FUNC_digest_gettable_params
      Src: /src/openssl/crypto/evp/digest.c:920,1
    - Dst: OSSL_FUNC_digest_settable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:924,1
    - Dst: OSSL_FUNC_digest_gettable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:928,1
    - Dst: OSSL_FUNC_digest_copyctx
      Src: /src/openssl/crypto/evp/digest.c:932,1
    - Dst: OSSL_FUNC_digest_serialize
      Src: /src/openssl/crypto/evp/digest.c:936,1
    - Dst: OSSL_FUNC_digest_deserialize
      Src: /src/openssl/crypto/evp/digest.c:940,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:952,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/digest.c:955,1
    - Dst: evp_md_cache_constants
      Src: /src/openssl/crypto/evp/digest.c:960,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:961,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:968,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 119
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 830
    functionDepth: 8
    functionLinenumber: 830
    functionLinenumberEnd: 970
    functionName: evp_md_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_digest_final
    - OSSL_FUNC_digest_get_params
    - OSSL_FUNC_digest_deserialize
    - evp_md_new
    - evp_names_do_all
    - OSSL_FUNC_digest_update
    - ERR_raise
    - OSSL_FUNC_digest_newctx
    - evp_md_cache_constants
    - OSSL_FUNC_digest_init
    - OSSL_FUNC_digest_squeeze
    - OSSL_FUNC_digest_settable_ctx_params
    - OSSL_FUNC_digest_copyctx
    - OSSL_FUNC_digest_dupctx
    - EVP_MD_free
    - OSSL_FUNC_digest_set_ctx_params
    - OSSL_FUNC_digest_digest
    - OSSL_FUNC_digest_gettable_params
    - OSSL_FUNC_digest_gettable_ctx_params
    - OSSL_FUNC_digest_get_ctx_params
    - OSSL_FUNC_digest_serialize
    - ossl_provider_up_ref
    - OSSL_FUNC_digest_freectx
    - ossl_algorithm_get1_first_name
    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:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 975
    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:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 980
    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:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 9
    functionLinenumber: 982
    functionLinenumberEnd: 989
    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:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 998
    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:1007,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/digest.c:1011,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/digest.c:1012,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/digest.c:1013,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/digest.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1015
    functionName: EVP_MD_free
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 22
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1017
    functionDepth: 9
    functionLinenumber: 1017
    functionLinenumberEnd: 1028
    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:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1030
    functionDepth: 9
    functionLinenumber: 1030
    functionLinenumberEnd: 1039
    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:1069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hmac_nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1077
    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:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - md_nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1092
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_gn.c:33,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:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:51,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_gn.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:64,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 67
    functionName: gen_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 5
    functionsReached:
    - evp_pkey_ctx_free_old_ops
    - evp_keymgmt_gen_init
    - ERR_raise
    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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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:88,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/pmeth_gn.c:90,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_gn.c:92,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/pmeth_gn.c:94,1
    - Dst: EVP_PKEY_CTX*::pkey_gencb
      Src: /src/openssl/crypto/evp/pmeth_gn.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: ossl_callback_to_pkey_gencb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX*::pkey_gencb
    linkageType: ''
    returnType: int
    signature: int ossl_callback_to_pkey_gencb(const OSSL_PARAM params[], void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/pmeth_gn.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:123,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/pmeth_gn.c:145,1
    - Dst: evp_keymgmt_gen_set_template
      Src: /src/openssl/crypto/evp/pmeth_gn.c:154,1
    - Dst: evp_keymgmt_util_gen
      Src: /src/openssl/crypto/evp/pmeth_gn.c:163,1
    - Dst: evp_pkey_free_legacy
      Src: /src/openssl/crypto/evp/pmeth_gn.c:172,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_gn.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:195,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 198
    functionName: EVP_PKEY_generate
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - evp_pkey_free_legacy
    - ERR_raise
    - evp_keymgmt_util_gen
    - evp_pkey_export_to_provider
    - EVP_PKEY_free
    - EVP_PKEY_new
    - evp_keymgmt_gen_set_template
    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:203,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/evp/pmeth_gn.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 7
    functionLinenumber: 200
    functionLinenumberEnd: 207
    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:212,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/evp/pmeth_gn.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 216
    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: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    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: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    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:235,1
    - Dst: EVP_PKEY_CTX*::pkey_gencb
      Src: /src/openssl/crypto/evp/pmeth_gn.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - gcb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: trans_cb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_get_arg
    - EVP_PKEY_CTX*::pkey_gencb
    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:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - ctx
    argTypes:
    - BN_GENCB*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_gn.c:263,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/crypto/evp/pmeth_gn.c:265,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:268,1
    - Dst: EVP_PKEY_CTX_set_mac_key
      Src: /src/openssl/crypto/evp/pmeth_gn.c:270,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/crypto/evp/pmeth_gn.c:272,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_gn.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - type
    - e
    - key
    - keylen
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 257
    functionDepth: 8
    functionLinenumber: 257
    functionLinenumberEnd: 277
    functionName: EVP_PKEY_new_mac_key
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_set_mac_key
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - ossl_assert
    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:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 300
    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:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 5
    functionLinenumber: 302
    functionLinenumberEnd: 305
    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:314,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/pmeth_gn.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:325,1
    - Dst: evp_keymgmt_util_fromdata
      Src: /src/openssl/crypto/evp/pmeth_gn.c:329,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_gn.c:333,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: 339
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 339
    functionName: EVP_PKEY_fromdata
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 2
    functionsReached:
    - evp_keymgmt_util_fromdata
    - EVP_PKEY_new
    - ERR_raise
    - 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:344,1
    - Dst: evp_keymgmt_import_types
      Src: /src/openssl/crypto/evp/pmeth_gn.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 347
    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:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 357
    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:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pkey
    - selection
    - params
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    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:378,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: 379
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 379
    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:386,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/pmeth_gn.c:390,1
    - Dst: EVP_PKEY*::ameth::export_to
      Src: /src/openssl/crypto/evp/pmeth_gn.c:400,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/pmeth_gn.c:404,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: 405
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 405
    functionName: EVP_PKEY_export
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - evp_pkey_is_legacy
    - EVP_PKEY*::ameth::export_to
    - ERR_raise
    - evp_keymgmt_util_export
    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_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_uint64
    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_newdata
    - evp_keymgmt_freedata
    - evp_keymgmt_import
    - ERR_raise
    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
    - ERR_raise
    - evp_keymgmt_util_cache_keyinfo
    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_keymgmt_util_assign_pkey
    - EVP_PKEY_new
    - EVP_PKEY_free
    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:
    - evp_keymgmt_freedata
    - CRYPTO_THREAD_unlock
    - evp_keymgmt_util_find_operation_cache
    - evp_keymgmt_util_cache_keydata
    - match_type
    - evp_keymgmt_util_export
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - evp_keymgmt_util_clear_operation_cache
    - ossl_assert
    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:
    - EVP_KEYMGMT_free
    - evp_keymgmt_freedata
    - OPENSSL_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:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    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: void
    signature: void 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:235,1
    - Dst: sk_OP_CACHE_ELEM_value
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pk
    - keymgmt
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 253
    functionName: evp_keymgmt_util_find_operation_cache
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 2
    functionsReached:
    - sk_OP_CACHE_ELEM_num
    - sk_OP_CACHE_ELEM_value
    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:262,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:267,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:275,1
    - Dst: sk_OP_CACHE_ELEM_push
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:279,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:281,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: 286
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 286
    functionName: evp_keymgmt_util_cache_keydata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_up_ref
    - sk_OP_CACHE_ELEM_new_null
    - sk_OP_CACHE_ELEM_push
    - 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:302,1
    - 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:305,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:307,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:308,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: evp_keymgmt_util_cache_keyinfo
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_int
    - evp_keymgmt_get_params
    - OSSL_PARAM_construct_end
    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:323,1
    - Dst: evp_keymgmt_import
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:324,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:325,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:326,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: 330
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: evp_keymgmt_util_fromdata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_newdata
    - evp_keymgmt_util_assign_pkey
    - 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:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - selection
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 339
    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:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:387,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:401,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:421,1
    - Dst: evp_keymgmt_match
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:443,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - pk1
    - pk2
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 354
    functionDepth: 11
    functionLinenumber: 354
    functionLinenumberEnd: 444
    functionName: evp_keymgmt_util_match
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_export_to_provider
    - match_type
    - evp_keymgmt_match
    - ERR_raise
    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:466,1
    - Dst: match_type
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:471,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:490,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:504,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:505,1
    - Dst: evp_keymgmt_util_cache_keyinfo
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:509,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - to
    - from
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 446
    functionDepth: 10
    functionLinenumber: 446
    functionLinenumberEnd: 512
    functionName: evp_keymgmt_util_copy
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_dup
    - evp_keymgmt_freedata
    - match_type
    - ERR_raise
    - evp_keymgmt_util_export
    - EVP_PKEY_set_type_by_keymgmt
    - evp_keymgmt_util_cache_keyinfo
    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:519,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:520,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:521,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: 526
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 526
    functionName: evp_keymgmt_util_gen
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_assign_pkey
    - evp_keymgmt_freedata
    - evp_keymgmt_gen
    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:544,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:546,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:549,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:551,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:554,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:560,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:568,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: 570
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 570
    functionName: evp_keymgmt_util_get_deflt_digest_name
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_modified
    - evp_keymgmt_get_params
    - OPENSSL_strlcpy
    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:584,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - keymgmt
    - op_id
    argTypes:
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: evp_keymgmt_util_query_operation_name
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 5
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/evp/evp_pkey.c:32,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/evp_pkey.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:36,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/evp_pkey.c:40,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/evp_pkey.c:40,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/evp/evp_pkey.c:41,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_pkey.c:42,1
    - Dst: EVP_PKEY*::ameth::priv_decode_ex
      Src: /src/openssl/crypto/evp/evp_pkey.c:48,1
    - Dst: EVP_PKEY*::ameth::priv_decode
      Src: /src/openssl/crypto/evp/evp_pkey.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:56,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:63,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: 65
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 65
    functionName: evp_pkcs82pkey_legacy
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY*::ameth::priv_decode
    - ERR_raise_data
    - EVP_PKEY_set_type
    - ERR_raise
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - i2t_ASN1_OBJECT
    - EVP_PKEY*::ameth::priv_decode_ex
    - EVP_PKEY_free
    - EVP_PKEY_new
    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:81,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/evp/evp_pkey.c:82,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/evp/evp_pkey.c:85,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/evp_pkey.c:92,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/evp/evp_pkey.c:95,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:96,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/evp_pkey.c:103,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/evp/evp_pkey.c:108,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/evp/evp_pkey.c:110,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:112,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:113,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: 115
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 115
    functionName: EVP_PKCS82PKEY_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OPENSSL_clear_free
    - OBJ_obj2txt
    - OSSL_DECODER_from_data
    - PKCS8_pkey_get0
    - evp_pkcs82pkey_legacy
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER_CTX_free
    - 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:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 120
    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:134,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/evp_pkey.c:140,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/crypto/evp/evp_pkey.c:144,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/evp/evp_pkey.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:149,1
    - Dst: PKCS8_PRIV_KEY_INFO_new
      Src: /src/openssl/crypto/evp/evp_pkey.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:155,1
    - Dst: EVP_PKEY*::ameth::priv_encode
      Src: /src/openssl/crypto/evp/evp_pkey.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:162,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: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:176,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:179,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 181
    functionName: EVP_PKEY2PKCS8
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - evp_pkey_is_provided
    - PKCS8_PRIV_KEY_INFO_free
    - OSSL_ENCODER_CTX_free
    - OPENSSL_free
    - EVP_PKEY*::ameth::priv_encode
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_PRIV_KEY_INFO_new
    - ERR_raise
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_data
    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:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    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:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - nid
    - lastpos
    argTypes:
    - EVP_PKEY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    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:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - obj
    - lastpos
    argTypes:
    - EVP_PKEY*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    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:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - loc
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    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: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: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    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:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - attr
    argTypes:
    - EVP_PKEY*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    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:222,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: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    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:231,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: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    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:240,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: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    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:253,1
    - Dst: evp_pkey_get0_asn1
      Src: /src/openssl/crypto/evp/evp_pkey.c:257,1
    - Dst: evp_pkey_asn1_get0_info
      Src: /src/openssl/crypto/evp/evp_pkey.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: EVP_PKEY_get0_type_name
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - evp_pkey_asn1_get0_info
    - evp_pkey_get0_asn1
    - 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:268,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/evp_pkey.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    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: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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: 3
    EdgeCount: 3
    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:
    - OSSL_PARAM_construct_utf8_string
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    - 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:
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    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:
    - dsa_paramgen_check
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    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:
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    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:
    - OSSL_PARAM_construct_utf8_string
    - dsa_paramgen_check
    - EVP_PKEY_CTX_set_params
    - 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: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: EVP_md5
    functionSourceFile: /src/openssl/crypto/evp/legacy_md5.c
    functionUses: 3
    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: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    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:73,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/evp/bio_b64.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_b64.c:82,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_b64.c:86,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_b64.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: b64_new
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - OPENSSL_free
    - EVP_ENCODE_CTX_new
    - BIO_set_data
    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:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_b64.c:103,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/evp/bio_b64.c:106,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_b64.c:107,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_b64.c:108,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_b64.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: b64_free
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - EVP_ENCODE_CTX_free
    - BIO_set_init
    - OPENSSL_free
    - BIO_get_data
    - BIO_set_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:131,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:133,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:137,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:144,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:150,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:157,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_b64.c:160,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/evp/bio_b64.c:184,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:191,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/crypto/evp/bio_b64.c:194,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:196,1
    - Dst: BIO_get_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:215,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/evp/bio_b64.c:235,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:236,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/evp/bio_b64.c:293,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_b64.c:316,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:326,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 136
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 328
    functionName: b64_read
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - EVP_DecodeInit
    - BIO_clear_retry_flags
    - EVP_DecodeFinal
    - BIO_should_retry
    - BIO_get_flags
    - BIO_read
    - BIO_copy_next_retry
    - ERR_raise
    - EVP_DecodeUpdate
    - BIO_next
    - BIO_get_data
    - memcpy
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int b64_read(BIO *b, char *out, int outl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_b64.c:341,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:342,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:346,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:353,1
    - Dst: BIO_get_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:354,1
    - Dst: evp_encode_ctx_set_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:355,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:358,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:362,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: BIO_write
      Src: /src/openssl/crypto/evp/bio_b64.c:371,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:373,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:378,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:382,1
    - Dst: EVP_ENCODE_LENGTH
      Src: /src/openssl/crypto/evp/bio_b64.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_b64.c:402,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/bio_b64.c:403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:414,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/evp/bio_b64.c:418,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_b64.c:423,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:425,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 427
    functionName: b64_write
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_EncodeUpdate
    - BIO_get_flags
    - OPENSSL_free
    - BIO_write
    - BIO_copy_next_retry
    - evp_encode_ctx_set_flags
    - ERR_raise
    - EVP_EncodeInit
    - EVP_ENCODE_LENGTH
    - BIO_next
    - BIO_get_data
    - ossl_assert
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int b64_write(BIO *b, const char *in, int inl)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_b64.c:436,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:437,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:450,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:456,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:460,1
    - Dst: EVP_ENCODE_CTX_num
      Src: /src/openssl/crypto/evp/bio_b64.c:465,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:468,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:471,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:472,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:477,1
    - Dst: b64_write
      Src: /src/openssl/crypto/evp/bio_b64.c:484,1
    - Dst: EVP_ENCODE_CTX_num
      Src: /src/openssl/crypto/evp/bio_b64.c:488,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/crypto/evp/bio_b64.c:490,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:496,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:497,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:498,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:502,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:503,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:504,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:513,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 517
    functionName: b64_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - EVP_ENCODE_CTX_num
    - BIO_clear_retry_flags
    - b64_write
    - BIO_copy_next_retry
    - ERR_raise
    - BIO_next
    - BIO_get_data
    - ossl_assert
    - EVP_EncodeFinal
    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:521,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 527
    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:531,1
    - Dst: b64_write
      Src: /src/openssl/crypto/evp/bio_b64.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 536
    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: 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_ctx_is_legacy
    - ERR_raise
    - evp_pkey_export_to_provider
    linkageType: ''
    returnType: int
    signature: int try_provided_check(EVP_PKEY_CTX *ctx, int selection, int checktype)
  - BBCount: 3
    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: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 7
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: evp_pkey_public_check_combined
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - 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:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 8
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 74
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:82,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: evp_pkey_param_check_combined
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - try_provided_check
    - ERR_raise
    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:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 99
    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:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 8
    functionLinenumber: 101
    functionLinenumberEnd: 104
    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:112,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 7
    functionLinenumber: 106
    functionLinenumberEnd: 124
    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: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: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:137,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 7
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: EVP_PKEY_pairwise_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 1
    functionsReached:
    - try_provided_check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx)
  - 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_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: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    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: 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:
    - ASN1_TYPE_get_octetstring
    - ossl_assert
    - EVP_CIPHER_CTX_get_iv_length
    - 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_original_iv
    - EVP_CIPHER_CTX_get_iv_length
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:102,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/evp/evp_lib.c:103,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:105,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/evp/evp_lib.c:106,1
    - Dst: evp_cipher_set_asn1_aead_params
      Src: /src/openssl/crypto/evp/evp_lib.c:111,1
    - Dst: EVP_CIPHER_set_asn1_iv
      Src: /src/openssl/crypto/evp/evp_lib.c:121,1
    - Dst: EVP_CIPHER_CTX_get_algor_params
      Src: /src/openssl/crypto/evp/evp_lib.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:139,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 143
    functionName: evp_cipher_param_to_asn1_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_set_asn1_iv
    - EVP_CIPHER_get_flags
    - ERR_raise
    - EVP_CIPHER_CTX_get_algor_params
    - evp_cipher_set_asn1_aead_params
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_is_a
    - ASN1_TYPE_set
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:166,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/evp/evp_lib.c:167,1
    - Dst: evp_cipher_get_asn1_aead_params
      Src: /src/openssl/crypto/evp/evp_lib.c:173,1
    - Dst: EVP_CIPHER_get_asn1_iv
      Src: /src/openssl/crypto/evp/evp_lib.c:183,1
    - Dst: EVP_CIPHER_CTX_set_algor_params
      Src: /src/openssl/crypto/evp/evp_lib.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 205
    functionName: evp_cipher_asn1_to_param_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get_asn1_iv
    - evp_cipher_get_asn1_aead_params
    - EVP_CIPHER_get_flags
    - ERR_raise
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_CTX_set_algor_params
    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:217,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_lib.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 225
    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:233,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: 236
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 236
    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:243,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/evp/evp_lib.c:294,1
    - Dst: OBJ_get0_data
      Src: /src/openssl/crypto/evp/evp_lib.c:296,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/evp/evp_lib.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 303
    functionName: EVP_CIPHER_get_type
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2obj
    - EVP_CIPHER_get_nid
    - OBJ_get0_data
    - 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:315,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:316,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:317,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_lib.c:318,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:319,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:320,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:322,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:323,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:325,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:327,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:329,1
    - Dst: evp_do_ciph_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:330,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_lib.c:350,1
    - Dst: EVP_CIPHER_gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_lib.c:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 355
    functionName: evp_cipher_cache_constants
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_gettable_ctx_params
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - evp_do_ciph_getparams
    - OSSL_PARAM_construct_size_t
    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: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    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:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: EVP_CIPHER_CTX_get_block_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 9
    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: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: EVP_CIPHER_impl_ctx_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_lib.c:387,1
    - Dst: EVP_CIPHER_CTX*::cipher::ccipher
      Src: /src/openssl/crypto/evp/evp_lib.c:393,1
    - Dst: EVP_CIPHER_CTX*::cipher::cupdate
      Src: /src/openssl/crypto/evp/evp_lib.c:399,1
    - Dst: EVP_CIPHER_CTX*::cipher::cfinal
      Src: /src/openssl/crypto/evp/evp_lib.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 407
    functionName: EVP_Cipher
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX*::cipher::cupdate
    - EVP_CIPHER_CTX*::cipher::cfinal
    - EVP_CIPHER_CTX*::cipher::ccipher
    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: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    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: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: EVP_CIPHER_CTX_get0_cipher
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    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:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 435
    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: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: EVP_CIPHER_CTX_is_encrypting
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 2
    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: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: EVP_CIPHER_get_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    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: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    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: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    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: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: EVP_CIPHER_CTX_get_cipher_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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: 470
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 470
    functionName: EVP_CIPHER_CTX_set_cipher_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: EVP_CIPHER_get_iv_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 6
    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:483,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:488,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:490,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:492,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_lib.c:493,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:500,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/evp_lib.c:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 477
    functionDepth: 5
    functionLinenumber: 477
    functionLinenumberEnd: 515
    functionName: EVP_CIPHER_CTX_get_iv_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_get_int
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_iv_length
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_size_t
    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:523,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: EVP_CIPHER_CTX_get_tag_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_size_t
    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:535,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 540
    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:551,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: EVP_CIPHER_CTX_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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:564,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: EVP_CIPHER_CTX_iv_noconst
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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:576,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:577,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: 578
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 578
    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:584,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:585,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: 586
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 586
    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: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: EVP_CIPHER_CTX_buf_noconst
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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:600,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: EVP_CIPHER_CTX_get_num
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_uint
    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:612,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_lib.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - num
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 618
    functionName: EVP_CIPHER_CTX_set_num
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_uint
    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: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    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:636,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:637,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_lib.c:648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 626
    functionDepth: 5
    functionLinenumber: 626
    functionLinenumberEnd: 653
    functionName: EVP_CIPHER_CTX_get_key_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 5
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_get_int
    - OSSL_PARAM_construct_size_t
    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: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: EVP_CIPHER_get_nid
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    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:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: EVP_CIPHER_CTX_get_nid
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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:670,1
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:671,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/evp/evp_lib.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cipher
    - name
    argTypes:
    - EVP_CIPHER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 665
    functionDepth: 8
    functionLinenumber: 665
    functionLinenumberEnd: 672
    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: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    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:684,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    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:695,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 699
    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:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - data
    argTypes:
    - EVP_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 8
    functionLinenumber: 701
    functionLinenumberEnd: 709
    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: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    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:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 719
    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:726,1
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:727,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/evp_lib.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - md
    - name
    argTypes:
    - EVP_MD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 8
    functionLinenumber: 721
    functionLinenumberEnd: 728
    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: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    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:740,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 744
    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:753,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 757
    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:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - md
    - data
    argTypes:
    - EVP_MD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 8
    functionLinenumber: 759
    functionLinenumberEnd: 767
    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: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    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: 777
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: EVP_MD_get_type
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 5
    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: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    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:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 791
    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:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 800
    functionName: EVP_MD_get_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 12
    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:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: EVP_MD_xof
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    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: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    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: 826
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 826
    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:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 838
    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:845,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_lib.c:847,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:858,1
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:859,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/evp_lib.c:866,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/evp_lib.c:866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 867
    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_get_size
    - OSSL_PARAM_locate_const
    - EVP_MD_CTX_gettable_params
    - EVP_MD_CTX_get_params
    - OSSL_PARAM_construct_size_t
    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: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    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:881,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/evp_lib.c:882,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:888,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 875
    functionDepth: 5
    functionLinenumber: 875
    functionLinenumberEnd: 892
    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_test_flags
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_clear_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: 899
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: EVP_MD_CTX_get0_md_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: EVP_MD_CTX_set_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    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: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    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: 915
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: EVP_MD_CTX_test_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    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:922,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - enable
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 917
    functionDepth: 6
    functionLinenumber: 917
    functionLinenumberEnd: 924
    functionName: evp_cipher_ctx_enable_use_bits
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_uint
    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:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 926
    functionDepth: 7
    functionLinenumber: 926
    functionLinenumberEnd: 933
    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:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 935
    functionDepth: 7
    functionLinenumber: 935
    functionLinenumberEnd: 942
    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: 947
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 947
    functionName: EVP_CIPHER_CTX_test_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    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:955,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:956,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/evp_lib.c:964,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 967
    functionName: EVP_PKEY_CTX_set_group_name
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_set_params
    - 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:974,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:976,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/evp_lib.c:984,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:986,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: 989
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 989
    functionName: EVP_PKEY_CTX_get_group_name
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_get_params
    - 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:1005,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/evp/evp_lib.c:1008,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1009,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/evp/evp_lib.c:1010,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1012,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: 1014
      start: 1001
    functionDepth: 7
    functionLinenumber: 1001
    functionLinenumberEnd: 1014
    functionName: evp_pkey_keygen
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/evp/evp_lib.c:1025,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/evp_lib.c:1027,1
    - Dst: va_arg
      Src: /src/openssl/crypto/evp/evp_lib.c:1028,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:1029,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/evp_lib.c:1030,1
    - Dst: va_arg
      Src: /src/openssl/crypto/evp/evp_lib.c:1031,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1033,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1036,1
    - Dst: evp_pkey_keygen
      Src: /src/openssl/crypto/evp/evp_lib.c:1040,1
    - Dst: va_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - libctx
    - propq
    - type
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1016
    functionDepth: 8
    functionLinenumber: 1016
    functionLinenumberEnd: 1045
    functionName: EVP_PKEY_Q_keygen
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - evp_pkey_keygen
    - ERR_raise
    - va_arg
    - va_start
    - OPENSSL_strcasecmp
    - va_end
    - OSSL_PARAM_construct_size_t
    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:1054,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1063,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1064,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1065,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1066,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_CIPHER_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1048
    functionDepth: 6
    functionLinenumber: 1048
    functionLinenumberEnd: 1070
    functionName: EVP_CIPHER_CTX_set_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_octet_string
    - 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:1091,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1092,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1093,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1095,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1099,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1101,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1117,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1120,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1121,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1122,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/crypto/evp/evp_lib.c:1123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_CIPHER_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1137
    functionName: EVP_CIPHER_CTX_get_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - d2i_ASN1_TYPE
    - OSSL_PARAM_modified
    - EVP_CIPHER_CTX_get_params
    - 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:1146,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1147,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1149,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1155,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1163,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1164,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1166,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1167,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/evp/evp_lib.c:1168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_CIPHER_CTX*
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1175
    functionName: EVP_CIPHER_CTX_get_algor
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - d2i_X509_ALGOR
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_modified
    - EVP_CIPHER_CTX_get_params
    - 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:1183,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1191,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1192,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1197
    functionName: EVP_PKEY_CTX_set_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    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:1215,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1216,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1218,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1231,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1235,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1238,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1239,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1240,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/crypto/evp/evp_lib.c:1241,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1255
    functionName: EVP_PKEY_CTX_get_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_end
    - d2i_ASN1_TYPE
    - OSSL_PARAM_modified
    - 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:1264,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1265,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1267,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1273,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1281,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1282,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1284,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1285,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/evp/evp_lib.c:1286,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1257
    functionDepth: 3
    functionLinenumber: 1257
    functionLinenumberEnd: 1293
    functionName: EVP_PKEY_CTX_get_algor
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - d2i_X509_ALGOR
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - ERR_raise
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_modified
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_algor(EVP_PKEY_CTX *ctx, X509_ALGOR **alg)
  - 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:101,1
    - Dst: EVP_KEM_fetch
      Src: /src/openssl/crypto/evp/kem.c:106,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:108,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:111,1
    - Dst: evp_kem_fetch_from_prov
      Src: /src/openssl/crypto/evp/kem.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:116,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/kem.c:134,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/kem.c:135,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/kem.c:138,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/kem.c:141,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:146,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:152,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:157,1
    - Dst: EVP_KEM*::newctx
      Src: /src/openssl/crypto/evp/kem.c:162,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kem.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:165,1
    - Dst: EVP_KEM*::auth_encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:172,1
    - Dst: EVP_KEM*::encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:177,1
    - Dst: EVP_KEM*::auth_decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:184,1
    - Dst: EVP_KEM*::decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:195,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:199,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/kem.c:206,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:209,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 123
    argCount: 4
    argNames:
    - ctx
    - operation
    - params
    - authkey
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM[]
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 30
    functionDepth: 10
    functionLinenumber: 30
    functionLinenumberEnd: 211
    functionName: evp_kem_init
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_util_query_operation_name
    - evp_kem_fetch_from_prov
    - ossl_provider_ctx
    - ERR_raise
    - EVP_KEM_free
    - EVP_KEYMGMT_free
    - EVP_KEM*::encapsulate_init
    - EVP_KEM*::auth_decapsulate_init
    - evp_pkey_ctx_free_old_ops
    - EVP_KEM*::auth_encapsulate_init
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_KEM_get0_provider
    - ossl_assert
    - EVP_KEM*::newctx
    - evp_pkey_export_to_provider
    - EVP_KEYMGMT_get0_name
    - EVP_KEM_fetch
    - EVP_KEM*::decapsulate_init
    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:218,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: 219
      start: 213
    functionDepth: 11
    functionLinenumber: 213
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 11
    functionLinenumber: 221
    functionLinenumberEnd: 224
    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:234,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:239,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::encapsulate
      Src: /src/openssl/crypto/evp/kem.c:246,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: 248
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 248
    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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 11
    functionLinenumber: 250
    functionLinenumberEnd: 253
    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:260,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: 261
      start: 255
    functionDepth: 11
    functionLinenumber: 255
    functionLinenumberEnd: 261
    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:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:278,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::decapsulate
      Src: /src/openssl/crypto/evp/kem.c:281,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: 283
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 283
    functionName: EVP_PKEY_decapsulate
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX*::op::encap::kem::decapsulate
    - ERR_raise
    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:287,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/kem.c:292,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/kem.c:293,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/kem.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kem.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: evp_kem_new
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - ossl_provider_up_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:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:312,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/kem.c:317,1
    - Dst: OSSL_FUNC_kem_newctx
      Src: /src/openssl/crypto/evp/kem.c:326,1
    - Dst: OSSL_FUNC_kem_encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:332,1
    - Dst: OSSL_FUNC_kem_auth_encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:338,1
    - Dst: OSSL_FUNC_kem_encapsulate
      Src: /src/openssl/crypto/evp/kem.c:344,1
    - Dst: OSSL_FUNC_kem_decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:350,1
    - Dst: OSSL_FUNC_kem_auth_decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:356,1
    - Dst: OSSL_FUNC_kem_decapsulate
      Src: /src/openssl/crypto/evp/kem.c:362,1
    - Dst: OSSL_FUNC_kem_freectx
      Src: /src/openssl/crypto/evp/kem.c:368,1
    - Dst: OSSL_FUNC_kem_dupctx
      Src: /src/openssl/crypto/evp/kem.c:374,1
    - Dst: OSSL_FUNC_kem_get_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:380,1
    - Dst: OSSL_FUNC_kem_gettable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:387,1
    - Dst: OSSL_FUNC_kem_set_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:394,1
    - Dst: OSSL_FUNC_kem_settable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:423,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:429,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: 431
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 431
    functionName: evp_kem_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_kem_auth_encapsulate_init
    - OSSL_FUNC_kem_set_ctx_params
    - OSSL_FUNC_kem_decapsulate
    - OSSL_FUNC_kem_dupctx
    - OSSL_FUNC_kem_encapsulate_init
    - ERR_raise
    - EVP_KEM_free
    - OSSL_FUNC_kem_settable_ctx_params
    - OSSL_FUNC_kem_decapsulate_init
    - OSSL_FUNC_kem_auth_decapsulate_init
    - OSSL_FUNC_kem_gettable_ctx_params
    - evp_kem_new
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_kem_encapsulate
    - OSSL_FUNC_kem_freectx
    - OSSL_FUNC_kem_newctx
    - OSSL_FUNC_kem_get_ctx_params
    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:440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kem.c:443,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/kem.c:444,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/kem.c:445,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kem.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 447
    functionName: EVP_KEM_free
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 5
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - ossl_provider_free
    - 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:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 455
    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: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 9
    functionLinenumber: 462
    functionLinenumberEnd: 469
    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:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 9
    functionLinenumber: 471
    functionLinenumberEnd: 478
    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:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - kem
    - name
    argTypes:
    - EVP_KEM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 8
    functionLinenumber: 480
    functionLinenumberEnd: 483
    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: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    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: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    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: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    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:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 500
    functionDepth: 9
    functionLinenumber: 500
    functionLinenumberEnd: 512
    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:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - data
    argTypes:
    - EVP_KEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 8
    functionLinenumber: 514
    functionLinenumberEnd: 522
    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:531,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:531,1
    - Dst: EVP_KEM*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 533
    functionName: EVP_KEM_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEM_get0_provider
    - EVP_KEM*::gettable_ctx_params
    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:542,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:542,1
    - Dst: EVP_KEM*::settable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 544
    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:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - nid
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - obj
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    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:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    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:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - si
    - attr
    argTypes:
    - CMS_SignerInfo*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    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:93,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: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    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:101,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: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    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:110,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: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    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:120,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: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    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:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    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:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - nid
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    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:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - obj
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 138
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    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:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - si
    - attr
    argTypes:
    - CMS_SignerInfo*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    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:161,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: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    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:170,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: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    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:179,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: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    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:188,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: 189
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 189
    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:204,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/cms/cms_att.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - nid
    - attrs
    - lastpos
    argTypes:
    - int
    - STACK_OF*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: cms_attrib_get
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_NID
    - X509at_get_attr
    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:218,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/cms/cms_att.c:221,1
    - Dst: cms_attrib_get
      Src: /src/openssl/crypto/cms/cms_att.c:227,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: 242
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 242
    functionName: cms_check_attribute
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - cms_attrib_get
    - X509_ATTRIBUTE_count
    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:257,1
    - Dst: CMS_unsigned_get_attr_count
      Src: /src/openssl/crypto/cms/cms_att.c:258,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/cms/cms_att.c:260,1
    - Dst: cms_check_attribute
      Src: /src/openssl/crypto/cms/cms_att.c:264,1
    - Dst: cms_check_attribute
      Src: /src/openssl/crypto/cms/cms_att.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_att.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 273
    functionName: ossl_cms_si_check_attributes
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - CMS_signed_get_attr_count
    - ERR_raise
    - CMS_unsigned_get_attr_count
    - cms_check_attribute
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_cms_si_check_attributes(const CMS_SignerInfo *si)
  - BBCount: 36
    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: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:93,1
    - Dst: evp_cipher_asn1_to_param_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:99,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_enc.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:104,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:112,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_enc.c:117,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_enc.c:124,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/cms/cms_enc.c:127,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_enc.c:138,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: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:174,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_enc.c:178,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/crypto/cms/cms_enc.c:180,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_enc.c:182,1
    - Dst: evp_cipher_param_to_asn1_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:189,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_enc.c:190,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_enc.c:196,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_enc.c:203,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_enc.c:205,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_enc.c:208,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_enc.c:211,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 158
    argCount: 3
    argNames:
    - ec
    - cms_ctx
    - auth
    argTypes:
    - CMS_EncryptedContentInfo*
    - CMS_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 25
    functionDepth: 7
    functionLinenumber: 25
    functionLinenumberEnd: 213
    functionName: ossl_cms_EncryptedContent_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_enc.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - evp_cipher_param_to_asn1_ex
    - RAND_bytes_ex
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_CTX_rand_key
    - memcpy
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherInit_ex
    - ERR_clear_error
    - ERR_pop_to_mark
    - OBJ_nid2obj
    - EVP_CIPHER_get0_name
    - EVP_CIPHER_CTX_get_tag_length
    - BIO_new
    - ASN1_TYPE_free
    - ERR_raise
    - EVP_CIPHER_CTX_set_key_length
    - EVP_get_cipherbyobj
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_get_type
    - OPENSSL_clear_free
    - BIO_free
    - ASN1_TYPE_new
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - BIO_get_cipher_ctx
    - ERR_set_mark
    - evp_cipher_asn1_to_param_ex
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX_ctrl
    - BIO_f_cipher
    linkageType: ''
    returnType: BIO
    signature: "BIO *ossl_cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec,\n
      \   const CMS_CTX *cms_ctx, int auth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_enc.c:222,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_enc.c:224,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_enc.c:228,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: 230
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 230
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:238,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_enc.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:243,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_enc.c:247,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_enc.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:252,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_enc.c:255,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_enc.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:258,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/openssl/crypto/cms/cms_enc.c:262,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_enc.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - cms
    - ciph
    - key
    - keylen
    argTypes:
    - CMS_ContentInfo*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 264
    functionName: CMS_EncryptedData_set1_key
    functionSourceFile: /src/openssl/crypto/cms/cms_enc.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - OBJ_nid2obj
    - EVP_CIPHER_get_flags
    - ERR_raise
    - OBJ_obj2nid
    - ossl_cms_get0_cmsctx
    - M_ASN1_new_of
    - ossl_cms_EncryptedContent_init
    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:272,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_enc.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 8
    functionLinenumber: 266
    functionLinenumberEnd: 274
    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:184,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/cms/cms_err.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    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:161,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:166,1
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:171,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/openssl/crypto/cms/cms_pwri.c:177,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/openssl/crypto/cms/cms_pwri.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:181,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:188,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_pwri.c:190,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:191,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: 193
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 193
    functionName: CMS_add0_recipient_password
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - PKCS5_pbkdf2_set_ex
    - RAND_bytes_ex
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_env_enc_content
    - M_ASN1_new_of
    - EVP_CIPHER_CTX_get_iv_length
    - OBJ_nid2obj
    - ERR_raise
    - CMS_RecipientInfo_set0_password
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - EVP_CIPHER_CTX_free
    - X509_ALGOR_free
    - CMS_get0_RecipientInfos
    - EVP_CIPHER_CTX_get_type
    - ASN1_item_pack
    - ASN1_TYPE_new
    - EVP_CIPHER_get_flags
    - ASN1_ITEM_rptr
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - X509_ALGOR_new
    - sk_CMS_RecipientInfo_push
    - EVP_CIPHER_param_to_asn1
    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:204,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_pwri.c:219,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:222,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:229,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:232,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:235,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:237,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_pwri.c:249,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:252,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: 254
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 254
    functionName: kek_unwrap_key
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_CIPHER_CTX_get_block_size
    - EVP_DecryptInit_ex
    - memcpy
    - OPENSSL_malloc
    - EVP_DecryptUpdate
    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:260,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_pwri.c:287,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:290,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:290,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:295,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:296,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: 303
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 303
    functionName: kek_wrap_key
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - RAND_bytes_ex
    - ossl_cms_ctx_get0_libctx
    - memcpy
    - EVP_EncryptUpdate
    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:319,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_pwri.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:326,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_pwri.c:331,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:332,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/cms/cms_pwri.c:336,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_pwri.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:340,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_pwri.c:344,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_pwri.c:345,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:345,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_pwri.c:346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:349,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:355,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:359,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/cms/cms_pwri.c:361,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_pwri.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:363,1
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:375,1
    - Dst: kek_wrap_key
      Src: /src/openssl/crypto/cms/cms_pwri.c:383,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_pwri.c:386,1
    - Dst: kek_wrap_key
      Src: /src/openssl/crypto/cms/cms_pwri.c:391,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_pwri.c:396,1
    - Dst: kek_unwrap_key
      Src: /src/openssl/crypto/cms/cms_pwri.c:399,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:402,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:406,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:414,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:415,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:418,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:419,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: 422
      start: 307
    functionDepth: 7
    functionLinenumber: 307
    functionLinenumberEnd: 422
    functionName: ossl_cms_RecipientInfo_pwri_crypt
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_env_enc_content
    - OBJ_obj2txt
    - EVP_CipherInit_ex
    - EVP_PBE_CipherInit_ex
    - OPENSSL_free
    - EVP_CIPHER_asn1_to_param
    - ERR_raise
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_CTX_free
    - X509_ALGOR_free
    - kek_wrap_key
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - ASN1_TYPE_unpack_sequence
    - OBJ_obj2nid
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ASN1_ITEM_rptr
    - kek_unwrap_key
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - ossl_cms_ctx_get0_propq
    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_new_for_pkey
    - EVP_PKEY_CTX_set_group_name
    - ERR_raise
    - OSSL_DECODER_from_data
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - OBJ_obj2txt
    - EVP_PKEY_paramgen
    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_CTX_get0_pkey
    - EVP_PKEY_CTX_get0_propq
    - EVP_PKEY_derive_set_peer
    - pkey_type2param
    - EVP_PKEY_copy_parameters
    - OBJ_obj2nid
    - ASN1_STRING_length
    - EVP_PKEY_set1_encoded_public_key
    - X509_ALGOR_get0
    - EVP_PKEY_free
    - ASN1_STRING_get0_data
    - EVP_PKEY_new
    - EVP_PKEY_CTX_get0_libctx
    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_md
    - EVP_get_digestbynid
    - EVP_PKEY_CTX_set_ecdh_cofactor_mode
    - OBJ_find_sigid_algs
    - EVP_PKEY_CTX_set_ecdh_kdf_type
    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:175,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_ec.c:178,1
    - Dst: ecdh_cms_set_kdf_param
      Src: /src/openssl/crypto/cms/cms_ec.c:180,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_ec.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:181,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_ec.c:188,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_ec.c:189,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_ec.c:190,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_ec.c:193,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_ec.c:196,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_ec.c:197,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/cms/cms_ec.c:198,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_ec.c:200,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_ec.c:202,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_ec.c:205,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_ec.c:206,1
    - Dst: CMS_SharedInfo_encode
      Src: /src/openssl/crypto/cms/cms_ec.c:209,1
    - Dst: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_ec.c:214,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_ec.c:220,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_ec.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_ec.c:222,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - pctx
    - ri
    argTypes:
    - EVP_PKEY_CTX*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 224
    functionName: ecdh_cms_set_shared_info
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_ecdh_kdf_outlen
    - EVP_CIPHER_get_mode
    - OBJ_obj2txt
    - EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    - OPENSSL_free
    - EVP_CIPHER_asn1_to_param
    - ERR_raise
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - CMS_SharedInfo_encode
    - X509_ALGOR_free
    - OBJ_obj2nid
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - X509_ALGOR_get0
    - EVP_EncryptInit_ex
    - d2i_X509_ALGOR
    - CMS_RecipientInfo_kari_get0_ctx
    - EVP_CIPHER_CTX_get_key_length
    - ecdh_cms_set_kdf_param
    - CMS_RecipientInfo_kari_get0_alg
    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:230,1
    - Dst: EVP_PKEY_CTX_get0_peerkey
      Src: /src/openssl/crypto/cms/cms_ec.c:234,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_ec.c:238,1
    - Dst: ecdh_cms_set_peerkey
      Src: /src/openssl/crypto/cms/cms_ec.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:244,1
    - Dst: ecdh_cms_set_shared_info
      Src: /src/openssl/crypto/cms/cms_ec.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 11
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: ecdh_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get0_peerkey
    - ecdh_cms_set_shared_info
    - ERR_raise
    - CMS_RecipientInfo_kari_get0_orig_id
    - CMS_RecipientInfo_get0_pkey_ctx
    - ecdh_cms_set_peerkey
    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:273,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_ec.c:277,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_ec.c:278,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_ec.c:281,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:283,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/crypto/cms/cms_ec.c:287,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:290,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/cms/cms_ec.c:291,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:294,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:294,1
    - Dst: EVP_PKEY_CTX_get_ecdh_kdf_type
      Src: /src/openssl/crypto/cms/cms_ec.c:299,1
    - Dst: EVP_PKEY_CTX_get_ecdh_kdf_md
      Src: /src/openssl/crypto/cms/cms_ec.c:302,1
    - Dst: EVP_PKEY_CTX_get_ecdh_cofactor_mode
      Src: /src/openssl/crypto/cms/cms_ec.c:304,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_type
      Src: /src/openssl/crypto/cms/cms_ec.c:314,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_ec.c:321,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/openssl/crypto/cms/cms_ec.c:322,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/openssl/crypto/cms/cms_ec.c:326,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/cms/cms_ec.c:331,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cms/cms_ec.c:331,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_ec.c:334,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_ec.c:335,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_ec.c:336,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_ec.c:340,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:343,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_ec.c:344,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/cms/cms_ec.c:347,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/cms/cms_ec.c:349,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_ec.c:350,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_ec.c:354,1
    - Dst: CMS_SharedInfo_encode
      Src: /src/openssl/crypto/cms/cms_ec.c:357,1
    - Dst: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_ec.c:362,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_ec.c:370,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cms/cms_ec.c:373,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:376,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:378,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:378,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_ec.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_ec.c:383,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_ec.c:384,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 102
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 256
    functionDepth: 10
    functionLinenumber: 256
    functionLinenumberEnd: 386
    functionName: ecdh_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_ecdh_kdf_outlen
    - EVP_MD_get_type
    - EVP_PKEY_CTX_get_ecdh_kdf_type
    - EVP_sha1
    - EVP_PKEY_CTX_get_ecdh_kdf_md
    - CMS_RecipientInfo_kari_get0_orig_id
    - EVP_PKEY_CTX_set_ecdh_kdf_type
    - OBJ_nid2obj
    - ASN1_STRING_set0
    - EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    - ASN1_TYPE_free
    - ossl_asn1_bit_string_set_unused_bits
    - ASN1_STRING_free
    - i2d_X509_ALGOR
    - OPENSSL_free
    - CMS_RecipientInfo_get0_pkey_ctx
    - CMS_SharedInfo_encode
    - X509_ALGOR_free
    - ASN1_TYPE_get
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_CTX_get0_pkey
    - EVP_CIPHER_CTX_get_type
    - ASN1_TYPE_new
    - X509_ALGOR_set0
    - X509_ALGOR_get0
    - EVP_PKEY_CTX_get_ecdh_cofactor_mode
    - CMS_RecipientInfo_kari_get0_ctx
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    - OBJ_find_sigid_by_algs
    - EVP_CIPHER_CTX_get_key_length
    - X509_ALGOR_new
    - ASN1_STRING_new
    - EVP_CIPHER_param_to_asn1
    - CMS_RecipientInfo_kari_get0_alg
    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:390,1
    - Dst: ecdh_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_ec.c:393,1
    - Dst: ecdh_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_ec.c:396,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:398,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: 389
        line_start: 389
        source_file: /src/openssl/crypto/cms/cms_ec.c
    constantsTouched: []
    func_position:
      end: 400
      start: 388
    functionDepth: 12
    functionLinenumber: 388
    functionLinenumberEnd: 400
    functionName: ossl_cms_ecdh_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ecdh_cms_encrypt
    - assert
    - ecdh_cms_decrypt
    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:35,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/cms/cms_lib.c:37,1
    - Dst: CMS_ContentInfo_it
      Src: /src/openssl/crypto/cms/cms_lib.c:38,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:39,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_lib.c:40,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:42,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:43,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - CMS_ContentInfo**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: d2i_CMS_ContentInfo
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ASN1_item_d2i_ex
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - CMS_ContentInfo_it
    - ossl_cms_get0_cmsctx
    - ERR_set_mark
    - ossl_cms_resolve_libctx
    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:51,1
    - Dst: CMS_ContentInfo_it
      Src: /src/openssl/crypto/cms/cms_lib.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - CMS_ContentInfo*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: i2d_CMS_ContentInfo
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - CMS_ContentInfo_it
    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:58,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_lib.c:58,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/cms/cms_lib.c:64,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_lib.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: CMS_ContentInfo_new_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - CMS_ContentInfo_free
    - ASN1_ITEM_rptr
    - ASN1_item_new_ex
    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: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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:93,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:94,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:95,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_lib.c:96,1
    - Dst: ossl_cms_SignerInfos_set_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:98,1
    - Dst: ossl_cms_RecipientInfos_set_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:99,1
    - Dst: cms_get0_certificate_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:101,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_lib.c:103,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_lib.c:104,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ci
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: ossl_cms_resolve_libctx
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - ossl_x509_set0_libctx
    - ossl_cms_RecipientInfos_set_cmsctx
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - ossl_cms_SignerInfos_set_cmsctx
    - cms_get0_certificate_choices
    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: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    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:118,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_lib.c:121,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_lib.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: ossl_cms_Data_create
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_ContentInfo_new_ex
    - OBJ_nid2obj
    - CMS_set_detached
    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:130,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_lib.c:136,1
    - Dst: BIO_s_null
      Src: /src/openssl/crypto/cms/cms_lib.c:136,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_lib.c:141,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cms/cms_lib.c:141,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/cms/cms_lib.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: ossl_cms_content_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - BIO_s_null
    - CMS_get0_content
    - BIO_new
    - BIO_new_mem_buf
    - BIO_s_mem
    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:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:154,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:157,1
    - Dst: ossl_cms_SignedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:163,1
    - Dst: ossl_cms_DigestedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:167,1
    - Dst: ossl_cms_CompressedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:171,1
    - Dst: ossl_cms_EncryptedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:176,1
    - Dst: ossl_cms_EnvelopedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:180,1
    - Dst: ossl_cms_AuthEnvelopedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:188,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/cms/cms_lib.c:193,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_lib.c:196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - cms
    - icont
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 146
    functionDepth: 9
    functionLinenumber: 146
    functionLinenumberEnd: 198
    functionName: CMS_dataInit
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ossl_cms_CompressedData_init_bio
    - BIO_free
    - ossl_cms_SignedData_init_bio
    - ERR_raise
    - ossl_cms_DigestedData_init_bio
    - ossl_cms_content_bio
    - OBJ_obj2nid
    - ossl_cms_EnvelopedData_init_bio
    - ossl_cms_EncryptedData_init_bio
    - BIO_push
    - ossl_cms_AuthEnvelopedData_init_bio
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_DataFinal
      Src: /src/openssl/crypto/cms/cms_lib.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - cmsbio
    - data
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: CMS_dataFinal_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ossl_cms_DataFinal
    linkageType: ''
    returnType: int
    signature: int CMS_dataFinal_ex(CMS_ContentInfo *cms, BIO *cmsbio, BIO *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_lib.c:215,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/cms/cms_lib.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:226,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/cms/cms_lib.c:229,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/cms/cms_lib.c:231,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/cms/cms_lib.c:232,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_lib.c:233,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:237,1
    - Dst: ossl_cms_EnvelopedData_final
      Src: /src/openssl/crypto/cms/cms_lib.c:246,1
    - Dst: ossl_cms_AuthEnvelopedData_final
      Src: /src/openssl/crypto/cms/cms_lib.c:249,1
    - Dst: ossl_cms_SignedData_final
      Src: /src/openssl/crypto/cms/cms_lib.c:252,1
    - Dst: ossl_cms_DigestedData_do_final
      Src: /src/openssl/crypto/cms/cms_lib.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - cms
    - cmsbio
    - data
    - precomp_md
    - precomp_mdlen
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 262
    functionName: ossl_cms_DataFinal
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 2
    functionsReached:
    - ossl_cms_DigestedData_do_final
    - BIO_set_flags
    - CMS_get0_content
    - ASN1_STRING_set0
    - ossl_cms_SignedData_final
    - ossl_cms_AuthEnvelopedData_final
    - ERR_raise
    - BIO_get_mem_data
    - OBJ_obj2nid
    - ossl_cms_EnvelopedData_final
    - BIO_find_type
    - BIO_set_mem_eof_return
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_DataFinal(CMS_ContentInfo *cms, BIO *cmsbio, BIO *data,\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:271,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 304
    functionName: CMS_get0_content
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 2
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    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:313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: cms_get0_econtent_type
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    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:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 349
    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:355,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/cms/cms_lib.c:360,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_lib.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cms
    - oid
    argTypes:
    - CMS_ContentInfo*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 366
    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:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 378
    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:384,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_lib.c:388,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_lib.c:393,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cms
    - detached
    argTypes:
    - CMS_ContentInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 403
    functionName: CMS_set_detached
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - CMS_get0_content
    linkageType: ''
    returnType: int
    signature: int CMS_set_detached(CMS_ContentInfo *cms, int detached)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_lib.c:416,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_lib.c:417,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cms/cms_lib.c:419,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:419,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_lib.c:420,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:423,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_lib.c:427,1
    - Dst: BIO_f_md
      Src: /src/openssl/crypto/cms/cms_lib.c:427,1
    - Dst: BIO_set_md
      Src: /src/openssl/crypto/cms/cms_lib.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:429,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/cms/cms_lib.c:432,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_lib.c:433,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_lib.c:435,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/cms/cms_lib.c:441,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/cms/cms_lib.c:443,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_lib.c:445,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/crypto/cms/cms_lib.c:446,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_lib.c:450,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_lib.c:453,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_lib.c:454,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - digestAlgorithm
    - ctx
    argTypes:
    - X509_ALGOR*
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 407
    functionDepth: 10
    functionLinenumber: 407
    functionLinenumberEnd: 456
    functionName: ossl_cms_DigestAlgorithm_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - BIO_f_md
    - BIO_new
    - BIO_free
    - EVP_MD_is_a
    - ossl_cms_ctx_get0_propq
    - ERR_raise
    - EVP_MD_fetch
    - EVP_MD_xof
    - OSSL_PARAM_construct_end
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_free
    - X509_ALGOR_get0
    - BIO_get_md_ctx
    - BIO_set_md
    - EVP_MD_CTX_set_params
    - OBJ_obj2txt
    - OSSL_PARAM_construct_size_t
    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:465,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:466,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/cms/cms_lib.c:470,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:472,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/cms/cms_lib.c:475,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_lib.c:476,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:476,1
    - Dst: EVP_MD_CTX_get0_name
      Src: /src/openssl/crypto/cms/cms_lib.c:476,1
    - Dst: EVP_MD_get_pkey_type
      Src: /src/openssl/crypto/cms/cms_lib.c:481,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/cms/cms_lib.c:481,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/cms/cms_lib.c:482,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/cms/cms_lib.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - mctx
    - chain
    - mdalg
    argTypes:
    - EVP_MD_CTX*
    - BIO*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 460
    functionDepth: 8
    functionLinenumber: 460
    functionLinenumberEnd: 485
    functionName: ossl_cms_DigestAlgorithm_find_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_name
    - OBJ_sn2nid
    - EVP_MD_CTX_get0_md
    - ERR_raise
    - EVP_MD_CTX_copy_ex
    - OBJ_obj2nid
    - BIO_get_md_ctx
    - X509_ALGOR_get0
    - EVP_MD_CTX_get_type
    - BIO_next
    - BIO_find_type
    - EVP_MD_get_pkey_type
    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:491,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 510
    functionName: cms_get0_certificate_choices
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF **\n    cms_get0_certificate_choices(CMS_ContentInfo *cms)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_lib.c:514,1
    - Dst: cms_get0_certificate_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:517,1
    - Dst: sk_CMS_CertificateChoices_new_null
      Src: /src/openssl/crypto/cms/cms_lib.c:521,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_lib.c:524,1
    - Dst: sk_CMS_CertificateChoices_push
      Src: /src/openssl/crypto/cms/cms_lib.c:527,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 532
    functionName: CMS_add0_CertificateChoices
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - sk_CMS_CertificateChoices_push
    - sk_CMS_CertificateChoices_new_null
    - M_ASN1_new_of
    - STACK_OF
    - cms_get0_certificate_choices
    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:537,1
    - Dst: cms_get0_certificate_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:540,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_lib.c:543,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_lib.c:544,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:546,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_lib.c:547,1
    - Dst: CMS_add0_CertificateChoices
      Src: /src/openssl/crypto/cms/cms_lib.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - CMS_ContentInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 558
    functionName: CMS_add0_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_add0_CertificateChoices
    - X509_free
    - X509_cmp
    - STACK_OF
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - cms_get0_certificate_choices
    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:562,1
    - Dst: CMS_add0_cert
      Src: /src/openssl/crypto/cms/cms_lib.c:564,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_lib.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - CMS_ContentInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 568
    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:574,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 593
    functionName: cms_get0_revocation_choices
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF **\n    cms_get0_revocation_choices(CMS_ContentInfo *cms)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_lib.c:597,1
    - Dst: cms_get0_revocation_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:600,1
    - Dst: sk_CMS_RevocationInfoChoice_new_null
      Src: /src/openssl/crypto/cms/cms_lib.c:604,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_lib.c:607,1
    - Dst: sk_CMS_RevocationInfoChoice_push
      Src: /src/openssl/crypto/cms/cms_lib.c:610,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: CMS_add0_RevocationInfoChoice
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - sk_CMS_RevocationInfoChoice_new_null
    - M_ASN1_new_of
    - STACK_OF
    - cms_get0_revocation_choices
    - sk_CMS_RevocationInfoChoice_push
    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:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cms
    - crl
    argTypes:
    - CMS_ContentInfo*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 626
    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:630,1
    - Dst: CMS_add0_crl
      Src: /src/openssl/crypto/cms/cms_lib.c:632,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/cms/cms_lib.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - crl
    argTypes:
    - CMS_ContentInfo*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: CMS_add1_crl
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - X509_CRL_free
    - X509_CRL_up_ref
    - CMS_add0_crl
    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:732,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cms/cms_lib.c:732,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:735,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cms/cms_lib.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ias
    - cert
    argTypes:
    - CMS_IssuerAndSerialNumber*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: ossl_cms_ias_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - X509_get_issuer_name
    - X509_NAME_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:740,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keyid
    - cert
    argTypes:
    - ASN1_OCTET_STRING*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: ossl_cms_keyid_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - X509_get0_subject_key_id
    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:750,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:752,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/cms/cms_lib.c:755,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cms/cms_lib.c:755,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:756,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/cms/cms_lib.c:759,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cms/cms_lib.c:759,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:760,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:763,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:767,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pias
    - cert
    argTypes:
    - CMS_IssuerAndSerialNumber**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 769
    functionName: ossl_cms_set1_ias
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - X509_get0_serialNumber
    - ERR_raise
    - X509_NAME_set
    - ASN1_STRING_copy
    - M_ASN1_new_of
    - X509_get_issuer_name
    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:775,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:777,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/cms/cms_lib.c:780,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:782,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_lib.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pkeyid
    - cert
    argTypes:
    - ASN1_OCTET_STRING**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 788
    functionName: ossl_cms_set1_keyid
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_dup
    - ERR_raise
    - X509_get0_subject_key_id
    - 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:
    - OBJ_obj2nid
    - ERR_raise
    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:
    - OBJ_obj2nid
    - ERR_raise
    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:88,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_env.c:89,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:90,1
    - Dst: ossl_cms_get0_enveloped
      Src: /src/openssl/crypto/cms/cms_env.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: cms_enveloped_data_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ERR_raise
    - M_ASN1_new_of
    - ossl_cms_get0_enveloped
    - 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:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:102,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:107,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_env.c:108,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:109,1
    - Dst: ossl_cms_get0_auth_enveloped
      Src: /src/openssl/crypto/cms/cms_env.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: cms_auth_enveloped_data_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ERR_raise
    - M_ASN1_new_of
    - ASN1_OBJECT_free
    - ossl_cms_get0_auth_enveloped
    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:129,1
    - Dst: ossl_cms_kem_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:135,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:140,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:140,1
    - Dst: ossl_cms_dh_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:141,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:142,1
    - Dst: ossl_cms_ecdh_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_rsa_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:145,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - ri
    - cmd
    argTypes:
    - CMS_RecipientInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 115
    functionDepth: 13
    functionLinenumber: 115
    functionLinenumberEnd: 160
    functionName: ossl_cms_env_asn1_ctrl
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_rsa_envelope
    - ossl_cms_kem_envelope
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY*::ameth::pkey_ctrl
    - ERR_raise
    - ossl_cms_dh_envelope
    - ossl_cms_ecdh_envelope
    - EVP_PKEY_is_a
    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:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 176
    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:196,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_env.c:197,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_env.c:197,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_env.c:199,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_env.c:200,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:208,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:209,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: ossl_cms_RecipientInfos_set_cmsctx
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - CMS_get0_RecipientInfos
    - ossl_x509_set0_libctx
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - sk_CMS_RecipientInfo_num
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - 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: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    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: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    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:251,1
    - Dst: cms_enveloped_data_init
      Src: /src/openssl/crypto/cms/cms_env.c:254,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/openssl/crypto/cms/cms_env.c:258,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:259,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_env.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:264,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: 266
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: CMS_EnvelopedData_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - CMS_ContentInfo_new_ex
    - ERR_raise
    - cms_enveloped_data_init
    - ossl_cms_get0_cmsctx
    - CMS_ContentInfo_free
    - ossl_cms_EncryptedContent_init
    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:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 271
    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:283,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_env.c:287,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_env.c:288,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cms/cms_env.c:288,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:290,1
    - Dst: CMS_decrypt_set1_password
      Src: /src/openssl/crypto/cms/cms_env.c:293,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_env.c:293,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_env.c:294,1
    - Dst: CMS_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:297,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_env.c:305,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:307,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: 311
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 311
    functionName: CMS_EnvelopedData_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - BIO_new
    - CMS_ContentInfo_new_ex
    - BIO_free
    - CMS_decrypt
    - ERR_raise
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - CMS_decrypt_set1_password
    - CMS_ContentInfo_free
    - BIO_s_mem
    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:320,1
    - Dst: cms_auth_enveloped_data_init
      Src: /src/openssl/crypto/cms/cms_env.c:323,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/openssl/crypto/cms/cms_env.c:326,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:328,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_env.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:333,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: 335
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: CMS_AuthEnvelopedData_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - CMS_ContentInfo_new_ex
    - ERR_raise
    - cms_auth_enveloped_data_init
    - ossl_cms_get0_cmsctx
    - CMS_ContentInfo_free
    - ossl_cms_EncryptedContent_init
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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:353,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/openssl/crypto/cms/cms_env.c:374,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cms/cms_env.c:377,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_env.c:379,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_env.c:380,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:388,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:388,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:390,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:393,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:395,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: 398
      start: 346
    functionDepth: 14
    functionLinenumber: 346
    functionLinenumberEnd: 398
    functionName: cms_RecipientInfo_ktri_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - X509_up_ref
    - X509_free
    - EVP_PKEY_up_ref
    - ossl_cms_ctx_get0_propq
    - ossl_cms_env_asn1_ctrl
    - ossl_cms_ctx_get0_libctx
    - M_ASN1_new_of
    - EVP_PKEY_encrypt_init
    - ossl_cms_set1_SignerIdentifier
    - EVP_PKEY_CTX_new_from_pkey
    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:409,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:411,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_env.c:413,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:420,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cms/cms_env.c:424,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:426,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/openssl/crypto/cms/cms_env.c:430,1
    - Dst: cms_RecipientInfo_ktri_init
      Src: /src/openssl/crypto/cms/cms_env.c:433,1
    - Dst: ossl_cms_RecipientInfo_kari_init
      Src: /src/openssl/crypto/cms/cms_env.c:438,1
    - Dst: ossl_cms_RecipientInfo_kemri_init
      Src: /src/openssl/crypto/cms/cms_env.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:449,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/openssl/crypto/cms/cms_env.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:454,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_env.c:461,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: 463
      start: 404
    functionDepth: 15
    functionLinenumber: 404
    functionLinenumberEnd: 463
    functionName: CMS_add1_recipient
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_pkey_get_ri_type
    - M_ASN1_free_of
    - CMS_get0_RecipientInfos
    - ERR_raise
    - sk_CMS_RecipientInfo_push
    - cms_RecipientInfo_ktri_init
    - ossl_cms_RecipientInfo_kemri_init
    - ossl_cms_get0_cmsctx
    - M_ASN1_new_of
    - STACK_OF
    - X509_get0_pubkey
    - ossl_cms_RecipientInfo_kari_init
    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:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - recip
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 16
    functionLinenumber: 465
    functionLinenumberEnd: 469
    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:477,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: 490
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 490
    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:499,1
    - Dst: ossl_cms_SignerIdentifier_get0_signer_id
      Src: /src/openssl/crypto/cms/cms_env.c:504,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: 506
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 506
    functionName: CMS_RecipientInfo_ktri_get0_signer_id
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_SignerIdentifier_get0_signer_id
    - ERR_raise
    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:511,1
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/openssl/crypto/cms/cms_env.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: CMS_RecipientInfo_ktri_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_SignerIdentifier_cert_cmp
    - ERR_raise
    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:520,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_env.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ri
    - pkey
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 526
    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:538,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:543,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:547,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:552,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:555,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:555,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:557,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:561,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:565,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:568,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:572,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_env.c:575,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:581,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:583,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 530
    functionDepth: 14
    functionLinenumber: 530
    functionLinenumberEnd: 585
    functionName: cms_RecipientInfo_ktri_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encrypt
    - ASN1_STRING_set0
    - OPENSSL_free
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_env_enc_content
    - ossl_cms_get0_cmsctx
    - EVP_PKEY_CTX_free
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_malloc
    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:601,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:602,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:603,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:605,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:608,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_env.c:617,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_env.c:619,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_env.c:620,1
    - Dst: EVP_get_cipherbyobj
      Src: /src/openssl/crypto/cms/cms_env.c:625,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cms/cms_env.c:627,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:628,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_env.c:631,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/cms/cms_env.c:633,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:634,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:637,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:641,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:644,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:647,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/crypto/cms/cms_env.c:652,1
    - Dst: evp_pkey_decrypt_alloc
      Src: /src/openssl/crypto/cms/cms_env.c:654,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_env.c:662,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:667,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:670,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 589
    functionDepth: 14
    functionLinenumber: 589
    functionLinenumberEnd: 673
    functionName: cms_RecipientInfo_ktri_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - EVP_CIPHER_get_key_length
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_env_enc_content
    - EVP_PKEY_CTX_new_from_pkey
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - OPENSSL_free
    - ERR_raise
    - EVP_PKEY_decrypt_init
    - ossl_cms_get0_cmsctx
    - EVP_get_cipherbyobj
    - OPENSSL_clear_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_PKEY_CTX_ctrl_str
    - EVP_PKEY_is_a
    - ossl_cms_env_asn1_ctrl
    - ERR_set_mark
    - EVP_PKEY_CTX_free
    - evp_pkey_decrypt_alloc
    - ossl_cms_ctx_get0_propq
    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:683,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_env.c:691,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: 692
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 692
    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: 711
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 711
    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:722,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_env.c:722,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:742,1
    - Dst: aes_wrap_keylen
      Src: /src/openssl/crypto/cms/cms_env.c:748,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:751,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:756,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:762,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:764,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:768,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:770,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:778,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:780,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/openssl/crypto/cms/cms_env.c:785,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:786,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_env.c:797,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_env.c:806,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:806,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_env.c:812,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: 814
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 814
    functionName: CMS_add0_recipient_key
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - OBJ_nid2obj
    - aes_wrap_keylen
    - CMS_get0_RecipientInfos
    - ASN1_STRING_set0
    - ERR_raise
    - sk_CMS_RecipientInfo_push
    - X509_ALGOR_set0
    - M_ASN1_new_of
    - STACK_OF
    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:825,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: 848
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 848
    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:855,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: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    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:882,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:882,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - keylen
    - ctx
    argTypes:
    - size_t
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 884
    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:899,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:901,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:908,1
    - Dst: cms_get_key_wrap_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:912,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:914,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:919,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_env.c:923,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:925,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_env.c:929,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_env.c:930,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/cms/cms_env.c:931,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/cms/cms_env.c:932,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:933,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cms/cms_env.c:937,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:938,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_env.c:942,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:947,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:949,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:950,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 888
    functionDepth: 8
    functionLinenumber: 888
    functionLinenumberEnd: 953
    functionName: cms_RecipientInfo_kekri_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - ASN1_STRING_set0
    - OPENSSL_free
    - ERR_raise
    - EVP_EncryptFinal_ex
    - cms_get_key_wrap_cipher
    - ossl_cms_get0_env_enc_content
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_CTX_set_flags
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - ossl_assert
    - OPENSSL_malloc
    - EVP_EncryptUpdate
    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:968,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:970,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:977,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_env.c:981,1
    - Dst: aes_wrap_keylen
      Src: /src/openssl/crypto/cms/cms_env.c:982,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:983,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:990,1
    - Dst: cms_get_key_wrap_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:994,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:996,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:1000,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_env.c:1004,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1006,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/cms/cms_env.c:1010,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_env.c:1011,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/cms/cms_env.c:1014,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1015,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_env.c:1020,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:1027,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:1029,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:1030,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 957
    functionDepth: 6
    functionLinenumber: 957
    functionLinenumberEnd: 1033
    functionName: cms_RecipientInfo_kekri_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - aes_wrap_keylen
    - OPENSSL_free
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_DecryptInit_ex
    - OBJ_obj2nid
    - cms_get_key_wrap_cipher
    - ossl_cms_get0_env_enc_content
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_free
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - EVP_DecryptUpdate
    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:1039,1
    - Dst: cms_RecipientInfo_kekri_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1042,1
    - Dst: ossl_cms_RecipientInfo_pwri_crypt
      Src: /src/openssl/crypto/cms/cms_env.c:1045,1
    - Dst: ossl_cms_RecipientInfo_kemri_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1048,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1035
    functionDepth: 15
    functionLinenumber: 1035
    functionLinenumberEnd: 1054
    functionName: CMS_RecipientInfo_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_RecipientInfo_pwri_crypt
    - ERR_raise
    - ossl_cms_RecipientInfo_kemri_decrypt
    - cms_RecipientInfo_kekri_decrypt
    - cms_RecipientInfo_ktri_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:1060,1
    - Dst: ossl_cms_RecipientInfo_kari_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1063,1
    - Dst: cms_RecipientInfo_kekri_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1066,1
    - Dst: ossl_cms_RecipientInfo_pwri_crypt
      Src: /src/openssl/crypto/cms/cms_env.c:1069,1
    - Dst: ossl_cms_RecipientInfo_kemri_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1072,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1056
    functionDepth: 15
    functionLinenumber: 1056
    functionLinenumberEnd: 1078
    functionName: CMS_RecipientInfo_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_RecipientInfo_pwri_crypt
    - cms_RecipientInfo_kekri_encrypt
    - ossl_cms_RecipientInfo_kari_encrypt
    - ossl_cms_RecipientInfo_kemri_encrypt
    - ERR_raise
    - cms_RecipientInfo_ktri_encrypt
    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:1088,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_env.c:1090,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/openssl/crypto/cms/cms_env.c:1100,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/openssl/crypto/cms/cms_env.c:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - env
    argTypes:
    - CMS_EnvelopedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1108
    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_num
    - sk_CMS_RevocationInfoChoice_value
    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:1121,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_env.c:1126,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_env.c:1127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - env
    argTypes:
    - CMS_EnvelopedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1142
    functionName: cms_env_set_version
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - sk_CMS_RecipientInfo_value
    - sk_CMS_RecipientInfo_num
    - cms_env_set_originfo_version
    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:1150,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_env.c:1151,1
    - Dst: CMS_RecipientInfo_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - ris
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1144
    functionDepth: 16
    functionLinenumber: 1144
    functionLinenumberEnd: 1156
    functionName: cms_env_encrypt_content_key
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - sk_CMS_RecipientInfo_value
    - CMS_RecipientInfo_encrypt
    - sk_CMS_RecipientInfo_num
    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:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - CMS_EncryptedContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1164
    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:1169,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:1170,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/cms/cms_env.c:1177,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1179,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_env.c:1186,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:1186,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1189,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1166
    functionDepth: 8
    functionLinenumber: 1166
    functionLinenumberEnd: 1196
    functionName: cms_EnvelopedData_Decryption_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - BIO_free
    - EVP_CIPHER_get_flags
    - ossl_cms_EncryptedContent_init_bio
    - EVP_CIPHER_CTX_ctrl
    - ossl_cms_get0_cmsctx
    - BIO_get_cipher_ctx
    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:1201,1
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1209,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:1209,1
    - Dst: cms_env_encrypt_content_key
      Src: /src/openssl/crypto/cms/cms_env.c:1217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1218,1
    - Dst: cms_env_set_version
      Src: /src/openssl/crypto/cms/cms_env.c:1223,1
    - Dst: cms_env_clear_ec
      Src: /src/openssl/crypto/cms/cms_env.c:1228,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1198
    functionDepth: 17
    functionLinenumber: 1198
    functionLinenumberEnd: 1233
    functionName: cms_EnvelopedData_Encryption_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - cms_env_encrypt_content_key
    - BIO_free
    - ERR_raise
    - ossl_cms_EncryptedContent_init_bio
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - cms_env_set_version
    - cms_env_clear_ec
    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:1239,1
    - Dst: cms_EnvelopedData_Decryption_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1235
    functionDepth: 18
    functionLinenumber: 1235
    functionLinenumberEnd: 1244
    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:1249,1
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1261,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:1261,1
    - Dst: cms_env_encrypt_content_key
      Src: /src/openssl/crypto/cms/cms_env.c:1269,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1270,1
    - Dst: cms_env_clear_ec
      Src: /src/openssl/crypto/cms/cms_env.c:1280,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1246
    functionDepth: 17
    functionLinenumber: 1246
    functionLinenumberEnd: 1285
    functionName: ossl_cms_AuthEnvelopedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - cms_env_encrypt_content_key
    - BIO_free
    - ERR_raise
    - ossl_cms_EncryptedContent_init_bio
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - cms_env_clear_ec
    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:1291,1
    - Dst: ossl_cms_get0_enveloped
      Src: /src/openssl/crypto/cms/cms_env.c:1293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1298,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/cms/cms_env.c:1302,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_env.c:1308,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:1308,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/openssl/crypto/cms/cms_env.c:1312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1315,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1322,1
    - Dst: cms_env_set_version
      Src: /src/openssl/crypto/cms/cms_env.c:1327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - cms
    - chain
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1287
    functionDepth: 3
    functionLinenumber: 1287
    functionLinenumberEnd: 1329
    functionName: ossl_cms_EnvelopedData_final
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - sk_X509_ATTRIBUTE_new_null
    - EVP_CIPHER_get_flags
    - ERR_raise
    - EVP_CIPHER_CTX_ctrl
    - cms_env_set_version
    - BIO_get_cipher_ctx
    - ossl_cms_get0_enveloped
    - BIO_find_type
    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:1337,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/cms/cms_env.c:1343,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/crypto/cms/cms_env.c:1346,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:1348,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1349,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: 1331
    functionDepth: 3
    functionLinenumber: 1331
    functionLinenumberEnd: 1363
    functionName: ossl_cms_AuthEnvelopedData_final
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_CIPHER_CTX_is_encrypting
    - ASN1_OCTET_STRING_set
    - OPENSSL_free
    - ERR_raise
    - EVP_CIPHER_CTX_ctrl
    - BIO_get_cipher_ctx
    - 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:
    - ERR_pop_to_mark
    - evp_pkey_is_provided
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY*::ameth::pkey_ctrl
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_is_a
    - EVP_PKEY_get_int_param
    - EVP_PKEY_encrypt_init
    - ERR_set_mark
    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:
    - ossl_cms_pkey_get_ri_type
    - EVP_PKEY*::ameth::pkey_ctrl
    linkageType: ''
    returnType: int
    signature: int ossl_cms_pkey_is_ri_type_supported(EVP_PKEY *pk, int ri_type)
  - BBCount: 11
    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_type
      Src: /src/openssl/crypto/cms/cms_env.c:1489,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_env.c:1500,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:1500,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:1502,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_env.c:1505,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:1506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - ri
    - cipher
    argTypes:
    - CMS_RecipientInfo*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1508
    functionName: ossl_cms_RecipientInfo_wrap_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_type
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_get_key_length
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_fetch
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_free
    - EVP_EncryptInit_ex
    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_unpack
    - OBJ_nid2obj
    - ASN1_ITEM_rptr
    - CMS_signed_get0_data_by_OBJ
    - 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_unpack
    - OBJ_nid2obj
    - ESS_SIGNING_CERT_free
    - ASN1_ITEM_rptr
    - CMS_signed_get0_data_by_OBJ
    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:
    - ASN1_item_unpack
    - OBJ_nid2obj
    - ASN1_ITEM_rptr
    - ESS_SIGNING_CERT_V2_free
    - CMS_signed_get0_data_by_OBJ
    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_ex
      Src: /src/openssl/crypto/cms/cms_ess.c:109,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_ess.c:110,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_ess.c:111,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/cms/cms_ess.c:114,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/cms/cms_ess.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - CMS_SignerInfo*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: ossl_cms_check_signing_certs
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ossl_cms_signerinfo_get_signing_cert_v2
    - ESS_SIGNING_CERT_free
    - ossl_cms_signerinfo_get_signing_cert
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - OSSL_ESS_check_signing_certs_ex
    - ESS_SIGNING_CERT_V2_free
    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:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:128,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_ess.c:132,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cms/cms_ess.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:135,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_ess.c:138,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/crypto/cms/cms_ess.c:144,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:158,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: 160
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: CMS_ReceiptRequest_create0_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ASN1_STRING_set0
    - CMS_ReceiptRequest_new
    - ERR_raise
    - RAND_bytes_ex
    - sk_GENERAL_NAMES_pop_free
    - 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:166,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: 168
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 168
    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:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:177,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_ess.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_ess.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - si
    - rr
    argTypes:
    - CMS_SignerInfo*
    - CMS_ReceiptRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: CMS_add1_ReceiptRequest
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    - OPENSSL_free
    - ERR_raise
    - i2d_CMS_ReceiptRequest
    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: 216
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 216
    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:223,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/cms/cms_ess.c:227,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:227,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_ess.c:229,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_ess.c:230,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: 233
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: cms_msgSigDigest
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_item_digest_ex
    - EVP_get_digestbyobj
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    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:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:243,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_ess.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - CMS_SignerInfo*
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 252
    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:261,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_ess.c:270,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_ess.c:271,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_ess.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:276,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_ess.c:281,1
    - Dst: CMS_get0_eContentType
      Src: /src/openssl/crypto/cms/cms_ess.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:282,1
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_ess.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:289,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/cms/cms_ess.c:293,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:296,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_ess.c:302,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_ess.c:303,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_ess.c:304,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_ess.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:309,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_ess.c:313,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:317,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:322,1
    - Dst: cms_msgSigDigest
      Src: /src/openssl/crypto/cms/cms_ess.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:332,1
    - Dst: memcmp
      Src: /src/openssl/crypto/cms/cms_ess.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:337,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:343,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:347,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/cms/cms_ess.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:354,1
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/openssl/crypto/cms/cms_ess.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:361,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_ess.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:367,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:374,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_ess.c:375,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    argCount: 2
    argNames:
    - cms
    - req_cms
    argTypes:
    - CMS_ContentInfo*
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 377
    functionName: ossl_cms_Receipt_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - CMS_get0_SignerInfos
    - CMS_get0_content
    - sk_CMS_SignerInfo_num
    - CMS_get1_ReceiptRequest
    - cms_msgSigDigest
    - OBJ_nid2obj
    - ERR_raise
    - sk_CMS_SignerInfo_value
    - STACK_OF
    - ASN1_item_unpack
    - OBJ_cmp
    - OBJ_obj2nid
    - ASN1_ITEM_rptr
    - CMS_signed_get0_data_by_OBJ
    - ASN1_STRING_cmp
    - CMS_get0_eContentType
    - memcmp
    - CMS_ReceiptRequest_free
    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:395,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:396,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:402,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:406,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/cms/cms_ess.c:415,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:415,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 420
    functionName: ossl_cms_encode_Receipt
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ASN1_item_pack
    - CMS_get1_ReceiptRequest
    - ERR_raise
    - ASN1_ITEM_rptr
    - CMS_ReceiptRequest_free
    - CMS_signed_get0_data_by_OBJ
    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:
    - OBJ_obj2nid
    - ERR_raise
    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:45,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_sd.c:47,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:48,1
    - Dst: cms_get0_signed
      Src: /src/openssl/crypto/cms/cms_sd.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: cms_signed_data_init
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - cms_get0_signed
    - ERR_raise
    - M_ASN1_new_of
    - ASN1_OBJECT_free
    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:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 61
    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:71,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_sd.c:72,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/openssl/crypto/cms/cms_sd.c:85,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/openssl/crypto/cms/cms_sd.c:86,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_sd.c:93,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:97,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:98,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 1
    argNames:
    - sd
    argTypes:
    - CMS_SignedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 111
    functionName: cms_sd_set_version
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - sk_CMS_SignerInfo_num
    - sk_CMS_RevocationInfoChoice_num
    - OBJ_obj2nid
    - sk_CMS_SignerInfo_value
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - sk_CMS_RevocationInfoChoice_value
    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:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - si
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    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:138,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_sd.c:142,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:143,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:146,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_sd.c:149,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:151,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_sd.c:154,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:158,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - cms
    - si
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 171
    functionName: cms_copy_messageDigest
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - CMS_signed_get_attr_count
    - OBJ_cmp
    - OBJ_nid2obj
    - sk_CMS_SignerInfo_num
    - ERR_raise
    - sk_CMS_SignerInfo_value
    - STACK_OF
    - CMS_get0_SignerInfos
    - CMS_signed_get0_data_by_OBJ
    - 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:178,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/openssl/crypto/cms/cms_sd.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:188,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: 195
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: ossl_cms_set1_SignerIdentifier
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - ossl_cms_set1_ias
    - ERR_raise
    - ossl_cms_set1_keyid
    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: 214
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 214
    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:219,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sid
    - cert
    argTypes:
    - CMS_SignerIdentifier*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 224
    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:230,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cms/cms_sd.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 11
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: cms_signature_nomd
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_default_digest_name
    - strcmp
    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:
    - OBJ_nid2obj
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_get_id
    - cms_signature_nomd
    - OBJ_find_sigid_by_algs
    - OBJ_txt2nid
    - OBJ_obj2nid
    - CMS_SignerInfo_get0_algs
    - X509_ALGOR_set0
    - ossl_assert
    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:
    - EVP_PKEY*::ameth::pkey_ctrl
    - ERR_raise
    - cms_generic_sign
    - ossl_cms_rsa_sign
    - EVP_PKEY_is_a
    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_set
    - ASN1_STRING_free
    - OPENSSL_free
    - i2d_ESS_SIGNING_CERT
    - ASN1_STRING_new
    - 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_set
    - ASN1_STRING_free
    - OPENSSL_free
    - i2d_ESS_SIGNING_CERT_V2
    - ASN1_STRING_new
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:486,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/cms/cms_sd.c:489,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/cms/cms_sd.c:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 10
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: cms_mdless_signing
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_is_a
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_get_default_digest_nid
    linkageType: ''
    returnType: char
    signature: char *cms_mdless_signing(EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:505,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/cms/cms_sd.c:512,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cms/cms_sd.c:513,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/cms/cms_sd.c:514,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cms/cms_sd.c:517,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:517,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/cms/cms_sd.c:517,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:517,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cms/cms_sd.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - pk
    - md_a_must
    argTypes:
    - CMS_CTX*
    - EVP_PKEY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 496
    functionDepth: 10
    functionLinenumber: 496
    functionLinenumberEnd: 522
    functionName: ossl_cms_get_default_md
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - EVP_PKEY_get_default_digest_nid
    - ERR_raise_data
    - EVP_PKEY_get_id
    - ossl_cms_ctx_get0_propq
    - EVP_MD_fetch
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ossl_cms_get_default_md(const CMS_CTX *ctx, EVP_PKEY *pk, int
      *md_a_must)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:529,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cms/cms_sd.c:531,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:531,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/cms/cms_sd.c:531,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - pk
    - noattr_md_a_must
    argTypes:
    - CMS_CTX*
    - EVP_PKEY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 10
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: ossl_cms_get_noattr_md
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - ossl_cms_ctx_get0_propq
    - EVP_MD_fetch
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ossl_cms_get_noattr_md(const CMS_CTX *ctx, EVP_PKEY *pk, int
      *noattr_md_a_must)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get_noattr_md
      Src: /src/openssl/crypto/cms/cms_sd.c:549,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:561,1
    - Dst: ossl_cms_get_default_md
      Src: /src/openssl/crypto/cms/cms_sd.c:562,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:564,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - pk
    - md
    - fetched_md
    - flags
    argTypes:
    - CMS_CTX*
    - EVP_PKEY*
    - EVP_MD**
    - EVP_MD**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 537
    functionDepth: 11
    functionLinenumber: 537
    functionLinenumberEnd: 574
    functionName: ossl_cms_adjust_md
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ossl_cms_get_noattr_md
    - ERR_set_mark
    - ossl_cms_get_default_md
    linkageType: ''
    returnType: int
    signature: int ossl_cms_adjust_md(const CMS_CTX *ctx, EVP_PKEY *pk, const EVP_MD
      **md, EVP_MD **fetched_md, unsigned int flags)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:585,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/cms/cms_sd.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:588,1
    - Dst: cms_signed_data_init
      Src: /src/openssl/crypto/cms/cms_sd.c:591,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_sd.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:596,1
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/cms/cms_sd.c:600,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cms/cms_sd.c:602,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_sd.c:604,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_sd.c:605,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:617,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/openssl/crypto/cms/cms_sd.c:631,1
    - Dst: ossl_cms_adjust_md
      Src: /src/openssl/crypto/cms/cms_sd.c:634,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cms/cms_sd.c:637,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/cms/cms_sd.c:641,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/cms/cms_sd.c:645,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_sd.c:646,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_sd.c:647,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:648,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/cms/cms_sd.c:651,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_sd.c:652,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cms/cms_sd.c:653,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/openssl/crypto/cms/cms_sd.c:654,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_sd.c:655,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:656,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:660,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cms/cms_sd.c:661,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/cms/cms_sd.c:662,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/openssl/crypto/cms/cms_sd.c:671,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:673,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:678,1
    - Dst: CMS_add_standard_smimecap
      Src: /src/openssl/crypto/cms/cms_sd.c:680,1
    - Dst: CMS_add_smimecap
      Src: /src/openssl/crypto/cms/cms_sd.c:682,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/crypto/cms/cms_sd.c:683,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:685,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:702,1
    - Dst: OSSL_ESS_signing_cert_new_init
      Src: /src/openssl/crypto/cms/cms_sd.c:703,1
    - Dst: ossl_cms_add1_signing_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:707,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/cms/cms_sd.c:708,1
    - Dst: OSSL_ESS_signing_cert_v2_new_init
      Src: /src/openssl/crypto/cms/cms_sd.c:710,1
    - Dst: ossl_cms_add1_signing_cert_v2
      Src: /src/openssl/crypto/cms/cms_sd.c:714,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/cms/cms_sd.c:715,1
    - Dst: cms_copy_messageDigest
      Src: /src/openssl/crypto/cms/cms_sd.c:721,1
    - Dst: cms_set_si_contentType_attr
      Src: /src/openssl/crypto/cms/cms_sd.c:723,1
    - Dst: CMS_SignerInfo_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:725,1
    - Dst: CMS_add1_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:732,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:733,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_sd.c:739,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:739,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:741,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/crypto/cms/cms_sd.c:744,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/cms/cms_sd.c:746,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:748,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/cms/cms_sd.c:749,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:750,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:751,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_sd.c:757,1
    - Dst: sk_CMS_SignerInfo_new_null
      Src: /src/openssl/crypto/cms/cms_sd.c:761,1
    - Dst: sk_CMS_SignerInfo_push
      Src: /src/openssl/crypto/cms/cms_sd.c:762,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:763,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_sd.c:766,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_sd.c:770,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_sd.c:771,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 169
    argCount: 5
    argNames:
    - cms
    - signer
    - pk
    - md
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 576
    functionDepth: 14
    functionLinenumber: 576
    functionLinenumberEnd: 773
    functionName: CMS_add1_signer
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - sk_X509_ALGOR_pop_free
    - X509_free
    - EVP_PKEY_up_ref
    - ESS_SIGNING_CERT_free
    - EVP_DigestSignInit_ex
    - cms_signed_data_init
    - X509_check_purpose
    - ossl_cms_ctx_get0_libctx
    - M_ASN1_new_of
    - EVP_MD_CTX_new
    - sk_CMS_SignerInfo_new_null
    - OBJ_obj2txt
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_ESS_signing_cert_new_init
    - CMS_add_standard_smimecap
    - CMS_add_smimecap
    - ERR_raise_data
    - cms_copy_messageDigest
    - sk_X509_ALGOR_push
    - ERR_raise
    - cms_sd_asn1_ctrl
    - EVP_MD_get0_name
    - OSSL_ESS_signing_cert_v2_new_init
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - X509_ALGOR_free
    - EVP_PKEY_CTX_set_signature_md
    - ossl_cms_add1_signing_cert
    - EVP_MD_is_a
    - CMS_add1_cert
    - ossl_cms_adjust_md
    - sk_CMS_SignerInfo_push
    - EVP_MD_free
    - X509_ALGOR_get0
    - sk_X509_ALGOR_num
    - ossl_cms_add1_signing_cert_v2
    - X509_up_ref
    - cms_set_si_contentType_attr
    - CMS_SignerInfo_sign
    - X509_ALGOR_set_md
    - EVP_PKEY_get_id
    - X509_check_private_key
    - sk_X509_ATTRIBUTE_new_null
    - X509_ALGOR_new
    - ossl_cms_ctx_get0_propq
    - EVP_MD_CTX_set_flags
    - ESS_SIGNING_CERT_V2_free
    - ossl_cms_set1_SignerIdentifier
    - EVP_PKEY_sign_init
    - sk_X509_ALGOR_value
    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:779,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:780,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:782,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_sd.c:783,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:784,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:786,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 791
    functionName: ossl_cms_SignerInfos_set_cmsctx
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - sk_CMS_SignerInfo_num
    - sk_CMS_SignerInfo_value
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - CMS_get0_SignerInfos
    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:801,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:804,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:808,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:811,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/cms/cms_sd.c:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - si
    - t
    argTypes:
    - CMS_SignerInfo*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 821
    functionName: cms_add1_signingTime
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_free
    - ERR_raise
    - X509_gmtime_adj
    - 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: 826
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 826
    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: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    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:864,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_sd.c:866,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/crypto/cms/cms_sd.c:867,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_sd.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - si
    - signer
    argTypes:
    - CMS_SignerInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 861
    functionDepth: 4
    functionLinenumber: 861
    functionLinenumberEnd: 871
    functionName: CMS_SignerInfo_set1_signer_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - X509_get_pubkey
    - X509_free
    - EVP_PKEY_free
    - X509_up_ref
    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:877,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: 878
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 878
    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:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - cert
    argTypes:
    - CMS_SignerInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 883
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:891,1
    - Dst: cms_get0_signed
      Src: /src/openssl/crypto/cms/cms_sd.c:896,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:900,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:901,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cms/cms_sd.c:905,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cms/cms_sd.c:906,1
    - Dst: CMS_SignerInfo_cert_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:907,1
    - Dst: CMS_SignerInfo_set1_signer_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:908,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_sd.c:917,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_sd.c:918,1
    - Dst: CMS_SignerInfo_cert_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:922,1
    - Dst: CMS_SignerInfo_set1_signer_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:923,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 3
    argNames:
    - cms
    - scerts
    - flags
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 885
    functionDepth: 5
    functionLinenumber: 885
    functionLinenumberEnd: 930
    functionName: CMS_set1_signers_certs
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - cms_get0_signed
    - sk_CMS_SignerInfo_num
    - CMS_SignerInfo_set1_signer_cert
    - sk_X509_num
    - sk_CMS_SignerInfo_value
    - sk_X509_value
    - STACK_OF
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - CMS_SignerInfo_cert_cmp
    linkageType: ''
    returnType: int
    signature: "int CMS_set1_signers_certs(CMS_ContentInfo *cms, const STACK_OF(X509)
      *scerts,\n    unsigned int flags)"
  - 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: 944
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 944
    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: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_seek
      Src: /src/openssl/crypto/cms/cms_sd.c:958,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/cms/cms_sd.c:967,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/cms/cms_sd.c:972,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/cms/cms_sd.c:975,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - in
    - buffer
    - buffer_len
    argTypes:
    - BIO*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 985
    functionName: cms_bio_read
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_read
    - OPENSSL_realloc
    - BIO_seek
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: "int cms_bio_read(BIO *in,\n    unsigned char **buffer, size_t *buffer_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cms_bio_read
      Src: /src/openssl/crypto/cms/cms_sd.c:997,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:999,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1000,1
    - Dst: BIO_seek
      Src: /src/openssl/crypto/cms/cms_sd.c:1005,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/cms/cms_sd.c:1009,1
    - Dst: EVP_PKEY_sign_message_update
      Src: /src/openssl/crypto/cms/cms_sd.c:1012,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/cms/cms_sd.c:1014,1
    - Dst: EVP_PKEY_sign_message_final
      Src: /src/openssl/crypto/cms/cms_sd.c:1015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - pctx
    - in
    - sig
    - sig_len
    - has_msg_update
    argTypes:
    - EVP_PKEY_CTX*
    - BIO*
    - unsigned char*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1018
    functionName: cms_EVP_PKEY_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign_message_update
    - OPENSSL_free
    - BIO_read
    - BIO_seek
    - cms_bio_read
    - EVP_PKEY_sign
    - BIO_eof
    - EVP_PKEY_sign_message_final
    linkageType: ''
    returnType: int
    signature: "int cms_EVP_PKEY_sign(EVP_PKEY_CTX *pctx, BIO *in,\n    unsigned char
      *sig, size_t *sig_len,\n    int has_msg_update)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cms_bio_read
      Src: /src/openssl/crypto/cms/cms_sd.c:1029,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/crypto/cms/cms_sd.c:1032,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1033,1
    - Dst: BIO_seek
      Src: /src/openssl/crypto/cms/cms_sd.c:1038,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/cms/cms_sd.c:1042,1
    - Dst: EVP_PKEY_verify_message_update
      Src: /src/openssl/crypto/cms/cms_sd.c:1045,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/cms/cms_sd.c:1047,1
    - Dst: EVP_PKEY_CTX_set_signature
      Src: /src/openssl/crypto/cms/cms_sd.c:1048,1
    - Dst: EVP_PKEY_verify_message_final
      Src: /src/openssl/crypto/cms/cms_sd.c:1050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - pctx
    - in
    - sig
    - siglen
    - has_msg_update
    argTypes:
    - EVP_PKEY_CTX*
    - BIO*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1020
    functionDepth: 4
    functionLinenumber: 1020
    functionLinenumberEnd: 1053
    functionName: cms_EVP_PKEY_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_signature
    - OPENSSL_free
    - BIO_read
    - EVP_PKEY_verify_message_final
    - EVP_PKEY_verify
    - BIO_seek
    - cms_bio_read
    - BIO_eof
    - EVP_PKEY_verify_message_update
    linkageType: ''
    returnType: int
    signature: "int cms_EVP_PKEY_verify(EVP_PKEY_CTX *pctx, BIO *in, unsigned char
      *sig,\n    size_t siglen, int has_msg_update)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:1061,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1064,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1069,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1074,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1078,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:1081,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_sd.c:1087,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1091,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:1095,1
    - Dst: cms_set_si_contentType_attr
      Src: /src/openssl/crypto/cms/cms_sd.c:1099,1
    - Dst: CMS_SignerInfo_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:1102,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1111,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/cms/cms_sd.c:1115,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:1116,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:1118,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:1120,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1129,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/cms/cms_sd.c:1132,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:1133,1
    - Dst: cms_mdless_signing
      Src: /src/openssl/crypto/cms/cms_sd.c:1136,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1140,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:1144,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/cms/cms_sd.c:1148,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/crypto/cms/cms_sd.c:1152,1
    - Dst: EVP_SIGNATURE_has_message_update
      Src: /src/openssl/crypto/cms/cms_sd.c:1156,1
    - Dst: cms_EVP_PKEY_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:1157,1
    - Dst: EVP_SignFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1163,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:1164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1165,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:1169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1176,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1177,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1178,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1179,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 102
    argCount: 6
    argNames:
    - cms
    - si
    - chain
    - data
    - md
    - mdlen
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    - BIO*
    - BIO*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1055
    functionDepth: 14
    functionLinenumber: 1055
    functionLinenumberEnd: 1181
    functionName: cms_SignerInfo_content_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - cms_mdless_signing
    - EVP_SIGNATURE_fetch
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_CTX_new
    - ossl_cms_DigestAlgorithm_find_ctx
    - CMS_signed_add1_attr_by_NID
    - ASN1_STRING_set0
    - OPENSSL_free
    - ERR_raise
    - cms_sd_asn1_ctrl
    - EVP_PKEY_get_size
    - ossl_cms_get0_cmsctx
    - EVP_MD_CTX_free
    - EVP_SIGNATURE_free
    - OPENSSL_malloc
    - EVP_SIGNATURE_has_message_update
    - EVP_PKEY_CTX_new
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - cms_EVP_PKEY_sign
    - CMS_signed_get_attr_count
    - EVP_SignFinal_ex
    - cms_set_si_contentType_attr
    - CMS_SignerInfo_sign
    - EVP_DigestFinal_ex
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_sign_message_init
    linkageType: ''
    returnType: int
    signature: "int cms_SignerInfo_content_sign(CMS_ContentInfo *cms,\n    CMS_SignerInfo
      *si, BIO *chain,\n    BIO *data,\n    const unsigned char *md,\n    unsigned
      int mdlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:1187,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_sd.c:1191,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:1192,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:1193,1
    - Dst: cms_SignerInfo_content_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - cms
    - chain
    - data
    - precomp_md
    - precomp_mdlen
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1183
    functionDepth: 15
    functionLinenumber: 1183
    functionLinenumberEnd: 1200
    functionName: ossl_cms_SignedData_final
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - sk_CMS_SignerInfo_num
    - cms_SignerInfo_content_sign
    - sk_CMS_SignerInfo_value
    - STACK_OF
    - CMS_get0_SignerInfos
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_SignedData_final(CMS_ContentInfo *cms, BIO *chain, BIO
      *data,\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:1212,1
    - Dst: cms_signature_nomd
      Src: /src/openssl/crypto/cms/cms_sd.c:1216,1
    - Dst: CMS_signed_get_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:1219,1
    - Dst: cms_add1_signingTime
      Src: /src/openssl/crypto/cms/cms_sd.c:1220,1
    - Dst: ossl_cms_si_check_attributes
      Src: /src/openssl/crypto/cms/cms_sd.c:1224,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:1230,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1231,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1232,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:1233,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_sd.c:1237,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1242,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:1242,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_sd.c:1249,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:1250,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/cms/cms_sd.c:1253,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/cms/cms_sd.c:1255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1257,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:1258,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/cms/cms_sd.c:1261,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:1264,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:1266,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1271,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:1272,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1202
    functionDepth: 12
    functionLinenumber: 1202
    functionLinenumberEnd: 1274
    functionName: CMS_SignerInfo_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 2
    functionsReached:
    - ASN1_item_i2d
    - EVP_DigestSignFinal
    - cms_add1_signingTime
    - ossl_cms_si_check_attributes
    - ASN1_STRING_set0
    - OPENSSL_free
    - cms_signature_nomd
    - EVP_DigestSignInit_ex
    - ossl_cms_ctx_get0_propq
    - EVP_MD_CTX_set_flags
    - EVP_DigestSignUpdate
    - ossl_cms_ctx_get0_libctx
    - ASN1_item_sign_ctx
    - ASN1_ITEM_rptr
    - OBJ_obj2txt
    - EVP_MD_CTX_reset
    - OPENSSL_malloc
    - CMS_signed_get_attr_by_NID
    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:1285,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:1286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1289,1
    - Dst: ossl_cms_si_check_attributes
      Src: /src/openssl/crypto/cms/cms_sd.c:1293,1
    - Dst: cms_signature_nomd
      Src: /src/openssl/crypto/cms/cms_sd.c:1296,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1297,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:1297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1302,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_sd.c:1306,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:1308,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cms/cms_sd.c:1309,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/cms/cms_sd.c:1314,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:1316,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1317,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:1320,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:1322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1323,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1328,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1331,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/cms/cms_sd.c:1331,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_sd.c:1337,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:1339,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_sd.c:1342,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:1343,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/crypto/cms/cms_sd.c:1346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1347,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/crypto/cms/cms_sd.c:1352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1355,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1357,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:1358,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1276
    functionDepth: 14
    functionLinenumber: 1276
    functionLinenumberEnd: 1360
    functionName: CMS_SignerInfo_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ossl_cms_si_check_attributes
    - ERR_clear_last_mark
    - cms_signature_nomd
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_CTX_new
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - EVP_get_digestbyobj
    - OPENSSL_free
    - ERR_raise
    - cms_sd_asn1_ctrl
    - EVP_MD_get0_name
    - EVP_DigestVerifyUpdate
    - EVP_DigestVerifyFinal
    - EVP_MD_CTX_reset
    - EVP_MD_fetch
    - EVP_MD_free
    - ASN1_ITEM_rptr
    - EVP_PKEY_CTX_free
    - ERR_set_mark
    - ASN1_item_i2d
    - ossl_cms_ctx_get0_propq
    - EVP_MD_CTX_set_flags
    - EVP_DigestVerifyInit_ex
    - ASN1_item_verify_ex
    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:1369,1
    - Dst: cms_sd_set_version
      Src: /src/openssl/crypto/cms/cms_sd.c:1373,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/cms/cms_sd.c:1374,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/cms/cms_sd.c:1378,1
    - Dst: ossl_cms_DigestAlgorithm_init_bio
      Src: /src/openssl/crypto/cms/cms_sd.c:1379,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1380,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/cms/cms_sd.c:1384,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_sd.c:1390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1363
    functionDepth: 11
    functionLinenumber: 1363
    functionLinenumberEnd: 1392
    functionName: ossl_cms_SignedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - cms_get0_signed
    - cms_sd_set_version
    - BIO_free_all
    - ossl_cms_DigestAlgorithm_init_bio
    - ossl_cms_get0_cmsctx
    - BIO_push
    - sk_X509_ALGOR_num
    - sk_X509_ALGOR_value
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_SignedData_init_bio(CMS_ContentInfo *cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_SignerInfo_verify_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - CMS_SignerInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1397
    functionName: CMS_SignerInfo_verify_content
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - CMS_SignerInfo_verify_ex
    linkageType: ''
    returnType: int
    signature: int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:1402,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1411,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_sd.c:1415,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_sd.c:1416,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:1417,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1420,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1425,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1428,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1436,1
    - Dst: memcmp
      Src: /src/openssl/crypto/cms/cms_sd.c:1440,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1441,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/cms/cms_sd.c:1447,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1449,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_sd.c:1453,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:1454,1
    - Dst: cms_mdless_signing
      Src: /src/openssl/crypto/cms/cms_sd.c:1458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1460,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/cms/cms_sd.c:1464,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/crypto/cms/cms_sd.c:1467,1
    - Dst: EVP_SIGNATURE_has_message_update
      Src: /src/openssl/crypto/cms/cms_sd.c:1470,1
    - Dst: cms_EVP_PKEY_verify
      Src: /src/openssl/crypto/cms/cms_sd.c:1471,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/crypto/cms/cms_sd.c:1474,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/cms/cms_sd.c:1476,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:1479,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/crypto/cms/cms_sd.c:1485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1489,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1495,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1496,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1498,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 3
    argNames:
    - si
    - chain
    - data
    argTypes:
    - CMS_SignerInfo*
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1399
    functionDepth: 14
    functionLinenumber: 1399
    functionLinenumberEnd: 1500
    functionName: CMS_SignerInfo_verify_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - cms_EVP_PKEY_verify
    - EVP_MD_CTX_get0_md
    - cms_mdless_signing
    - EVP_PKEY_verify_init
    - EVP_SIGNATURE_fetch
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_DigestAlgorithm_find_ctx
    - OBJ_nid2obj
    - OPENSSL_free
    - ERR_raise
    - cms_sd_asn1_ctrl
    - EVP_MD_CTX_free
    - EVP_SIGNATURE_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_SIGNATURE_has_message_update
    - EVP_PKEY_CTX_free
    - CMS_signed_get0_data_by_OBJ
    - EVP_PKEY_verify_message_init
    - CMS_signed_get_attr_count
    - EVP_DigestFinal_ex
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_verify
    - memcmp
    linkageType: ''
    returnType: int
    signature: int CMS_SignerInfo_verify_ex(CMS_SignerInfo *si, BIO *chain, BIO *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1514,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1518,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_sd.c:1520,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cms/cms_sd.c:1520,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:1522,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cms/cms_sd.c:1525,1
    - Dst: CMS_add1_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:1526,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cms/cms_sd.c:1526,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cms/cms_sd.c:1528,1
    - Dst: CMS_add1_crl
      Src: /src/openssl/crypto/cms/cms_sd.c:1529,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/cms/cms_sd.c:1529,1
    - Dst: CMS_verify
      Src: /src/openssl/crypto/cms/cms_sd.c:1531,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1536,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1538,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 9
    argNames:
    - sd
    - detached_data
    - scerts
    - store
    - extra
    - crls
    - flags
    - libctx
    - propq
    argTypes:
    - CMS_SignedData*
    - BIO*
    - STACK_OF*
    - X509_STORE*
    - STACK_OF*
    - STACK_OF*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1502
    functionDepth: 5
    functionLinenumber: 1502
    functionLinenumberEnd: 1542
    functionName: CMS_SignedData_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - BIO_new
    - CMS_ContentInfo_new_ex
    - BIO_free
    - CMS_verify
    - CMS_add1_cert
    - ERR_raise
    - sk_X509_num
    - sk_X509_CRL_num
    - sk_X509_value
    - CMS_add1_crl
    - CMS_ContentInfo_free
    - sk_X509_CRL_value
    - BIO_s_mem
    linkageType: ''
    returnType: BIO
    signature: "BIO *CMS_SignedData_verify(CMS_SignedData *sd, BIO *detached_data,\n
      \   const STACK_OF(X509) *scerts, X509_STORE *store,\n    const STACK_OF(X509)
      *extra,\n    const STACK_OF(X509_CRL) *crls,\n    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_dd.c:29,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_dd.c:33,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dd.c:38,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dd.c:42,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cms/cms_dd.c:44,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_dd.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - md
    - libctx
    - propq
    argTypes:
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 52
    functionName: ossl_cms_DigestedData_create
    functionSourceFile: /src/openssl/crypto/cms/cms_dd.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - CMS_ContentInfo_new_ex
    - X509_ALGOR_set_md
    - M_ASN1_new_of
    - 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:58,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_dd.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 11
    functionLinenumber: 54
    functionLinenumberEnd: 60
    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:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dd.c:72,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/openssl/crypto/cms/cms_dd.c:78,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_dd.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dd.c:86,1
    - Dst: memcmp
      Src: /src/openssl/crypto/cms/cms_dd.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dd.c:91,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cms/cms_dd.c:95,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_dd.c:101,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - cms
    - chain
    - verify
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 9
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: ossl_cms_DigestedData_do_final
    functionSourceFile: /src/openssl/crypto/cms/cms_dd.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcmp
    - ossl_cms_DigestAlgorithm_find_ctx
    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_copy_parameters
    - EVP_PKEY_new
    - OPENSSL_free
    - ASN1_STRING_length
    - EVP_PKEY_get_size
    - EVP_PKEY_set1_encoded_public_key
    - ASN1_STRING_get0_data
    - OPENSSL_malloc
    - ASN1_INTEGER_to_BN
    - EVP_PKEY_CTX_get0_pkey
    - d2i_ASN1_INTEGER
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - BN_bn2binpad
    - EVP_PKEY_derive_set_peer
    - ASN1_INTEGER_free
    - BN_free
    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:97,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_dh.c:100,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_dh.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:107,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_type
      Src: /src/openssl/crypto/cms/cms_dh.c:111,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_md
      Src: /src/openssl/crypto/cms/cms_dh.c:112,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_dh.c:112,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_dh.c:118,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_dh.c:119,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_dh.c:120,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_dh.c:123,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_dh.c:127,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_dh.c:130,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/cms/cms_dh.c:132,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_dh.c:134,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_dh.c:136,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_dh.c:139,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_dh.c:140,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_oid
      Src: /src/openssl/crypto/cms/cms_dh.c:143,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:144,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/cms/cms_dh.c:144,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_dh.c:149,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/cms/cms_dh.c:150,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_dh.c:150,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_dh.c:155,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_dh.c:161,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_dh.c:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:163,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 2
    argNames:
    - pctx
    - ri
    argTypes:
    - EVP_PKEY_CTX*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 165
    functionName: dh_cms_set_shared_info
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - OPENSSL_memdup
    - EVP_PKEY_CTX_set_dh_kdf_md
    - EVP_PKEY_CTX_set0_dh_kdf_ukm
    - EVP_sha1
    - EVP_CIPHER_get_mode
    - OBJ_obj2txt
    - OBJ_nid2obj
    - EVP_PKEY_CTX_set0_dh_kdf_oid
    - OPENSSL_free
    - EVP_CIPHER_asn1_to_param
    - ERR_raise
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - X509_ALGOR_free
    - EVP_CIPHER_get_type
    - OBJ_obj2nid
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - X509_ALGOR_get0
    - EVP_EncryptInit_ex
    - EVP_PKEY_CTX_set_dh_kdf_outlen
    - d2i_X509_ALGOR
    - CMS_RecipientInfo_kari_get0_ctx
    - EVP_PKEY_CTX_set_dh_kdf_type
    - EVP_CIPHER_CTX_get_key_length
    - CMS_RecipientInfo_kari_get0_alg
    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:169,1
    - Dst: EVP_PKEY_CTX_get0_peerkey
      Src: /src/openssl/crypto/cms/cms_dh.c:174,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_dh.c:178,1
    - Dst: dh_cms_set_peerkey
      Src: /src/openssl/crypto/cms/cms_dh.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:184,1
    - Dst: dh_cms_set_shared_info
      Src: /src/openssl/crypto/cms/cms_dh.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 167
    functionDepth: 11
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: dh_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_get0_peerkey
    - ERR_raise
    - dh_cms_set_peerkey
    - dh_cms_set_shared_info
    - CMS_RecipientInfo_kari_get0_orig_id
    - CMS_RecipientInfo_get0_pkey_ctx
    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:214,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_dh.c:218,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_dh.c:219,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_dh.c:224,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:225,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/crypto/cms/cms_dh.c:229,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/cms/cms_dh.c:232,1
    - Dst: BN_free
      Src: /src/openssl/crypto/cms/cms_dh.c:233,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/cms/cms_dh.c:238,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/cms/cms_dh.c:239,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:242,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/cms/cms_dh.c:243,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:246,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:246,1
    - Dst: EVP_PKEY_CTX_get_dh_kdf_type
      Src: /src/openssl/crypto/cms/cms_dh.c:251,1
    - Dst: EVP_PKEY_CTX_get_dh_kdf_md
      Src: /src/openssl/crypto/cms/cms_dh.c:252,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_type
      Src: /src/openssl/crypto/cms/cms_dh.c:257,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_dh.c:264,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_md
      Src: /src/openssl/crypto/cms/cms_dh.c:265,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cms/cms_dh.c:267,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/openssl/crypto/cms/cms_dh.c:271,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_dh.c:275,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_dh.c:276,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_oid
      Src: /src/openssl/crypto/cms/cms_dh.c:277,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:277,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_dh.c:279,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_dh.c:283,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:286,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_dh.c:287,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/cms/cms_dh.c:290,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/cms/cms_dh.c:292,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_dh.c:293,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_dh.c:297,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_dh.c:301,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/cms/cms_dh.c:302,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_dh.c:302,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_dh.c:307,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_dh.c:316,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cms/cms_dh.c:319,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:322,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:324,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:324,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_dh.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:330,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_dh.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:332,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 109
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 196
    functionDepth: 6
    functionLinenumber: 196
    functionLinenumberEnd: 334
    functionName: dh_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - BN_to_ASN1_INTEGER
    - EVP_PKEY_CTX_get_dh_kdf_type
    - OPENSSL_memdup
    - i2d_ASN1_INTEGER
    - EVP_PKEY_CTX_set_dh_kdf_md
    - EVP_PKEY_CTX_set0_dh_kdf_ukm
    - EVP_MD_get_type
    - EVP_PKEY_get_bn_param
    - EVP_sha1
    - EVP_PKEY_CTX_get_dh_kdf_md
    - CMS_RecipientInfo_kari_get0_orig_id
    - OBJ_nid2obj
    - EVP_PKEY_CTX_set0_dh_kdf_oid
    - ASN1_STRING_set0
    - ASN1_STRING_free
    - ASN1_TYPE_free
    - ossl_asn1_bit_string_set_unused_bits
    - OPENSSL_free
    - i2d_X509_ALGOR
    - ASN1_STRING_length
    - CMS_RecipientInfo_get0_pkey_ctx
    - ASN1_STRING_get0_data
    - X509_ALGOR_free
    - ASN1_TYPE_get
    - EVP_PKEY_CTX_get0_pkey
    - EVP_CIPHER_CTX_get_type
    - ASN1_TYPE_new
    - X509_ALGOR_set0
    - X509_ALGOR_get0
    - EVP_PKEY_CTX_set_dh_kdf_outlen
    - CMS_RecipientInfo_kari_get0_ctx
    - EVP_PKEY_CTX_set_dh_kdf_type
    - ASN1_INTEGER_free
    - EVP_CIPHER_CTX_get_key_length
    - X509_ALGOR_new
    - BN_free
    - ASN1_STRING_new
    - EVP_CIPHER_param_to_asn1
    - CMS_RecipientInfo_kari_get0_alg
    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:338,1
    - Dst: dh_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_dh.c:341,1
    - Dst: dh_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_dh.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:346,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: 337
        line_start: 337
        source_file: /src/openssl/crypto/cms/cms_dh.c
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 12
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: ossl_cms_dh_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - dh_cms_encrypt
    - ERR_raise
    - assert
    - dh_cms_decrypt
    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:30,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: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    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:43,1
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/openssl/crypto/cms/cms_kemri.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: CMS_RecipientInfo_kemri_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - ossl_cms_SignerIdentifier_cert_cmp
    - ERR_raise
    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:55,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:61,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kemri.c:65,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:65,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kemri.c:66,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/crypto/cms/cms_kemri.c:67,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ri
    - pk
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 12
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: CMS_RecipientInfo_kemri_set0_pkey
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_propq
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:91,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_kemri.c:98,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kemri.c:101,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/openssl/crypto/cms/cms_kemri.c:115,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/cms/cms_kemri.c:118,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/cms/cms_kemri.c:121,1
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/cms/cms_kemri.c:123,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kemri.c:126,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:126,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kemri.c:128,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/crypto/cms/cms_kemri.c:131,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: 135
      start: 81
    functionDepth: 12
    functionLinenumber: 81
    functionLinenumberEnd: 135
    functionName: ossl_cms_RecipientInfo_kemri_init
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 1
    functionsReached:
    - X509_PUBKEY_get0_param
    - X509_get_X509_PUBKEY
    - OBJ_nid2obj
    - X509_ALGOR_copy
    - EVP_PKEY_encapsulate_init
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - M_ASN1_new_of
    - ossl_cms_set1_SignerIdentifier
    - EVP_PKEY_CTX_new_from_pkey
    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: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    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: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    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:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:164,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_kemri.c:170,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/cms/cms_kemri.c:173,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:174,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ri
    - ukm
    - ukmLength
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 180
    functionName: CMS_RecipientInfo_kemri_set_ukm
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - ASN1_OCTET_STRING_set
    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:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:198,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_kemri.c:201,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/cms/cms_kemri.c:204,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:204,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kemri.c:205,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/cms/cms_kemri.c:209,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - kemri
    argTypes:
    - CMS_KEMRecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 213
    functionName: create_kdf_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - ERR_raise
    - ossl_cms_ctx_get0_propq
    - EVP_KDF_fetch
    - ossl_cms_ctx_get0_libctx
    - X509_ALGOR_get0
    - OBJ_obj2txt
    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:225,1
    - Dst: create_kdf_ctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:230,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_kemri.c:234,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_kemri.c:236,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_kemri.c:238,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/cms/cms_kemri.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:245,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:246,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: 249
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: kdf_derive
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 3
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - EVP_KDF_derive
    - create_kdf_ctx
    - OSSL_PARAM_construct_end
    - CMS_CMSORIforKEMOtherInfo_encode
    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:269,1
    - Dst: kdf_derive
      Src: /src/openssl/crypto/cms/cms_kemri.c:273,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_kemri.c:277,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/cms/cms_kemri.c:280,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:282,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/cms/cms_kemri.c:285,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:293,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cms/cms_kemri.c:294,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/cms/cms_kemri.c:295,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:296,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: 299
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 299
    functionName: cms_kek_cipher
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - EVP_CipherUpdate
    - OPENSSL_free
    - ERR_raise
    - kdf_derive
    - OPENSSL_cleanse
    - EVP_PKEY_CTX_free
    - EVP_CipherInit_ex
    - 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:317,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kemri.c:323,1
    - Dst: ossl_cms_RecipientInfo_wrap_init
      Src: /src/openssl/crypto/cms/cms_kemri.c:325,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_kemri.c:329,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:332,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:334,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:335,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:339,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_kemri.c:342,1
    - Dst: cms_kek_cipher
      Src: /src/openssl/crypto/cms/cms_kemri.c:345,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_kemri.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:352,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 303
    functionDepth: 14
    functionLinenumber: 303
    functionLinenumberEnd: 355
    functionName: ossl_cms_RecipientInfo_kemri_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set0
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_PKEY_encapsulate
    - ossl_cms_RecipientInfo_wrap_init
    - cms_kek_cipher
    - ERR_raise
    - ossl_cms_get0_env_enc_content
    - ossl_cms_env_asn1_ctrl
    - 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:373,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kemri.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:382,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_kemri.c:387,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_kemri.c:390,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_kemri.c:391,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:393,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:395,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:399,1
    - Dst: cms_kek_cipher
      Src: /src/openssl/crypto/cms/cms_kemri.c:405,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kemri.c:407,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:408,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:414,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 357
    functionDepth: 14
    functionLinenumber: 357
    functionLinenumberEnd: 416
    functionName: ossl_cms_RecipientInfo_kemri_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - cms_kek_cipher
    - ERR_raise
    - ASN1_STRING_length
    - ossl_cms_get0_env_enc_content
    - ASN1_STRING_get0_data
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_decapsulate
    - 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:
    - OBJ_nid2obj
    - CMS_ContentInfo_new_ex
    - ERR_raise
    - X509_ALGOR_set0
    - M_ASN1_new_of
    - 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
    - ERR_raise
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - BIO_f_zlib
    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
    - ERR_raise
    - ossl_cms_keyid_cert_cmp
    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:
    - EVP_PKEY_derive_set_peer
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - X509_get0_pubkey
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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_CIPHER_CTX_reset
    - EVP_CipherUpdate
    - EVP_PKEY_derive
    - OPENSSL_free
    - EVP_CIPHER_CTX_get_key_length
    - OPENSSL_cleanse
    - EVP_PKEY_CTX_free
    - EVP_CipherInit_ex
    - 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:
    - OPENSSL_free
    - OPENSSL_clear_free
    - cms_kek_cipher
    - ossl_cms_get0_env_enc_content
    - ossl_cms_env_asn1_ctrl
    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:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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_propq
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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_free_of
    - EVP_PKEY_up_ref
    - ossl_cms_set1_ias
    - sk_CMS_RecipientEncryptedKey_push
    - cms_kari_create_ephemeral_key
    - M_ASN1_new_of
    - ASN1_OCTET_STRING_new
    - cms_kari_set_originator_private_key
    - ossl_cms_set1_keyid
    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:
    - sk_CMS_RecipientEncryptedKey_num
    - EVP_PKEY_derive_set_peer
    - ASN1_STRING_set0
    - ossl_cms_RecipientInfo_wrap_init
    - cms_kek_cipher
    - ERR_raise
    - ossl_cms_get0_env_enc_content
    - M_ASN1_new_of
    - STACK_OF
    - ossl_cms_env_asn1_ctrl
    - sk_CMS_RecipientEncryptedKey_value
    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_s_null
    - BIO_s_mem
    - BIO_new
    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: 76
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: cms_copy_content
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - SMIME_text
    - BIO_read
    - BIO_write
    - BIO_free
    - ERR_raise
    - BIO_get_cipher_status
    - cms_get_text_bio
    - BIO_method_type
    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:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: check_content
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_get0_content
    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:95,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_smime.c:96,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_smime.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - f
    - upto
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: do_free_upto
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - BIO_free_all
    - BIO_pop
    - BIO_free
    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:109,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:110,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:113,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:116,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_smime.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cms
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 10
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: CMS_data
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_get0_type
    - cms_copy_content
    - BIO_free_all
    - ERR_raise
    - OBJ_obj2nid
    - CMS_dataInit
    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:124,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:129,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:132,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: 134
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 134
    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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - flags
    argTypes:
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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:147,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:148,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:152,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:155,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:159,1
    - Dst: ossl_cms_DigestedData_do_final
      Src: /src/openssl/crypto/cms/cms_smime.c:161,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:162,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: 164
      start: 141
    functionDepth: 10
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: CMS_digest_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - check_content
    - ossl_cms_DigestedData_do_final
    - CMS_get0_type
    - do_free_upto
    - cms_copy_content
    - ERR_raise
    - OBJ_obj2nid
    - CMS_dataInit
    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:177,1
    - Dst: ossl_cms_DigestedData_create
      Src: /src/openssl/crypto/cms/cms_smime.c:178,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:183,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:185,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:188,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: 190
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 190
    functionName: CMS_digest_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_final
    - CMS_set_detached
    - EVP_sha1
    - CMS_ContentInfo_free
    - ossl_cms_DigestedData_create
    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:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - md
    - flags
    argTypes:
    - BIO*
    - EVP_MD*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 196
    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:205,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:205,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:206,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:210,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/crypto/cms/cms_smime.c:213,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:215,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:218,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:219,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: 221
      start: 198
    functionDepth: 10
    functionLinenumber: 198
    functionLinenumberEnd: 221
    functionName: CMS_EncryptedData_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - check_content
    - CMS_get0_type
    - do_free_upto
    - cms_copy_content
    - CMS_EncryptedData_set1_key
    - ERR_raise
    - OBJ_obj2nid
    - CMS_dataInit
    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:232,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:235,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/crypto/cms/cms_smime.c:238,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:242,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:245,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:249,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: 251
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 251
    functionName: CMS_EncryptedData_encrypt_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_final
    - CMS_set_detached
    - CMS_ContentInfo_new_ex
    - CMS_EncryptedData_set1_key
    - ERR_raise
    - CMS_ContentInfo_free
    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:257,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: 259
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 259
    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: 38
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:309,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:310,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:311,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:312,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_smime.c:317,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:319,1
    - Dst: CMS_get0_eContentType
      Src: /src/openssl/crypto/cms/cms_smime.c:322,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_smime.c:324,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:330,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:333,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:337,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:338,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/openssl/crypto/cms/cms_smime.c:339,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:344,1
    - Dst: CMS_set1_signers_certs
      Src: /src/openssl/crypto/cms/cms_smime.c:345,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:348,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/cms/cms_smime.c:358,1
    - Dst: ossl_cms_get1_certs_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:362,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cms/cms_smime.c:364,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cms/cms_smime.c:365,1
    - Dst: ossl_cms_get1_crls_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:370,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:373,1
    - Dst: cms_signerinfo_verify_cert
      Src: /src/openssl/crypto/cms/cms_smime.c:375,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:386,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_smime.c:387,1
    - Dst: CMS_SignerInfo_verify
      Src: /src/openssl/crypto/cms/cms_smime.c:389,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:392,1
    - Dst: ossl_cms_check_signing_certs
      Src: /src/openssl/crypto/cms/cms_smime.c:394,1
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/cms/cms_smime.c:407,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/cms/cms_smime.c:411,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/cms/cms_smime.c:412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:414,1
    - Dst: cms_get_text_bio
      Src: /src/openssl/crypto/cms/cms_smime.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:431,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:434,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/cms/cms_smime.c:441,1
    - Dst: SMIME_text
      Src: /src/openssl/crypto/cms/cms_smime.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:446,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:451,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:455,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:459,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:460,1
    - Dst: CMS_SignerInfo_verify_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:461,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:462,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:471,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_smime.c:473,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:476,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_smime.c:478,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_smime.c:480,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_smime.c:484,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cms/cms_smime.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_smime.c:490,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cms/cms_smime.c:492,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/crypto/cms/cms_smime.c:493,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 146
    argCount: 6
    argNames:
    - cms
    - certs
    - store
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF*
    - X509_STORE*
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 305
    functionDepth: 15
    functionLinenumber: 305
    functionLinenumberEnd: 496
    functionName: CMS_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - do_free_upto
    - sk_CMS_SignerInfo_num
    - cms_copy_content
    - SMIME_crlf_copy
    - sk_X509_num
    - CMS_SignerInfo_verify
    - CMS_dataInit
    - OPENSSL_free
    - ossl_cms_get1_certs_ex
    - ERR_raise
    - sk_CMS_SignerInfo_value
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - CMS_set1_signers_certs
    - cms_get_text_bio
    - OPENSSL_calloc
    - cms_signerinfo_verify_cert
    - BIO_method_type
    - sk_X509_pop_free
    - BIO_free
    - OBJ_obj2nid
    - CMS_SignerInfo_verify_ex
    - CMS_signed_get_attr_count
    - check_content
    - SMIME_text
    - sk_X509_CRL_pop_free
    - CMS_get0_eContentType
    - OSSL_STACK_OF_X509_free
    - ossl_x509_add_certs_new
    - BIO_free_all
    - BIO_get_mem_data
    - BIO_new_mem_buf
    - CMS_SignerInfo_get0_algs
    - ossl_cms_check_signing_certs
    - ossl_cms_get1_crls_ex
    - CMS_get0_SignerInfos
    linkageType: ''
    returnType: int
    signature: "int CMS_verify(CMS_ContentInfo *cms, const STACK_OF(X509) *certs,\n
      \   X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_verify
      Src: /src/openssl/crypto/cms/cms_smime.c:505,1
    - Dst: ossl_cms_Receipt_verify
      Src: /src/openssl/crypto/cms/cms_smime.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rcms
    - ocms
    - certs
    - store
    - flags
    argTypes:
    - CMS_ContentInfo*
    - CMS_ContentInfo*
    - STACK_OF*
    - X509_STORE*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 16
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: CMS_verify_receipt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_verify
    - ossl_cms_Receipt_verify
    linkageType: ''
    returnType: int
    signature: "int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms,\n
      \   const STACK_OF(X509) *certs,\n    X509_STORE *store, unsigned int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:519,1
    - Dst: CMS_SignedData_init
      Src: /src/openssl/crypto/cms/cms_smime.c:520,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:521,1
    - Dst: CMS_set1_eContentType
      Src: /src/openssl/crypto/cms/cms_smime.c:525,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_smime.c:526,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:527,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/crypto/cms/cms_smime.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:532,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cms/cms_smime.c:536,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cms/cms_smime.c:537,1
    - Dst: CMS_add1_cert
      Src: /src/openssl/crypto/cms/cms_smime.c:539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:540,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:546,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:549,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:555,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 7
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    - libctx
    - propq
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF*
    - BIO*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 511
    functionDepth: 15
    functionLinenumber: 511
    functionLinenumberEnd: 557
    functionName: CMS_sign_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - CMS_final
    - CMS_set_detached
    - CMS_ContentInfo_new_ex
    - CMS_add1_cert
    - ERR_raise
    - CMS_set1_eContentType
    - sk_X509_num
    - sk_X509_value
    - CMS_add1_signer
    - CMS_ContentInfo_free
    - CMS_SignedData_init
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_sign_ex(X509 *signcert, EVP_PKEY *pkey,\n    const
      STACK_OF(X509) *certs, BIO *data,\n    unsigned int flags, OSSL_LIB_CTX *libctx,\n
      \   const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_sign_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 16
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: CMS_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_sign_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey,\n    const
      STACK_OF(X509) *certs, BIO *data, unsigned int flags)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:580,1
    - Dst: CMS_sign_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:586,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_smime.c:587,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_smime.c:588,1
    - Dst: CMS_set1_eContentType
      Src: /src/openssl/crypto/cms/cms_smime.c:593,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_smime.c:593,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/crypto/cms/cms_smime.c:596,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:598,1
    - Dst: ossl_cms_encode_Receipt
      Src: /src/openssl/crypto/cms/cms_smime.c:602,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/cms/cms_smime.c:607,1
    - Dst: ossl_cms_msgSigDigest_add1
      Src: /src/openssl/crypto/cms/cms_smime.c:613,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:617,1
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_smime.c:621,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_smime.c:629,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:632,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_smime.c:633,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 5
    argNames:
    - si
    - signcert
    - pkey
    - certs
    - flags
    argTypes:
    - CMS_SignerInfo*
    - X509*
    - EVP_PKEY*
    - STACK_OF*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 565
    functionDepth: 16
    functionLinenumber: 565
    functionLinenumberEnd: 635
    functionName: CMS_sign_receipt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_sign_ex
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - CMS_get0_content
    - CMS_final
    - BIO_free
    - ossl_cms_encode_Receipt
    - ossl_cms_ctx_get0_propq
    - ERR_raise
    - BIO_new_mem_buf
    - CMS_set1_eContentType
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_msgSigDigest_add1
    - CMS_add1_signer
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si,\n    X509 *signcert,
      EVP_PKEY *pkey,\n    const STACK_OF(X509) *certs, unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_smime.c:645,1
    - Dst: CMS_AuthEnvelopedData_create_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:646,1
    - Dst: CMS_EnvelopedData_create_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:647,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:649,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cms/cms_smime.c:652,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cms/cms_smime.c:653,1
    - Dst: CMS_add1_recipient_cert
      Src: /src/openssl/crypto/cms/cms_smime.c:654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:655,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:661,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:667,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - certs
    - data
    - cipher
    - flags
    - libctx
    - propq
    argTypes:
    - STACK_OF*
    - BIO*
    - EVP_CIPHER*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 637
    functionDepth: 17
    functionLinenumber: 637
    functionLinenumberEnd: 672
    functionName: CMS_encrypt_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_final
    - CMS_set_detached
    - EVP_CIPHER_get_flags
    - ERR_raise
    - sk_X509_num
    - CMS_AuthEnvelopedData_create_ex
    - sk_X509_value
    - CMS_EnvelopedData_create_ex
    - CMS_add1_recipient_cert
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_encrypt_ex(const STACK_OF(X509) *certs, BIO *data,\n
      \   const EVP_CIPHER *cipher, unsigned int flags,\n    OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_encrypt_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - certs
    - data
    - cipher
    - flags
    argTypes:
    - STACK_OF*
    - BIO*
    - EVP_CIPHER*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 18
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: CMS_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_encrypt_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_encrypt(const STACK_OF(X509) *certs, BIO *data,\n
      \   const EVP_CIPHER *cipher, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:685,1
    - Dst: CMS_RecipientInfo_kari_get0_reks
      Src: /src/openssl/crypto/cms/cms_smime.c:688,1
    - Dst: sk_CMS_RecipientEncryptedKey_num
      Src: /src/openssl/crypto/cms/cms_smime.c:689,1
    - Dst: sk_CMS_RecipientEncryptedKey_value
      Src: /src/openssl/crypto/cms/cms_smime.c:692,1
    - Dst: CMS_RecipientEncryptedKey_cert_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:693,1
    - Dst: CMS_RecipientInfo_kari_set0_pkey_and_peer
      Src: /src/openssl/crypto/cms/cms_smime.c:695,1
    - Dst: CMS_RecipientInfo_kari_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:696,1
    - Dst: CMS_RecipientInfo_kari_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:697,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: 703
      start: 680
    functionDepth: 15
    functionLinenumber: 680
    functionLinenumberEnd: 703
    functionName: cms_kari_set1_pkey_and_peer
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - sk_CMS_RecipientEncryptedKey_num
    - CMS_RecipientInfo_kari_decrypt
    - CMS_RecipientInfo_kari_get0_reks
    - CMS_RecipientInfo_kari_set0_pkey
    - STACK_OF
    - sk_CMS_RecipientEncryptedKey_value
    - CMS_RecipientEncryptedKey_cert_cmp
    - CMS_RecipientInfo_kari_set0_pkey_and_peer
    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:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - pk
    - cert
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    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:713,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:713,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_smime.c:717,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_smime.c:721,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/openssl/crypto/cms/cms_smime.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:731,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:735,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:738,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/crypto/cms/cms_smime.c:739,1
    - Dst: ossl_cms_pkey_is_ri_type_supported
      Src: /src/openssl/crypto/cms/cms_smime.c:740,1
    - Dst: cms_kari_set1_pkey_and_peer
      Src: /src/openssl/crypto/cms/cms_smime.c:744,1
    - Dst: CMS_RecipientInfo_kemri_cert_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:750,1
    - Dst: CMS_RecipientInfo_kemri_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:751,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:752,1
    - Dst: CMS_RecipientInfo_kemri_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:753,1
    - Dst: CMS_RecipientInfo_ktri_cert_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:759,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_smime.c:760,1
    - Dst: CMS_RecipientInfo_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:762,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:763,1
    - Dst: CMS_RecipientInfo_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:764,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_smime.c:771,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:776,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_smime.c:793,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:798,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: 800
      start: 710
    functionDepth: 16
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: CMS_decrypt_set1_pkey_and_peer
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - ossl_cms_pkey_get_ri_type
    - cms_kari_set1_pkey_and_peer
    - CMS_RecipientInfo_decrypt
    - CMS_RecipientInfo_ktri_cert_cmp
    - ossl_cms_pkey_is_ri_type_supported
    - CMS_get0_RecipientInfos
    - OPENSSL_clear_free
    - EVP_PKEY_up_ref
    - ERR_raise
    - CMS_RecipientInfo_type
    - ossl_cms_get0_env_enc_content
    - STACK_OF
    - sk_CMS_RecipientInfo_num
    - CMS_RecipientInfo_kemri_set0_pkey
    - sk_CMS_RecipientInfo_value
    - CMS_RecipientInfo_set0_pkey
    - CMS_RecipientInfo_kemri_cert_cmp
    - ERR_clear_error
    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:806,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:810,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:811,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:812,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/crypto/cms/cms_smime.c:813,1
    - Dst: CMS_RecipientInfo_kekri_id_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:818,1
    - Dst: CMS_RecipientInfo_set0_key
      Src: /src/openssl/crypto/cms/cms_smime.c:820,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:821,1
    - Dst: CMS_RecipientInfo_set0_key
      Src: /src/openssl/crypto/cms/cms_smime.c:822,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:826,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_smime.c:829,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:834,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: 836
      start: 802
    functionDepth: 16
    functionLinenumber: 802
    functionLinenumberEnd: 836
    functionName: CMS_decrypt_set1_key
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_RecipientInfo_set0_key
    - CMS_RecipientInfo_decrypt
    - CMS_get0_RecipientInfos
    - CMS_RecipientInfo_kekri_id_cmp
    - ERR_raise
    - CMS_RecipientInfo_type
    - sk_CMS_RecipientInfo_num
    - STACK_OF
    - sk_CMS_RecipientInfo_value
    - ERR_clear_error
    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:841,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:841,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_smime.c:844,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_smime.c:848,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:853,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:854,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/crypto/cms/cms_smime.c:855,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/openssl/crypto/cms/cms_smime.c:860,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:861,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/openssl/crypto/cms/cms_smime.c:862,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:868,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: 870
      start: 838
    functionDepth: 16
    functionLinenumber: 838
    functionLinenumberEnd: 870
    functionName: CMS_decrypt_set1_password
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - CMS_RecipientInfo_decrypt
    - CMS_get0_RecipientInfos
    - OPENSSL_clear_free
    - ERR_raise
    - CMS_RecipientInfo_set0_password
    - CMS_RecipientInfo_type
    - ossl_cms_get0_env_enc_content
    - sk_CMS_RecipientInfo_num
    - STACK_OF
    - 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:878,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:878,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:882,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:885,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_smime.c:887,1
    - Dst: CMS_decrypt_set1_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:892,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:894,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:897,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:898,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: 900
      start: 872
    functionDepth: 10
    functionLinenumber: 872
    functionLinenumberEnd: 900
    functionName: CMS_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - check_content
    - CMS_decrypt_set1_pkey
    - CMS_get0_type
    - do_free_upto
    - cms_copy_content
    - ERR_raise
    - OBJ_obj2nid
    - ossl_cms_get0_env_enc_content
    - CMS_dataInit
    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:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:908,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/cms/cms_smime.c:912,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/cms/cms_smime.c:916,1
    - Dst: CMS_dataFinal_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:918,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:919,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:926,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: 929
      start: 902
    functionDepth: 10
    functionLinenumber: 902
    functionLinenumberEnd: 929
    functionName: CMS_final
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 6
    functionsReached:
    - CMS_dataFinal_ex
    - do_free_upto
    - SMIME_crlf_copy
    - ERR_raise
    - BIO_flush
    - CMS_dataInit
    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:938,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:939,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/cms/cms_smime.c:943,1
    - Dst: ossl_cms_DataFinal
      Src: /src/openssl/crypto/cms/cms_smime.c:945,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:946,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:952,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: 954
      start: 931
    functionDepth: 10
    functionLinenumber: 931
    functionLinenumberEnd: 954
    functionName: CMS_final_digest
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - do_free_upto
    - ERR_raise
    - BIO_flush
    - ossl_cms_DataFinal
    - CMS_dataInit
    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:964,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:964,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:965,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:969,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:972,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:975,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:976,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: 978
      start: 958
    functionDepth: 10
    functionLinenumber: 958
    functionLinenumberEnd: 978
    functionName: CMS_uncompress
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - check_content
    - CMS_get0_type
    - do_free_upto
    - cms_copy_content
    - ERR_raise
    - OBJ_obj2nid
    - CMS_dataInit
    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:986,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:991,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:993,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:996,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - in
    - comp_nid
    - flags
    argTypes:
    - BIO*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 980
    functionDepth: 11
    functionLinenumber: 980
    functionLinenumberEnd: 998
    functionName: CMS_compress
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ossl_cms_CompressedData_create
    - CMS_ContentInfo_free
    - CMS_final
    - CMS_set_detached
    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:1005,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: 1007
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1007
    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:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - comp_nid
    - flags
    argTypes:
    - BIO*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    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_CIPHER_asn1_to_param
    - CMS_RecipientInfo_kemri_get0_ctx
    - ERR_raise
    - EVP_CIPHER_CTX_get_key_length
    - ossl_cms_RecipientInfo_kemri_get0_alg
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_CIPHER_get_mode
    - EVP_EncryptInit_ex
    - OBJ_obj2txt
    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:
    - OSSL_PARAM_construct_octet_string
    - X509_ALGOR_copy
    - OSSL_PARAM_modified
    - OBJ_nid2obj
    - ASN1_TYPE_free
    - CMS_RecipientInfo_kemri_get0_kdf_alg
    - OSSL_PARAM_construct_end
    - CMS_RecipientInfo_get0_pkey_ctx
    - ASN1_OBJECT_free
    - X509_ALGOR_free
    - ASN1_TYPE_get
    - EVP_PKEY_CTX_get0_pkey
    - EVP_CIPHER_CTX_get_type
    - CMS_RecipientInfo_kemri_get0_ctx
    - ASN1_TYPE_new
    - OBJ_obj2nid
    - EVP_PKEY_get_security_bits
    - X509_ALGOR_set0
    - X509_ALGOR_get0
    - d2i_X509_ALGOR
    - EVP_PKEY_get_params
    - EVP_CIPHER_CTX_get_key_length
    - ossl_cms_RecipientInfo_kemri_get0_alg
    - EVP_CIPHER_param_to_asn1
    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_decrypt
    - ERR_raise
    - kem_cms_encrypt
    - 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
    - RSA_OAEP_PARAMS_free
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    linkageType: ''
    returnType: RSA_OAEP_PARAMS
    signature: RSA_OAEP_PARAMS *rsa_oaep_decode(const X509_ALGOR *alg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:53,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:56,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:62,1
    - Dst: rsa_oaep_decode
      Src: /src/openssl/crypto/cms/cms_rsa.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:69,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:73,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:76,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_rsa.c:81,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:88,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_rsa.c:92,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_rsa.c:93,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/crypto/cms/cms_rsa.c:96,1
    - Dst: EVP_PKEY_CTX_set_rsa_oaep_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:98,1
    - Dst: EVP_PKEY_CTX_set_rsa_mgf1_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:100,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/cms/cms_rsa.c:103,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/crypto/cms/cms_rsa.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:109,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:117,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 119
    functionName: rsa_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - OPENSSL_free
    - ERR_raise
    - EVP_PKEY_CTX_set_rsa_oaep_md
    - OBJ_obj2nid
    - ASN1_STRING_length
    - CMS_RecipientInfo_ktri_get0_algs
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_CTX_set_rsa_mgf1_md
    - CMS_RecipientInfo_get0_pkey_ctx
    - X509_ALGOR_get0
    - ASN1_STRING_get0_data
    - RSA_OAEP_PARAMS_free
    - ossl_x509_algor_get_md
    - rsa_oaep_decode
    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:128,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:132,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/openssl/crypto/cms/cms_rsa.c:135,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:139,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:139,1
    - Dst: EVP_PKEY_CTX_get_rsa_oaep_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:145,1
    - Dst: EVP_PKEY_CTX_get_rsa_mgf1_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:147,1
    - Dst: EVP_PKEY_CTX_get0_rsa_oaep_label
      Src: /src/openssl/crypto/cms/cms_rsa.c:149,1
    - Dst: RSA_OAEP_PARAMS_new
      Src: /src/openssl/crypto/cms/cms_rsa.c:152,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:155,1
    - Dst: ossl_x509_algor_md_to_mgf1
      Src: /src/openssl/crypto/cms/cms_rsa.c:157,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_rsa.c:160,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/cms/cms_rsa.c:164,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:167,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/cms/cms_rsa.c:175,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_rsa.c:175,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:177,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:177,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:182,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:183,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:184,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 186
    functionName: rsa_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - ossl_x509_algor_md_to_mgf1
    - ossl_X509_ALGOR_from_nid
    - CMS_RecipientInfo_ktri_get0_algs
    - RSA_OAEP_PARAMS_free
    - EVP_PKEY_CTX_get_rsa_padding
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - ASN1_STRING_free
    - ossl_x509_algor_new_from_md
    - EVP_PKEY_CTX_get_rsa_mgf1_md
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get_rsa_oaep_md
    - ASN1_OCTET_STRING_set
    - ASN1_item_pack
    - EVP_PKEY_CTX_get0_rsa_oaep_label
    - X509_ALGOR_set0
    - ASN1_ITEM_rptr
    - ASN1_OCTET_STRING_new
    - RSA_OAEP_PARAMS_new
    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:190,1
    - Dst: rsa_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_rsa.c:193,1
    - Dst: rsa_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_rsa.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:198,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: 189
        line_start: 189
        source_file: /src/openssl/crypto/cms/cms_rsa.c
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: ossl_cms_rsa_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 1
    functionsReached:
    - rsa_cms_encrypt
    - ERR_raise
    - assert
    - rsa_cms_decrypt
    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:206,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:212,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/openssl/crypto/cms/cms_rsa.c:214,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:218,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:218,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/cms/cms_rsa.c:225,1
    - Dst: ossl_rsa_ctx_to_pss_string
      Src: /src/openssl/crypto/cms/cms_rsa.c:229,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:232,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:232,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:234,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_rsa.c:238,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_rsa.c:240,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/cms/cms_rsa.c:242,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_rsa.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 249
    functionName: rsa_cms_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - OBJ_nid2obj
    - OSSL_PARAM_construct_octet_string
    - ASN1_STRING_free
    - CMS_SignerInfo_get0_pkey_ctx
    - OSSL_PARAM_construct_end
    - ossl_rsa_ctx_to_pss_string
    - EVP_PKEY_CTX_get_params
    - CMS_SignerInfo_get0_algs
    - X509_ALGOR_set0
    - EVP_PKEY_CTX_get_rsa_padding
    - d2i_X509_ALGOR
    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:255,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_rsa.c:256,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:258,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:259,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:261,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_rsa.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:264,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 275
    functionName: rsa_cms_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get0_pkey
    - CMS_SignerInfo_get0_pkey_ctx
    - ERR_raise
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - CMS_SignerInfo_get0_algs
    - EVP_PKEY_is_a
    - ossl_rsa_pss_to_ctx
    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:279,1
    - Dst: rsa_cms_verify
      Src: /src/openssl/crypto/cms/cms_rsa.c:282,1
    - Dst: rsa_cms_sign
      Src: /src/openssl/crypto/cms/cms_rsa.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:287,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: 278
        line_start: 278
        source_file: /src/openssl/crypto/cms/cms_rsa.c
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: ossl_cms_rsa_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - rsa_cms_sign
    - assert
    - rsa_cms_verify
    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:24,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_io.c:28,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_io.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - boundary
    - cms
    argTypes:
    - unsigned char***
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: CMS_stream
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ERR_raise
    - CMS_get0_content
    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:42,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/cms/cms_io.c:44,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:44,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:45,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_io.c:46,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_io.c:48,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:49,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_io.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bp
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: d2i_CMS_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ossl_cms_resolve_libctx
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_cmsctx
    - ASN1_ITEM_rptr
    - ERR_set_mark
    - ASN1_item_d2i_bio_ex
    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:57,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    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:64,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: BIO_new_CMS
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - BIO_new_NDEF
    - ASN1_ITEM_rptr
    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:72,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:73,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: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    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:79,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:80,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: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    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:85,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_io.c:86,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_io.c:87,1
    - Dst: CMS_get0_eContentType
      Src: /src/openssl/crypto/cms/cms_io.c:87,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_io.c:88,1
    - Dst: SMIME_write_ASN1_ex
      Src: /src/openssl/crypto/cms/cms_io.c:95,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:97,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:98,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_io.c:99,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: 100
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: SMIME_write_CMS
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - SMIME_write_ASN1_ex
    - ossl_cms_ctx_get0_propq
    - OBJ_obj2nid
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_cmsctx
    - STACK_OF
    - ASN1_ITEM_rptr
    - CMS_get0_eContentType
    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:106,1
    - Dst: SMIME_read_ASN1_ex
      Src: /src/openssl/crypto/cms/cms_io.c:108,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:109,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:111,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_io.c:112,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_io.c:114,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:115,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_io.c:116,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: 119
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: SMIME_read_CMS_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - SMIME_read_ASN1_ex
    - ERR_pop_to_mark
    - ossl_cms_ctx_get0_propq
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_get0_cmsctx
    - ASN1_ITEM_rptr
    - ERR_set_mark
    - ossl_cms_resolve_libctx
    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:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - bcont
    argTypes:
    - BIO*
    - BIO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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:44,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:45,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:46,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:47,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: 50
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: cms_si_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - X509_free
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int cms_si_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
      void *exarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:90,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: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    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,
      void *exarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:127,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: 130
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 130
    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,
      void *exarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_asn1.c:152,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_asn1.c:155,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:158,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:159,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: 162
      start: 148
    functionDepth: 8
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: cms_kari_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_CTX_set_flags
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int cms_kari_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
      void *exarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_asn1.c:194,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_asn1.c:197,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:200,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:201,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:202,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: 205
      start: 188
    functionDepth: 8
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: cms_kemri_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - ASN1_OCTET_STRING_free
    - EVP_CIPHER_CTX_set_flags
    - EVP_CIPHER_CTX_free
    - EVP_PKEY_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:242,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:243,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:244,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:247,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:250,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_asn1.c:259,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: 271
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: cms_ri_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - X509_free
    - OPENSSL_clear_free
    - OBJ_obj2nid
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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:361,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_asn1.c:365,1
    - Dst: CMS_dataFinal
      Src: /src/openssl/crypto/cms/cms_asn1.c:372,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:377,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: 381
      start: 349
    functionDepth: 10
    functionLinenumber: 349
    functionLinenumberEnd: 381
    functionName: cms_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CMS_dataFinal
    - CMS_stream
    - CMS_dataInit
    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:465,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_asn1.c:465,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: 466
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 466
    functionName: CMS_SharedInfo_encode
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 2
    functionsReached:
    - ASN1_item_i2d
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg,
      ASN1_OCTET_STRING *ukm, int keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_asn1.c:493,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_asn1.c:494,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: 495
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: CMS_CMSORIforKEMOtherInfo_encode
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 1
    functionsReached:
    - ASN1_item_i2d
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int CMS_CMSORIforKEMOtherInfo_encode(unsigned char **pder, X509_ALGOR
      *wrap, ASN1_OCTET_STRING *ukm, int keylen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:25,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:27,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:29,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:31,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: s390x_fc_from_md
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    - S390X_CAPBIT
    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:65,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: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: s390x_fc_from_md
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:75,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:79,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:84,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:86,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:101,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:107,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:118,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:125,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:134,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:138,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:139,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:140,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - ctx
    - key
    - key_len
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 70
    functionDepth: 10
    functionLinenumber: 70
    functionLinenumberEnd: 152
    functionName: s390x_HMAC_init
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_get_block_size
    - memcpy
    - EVP_DigestUpdate
    - OPENSSL_calloc
    - OPENSSL_cleanse
    - ossl_assert
    - s390x_fc_from_md
    linkageType: ''
    returnType: int
    signature: int s390x_HMAC_init(HMAC_CTX *ctx, const void *key, int key_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:159,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:168,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:178,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:181,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:189,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:200,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:208,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:212,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: 217
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 217
    functionName: s390x_HMAC_update
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_assert
    - s390x_call_kmac
    - ERR_raise
    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:225,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:230,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:255,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: 260
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 260
    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:269,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:272,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: s390x_HMAC_CTX_copy
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - memcpy
    - 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:289,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 303
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/hmac/hmac.c:52,1
    - Dst: s390x_HMAC_init
      Src: /src/openssl/crypto/hmac/hmac.c:56,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac.c:64,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac.c:65,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac.c:70,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:71,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac.c:72,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac.c:78,1
    - Dst: memset
      Src: /src/openssl/crypto/hmac/hmac.c:82,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac.c:87,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:88,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac.c:89,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac.c:94,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:95,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac.c:96,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:99,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac.c:104,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac.c:105,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 55
    argCount: 5
    argNames:
    - ctx
    - key
    - len
    - md
    - impl
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    - EVP_MD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 25
    functionDepth: 11
    functionLinenumber: 25
    functionLinenumberEnd: 108
    functionName: HMAC_Init_ex
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - s390x_HMAC_init
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_copy_ex
    - EVP_MD_get_block_size
    - EVP_MD_xof
    - memset
    - EVP_DigestUpdate
    - memcpy
    - ossl_assert
    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:114,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/hmac/hmac.c:115,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: 116
      start: 111
    functionDepth: 12
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: HMAC_Init
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - HMAC_Init_ex
    - HMAC_CTX_reset
    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:126,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:129,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: 130
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: HMAC_Update
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - s390x_HMAC_update
    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:142,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac.c:145,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:147,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:149,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac.c:151,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: 156
      start: 132
    functionDepth: 8
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: HMAC_Final
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - s390x_HMAC_final
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_copy_ex
    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:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    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:167,1
    - Dst: HMAC_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:170,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: HMAC_CTX_new
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - HMAC_CTX_reset
    - HMAC_CTX_free
    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:180,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:181,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:182,1
    - Dst: s390x_HMAC_CTX_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 7
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: hmac_ctx_cleanup
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_reset
    - s390x_HMAC_CTX_cleanup
    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:193,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:194,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:195,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hmac/hmac.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: HMAC_CTX_free
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - hmac_ctx_cleanup
    - EVP_MD_CTX_free
    - OPENSSL_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:204,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/hmac/hmac.c:208,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/hmac/hmac.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 216
    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:220,1
    - Dst: hmac_ctx_alloc_mds
      Src: /src/openssl/crypto/hmac/hmac.c:221,1
    - Dst: hmac_ctx_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 8
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: HMAC_CTX_reset
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 2
    functionsReached:
    - hmac_ctx_cleanup
    - hmac_ctx_alloc_mds
    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:230,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:232,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:234,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:236,1
    - Dst: s390x_HMAC_CTX_copy
      Src: /src/openssl/crypto/hmac/hmac.c:241,1
    - Dst: hmac_ctx_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 8
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: HMAC_CTX_copy
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - hmac_ctx_cleanup
    - s390x_HMAC_CTX_copy
    - EVP_MD_CTX_copy_ex
    - hmac_ctx_alloc_mds
    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:256,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/crypto/hmac/hmac.c:261,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/hmac/hmac.c:261,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: 268
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: HMAC
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 3
    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:272,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/hmac/hmac.c:273,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/hmac/hmac.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - HMAC_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    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: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    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_end
    - BN_CTX_start
    - BN_is_one
    - BN_is_zero
    - bn_check_top
    - BN_copy
    - BN_lsw
    - BN_CTX_get
    - BN_is_bit_set
    - BN_nnmod
    - BN_is_odd
    - BN_rshift
    - BN_abs_is_word
    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:29,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:30,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:32,1
    - Dst: BN_CTX_get
      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_new
      Src: /src/openssl/crypto/bn/bn_gcd.c:44,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:50,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:52,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:53,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:55,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:59,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_gcd.c:66,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:67,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:68,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:82,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_gcd.c:97,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:98,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_gcd.c:101,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_gcd.c:141,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:143,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:162,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:167,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:169,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:170,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:173,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_gcd.c:187,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:188,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:189,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: 191
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 191
    functionName: bn_mod_inverse_no_branch
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - BN_is_zero
    - BN_copy
    - BN_CTX_start
    - BN_zero
    - BN_sub
    - bn_check_top
    - BN_CTX_get
    - bn_init
    - BN_nnmod
    - BN_mul
    - BN_one
    - BN_CTX_end
    - BN_is_one
    - BN_new
    - BN_add
    - BN_div
    - BN_free
    - BN_with_flags
    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:206,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:206,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:213,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:214,1
    - Dst: bn_mod_inverse_no_branch
      Src: /src/openssl/crypto/bn/bn_gcd.c:215,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:218,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:219,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:221,1
    - Dst: BN_CTX_get
      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_new
      Src: /src/openssl/crypto/bn/bn_gcd.c:233,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:239,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:241,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:242,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:244,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:247,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:248,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gcd.c:260,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:260,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:269,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_gcd.c:283,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gcd.c:286,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:287,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:293,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:297,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_gcd.c:305,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gcd.c:308,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:309,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:313,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:317,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:333,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:335,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_gcd.c:341,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:345,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_gcd.c:350,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:357,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:367,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:367,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:368,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:370,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:372,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:372,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:374,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:376,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:378,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:380,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:384,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:386,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:388,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:390,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:397,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:402,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_gcd.c:407,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:448,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:449,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:452,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:453,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:455,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:456,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:459,1
    - Dst: BN_mul_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:461,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_gcd.c:464,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:467,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:487,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:492,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:494,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:495,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:498,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_gcd.c:508,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:509,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:510,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: 512
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 512
    functionName: int_bn_mod_inverse
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - BN_set_word
    - BN_is_zero
    - BN_copy
    - bn_mod_inverse_no_branch
    - BN_is_word
    - BN_mul_word
    - BN_CTX_start
    - BN_zero
    - BN_sub
    - bn_check_top
    - BN_CTX_get
    - BN_nnmod
    - BN_lshift1
    - BN_mul
    - BN_one
    - BN_lshift
    - BN_CTX_end
    - BN_is_one
    - BN_usub
    - BN_is_odd
    - BN_get_flags
    - BN_num_bits
    - BN_rshift
    - BN_new
    - BN_add
    - BN_uadd
    - BN_rshift1
    - BN_div
    - BN_is_bit_set
    - BN_free
    - BN_abs_is_word
    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:523,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gcd.c:525,1
    - Dst: int_bn_mod_inverse
      Src: /src/openssl/crypto/bn/bn_gcd.c:530,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gcd.c:532,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/bn/bn_gcd.c:533,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: 535
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: BN_mod_inverse
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - int_bn_mod_inverse
    - 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:553,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:554,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/bn/bn_gcd.c:558,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:559,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_gcd.c:560,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bn/bn_gcd.c:562,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 566
    functionName: BN_are_coprime
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BN_CTX_end
    - BN_CTX_start
    - ERR_set_mark
    - BN_CTX_get
    - BN_mod_inverse
    - 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:589,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:590,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:594,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:595,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:600,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:601,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:603,1
    - Dst: BN_CTX_get
      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_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:609,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:610,1
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/crypto/bn/bn_gcd.c:619,1
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/crypto/bn/bn_gcd.c:620,1
    - Dst: constant_time_select_bn
      Src: /src/openssl/crypto/bn/bn_gcd.c:622,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:635,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:636,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gcd.c:641,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_consttime_swap
      Src: /src/openssl/crypto/bn/bn_gcd.c:647,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:650,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:651,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: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 690
    functionName: BN_gcd
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - bn_check_top
    - BN_copy
    - BN_rshift1
    - BN_CTX_get
    - constant_time_select_bn
    - BN_lshift1
    - BN_consttime_swap
    - constant_time_is_zero_bn
    - BN_rshift
    - BN_num_bits
    - bn_wexpand
    - BN_lshift
    - BN_add
    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_mul_mont_int
    - bn_mul_mont_300_fixed_n6
    - bn_mul_mont_fixed_n6
    - bn_mul4x_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
    - rsaz_1024_gather5_avx2
    - rsaz_1024_norm2red_avx2
    - rsaz_1024_mul_avx2
    - bn_reduce_once_in_place
    - OPENSSL_cleanse
    - rsaz_1024_red2norm_avx2
    - rsaz_1024_sqr_avx2
    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
    - rsaz_512_mul
    - rsaz_512_mul_by_one
    - rsaz_512_mul_gather4
    - rsaz_512_gather4
    - bn_reduce_once_in_place
    - OPENSSL_cleanse
    - rsaz_512_mul_scatter4
    - rsaz_512_sqr
    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_end
    - BN_ucmp
    - BN_CTX_start
    - BN_is_zero
    - BN_zero
    - BN_usub
    - bn_check_top
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - BN_rshift1
    - BN_lshift1
    - BN_num_bits
    - bn_wexpand
    - 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: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    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: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    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:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_div.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_div.c:227,1
    - Dst: bn_div_fixed_top
      Src: /src/openssl/crypto/bn/bn_div.c:231,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_div.c:235,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_div.c:237,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: 241
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 241
    functionName: BN_div
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 4
    functionsReached:
    - bn_div_fixed_top
    - ERR_raise
    - bn_correct_top
    - BN_is_zero
    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:275,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_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:279,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:280,1
    - Dst: BN_CTX_start
      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_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:285,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:286,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_div.c:291,1
    - Dst: bn_left_align
      Src: /src/openssl/crypto/bn/bn_div.c:293,1
    - Dst: bn_lshift_fixed_top
      Src: /src/openssl/crypto/bn/bn_div.c:302,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:310,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_div.c:312,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:329,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:338,1
    - Dst: bn_div_3_words
      Src: /src/openssl/crypto/bn/bn_div.c:348,1
    - Dst: bn_div_words
      Src: /src/openssl/crypto/bn/bn_div.c:364,1
    - Dst: bn_div_words
      Src: /src/openssl/crypto/bn/bn_div.c:388,1
    - Dst: BN_UMULT_LOHI
      Src: /src/openssl/crypto/bn/bn_div.c:394,1
    - Dst: BN_UMULT_HIGH
      Src: /src/openssl/crypto/bn/bn_div.c:397,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: LBITS
      Src: /src/openssl/crypto/bn/bn_div.c:403,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_div.c:404,1
    - Dst: mul64
      Src: /src/openssl/crypto/bn/bn_div.c:405,1
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_div.c:424,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_div.c:431,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_div.c:440,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_div.c:442,1
    - Dst: bn_rshift_fixed_top
      Src: /src/openssl/crypto/bn/bn_div.c:452,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_div.c:455,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:458,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_div.c:459,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: 441
        line_start: 441
        source_file: /src/openssl/crypto/bn/bn_div.c
    - condition: (divisor->top > 0 && divisor->d[divisor->top - 1] != 0)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/openssl/crypto/bn/bn_div.c
    constantsTouched: []
    func_position:
      end: 461
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 461
    functionName: bn_div_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 1
    functionsReached:
    - BN_copy
    - HBITS
    - bn_mul_words
    - BN_CTX_start
    - LBITS
    - bn_check_top
    - BN_CTX_get
    - bn_add_words
    - BN_CTX_end
    - bn_wexpand
    - BN_UMULT_LOHI
    - bn_div_3_words
    - BN_UMULT_HIGH
    - memset
    - assert
    - mul64
    - bn_lshift_fixed_top
    - bn_rshift_fixed_top
    - bn_div_words
    - bn_sub_words
    - bn_left_align
    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_wexpand
    - bn_check_top
    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_zero
    - bn_check_top
    - bn_wexpand
    - BN_is_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:
    - bn_wexpand
    - bn_check_top
    - assert
    - memset
    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_check_top
    - ERR_raise
    - bn_rshift_fixed_top
    - bn_correct_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
    - assert
    - bn_wexpand
    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:158,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_lib.c:161,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_lib.c:164,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_lib.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 176
    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:181,1
    - Dst: bn_num_bits_consttime
      Src: /src/openssl/crypto/bn/bn_lib.c:193,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:196,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_lib.c:196,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_lib.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: BN_num_bits
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 11
    functionsReached:
    - bn_num_bits_consttime
    - BN_is_zero
    - ossl_unlikely
    - 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:204,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/bn/bn_lib.c:205,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_lib.c:207,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - clear
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: bn_free_d
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_secure_clear_free
    - BN_get_flags
    - 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:216,1
    - Dst: bn_free_d
      Src: /src/openssl/crypto/bn/bn_lib.c:217,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:218,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_lib.c:219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: BN_clear_free
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_cleanse
    - bn_free_d
    - BN_get_flags
    - OPENSSL_free
    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:228,1
    - Dst: bn_free_d
      Src: /src/openssl/crypto/bn/bn_lib.c:229,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: BN_free
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 23
    functionsReached:
    - bn_free_d
    - BN_get_flags
    - 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:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    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:246,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: BN_new
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 8
    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:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 260
    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:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_lib.c:269,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:272,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_lib.c:273,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:276,1
    - Dst: OPENSSL_secure_calloc
      Src: /src/openssl/crypto/bn/bn_lib.c:277,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/bn/bn_lib.c:279,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:280,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_lib.c:283,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_lib.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - b
    - words
    argTypes:
    - BIGNUM*
    - int
    assertStmts:
    - condition: (b->top <= words)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/openssl/crypto/bn/bn_lib.c
    constantsTouched: []
    func_position:
      end: 288
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 288
    functionName: bn_expand_internal
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ERR_raise
    - OPENSSL_secure_calloc
    - assert
    - BN_get_flags
    - OPENSSL_calloc
    - memcpy
    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:300,1
    - Dst: bn_expand_internal
      Src: /src/openssl/crypto/bn/bn_lib.c:301,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:303,1
    - Dst: bn_free_d
      Src: /src/openssl/crypto/bn/bn_lib.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - b
    - words
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: bn_expand2
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_likely
    - bn_expand_internal
    - bn_free_d
    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:320,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:322,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/bn/bn_lib.c:322,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_lib.c:322,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_lib.c:325,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_lib.c:326,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 331
    functionName: BN_dup
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 4
    functionsReached:
    - bn_check_top
    - BN_copy
    - BN_free
    - BN_get_flags
    - BN_new
    - BN_secure_new
    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:337,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:339,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:341,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:343,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_lib.c:343,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_lib.c:346,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_lib.c:347,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 354
    functionName: BN_copy
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 9
    functionsReached:
    - ossl_likely
    - ossl_unlikely
    - bn_check_top
    - BN_get_flags
    - bn_wexpand
    - memcpy
    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: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    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: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    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:365,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:366,1
    - Dst: FLAGS_STRUCT
      Src: /src/openssl/crypto/bn/bn_lib.c:386,1
    - Dst: FLAGS_DATA
      Src: /src/openssl/crypto/bn/bn_lib.c:386,1
    - Dst: FLAGS_STRUCT
      Src: /src/openssl/crypto/bn/bn_lib.c:387,1
    - Dst: FLAGS_DATA
      Src: /src/openssl/crypto/bn/bn_lib.c:387,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:388,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 390
    functionName: BN_swap
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn_check_top
    - FLAGS_DATA
    - FLAGS_STRUCT
    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:396,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_lib.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 402
    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: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    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:416,1
    - Dst: bn_expand
      Src: /src/openssl/crypto/bn/bn_lib.c:417,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: BN_set_word
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 5
    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:448,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:451,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_lib.c:458,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_lib.c:507,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_lib.c:508,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:530,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: 532
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 532
    functionName: bin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 11
    functionsReached:
    - BN_clear
    - bn_check_top
    - BN_free
    - bn_correct_top
    - bn_wexpand
    - BN_new
    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:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: BN_bin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 10
    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:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 542
    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:558,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:582,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_lib.c:583,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_lib.c:593,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: 625
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 625
    functionName: bn2binpad
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 7
    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:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 4
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: BN_bn2binpad
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 7
    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:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 639
    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:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - to
    argTypes:
    - BIGNUM*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 644
    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:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 649
    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:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 4
    functionLinenumber: 651
    functionLinenumberEnd: 654
    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:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 661
    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:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 668
    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:675,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 670
    functionDepth: 5
    functionLinenumber: 670
    functionLinenumberEnd: 677
    functionName: BN_native2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - BN_lebin2bn
    - BN_bin2bn
    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:684,1
    - Dst: BN_signed_bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 5
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: BN_signed_native2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - BN_signed_lebin2bn
    - BN_signed_bin2bn
    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:693,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 688
    functionDepth: 5
    functionLinenumber: 688
    functionLinenumberEnd: 695
    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:702,1
    - Dst: BN_signed_bn2bin
      Src: /src/openssl/crypto/bn/bn_lib.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 5
    functionLinenumber: 697
    functionLinenumberEnd: 704
    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:714,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:719,1
    - Dst: constant_time_lt_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:719,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:721,1
    - Dst: constant_time_lt_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:721,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:727,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 741
    functionName: BN_ucmp
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 4
    functionsReached:
    - constant_time_select_int
    - bn_check_top
    - constant_time_lt_bn
    - BN_get_flags
    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:758,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:759,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 788
    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:800,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 811
    functionName: BN_set_bit
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn_wexpand
    - bn_check_top
    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:817,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 829
    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:835,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:836,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 843
    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: 864
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 864
    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:870,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/openssl/crypto/bn/bn_lib.c:871,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: BN_mask_bits
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - ossl_bn_mask_bits_fixed_top
    - bn_check_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:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 883
    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:890,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_lib.c:895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 904
    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:932,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: 933
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 933
    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:947,1
    - Dst: bn_wcheck_size
      Src: /src/openssl/crypto/bn/bn_lib.c:948,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: 994
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 994
    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: 1021
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1021
    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: 1028
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1028
    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: 1033
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    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: 1038
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    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:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    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:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1058,1
    - Dst: constant_time_eq_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:1058,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1061,1
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:1061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1064
    functionName: ossl_bn_is_word_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - constant_time_select_int
    - constant_time_is_zero_bn
    - constant_time_eq_bn
    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: 1069
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    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: 1074
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    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:1079,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: 1080
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1080
    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: 1091
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1091
    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:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1101
    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:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cb
    argTypes:
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1108
    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: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    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: 1118
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    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: 1128
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    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: 1138
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1138
    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: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    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:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - words
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1145
    functionDepth: 3
    functionLinenumber: 1145
    functionLinenumberEnd: 1148
    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:1162,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1163,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1166,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1170
    functionName: bn_correct_top_consttime
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - constant_time_select_int
    - constant_time_eq_int
    - constant_time_msb
    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:1177,1
    - Dst: bn_pollute
      Src: /src/openssl/crypto/bn/bn_lib.c:1188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1189
    functionName: bn_correct_top
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 8
    functionsReached:
    - bn_pollute
    - ossl_likely
    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
    - a
    - m
    - 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:
    - BN_mod
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BN_nnmod(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, 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:
    - OPENSSL_free
    - bn_sub_words
    - OSSL_NELEM
    - bn_wexpand
    - OPENSSL_malloc_array
    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_sub
    - BN_nnmod
    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:
    - BN_sub
    - ERR_raise
    - 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_end
    - BN_CTX_start
    - BN_sqr
    - bn_check_top
    - BN_CTX_get
    - BN_nnmod
    - BN_mul
    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_mod
    - BN_sqr
    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_lshift1
    - bn_check_top
    - BN_nnmod
    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_lshift1
    - BN_sub
    - bn_check_top
    - BN_cmp
    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_mod_lshift_quick
    - bn_check_top
    - BN_nnmod
    - BN_free
    - BN_dup
    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:
    - BN_sub
    - bn_check_top
    - BN_copy
    - ERR_raise
    - BN_lshift1
    - BN_num_bits
    - BN_cmp
    - 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:
    - OPENSSL_zalloc
    - OPENSSL_free
    - BN_BLINDING_set_current_thread
    - BN_BLINDING_free
    - bn_check_top
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - BN_get_flags
    - BN_set_flags
    - BN_dup
    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
    - BN_free
    - OPENSSL_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:105,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:109,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:110,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:113,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:114,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 2
    argNames:
    - b
    - ctx
    argTypes:
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 124
    functionName: BN_BLINDING_update
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - bn_mul_mont_fixed_top
    - BN_mod_mul
    - ERR_raise
    - 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:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:138,1
    - Dst: BN_BLINDING_update
      Src: /src/openssl/crypto/bn/bn_blind.c:145,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_blind.c:148,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_blind.c:152,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:154,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: 157
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 157
    functionName: BN_BLINDING_convert_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - BN_BLINDING_update
    - bn_check_top
    - BN_copy
    - BN_mod_mul_montgomery
    - ERR_raise
    - 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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    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:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:172,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:191,1
    - Dst: bn_correct_top_consttime
      Src: /src/openssl/crypto/bn/bn_blind.c:192,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:194,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_blind.c:197,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: 199
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 199
    functionName: BN_BLINDING_invert_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - bn_mul_mont_fixed_top
    - bn_check_top
    - ERR_raise
    - BN_mod_mul
    - bn_correct_top_consttime
    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:203,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/bn/bn_blind.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    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:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    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:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    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:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    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: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    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: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    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:245,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_blind.c:252,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_blind.c:254,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_blind.c:258,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_blind.c:259,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/bn/bn_blind.c:271,1
    - Dst: int_bn_mod_inverse
      Src: /src/openssl/crypto/bn/bn_blind.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:283,1
    - Dst: BN_BLINDING*::bn_mod_exp
      Src: /src/openssl/crypto/bn/bn_blind.c:289,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_blind.c:292,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:297,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:298,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/bn/bn_blind.c:305,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: 310
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 310
    functionName: BN_BLINDING_create_param
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - BN_BLINDING_free
    - bn_to_mont_fixed_top
    - ERR_raise
    - BN_mod_exp
    - BN_BLINDING_new
    - BN_free
    - int_bn_mod_inverse
    - BN_BLINDING*::bn_mod_exp
    - BN_new
    - BN_priv_rand_range_ex
    - BN_dup
    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: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    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: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    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: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    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: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    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: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    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: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    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: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    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: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    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: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    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: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    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: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    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: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    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: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    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: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    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: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    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:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - void*
    - NIST_INT64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    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: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    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:363,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:364,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:370,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:370,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:371,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:373,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:375,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:378,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:381,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:384,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:388,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:397,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:400,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:403,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:406,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:409,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:413,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:416,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:420,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:423,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:426,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:429,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:432,1
    - Dst: nist_set_192
      Src: /src/openssl/crypto/bn/bn_nist.c:440,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:441,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:446,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:450,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:461,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:464,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:466,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: 469
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 469
    functionName: BN_nist_mod_192
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - nist_set_192
    - BN_ucmp
    - bn_correct_top
    - BN_zero
    - load_u32
    - bn_sub_words
    - BN_copy
    - BN_nnmod
    - store_lo32
    - nist_cp_bn
    - OSSL_NELEM
    - nist_cp_bn_0
    - bn_wexpand
    - bn_add_words
    - BN_is_negative
    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: 484
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 484
    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:499,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:500,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:506,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:506,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:507,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:509,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:511,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:514,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:517,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:520,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:526,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:529,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:533,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:593,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:594,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:595,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:596,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:597,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:598,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:599,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:600,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:609,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:622,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:632,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:634,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 86
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 637
    functionName: BN_nist_mod_224
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - bn_correct_top
    - BN_zero
    - bn_sub_words
    - BN_copy
    - BN_nnmod
    - nist_set_224
    - nist_cp_bn
    - OSSL_NELEM
    - nist_cp_bn_0
    - bn_wexpand
    - bn_add_words
    - BN_is_negative
    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: 650
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 650
    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:665,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:666,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:672,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:672,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:673,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:675,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:677,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:680,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:683,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:686,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:690,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:699,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:706,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:709,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:716,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:719,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:737,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:740,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:748,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:751,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:759,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:762,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:771,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:774,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:783,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:794,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:798,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:799,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:813,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:817,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:818,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:822,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:823,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:827,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:828,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:832,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:833,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:837,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:838,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:842,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:843,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:849,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:852,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:861,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:863,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: 866
      start: 651
    functionDepth: 4
    functionLinenumber: 651
    functionLinenumberEnd: 866
    functionName: BN_nist_mod_256
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - bn_correct_top
    - BN_zero
    - load_u32
    - bn_sub_words
    - BN_copy
    - BN_nnmod
    - store_lo32
    - nist_cp_bn
    - OSSL_NELEM
    - nist_cp_bn_0
    - bn_wexpand
    - nist_set_256
    - bn_add_words
    - BN_is_negative
    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: 883
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 883
    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:898,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:899,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:905,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:905,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:906,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:908,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:910,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:913,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:916,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:919,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:923,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:932,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:937,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:940,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:946,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:949,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:954,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:957,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:965,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:968,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:979,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:982,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:991,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:994,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1002,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1005,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1011,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1014,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1019,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1022,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1027,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1030,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1035,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1038,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1043,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:1054,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1067,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1072,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1076,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1078,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1082,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1084,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1088,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1089,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1093,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1094,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1098,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1100,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1104,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1105,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1109,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1110,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1116,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1119,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:1128,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:1130,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: 1133
      start: 884
    functionDepth: 4
    functionLinenumber: 884
    functionLinenumberEnd: 1133
    functionName: BN_nist_mod_384
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - nist_set_384
    - bn_correct_top
    - BN_zero
    - load_u32
    - bn_sub_words
    - BN_copy
    - BN_nnmod
    - store_lo32
    - nist_cp_bn
    - OSSL_NELEM
    - nist_cp_bn_0
    - bn_wexpand
    - nist_set_256
    - bn_add_words
    - BN_is_negative
    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:1146,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:1147,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:1153,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1153,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:1154,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1156,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:1158,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:1161,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:1164,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:1167,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:1172,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1194,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1195,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:1199,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:1201,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: 1204
      start: 1139
    functionDepth: 4
    functionLinenumber: 1139
    functionLinenumberEnd: 1204
    functionName: BN_nist_mod_521
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - bn_correct_top
    - BN_zero
    - bn_sub_words
    - BN_copy
    - BN_nnmod
    - nist_cp_bn
    - OSSL_NELEM
    - nist_cp_bn_0
    - bn_wexpand
    - bn_add_words
    - BN_is_negative
    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:1209,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1211,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1213,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1215,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1217,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: 1220
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1220
    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_bn
      Src: /src/openssl/crypto/bn/rsaz_exp.h:63,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: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: bn_select_words
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp.h
    functionUses: 0
    functionsReached:
    - constant_time_select_bn
    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:72,1
    - Dst: bn_select_words
      Src: /src/openssl/crypto/bn/rsaz_exp.h:73,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: 75
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: bn_reduce_once_in_place
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp.h
    functionUses: 2
    functionsReached:
    - bn_sub_words
    - bn_select_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: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    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: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    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: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    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: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    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: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    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: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    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: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    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: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    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: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    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: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    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: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    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: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    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: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    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: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    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: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    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: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    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: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    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: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    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: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    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: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    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: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    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: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    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: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    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: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    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: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    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: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    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: 505
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 505
    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: 515
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 515
    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: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    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: 536
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 536
    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: 547
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 547
    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: 554
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 554
    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: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    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: 562
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 562
    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: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    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: 565
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 565
    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: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    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: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    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: 587
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 587
    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: 605
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 605
    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: 615
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 615
    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: 634
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 634
    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:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - bits
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 680
    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_ucmp
    - BN_uadd
    - BN_zero
    - BN_usub
    - bn_check_top
    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_ucmp
    - BN_uadd
    - BN_zero
    - BN_usub
    - bn_check_top
    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_wexpand
    - bn_check_top
    - 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:
    - bn_sub_words
    - bn_check_top
    - ERR_raise
    - bn_pollute
    - bn_wexpand
    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: 1382
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1382
    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: 58
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 58
    functionName: BN_mod_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 0
    functionsReached:
    - bn_check_top
    - BN_free
    - BN_div_word
    - BN_dup
    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:65,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_word.c:75,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_word.c:77,1
    - Dst: bn_div_words
      Src: /src/openssl/crypto/bn/bn_word.c:84,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: BN_div_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 1
    functionsReached:
    - BN_lshift
    - bn_check_top
    - BN_num_bits_word
    - bn_div_words
    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:102,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_word.c:109,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_word.c:110,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_word.c:114,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_word.c:115,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_word.c:124,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: BN_add_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 3
    functionsReached:
    - BN_set_word
    - BN_is_zero
    - bn_check_top
    - bn_wexpand
    - BN_sub_word
    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:137,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_word.c:144,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_word.c:145,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/bn/bn_word.c:147,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_word.c:153,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 178
    functionName: BN_sub_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 3
    functionsReached:
    - BN_set_word
    - BN_is_zero
    - BN_set_negative
    - 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:184,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_word.c:188,1
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_word.c:190,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_word.c:192,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: BN_mul_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 1
    functionsReached:
    - BN_zero
    - bn_check_top
    - bn_mul_words
    - bn_wexpand
    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:30,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:35,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_rand.c:45,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:50,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:51,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:63,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_rand.c:89,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_rand.c:93,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_rand.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:98,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: 100
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 100
    functionName: bnrand
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_zero
    - OPENSSL_clear_free
    - bn_check_top
    - ossl_bn_get_libctx
    - ERR_raise
    - RAND_priv_bytes_ex
    - 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:105,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: 106
      start: 102
    functionDepth: 6
    functionLinenumber: 102
    functionLinenumberEnd: 106
    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:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 116
    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:122,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: 123
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 123
    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:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 6
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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:140,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:145,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rand.c:149,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:154,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_rand.c:155,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_rand.c:155,1
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:161,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:171,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rand.c:172,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:174,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rand.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:180,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:184,1
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:193,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: 133
    functionDepth: 6
    functionLinenumber: 133
    functionLinenumberEnd: 201
    functionName: bnrand_range
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_zero
    - BN_sub
    - bn_check_top
    - ERR_raise
    - bnrand
    - BN_is_bit_set
    - BN_num_bits
    - BN_cmp
    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:275,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_rand.c:278,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: 283
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 283
    functionName: ossl_bn_priv_rand_range_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - BN_is_zero
    - BN_zero
    - ERR_raise
    - bnrand
    - ossl_bn_mask_bits_fixed_top
    - BN_num_bits
    - bn_correct_top
    - BN_set_flags
    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:298,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/bn/bn_rand.c:307,1
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/bn/bn_rand.c:314,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_rand.c:319,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_rand.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:332,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/bn/bn_rand.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:338,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:345,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: 293
    functionDepth: 10
    functionLinenumber: 293
    functionLinenumberEnd: 395
    functionName: ossl_bn_gen_dsa_nonce_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_ucmp
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - OPENSSL_cleanse
    - ERR_raise
    - RAND_priv_bytes_ex
    - EVP_MD_CTX_free
    - BN_set_flags
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - ossl_bn_get_libctx
    - EVP_MD_fetch
    - EVP_MD_free
    - BN_num_bits
    - BN_bn2binpad
    - BN_num_bytes
    - EVP_DigestFinal_ex
    - ossl_bn_mask_bits_fixed_top
    - bn_correct_top
    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:
    - bn_correct_top
    - ossl_bn_gen_dsa_nonce_fixed_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: 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_5.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_5.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_5.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_5.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_5.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: 2
    argNames:
    - nbits
    - c
    argTypes:
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes(int nbits,\n
      \   uint32_t c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:146,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:148,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:153,1
    - Dst: ossl_bn_check_generated_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:155,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:161,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:164,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: 168
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: bn_rsa_fips186_5_find_aux_prob_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_5.c
    functionUses: 0
    functionsReached:
    - ossl_bn_check_generated_prime
    - BN_GENCB_call
    - BN_copy
    - BN_set_flags
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: "int bn_rsa_fips186_5_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_5.c:206,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:208,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:209,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:210,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:211,1
    - Dst: bn_rsa_fips186_5_aux_prime_min_size
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:215,1
    - Dst: bn_rsa_fips186_5_aux_prime_MR_rounds
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:218,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:223,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:230,1
    - Dst: bn_rsa_fips186_5_find_aux_prob_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:236,1
    - Dst: bn_rsa_fips186_5_find_aux_prob_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:237,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:240,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:240,1
    - Dst: bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:240,1
    - Dst: ossl_bn_rsa_fips186_5_derive_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:243,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:250,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:252,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:254,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:256,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:257,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 12
    argNames:
    - p
    - Xpout
    - p1
    - p2
    - Xp
    - Xp1
    - Xp2
    - nlen
    - e
    - ctx
    - cb
    - c
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 192
    functionDepth: 7
    functionLinenumber: 192
    functionLinenumberEnd: 259
    functionName: ossl_bn_rsa_fips186_5_gen_prob_primes
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_5.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_clear
    - BN_CTX_start
    - ossl_bn_rsa_fips186_5_derive_prime
    - bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
    - BN_CTX_get
    - bn_rsa_fips186_5_aux_prime_MR_rounds
    - BN_priv_rand_ex
    - bn_rsa_fips186_5_aux_prime_min_size
    - BN_num_bits
    - bn_rsa_fips186_5_find_aux_prob_prime
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_rsa_fips186_5_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,
      uint32_t c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_words
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:267,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - y
    - r1r2x2
    - c
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 275
    functionName: get_multiple_of_y_congruent_to_cmod8
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_5.c
    functionUses: 0
    functionsReached:
    - bn_get_words
    - BN_add
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline get_multiple_of_y_congruent_to_cmod8(BIGNUM *y, const BIGNUM
      *r1r2x2, int c)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:313,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:315,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:316,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:317,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:318,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:319,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:320,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:321,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:322,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:326,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:339,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:341,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:342,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:343,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:343,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:344,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:357,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:358,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:360,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:361,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:362,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:363,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:365,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:368,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:368,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:374,1
    - Dst: bn_rsa_fips186_5_prime_MR_rounds
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:387,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:395,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:395,1
    - Dst: BN_mod_sub
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:399,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:399,1
    - Dst: get_multiple_of_y_congruent_to_cmod8
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:407,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:414,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:420,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:423,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:424,1
    - Dst: BN_are_coprime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:427,1
    - Dst: ossl_bn_check_generated_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:437,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:440,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:446,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:448,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_5.c:449,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 93
    argCount: 10
    argNames:
    - Y
    - X
    - Xin
    - r1
    - r2
    - nlen
    - e
    - ctx
    - cb
    - c
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 302
    functionDepth: 8
    functionLinenumber: 302
    functionLinenumberEnd: 451
    functionName: ossl_bn_rsa_fips186_5_derive_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_5.c
    functionUses: 1
    functionsReached:
    - BN_copy
    - bn_rsa_fips186_5_prime_MR_rounds
    - BN_priv_rand_range_ex
    - BN_are_coprime
    - BN_CTX_start
    - BN_sub
    - ERR_raise
    - BN_CTX_get
    - BN_lshift1
    - get_multiple_of_y_congruent_to_cmod8
    - BN_mul
    - BN_lshift
    - BN_CTX_end
    - ossl_bn_check_generated_prime
    - BN_num_bits
    - BN_mod_sub
    - BN_is_negative
    - BN_add
    - BN_clear
    - BN_GENCB_call
    - BN_mod_inverse
    - BN_value_one
    - BN_sub_word
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_rsa_fips186_5_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, uint32_t c)"
  - 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:
    - BN_is_zero
    - OPENSSL_malloc
    - OPENSSL_free
    - ERR_raise
    - BN_is_bit_set
    - BN_num_bits
    - BN_is_negative
    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: 2
    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:
    - bn_wexpand
    - memcpy
    - ERR_raise
    - 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: 7
    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_end
    - BN_CTX_start
    - BN_sqr
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - BN_is_bit_set
    - bn_check_top
    - BN_is_odd
    - BN_get_flags
    - BN_num_bits
    - BN_mul
    - BN_one
    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_mod_exp_recp
    - bn_check_top
    - BN_is_odd
    - BN_get_flags
    - BN_mod_exp_simple
    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:233,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:245,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:247,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:252,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:258,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:260,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:277,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:289,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:294,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:305,1
    - Dst: BN_RECP_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:306,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:307,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: 309
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 309
    functionName: BN_mod_exp_recp
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - BN_is_zero
    - BN_RECP_CTX_init
    - BN_copy
    - BN_CTX_start
    - BN_zero
    - bn_check_top
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_RECP_CTX_free
    - BN_RECP_CTX_set
    - BN_mod_mul_reciprocal
    - BN_one
    - BN_CTX_end
    - BN_num_bits
    - BN_get_flags
    - BN_window_bits_for_exponent_size
    - BN_is_bit_set
    - BN_abs_is_word
    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:322,1
    - 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_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:327,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:332,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_mod_exp_mont_consttime
      Src: /src/openssl/crypto/bn/bn_exp.c:335,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:338,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:341,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:343,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:345,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:350,1
    - Dst: BN_CTX_get
      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_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:364,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:366,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp.c:370,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:371,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:376,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:379,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:381,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:385,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:385,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:399,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:409,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_exp.c:409,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:414,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:416,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:434,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:446,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:451,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:472,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:476,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:481,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:482,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:483,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: 485
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 485
    functionName: BN_mod_exp_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 4
    functionsReached:
    - BN_ucmp
    - BN_from_montgomery
    - BN_CTX_start
    - BN_zero
    - bn_check_top
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_MONT_CTX_free
    - BN_one
    - BN_CTX_end
    - bn_mul_mont_fixed_top
    - BN_mod_exp_mont_consttime
    - BN_mod_mul_montgomery
    - BN_is_odd
    - BN_get_flags
    - BN_num_bits
    - BN_MONT_CTX_set
    - BN_window_bits_for_exponent_size
    - BN_MONT_CTX_new
    - bn_to_mont_fixed_top
    - BN_is_bit_set
    - BN_value_one
    - bn_wexpand
    - BN_abs_is_word
    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: 504
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 504
    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: 529
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 529
    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:547,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:555,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:567,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:568,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:569,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:577,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: 587
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 587
    functionName: MOD_EXP_CTIME_COPY_FROM_PREBUF
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - bn_wexpand
    - constant_time_eq_int
    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: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    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:620,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:621,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:629,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:639,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:641,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:643,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:648,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:657,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:659,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp.c:663,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:664,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:666,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:678,1
    - Dst: rsaz_avx2_eligible
      Src: /src/openssl/crypto/bn/bn_exp.c:679,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:680,1
    - Dst: RSAZ_1024_mod_exp_avx2
      Src: /src/openssl/crypto/bn/bn_exp.c:682,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:686,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:689,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:690,1
    - Dst: RSAZ_512_mod_exp
      Src: /src/openssl/crypto/bn/bn_exp.c:692,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:695,1
    - Dst: BN_window_bits_for_ctime_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:702,1
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_exp.c:726,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_exp.c:729,1
    - Dst: MOD_EXP_CTIME_ALIGN
      Src: /src/openssl/crypto/bn/bn_exp.c:733,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_exp.c:734,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:760,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_exp.c:760,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:764,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:841,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:842,1
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_exp.c:844,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:845,1
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_exp.c:850,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:851,1
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_exp.c:855,1
    - Dst: bn_flip_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:857,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:868,1
    - Dst: bn_gather5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:869,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:879,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:890,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:891,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:892,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:893,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:894,1
    - Dst: bn_mul_mont_gather5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:895,1
    - Dst: bn_flip_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:899,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:903,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_exp.c:904,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:954,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:955,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:956,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:957,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:962,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:963,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:968,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:969,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:973,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:974,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:976,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:977,1
    - Dst: bn_mul_mont_gather5
      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
      Src: /src/openssl/crypto/bn/bn_exp.c:983,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:984,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:987,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:988,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1000,1
    - Dst: bn_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:1001,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1009,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1010,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1011,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1012,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1013,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:1014,1
    - Dst: bn_get_bits5
      Src: /src/openssl/crypto/bn/bn_exp.c:1015,1
    - Dst: bn_power5
      Src: /src/openssl/crypto/bn/bn_exp.c:1019,1
    - Dst: bn_get_bits5
      Src: /src/openssl/crypto/bn/bn_exp.c:1020,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1040,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1042,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1052,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1054,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1059,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1061,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1076,1
    - Dst: MOD_EXP_CTIME_COPY_FROM_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1077,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1090,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1104,1
    - Dst: MOD_EXP_CTIME_COPY_FROM_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1108,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1113,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:1128,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1132,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1137,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_exp.c:1139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1140,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:1142,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 276
    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: 1144
      start: 603
    functionDepth: 5
    functionLinenumber: 603
    functionLinenumberEnd: 1144
    functionName: bn_mod_exp_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - alloca
    - BN_ucmp
    - bn_flip_t4
    - bn_power5
    - bn_mul_mont_gather5
    - rsaz_avx2_eligible
    - bn_scatter5
    - bn_get_bits
    - OPENSSL_cleanse
    - BN_CTX_start
    - bn_flip_n_scatter5_t4
    - bn_gather5_t4
    - BN_zero
    - bn_mul_mont_t4
    - OPENSSL_free
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - RSAZ_512_mod_exp
    - BN_MONT_CTX_free
    - BN_one
    - OPENSSL_malloc
    - bn_from_mont_fixed_top
    - BN_CTX_end
    - BN_mod_exp_mont
    - MOD_EXP_CTIME_ALIGN
    - bn_mul_mont_fixed_top
    - RSAZ_1024_mod_exp_avx2
    - BN_value_one
    - BN_mod_mul_montgomery
    - BN_is_odd
    - memset
    - BN_num_bits
    - bn_get_bits5
    - bn_mul_mont_vis3
    - bn_mul_mont
    - BN_MONT_CTX_set
    - BN_window_bits_for_ctime_exponent_size
    - BN_MONT_CTX_new
    - bn_to_mont_fixed_top
    - MOD_EXP_CTIME_COPY_TO_PREBUF
    - bn_mul_mont_gather5_t4
    - bn_gather5
    - MOD_EXP_CTIME_COPY_FROM_PREBUF
    - bn_correct_top
    - bn_wexpand
    - BN_abs_is_word
    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:1150,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1151,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1152,1
    - Dst: bn_mod_exp_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1153,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1155,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: 1157
      start: 1146
    functionDepth: 6
    functionLinenumber: 1146
    functionLinenumberEnd: 1157
    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:1184,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1187,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1191,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1192,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:1194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1195,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1201,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:1204,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1206,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1208,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1213,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:1218,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1219,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1220,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:1227,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1229,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1244,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1248,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:1255,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1260,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1264,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1268,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1280,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1284,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1290,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:1293,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1299,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:1300,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1301,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: 1303
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1303
    functionName: BN_mod_exp_mont_word
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - BN_from_montgomery
    - BN_CTX_start
    - BN_zero
    - bn_check_top
    - ERR_raise
    - BN_CTX_get
    - BN_MONT_CTX_free
    - BN_one
    - BN_CTX_end
    - BN_TO_MONTGOMERY_WORD
    - BN_mod_mul_montgomery
    - BN_is_odd
    - BN_num_bits
    - BN_get_flags
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_is_bit_set
    - BN_MOD_MUL_WORD
    - BN_abs_is_word
    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: 1169
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1169
    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: 1183
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1183
    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:1315,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1316,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1324,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1328,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:1331,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1333,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1335,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:1340,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1341,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1342,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:1346,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1348,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1349,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:1354,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1356,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1360,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1360,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1372,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:1374,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1379,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1385,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1387,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1404,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1416,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1421,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:1432,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1433,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: 1435
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1435
    functionName: BN_mod_exp_simple
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - BN_zero
    - BN_window_bits_for_exponent_size
    - bn_check_top
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_is_bit_set
    - BN_mod_mul
    - BN_num_bits
    - BN_get_flags
    - BN_abs_is_word
    - BN_one
    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:1456,1
    - Dst: ossl_rsaz_avxifma_eligible
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1456,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1460,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:1462,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:1464,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:1471,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1473,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:1479,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1481,1
    - Dst: ossl_rsaz_mod_exp_avx512_x2
      Src: /src/openssl/crypto/bn/bn_exp.c:1485,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1493,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1494,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1498,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1499,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/crypto/bn/bn_exp.c:1506,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/crypto/bn/bn_exp.c:1508,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1513,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1515,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: 1519
      start: 1444
    functionDepth: 7
    functionLinenumber: 1444
    functionLinenumberEnd: 1519
    functionName: BN_mod_exp_mont_consttime_x2
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - ossl_rsaz_avx512ifma_eligible
    - BN_MONT_CTX_set
    - BN_mod_exp_mont_consttime
    - BN_MONT_CTX_new
    - bn_check_top
    - ossl_rsaz_mod_exp_avx512_x2
    - BN_MONT_CTX_free
    - BN_num_bits
    - bn_correct_top
    - bn_wexpand
    - ossl_rsaz_avxifma_eligible
    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_free
    - BN_new
    - BN_GENCB_set_old
    - BN_generate_prime_ex
    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_free
    - BIO_set_fp
    - BIO_s_file
    - BN_print
    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: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    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:126,1
    - Dst: BN_POOL_init
      Src: /src/openssl/crypto/bn/bn_ctx.c:129,1
    - Dst: BN_STACK_init
      Src: /src/openssl/crypto/bn/bn_ctx.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: BN_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 13
    functionsReached:
    - BN_POOL_init
    - BN_STACK_init
    - OPENSSL_zalloc
    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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 155
    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:166,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:176,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/bn/bn_ctx.c:178,1
    - Dst: BN_STACK_finish
      Src: /src/openssl/crypto/bn/bn_ctx.c:180,1
    - Dst: BN_POOL_finish
      Src: /src/openssl/crypto/bn/bn_ctx.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: BN_CTX_free
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 14
    functionsReached:
    - BIO_printf
    - BN_POOL_finish
    - OPENSSL_free
    - OSSL_TRACE_END
    - BN_STACK_finish
    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:166,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    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:187,1
    - Dst: BN_STACK_push
      Src: /src/openssl/crypto/bn/bn_ctx.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_ctx.c:193,1
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: BN_CTX_start
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 26
    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:203,1
    - Dst: BN_STACK_pop
      Src: /src/openssl/crypto/bn/bn_ctx.c:207,1
    - Dst: BN_POOL_release
      Src: /src/openssl/crypto/bn/bn_ctx.c:210,1
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: BN_CTX_end
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 26
    functionsReached:
    - BN_STACK_pop
    - BN_POOL_release
    - CTXDBG
    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:222,1
    - Dst: BN_POOL_get
      Src: /src/openssl/crypto/bn/bn_ctx.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_ctx.c:231,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_ctx.c:235,1
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 241
    functionName: BN_CTX_get
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 27
    functionsReached:
    - BN_zero
    - CTXDBG
    - ERR_raise
    - BN_POOL_get
    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: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    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: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    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:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    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:273,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_ctx.c:276,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - st
    - idx
    argTypes:
    - BN_STACK*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 283
    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: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    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:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - BN_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: BN_POOL_finish
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BN_clear_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:324,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_ctx.c:327,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_ctx.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - p
    - flag
    argTypes:
    - BN_POOL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 352
    functionName: BN_POOL_get
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - BN_set_flags
    - bn_init
    - 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:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - num
    argTypes:
    - BN_POOL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 367
    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:
    - OPENSSL_strdup
    - ossl_to_hex
    - OPENSSL_malloc
    - BN_is_zero
    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_is_zero
    - OPENSSL_free
    - BIO_snprintf
    - BN_free
    - BN_num_bits
    - BN_div_word
    - BN_is_negative
    - OPENSSL_malloc_array
    - OPENSSL_malloc
    - BN_dup
    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:
    - OPENSSL_hexchar2int
    - bn_correct_top
    - BN_zero
    - bn_check_top
    - ERR_raise
    - BN_free
    - BN_get_flags
    - bn_expand
    - ossl_isxdigit
    - BN_new
    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_add_word
    - BN_zero
    - bn_check_top
    - ossl_isdigit
    - BN_free
    - bn_expand
    - bn_correct_top
    - BN_new
    - BN_mul_word
    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:221,1
    - Dst: NUMBER_OF_REGISTERS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:225,1
    - Dst: ossl_rsaz_avx512ifma_eligible
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:241,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:248,1
    - Dst: ALIGN_OF
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:251,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:263,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:264,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:265,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:266,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:267,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:268,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:286,1
    - Dst: set_bit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:288,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:290,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:291,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:293,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:294,1
    - Dst: RSAZ_mod_exp_x2_ifma256
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:303,1
    - Dst: from_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:309,1
    - Dst: from_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:310,1
    - Dst: bn_reduce_once_in_place
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:315,1
    - Dst: bn_reduce_once_in_place
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:316,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:321,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: 324
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 324
    functionName: ossl_rsaz_mod_exp_avx512_x2
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - ossl_rsaz_avx512ifma_eligible
    - OPENSSL_cleanse
    - OPENSSL_free
    - ALIGN_OF
    - from_words52
    - memset
    - to_words52
    - set_bit
    - amm
    - bn_reduce_once_in_place
    - NUMBER_OF_REGISTERS
    - number_of_digits
    - OPENSSL_malloc
    - RSAZ_mod_exp_x2_ifma256
    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:386,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:425,1
    - Dst: ALIGN_OF
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:428,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:442,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:443,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:446,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:448,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:454,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:456,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:478,1
    - Dst: extract
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:491,1
    - Dst: extract
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:532,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:536,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:537,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:538,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:539,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:540,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:542,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:558,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:561,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:569,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: 574
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 574
    functionName: RSAZ_mod_exp_x2_ifma256
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_rsaz_avx512ifma_eligible
    - OPENSSL_cleanse
    - OPENSSL_free
    - DAMS
    - ALIGN_OF
    - damm
    - memset
    - memcpy
    - OPENSSL_assert
    - extract
    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: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    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:580,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - in
    - in_len
    argTypes:
    - uint8_t*
    - int
    assertStmts:
    - condition: (in != NULL)
      pos:
        line_end: 579
        line_start: 579
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (in_len <= 8)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 588
    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:599,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:600,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:602,1
    - Dst: number_of_digits
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:602,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:609,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:612,1
    - Dst: get_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:619,1
    - Dst: get_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:624,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:624,1
    - Dst: get_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:629,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:629,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:634,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: 598
        line_start: 598
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (out_len >= number_of_digits(in_bitsize, DIGIT_SIZE))
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (in != NULL)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 635
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 635
    functionName: to_words52
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - memset
    - assert
    - BITS2WORD8_SIZE
    - get_digit
    - memcpy
    - number_of_digits
    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:639,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:640,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: 638
        line_start: 638
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (out_len <= 8)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 646
    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:655,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:657,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:658,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:671,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:674,1
    - Dst: put_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:679,1
    - Dst: put_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:682,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:682,1
    - Dst: put_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:685,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:685,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: 657
        line_start: 657
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (out != NULL)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 688
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 688
    functionName: from_words52
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - put_digit
    - assert
    - BITS2WORD8_SIZE
    - memcpy
    - BITS2WORD64_SIZE
    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:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - idx
    argTypes:
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (a != NULL)
      pos:
        line_end: 696
        line_start: 696
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 706
    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: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    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: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    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: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    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: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    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: 118
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 118
    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: 215
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 215
    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:228,1
    - Dst: bn_GF2m_mul_1x1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:229,1
    - Dst: bn_GF2m_mul_1x1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:230,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: 234
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 234
    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:249,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:250,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:260,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 274
    functionName: BN_GF2m_add
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - bn_wexpand
    - bn_check_top
    - 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:290,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:294,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:303,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_gf2m.c:338,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_gf2m.c:352,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:371,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - r
    - a
    - p
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 373
    functionName: BN_GF2m_mod_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - ossl_likely
    - BN_zero
    - bn_check_top
    - bn_correct_top
    - bn_wexpand
    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:385,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:386,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:387,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_gf2m.c:387,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_gf2m.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:389,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:392,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - a
    - p
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: BN_GF2m_mod
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_arr
    - bn_check_top
    - ERR_raise
    - OSSL_NELEM
    - BN_GF2m_poly2arr
    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:408,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:409,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:412,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:415,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:416,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:420,1
    - Dst: bn_GF2m_mul_2x2
      Src: /src/openssl/crypto/bn/bn_gf2m.c:433,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:439,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:440,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:442,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:445,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: 447
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 447
    functionName: BN_GF2m_mod_mul_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_sqr_arr
    - BN_GF2m_mod_arr
    - bn_check_top
    - BN_CTX_get
    - bn_GF2m_mul_2x2
    - bn_correct_top
    - bn_wexpand
    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:460,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:463,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:464,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:465,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:467,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:470,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:472,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:475,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:476,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:478,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: 480
      start: 456
    functionDepth: 6
    functionLinenumber: 456
    functionLinenumberEnd: 480
    functionName: BN_GF2m_mod_mul
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_mul_arr
    - OPENSSL_free
    - bn_check_top
    - ERR_raise
    - BN_num_bits
    - OPENSSL_malloc_array
    - BN_GF2m_poly2arr
    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:489,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:490,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:491,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:493,1
    - Dst: SQR1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:497,1
    - Dst: SQR0
      Src: /src/openssl/crypto/bn/bn_gf2m.c:498,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:502,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:503,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:505,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:508,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: 510
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 510
    functionName: BN_GF2m_mod_sqr_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_arr
    - bn_check_top
    - BN_CTX_get
    - bn_correct_top
    - bn_wexpand
    - SQR1
    - SQR0
    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:521,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:524,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:525,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:527,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:530,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:532,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:535,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:536,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:538,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: 540
      start: 518
    functionDepth: 6
    functionLinenumber: 518
    functionLinenumberEnd: 540
    functionName: BN_GF2m_mod_sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_sqr_arr
    - OPENSSL_free
    - bn_check_top
    - ERR_raise
    - BN_num_bits
    - OPENSSL_malloc_array
    - BN_GF2m_poly2arr
    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:554,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:555,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:557,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:559,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:560,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:561,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:562,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/crypto/bn/bn_gf2m.c:566,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:568,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:571,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gf2m.c:574,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gf2m.c:578,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:579,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:581,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gf2m.c:583,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:584,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:587,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_gf2m.c:591,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:594,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:594,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:603,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:605,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:611,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:612,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:616,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:622,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:629,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_gf2m.c:692,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:695,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:699,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:701,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:708,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:709,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:711,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: 713
      start: 548
    functionDepth: 6
    functionLinenumber: 548
    functionLinenumberEnd: 713
    functionName: BN_GF2m_mod_inv_vartime
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - BN_abs_is_word
    - bn_check_top
    - BN_copy
    - BN_rshift1
    - BN_CTX_get
    - BN_GF2m_mod
    - BN_is_odd
    - BN_num_bits_word
    - BN_num_bits
    - bn_correct_top
    - bn_wexpand
    - BN_one
    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:726,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:727,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:731,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_gf2m.c:737,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:740,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/crypto/bn/bn_gf2m.c:743,1
    - Dst: BN_GF2m_mod_inv_vartime
      Src: /src/openssl/crypto/bn/bn_gf2m.c:747,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/crypto/bn/bn_gf2m.c:751,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:757,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: 759
      start: 720
    functionDepth: 7
    functionLinenumber: 720
    functionLinenumberEnd: 759
    functionName: BN_GF2m_mod_inv
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - BN_GF2m_mod_mul
    - BN_GF2m_mod_inv_vartime
    - BN_CTX_get
    - 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:773,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:774,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:775,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/crypto/bn/bn_gf2m.c:777,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/crypto/bn/bn_gf2m.c:780,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:781,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:784,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: 786
      start: 767
    functionDepth: 8
    functionLinenumber: 767
    functionLinenumberEnd: 786
    functionName: BN_GF2m_mod_inv_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - bn_check_top
    - BN_CTX_get
    - BN_GF2m_arr2poly
    - 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:798,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:799,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:800,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:802,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:803,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/crypto/bn/bn_gf2m.c:807,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/crypto/bn/bn_gf2m.c:809,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:811,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:815,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: 817
      start: 792
    functionDepth: 8
    functionLinenumber: 792
    functionLinenumberEnd: 817
    functionName: BN_GF2m_mod_div
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_mul
    - bn_check_top
    - BN_CTX_get
    - 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:831,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:832,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:834,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:835,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/crypto/bn/bn_gf2m.c:837,1
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/crypto/bn/bn_gf2m.c:840,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:841,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:844,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: 846
      start: 825
    functionDepth: 9
    functionLinenumber: 825
    functionLinenumberEnd: 846
    functionName: BN_GF2m_mod_div_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_div
    - BN_CTX_end
    - BN_CTX_start
    - bn_check_top
    - BN_CTX_get
    - BN_GF2m_arr2poly
    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:859,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:860,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:862,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gf2m.c:863,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_gf2m.c:865,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:866,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:868,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:869,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:872,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:875,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:877,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_gf2m.c:879,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:880,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:884,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:886,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:889,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: 891
      start: 853
    functionDepth: 6
    functionLinenumber: 853
    functionLinenumberEnd: 891
    functionName: BN_GF2m_mod_exp_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_sqr_arr
    - BN_GF2m_mod_arr
    - BN_is_zero
    - BN_GF2m_mod_mul_arr
    - bn_check_top
    - BN_copy
    - BN_CTX_get
    - BN_is_bit_set
    - BN_num_bits
    - BN_abs_is_word
    - BN_one
    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:903,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:906,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:907,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:908,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:910,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:913,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:915,1
    - Dst: BN_GF2m_mod_exp_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:918,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:919,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:921,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: 923
      start: 899
    functionDepth: 7
    functionLinenumber: 899
    functionLinenumberEnd: 923
    functionName: BN_GF2m_mod_exp
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - bn_check_top
    - ERR_raise
    - BN_GF2m_mod_exp_arr
    - BN_num_bits
    - OPENSSL_malloc_array
    - BN_GF2m_poly2arr
    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:935,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:939,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:943,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:944,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_gf2m.c:947,1
    - Dst: BN_GF2m_mod_exp_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:949,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:950,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:953,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: 955
      start: 929
    functionDepth: 7
    functionLinenumber: 929
    functionLinenumberEnd: 955
    functionName: BN_GF2m_mod_sqrt_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_bit
    - BN_zero
    - bn_check_top
    - BN_CTX_get
    - BN_GF2m_mod_exp_arr
    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:966,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:969,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:970,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:972,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:975,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:977,1
    - Dst: BN_GF2m_mod_sqrt_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:980,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:981,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:983,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: 985
      start: 963
    functionDepth: 8
    functionLinenumber: 963
    functionLinenumberEnd: 985
    functionName: BN_GF2m_mod_sqrt
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - bn_check_top
    - BN_GF2m_mod_sqrt_arr
    - ERR_raise
    - BN_num_bits
    - OPENSSL_malloc_array
    - BN_GF2m_poly2arr
    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:997,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1001,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1005,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1006,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1007,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1008,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1012,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1015,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1016,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1023,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1026,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1028,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1030,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1036,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1037,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1038,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1042,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1045,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1047,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1048,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1051,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1053,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1055,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1057,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1059,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1063,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1064,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1065,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1070,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1072,1
    - Dst: BN_GF2m_cmp
      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_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1079,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1081,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1086,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: 1088
      start: 991
    functionDepth: 7
    functionLinenumber: 991
    functionLinenumberEnd: 1088
    functionName: BN_GF2m_mod_solve_quad_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_sqr_arr
    - BN_GF2m_mod_arr
    - BN_is_zero
    - BN_zero
    - BN_GF2m_mod_mul_arr
    - bn_check_top
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - BN_priv_rand_ex
    - BN_GF2m_cmp
    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:1100,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1103,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1104,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1106,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1111,1
    - Dst: BN_GF2m_mod_solve_quad_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1114,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1117,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: 1119
      start: 1096
    functionDepth: 8
    functionLinenumber: 1096
    functionLinenumberEnd: 1119
    functionName: BN_GF2m_mod_solve_quad
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - bn_check_top
    - ERR_raise
    - BN_GF2m_mod_solve_quad_arr
    - BN_num_bits
    - OPENSSL_malloc_array
    - BN_GF2m_poly2arr
    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:1143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - a
    - p
    - max
    argTypes:
    - BIGNUM*
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1168
    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:1178,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1179,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1181,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - a
    argTypes:
    - int[]
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1187
    functionName: BN_GF2m_arr2poly
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 2
    functionsReached:
    - BN_zero
    - bn_check_top
    - 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:
    - memset
    - bn_init
    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:
    - BN_free
    - OPENSSL_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_zero
    - BN_copy
    - BN_num_bits
    - BN_is_zero
    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_end
    - BN_CTX_start
    - BN_div_recp
    - BN_sqr
    - bn_check_top
    - BN_CTX_get
    - BN_mul
    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_end
    - BN_CTX_start
    - BN_ucmp
    - BN_is_zero
    - BN_zero
    - BN_usub
    - bn_check_top
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - BN_num_bits
    - BN_rshift
    - BN_mul
    - BN_add_word
    - BN_reciprocal
    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_end
    - BN_CTX_start
    - BN_set_bit
    - bn_check_top
    - BN_div
    - BN_CTX_get
    linkageType: ''
    returnType: int
    signature: int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx)
  - 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:
    - assert
    - 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: 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:
    - HBITS
    - assert
    - LBITS
    - 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: 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
    - HBITS
    - assert
    - LBITS
    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: 267
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 267
    functionName: bn_div_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 2
    functionsReached:
    - assert
    - BN_num_bits_word
    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:276,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: 275
        line_start: 275
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 310
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 310
    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:317,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: 316
        line_start: 316
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 367
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 367
    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:376,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: 375
        line_start: 375
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 430
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 430
    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: 447
    functionDepth: 0
    functionLinenumber: 447
    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: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    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: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    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: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    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: 503
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 503
    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: 518
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 518
    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: 529
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 529
    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: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    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: 548
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 548
    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: 563
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 563
    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: 574
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 574
    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: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    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: 593
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 593
    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: 610
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 610
    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: 620
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 620
    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: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    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: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: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:644,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: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:652,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:653,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: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:660,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:661,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: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:667,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:668,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:674,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:678,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:679,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
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:685,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:686,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:687,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:688,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:689,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:690,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:693,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:694,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:695,1
    - 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:697,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:698,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:701,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:702,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: 98
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 726
    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:735,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:738,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:739,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:742,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:743,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:744,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:747,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:748,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:749,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:750,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:753,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:754,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:755,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:758,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:759,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:762,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: 765
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 765
    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:774,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:777,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:780,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:781,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:785,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:788,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:789,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:790,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:793,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:794,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
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:799,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:800,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:801,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:804,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:805,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:806,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:807,1
    - 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:811,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:812,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:813,1
    - Dst: sqr_add_c2
      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:818,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:821,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:822,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:823,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:826,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:827,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:830,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:831,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:834,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 840
    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:849,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:852,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:855,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:856,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:859,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:860,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:863,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:864,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:867,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 873
    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:904,1
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_asm.c:906,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:913,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:914,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:916,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:919,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:930,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:931,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:933,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:936,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:946,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:947,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:948,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:950,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:955,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:957,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_asm.c:967,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: 979
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 979
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 1
    functionsReached:
    - alloca
    - bn_sqr_mont
    - LBITS
    - mul
    - bn_sub_words
    - HBITS
    - mul_add
    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: 990
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 990
    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:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    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:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    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:1011,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1012,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1013,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1014,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: 1015
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1015
    functionName: bn_mul_comba4
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - bn_mul_words
    - bn_mul_add_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:1019,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1020,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1021,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1022,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1023,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1024,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1025,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1026,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: 1027
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1027
    functionName: bn_mul_comba8
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - bn_mul_words
    - bn_mul_add_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:1039,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1045,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1050,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1059,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: 1071
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1071
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 1
    functionsReached:
    - alloca
    - bn_sub_words
    - bn_mul_add_words
    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: 1077
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1077
    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:54,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_mpi.c:59,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_mpi.c:74,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_mpi.c:76,1
    - Dst: BN_clear_bit
      Src: /src/openssl/crypto/bn/bn_mpi.c:81,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mpi.c:81,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mpi.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - d
    - n
    - ain
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: BN_mpi2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_mpi.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - bn_check_top
    - ERR_raise
    - BN_clear_bit
    - BN_free
    - BN_num_bits
    - BN_new
    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_bin2bn
    - ioctl
    - BN_num_bytes
    - OPENSSL_clear_free
    - OPENSSL_calloc
    - 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:
    - BN_mod_exp_mont
    - s390x_mod_exp_hw
    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:
    - BN_bin2bn
    - ioctl
    - BN_ucmp
    - OPENSSL_zalloc
    - BN_num_bytes
    - OPENSSL_clear_free
    - 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:28,1
    - 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_is_odd
      Src: /src/openssl/crypto/bn/bn_exp2.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp2.c:35,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp2.c:38,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp2.c:39,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp2.c:41,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp2.c:47,1
    - Dst: BN_CTX_get
      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_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp2.c:58,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:60,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp2.c:64,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp2.c:65,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp2.c:70,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_exp2.c:71,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:76,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:77,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:82,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:85,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:90,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:90,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp2.c:98,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_exp2.c:99,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:104,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:105,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:109,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:112,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:117,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:117,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:131,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_exp2.c:131,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:135,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:140,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:145,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:151,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:157,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:162,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:168,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:175,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:183,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:189,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp2.c:194,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp2.c:195,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:196,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: 198
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 198
    functionName: BN_mod_exp2_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_exp2.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - BN_is_zero
    - BN_to_montgomery
    - BN_from_montgomery
    - BN_CTX_start
    - BN_zero
    - bn_check_top
    - ERR_raise
    - BN_CTX_get
    - BN_MONT_CTX_free
    - BN_one
    - BN_CTX_end
    - BN_mod_mul_montgomery
    - BN_is_odd
    - BN_num_bits
    - BN_mod
    - BN_MONT_CTX_set
    - BN_window_bits_for_exponent_size
    - BN_MONT_CTX_new
    - BN_is_bit_set
    - BN_value_one
    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:55,1
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_sparc.c:58,1
    - Dst: bn_mul_mont_fpu
      Src: /src/openssl/crypto/bn/bn_sparc.c:69,1
    - Dst: bn_mul_mont_int
      Src: /src/openssl/crypto/bn/bn_sparc.c:71,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: 72
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 72
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_sparc.c
    functionUses: 1
    functionsReached:
    - bn_mul_mont_int
    - bn_mul_mont_vis3
    - 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_check_top
    - bn_sqr_fixed_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_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:68,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:70,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:74,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_sqr.c:78,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:82,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:84,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:86,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:88,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_end
    - bn_sqr_comba8
    - BN_CTX_start
    - bn_check_top
    - bn_sqr_normal
    - BN_copy
    - BN_CTX_get
    - bn_sqr_comba4
    - bn_sqr_recursive
    - BN_num_bits_word
    - bn_wexpand
    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_sqr_words
    - bn_mul_words
    - bn_add_words
    - bn_mul_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_comba4
      Src: /src/openssl/crypto/bn/bn_sqr.c:163,1
    - Dst: bn_sqr_comba8
      Src: /src/openssl/crypto/bn/bn_sqr.c:166,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:170,1
    - Dst: bn_cmp_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:174,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:177,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:179,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:187,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_sqr.c:189,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:190,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:191,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:199,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:202,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 4
    argNames:
    - r
    - a
    - n2
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 230
    functionName: bn_sqr_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_sqr.c
    functionUses: 2
    functionsReached:
    - bn_sqr_comba8
    - bn_cmp_words
    - bn_sqr_normal
    - bn_sqr_comba4
    - bn_sqr_recursive
    - memset
    - bn_add_words
    - bn_sub_words
    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_2
    - BN_GENCB*::cb::cb_1
    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_end
    - BN_CTX_start
    - bn_mr_min_checks
    - OPENSSL_free
    - BN_GENCB_call
    - BN_rshift1
    - bn_check_top
    - ERR_raise
    - BN_CTX_get
    - bn_is_prime_int
    - probable_prime_dh
    - OPENSSL_calloc
    - probable_prime
    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_new
    - BN_generate_prime_ex2
    - BN_CTX_free
    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_num_bits
    - bn_mr_min_checks
    - bn_is_prime_int
    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:
    - calc_trial_divisions
    - BN_GENCB_call
    - BN_CTX_new
    - ossl_bn_miller_rabin_is_prime
    - BN_is_odd
    - BN_is_word
    - BN_cmp
    - BN_value_one
    - BN_num_bits
    - BN_mod_word
    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_zero
    - BN_copy
    - BN_priv_rand_range_ex
    - BN_CTX_start
    - bn_mr_min_checks
    - BN_CTX_get
    - BN_gcd
    - BN_MONT_CTX_free
    - BN_CTX_end
    - BN_mod_exp_mont
    - BN_is_one
    - BN_is_odd
    - BN_mod_mul
    - BN_rshift
    - BN_num_bits
    - BN_cmp
    - BN_is_negative
    - BN_clear
    - BN_MONT_CTX_set
    - BN_GENCB_call
    - BN_MONT_CTX_new
    - BN_is_bit_set
    - BN_add_word
    - BN_sub_word
    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:
    - calc_trial_divisions
    - square
    - BN_set_bit
    - BN_get_word
    - bn_check_top
    - BN_priv_rand_ex
    - BN_num_bits
    - BN_add_word
    - BN_mod_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_end
    - calc_trial_divisions
    - BN_CTX_start
    - square
    - BN_get_word
    - BN_sub
    - bn_check_top
    - BN_CTX_get
    - BN_mod_word
    - BN_num_bits
    - BN_rand_ex
    - BN_mod
    - BN_add_word
    - BN_add
    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_GENCB_call
    - BN_copy
    - BN_is_odd
    - BN_add_word
    - 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_CTX_end
    - BN_CTX_start
    - BN_is_one
    - BN_sub
    - BN_sub_word
    - BN_GENCB_call
    - BN_copy
    - BN_CTX_get
    - bn_x931_derive_pi
    - BN_is_odd
    - BN_mod_inverse
    - BN_gcd
    - BN_mul
    - BN_mod_sub
    - BN_check_prime
    - BN_add
    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_end
    - BN_CTX_start
    - BN_sub
    - BN_CTX_get
    - BN_num_bits
    - BN_priv_rand_ex
    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: 247
      start: 219
    functionDepth: 7
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: BN_X931_generate_prime_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_x931p.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_X931_derive_prime_ex
    - BN_CTX_get
    - 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:214,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_sqrt.c:219,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:226,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:229,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_sqrt.c:253,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:257,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_sqrt.c:258,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:260,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:262,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:265,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:268,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:270,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:272,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:279,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:281,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:285,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:299,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqrt.c:300,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:309,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:313,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:321,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqrt.c:326,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:329,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:332,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:334,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:336,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:348,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:352,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/bn/bn_sqrt.c:360,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_sqrt.c:364,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqrt.c:365,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: 367
      start: 13
    functionDepth: 7
    functionLinenumber: 13
    functionLinenumberEnd: 367
    functionName: BN_mod_sqrt
    functionSourceFile: /src/openssl/crypto/bn/bn_sqrt.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - BN_set_word
    - BN_is_zero
    - BN_copy
    - BN_CTX_start
    - BN_zero
    - bn_check_top
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_priv_rand_ex
    - BN_kronecker
    - BN_one
    - BN_CTX_end
    - BN_is_one
    - BN_mod_lshift1_quick
    - BN_mod_exp
    - BN_is_odd
    - BN_mod_mul
    - BN_rshift
    - BN_num_bits
    - BN_cmp
    - BN_new
    - BN_mod_sqr
    - BN_sub_word
    - BN_rshift1
    - BN_is_bit_set
    - BN_free
    - BN_clear_free
    - BN_add_word
    - BN_abs_is_word
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:188,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:194,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:196,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:201,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:202,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:206,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:207,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:223,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:224,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:232,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:239,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:241,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:243,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:244,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:249,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:251,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:253,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:254,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:258,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:260,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:261,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:262,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:271,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mul.c:274,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:277,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:286,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    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: 306
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 306
    functionName: bn_mul_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - bn_cmp_part_words
    - memset
    - bn_mul_comba4
    - bn_mul_recursive
    - bn_mul_comba8
    - bn_add_words
    - bn_sub_words
    - bn_mul_normal
    - bn_sub_part_words
    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:320,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:325,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:326,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:330,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:331,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:335,1
    - Dst: bn_sub_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:343,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:344,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:349,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:350,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:359,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:360,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:361,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:362,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:366,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:367,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:368,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:369,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:372,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:373,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:383,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:385,1
    - Dst: bn_mul_part_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:387,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:389,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:393,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:396,1
    - Dst: bn_mul_part_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:405,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:410,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:426,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mul.c:429,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:432,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:441,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: 461
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 461
    functionName: bn_mul_part_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - bn_mul_part_recursive
    - bn_cmp_part_words
    - memset
    - bn_mul_comba4
    - bn_mul_recursive
    - bn_mul_comba8
    - bn_add_words
    - bn_sub_words
    - bn_mul_normal
    - bn_sub_part_words
    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:472,1
    - Dst: bn_mul_low_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:474,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:475,1
    - Dst: bn_mul_low_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:476,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:477,1
    - Dst: bn_mul_low_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:479,1
    - Dst: bn_mul_low_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:480,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:481,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:482,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: 484
      start: 467
    functionDepth: 4
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: bn_mul_low_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - bn_mul_low_normal
    - bn_mul_recursive
    - bn_mul_low_recursive
    - 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:489,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mul.c:491,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:492,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: 495
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 495
    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:508,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:509,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:510,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mul.c:516,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mul.c:521,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mul.c:523,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:534,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:537,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:542,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:545,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_mul.c:557,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_mul.c:560,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_mul.c:563,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mul.c:565,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:569,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:571,1
    - Dst: bn_mul_part_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:573,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:577,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:579,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:581,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:588,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:591,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mul.c:598,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:603,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mul.c:604,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 95
    argCount: 4
    argNames:
    - r
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts:
    - condition: (j <= al || j <= bl)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/openssl/crypto/bn/bn_mul.c
    constantsTouched: []
    func_position:
      end: 606
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 606
    functionName: bn_mul_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - bn_mul_part_recursive
    - BN_zero
    - bn_check_top
    - BN_copy
    - BN_CTX_get
    - bn_mul_comba4
    - bn_mul_recursive
    - BN_num_bits_word
    - bn_mul_comba8
    - assert
    - bn_wexpand
    - bn_mul_normal
    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:625,1
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_mul.c:628,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:633,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:636,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:639,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:642,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: 647
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 647
    functionName: bn_mul_normal
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 3
    functionsReached:
    - bn_mul_words
    - bn_mul_add_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:651,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:656,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:659,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:662,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:665,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: 669
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 669
    functionName: bn_mul_low_normal
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - bn_mul_words
    - bn_mul_add_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:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 39
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 68
    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:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    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:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    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:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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:28,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mont.c:30,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:31,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: 34
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: BN_mod_mul_montgomery
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 6
    functionsReached:
    - bn_mul_mont_fixed_top
    - bn_check_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:45,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_mont.c:47,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:59,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:60,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:64,1
    - Dst: bn_sqr_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:66,1
    - Dst: bn_mul_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:69,1
    - Dst: bn_from_montgomery_word
      Src: /src/openssl/crypto/bn/bn_mont.c:74,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_mont.c:77,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:82,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: 84
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: bn_mul_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 5
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - bn_from_montgomery_word
    - bn_mul_fixed_top
    - bn_check_top
    - bn_sqr_fixed_top
    - BN_CTX_get
    - BN_from_montgomery
    - bn_wexpand
    - bn_mul_mont
    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:102,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mont.c:125,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mont.c:132,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mont.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - ret
    - r
    - mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 158
    functionName: bn_from_montgomery_word
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 1
    functionsReached:
    - bn_wexpand
    - bn_sub_words
    - bn_mul_add_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:166,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mont.c:167,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:168,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: 171
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: BN_from_montgomery
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 4
    functionsReached:
    - bn_check_top
    - bn_correct_top
    - bn_from_mont_fixed_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:180,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:181,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:181,1
    - Dst: bn_from_montgomery_word
      Src: /src/openssl/crypto/bn/bn_mont.c:182,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:184,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:188,1
    - Dst: BN_CTX_get
      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_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:194,1
    - Dst: BN_mask_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:196,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_mont.c:198,1
    - Dst: BN_mask_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:200,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_mont.c:202,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_mont.c:204,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_mont.c:206,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_mont.c:209,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_mont.c:210,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:214,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:216,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: 219
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 219
    functionName: bn_from_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 2
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_ucmp
    - bn_from_montgomery_word
    - BN_add
    - BN_usub
    - BN_copy
    - bn_check_top
    - BN_CTX_get
    - BN_rshift
    - BN_mul
    - BN_mask_bits
    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:224,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: 225
      start: 221
    functionDepth: 7
    functionLinenumber: 221
    functionLinenumberEnd: 225
    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:231,1
    - Dst: BN_MONT_CTX_init
      Src: /src/openssl/crypto/bn/bn_mont.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: BN_MONT_CTX_new
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 8
    functionsReached:
    - OPENSSL_malloc
    - BN_MONT_CTX_init
    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:242,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 247
    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:253,1
    - 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: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_mont.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mont
    argTypes:
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: BN_MONT_CTX_free
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 8
    functionsReached:
    - OPENSSL_free
    - BN_clear_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:265,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:268,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:269,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:272,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:274,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:275,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_mont.c:283,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:288,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:289,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:291,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:301,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:302,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_mont.c:311,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:312,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_mont.c:313,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mont.c:315,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:317,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_mont.c:318,1
    - Dst: bn_expand
      Src: /src/openssl/crypto/bn/bn_mont.c:322,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_mont.c:330,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:338,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:339,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_mont.c:346,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:347,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_mont.c:348,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mont.c:350,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:352,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_mont.c:353,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_mont.c:357,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_mont.c:360,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:371,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:372,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:373,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_mont.c:376,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mont.c:378,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_mont.c:380,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_mont.c:385,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:391,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:392,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_mont.c:394,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:404,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: 406
      start: 260
    functionDepth: 6
    functionLinenumber: 260
    functionLinenumberEnd: 406
    functionName: BN_MONT_CTX_set
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 8
    functionsReached:
    - BN_set_word
    - BN_is_zero
    - BN_copy
    - BN_CTX_start
    - BN_set_bit
    - BN_zero
    - BN_CTX_get
    - bn_init
    - BN_set_flags
    - BN_lshift
    - BN_CTX_end
    - BN_is_one
    - BN_get_flags
    - BN_num_bits
    - BN_mod
    - BN_div
    - BN_mod_inverse
    - bn_expand
    - BN_sub_word
    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:413,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:415,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - BN_MONT_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 423
    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:430,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bn/bn_mont.c:433,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_mont.c:445,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_mont.c:448,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_mont.c:449,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bn/bn_mont.c:454,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_mont.c:455,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_mont.c:460,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bn/bn_mont.c:464,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: 466
      start: 425
    functionDepth: 7
    functionLinenumber: 425
    functionLinenumberEnd: 466
    functionName: BN_MONT_CTX_set_locked
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - BN_MONT_CTX_free
    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:471,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_mont.c:473,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: 488
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 488
    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:494,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_mont.c:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - BN_MONT_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 508
    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: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    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: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    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: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    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:123,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:124,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:125,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:126,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:132,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:135,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:138,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: 143
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 143
    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:153,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:154,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:155,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:156,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:162,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:165,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:168,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: 171
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 171
    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:179,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:180,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:181,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:182,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:188,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:191,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 196
    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: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    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: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    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: 260
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 260
    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: 310
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 310
    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: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    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: 352
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 352
    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: 363
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 363
    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: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    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: 389
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 389
    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: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    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: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    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:418,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:430,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:431,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:432,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: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:440,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:451,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:460,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:467,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:474,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:475,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:479,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:480,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:481,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:489,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:490,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:491,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:494,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:495,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:496,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:497,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:500,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:501,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:502,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:505,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:509,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: 512
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 512
    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:521,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:524,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:525,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:528,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:529,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:530,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:533,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:534,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:535,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:536,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:539,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:540,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:541,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:544,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:545,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:548,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: 551
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 551
    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:560,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:570,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:571,1
    - Dst: sqr_add_c
      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_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:576,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_c
      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_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:587,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:592,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:593,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:596,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:597,1
    - Dst: sqr_add_c2
      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_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:603,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:604,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:607,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:608,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:609,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:612,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:613,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:616,1
    - Dst: sqr_add_c2
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 626
    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:635,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:638,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:641,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:642,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:645,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:646,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:649,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:650,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:653,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 659
    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:73,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:76,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:87,1
    - Dst: encoder_process
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - OSSL_ENCODER_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: OSSL_ENCODER_to_bio
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise_data
    - ERR_raise
    - memset
    - encoder_process
    - OSSL_ENCODER_CTX_get_num_encoders
    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:99,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:100,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: bio_from_file
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_set_fp
    - ERR_raise
    - BIO_s_file
    - BIO_new
    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:109,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:113,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - OSSL_ENCODER_CTX*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: OSSL_ENCODER_to_fp
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - bio_from_file
    - 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:128,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:132,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:132,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:135,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:136,1
    - Dst: memcpy
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:157,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:167,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: 169
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 169
    functionName: OSSL_ENCODER_to_data
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 1
    functionsReached:
    - BIO_get_mem_ptr
    - BIO_new
    - OSSL_ENCODER_to_bio
    - BIO_free
    - ERR_raise
    - memcpy
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_to_data(OSSL_ENCODER_CTX *ctx, unsigned char **pdata,\n
      \   size_t *pdata_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - OSSL_ENCODER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: OSSL_ENCODER_CTX_set_selection
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_CTX_set_selection(OSSL_ENCODER_CTX *ctx, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - output_type
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: OSSL_ENCODER_CTX_set_output_type
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_output_type(OSSL_ENCODER_CTX *ctx,\n    const
      char *output_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - output_structure
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: OSSL_ENCODER_CTX_set_output_structure
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - 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: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:236,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:240,1
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:244,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:248,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:249,1
    - Dst: ossl_encoder_parsed_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:250,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:252,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:254,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:259,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:260,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:262,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:265,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:266,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:271,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:274,1
    - Dst: ossl_encoder_instance_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - encoder
    - encoderctx
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 282
    functionName: ossl_encoder_instance_new
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_get0_name
    - OPENSSL_zalloc
    - OSSL_ENCODER_get0_properties
    - ERR_raise_data
    - OSSL_ENCODER_get0_provider
    - ossl_provider_libctx
    - ERR_raise
    - ossl_encoder_instance_free
    - ossl_encoder_parsed_properties
    - ossl_property_find_property
    - ossl_property_get_string_value
    - OSSL_ENCODER_up_ref
    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:288,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:290,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: ossl_encoder_instance_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_ENCODER_INSTANCE*::encoder::freectx
    - OSSL_ENCODER_free
    - OPENSSL_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:302,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:303,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_push
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:311,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:315,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:316,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - ei
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: ossl_encoder_ctx_add_encoder_inst
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_ENCODER_INSTANCE_new_null
    - OSSL_ENCODER_get0_name
    - BIO_printf
    - OSSL_ENCODER_get0_properties
    - OSSL_TRACE_END
    - sk_OSSL_ENCODER_INSTANCE_push
    - ERR_raise
    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:311,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:315,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 317
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:331,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:336,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:340,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:341,1
    - Dst: OSSL_ENCODER*::newctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:343,1
    - Dst: ossl_encoder_instance_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:344,1
    - Dst: ossl_encoder_ctx_add_encoder_inst
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:349,1
    - Dst: ossl_encoder_instance_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:354,1
    - Dst: OSSL_ENCODER*::freectx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - encoder
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: OSSL_ENCODER_CTX_add_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_encoder_instance_new
    - OSSL_ENCODER_get0_provider
    - OSSL_ENCODER*::newctx
    - OSSL_ENCODER*::freectx
    - ERR_raise
    - ossl_encoder_ctx_add_encoder_inst
    - ossl_encoder_instance_free
    - OSSL_PROVIDER_get0_provider_ctx
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_CTX_add_encoder(OSSL_ENCODER_CTX *ctx, OSSL_ENCODER
      *encoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 374
    functionName: OSSL_ENCODER_CTX_add_extra
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    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:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_ENCODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - construct
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_CONSTRUCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: OSSL_ENCODER_CTX_set_construct
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_construct(OSSL_ENCODER_CTX *ctx,\n    OSSL_ENCODER_CONSTRUCT
      *construct)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - construct_data
    argTypes:
    - OSSL_ENCODER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: OSSL_ENCODER_CTX_set_construct_data
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_construct_data(OSSL_ENCODER_CTX *ctx,\n    void
      *construct_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - cleanup
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_CLEANUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 432
    functionName: OSSL_ENCODER_CTX_set_cleanup
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - 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: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    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: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    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: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    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: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    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:493,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:495,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:496,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:497,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_type
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:498,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_structure
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:499,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:500,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:509,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:514,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:525,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:530,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:535,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:539,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:542,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:547,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:559,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:570,1
    - Dst: encoder_process
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:581,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:603,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:607,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:619,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:623,1
    - Dst: struct encoder_process_data_st*::ctx::construct
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:649,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:653,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:662,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:663,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_structure
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:675,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:677,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:680,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:683,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:686,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:704,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:704,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:709,1
    - Dst: OSSL_ENCODER*::encode
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:711,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:718,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:723,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:726,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:733,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:743,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:746,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:749,1
    - Dst: struct encoder_process_data_st*::ctx::cleanup
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:751,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct encoder_process_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 753
    functionName: encoder_process
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 2
    functionsReached:
    - BIO_get_mem_ptr
    - OSSL_PARAM_construct_octet_string
    - sk_OSSL_ENCODER_INSTANCE_value
    - OSSL_TRACE_END
    - ossl_core_bio_new_from_bio
    - struct encoder_process_data_st*::ctx::construct
    - BIO_new
    - OPENSSL_free
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OSSL_ENCODER_INSTANCE_get_output_type
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - OSSL_ENCODER_INSTANCE_get_output_structure
    - BIO_s_mem
    - OSSL_PARAM_construct_utf8_string
    - BIO_free
    - memset
    - OPENSSL_strcasecmp
    - ossl_assert
    - ossl_core_bio_free
    - OSSL_ENCODER_get0_name
    - BIO_printf
    - OSSL_ENCODER*::encode
    - struct encoder_process_data_st*::ctx::cleanup
    - encoder_process
    - OSSL_ENCODER_INSTANCE_get_encoder
    - OSSL_ENCODER_is_a
    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:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 513
    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:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 534
    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:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 546
    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: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    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:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 606
    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:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 622
    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:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 722
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:772,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:773,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:775,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:776,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:778,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:781,1
    - Dst: BN_bn2hex
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:785,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:794,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:800,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:806,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:810,1
    - Dst: tolower
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:811,1
    - Dst: tolower
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:812,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:819,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:823,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 3
    argNames:
    - out
    - label
    - bn
    argTypes:
    - BIO*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 825
    functionName: ossl_bio_print_labeled_bignum
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BN_num_bytes
    - BN_is_zero
    - OPENSSL_free
    - tolower
    - bn_get_words
    - BN_bn2hex
    - BN_is_negative
    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:832,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:837,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:839,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:843,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:848,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: 852
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 852
    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:859,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:860,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:864,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:873,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:876,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:879,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:882,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:886,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:890,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:894,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:898,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 2
    argNames:
    - out
    - ffc
    argTypes:
    - BIO*
    - FFC_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 904
    functionName: ossl_bio_print_ffc_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_bio_print_labeled_bignum
    - ossl_ffc_named_group_get_name
    - ossl_ffc_uid_to_dh_named_group
    - ossl_bio_print_labeled_buf
    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:102,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:102,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:104,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:112,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:115,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - OSSL_DECODER_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 119
    functionName: OSSL_DECODER_from_bio
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - BIO_tell
    - BIO_new
    - ERR_raise_data
    - ERR_peek_last_error
    - ossl_pw_enable_passphrase_caching
    - BIO_f_readbuffer
    - ERR_peek_error
    - ossl_pw_clear_passphrase_cache
    - ERR_raise
    - BIO_pop
    - BIO_free
    - memset
    - OSSL_DECODER_CTX_get_num_decoders
    - BIO_push
    - decoder_process
    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:126,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:127,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: bio_from_file
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - BIO_set_fp
    - ERR_raise
    - BIO_s_file
    - BIO_new
    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:136,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:140,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - OSSL_DECODER_CTX*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: OSSL_DECODER_from_fp
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - bio_from_file
    - 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:154,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:158,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:159,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:160,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:163,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: 166
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: OSSL_DECODER_from_data
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 2
    functionsReached:
    - BIO_free
    - OSSL_DECODER_from_bio
    - ERR_raise
    - BIO_new_mem_buf
    - BIO_get_mem_data
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_from_data(OSSL_DECODER_CTX *ctx, const unsigned char
      **pdata,\n    size_t *pdata_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - OSSL_DECODER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: OSSL_DECODER_CTX_set_selection
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_CTX_set_selection(OSSL_DECODER_CTX *ctx, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - input_type
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: OSSL_DECODER_CTX_set_input_type
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_input_type(OSSL_DECODER_CTX *ctx,\n    const
      char *input_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - input_structure
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: OSSL_DECODER_CTX_set_input_structure
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - 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:236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:237,1
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:241,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:247,1
    - Dst: OSSL_DECODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:249,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:250,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - decoder
    - provctx
    - input_structure
    argTypes:
    - OSSL_DECODER*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: ossl_decoder_instance_new_forprov
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_DECODER*::set_ctx_params
    - ossl_decoder_instance_new
    - ERR_raise
    - OSSL_DECODER*::freectx
    - OSSL_DECODER*::newctx
    - ossl_assert
    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:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:267,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:271,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:274,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:275,1
    - Dst: ossl_decoder_parsed_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:276,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:278,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:280,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:285,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:286,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:289,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:292,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:293,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:298,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:301,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:304,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:305,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - decoder
    - decoderctx
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 314
    functionName: ossl_decoder_instance_new
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_decoder_parsed_properties
    - OSSL_DECODER_get0_provider
    - ERR_raise_data
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_up_ref
    - ossl_provider_libctx
    - ERR_raise
    - OSSL_DECODER_get0_properties
    - ossl_decoder_instance_free
    - ossl_property_find_property
    - ossl_assert
    - ossl_property_get_string_value
    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:320,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: ossl_decoder_instance_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OSSL_DECODER_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:334,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:339,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:342,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:343,1
    - Dst: OSSL_DECODER_INSTANCE*::decoder::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:347,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - src
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 357
    functionName: ossl_decoder_instance_dup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - OPENSSL_zalloc
    - OSSL_DECODER_get0_provider
    - OPENSSL_free
    - OSSL_DECODER_up_ref
    - OSSL_DECODER_INSTANCE*::decoder::newctx
    - ERR_raise
    - OSSL_PROVIDER_get0_provider_ctx
    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: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    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: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    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:375,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:376,1
    - Dst: sk_OSSL_DECODER_INSTANCE_push
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:384,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:388,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:389,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:390,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - di
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 395
    functionName: ossl_decoder_ctx_add_decoder_inst
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_TRACE_END
    - OSSL_DECODER_get0_name
    - sk_OSSL_DECODER_INSTANCE_push
    - OSSL_DECODER_get0_description
    - ERR_raise
    - OSSL_DECODER_get0_properties
    - sk_OSSL_DECODER_INSTANCE_new_null
    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:384,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:388,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:389,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_description
    - BIO_printf
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:410,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:414,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:415,1
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:417,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:418,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:423,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:428,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - decoder
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 432
    functionName: OSSL_DECODER_CTX_add_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_provider
    - ossl_decoder_ctx_add_decoder_inst
    - ossl_decoder_instance_new
    - ERR_raise
    - ossl_decoder_instance_free
    - OSSL_DECODER*::freectx
    - OSSL_DECODER*::newctx
    - OSSL_PROVIDER_get0_provider_ctx
    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:453,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:455,1
    - Dst: sk_OSSL_DECODER_push
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:456,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: collect_all_decoders
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_DECODER_push
    - OSSL_DECODER_up_ref
    - OSSL_DECODER_free
    - STACK_OF
    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:464,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:465,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:467,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:473,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:477,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:478,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:479,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:481,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:489,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:495,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:498,1
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:503,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:511,1
    - Dst: OSSL_DECODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:513,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:514,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:519,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:520,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:527,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:528,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:530,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:533,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:536,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:542,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:543,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:545,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:548,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:551,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:561,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:562,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 568
    functionName: collect_extra_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - sk_OSSL_DECODER_INSTANCE_value
    - BIO_printf
    - OSSL_DECODER*::set_ctx_params
    - OSSL_DECODER_get0_provider
    - OSSL_TRACE_END
    - OSSL_DECODER_get0_name
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_DECODER_get0_description
    - ossl_decoder_instance_new
    - OSSL_DECODER_INSTANCE_get_input_type
    - OSSL_DECODER_get0_properties
    - ossl_decoder_instance_free
    - ossl_decoder_fast_is_a
    - OSSL_DECODER*::freectx
    - OSSL_DECODER*::newctx
    - OSSL_PROVIDER_get0_provider_ctx
    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:473,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:477,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:478,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_description
    - BIO_printf
    - OSSL_DECODER_get0_properties
    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:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 497
    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:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 535
    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:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 550
    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: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:616,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:629,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:632,1
    - Dst: sk_OSSL_DECODER_new_null
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:634,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:636,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:639,1
    - Dst: sk_OSSL_DECODER_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:640,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:647,1
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:648,1
    - Dst: sk_OSSL_DECODER_INSTANCE_set_cmp_func
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:651,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:654,1
    - Dst: sk_OSSL_DECODER_INSTANCE_sort
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:657,1
    - Dst: sk_OSSL_DECODER_INSTANCE_set_cmp_func
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:658,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:661,1
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:664,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:681,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:684,1
    - Dst: collect_extra_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:689,1
    - Dst: sk_OSSL_DECODER_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:689,1
    - Dst: sk_OSSL_DECODER_pop_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 705
    functionName: OSSL_DECODER_CTX_add_extra
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_DECODER_INSTANCE_value
    - BIO_printf
    - sk_OSSL_DECODER_INSTANCE_sort
    - sk_OSSL_DECODER_value
    - OSSL_TRACE_END
    - sk_OSSL_DECODER_INSTANCE_num
    - sk_OSSL_DECODER_new_null
    - sk_OSSL_DECODER_pop_free
    - ERR_raise
    - OSSL_DECODER_INSTANCE_get_input_type
    - ossl_ctx_global_properties
    - sk_OSSL_DECODER_num
    - sk_OSSL_DECODER_INSTANCE_set_cmp_func
    - memset
    - STACK_OF
    - collect_extra_decoder
    - OSSL_DECODER_do_all_provided
    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:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 631
    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:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:718,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - construct
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_CONSTRUCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 729
    functionName: OSSL_DECODER_CTX_set_construct
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_construct(OSSL_DECODER_CTX *ctx,\n    OSSL_DECODER_CONSTRUCT
      *construct)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:735,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - construct_data
    argTypes:
    - OSSL_DECODER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 746
    functionName: OSSL_DECODER_CTX_set_construct_data
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_construct_data(OSSL_DECODER_CTX *ctx,\n    void
      *construct_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:752,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - cleanup
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_CLEANUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 763
    functionName: OSSL_DECODER_CTX_set_cleanup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - 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: 771
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 771
    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: 778
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 778
    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: 786
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 786
    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: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:797,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:801,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:802,1
    - Dst: OSSL_DECODER*::export_object
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:803,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: 805
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 805
    functionName: OSSL_DECODER_export
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_INSTANCE_get_decoder
    - OSSL_DECODER*::export_object
    - ERR_raise
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    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: 813
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 813
    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: 821
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 821
    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: 829
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 829
    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: 839
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 839
    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:865,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:879,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:883,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:885,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:892,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:894,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:902,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:906,1
    - Dst: OSSL_DECODER_CTX*::construct
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:908,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:912,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:916,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:934,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:937,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:943,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:944,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:948,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:949,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:953,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:955,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:963,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:964,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:965,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:983,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:988,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:992,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:998,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1008,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1009,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1013,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1014,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1019,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1020,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1022,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1023,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_structure
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1025,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1030,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1031,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1036,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1038,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1040,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1048,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1051,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1056,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1066,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1069,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1073,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1075,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1083,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: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1106,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1110,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1124,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1129,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1133,1
    - Dst: BIO_seek
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1148,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1149,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1155,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1160,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1166,1
    - Dst: OSSL_DECODER*::decode
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1171,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1179,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1187,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1193,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1196,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1207,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1208,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 142
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 1211
    functionName: decoder_process
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - ERR_clear_last_mark
    - OSSL_TRACE_END
    - OSSL_PARAM_get_utf8_string_ptr
    - ossl_core_bio_new_from_bio
    - OSSL_DECODER_INSTANCE_get_input_type
    - BIO_seek
    - ERR_pop_to_mark
    - sk_OSSL_DECODER_INSTANCE_value
    - OSSL_DECODER_CTX*::construct
    - OSSL_PARAM_locate_const
    - ERR_raise
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_INSTANCE_get_decoder
    - OSSL_DECODER_get0_description
    - BIO_free
    - memset
    - ossl_decoder_fast_is_a
    - OSSL_DECODER_CTX_get_num_decoders
    - OPENSSL_strcasecmp
    - OSSL_DECODER*::decode
    - ERR_set_mark
    - ossl_core_bio_free
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - BIO_tell
    - BIO_printf
    - OSSL_DECODER_INSTANCE_get_input_structure
    - OSSL_DECODER_is_a
    - BIO_new_mem_buf
    - OSSL_DECODER_get0_properties
    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:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 882
    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:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 905
    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:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 915
    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:988,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 997
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_description
    - 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:1030,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1031,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1036,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1039
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_description
    - BIO_printf
    - OSSL_DECODER_get0_properties
    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:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1055
    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:1069,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_description
    - 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: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    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:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1109
    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:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    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:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1159
    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:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    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:137,1
    - Dst: evp_keymgmt_load
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:153,1
    - Dst: OSSL_DECODER*::export_object
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:169,1
    - Dst: ossl_decoder_ctx_set_harderr
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:183,1
    - Dst: evp_keymgmt_util_make_pkey
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:186,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:187,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:195,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: 202
      start: 71
    functionDepth: 10
    functionLinenumber: 71
    functionLinenumberEnd: 202
    functionName: decoder_construct_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_string
    - EVP_KEYMGMT_fetch
    - evp_keymgmt_util_make_pkey
    - evp_keymgmt_has_load
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - evp_keymgmt_load
    - ossl_decoder_ctx_set_harderr
    - EVP_KEYMGMT_free
    - evp_keymgmt_freedata
    - OSSL_DECODER_get0_provider
    - EVP_KEYMGMT_get0_provider
    - OSSL_DECODER_INSTANCE_get_decoder
    - sk_EVP_KEYMGMT_value
    - EVP_KEYMGMT_up_ref
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - sk_EVP_KEYMGMT_num
    - OSSL_DECODER*::export_object
    - EVP_KEYMGMT_is_a
    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: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
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - construct_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    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:251,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:256,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:257,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: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:270,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:272,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:278,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:282,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:283,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:284,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:286,1
    - Dst: ossl_decoder_parsed_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:291,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:293,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:299,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:304,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:305,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: 312
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 312
    functionName: collect_decoder_keymgmt
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_decoder_parsed_properties
    - OSSL_TRACE_END
    - OSSL_DECODER_get0_name
    - ossl_decoder_ctx_add_decoder_inst
    - ossl_decoder_instance_new
    - OSSL_DECODER_get0_description
    - ossl_property_match_count
    - OSSL_DECODER_get0_properties
    - ossl_decoder_instance_free
    - OSSL_DECODER*::freectx
    - OPENSSL_strcasecmp
    - OSSL_DECODER*::newctx
    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:278,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:282,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:283,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_description
    - BIO_printf
    - OSSL_DECODER_get0_properties
    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:317,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:326,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:327,1
    - Dst: OSSL_DECODER*::does_selection
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:335,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:340,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:344,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:345,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:346,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:348,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:350,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:352,1
    - Dst: collect_decoder_keymgmt
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 360
    functionName: collect_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_get0_provider
    - OSSL_TRACE_END
    - OSSL_DECODER_get0_name
    - sk_EVP_KEYMGMT_num
    - OSSL_DECODER_get0_description
    - OSSL_DECODER*::does_selection
    - sk_EVP_KEYMGMT_value
    - OSSL_DECODER_get0_properties
    - STACK_OF
    - collect_decoder_keymgmt
    - OSSL_PROVIDER_get0_provider_ctx
    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:340,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:344,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:345,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_description
    - BIO_printf
    - OSSL_DECODER_get0_properties
    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:374,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:375,1
    - Dst: strcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:382,1
    - Dst: strcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:383,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - keymgmt
    - data
    argTypes:
    - EVP_KEYMGMT*
    - struct collect_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 366
    functionDepth: 7
    functionLinenumber: 366
    functionLinenumberEnd: 403
    functionName: check_keymgmt
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - strcmp
    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:409,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:419,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:424,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:428,1
    - Dst: sk_EVP_KEYMGMT_push
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:429,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - keymgmt
    - arg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 405
    functionDepth: 8
    functionLinenumber: 405
    functionLinenumberEnd: 433
    functionName: collect_keymgmt
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_TRACE_END
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_up_ref
    - check_keymgmt
    - sk_EVP_KEYMGMT_push
    linkageType: ''
    returnType: void
    signature: void collect_keymgmt(EVP_KEYMGMT *keymgmt, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:448,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:457,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:467,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:470,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:473,1
    - Dst: sk_EVP_KEYMGMT_new_null
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:477,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:479,1
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:492,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:494,1
    - Dst: ossl_property_merge
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:499,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:500,1
    - Dst: EVP_KEYMGMT_do_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:527,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:533,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:540,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:544,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:551,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:552,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:553,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:554,1
    - Dst: decoder_clean_pkey_construct_arg
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:563,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:564,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: 566
      start: 440
    functionDepth: 10
    functionLinenumber: 440
    functionLinenumberEnd: 566
    functionName: ossl_decoder_ctx_setup_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - BIO_printf
    - OPENSSL_zalloc
    - OSSL_DECODER_CTX_set_cleanup
    - decoder_clean_pkey_construct_arg
    - OSSL_DECODER_CTX_set_construct
    - OSSL_TRACE_END
    - sk_EVP_KEYMGMT_new_null
    - ossl_property_free
    - ERR_raise
    - ossl_ctx_global_properties
    - OSSL_DECODER_CTX_set_construct_data
    - STACK_OF
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER_do_all_provided
    - ossl_parse_query
    - ossl_property_merge
    - EVP_KEYMGMT_do_all_provided
    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:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    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:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 543
    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:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 575
    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:595,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:596,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:600,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      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: sk_OSSL_DECODER_INSTANCE_deep_copy
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:609,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:613,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:618,1
    - Dst: OSSL_DECODER_CTX_get_construct
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:619,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:620,1
    - Dst: OSSL_DECODER_CTX_get_construct_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:624,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:626,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:628,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:632,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:634,1
    - Dst: sk_EVP_KEYMGMT_deep_copy
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:641,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:645,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:655,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:661,1
    - Dst: OSSL_DECODER_CTX_get_cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:662,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:663,1
    - Dst: decoder_clean_pkey_construct_arg
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:670,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:671,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 4
    argNames:
    - src
    - pkey
    - input_type
    - input_structure
    argTypes:
    - OSSL_DECODER_CTX*
    - EVP_PKEY**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 673
    functionName: ossl_decoder_ctx_for_pkey_dup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OSSL_DECODER_CTX_set_cleanup
    - decoder_clean_pkey_construct_arg
    - OSSL_DECODER_CTX_set_construct
    - OSSL_DECODER_CTX_new
    - sk_EVP_KEYMGMT_deep_copy
    - OSSL_DECODER_CTX_set_input_structure
    - ERR_raise
    - OSSL_DECODER_CTX_get_construct_data
    - sk_OSSL_DECODER_INSTANCE_deep_copy
    - OSSL_DECODER_CTX_set_input_type
    - OSSL_DECODER_CTX_get_construct
    - OSSL_DECODER_CTX_set_construct_data
    - OSSL_DECODER_CTX_get_cleanup
    - OSSL_DECODER_CTX_free
    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:695,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:696,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:697,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:698,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:699,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DECODER_CACHE_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: decoder_cache_entry_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OPENSSL_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:710,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:714,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:718,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - DECODER_CACHE_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 727
    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:742,1
    - Dst: strcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - casecmp
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 746
    functionName: nullstrcmp
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - strcmp
    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:756,1
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:760,1
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:764,1
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DECODER_CACHE_ENTRY*
    - DECODER_CACHE_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 771
    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:775,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:782,1
    - Dst: lh_DECODER_CACHE_ENTRY_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:785,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:788,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 794
    functionName: ossl_decoder_cache_new
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - lh_DECODER_CACHE_ENTRY_new
    - 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:800,1
    - Dst: lh_DECODER_CACHE_ENTRY_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:801,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vcache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: ossl_decoder_cache_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - lh_DECODER_CACHE_ENTRY_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:813,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:818,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:819,1
    - Dst: lh_DECODER_CACHE_ENTRY_doall
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:823,1
    - Dst: lh_DECODER_CACHE_ENTRY_flush
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:824,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 810
    functionDepth: 5
    functionLinenumber: 810
    functionLinenumberEnd: 828
    functionName: ossl_decoder_cache_flush
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 4
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_lib_ctx_get_data
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - lh_DECODER_CACHE_ENTRY_flush
    - lh_DECODER_CACHE_ENTRY_doall
    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:844,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:849,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:853,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:856,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:866,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:867,1
    - Dst: lh_DECODER_CACHE_ENTRY_retrieve
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:872,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:880,1
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:882,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:883,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:889,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:892,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:895,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:897,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:898,1
    - Dst: OSSL_DECODER_CTX_set_selection
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:899,1
    - Dst: ossl_decoder_ctx_setup_for_pkey
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:900,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:901,1
    - Dst: OSSL_DECODER_CTX_set_params
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:903,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:907,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:908,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:910,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:912,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:913,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:917,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:919,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:924,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:929,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:934,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:939,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:946,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:948,1
    - Dst: lh_DECODER_CACHE_ENTRY_retrieve
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:951,1
    - Dst: lh_DECODER_CACHE_ENTRY_insert
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:953,1
    - Dst: lh_DECODER_CACHE_ENTRY_error
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:954,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:956,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:957,1
    - Dst: decoder_cache_entry_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:965,1
    - Dst: ossl_decoder_ctx_for_pkey_dup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:972,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:973,1
    - Dst: decoder_cache_entry_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:977,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:978,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    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: 980
      start: 830
    functionDepth: 11
    functionLinenumber: 830
    functionLinenumberEnd: 980
    functionName: OSSL_DECODER_CTX_new_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 3
    functionsReached:
    - OSSL_DECODER_CTX_set_params
    - OSSL_TRACE_END
    - OSSL_DECODER_CTX_set_input_type
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - lh_DECODER_CACHE_ENTRY_insert
    - lh_DECODER_CACHE_ENTRY_retrieve
    - OPENSSL_zalloc
    - OSSL_DECODER_CTX_new
    - ERR_raise
    - ossl_decoder_ctx_for_pkey_dup
    - OSSL_PARAM_construct_utf8_string
    - OSSL_DECODER_CTX_add_extra
    - OSSL_DECODER_CTX_set_input_structure
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER_CTX_set_selection
    - OSSL_DECODER_CTX_free
    - lh_DECODER_CACHE_ENTRY_error
    - OPENSSL_strdup
    - BIO_printf
    - CRYPTO_THREAD_unlock
    - ossl_lib_ctx_get_data
    - ossl_decoder_ctx_setup_for_pkey
    - decoder_cache_entry_free
    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:889,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 894
    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:907,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_DECODER_CTX_get_num_decoders
    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:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OSSL_DECODER_free
    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:
    - OPENSSL_free
    - ossl_property_free
    - CRYPTO_FREE_REF
    - ossl_provider_free
    - CRYPTO_DOWN_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:
    - ossl_method_lock_store
    - get_decoder_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:
    - get_decoder_store
    - ossl_method_unlock_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
    - get_decoder_store
    - ossl_method_store_fetch
    - ossl_namemap_stored
    - 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
    - get_decoder_store
    - ossl_method_store_add
    - 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:227,1
    - Dst: OSSL_FUNC_decoder_newctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:235,1
    - Dst: OSSL_FUNC_decoder_freectx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:239,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:247,1
    - Dst: OSSL_FUNC_decoder_set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:251,1
    - Dst: OSSL_FUNC_decoder_settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:255,1
    - Dst: OSSL_FUNC_decoder_does_selection
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:259,1
    - Dst: OSSL_FUNC_decoder_decode
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:263,1
    - Dst: OSSL_FUNC_decoder_export_object
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:267,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:280,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:284,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:285,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 3
    argNames:
    - id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 291
    functionName: ossl_decoder_from_algorithm
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_decoder_new
    - OSSL_DECODER_free
    - OSSL_FUNC_decoder_freectx
    - OSSL_FUNC_decoder_settable_ctx_params
    - OSSL_FUNC_decoder_export_object
    - OSSL_FUNC_decoder_gettable_params
    - OSSL_FUNC_decoder_get_params
    - ossl_provider_libctx
    - OSSL_FUNC_decoder_newctx
    - OSSL_FUNC_decoder_set_ctx_params
    - OSSL_FUNC_decoder_does_selection
    - ERR_raise
    - ossl_provider_up_ref
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_decoder_decode
    - ossl_parse_property
    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:308,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:309,1
    - Dst: ossl_namemap_add_names
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:311,1
    - Dst: ossl_decoder_from_algorithm
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: construct_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_add_names
    - ossl_decoder_from_algorithm
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 332
    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:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 337
    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:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 342
    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:349,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:356,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:360,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:369,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:385,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:396,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:398,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:413,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:414,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:416,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: 422
      start: 345
    functionDepth: 7
    functionLinenumber: 345
    functionLinenumberEnd: 422
    functionName: inner_ossl_decoder_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - get_decoder_store
    - ossl_method_store_cache_set
    - ERR_raise_data
    - ERR_raise
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_lib_ctx_get_descriptor
    - ossl_method_construct
    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:432,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 8
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: OSSL_DECODER_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - dealloc_tmp_decoder_store
    - inner_ossl_decoder_fetch
    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:439,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 6
    functionLinenumber: 437
    functionLinenumberEnd: 444
    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:448,1
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:449,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 6
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: ossl_decoder_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_provider_libctx
    - get_decoder_store
    - 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:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 468
    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:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    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:483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 489
    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:493,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 499
    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: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    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: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: OSSL_DECODER_get0_description
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 12
    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:514,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:515,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - decoder
    - name
    argTypes:
    - OSSL_DECODER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 511
    functionDepth: 7
    functionLinenumber: 511
    functionLinenumberEnd: 520
    functionName: OSSL_DECODER_is_a
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_namemap_name2num
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:524,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:525,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - decoder
    - name
    argTypes:
    - OSSL_DECODER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 522
    functionDepth: 7
    functionLinenumber: 522
    functionLinenumberEnd: 528
    functionName: resolve_name
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_name2num
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:535,1
    - Dst: ossl_decoder_get_number
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - name
    - id_cache
    argTypes:
    - OSSL_DECODER*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 8
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: ossl_decoder_fast_is_a
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 2
    functionsReached:
    - resolve_name
    - ossl_decoder_get_number
    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:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - int
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    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:562,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:567,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:568,1
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:568,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 8
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: OSSL_DECODER_do_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 2
    functionsReached:
    - ossl_method_store_do_all
    - dealloc_tmp_decoder_store
    - get_decoder_store
    - inner_ossl_decoder_fetch
    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:580,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:581,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - decoder
    - data
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 7
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: OSSL_DECODER_names_do_all
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:593,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:593,1
    - Dst: OSSL_DECODER*::gettable_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 598
    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:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - params
    argTypes:
    - OSSL_DECODER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    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:611,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:611,1
    - Dst: OSSL_DECODER*::settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: OSSL_DECODER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER*::settable_ctx_params
    - ossl_provider_ctx
    - 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:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 634
    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:643,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:644,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:651,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:653,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:654,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:655,1
    - Dst: OSSL_DECODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 663
    functionName: OSSL_DECODER_CTX_set_params
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - sk_OSSL_DECODER_INSTANCE_value
    - OSSL_DECODER*::set_ctx_params
    - OSSL_DECODER_INSTANCE_get_decoder
    - ERR_raise
    - OSSL_DECODER_CTX_get_num_decoders
    - ossl_assert
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    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:669,1
    - Dst: sk_OSSL_DECODER_INSTANCE_pop_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:670,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:672,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: OSSL_DECODER_CTX_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 6
    functionsReached:
    - OSSL_DECODER_CTX*::cleanup
    - sk_OSSL_DECODER_INSTANCE_pop_free
    - ossl_pw_clear_passphrase_data
    - OPENSSL_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:32,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:34,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:37,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: 38
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 38
    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:44,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: 45
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 45
    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:51,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: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    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:57,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: 58
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 58
    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:64,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: 65
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 65
    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:95,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:103,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:104,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:111,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:112,1
    - Dst: OSSL_ENCODER*::does_selection
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:115,1
    - Dst: OSSL_ENCODER_CTX_add_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - encoder
    - arg
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 127
    functionName: collect_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_value
    - OSSL_ENCODER*::does_selection
    - OSSL_ENCODER_get0_provider
    - OSSL_ENCODER_CTX_add_encoder
    - sk_OPENSSL_CSTRING_num
    - OSSL_ENCODER_is_a
    - 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:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    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:168,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:169,1
    - Dst: OSSL_ENCODER*::import_object
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    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:182,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:184,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:185,1
    - Dst: evp_keymgmt_export
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - encoder_inst
    - arg
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: encoder_construct_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_get0_provider
    - evp_keymgmt_export
    - OSSL_ENCODER_INSTANCE_get_encoder
    - 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:212,1
    - Dst: OSSL_ENCODER*::free_object
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 219
    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:238,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:239,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:243,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:244,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:245,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:252,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:261,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:266,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:268,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:285,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:286,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:288,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:290,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:294,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:296,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:304,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:313,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:316,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:321,1
    - Dst: OSSL_ENCODER_CTX_set_construct
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:322,1
    - Dst: OSSL_ENCODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:323,1
    - Dst: OSSL_ENCODER_CTX_set_cleanup
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:324,1
    - Dst: OSSL_ENCODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:336,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:337,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: 340
      start: 227
    functionDepth: 9
    functionLinenumber: 227
    functionLinenumberEnd: 340
    functionName: ossl_encoder_ctx_setup_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_provider_libctx
    - OSSL_ENCODER_CTX_set_cleanup
    - OSSL_ENCODER_CTX_get_num_encoders
    - OPENSSL_malloc_array
    - evp_pkey_is_provided
    - OPENSSL_zalloc
    - sk_OPENSSL_CSTRING_value
    - OPENSSL_free
    - OSSL_ENCODER_do_all_provided
    - OSSL_ENCODER_CTX_set_construct
    - ERR_raise
    - sk_OPENSSL_CSTRING_num
    - ossl_namemap_stored
    - ossl_namemap_name2num
    - EVP_KEYMGMT_names_do_all
    - EVP_KEYMGMT_get0_provider
    - OSSL_ENCODER_CTX_set_construct_data
    - sk_OPENSSL_CSTRING_new_null
    - sk_OPENSSL_CSTRING_free
    - ossl_assert
    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:352,1
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:356,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:357,1
    - Dst: OSSL_ENCODER_CTX_new
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:363,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:367,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:368,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:370,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:375,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:377,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:378,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:381,1
    - Dst: OSSL_ENCODER_CTX_set_output_type
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:383,1
    - Dst: OSSL_ENCODER_CTX_set_output_structure
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:385,1
    - Dst: OSSL_ENCODER_CTX_set_selection
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:386,1
    - Dst: ossl_encoder_ctx_setup_for_pkey
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:387,1
    - Dst: OSSL_ENCODER_CTX_add_extra
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:388,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:393,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:396,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:400,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:401,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: 31
    argCount: 5
    argNames:
    - pkey
    - selection
    - output_type
    - output_struct
    - propquery
    argTypes:
    - EVP_PKEY*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 342
    functionDepth: 10
    functionLinenumber: 342
    functionLinenumberEnd: 409
    functionName: OSSL_ENCODER_CTX_new_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 3
    functionsReached:
    - OSSL_TRACE_END
    - ossl_provider_libctx
    - OSSL_ENCODER_CTX_add_extra
    - OSSL_ENCODER_CTX_set_params
    - OSSL_ENCODER_CTX_get_num_encoders
    - evp_pkey_is_provided
    - ERR_raise_data
    - ERR_raise
    - EVP_KEYMGMT_get0_provider
    - OSSL_ENCODER_CTX_set_output_type
    - ossl_encoder_ctx_setup_for_pkey
    - OSSL_PARAM_construct_int
    - BIO_printf
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_set_selection
    - EVP_PKEY_get0_type_name
    - evp_pkey_is_assigned
    - OSSL_ENCODER_CTX_new
    - OSSL_ENCODER_CTX_set_output_structure
    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:375,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:377,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - EVP_PKEY_get0_type_name
    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:400,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 402
    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: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: 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:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    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:43,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:45,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    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:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    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:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:71,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:72,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:73,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:74,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: OSSL_ENCODER_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - ossl_property_free
    - CRYPTO_FREE_REF
    - ossl_provider_free
    - CRYPTO_DOWN_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:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    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:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    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:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 115
    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:122,1
    - Dst: ossl_method_lock_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 126
    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:133,1
    - Dst: ossl_method_unlock_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 137
    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:153,1
    - Dst: strchr
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:155,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:156,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:160,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:167,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: get_encoder_from_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - strchr
    - ossl_namemap_name2num_n
    - ossl_method_store_fetch
    - ossl_namemap_stored
    - 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:192,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:194,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:197,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:198,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:201,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:204,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: 207
      start: 175
    functionDepth: 7
    functionLinenumber: 175
    functionLinenumberEnd: 207
    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:215,1
    - Dst: ossl_encoder_new
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:217,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:220,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:221,1
    - Dst: ossl_parse_property
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:226,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:228,1
    - Dst: OSSL_FUNC_encoder_newctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:236,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:244,1
    - Dst: OSSL_FUNC_encoder_gettable_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:248,1
    - Dst: OSSL_FUNC_encoder_set_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:252,1
    - Dst: OSSL_FUNC_encoder_settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:256,1
    - Dst: OSSL_FUNC_encoder_does_selection
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:260,1
    - Dst: OSSL_FUNC_encoder_encode
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:264,1
    - Dst: OSSL_FUNC_encoder_import_object
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:268,1
    - Dst: OSSL_FUNC_encoder_free_object
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:272,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:287,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:291,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:292,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 3
    argNames:
    - id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 298
    functionName: encoder_from_algorithm
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_encoder_import_object
    - OSSL_FUNC_encoder_set_ctx_params
    - OSSL_FUNC_encoder_freectx
    - OSSL_FUNC_encoder_encode
    - OSSL_FUNC_encoder_newctx
    - ossl_provider_libctx
    - OSSL_FUNC_encoder_gettable_params
    - OSSL_FUNC_encoder_does_selection
    - ossl_encoder_new
    - ERR_raise
    - OSSL_ENCODER_free
    - OSSL_FUNC_encoder_get_params
    - ossl_provider_up_ref
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_encoder_settable_ctx_params
    - OSSL_FUNC_encoder_free_object
    - ossl_parse_property
    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:315,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:316,1
    - Dst: ossl_namemap_add_names
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:318,1
    - Dst: encoder_from_algorithm
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 305
    functionDepth: 7
    functionLinenumber: 305
    functionLinenumberEnd: 333
    functionName: construct_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_add_names
    - ossl_provider_libctx
    - ossl_namemap_stored
    - encoder_from_algorithm
    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:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 339
    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:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 344
    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:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 349
    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:356,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:363,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:367,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:376,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:392,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:403,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:404,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:419,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:420,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:422,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: 428
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 428
    functionName: inner_ossl_encoder_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_cache_set
    - ERR_raise_data
    - ERR_raise
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_lib_ctx_get_descriptor
    - ossl_method_construct
    - 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:438,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 8
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: OSSL_ENCODER_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - dealloc_tmp_encoder_store
    - inner_ossl_encoder_fetch
    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:445,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 450
    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:454,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:455,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 6
    functionLinenumber: 452
    functionLinenumberEnd: 460
    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:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 474
    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:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 484
    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:489,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 495
    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:499,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 505
    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: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    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: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    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:520,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:521,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - encoder
    - name
    argTypes:
    - OSSL_ENCODER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 7
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: OSSL_ENCODER_is_a
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 2
    functionsReached:
    - ossl_namemap_name2num
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - int
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 538
    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:550,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:555,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:556,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:556,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 540
    functionDepth: 8
    functionLinenumber: 540
    functionLinenumberEnd: 558
    functionName: OSSL_ENCODER_do_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 1
    functionsReached:
    - dealloc_tmp_encoder_store
    - inner_ossl_encoder_fetch
    - ossl_method_store_do_all
    - get_encoder_store
    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:568,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:569,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - encoder
    - data
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 7
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: OSSL_ENCODER_names_do_all
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:581,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:581,1
    - Dst: OSSL_ENCODER*::gettable_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: OSSL_ENCODER_gettable_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_get0_provider
    - OSSL_ENCODER*::gettable_params
    - ossl_provider_ctx
    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:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - encoder
    - params
    argTypes:
    - OSSL_ENCODER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 593
    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:598,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:598,1
    - Dst: OSSL_ENCODER*::settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: OSSL_ENCODER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_get0_provider
    - ossl_provider_ctx
    - 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:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 615
    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:624,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:625,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:632,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:634,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:635,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:636,1
    - Dst: OSSL_ENCODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 644
    functionName: OSSL_ENCODER_CTX_set_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 2
    functionsReached:
    - OSSL_ENCODER*::set_ctx_params
    - sk_OSSL_ENCODER_INSTANCE_value
    - ERR_raise
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - OSSL_ENCODER_INSTANCE_get_encoder
    - OSSL_ENCODER_CTX_get_num_encoders
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_params(OSSL_ENCODER_CTX *ctx,\n    const
      OSSL_PARAM params[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:652,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:653,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:660,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:662,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:663,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:664,1
    - Dst: OSSL_ENCODER_settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:671,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:674,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:675,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:678,1
    - Dst: OSSL_ENCODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:682,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:683,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:689,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 693
    functionName: OSSL_ENCODER_CTX_ctrl_string
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_settable_ctx_params
    - OSSL_ENCODER*::set_ctx_params
    - sk_OSSL_ENCODER_INSTANCE_value
    - ERR_raise_data
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - ERR_raise
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - OSSL_ENCODER_INSTANCE_get_encoder
    - strlen
    - OSSL_ENCODER_CTX_get_num_encoders
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_ctrl_string(OSSL_ENCODER_CTX *ctx,\n    const
      char *name, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_pop_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:698,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:700,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_ENCODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: OSSL_ENCODER_CTX_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 4
    functionsReached:
    - sk_OSSL_ENCODER_INSTANCE_pop_free
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    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:36,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/encode_decode/encoder_err.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    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:
    - sk_ESS_CERT_ID_push
    - ESS_SIGNING_CERT_free
    - ESS_SIGNING_CERT_new
    - ESS_CERT_ID_new_init
    - ERR_raise
    - sk_X509_num
    - sk_ESS_CERT_ID_new_null
    - sk_X509_value
    - ESS_CERT_ID_free
    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:114,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ess/ess_lib.c:120,1
    - Dst: ESS_CERT_ID_free
      Src: /src/openssl/crypto/ess/ess_lib.c:121,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - cert
    - set_issuer_serial
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 123
    functionName: ESS_CERT_ID_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_dup
    - ASN1_OCTET_STRING_set
    - X509_digest
    - X509_get0_serialNumber
    - GENERAL_NAME_free
    - GENERAL_NAME_new
    - ASN1_INTEGER_free
    - ERR_raise
    - ESS_CERT_ID_new
    - EVP_sha1
    - sk_GENERAL_NAME_push
    - X509_NAME_dup
    - ESS_ISSUER_SERIAL_new
    - ESS_CERT_ID_free
    - X509_get_issuer_name
    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: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 168
    functionName: OSSL_ESS_signing_cert_v2_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - ESS_CERT_ID_V2_new_init
    - sk_ESS_CERT_ID_V2_push
    - ERR_raise
    - sk_X509_num
    - ESS_CERT_ID_V2_free
    - sk_X509_value
    - ESS_SIGNING_CERT_V2_free
    - ESS_SIGNING_CERT_V2_new
    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 STACK_OF(X509) *certs,\n    int
      set_issuer_serial)"
  - BBCount: 12
    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: X509_ALGOR_set_md
      Src: /src/openssl/crypto/ess/ess_lib.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:190,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/ess/ess_lib.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:200,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ess/ess_lib.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:205,1
    - Dst: ESS_ISSUER_SERIAL_new
      Src: /src/openssl/crypto/ess/ess_lib.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:213,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/ess/ess_lib.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:217,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ess/ess_lib.c:221,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ess/ess_lib.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:222,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/ess/ess_lib.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:226,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ess/ess_lib.c:230,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ess/ess_lib.c:231,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/ess/ess_lib.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:233,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ess/ess_lib.c:239,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ess/ess_lib.c:240,1
    - Dst: ESS_CERT_ID_V2_free
      Src: /src/openssl/crypto/ess/ess_lib.c:241,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - hash_alg
    - cert
    - set_issuer_serial
    argTypes:
    - EVP_MD*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 243
    functionName: ESS_CERT_ID_V2_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - X509_digest
    - GENERAL_NAME_free
    - sk_GENERAL_NAME_push
    - X509_NAME_dup
    - ESS_ISSUER_SERIAL_new
    - ESS_CERT_ID_V2_new
    - ERR_raise
    - ESS_CERT_ID_V2_free
    - X509_ALGOR_free
    - ASN1_OCTET_STRING_set
    - EVP_MD_is_a
    - GENERAL_NAME_new
    - memset
    - X509_get_issuer_name
    - ASN1_INTEGER_dup
    - X509_get0_serialNumber
    - X509_ALGOR_set_md
    - ASN1_INTEGER_free
    - 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:249,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/ess/ess_lib.c:252,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/ess/ess_lib.c:254,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ess/ess_lib.c:254,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/ess/ess_lib.c:257,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/ess/ess_lib.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - is
    - cert
    argTypes:
    - ESS_ISSUER_SERIAL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: ess_issuer_serial_cmp
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 0
    functionsReached:
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - X509_get_issuer_name
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int ess_issuer_serial_cmp(const ESS_ISSUER_SERIAL *is, const X509 *cert)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:278,1
    - Dst: strcpy
      Src: /src/openssl/crypto/ess/ess_lib.c:283,1
    - Dst: strcpy
      Src: /src/openssl/crypto/ess/ess_lib.c:285,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/ess/ess_lib.c:287,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ess/ess_lib.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:291,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ess/ess_lib.c:295,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ess/ess_lib.c:296,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/ess/ess_lib.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:301,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ess/ess_lib.c:305,1
    - Dst: ess_issuer_serial_cmp
      Src: /src/openssl/crypto/ess/ess_lib.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:322,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ess/ess_lib.c:324,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 6
    argNames:
    - cid
    - cid_v2
    - index
    - certs
    - libctx
    - propq
    argTypes:
    - ESS_CERT_ID*
    - ESS_CERT_ID_V2*
    - int
    - STACK_OF*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 265
    functionDepth: 10
    functionLinenumber: 265
    functionLinenumberEnd: 326
    functionName: find
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 21
    functionsReached:
    - X509_digest
    - memcmp
    - ERR_raise
    - ess_issuer_serial_cmp
    - EVP_MD_fetch
    - sk_X509_num
    - sk_X509_value
    - EVP_MD_free
    - strcpy
    - OBJ_obj2txt
    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, OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_ESS_CERT_ID_num
      Src: /src/openssl/crypto/ess/ess_lib.c:335,1
    - Dst: sk_ESS_CERT_ID_V2_num
      Src: /src/openssl/crypto/ess/ess_lib.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:344,1
    - Dst: find
      Src: /src/openssl/crypto/ess/ess_lib.c:349,1
    - Dst: sk_ESS_CERT_ID_value
      Src: /src/openssl/crypto/ess/ess_lib.c:349,1
    - Dst: find
      Src: /src/openssl/crypto/ess/ess_lib.c:354,1
    - Dst: sk_ESS_CERT_ID_V2_value
      Src: /src/openssl/crypto/ess/ess_lib.c:354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - ss
    - ssv2
    - chain
    - libctx
    - propq
    - require_signing_cert
    argTypes:
    - ESS_SIGNING_CERT*
    - ESS_SIGNING_CERT_V2*
    - STACK_OF*
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 328
    functionDepth: 11
    functionLinenumber: 328
    functionLinenumberEnd: 359
    functionName: OSSL_ESS_check_signing_certs_ex
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - sk_ESS_CERT_ID_value
    - ERR_raise
    - find
    - sk_ESS_CERT_ID_V2_value
    - sk_ESS_CERT_ID_V2_num
    - sk_ESS_CERT_ID_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_ESS_check_signing_certs_ex(const ESS_SIGNING_CERT *ss,\n
      \   const ESS_SIGNING_CERT_V2 *ssv2,\n    const STACK_OF(X509) *chain,\n    OSSL_LIB_CTX
      *libctx,\n    const char *propq,\n    int require_signing_cert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ESS_check_signing_certs_ex
      Src: /src/openssl/crypto/ess/ess_lib.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    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: 361
    functionDepth: 12
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: OSSL_ESS_check_signing_certs
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_ESS_check_signing_certs_ex
    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_ENCODE_CTX_free
    - EVP_DecodeFinal
    - evp_encode_ctx_set_flags
    - EVP_DecodeUpdate
    - memmove
    - EVP_ENCODE_CTX_new
    - strlen
    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:153,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:155,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:159,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:161,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/crypto/srp/srp_vfy.c:165,1
    - Dst: memmove
      Src: /src/openssl/crypto/srp/srp_vfy.c:170,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: t_tob64
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - EVP_ENCODE_CTX_free
    - EVP_EncodeUpdate
    - evp_encode_ctx_set_flags
    - EVP_EncodeInit
    - memmove
    - EVP_ENCODE_CTX_new
    - EVP_EncodeFinal
    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:182,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:183,1
    - Dst: OPENSSL_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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - user_pwd
    argTypes:
    - SRP_user_pwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: SRP_user_pwd_free
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BN_free
    - BN_clear_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:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 202
    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: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    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:214,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:215,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:218,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vinfo
    - id
    - info
    argTypes:
    - SRP_user_pwd*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: SRP_user_pwd_set1_ids
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:232,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:235,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:237,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:240,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - vinfo
    - s
    - v
    argTypes:
    - SRP_user_pwd*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: SRP_user_pwd_set_sv
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - t_fromb64
    - BN_free
    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:252,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vinfo
    - s
    - v
    argTypes:
    - SRP_user_pwd*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: SRP_user_pwd_set0_sv
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_clear_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:265,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:268,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/openssl/crypto/srp/srp_vfy.c:269,1
    - Dst: SRP_user_pwd_set0_sv
      Src: /src/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - src
    argTypes:
    - SRP_user_pwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: srp_user_pwd_dup
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - SRP_user_pwd_new
    - SRP_user_pwd_set_gN
    - SRP_user_pwd_set0_sv
    - SRP_user_pwd_free
    - SRP_user_pwd_set1_ids
    - BN_dup
    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:279,1
    - Dst: sk_SRP_user_pwd_new_null
      Src: /src/openssl/crypto/srp/srp_vfy.c:283,1
    - Dst: sk_SRP_gN_cache_new_null
      Src: /src/openssl/crypto/srp/srp_vfy.c:284,1
    - Dst: sk_SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:285,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:286,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:292,1
    - Dst: sk_SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:293,1
    - Dst: sk_SRP_gN_cache_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - seed_key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 299
    functionName: SRP_VBASE_new
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_gN_cache_free
    - sk_SRP_user_pwd_free
    - OPENSSL_strdup
    - sk_SRP_user_pwd_new_null
    - OPENSSL_free
    - sk_SRP_gN_cache_new_null
    - 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:305,1
    - Dst: sk_SRP_gN_cache_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vb
    argTypes:
    - SRP_VBASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: SRP_VBASE_free
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_gN_cache_free
    - sk_SRP_user_pwd_pop_free
    - OPENSSL_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:315,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:320,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:324,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: SRP_gN_new_init
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - BN_bin2bn
    - OPENSSL_free
    - t_fromb64
    - 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:340,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gN_cache
    argTypes:
    - SRP_gN_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: SRP_gN_free
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_free
    - OPENSSL_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:351,1
    - Dst: sk_SRP_gN_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:352,1
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_vfy.c:353,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - id
    - gN_tab
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: SRP_get_gN_by_id
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - SRP_get_default_gN
    - sk_SRP_gN_num
    - sk_SRP_gN_value
    - strcmp
    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:368,1
    - Dst: sk_SRP_gN_cache_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:369,1
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_vfy.c:370,1
    - Dst: SRP_gN_new_init
      Src: /src/openssl/crypto/srp/srp_vfy.c:374,1
    - Dst: sk_SRP_gN_cache_insert
      Src: /src/openssl/crypto/srp/srp_vfy.c:376,1
    - Dst: SRP_gN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - gN_cache
    - ch
    argTypes:
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 6
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: SRP_gN_place_bn
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_gN_cache_num
    - sk_SRP_gN_cache_value
    - SRP_gN_new_init
    - strcmp
    - SRP_gN_free
    - sk_SRP_gN_cache_insert
    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:397,1
    - Dst: sk_SRP_gN_new_null
      Src: /src/openssl/crypto/srp/srp_vfy.c:397,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:406,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/srp/srp_vfy.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/srp/srp_vfy.c:414,1
    - Dst: BIO_read_filename
      Src: /src/openssl/crypto/srp/srp_vfy.c:418,1
    - Dst: TXT_DB_read
      Src: /src/openssl/crypto/srp/srp_vfy.c:423,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:429,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/crypto/srp/srp_vfy.c:431,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:432,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:438,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:441,1
    - Dst: SRP_gN_place_bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:442,1
    - Dst: SRP_gN_place_bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:444,1
    - Dst: sk_SRP_gN_insert
      Src: /src/openssl/crypto/srp/srp_vfy.c:446,1
    - Dst: SRP_get_gN_by_id
      Src: /src/openssl/crypto/srp/srp_vfy.c:458,1
    - Dst: SRP_user_pwd_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:460,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:463,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/openssl/crypto/srp/srp_vfy.c:464,1
    - Dst: SRP_user_pwd_set_sv
      Src: /src/openssl/crypto/srp/srp_vfy.c:468,1
    - Dst: sk_SRP_user_pwd_insert
      Src: /src/openssl/crypto/srp/srp_vfy.c:471,1
    - Dst: SRP_get_gN_by_id
      Src: /src/openssl/crypto/srp/srp_vfy.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:498,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:499,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:502,1
    - Dst: TXT_DB_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:504,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/srp/srp_vfy.c:505,1
    - Dst: sk_SRP_gN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:507,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 2
    argNames:
    - vb
    - verifier_file
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 394
    functionDepth: 7
    functionLinenumber: 394
    functionLinenumberEnd: 510
    functionName: SRP_VBASE_init
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_user_pwd_insert
    - BIO_s_file
    - SRP_user_pwd_set1_ids
    - SRP_user_pwd_new
    - BIO_new
    - OPENSSL_free
    - ERR_raise
    - TXT_DB_free
    - BIO_read_filename
    - STACK_OF
    - SRP_gN_place_bn
    - sk_OPENSSL_PSTRING_value
    - OPENSSL_malloc
    - SRP_get_default_gN
    - TXT_DB_read
    - SRP_user_pwd_set_sv
    - OPENSSL_strdup
    - sk_SRP_gN_free
    - BIO_free_all
    - sk_SRP_gN_insert
    - SRP_user_pwd_set_gN
    - SRP_get_gN_by_id
    - SRP_user_pwd_free
    - sk_SRP_gN_new_null
    - sk_OPENSSL_PSTRING_num
    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:520,1
    - Dst: sk_SRP_user_pwd_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:521,1
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_vfy.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 527
    functionName: find_user
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_user_pwd_num
    - sk_SRP_user_pwd_value
    - strcmp
    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:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vb
    - user_pwd
    argTypes:
    - SRP_VBASE*
    - SRP_user_pwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 534
    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:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 546
    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:564,1
    - Dst: srp_user_pwd_dup
      Src: /src/openssl/crypto/srp/srp_vfy.c:565,1
    - Dst: SRP_user_pwd_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:572,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:575,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/openssl/crypto/srp/srp_vfy.c:577,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/srp/srp_vfy.c:580,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/srp/srp_vfy.c:582,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:585,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:587,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:588,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_vfy.c:588,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:589,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_vfy.c:589,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:590,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:592,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:594,1
    - Dst: SRP_user_pwd_set0_sv
      Src: /src/openssl/crypto/srp/srp_vfy.c:596,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:597,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:598,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:602,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:603,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:604,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 553
    functionDepth: 10
    functionLinenumber: 553
    functionLinenumberEnd: 606
    functionName: SRP_VBASE_get1_by_user
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - RAND_priv_bytes
    - BN_bin2bn
    - SRP_user_pwd_free
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - SRP_user_pwd_set_gN
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - srp_user_pwd_dup
    - strlen
    - EVP_MD_free
    - SRP_user_pwd_set0_sv
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - find_user
    - SRP_user_pwd_set1_ids
    - SRP_user_pwd_new
    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:628,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:630,1
    - 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: SRP_get_default_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:642,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:651,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:654,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:656,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:658,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:663,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/srp/srp_vfy.c:667,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_vfy.c:669,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:670,1
    - Dst: t_tob64
      Src: /src/openssl/crypto/srp/srp_vfy.c:672,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_vfy.c:672,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/srp/srp_vfy.c:678,1
    - Dst: t_tob64
      Src: /src/openssl/crypto/srp/srp_vfy.c:680,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:681,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:692,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:693,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:694,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:695,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:696,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: 698
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 698
    functionName: SRP_create_verifier_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_num_bytes
    - t_tob64
    - OPENSSL_free
    - OPENSSL_clear_free
    - SRP_get_default_gN
    - t_fromb64
    - RAND_bytes_ex
    - BN_free
    - BN_clear_free
    - BN_bn2bin
    - OPENSSL_malloc_array
    - SRP_create_verifier_BN_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:703,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: 704
      start: 700
    functionDepth: 6
    functionLinenumber: 700
    functionLinenumberEnd: 704
    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:722,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:730,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:733,1
    - Dst: SRP_Calc_x_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:740,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:744,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_vfy.c:748,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:749,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:759,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:760,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:761,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: 763
      start: 715
    functionDepth: 5
    functionLinenumber: 715
    functionLinenumberEnd: 763
    functionName: SRP_create_verifier_BN_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 1
    functionsReached:
    - SRP_Calc_x_ex
    - BN_bin2bn
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_mod_exp
    - RAND_bytes_ex
    - BN_clear_free
    - BN_new
    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:769,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: 771
      start: 765
    functionDepth: 6
    functionLinenumber: 765
    functionLinenumberEnd: 771
    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:
    - BN_bin2bn
    - BN_ucmp
    - EVP_Digest
    - BN_num_bytes
    - OPENSSL_free
    - EVP_MD_fetch
    - EVP_MD_free
    - OPENSSL_malloc_array
    - 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_CTX_new
    - BN_CTX_free
    - BN_mod_exp
    - BN_free
    - BN_mod_mul
    - BN_clear_free
    - BN_new
    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:113,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:116,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:116,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:116,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:121,1
    - Dst: srp_Calc_k
      Src: /src/openssl/crypto/srp/srp_lib.c:122,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:123,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/srp/srp_lib.c:124,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:125,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:129,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:130,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:131,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:132,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: 134
      start: 106
    functionDepth: 12
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: SRP_Calc_B_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_mod_exp
    - BN_mod_add
    - srp_Calc_k
    - BN_free
    - BN_mod_mul
    - BN_clear_free
    - BN_new
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - b
    - N
    - g
    - v
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 13
    functionLinenumber: 136
    functionLinenumberEnd: 140
    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:154,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_lib.c:157,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_lib.c:157,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/srp/srp_lib.c:160,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:164,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:165,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_lib.c:165,1
    - Dst: EVP_DigestUpdate
      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_DigestFinal_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:168,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:169,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/srp/srp_lib.c:171,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:173,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_lib.c:173,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:176,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:177,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_lib.c:180,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_lib.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_lib.c:184,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:185,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: 187
      start: 142
    functionDepth: 10
    functionLinenumber: 142
    functionLinenumberEnd: 187
    functionName: SRP_Calc_x_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 1
    functionsReached:
    - BN_bin2bn
    - BN_num_bytes
    - OPENSSL_free
    - BN_bn2bin
    - EVP_DigestFinal_ex
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - strlen
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - 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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - user
    - pass
    argTypes:
    - BIGNUM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 11
    functionLinenumber: 189
    functionLinenumberEnd: 192
    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:199,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:202,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:202,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:203,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - a
    - N
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: SRP_Calc_A
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - BN_CTX_free
    - BN_mod_exp
    - BN_free
    - BN_new
    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:219,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:222,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:222,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:222,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:222,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/srp/srp_lib.c:225,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/srp/srp_lib.c:226,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:227,1
    - Dst: srp_Calc_k
      Src: /src/openssl/crypto/srp/srp_lib.c:229,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:231,1
    - Dst: BN_mod_sub
      Src: /src/openssl/crypto/srp/srp_lib.c:233,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:235,1
    - Dst: BN_add
      Src: /src/openssl/crypto/srp/srp_lib.c:237,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:239,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:240,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:241,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:246,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:247,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:248,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:249,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:250,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:251,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: 253
      start: 210
    functionDepth: 12
    functionLinenumber: 210
    functionLinenumberEnd: 253
    functionName: SRP_Calc_client_key_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_CTX_new_ex
    - BN_CTX_free
    - BN_mod_exp
    - srp_Calc_k
    - BN_free
    - BN_mod_mul
    - BN_clear_free
    - BN_with_flags
    - BN_new
    - BN_set_flags
    - BN_mod_sub
    - BN_add
    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:258,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: 259
      start: 255
    functionDepth: 13
    functionLinenumber: 255
    functionLinenumberEnd: 259
    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:267,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:270,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/srp/srp_lib.c:273,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/srp/srp_lib.c:275,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:277,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - B
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: SRP_Verify_B_mod_N
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_CTX_new
    - BN_CTX_free
    - BN_nnmod
    - BN_free
    - BN_new
    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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - A
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 286
    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:311,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/srp/srp_lib.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - g
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 315
    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:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 328
    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: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: "(*X509_TRUST_set_default(int (*trust)(int, const X509 *, int)))(int,
      const 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, const X509 *, int)))(int,
      const X509 *,\n    int)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:74,1
    - Dst: X509_TRUST_get_by_id
      Src: /src/openssl/crypto/x509/x509_trust.c:76,1
    - Dst: default_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:78,1
    - Dst: X509_TRUST_get0
      Src: /src/openssl/crypto/x509/x509_trust.c:79,1
    - Dst: X509_TRUST*::check_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - id
    - flags
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: X509_check_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - X509_TRUST_get_by_id
    - X509_TRUST*::check_trust
    - default_trust
    - obj_trust
    - X509_TRUST_get0
    linkageType: ''
    returnType: int
    signature: int X509_check_trust(const X509 *x, int id, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_num
      Src: /src/openssl/crypto/x509/x509_trust.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    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:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    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:110,1
    - Dst: sk_X509_TRUST_find
      Src: /src/openssl/crypto/x509/x509_trust.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 115
    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:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_trust.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - t
    - trust
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: X509_TRUST_set
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - X509_TRUST_get_by_id
    - ERR_raise
    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:139,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x509_trust.c:142,1
    - Dst: X509_TRUST_get0
      Src: /src/openssl/crypto/x509/x509_trust.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:150,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_trust.c:152,1
    - Dst: sk_X509_TRUST_new
      Src: /src/openssl/crypto/x509/x509_trust.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_trust.c:168,1
    - Dst: sk_X509_TRUST_push
      Src: /src/openssl/crypto/x509/x509_trust.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_trust.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:180,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: 183
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 183
    functionName: X509_TRUST_add
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - X509_TRUST_get_by_id
    - sk_X509_TRUST_push
    - OPENSSL_free
    - sk_X509_TRUST_new
    - ERR_raise
    - X509_TRUST_get0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, const
      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:191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509_TRUST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    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:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    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: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    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: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    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: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 227
    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, const X509 *x, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    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, const X509 *x, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_trust.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    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, const X509 *x, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/x509_trust.c:264,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/x509_trust.c:265,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_trust.c:266,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/x509_trust.c:274,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/x509_trust.c:275,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_trust.c:276,1
    - Dst: trust_compat
      Src: /src/openssl/crypto/x509/x509_trust.c:304,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - id
    - x
    - flags
    argTypes:
    - int
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 305
    functionName: obj_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 3
    functionsReached:
    - OBJ_obj2nid
    - sk_ASN1_OBJECT_num
    - trust_compat
    - sk_ASN1_OBJECT_value
    linkageType: ''
    returnType: int
    signature: int obj_trust(int id, const X509 *x, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:36,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_utf8.c:39,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utf8.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - method
    - utf8
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_UTF8STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    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:51,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/v3_utf8.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:55,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_utf8.c:58,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utf8.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:59,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/x509/v3_utf8.c:60,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/x509/v3_utf8.c:64,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: 67
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: s2i_ASN1_UTF8STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_utf8.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - ASN1_STRING_set
    - ERR_raise
    - ASN1_UTF8STRING_new
    - strlen
    - 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:111,1
    - Dst: sk_ACCESS_DESCRIPTION_new_reserve
      Src: /src/openssl/crypto/x509/v3_info.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_info.c:115,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_info.c:119,1
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/openssl/crypto/x509/v3_info.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_info.c:121,1
    - Dst: sk_ACCESS_DESCRIPTION_push
      Src: /src/openssl/crypto/x509/v3_info.c:124,1
    - Dst: strchr
      Src: /src/openssl/crypto/x509/v3_info.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_info.c:127,1
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/openssl/crypto/x509/v3_info.c:132,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_info.c:134,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_info.c:136,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_info.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_info.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_info.c:143,1
    - Dst: sk_ACCESS_DESCRIPTION_pop_free
      Src: /src/openssl/crypto/x509/v3_info.c:147,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: 149
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 149
    functionName: v2i_AUTHORITY_INFO_ACCESS
    functionSourceFile: /src/openssl/crypto/x509/v3_info.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strndup
    - ERR_raise_data
    - OPENSSL_free
    - sk_ACCESS_DESCRIPTION_pop_free
    - ERR_raise
    - sk_ACCESS_DESCRIPTION_new_reserve
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - OBJ_txt2obj
    - v2i_GENERAL_NAME_ex
    - ACCESS_DESCRIPTION_new
    - sk_ACCESS_DESCRIPTION_push
    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:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ACCESS_DESCRIPTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 155
    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_new
    - ASN1_INTEGER_set
    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
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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 X509_REVOKED *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_CRL_INFO
      Src: /src/openssl/crypto/x509/x509cset.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crl
    - pp
    argTypes:
    - X509_CRL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    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_POLICYINFO_pop_free
    - sk_POLICYINFO_value
    - sk_X509_POLICY_DATA_new
    - ossl_policy_data_new
    - sk_X509_POLICY_DATA_find
    - ERR_raise
    - OBJ_obj2nid
    - sk_X509_POLICY_DATA_push
    - sk_X509_POLICY_DATA_pop_free
    - ossl_policy_data_free
    - sk_X509_POLICY_DATA_sort
    - sk_POLICYINFO_num
    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: 175
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 175
    functionName: policy_cache_new
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - policy_cache_create
    - ASN1_INTEGER_free
    - policy_cache_set_int
    - ossl_policy_cache_set_mapping
    - OPENSSL_malloc
    - POLICY_CONSTRAINTS_free
    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:181,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - X509_POLICY_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: ossl_policy_cache_free
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - ossl_policy_data_free
    - sk_X509_POLICY_DATA_pop_free
    - OPENSSL_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:190,1
    - Dst: policy_cache_new
      Src: /src/openssl/crypto/x509/pcy_cache.c:192,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/pcy_cache.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: ossl_policy_cache_set
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - policy_cache_new
    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:205,1
    - Dst: sk_X509_POLICY_DATA_value
      Src: /src/openssl/crypto/x509/pcy_cache.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cache
    - id
    argTypes:
    - X509_POLICY_CACHE*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    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:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_POLICY_DATA**
    - X509_POLICY_DATA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    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:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - value
    argTypes:
    - long*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    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:78,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/v3_prn.c:81,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/x509/v3_prn.c:82,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/v3_prn.c:83,1
    - Dst: X509V3_EXT_get
      Src: /src/openssl/crypto/x509/v3_prn.c:85,1
    - Dst: unknown_ext_print
      Src: /src/openssl/crypto/x509/v3_prn.c:86,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/x509/v3_prn.c:88,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_prn.c:88,1
    - Dst: X509V3_EXT_METHOD*::d2i
      Src: /src/openssl/crypto/x509/v3_prn.c:90,1
    - Dst: unknown_ext_print
      Src: /src/openssl/crypto/x509/v3_prn.c:93,1
    - Dst: X509V3_EXT_METHOD*::i2s
      Src: /src/openssl/crypto/x509/v3_prn.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:101,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_prn.c:106,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_prn.c:107,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/crypto/x509/v3_prn.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_prn.c:111,1
    - Dst: X509V3_EXT_METHOD*::i2v
      Src: /src/openssl/crypto/x509/v3_prn.c:116,1
    - Dst: X509V3_EXT_val_prn
      Src: /src/openssl/crypto/x509/v3_prn.c:120,1
    - Dst: X509V3_EXT_METHOD*::i2r
      Src: /src/openssl/crypto/x509/v3_prn.c:123,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_prn.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_prn.c:130,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/x509/v3_prn.c:132,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_prn.c:132,1
    - Dst: X509V3_EXT_METHOD*::ext_free
      Src: /src/openssl/crypto/x509/v3_prn.c:134,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: 136
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 136
    functionName: X509V3_EXT_print
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 0
    functionsReached:
    - ASN1_item_free
    - unknown_ext_print
    - X509V3_EXT_val_prn
    - X509V3_EXT_METHOD*::i2v
    - X509V3_EXT_METHOD*::ext_free
    - sk_CONF_VALUE_pop_free
    - OPENSSL_free
    - X509V3_EXT_get
    - ASN1_STRING_length
    - ASN1_ITEM_ptr
    - STACK_OF
    - ASN1_STRING_get0_data
    - OPENSSL_malloc
    - ASN1_item_d2i
    - X509V3_EXT_METHOD*::i2r
    - BIO_printf
    - X509_EXTENSION_get_data
    - ascii2ebcdic
    - X509V3_EXT_METHOD*::d2i
    - strlen
    - X509V3_EXT_METHOD*::i2s
    linkageType: ''
    returnType: int
    signature: "int X509V3_EXT_print(BIO *out, const 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:144,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:148,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_prn.c:152,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/v3_prn.c:156,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_prn.c:157,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_prn.c:159,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_prn.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:162,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_prn.c:164,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_prn.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:166,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/v3_prn.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:169,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_prn.c:170,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/v3_prn.c:170,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_prn.c:172,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: 176
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: X509V3_extensions_print
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - X509_EXTENSION_get_object
    - sk_X509_EXTENSION_value
    - i2a_ASN1_OBJECT
    - X509_EXTENSION_get_data
    - BIO_write
    - sk_X509_EXTENSION_num
    - OBJ_obj2nid
    - X509_EXTENSION_get_critical
    - ASN1_STRING_print
    - X509V3_EXT_print
    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:188,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:190,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/v3_prn.c:194,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/x509/v3_prn.c:196,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: 201
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: unknown_ext_print
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 1
    functionsReached:
    - ASN1_parse_dump
    - BIO_printf
    - BIO_dump_indent
    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:209,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/v3_prn.c:211,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/v3_prn.c:212,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: 214
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: X509V3_EXT_print_fp
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - X509V3_EXT_print
    - BIO_new_fp
    linkageType: ''
    returnType: int
    signature: int X509V3_EXT_print_fp(FILE *fp, const 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:
    - BIO_printf
    - i2a_ASN1_OBJECT
    - OPENSSL_free
    - OBJ_obj2nid
    - ossl_ipaddr_to_asc
    - ASN1_STRING_print
    - X509_NAME_print_ex
    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:
    - v2i_GENERAL_NAME
    - ossl_v3_name_cmp
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - copy_issuer
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_new_reserve
    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: 375
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 375
    functionName: copy_issuer
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - X509V3_EXT_d2i
    - X509_get_ext_by_NID
    - ERR_raise
    - X509_get_ext
    - sk_GENERAL_NAME_num
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_free
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_reserve
    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:383,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/openssl/crypto/x509/v3_san.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:388,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_san.c:393,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:394,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_san.c:395,1
    - Dst: copy_email
      Src: /src/openssl/crypto/x509/v3_san.c:396,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:398,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_san.c:399,1
    - Dst: copy_email
      Src: /src/openssl/crypto/x509/v3_san.c:400,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:404,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:406,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_san.c:411,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: 413
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 413
    functionName: v2i_subject_alt
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - v2i_GENERAL_NAME
    - ossl_v3_name_cmp
    - copy_email
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_new_reserve
    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:431,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_san.c:435,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/x509/v3_san.c:436,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_san.c:439,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_san.c:450,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/x509/v3_san.c:451,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_san.c:451,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:453,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:460,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:469,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_san.c:470,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - gens
    - move_p
    argTypes:
    - X509V3_CTX*
    - GENERAL_NAMES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 472
    functionName: copy_email
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - ASN1_IA5STRING_free
    - X509_REQ_get_subject_name
    - GENERAL_NAME_new
    - GENERAL_NAME_free
    - ERR_raise
    - ASN1_STRING_dup
    - sk_GENERAL_NAME_push
    - X509_NAME_get_entry
    - X509_get_subject_name
    - X509_NAME_get_index_by_NID
    - X509_NAME_ENTRY_get_data
    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:480,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/openssl/crypto/x509/v3_san.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:485,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_san.c:490,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:491,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:493,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_san.c:497,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: 499
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 499
    functionName: v2i_GENERAL_NAMES
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - v2i_GENERAL_NAME
    - ERR_raise
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_new_reserve
    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:504,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: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    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:516,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:523,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:525,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:549,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/crypto/x509/v3_san.c:551,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:553,1
    - Dst: do_dirname
      Src: /src/openssl/crypto/x509/v3_san.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:561,1
    - Dst: do_othername
      Src: /src/openssl/crypto/x509/v3_san.c:567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:568,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:573,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/x509/v3_san.c:578,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_san.c:578,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_san.c:578,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_san.c:579,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:581,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:592,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: 594
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 594
    functionName: a2i_GENERAL_NAME
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ERR_raise_data
    - GENERAL_NAME_free
    - GENERAL_NAME_new
    - ERR_raise
    - ASN1_IA5STRING_new
    - do_othername
    - OBJ_txt2obj
    - do_dirname
    - strlen
    - a2i_IPADDRESS_NC
    - a2i_IPADDRESS
    - 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:608,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:612,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:614,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:616,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:618,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:620,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:622,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:624,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:627,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:632,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: 633
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 633
    functionName: v2i_GENERAL_NAME_ex
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 2
    functionsReached:
    - a2i_GENERAL_NAME
    - ossl_v3_name_cmp
    - ERR_raise
    - ERR_raise_data
    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:641,1
    - Dst: OTHERNAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:643,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/v3_san.c:649,1
    - Dst: ASN1_generate_v3
      Src: /src/openssl/crypto/x509/v3_san.c:650,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_san.c:653,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_san.c:656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_san.c:657,1
    - Dst: OTHERNAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - gen
    - value
    - ctx
    argTypes:
    - GENERAL_NAME*
    - char*
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 666
    functionName: do_othername
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - strchr
    - OPENSSL_strndup
    - ASN1_TYPE_free
    - OPENSSL_free
    - OTHERNAME_free
    - ASN1_generate_v3
    - OBJ_txt2obj
    - OTHERNAME_new
    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:671,1
    - Dst: X509_NAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:674,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_san.c:676,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:678,1
    - Dst: X509V3_NAME_from_section
      Src: /src/openssl/crypto/x509/v3_san.c:683,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:690,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_san.c:691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - gen
    - value
    - ctx
    argTypes:
    - GENERAL_NAME*
    - char*
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 693
    functionName: do_dirname
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - X509V3_section_free
    - X509_NAME_free
    - ERR_raise_data
    - X509V3_get_section
    - X509V3_NAME_from_section
    - STACK_OF
    - X509_NAME_new
    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:27,1
    - Dst: X509_NAME_get_text_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:30,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: 31
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 31
    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:39,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/x509name.c:42,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/x509name.c:42,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x509name.c:48,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: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: X509_NAME_get_text_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_get_data
    - memcpy
    - X509_NAME_get_entry
    - X509_NAME_get_index_by_OBJ
    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:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: X509_NAME_entry_count
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_ENTRY_num
    linkageType: ''
    returnType: OSSL_END_ALLOW_DEPRECATED
    signature: OSSL_END_ALLOW_DEPRECATED X509_NAME_entry_count(const X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509name.c:69,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - nid
    - lastpos
    argTypes:
    - X509_NAME*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: X509_NAME_get_index_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 2
    functionsReached:
    - OBJ_nid2obj
    - X509_NAME_get_index_by_OBJ
    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:81,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:88,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:90,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/x509name.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - name
    - obj
    - lastpos
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: X509_NAME_get_index_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 2
    functionsReached:
    - sk_X509_NAME_ENTRY_value
    - OBJ_cmp
    - sk_X509_NAME_ENTRY_num
    - STACK_OF
    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:99,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - name
    - loc
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    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:110,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:112,1
    - Dst: sk_X509_NAME_ENTRY_delete
      Src: /src/openssl/crypto/x509/x509name.c:117,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:118,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:125,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:128,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - name
    - loc
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: X509_NAME_delete_entry
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_num
    - STACK_OF
    - sk_X509_NAME_ENTRY_delete
    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:153,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/x509name.c:156,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:157,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: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: X509_NAME_add_entry_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached:
    - X509_NAME_ENTRY_free
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_create_by_OBJ
    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:167,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/x509name.c:170,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:171,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: 173
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: X509_NAME_add_entry_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_free
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_create_by_NID
    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:181,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/x509name.c:184,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:185,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: 187
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: X509_NAME_add_entry_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_free
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_create_by_txt
    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:198,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:203,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:216,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:222,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:226,1
    - Dst: X509_NAME_ENTRY_dup
      Src: /src/openssl/crypto/x509/x509name.c:229,1
    - Dst: sk_X509_NAME_ENTRY_insert
      Src: /src/openssl/crypto/x509/x509name.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509name.c:233,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:237,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:239,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:243,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: 245
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: X509_NAME_add_entry
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 3
    functionsReached:
    - sk_X509_NAME_ENTRY_num
    - ERR_raise
    - X509_NAME_ENTRY_dup
    - X509_NAME_ENTRY_free
    - STACK_OF
    - sk_X509_NAME_ENTRY_value
    - 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:255,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509name.c:257,1
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:261,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509name.c:262,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: 264
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: X509_NAME_ENTRY_create_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - ASN1_OBJECT_free
    - OBJ_txt2obj
    - X509_NAME_ENTRY_create_by_OBJ
    - ERR_raise_data
    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:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509name.c:276,1
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:279,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509name.c:280,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: 282
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 282
    functionName: X509_NAME_ENTRY_create_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - ERR_raise
    - X509_NAME_ENTRY_create_by_OBJ
    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:292,1
    - Dst: X509_NAME_ENTRY_set_object
      Src: /src/openssl/crypto/x509/x509name.c:297,1
    - Dst: X509_NAME_ENTRY_set_data
      Src: /src/openssl/crypto/x509/x509name.c:299,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:307,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: 309
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 309
    functionName: X509_NAME_ENTRY_create_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 3
    functionsReached:
    - X509_NAME_ENTRY_free
    - X509_NAME_ENTRY_set_data
    - X509_NAME_ENTRY_new
    - X509_NAME_ENTRY_set_object
    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:314,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509name.c:317,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x509name.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ne
    - obj
    argTypes:
    - X509_NAME_ENTRY*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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:330,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509name.c:332,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509name.c:336,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/x509name.c:337,1
    - Dst: ASN1_PRINTABLE_type
      Src: /src/openssl/crypto/x509/x509name.c:342,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: 347
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 347
    functionName: X509_NAME_ENTRY_set_data
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - OBJ_obj2nid
    - ASN1_STRING_set_by_NID
    - strlen
    - 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: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    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: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    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: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    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: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    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: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    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: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    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: 146
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 146
    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:153,1
    - Dst: NAME_CONSTRAINTS_new
      Src: /src/openssl/crypto/x509/v3_ncons.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:159,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:162,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:163,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_ncons.c:164,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_ncons.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:171,1
    - Dst: GENERAL_SUBTREE_new
      Src: /src/openssl/crypto/x509/v3_ncons.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:177,1
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/openssl/crypto/x509/v3_ncons.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:181,1
    - Dst: sk_GENERAL_SUBTREE_new_null
      Src: /src/openssl/crypto/x509/v3_ncons.c:185,1
    - Dst: sk_GENERAL_SUBTREE_push
      Src: /src/openssl/crypto/x509/v3_ncons.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:187,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:196,1
    - Dst: GENERAL_SUBTREE_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:197,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: 200
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 200
    functionName: v2i_NAME_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - GENERAL_SUBTREE_new
    - ERR_raise
    - GENERAL_SUBTREE_free
    - sk_GENERAL_SUBTREE_push
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - NAME_CONSTRAINTS_free
    - v2i_GENERAL_NAME_ex
    - sk_GENERAL_SUBTREE_new_null
    - NAME_CONSTRAINTS_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:206,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ncons.c:209,1
    - Dst: do_i2r_name_constraints
      Src: /src/openssl/crypto/x509/v3_ncons.c:210,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: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    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:221,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ncons.c:222,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:223,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ncons.c:225,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ncons.c:227,1
    - Dst: print_nc_ipadd
      Src: /src/openssl/crypto/x509/v3_ncons.c:229,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ncons.c:231,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: 234
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: do_i2r_name_constraints
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - sk_GENERAL_SUBTREE_num
    - BIO_printf
    - BIO_puts
    - print_nc_ipadd
    - sk_GENERAL_SUBTREE_value
    - GENERAL_NAME_print
    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: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: print_nc_ipadd
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - ossl_ipaddr_to_asc
    - OPENSSL_free
    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:305,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_ncons.c:317,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_ncons.c:320,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_ncons.c:322,1
    - Dst: nc_match
      Src: /src/openssl/crypto/x509/v3_ncons.c:326,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:333,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:334,1
    - Dst: nc_match
      Src: /src/openssl/crypto/x509/v3_ncons.c:335,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:
    - sk_GENERAL_SUBTREE_num
    - X509_NAME_entry_count
    - sk_GENERAL_NAME_num
    - nc_match
    - X509_NAME_get_entry
    - X509_get_subject_name
    - X509_NAME_get_index_by_NID
    - add_lengths
    - sk_GENERAL_NAME_value
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: int NAME_CONSTRAINTS_check(const 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:
    - ASN1_STRING_to_UTF8
    - memchr
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int cn2dnsid(const 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:
    - cn2dnsid
    - OPENSSL_free
    - nc_match
    - X509_NAME_get_entry
    - X509_get_subject_name
    - X509_NAME_get_index_by_NID
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: int NAME_CONSTRAINTS_check_CN(const X509 *x, NAME_CONSTRAINTS *nc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_ncons.c:494,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/x509/v3_ncons.c:495,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sub
    argTypes:
    - GENERAL_SUBTREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 501
    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:526,1
    - Dst: nc_minmax_valid
      Src: /src/openssl/crypto/x509/v3_ncons.c:528,1
    - Dst: nc_match_single
      Src: /src/openssl/crypto/x509/v3_ncons.c:535,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:547,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:548,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:550,1
    - Dst: nc_minmax_valid
      Src: /src/openssl/crypto/x509/v3_ncons.c:552,1
    - Dst: nc_match_single
      Src: /src/openssl/crypto/x509/v3_ncons.c:555,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 2
    argNames:
    - gen
    - nc
    argTypes:
    - GENERAL_NAME*
    - NAME_CONSTRAINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 563
    functionName: nc_match
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 2
    functionsReached:
    - sk_GENERAL_SUBTREE_num
    - OBJ_cmp
    - nc_match_single
    - OBJ_obj2nid
    - nc_minmax_valid
    - sk_GENERAL_SUBTREE_value
    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:576,1
    - Dst: nc_dn
      Src: /src/openssl/crypto/x509/v3_ncons.c:583,1
    - Dst: nc_dns
      Src: /src/openssl/crypto/x509/v3_ncons.c:586,1
    - Dst: nc_email
      Src: /src/openssl/crypto/x509/v3_ncons.c:589,1
    - Dst: nc_uri
      Src: /src/openssl/crypto/x509/v3_ncons.c:592,1
    - Dst: nc_ip
      Src: /src/openssl/crypto/x509/v3_ncons.c:596,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: 601
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 601
    functionName: nc_match_single
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - nc_dns
    - nc_email
    - nc_uri
    - nc_ip
    - nc_email_eai
    - nc_dn
    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:612,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/v3_ncons.c:614,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - nm
    - base
    argTypes:
    - X509_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: nc_dn
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - memcmp
    - i2d_X509_NAME
    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:645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - dns
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 649
    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:670,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_ncons.c:674,1
    - Dst: ia5memrchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:685,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/crypto/x509/v3_ncons.c:695,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:700,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:701,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:703,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:703,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/crypto/x509/v3_ncons.c:710,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/openssl/crypto/x509/v3_ncons.c:716,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:717,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:718,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - emltype
    - base
    argTypes:
    - ASN1_TYPE*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 658
    functionDepth: 5
    functionLinenumber: 658
    functionLinenumberEnd: 726
    functionName: nc_email_eai
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - ia5ncasecmp
    - OPENSSL_strndup
    - OPENSSL_free
    - ossl_a2ulabel
    - ia5memrchr
    - IA5_OFFSET_LEN
    - strlen
    - memchr
    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:732,1
    - Dst: ia5memrchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:733,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:742,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:754,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:754,1
    - Dst: strncmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:757,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/openssl/crypto/x509/v3_ncons.c:764,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/openssl/crypto/x509/v3_ncons.c:765,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:767,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - eml
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 771
    functionName: nc_email
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - strncmp
    - ia5ncasecmp
    - ia5memrchr
    - IA5_OFFSET_LEN
    - memchr
    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:782,1
    - Dst: OSSL_parse_url
      Src: /src/openssl/crypto/x509/v3_ncons.c:785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:786,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_ncons.c:792,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:794,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:800,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:801,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:803,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:808,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:818,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - uri
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 827
    functionName: nc_uri
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - ia5ncasecmp
    - OPENSSL_strndup
    - ERR_raise_data
    - OPENSSL_free
    - OSSL_parse_url
    - strlen
    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: 857
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 857
    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:55,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/crypto/x509/x509_r2x.c:56,1
    - Dst: X509_sign
      Src: /src/openssl/crypto/x509/x509_r2x.c:59,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/x509/x509_r2x.c:59,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_r2x.c:64,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - r
    - days
    - pkey
    argTypes:
    - X509_REQ*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 66
    functionName: X509_REQ_to_X509
    functionSourceFile: /src/openssl/crypto/x509/x509_r2x.c
    functionUses: 0
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - ASN1_INTEGER_new
    - X509_gmtime_adj
    - X509_new
    - X509_free
    - X509_REQ_get_subject_name
    - ERR_raise
    - X509_set_issuer_name
    - X509_set_pubkey
    - EVP_md5
    - X509_sign
    - X509_set_subject_name
    - ASN1_INTEGER_set
    - X509_REQ_get0_pubkey
    linkageType: ''
    returnType: X509
    signature: X509 *X509_REQ_to_X509(const 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:37,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:40,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    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(const X509 *a, EVP_PKEY *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_version
      Src: /src/openssl/crypto/x509/x_all.c:48,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:49,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:53,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:53,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: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: X509_REQ_verify_ex
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify_ex
    - ERR_raise
    - X509_REQ_get_version
    - ASN1_ITEM_rptr
    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:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    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:65,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:68,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509_ACERT*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    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:75,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: NETSCAPE_SPKI_verify
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_verify
    linkageType: ''
    returnType: int
    signature: int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_all.c:83,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x_all.c:86,1
    - Dst: ossl_ignored_x509_extension
      Src: /src/openssl/crypto/x509/x_all.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - exts
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: bad_keyid_exts
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_num
    - ossl_ignored_x509_extension
    - sk_X509_EXTENSION_value
    linkageType: ''
    returnType: int
    signature: int bad_keyid_exts(const STACK_OF(X509_EXTENSION) *exts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:99,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x_all.c:102,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_all.c:103,1
    - Dst: bad_keyid_exts
      Src: /src/openssl/crypto/x509/x_all.c:104,1
    - Dst: X509_set_version
      Src: /src/openssl/crypto/x509/x_all.c:104,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:115,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: X509_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 3
    functionsReached:
    - X509_get0_extensions
    - ERR_raise
    - bad_keyid_exts
    - sk_X509_EXTENSION_num
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    - X509_set_version
    linkageType: ''
    returnType: int
    signature: int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:125,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x_all.c:128,1
    - Dst: bad_keyid_exts
      Src: /src/openssl/crypto/x509/x_all.c:128,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_all.c:130,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x_all.c:130,1
    - Dst: X509_set_version
      Src: /src/openssl/crypto/x509/x_all.c:131,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:134,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: X509_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - X509_get0_extensions
    - ERR_raise
    - bad_keyid_exts
    - sk_X509_EXTENSION_num
    - ASN1_ITEM_rptr
    - ASN1_item_sign_ctx
    - 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:143,1
    - Dst: OSSL_HTTP_get
      Src: /src/openssl/crypto/x509/x_all.c:144,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:149,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_all.c:151,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: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: simple_get_asn1
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - OSSL_HTTP_get
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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:160,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - url
    - bio
    - rbio
    - timeout
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: X509_load_http
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - simple_get_asn1
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509
    signature: X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_all.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:170,1
    - Dst: ossl_x509_req_get1_extensions_by_nid
      Src: /src/openssl/crypto/x509/x_all.c:173,1
    - Dst: bad_keyid_exts
      Src: /src/openssl/crypto/x509/x_all.c:174,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/x_all.c:175,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:179,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: X509_REQ_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ossl_x509_req_get1_extensions_by_nid
    - ERR_raise
    - bad_keyid_exts
    - ASN1_item_sign_ex
    - STACK_OF
    - ASN1_ITEM_rptr
    - sk_X509_EXTENSION_pop_free
    linkageType: ''
    returnType: int
    signature: int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_all.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:190,1
    - Dst: ossl_x509_req_get1_extensions_by_nid
      Src: /src/openssl/crypto/x509/x_all.c:193,1
    - Dst: bad_keyid_exts
      Src: /src/openssl/crypto/x509/x_all.c:194,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/x_all.c:195,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:199,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_REQ*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: X509_REQ_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ossl_x509_req_get1_extensions_by_nid
    - ERR_raise
    - bad_keyid_exts
    - STACK_OF
    - ASN1_ITEM_rptr
    - ASN1_item_sign_ctx
    - sk_X509_EXTENSION_pop_free
    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:207,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:211,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:211,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: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: X509_CRL_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_sign_ex
    - ERR_raise
    - 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:219,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:223,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_CRL*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: X509_CRL_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_sign_ctx
    - ERR_raise
    - 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:230,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - url
    - bio
    - rbio
    - timeout
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: X509_CRL_load_http
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - simple_get_asn1
    - ASN1_ITEM_rptr
    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:236,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:236,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: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    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:244,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_ACERT*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    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:251,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:251,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: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    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: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:
    - fp
    - x509
    argTypes:
    - FILE*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    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:263,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - x509
    argTypes:
    - FILE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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:269,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x509
    argTypes:
    - BIO*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: d2i_X509_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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:274,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x509
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    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:280,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - crl
    argTypes:
    - FILE*
    - X509_CRL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    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:285,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - crl
    argTypes:
    - FILE*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    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:291,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - crl
    argTypes:
    - BIO*
    - X509_CRL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: d2i_X509_CRL_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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:296,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - crl
    argTypes:
    - BIO*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    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:311,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:311,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/x509/x_all.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - p7
    argTypes:
    - FILE*
    - PKCS7**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 315
    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:319,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p7
    argTypes:
    - FILE*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    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:334,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:334,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/x509/x_all.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - p7
    argTypes:
    - BIO*
    - PKCS7**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: d2i_PKCS7_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_resolve_libctx
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio_ex
    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:342,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p7
    argTypes:
    - BIO*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    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:348,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - req
    argTypes:
    - FILE*
    - X509_REQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    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:353,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - req
    argTypes:
    - FILE*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    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:367,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bp
    - req
    argTypes:
    - BIO*
    - X509_REQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 368
    functionName: d2i_X509_REQ_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio_ex
    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:372,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - req
    argTypes:
    - BIO*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    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:378,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 379
    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:383,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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:388,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    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:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 397
    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:401,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 402
    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:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 407
    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:412,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: d2i_RSAPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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:417,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    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:422,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: d2i_RSAPublicKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    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:432,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    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:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    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:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    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:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    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:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    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:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    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:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    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:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    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:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    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:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    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:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    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:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    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:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    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:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    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:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - ecdsa
    argTypes:
    - BIO*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    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:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    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:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    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:531,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x_all.c:535,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: 536
      start: 528
    functionDepth: 9
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: X509_pubkey_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - X509_get0_pubkey_bitstr
    - EVP_Digest
    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:541,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_all.c:546,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/x509/x_all.c:549,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:549,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: 551
      start: 538
    functionDepth: 9
    functionLinenumber: 538
    functionLinenumberEnd: 551
    functionName: X509_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 4
    functionsReached:
    - ossl_asn1_item_digest_ex
    - memcpy
    - EVP_MD_is_a
    - ASN1_ITEM_rptr
    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:570,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/x_all.c:574,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x_all.c:574,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:575,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/x509/x_all.c:581,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/x509/x_all.c:586,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/x509/x_all.c:590,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:591,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/x509/x_all.c:594,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x_all.c:596,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/x509/x_all.c:596,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x_all.c:614,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:622,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x_all.c:625,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/x_all.c:625,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:628,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/x509/x_all.c:631,1
    - Dst: ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/x_all.c:632,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/x_all.c:634,1
    - Dst: hash::hash
      Src: /src/openssl/crypto/x509/x_all.c:634,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x_all.c:638,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x_all.c:643,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 3
    argNames:
    - cert
    - md_used
    - md_is_fallback
    argTypes:
    - X509*
    - EVP_MD**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 554
    functionDepth: 10
    functionLinenumber: 554
    functionLinenumberEnd: 645
    functionName: X509_digest_sig
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - ossl_rsa_pss_get_param_unverified
    - ossl_rsa_pss_decode
    - X509_digest
    - ASN1_OCTET_STRING_set
    - hash::hash
    - ERR_raise
    - EVP_MD_fetch
    - OBJ_find_sigid_algs
    - EVP_MD_get0_name
    - EVP_MD_free
    - RSA_PSS_PARAMS_free
    - ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
    - X509_get_signature_nid
    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:651,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/x509/x_all.c:654,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_all.c:660,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/x509/x_all.c:663,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:663,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: 665
      start: 647
    functionDepth: 9
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: X509_CRL_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_item_digest_ex
    - EVP_MD_is_a
    - ERR_raise
    - ASN1_ITEM_rptr
    - memcpy
    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:670,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:670,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: 672
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 672
    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:677,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:677,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: 679
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 679
    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:685,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:685,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: 687
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 687
    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:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8
    argTypes:
    - FILE*
    - X509_SIG**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    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:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8
    argTypes:
    - FILE*
    - X509_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 698
    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:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8
    argTypes:
    - BIO*
    - X509_SIG**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    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:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8
    argTypes:
    - BIO*
    - X509_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 709
    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:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - xpk
    argTypes:
    - FILE*
    - X509_PUBKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    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:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - xpk
    argTypes:
    - FILE*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    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:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - xpk
    argTypes:
    - BIO*
    - X509_PUBKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 728
    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:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - xpk
    argTypes:
    - BIO*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    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:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8inf
    argTypes:
    - FILE*
    - PKCS8_PRIV_KEY_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 741
    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:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8inf
    argTypes:
    - FILE*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    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:754,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_fp
      Src: /src/openssl/crypto/x509/x_all.c:757,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/x509/x_all.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - key
    argTypes:
    - FILE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 760
    functionName: i2d_PKCS8PrivateKeyInfo_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY2PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO_fp
    - PKCS8_PRIV_KEY_INFO_free
    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:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - pkey
    argTypes:
    - FILE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 765
    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:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    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:778,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/x_all.c:778,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:779,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/x_all.c:782,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/crypto/x509/x_all.c:783,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_all.c:784,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: 786
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 786
    functionName: d2i_PrivateKey_ex_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - pkey
    argTypes:
    - FILE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 791
    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:799,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/x_all.c:799,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:800,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/x_all.c:803,1
    - Dst: d2i_PUBKEY_ex_bio
      Src: /src/openssl/crypto/x509/x_all.c:804,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_all.c:805,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: 807
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 807
    functionName: d2i_PUBKEY_ex_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - d2i_PUBKEY_ex_bio
    - BIO_set_fp
    - BIO_s_file
    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:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    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:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8inf
    argTypes:
    - BIO*
    - PKCS8_PRIV_KEY_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 821
    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:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8inf
    argTypes:
    - BIO*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 827
    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:834,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/crypto/x509/x_all.c:837,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/x509/x_all.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - key
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 840
    functionName: i2d_PKCS8PrivateKeyInfo_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY2PKCS8
    - PKCS8_PRIV_KEY_INFO_free
    - 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:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    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:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    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:860,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/crypto/x509/x_all.c:865,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x_all.c:867,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: 869
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 869
    functionName: d2i_PrivateKey_ex_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - asn1_d2i_read_bio
    - d2i_AutoPrivateKey_ex
    - BUF_MEM_free
    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:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 874
    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:884,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/crypto/x509/x_all.c:889,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x_all.c:891,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: 893
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 893
    functionName: d2i_PUBKEY_ex_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - asn1_d2i_read_bio
    - BUF_MEM_free
    - 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:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 898
    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:903,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - acert
    argTypes:
    - FILE*
    - X509_ACERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 904
    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:908,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - acert
    argTypes:
    - FILE*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 909
    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:914,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - acert
    argTypes:
    - BIO*
    - X509_ACERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: d2i_X509_ACERT_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio
    - ASN1_ITEM_rptr
    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:919,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - acert
    argTypes:
    - BIO*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 920
    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: 106
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 213
    argCount: 1
    argNames:
    - n
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 242
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_extension
      Src: /src/openssl/crypto/x509/x509_ext.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: X509_CRL_delete_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    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:56,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: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    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:62,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: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509_CRL*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    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, const X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/x509/x509_ext.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    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:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    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:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_extension
      Src: /src/openssl/crypto/x509/x509_ext.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: X509_delete_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_delete_ext(X509 *x, int loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_ext.c:107,1
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:110,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_ext.c:118,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/x509_ext.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: X509_add_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_num
    - X509v3_add_ext
    - sk_X509_EXTENSION_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int X509_add_ext(X509 *x, const X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/x509/x509_ext.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    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:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    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:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509_REVOKED*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    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:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509_REVOKED*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509_REVOKED*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    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:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_REVOKED*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    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_extension
      Src: /src/openssl/crypto/x509/x509_ext.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_REVOKED*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: X509_REVOKED_delete_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    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:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509_REVOKED*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    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:181,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: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    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:187,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: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    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:100,1
    - Dst: sk_ASN1_OBJECT_new_reserve
      Src: /src/openssl/crypto/x509/v3_extku.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_extku.c:105,1
    - Dst: sk_ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_extku.c:106,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_extku.c:111,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_extku.c:116,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/v3_extku.c:117,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_extku.c:118,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/v3_extku.c:122,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: 125
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: v2i_EXTENDED_KEY_USAGE
    functionSourceFile: /src/openssl/crypto/x509/v3_extku.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - sk_ASN1_OBJECT_pop_free
    - ERR_raise
    - sk_ASN1_OBJECT_new_reserve
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - OBJ_txt2obj
    - sk_ASN1_OBJECT_push
    - sk_ASN1_OBJECT_free
    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:
    - OPENSSL_strdup
    - OPENSSL_strndup
    - OPENSSL_free
    - sk_CONF_VALUE_free
    - ERR_raise
    - sk_CONF_VALUE_push
    - memchr
    - OPENSSL_malloc
    - sk_CONF_VALUE_new_null
    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:
    - strlen
    - x509v3_add_len_value
    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:
    - strlen
    - x509v3_add_len_value
    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
    - OPENSSL_free
    - OPENSSL_strlcat
    - strlen
    - BN_num_bits
    - BN_bn2hex
    - OPENSSL_strlcpy
    - 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:
    - ASN1_ENUMERATED_to_BN
    - BN_free
    - ERR_raise
    - bignum_to_string
    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
    - ERR_raise
    - bignum_to_string
    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_to_ASN1_INTEGER
    - BN_dec2bn
    - BN_is_zero
    - ERR_raise
    - BN_hex2bn
    - BN_free
    - BN_new
    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:
    - i2s_ASN1_INTEGER
    - X509V3_add_value
    - OPENSSL_free
    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:
    - ERR_raise
    - strcmp
    - X509V3_conf_add_error_name_value
    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:411,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:415,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_utl.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 423
    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:435,1
    - Dst: strncmp
      Src: /src/openssl/crypto/x509/v3_utl.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - cmp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 442
    functionName: ossl_v3_name_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 3
    functionsReached:
    - strncmp
    - strlen
    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:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    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:499,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_utl.c:507,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_utl.c:510,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_utl.c:511,1
    - Dst: append_ia5
      Src: /src/openssl/crypto/x509/v3_utl.c:512,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_utl.c:515,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_utl.c:516,1
    - Dst: append_ia5
      Src: /src/openssl/crypto/x509/v3_utl.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - name
    - gens
    argTypes:
    - X509_NAME*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 523
    functionName: get_email
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - append_ia5
    - sk_GENERAL_NAME_num
    - X509_NAME_get_entry
    - STACK_OF
    - X509_NAME_get_index_by_NID
    - sk_GENERAL_NAME_value
    - 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:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - OPENSSL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    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: 606
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 606
    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:613,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: 636
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 636
    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:643,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:646,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: 647
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: equal_case
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - memcmp
    - skip_prefix
    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:669,1
    - Dst: equal_case
      Src: /src/openssl/crypto/x509/v3_utl.c:676,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: 677
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 677
    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:696,1
    - Dst: equal_nocase
      Src: /src/openssl/crypto/x509/v3_utl.c:700,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/crypto/x509/v3_utl.c:714,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: 728
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 728
    functionName: wildcard_match
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - HAS_CASE_PREFIX
    - equal_nocase
    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:771,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: 796
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 796
    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:810,1
    - Dst: equal_nocase
      Src: /src/openssl/crypto/x509/v3_utl.c:812,1
    - Dst: wildcard_match
      Src: /src/openssl/crypto/x509/v3_utl.c:814,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: 817
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 817
    functionName: equal_wildcard
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - wildcard_match
    - valid_star
    - equal_nocase
    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:837,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:838,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_utl.c:841,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/x509/v3_utl.c:848,1
    - Dst: equal
      Src: /src/openssl/crypto/x509/v3_utl.c:856,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_utl.c:858,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:860,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:864,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: 867
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 867
    functionName: do_check_string
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - equal
    - ASN1_STRING_to_UTF8
    - OPENSSL_strndup
    - OPENSSL_free
    - memcmp
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:903,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_utl.c:905,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_utl.c:907,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_utl.c:911,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_utl.c:918,1
    - Dst: do_check_string
      Src: /src/openssl/crypto/x509/v3_utl.c:973,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/v3_utl.c:978,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_utl.c:990,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_utl.c:991,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_utl.c:992,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_utl.c:993,1
    - Dst: do_check_string
      Src: /src/openssl/crypto/x509/v3_utl.c:996,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 77
    argCount: 7
    argNames:
    - x
    - chk
    - chklen
    - flags
    - check_type
    - othername_nid
    - peername
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 1002
    functionName: do_x509_check
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - do_check_string
    - X509_NAME_get_index_by_NID
    - sk_GENERAL_NAME_num
    - OBJ_obj2nid
    - X509_NAME_get_entry
    - X509_get_subject_name
    - strlen
    - GENERAL_NAMES_free
    - sk_GENERAL_NAME_value
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: "int do_x509_check(const X509 *x, const char *chk, size_t chklen,\n
      \   unsigned int flags, int check_type, int othername_nid, char **peername)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:1015,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_utl.c:1016,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1020,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: 1021
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1021
    functionName: ossl_x509_check_host
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - strlen
    - do_x509_check
    - memchr
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_check_host(const X509 *x, const char *chk, size_t chklen,\n
      \   unsigned int flags, char **peername)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_check_host
      Src: /src/openssl/crypto/x509/v3_utl.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - chk
    - chklen
    - flags
    - peername
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 4
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: X509_check_host
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - ossl_x509_check_host
    linkageType: ''
    returnType: int
    signature: "int X509_check_host(const X509 *x, const char *chk, size_t chklen,\n
      \   unsigned int flags, char **peername)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1031
    functionDepth: 3
    functionLinenumber: 1031
    functionLinenumberEnd: 1035
    functionName: ossl_x509_check_rfc822
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_check_rfc822(X509 *x, const char *chk, size_t chklen,\n
      \   unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: ossl_x509_check_smtputf8
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_check_smtputf8(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:1050,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: 1051
      start: 1045
    functionDepth: 3
    functionLinenumber: 1045
    functionLinenumberEnd: 1051
    functionName: ossl_x509_check_ip
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_check_ip(const X509 *x, const unsigned char *chk, size_t
      chklen,\n    unsigned int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:1065,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_utl.c:1066,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1074,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1078
    functionName: X509_check_email
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - strlen
    - do_x509_check
    - memchr
    linkageType: ''
    returnType: int
    signature: "int X509_check_email(const X509 *x, const char *chk, size_t chklen,\n
      \   unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_check_ip
      Src: /src/openssl/crypto/x509/v3_utl.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 4
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: X509_check_ip
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - ossl_x509_check_ip
    linkageType: ''
    returnType: int
    signature: "int X509_check_ip(const 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:1093,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - x
    - ipasc
    - flags
    argTypes:
    - X509*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1097
    functionName: X509_check_ip_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - do_x509_check
    - ossl_a2i_ipadd
    linkageType: ''
    returnType: int
    signature: int X509_check_ip_asc(const X509 *x, const char *ipasc, unsigned int
      flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/v3_utl.c:1111,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/v3_utl.c:1119,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/v3_utl.c:1124,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_utl.c:1127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1128
    functionName: ossl_ipaddr_to_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strdup
    - BIO_snprintf
    linkageType: ''
    returnType: char
    signature: char *ossl_ipaddr_to_asc(const unsigned char *p, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1143,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_utl.c:1148,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_utl.c:1151,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ipasc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1156
    functionName: a2i_IPADDRESS
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ossl_a2i_ipadd
    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:1166,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_utl.c:1169,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1175,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1182,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_utl.c:1188,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_utl.c:1191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1197,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - ipasc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1200
    functionName: a2i_IPADDRESS_NC
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - ASN1_OCTET_STRING_free
    - ossl_a2i_ipadd
    - OPENSSL_free
    - ASN1_OCTET_STRING_set
    - 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:1206,1
    - Dst: ipv6_from_asc
      Src: /src/openssl/crypto/x509/v3_utl.c:1207,1
    - Dst: ipv4_from_asc
      Src: /src/openssl/crypto/x509/v3_utl.c:1211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ipout
    - ipasc
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1215
    functionName: ossl_a2i_ipadd
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 3
    functionsReached:
    - strchr
    - ipv6_from_asc
    - 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:1229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - out_byte
    - str
    argTypes:
    - uint8_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1249
    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: 1262
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1262
    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:1266,1
    - Dst: get_ipv4_dot
      Src: /src/openssl/crypto/x509/v3_utl.c:1266,1
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1267,1
    - Dst: get_ipv4_dot
      Src: /src/openssl/crypto/x509/v3_utl.c:1267,1
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1268,1
    - Dst: get_ipv4_dot
      Src: /src/openssl/crypto/x509/v3_utl.c:1268,1
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - v4
    - in
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1264
    functionDepth: 3
    functionLinenumber: 1264
    functionLinenumberEnd: 1273
    functionName: ipv4_from_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - get_ipv4_dot
    - get_ipv4_component
    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:1298,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:1335,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/v3_utl.c:1337,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:1340,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:1344,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - v6
    - in
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1348
    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:1374,1
    - Dst: ipv6_hex
      Src: /src/openssl/crypto/x509/v3_utl.c:1378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - elem
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1350
    functionDepth: 4
    functionLinenumber: 1350
    functionLinenumberEnd: 1384
    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:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - out
    - in
    - inlen
    argTypes:
    - unsigned char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1409
    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:1464,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_utl.c:1466,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_utl.c:1467,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_utl.c:1468,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_utl.c:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - gens
    - indent
    argTypes:
    - BIO*
    - GENERAL_NAMES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1460
    functionDepth: 2
    functionLinenumber: 1460
    functionLinenumberEnd: 1471
    functionName: OSSL_GENERAL_NAMES_print
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - sk_GENERAL_NAME_num
    - sk_GENERAL_NAME_value
    - GENERAL_NAME_print
    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:1481,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_utl.c:1484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - out
    - buf
    - len
    argTypes:
    - BIO*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1488
    functionName: ossl_bio_print_hex
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_buf2hexstr
    - BIO_puts
    - OPENSSL_free
    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: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    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: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    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:
    - strlen
    - OPENSSL_strlcpy
    - ossl_get_openssldir
    - strcat
    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:
    - strlen
    - get_windows_default_path
    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: 10
    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:56,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/crypto/x509/by_store.c:57,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/by_store.c:58,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/crypto/x509/by_store.c:62,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/crypto/x509/by_store.c:73,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/openssl/crypto/x509/by_store.c:84,1
    - Dst: cache_objects
      Src: /src/openssl/crypto/x509/by_store.c:87,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_store.c:96,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/openssl/crypto/x509/by_store.c:96,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_store.c:99,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/openssl/crypto/x509/by_store.c:99,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/x509/by_store.c:106,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/crypto/x509/by_store.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - lctx
    - store
    - criterion
    - depth
    argTypes:
    - X509_LOOKUP*
    - CACHED_STORE*
    - OSSL_STORE_SEARCH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 113
    functionName: cache_objects
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - X509_LOOKUP_get_store
    - X509_STORE_add_crl
    - OSSL_STORE_INFO_get0_CRL
    - OSSL_STORE_load
    - X509_STORE_add_cert
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_get0_CERT
    - OSSL_STORE_find
    - ERR_set_mark
    - OSSL_STORE_INFO_get0_NAME
    - cache_objects
    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:118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_store.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_store.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - CACHED_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    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:126,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/openssl/crypto/x509/by_store.c:126,1
    - Dst: sk_CACHED_STORE_pop_free
      Src: /src/openssl/crypto/x509/by_store.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: by_store_free
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - sk_CACHED_STORE_pop_free
    - X509_LOOKUP_get_method_data
    - STACK_OF
    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:137,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/openssl/crypto/x509/by_store.c:137,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/by_store.c:138,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/by_store.c:145,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/by_store.c:148,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/crypto/x509/by_store.c:153,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/crypto/x509/by_store.c:158,1
    - Dst: free_store
      Src: /src/openssl/crypto/x509/by_store.c:159,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/crypto/x509/by_store.c:162,1
    - Dst: sk_CACHED_STORE_new_null
      Src: /src/openssl/crypto/x509/by_store.c:165,1
    - Dst: X509_LOOKUP_set_method_data
      Src: /src/openssl/crypto/x509/by_store.c:167,1
    - Dst: sk_CACHED_STORE_push
      Src: /src/openssl/crypto/x509/by_store.c:169,1
    - Dst: free_store
      Src: /src/openssl/crypto/x509/by_store.c:170,1
    - Dst: cache_objects
      Src: /src/openssl/crypto/x509/by_store.c:184,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: 190
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 190
    functionName: by_store_ctrl_ex
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_open_ex
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - X509_LOOKUP_get_method_data
    - OSSL_STORE_close
    - X509_LOOKUP_set_method_data
    - sk_CACHED_STORE_new_null
    - sk_CACHED_STORE_push
    - STACK_OF
    - 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:195,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: 196
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 196
    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:201,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/openssl/crypto/x509/by_store.c:201,1
    - Dst: sk_CACHED_STORE_num
      Src: /src/openssl/crypto/x509/by_store.c:205,1
    - Dst: cache_objects
      Src: /src/openssl/crypto/x509/by_store.c:206,1
    - Dst: sk_CACHED_STORE_value
      Src: /src/openssl/crypto/x509/by_store.c:206,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: 213
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: by_store
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_get_method_data
    - sk_CACHED_STORE_num
    - sk_CACHED_STORE_value
    - STACK_OF
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/openssl/crypto/x509/by_store.c:218,1
    - Dst: by_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: STACK_OF
      Src: /src/openssl/crypto/x509/by_store.c:225,1
    - Dst: X509_LOOKUP_get_store
      Src: /src/openssl/crypto/x509/by_store.c:226,1
    - Dst: ossl_x509_store_read_lock
      Src: /src/openssl/crypto/x509/by_store.c:228,1
    - Dst: ossl_x509_store_ht_get_by_name
      Src: /src/openssl/crypto/x509/by_store.c:231,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/openssl/crypto/x509/by_store.c:235,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/by_store.c:236,1
    - Dst: X509_OBJECT_set1_X509
      Src: /src/openssl/crypto/x509/by_store.c:261,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/by_store.c:263,1
    - Dst: X509_OBJECT_set1_X509_CRL
      Src: /src/openssl/crypto/x509/by_store.c:266,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/by_store.c:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 275
    functionName: by_store_subject
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - X509_STORE_unlock
    - by_store
    - X509_LOOKUP_get_store
    - X509_free
    - OSSL_STORE_SEARCH_free
    - ossl_x509_store_ht_get_by_name
    - X509_CRL_free
    - X509_OBJECT_set1_X509
    - X509_OBJECT_set1_X509_CRL
    - X509_OBJECT_retrieve_by_subject
    - OSSL_STORE_SEARCH_by_name
    - STACK_OF
    - ossl_x509_store_read_lock
    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: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    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:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - level
    argTypes:
    - X509_POLICY_LEVEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    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:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - X509_POLICY_LEVEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    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: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    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: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    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:
    - sk_POLICYQUALINFO_pop_free
    - OPENSSL_free
    - sk_ASN1_OBJECT_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
    - OPENSSL_free
    - sk_ASN1_OBJECT_new_null
    - ERR_raise
    - ASN1_OBJECT_free
    - OBJ_dup
    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
    - X509V3_section_free
    - sk_CONF_VALUE_pop_free
    - v2i_GENERAL_NAMES
    - X509V3_get_section
    - ERR_raise
    - STACK_OF
    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:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:115,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:119,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:133,1
    - Dst: sk_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:134,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: 136
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 136
    functionName: set_dist_point_name
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509V3_section_free
    - gnames_from_sectname
    - X509_NAME_free
    - sk_X509_NAME_ENTRY_num
    - X509V3_get_section
    - ERR_raise
    - strcmp
    - DIST_POINT_NAME_new
    - sk_X509_NAME_ENTRY_pop_free
    - X509V3_NAME_from_section
    - STACK_OF
    - sk_X509_NAME_ENTRY_value
    - sk_GENERAL_NAME_pop_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:153,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_crld.c:157,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:162,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:163,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_crld.c:165,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:170,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/x509/v3_crld.c:171,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - preas
    - value
    argTypes:
    - ASN1_BIT_STRING**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 184
    functionName: set_reasons
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - ASN1_BIT_STRING_new
    - ASN1_BIT_STRING_set_bit
    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:191,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/x509/v3_crld.c:193,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:198,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:202,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:204,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: 206
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 206
    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:213,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:217,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:219,1
    - Dst: set_dist_point_name
      Src: /src/openssl/crypto/x509/v3_crld.c:220,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:225,1
    - Dst: set_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:226,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:228,1
    - Dst: gnames_from_sectname
      Src: /src/openssl/crypto/x509/v3_crld.c:229,1
    - Dst: DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - nval
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 240
    functionName: crldp_from_section
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - gnames_from_sectname
    - DIST_POINT_free
    - strcmp
    - DIST_POINT_new
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - set_dist_point_name
    - set_reasons
    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:245,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:249,1
    - Dst: sk_DIST_POINT_new_reserve
      Src: /src/openssl/crypto/x509/v3_crld.c:252,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:254,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:260,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:262,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_crld.c:263,1
    - Dst: crldp_from_section
      Src: /src/openssl/crypto/x509/v3_crld.c:266,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_crld.c:267,1
    - Dst: sk_DIST_POINT_push
      Src: /src/openssl/crypto/x509/v3_crld.c:270,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_crld.c:272,1
    - Dst: GENERAL_NAMES_new
      Src: /src/openssl/crypto/x509/v3_crld.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:275,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_crld.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:279,1
    - Dst: DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:284,1
    - Dst: sk_DIST_POINT_push
      Src: /src/openssl/crypto/x509/v3_crld.c:287,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:289,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:300,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/v3_crld.c:301,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:302,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: 304
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 304
    functionName: v2i_crld
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - crldp_from_section
    - v2i_GENERAL_NAME
    - sk_DIST_POINT_pop_free
    - X509V3_section_free
    - sk_DIST_POINT_new_reserve
    - sk_DIST_POINT_push
    - GENERAL_NAME_free
    - X509V3_get_section
    - ERR_raise
    - DIST_POINT_NAME_new
    - DIST_POINT_new
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - sk_GENERAL_NAME_push
    - STACK_OF
    - GENERAL_NAMES_new
    - GENERAL_NAMES_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:317,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: 321
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 321
    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:378,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:380,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:383,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:384,1
    - Dst: set_dist_point_name
      Src: /src/openssl/crypto/x509/v3_crld.c:387,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:392,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:393,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:395,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:396,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:398,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:399,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:401,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:402,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:404,1
    - Dst: set_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:408,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_crld.c:409,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:416,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: 418
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 418
    functionName: v2i_idp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - ISSUING_DIST_POINT_free
    - ERR_raise
    - strcmp
    - set_reasons
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - set_dist_point_name
    - ISSUING_DIST_POINT_new
    - X509V3_conf_add_error_name_value
    - X509V3_get_value_bool
    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:423,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_crld.c:424,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:425,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:429,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/v3_crld.c:430,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - dpn
    - indent
    argTypes:
    - BIO*
    - DIST_POINT_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: print_distpoint
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OSSL_GENERAL_NAMES_print
    - 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:441,1
    - Dst: BIO_printf
      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: print_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:449,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:451,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:455,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: 458
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 458
    functionName: i2r_idp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - print_distpoint
    - BIO_printf
    - print_reasons
    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:463,1
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/crypto/x509/v3_crld.c:466,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:468,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/x509/v3_crld.c:469,1
    - Dst: print_distpoint
      Src: /src/openssl/crypto/x509/v3_crld.c:471,1
    - Dst: print_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:473,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:475,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_crld.c:476,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: 480
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 480
    functionName: i2r_crldp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OSSL_GENERAL_NAMES_print
    - print_distpoint
    - sk_DIST_POINT_value
    - STACK_OF
    - sk_DIST_POINT_num
    - print_reasons
    linkageType: ''
    returnType: int
    signature: "int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,\n
      \   int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:508,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/v3_crld.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - method
    - date
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: i2r_crl_invdate
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ASN1_GENERALIZEDTIME_print
    linkageType: ''
    returnType: int
    signature: "int i2r_crl_invdate(const X509V3_EXT_METHOD *method, void *date,\n
      \   BIO *bp, int ind)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:518,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_crld.c:520,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: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: i2r_object
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - i2a_ASN1_OBJECT
    linkageType: ''
    returnType: int
    signature: "int i2r_object(const X509V3_EXT_METHOD *method, void *oid, BIO *bp,\n
      \   int ind)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:529,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:535,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/v3_crld.c:536,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/v3_crld.c:539,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/v3_crld.c:540,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/v3_crld.c:541,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/v3_crld.c:545,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - dpn
    - iname
    argTypes:
    - DIST_POINT_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 552
    functionName: DIST_POINT_set_dpname
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509_NAME_free
    - sk_X509_NAME_ENTRY_num
    - X509_NAME_add_entry
    - STACK_OF
    - X509_NAME_dup
    - sk_X509_NAME_ENTRY_value
    - i2d_X509_NAME
    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:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - b
    argTypes:
    - BIO*
    - ASN1_BOOLEAN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 568
    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:575,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:579,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:580,1
    - Dst: set_dist_point_name
      Src: /src/openssl/crypto/x509/v3_crld.c:581,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:586,1
    - Dst: set_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:587,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:589,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:590,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:592,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:593,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:595,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:596,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:598,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:599,1
    - Dst: OSSL_AA_DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:607,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - nval
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 609
    functionName: aaidp_from_section
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - OSSL_AA_DIST_POINT_new
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - set_dist_point_name
    - OSSL_AA_DIST_POINT_free
    - set_reasons
    - X509V3_get_value_bool
    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:618,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:620,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_crld.c:624,1
    - Dst: aaidp_from_section
      Src: /src/openssl/crypto/x509/v3_crld.c:627,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_crld.c:628,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_crld.c:632,1
    - Dst: GENERAL_NAMES_new
      Src: /src/openssl/crypto/x509/v3_crld.c:634,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:635,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_crld.c:638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:639,1
    - Dst: OSSL_AA_DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:643,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:644,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:647,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:648,1
    - Dst: OSSL_AA_DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:658,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:659,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/v3_crld.c:660,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: 662
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 662
    functionName: v2i_aaidp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - v2i_GENERAL_NAME
    - X509V3_section_free
    - aaidp_from_section
    - GENERAL_NAME_free
    - X509V3_get_section
    - ERR_raise
    - OSSL_AA_DIST_POINT_new
    - DIST_POINT_NAME_new
    - sk_CONF_VALUE_value
    - sk_GENERAL_NAME_push
    - STACK_OF
    - GENERAL_NAMES_new
    - OSSL_AA_DIST_POINT_free
    - GENERAL_NAMES_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:670,1
    - Dst: print_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:673,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:676,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:678,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:680,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:684,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:686,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:688,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:692,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:696,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:698,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:702,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:707,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:709,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: 713
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 713
    functionName: i2r_aaidp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - print_boolean
    - BIO_printf
    - print_distpoint
    - print_reasons
    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:83,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:109,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:109,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:109,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_obj.c:116,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/x509/x509_obj.c:120,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x509_obj.c:128,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/x509/x509_obj.c:144,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/x509/x509_obj.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_obj.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_obj.c:175,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x509_obj.c:177,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 132
    argCount: 3
    argNames:
    - a
    - buf
    - len
    argTypes:
    - X509_NAME*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 179
    functionName: X509_NAME_oneline
    functionSourceFile: /src/openssl/crypto/x509/x509_obj.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_new
    - OBJ_nid2sn
    - ascii2ebcdic
    - ossl_to_hex
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_num
    - ossl_toascii
    - ERR_raise
    - strncpy
    - BUF_MEM_free
    - OBJ_obj2nid
    - i2t_ASN1_OBJECT
    - sk_X509_NAME_ENTRY_value
    - strlen
    - memcpy
    - BUF_MEM_grow
    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:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    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:65,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_genn.c:69,1
    - Dst: X509_NAME_new
      Src: /src/openssl/crypto/x509/v3_genn.c:74,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/x509/v3_genn.c:76,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_genn.c:80,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_genn.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - tgt
    - src
    argTypes:
    - GENERAL_NAME**
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: GENERAL_NAME_set1_X509_NAME
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_free
    - GENERAL_NAME_new
    - ERR_raise
    - X509_NAME_set
    - 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:106,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EDIPARTYNAME*
    - EDIPARTYNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 118
    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:129,1
    - Dst: edipartyname_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:133,1
    - Dst: OTHERNAME_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:137,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:143,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:147,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:151,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GENERAL_NAME*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 159
    functionName: GENERAL_NAME_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    - ASN1_OCTET_STRING_cmp
    - edipartyname_cmp
    - ASN1_STRING_cmp
    - OTHERNAME_cmp
    - X509_NAME_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:169,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OTHERNAME*
    - OTHERNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 174
    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: 210
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 210
    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: 243
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 243
    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:249,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/v3_genn.c:252,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/openssl/crypto/x509/v3_genn.c:255,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: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: GENERAL_NAME_set0_othername
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_set0_value
    - OTHERNAME_new
    - ASN1_TYPE_free
    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: 269
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 269
    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:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_battcons.c:67,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_battcons.c:70,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_battcons.c:71,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_battcons.c:72,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_battcons.c:73,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_battcons.c:75,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_battcons.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_battcons.c:79,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_battcons.c:80,1
    - Dst: OSSL_BASIC_ATTR_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_battcons.c:86,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: 88
      start: 57
    functionDepth: 8
    functionLinenumber: 57
    functionLinenumberEnd: 88
    functionName: v2i_OSSL_BASIC_ATTR_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_battcons.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_int
    - OSSL_BASIC_ATTR_CONSTRAINTS_free
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - X509V3_conf_add_error_name_value
    - X509V3_get_value_bool
    - OSSL_BASIC_ATTR_CONSTRAINTS_new
    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:
    - ASN1_INTEGER_cmp
    - X509_NAME_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:61,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:65,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:66,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:67,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: X509_issuer_and_serial_hash
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_oneline
    - OPENSSL_free
    - EVP_DigestFinal_ex
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - strlen
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_issuer_and_serial_hash(const X509 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    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:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    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:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    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: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: X509_get_issuer_name
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 5
    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:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    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(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/crypto/x509/x509_cmp.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    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(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: X509_get_subject_name
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 7
    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: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    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: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    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: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_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(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/crypto/x509/x509_cmp.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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(const X509 *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_cmp.c:160,1
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_cmp.c:161,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:165,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: X509_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 1
    functionsReached:
    - memcmp
    - X509_check_purpose
    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:
    - memcmp
    - i2d_X509_NAME
    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:311,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: 313
      start: 293
    functionDepth: 10
    functionLinenumber: 293
    functionLinenumberEnd: 313
    functionName: X509_NAME_hash_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 2
    functionsReached:
    - EVP_Digest
    - EVP_MD_free
    - i2d_X509_NAME
    - EVP_MD_fetch
    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:322,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/x509/x509_cmp.c:323,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x509_cmp.c:331,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:334,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/x509/x509_cmp.c:335,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:336,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:340,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 10
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: X509_NAME_hash_old
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 2
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - i2d_X509_NAME
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_NAME_hash_old(const X509_NAME *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_cmp.c:360,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_cmp.c:361,1
    - Dst: X509_issuer_and_serial_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sk
    - name
    - serial
    argTypes:
    - STACK_OF*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: X509_find_by_issuer_and_serial
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_issuer_and_serial_cmp
    - sk_X509_num
    - sk_X509_value
    linkageType: ''
    returnType: X509
    signature: "X509 *X509_find_by_issuer_and_serial(const STACK_OF(X509) *sk, const
      X509_NAME *name,\n    const ASN1_INTEGER *serial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_cmp.c:373,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_cmp.c:374,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:375,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_cmp.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sk
    - name
    argTypes:
    - STACK_OF*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: X509_find_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - sk_X509_num
    - sk_X509_value
    - X509_NAME_cmp
    - X509_get_subject_name
    linkageType: ''
    returnType: X509
    signature: X509 *X509_find_by_subject(const STACK_OF(X509) *sk, const X509_NAME
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x509_cmp.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    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:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 393
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_cmp.c:397,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:400,1
    - Dst: ossl_x509_check_private_key
      Src: /src/openssl/crypto/x509/x509_cmp.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: X509_check_private_key
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 3
    functionsReached:
    - ossl_x509_check_private_key
    - ERR_raise
    - X509_get0_pubkey
    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:409,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/crypto/x509/x509_cmp.c:412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:416,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:419,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: ossl_x509_check_private_key
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_eq
    - ERR_raise
    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:443,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/crypto/x509/x509_cmp.c:446,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:450,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: 471
      start: 437
    functionDepth: 5
    functionLinenumber: 437
    functionLinenumberEnd: 471
    functionName: check_suite_b
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - EVP_PKEY_is_a
    - EVP_PKEY_get_group_name
    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:485,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_cmp.c:490,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:499,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_cmp.c:501,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:509,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_cmp.c:515,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:516,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_cmp.c:517,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_cmp.c:518,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_cmp.c:522,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:523,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:529,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:529,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: 547
      start: 473
    functionDepth: 6
    functionLinenumber: 473
    functionLinenumberEnd: 547
    functionName: X509_chain_check_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - check_suite_b
    - sk_X509_num
    - X509_get_version
    - sk_X509_value
    - X509_get0_pubkey
    - X509_get_signature_nid
    linkageType: ''
    returnType: int
    signature: "int X509_chain_check_suiteb(int *perror_depth, const 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:554,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:555,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: 556
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 556
    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: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    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, const 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: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    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:
    - ASN1_UTF8STRING_new
    - ASN1_STRING_set
    - ASN1_UTF8STRING_free
    - aux_get
    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:
    - ASN1_STRING_set
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - aux_get
    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(const 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(const 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:
    - aux_get
    - sk_ASN1_OBJECT_new_null
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - OBJ_dup
    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:
    - aux_get
    - sk_ASN1_OBJECT_new_null
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - OBJ_dup
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: X509_get0_trust_objects
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *X509_get0_trust_objects(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: X509_get0_reject_objects
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *X509_get0_reject_objects(const X509 *x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:30,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:35,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_usernotice.c:36,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_usernotice.c:39,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_usernotice.c:40,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:41,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:43,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_usernotice.c:46,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_usernotice.c:50,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_usernotice.c:53,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:56,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:62,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - out
    - notice
    - indent
    argTypes:
    - BIO*
    - USERNOTICE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 66
    functionName: print_notice
    functionSourceFile: /src/openssl/crypto/x509/v3_usernotice.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - sk_ASN1_INTEGER_value
    - OPENSSL_free
    - sk_ASN1_INTEGER_num
    - i2s_ASN1_INTEGER
    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:75,1
    - Dst: sk_USERNOTICE_num
      Src: /src/openssl/crypto/x509/v3_usernotice.c:78,1
    - Dst: sk_USERNOTICE_value
      Src: /src/openssl/crypto/x509/v3_usernotice.c:79,1
    - Dst: print_notice
      Src: /src/openssl/crypto/x509/v3_usernotice.c:80,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:82,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: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: i2r_USER_NOTICE_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_usernotice.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - sk_USERNOTICE_value
    - sk_USERNOTICE_num
    - print_notice
    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:24,1
    - Dst: X509_LOOKUP_METHOD*::new_item
      Src: /src/openssl/crypto/x509/x509_lu.c:30,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: X509_LOOKUP_new
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - X509_LOOKUP_METHOD*::new_item
    - OPENSSL_free
    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:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    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:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    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:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    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:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    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:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    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:87,1
    - Dst: X509_LOOKUP*::method::ctrl
      Src: /src/openssl/crypto/x509/x509_lu.c:89,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: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: X509_LOOKUP_ctrl_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::ctrl_ex
    - X509_LOOKUP*::method::ctrl
    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:96,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: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    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:109,1
    - Dst: X509_LOOKUP*::method::get_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:112,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: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    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:118,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: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    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:128,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: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    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:137,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: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    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:145,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: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    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: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    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: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    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: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    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:174,1
    - Dst: X509_CRL_cmp
      Src: /src/openssl/crypto/x509/x509_lu.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_OBJECT**
    - X509_OBJECT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: x509_object_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_CRL_cmp
    - X509_subject_name_cmp
    linkageType: ''
    returnType: int
    signature: "int x509_object_cmp(const X509_OBJECT *const *a,\n    const X509_OBJECT
      *const *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:188,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x509_lu.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: objs_ht_free
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_pop_free
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: void objs_ht_free(HT_VALUE *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fnv1a_hash
      Src: /src/openssl/crypto/x509/x509_lu.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: obj_ht_hash
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - ossl_fnv1a_hash
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t obj_ht_hash(HT_KEY *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_lu.c:202,1
    - Dst: ossl_ht_new
      Src: /src/openssl/crypto/x509/x509_lu.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:213,1
    - Dst: sk_X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:217,1
    - Dst: sk_X509_LOOKUP_new_null
      Src: /src/openssl/crypto/x509/x509_lu.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:222,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/crypto/x509/x509_lu.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:227,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/x509/x509_lu.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:231,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/x509/x509_lu.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:237,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:241,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_lu.c:246,1
    - Dst: sk_X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:247,1
    - Dst: sk_X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:248,1
    - Dst: ossl_ht_free
      Src: /src/openssl/crypto/x509/x509_lu.c:249,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/x509/x509_lu.c:250,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 253
    functionName: X509_STORE_new
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_new
    - OPENSSL_zalloc
    - CRYPTO_NEW_REF
    - sk_X509_LOOKUP_free
    - ossl_ht_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - sk_X509_LOOKUP_new_null
    - sk_X509_OBJECT_free
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ossl_ht_new
    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:258,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:263,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509_lu.c:264,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509_lu.c:267,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/openssl/crypto/x509/x509_lu.c:270,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/openssl/crypto/x509/x509_lu.c:271,1
    - Dst: X509_LOOKUP_shutdown
      Src: /src/openssl/crypto/x509/x509_lu.c:272,1
    - Dst: X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:273,1
    - Dst: sk_X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:275,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x509_lu.c:276,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/x509/x509_lu.c:278,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_lu.c:279,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/x509/x509_lu.c:280,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:281,1
    - Dst: ossl_ht_free
      Src: /src/openssl/crypto/x509/x509_lu.c:282,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: X509_STORE_free
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - sk_X509_LOOKUP_num
    - X509_LOOKUP_free
    - sk_X509_OBJECT_pop_free
    - sk_X509_LOOKUP_free
    - ossl_ht_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - sk_X509_LOOKUP_value
    - X509_VERIFY_PARAM_free
    - REF_PRINT_COUNT
    - STACK_OF
    - X509_LOOKUP_shutdown
    - CRYPTO_DOWN_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:290,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509_lu.c:293,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509_lu.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: X509_STORE_up_ref
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:301,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/openssl/crypto/x509/x509_lu.c:305,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/openssl/crypto/x509/x509_lu.c:306,1
    - Dst: X509_LOOKUP_new
      Src: /src/openssl/crypto/x509/x509_lu.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:314,1
    - Dst: sk_X509_LOOKUP_push
      Src: /src/openssl/crypto/x509/x509_lu.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:322,1
    - Dst: X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - xs
    - m
    argTypes:
    - X509_STORE*
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 325
    functionName: X509_STORE_add_lookup
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_LOOKUP_num
    - X509_LOOKUP_free
    - sk_X509_LOOKUP_push
    - X509_LOOKUP_new
    - ERR_raise
    - sk_X509_LOOKUP_value
    - STACK_OF
    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:332,1
    - Dst: X509_STORE_CTX_get_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:336,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:337,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: 341
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: X509_STORE_CTX_get_obj_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_free
    - X509_STORE_CTX_get_by_subject
    - X509_OBJECT_new
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_lu.c:375,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x509_lu.c:380,1
    - Dst: sk_X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:385,1
    - Dst: sk_X509_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_lu.c:389,1
    - Dst: sk_X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:391,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/crypto/x509/x509_lu.c:395,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/crypto/x509/x509_lu.c:396,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/crypto/x509/x509_lu.c:397,1
    - Dst: ossl_ht_insert
      Src: /src/openssl/crypto/x509/x509_lu.c:399,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/x509/x509_lu.c:399,1
    - Dst: sk_X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - store
    - xn
    - objs
    - obj
    argTypes:
    - X509_STORE*
    - X509_NAME*
    - STACK_OF*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 406
    functionName: x509_name_objs_ht_insert
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_new
    - sk_X509_OBJECT_push
    - HT_SET_KEY_FIELD
    - HT_INIT_KEY
    - ossl_ht_insert
    - sk_X509_OBJECT_free
    - i2d_X509_NAME
    - TO_HT_KEY
    linkageType: ''
    returnType: int
    signature: "int x509_name_objs_ht_insert(const X509_STORE *store, const X509_NAME
      *xn,\n    STACK_OF(X509_OBJECT) *objs, X509_OBJECT *obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:410,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:411,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/crypto/x509/x509_lu.c:414,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/openssl/crypto/x509/x509_lu.c:415,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/openssl/crypto/x509/x509_lu.c:415,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/x509/x509_lu.c:419,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_lu.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - HT_VALUE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: obj_ht_foreach_certs
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_value
    - sk_X509_OBJECT_num
    - OSSL_STACK_OF_X509_free
    - X509_add_cert
    - STACK_OF
    - X509_OBJECT_get0_X509
    linkageType: ''
    returnType: int
    signature: int obj_ht_foreach_certs(HT_VALUE *v, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:443,1
    - Dst: ossl_x509_store_read_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:452,1
    - Dst: ossl_x509_store_ht_get_by_name
      Src: /src/openssl/crypto/x509/x509_lu.c:455,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:457,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:459,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/x509_lu.c:461,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/openssl/crypto/x509/x509_lu.c:464,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/openssl/crypto/x509/x509_lu.c:465,1
    - Dst: X509_LOOKUP_by_subject_ex
      Src: /src/openssl/crypto/x509/x509_lu.c:470,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/openssl/crypto/x509/x509_lu.c:482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_STORE_CTX*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 488
    functionName: ossl_x509_store_ctx_get_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_STORE_unlock
    - sk_X509_LOOKUP_num
    - ossl_x509_store_ht_get_by_name
    - sk_X509_LOOKUP_value
    - X509_LOOKUP_by_subject_ex
    - X509_OBJECT_up_ref_count
    - X509_OBJECT_retrieve_by_subject
    - STACK_OF
    - ossl_x509_store_read_lock
    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:495,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: 496
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 496
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:500,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:510,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/openssl/crypto/x509/x509_lu.c:514,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:516,1
    - Dst: X509_STORE_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:520,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:521,1
    - Dst: ossl_x509_store_ht_get_by_name
      Src: /src/openssl/crypto/x509/x509_lu.c:526,1
    - Dst: X509_OBJECT_retrieve_match
      Src: /src/openssl/crypto/x509/x509_lu.c:527,1
    - Dst: x509_name_objs_ht_insert
      Src: /src/openssl/crypto/x509/x509_lu.c:530,1
    - Dst: X509_OBJECT_retrieve_match
      Src: /src/openssl/crypto/x509/x509_lu.c:534,1
    - Dst: sk_X509_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_lu.c:537,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/x509_lu.c:541,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:544,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - store
    - obj
    argTypes:
    - X509_STORE*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 547
    functionName: x509_store_add_obj
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_STORE_unlock
    - X509_OBJECT_retrieve_match
    - sk_X509_OBJECT_push
    - ossl_x509_store_ht_get_by_name
    - X509_OBJECT_up_ref_count
    - X509_STORE_lock
    - STACK_OF
    - x509_name_objs_ht_insert
    - X509_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int x509_store_add_obj(X509_STORE *store, X509_OBJECT *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:555,1
    - Dst: x509_store_add_obj
      Src: /src/openssl/crypto/x509/x509_lu.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - store
    - x
    argTypes:
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: x509_store_add_x509
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - x509_store_add_obj
    - X509_OBJECT_new
    linkageType: ''
    returnType: int
    signature: int x509_store_add_x509(X509_STORE *store, const X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:575,1
    - Dst: x509_store_add_obj
      Src: /src/openssl/crypto/x509/x509_lu.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - store
    - crl
    argTypes:
    - X509_STORE*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 6
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: x509_store_add_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - x509_store_add_obj
    - X509_OBJECT_new
    linkageType: ''
    returnType: int
    signature: int x509_store_add_crl(X509_STORE *store, X509_CRL *crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_store_add_x509
      Src: /src/openssl/crypto/x509/x509_lu.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xs
    - x
    argTypes:
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 7
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: X509_STORE_add_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - x509_store_add_x509
    linkageType: ''
    returnType: int
    signature: int X509_STORE_add_cert(X509_STORE *xs, const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_store_add_crl
      Src: /src/openssl/crypto/x509/x509_lu.c:596,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xs
    - x
    argTypes:
    - X509_STORE*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 594
    functionDepth: 7
    functionLinenumber: 594
    functionLinenumberEnd: 601
    functionName: X509_STORE_add_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - x509_store_add_crl
    - 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:609,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_lu.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 614
    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: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: X509_OBJECT_get0_X509
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    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: 628
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 628
    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: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    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:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: X509_OBJECT_new
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 5
    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:653,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 659
    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:663,1
    - Dst: x509_object_free_internal
      Src: /src/openssl/crypto/x509/x509_lu.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - obj
    argTypes:
    - X509_OBJECT*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 670
    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:674,1
    - Dst: x509_object_free_internal
      Src: /src/openssl/crypto/x509/x509_lu.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - obj
    argTypes:
    - X509_OBJECT*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: X509_OBJECT_set1_X509_CRL
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - x509_object_free_internal
    - X509_CRL_up_ref
    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:685,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: X509_OBJECT_free
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 4
    functionsReached:
    - x509_object_free_internal
    - OPENSSL_free
    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:738,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/openssl/crypto/x509/x509_lu.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 746
    functionName: x509_object_dup
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_up_ref_count
    - X509_OBJECT_new
    linkageType: ''
    returnType: X509_OBJECT
    signature: X509_OBJECT *x509_object_dup(const X509_OBJECT *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:750,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:751,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/crypto/x509/x509_lu.c:755,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/openssl/crypto/x509/x509_lu.c:756,1
    - Dst: x509_object_dup
      Src: /src/openssl/crypto/x509/x509_lu.c:757,1
    - Dst: sk_X509_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_lu.c:760,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x509_lu.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - HT_VALUE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 771
    functionName: obj_ht_foreach_object
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_value
    - sk_X509_OBJECT_pop_free
    - sk_X509_OBJECT_push
    - sk_X509_OBJECT_num
    - x509_object_dup
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int obj_ht_foreach_object(HT_VALUE *v, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/crypto/x509/x509_lu.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - flags
    argTypes:
    - X509_STORE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1007
    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:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xs
    - depth
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    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:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - purpose
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    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:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - trust
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    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:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - param
    argTypes:
    - X509_STORE*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    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: 1033
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    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: 1038
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    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: 1043
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    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: 1049
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    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: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    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: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    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: 1065
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    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: 1071
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1071
    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: 1076
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    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: 1082
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1082
    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: 1087
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1087
    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: 1093
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1093
    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: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    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: 1104
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    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: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    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: 1115
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    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: 1120
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1120
    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: 1126
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1126
    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: 1131
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    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: 1137
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1137
    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: 1142
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1142
    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: 1148
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1148
    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: 1153
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1153
    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: 1159
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    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: 1164
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1164
    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:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xs
    - idx
    - data
    argTypes:
    - X509_STORE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    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:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - idx
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    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: 1179
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1179
    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:24,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_meth.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_meth.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: X509_LOOKUP_meth_new
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_meth.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    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: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    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: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD *method))(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))(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: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    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: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD *method))(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))(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: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD *method))(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))(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: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    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: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD *method))(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))(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: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    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: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    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: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    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: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    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: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    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: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    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: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    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: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    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: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    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: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    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: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    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:36,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_ia5.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - method
    - ia5
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    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:48,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/x509/v3_ia5.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ia5.c:52,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ia5.c:55,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ia5.c:55,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_ia5.c:56,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/x509/v3_ia5.c:60,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: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: s2i_ASN1_IA5STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_ia5.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - ASN1_STRING_set
    - ERR_raise
    - ASN1_IA5STRING_new
    - 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: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    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:58,1
    - Dst: X509_get_default_cert_file_env
      Src: /src/openssl/crypto/x509/by_file.c:58,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:60,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:64,1
    - Dst: X509_get_default_cert_file
      Src: /src/openssl/crypto/x509/by_file.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:70,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:73,1
    - Dst: X509_load_cert_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:77,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: 84
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 84
    functionName: by_file_ctrl_ex
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - X509_load_cert_file_ex
    - ERR_raise
    - X509_load_cert_crl_file_ex
    - ossl_safe_getenv
    - X509_get_default_cert_file
    - X509_get_default_cert_file_env
    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:89,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: 90
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 90
    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:100,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/by_file.c:104,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/by_file.c:104,1
    - Dst: BIO_read_filename
      Src: /src/openssl/crypto/x509/by_file.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:107,1
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/x509/by_file.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:113,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/by_file.c:119,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/openssl/crypto/x509/by_file.c:120,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/x509/by_file.c:121,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/x509/by_file.c:121,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/by_file.c:122,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/by_file.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:129,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/by_file.c:135,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_file.c:136,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/by_file.c:144,1
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/x509/by_file.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:147,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/crypto/x509/by_file.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:155,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_file.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:160,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/by_file.c:164,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/by_file.c:165,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: 167
      start: 92
    functionDepth: 8
    functionLinenumber: 92
    functionLinenumberEnd: 167
    functionName: X509_load_cert_file_ex
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - BIO_new
    - ERR_peek_last_error
    - X509_free
    - d2i_X509_bio
    - ERR_GET_REASON
    - BIO_free
    - X509_STORE_add_cert
    - ERR_raise
    - PEM_read_bio_X509_AUX
    - BIO_read_filename
    - X509_new_ex
    - BIO_s_file
    - ERR_set_mark
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 9
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:181,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/by_file.c:185,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/by_file.c:185,1
    - Dst: BIO_read_filename
      Src: /src/openssl/crypto/x509/by_file.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:188,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/crypto/x509/by_file.c:194,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/x509/by_file.c:196,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/x509/by_file.c:196,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/x509/by_file.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:203,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_file.c:209,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/by_file.c:214,1
    - Dst: d2i_X509_CRL_bio
      Src: /src/openssl/crypto/x509/by_file.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:220,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_file.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:225,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/by_file.c:229,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/by_file.c:230,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 174
    functionDepth: 8
    functionLinenumber: 174
    functionLinenumberEnd: 232
    functionName: X509_load_crl_file
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_X509_CRL
    - X509_STORE_add_crl
    - BIO_new
    - ERR_peek_last_error
    - BIO_free
    - ERR_GET_REASON
    - X509_CRL_free
    - ERR_raise
    - BIO_read_filename
    - BIO_s_file
    - d2i_X509_CRL_bio
    - ERR_clear_error
    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:237,1
    - Dst: X509_load_cert_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:243,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/x509/by_file.c:245,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/x509/by_file.c:247,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:250,1
    - Dst: PEM_X509_INFO_read_bio_ex
      Src: /src/openssl/crypto/x509/by_file.c:253,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/by_file.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:256,1
    - Dst: sk_X509_INFO_num
      Src: /src/openssl/crypto/x509/by_file.c:259,1
    - Dst: sk_X509_INFO_value
      Src: /src/openssl/crypto/x509/by_file.c:260,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_file.c:262,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_file.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:277,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/openssl/crypto/x509/by_file.c:279,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: 281
      start: 234
    functionDepth: 9
    functionLinenumber: 234
    functionLinenumberEnd: 281
    functionName: X509_load_cert_crl_file_ex
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 1
    functionsReached:
    - X509_STORE_add_crl
    - X509_load_cert_file_ex
    - sk_X509_INFO_pop_free
    - BIO_free
    - X509_STORE_add_cert
    - ERR_raise
    - sk_X509_INFO_value
    - PEM_X509_INFO_read_bio_ex
    - STACK_OF
    - sk_X509_INFO_num
    - BIO_new_file
    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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 10
    functionLinenumber: 283
    functionLinenumberEnd: 286
    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_num
    - sk_GENERAL_NAME_value
    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:
    - X509at_add1_attr
    - STACK_OF
    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:
    - X509at_add1_attr_by_OBJ
    - STACK_OF
    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:
    - NCONF_get_section
    - ERR_raise_data
    - i2d_ASN1_TYPE
    - OPENSSL_free
    - ASN1_TYPE_free
    - X509_ACERT_add1_attr_by_txt
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - ASN1_generate_nconf
    - check_asn1_attribute
    - strlen
    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:45,1
    - Dst: X509_ATTRIBUTE_new
      Src: /src/openssl/crypto/x509/x_attrib.c:47,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/x509/x_attrib.c:50,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/openssl/crypto/x509/x_attrib.c:52,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/x509/x_attrib.c:55,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/x_attrib.c:58,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/x_attrib.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - nid
    - atrtype
    - value
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: X509_ATTRIBUTE_create
    functionSourceFile: /src/openssl/crypto/x509/x_attrib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ASN1_TYPE_free
    - X509_ATTRIBUTE_free
    - ASN1_TYPE_new
    - X509_ATTRIBUTE_new
    - sk_ASN1_TYPE_push
    - ASN1_TYPE_set
    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:69,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/x_attrib.c:71,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_attrib.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - oid
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: print_oid
    functionSourceFile: /src/openssl/crypto/x509/x_attrib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BIO_printf
    - OBJ_obj2txt
    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:92,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:99,1
    - Dst: ASN1_ENUMERATED_get_int64
      Src: /src/openssl/crypto/x509/x_attrib.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:102,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/x_attrib.c:105,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:108,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/x_attrib.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:115,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/x_attrib.c:117,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:124,1
    - Dst: print_oid
      Src: /src/openssl/crypto/x509/x_attrib.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:136,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:151,1
    - Dst: d2i_X509_NAME
      Src: /src/openssl/crypto/x509/x_attrib.c:176,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/x_attrib.c:180,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/x_attrib.c:183,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x_attrib.c:185,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/x_attrib.c:191,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/x_attrib.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:215,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:221,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:244,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: 251
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 251
    functionName: ossl_print_attribute_value
    functionSourceFile: /src/openssl/crypto/x509/x_attrib.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ossl_bio_print_hex
    - X509_NAME_free
    - ASN1_parse_dump
    - X509_NAME_print_ex
    - print_oid
    - d2i_X509_NAME
    - ASN1_ENUMERATED_get_int64
    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:
    - ASN1_ENUMERATED_get
    - OPENSSL_strdup
    - i2s_ASN1_ENUMERATED
    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:68,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_req.c:71,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/crypto/x509/x_req.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_req.c:76,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/x_req.c:79,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_req.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_req.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_req.c:84,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: 101
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 101
    functionName: req_cb
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - OPENSSL_free
    - ERR_raise
    - EVP_PKEY_dup
    - X509_PUBKEY_get0
    - EVP_PKEY_free
    - X509_PUBKEY_set
    - ossl_x509_req_set0_libctx
    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:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - d_id
    argTypes:
    - X509_REQ*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    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: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    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:146,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_req.c:149,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: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: ossl_x509_req_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:161,1
    - Dst: X509_REQ_it
      Src: /src/openssl/crypto/x509/x_req.c:161,1
    - Dst: ossl_x509_req_set0_libctx
      Src: /src/openssl/crypto/x509/x_req.c:162,1
    - Dst: X509_REQ_free
      Src: /src/openssl/crypto/x509/x_req.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    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:27,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x509_set.c:30,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/x509_set.c:36,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/x509_set.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: X509_set_version
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 3
    functionsReached:
    - ASN1_INTEGER_new
    - X509_get_version
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    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:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    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:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    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:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    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:80,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/x509/x509_set.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - modified
    - ptm
    - tm
    argTypes:
    - int*
    - ASN1_TIME**
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: ossl_x509_set1_time
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 3
    functionsReached:
    - ASN1_STRING_dup::ASN1_STRING_dup
    - ASN1_TIME_free
    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:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 96
    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:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 104
    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:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    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:120,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509_set.c:123,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509_set.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: X509_up_ref
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 6
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    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: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    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(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    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(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/x509/x509_set.c:155,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_set.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: X509_get_signature_type
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - EVP_PKEY_type
    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: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    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: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    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: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    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: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    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: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    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: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    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:208,1
    - Dst: X509_SIG_INFO_get
      Src: /src/openssl/crypto/x509/x509_set.c:209,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: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    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(const X509 *x, int *mdnid, int *pknid,
      int *secbits,\n    uint32_t *flags)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/x509_set.c:225,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_set.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_set.c:227,1
    - Dst: evp_pkey_asn1_find
      Src: /src/openssl/crypto/x509/x509_set.c:236,1
    - Dst: EVP_PKEY_ASN1_METHOD*::siginf_set
      Src: /src/openssl/crypto/x509/x509_set.c:238,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/crypto/x509/x509_set.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_set.c:249,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509_set.c:282,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/x509_set.c:285,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_set.c:286,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x509_set.c:290,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_set.c:292,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/x509/x509_set.c:297,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_set.c:298,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 6
    argNames:
    - siginf
    - alg
    - sig
    - pubkey
    - libctx
    - propq
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 213
    functionDepth: 10
    functionLinenumber: 213
    functionLinenumberEnd: 313
    functionName: x509_sig_info_init
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - evp_pkey_asn1_find
    - OBJ_nid2obj
    - ERR_raise_data
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_fetch
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - EVP_PKEY_get_security_bits
    - i2t_ASN1_OBJECT
    - EVP_MD_free
    - EVP_PKEY_ASN1_METHOD*::siginf_set
    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,\n    OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_sig_info_init
      Src: /src/openssl/crypto/x509/x509_set.c:318,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x509_set.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - info
    argTypes:
    - X509*
    - X509_SIG_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 11
    functionLinenumber: 316
    functionLinenumberEnd: 320
    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(const X509 *x, X509_SIG_INFO *info)
  - 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:104,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: 124
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 124
    functionName: x509_cb
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - CRL_DIST_POINTS_free
    - X509_CERT_AUX_free
    - ASN1_OCTET_STRING_free
    - ossl_x509_set0_libctx
    - OPENSSL_free
    - CRYPTO_new_ex_data
    - CRYPTO_free_ex_data
    - AUTHORITY_KEYID_free
    - ASIdentifiers_free
    - ossl_policy_cache_free
    - NAME_CONSTRAINTS_free
    - sk_IPAddressFamily_pop_free
    - GENERAL_NAMES_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:144,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_x509.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: ossl_x509_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 4
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:159,1
    - Dst: X509_it
      Src: /src/openssl/crypto/x509/x_x509.c:159,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/x509/x_x509.c:160,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x_x509.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: X509_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 1
    functionsReached:
    - X509_free
    - X509_it
    - ossl_x509_set0_libctx
    - ASN1_item_new_ex
    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:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - X509*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    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:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    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:195,1
    - Dst: d2i_X509_CERT_AUX
      Src: /src/openssl/crypto/x509/x_x509.c:201,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x_x509.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - X509**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: d2i_X509_AUX
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    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:230,1
    - Dst: i2d_X509_CERT_AUX
      Src: /src/openssl/crypto/x509/x_x509.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - X509*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 243
    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:261,1
    - Dst: i2d_x509_aux_internal
      Src: /src/openssl/crypto/x509/x_x509.c:264,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x_x509.c:268,1
    - Dst: i2d_x509_aux_internal
      Src: /src/openssl/crypto/x509/x_x509.c:273,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_x509.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - X509*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: i2d_X509_AUX
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - i2d_x509_aux_internal
    - OPENSSL_free
    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:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pp
    argTypes:
    - X509*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    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: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    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:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - d_id
    argTypes:
    - X509*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    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: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    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(const 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
    - v3_generic_extension
    - v3_check_generic
    - do_ext_nconf
    - 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
    - v3_generic_extension
    - v3_check_generic
    - do_ext_nconf
    - 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: 135
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 135
    functionName: do_ext_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 2
    functionsReached:
    - X509V3_parse_list
    - X509V3_EXT_METHOD*::v2i
    - OBJ_nid2sn
    - do_ext_i2d
    - sk_CONF_VALUE_pop_free
    - NCONF_get_section
    - ERR_raise_data
    - ASN1_item_free
    - ERR_raise
    - X509V3_EXT_METHOD*::s2i
    - X509V3_EXT_get_nid
    - X509V3_EXT_METHOD*::r2i
    - sk_CONF_VALUE_num
    - ASN1_ITEM_ptr
    - STACK_OF
    - X509V3_EXT_METHOD*::ext_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:148,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_conf.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:150,1
    - Dst: X509V3_EXT_METHOD*::i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:158,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_conf.c:161,1
    - Dst: X509V3_EXT_METHOD*::i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:164,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_conf.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:167,1
    - Dst: X509_EXTENSION_create_by_NID
      Src: /src/openssl/crypto/x509/v3_conf.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:176,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_conf.c:179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_conf.c:184,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_conf.c:185,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: 187
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 187
    functionName: do_ext_i2d
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 1
    functionsReached:
    - ASN1_item_i2d
    - ASN1_OCTET_STRING_free
    - OPENSSL_free
    - X509V3_EXT_METHOD*::i2d
    - ERR_raise
    - X509_EXTENSION_create_by_NID
    - ASN1_ITEM_ptr
    - ASN1_OCTET_STRING_new
    - OPENSSL_malloc
    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:195,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:196,1
    - Dst: do_ext_i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ext_nid
    - crit
    - ext_struc
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: X509V3_EXT_i2d
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - do_ext_i2d
    - ERR_raise
    - X509V3_EXT_get_nid
    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:207,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_conf.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    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:221,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_conf.c:223,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_conf.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 232
    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:245,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:246,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/x509/v3_conf.c:252,1
    - Dst: generic_asn1
      Src: /src/openssl/crypto/x509/v3_conf.c:254,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:257,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_conf.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:263,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/crypto/x509/v3_conf.c:271,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_conf.c:274,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_conf.c:275,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_conf.c:276,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: 278
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 278
    functionName: v3_generic_extension
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 2
    functionsReached:
    - OPENSSL_hexstr2buf
    - ASN1_OCTET_STRING_free
    - ERR_raise_data
    - OPENSSL_free
    - X509_EXTENSION_create_by_OBJ
    - ERR_raise
    - OBJ_txt2obj
    - generic_asn1
    - ASN1_OBJECT_free
    - ASN1_OCTET_STRING_new
    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:286,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/x509/v3_conf.c:289,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/v3_conf.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - value
    - ctx
    - ext_len
    argTypes:
    - char*
    - X509V3_CTX*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:313,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/x509/v3_conf.c:317,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_conf.c:319,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_conf.c:320,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_conf.c:321,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_conf.c:323,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_conf.c:326,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_conf.c:327,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:333,1
    - Dst: X509V3_EXT_nconf_int
      Src: /src/openssl/crypto/x509/v3_conf.c:335,1
    - Dst: delete_ext
      Src: /src/openssl/crypto/x509/v3_conf.c:341,1
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/x509/v3_conf.c:342,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_conf.c:343,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_conf.c:347,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_conf.c:349,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_conf.c:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - sk
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 354
    functionName: X509V3_EXT_add_nconf_sk
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - NCONF_get_section
    - X509V3_EXT_nconf_int
    - strcmp
    - sk_X509_EXTENSION_num
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - X509v3_add_ext
    - sk_X509_EXTENSION_free
    - STACK_OF
    - X509_EXTENSION_free
    - delete_ext
    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:363,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/crypto/x509/v3_conf.c:367,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: 368
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 368
    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:377,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/crypto/x509/v3_conf.c:380,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: 381
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 381
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_extension_nids
      Src: /src/openssl/crypto/x509/v3_conf.c:390,1
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/x509/v3_conf.c:392,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:395,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/v3_conf.c:396,1
    - Dst: X509_REQ_delete_attr
      Src: /src/openssl/crypto/x509/v3_conf.c:402,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/v3_conf.c:406,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_conf.c:408,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/openssl/crypto/x509/v3_conf.c:409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_conf.c:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - req
    - pnid
    - exts
    argTypes:
    - X509_REQ*
    - int*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 415
    functionName: update_req_extensions
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - OPENSSL_free
    - X509_REQ_delete_attr
    - X509_ATTRIBUTE_free
    - sk_X509_EXTENSION_num
    - X509_REQ_get_extension_nids
    - ASN1_ITEM_rptr
    - X509at_get_attr_by_NID
    - X509_REQ_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int update_req_extensions(X509_REQ *req, int *pnid, STACK_OF(X509_EXTENSION)
      *exts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:424,1
    - Dst: X509_REQ_get_extension_nids
      Src: /src/openssl/crypto/x509/v3_conf.c:432,1
    - Dst: ossl_x509_req_get1_extensions_by_nid
      Src: /src/openssl/crypto/x509/v3_conf.c:433,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_conf.c:434,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_conf.c:436,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/crypto/x509/v3_conf.c:441,1
    - Dst: update_req_extensions
      Src: /src/openssl/crypto/x509/v3_conf.c:444,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/v3_conf.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - req
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 447
    functionName: X509V3_EXT_REQ_add_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - ossl_x509_req_get1_extensions_by_nid
    - X509V3_EXT_add_nconf_sk
    - sk_X509_EXTENSION_num
    - X509_REQ_get_extension_nids
    - update_req_extensions
    - sk_X509_EXTENSION_free
    - STACK_OF
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:454,1
    - Dst: X509V3_CTX*::db_meth::get_string
      Src: /src/openssl/crypto/x509/v3_conf.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - name
    - section
    argTypes:
    - X509V3_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 458
    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:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    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:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - section
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    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:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - section
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - conf
    argTypes:
    - X509V3_CTX*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: X509V3_set_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - issuer
    - subject
    - req
    - crl
    - flags
    argTypes:
    - X509V3_CTX*
    - X509*
    - X509*
    - X509_REQ*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 523
    functionName: X509V3_set_ctx
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject,
      X509_REQ *req,\n    X509_CRL *crl, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:529,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - X509V3_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 538
    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:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - section
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 575
    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:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - section
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 580
    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:
    - BIO_puts
    - BIO_printf
    - GENERAL_NAME_print
    linkageType: ''
    returnType: int
    signature: "int i2r_ISSUED_ON_BEHALF_OF(X509V3_EXT_METHOD *method,\n    GENERAL_NAME
      *gn, BIO *out,\n    int indent)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/t_acert.c:25,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:26,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_acert.c:29,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/t_acert.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_acert.c:34,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:38,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_acert.c:41,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/t_acert.c:49,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:59,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_acert.c:61,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_acert.c:65,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/t_acert.c:67,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:73,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 83
    functionName: print_attribute
    functionSourceFile: /src/openssl/crypto/x509/t_acert.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - BIO_write
    - ASN1_parse_dump
    - X509_ATTRIBUTE_get0_type
    - ERR_raise
    - X509_ATTRIBUTE_count
    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:96,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:98,1
    - Dst: X509_ACERT_get_version
      Src: /src/openssl/crypto/x509/t_acert.c:105,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:112,1
    - Dst: X509_ACERT_get0_serialNumber
      Src: /src/openssl/crypto/x509/t_acert.c:120,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:122,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/t_acert.c:125,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:137,1
    - Dst: X509_ACERT_get0_holder_entityName
      Src: /src/openssl/crypto/x509/t_acert.c:140,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/t_acert.c:142,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/t_acert.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:147,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/t_acert.c:149,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:151,1
    - Dst: X509_ACERT_get0_holder_baseCertId
      Src: /src/openssl/crypto/x509/t_acert.c:156,1
    - Dst: OSSL_ISSUER_SERIAL_get0_issuer
      Src: /src/openssl/crypto/x509/t_acert.c:157,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:163,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_acert.c:166,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:172,1
    - Dst: OSSL_ISSUER_SERIAL_get0_serial
      Src: /src/openssl/crypto/x509/t_acert.c:175,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/t_acert.c:177,1
    - Dst: OSSL_ISSUER_SERIAL_get0_issuerUID
      Src: /src/openssl/crypto/x509/t_acert.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:182,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_acert.c:184,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:195,1
    - Dst: X509_ACERT_get0_issuerName
      Src: /src/openssl/crypto/x509/t_acert.c:197,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_acert.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:202,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:205,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:210,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:212,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/t_acert.c:214,1
    - Dst: X509_ACERT_get0_notBefore
      Src: /src/openssl/crypto/x509/t_acert.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:216,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/t_acert.c:218,1
    - Dst: X509_ACERT_get0_notAfter
      Src: /src/openssl/crypto/x509/t_acert.c:218,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:225,1
    - Dst: X509_ACERT_get_attr_count
      Src: /src/openssl/crypto/x509/t_acert.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:229,1
    - Dst: X509_ACERT_get_attr_count
      Src: /src/openssl/crypto/x509/t_acert.c:232,1
    - Dst: print_attribute
      Src: /src/openssl/crypto/x509/t_acert.c:233,1
    - Dst: X509_ACERT_get_attr
      Src: /src/openssl/crypto/x509/t_acert.c:233,1
    - Dst: X509_ACERT_get0_extensions
      Src: /src/openssl/crypto/x509/t_acert.c:242,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:244,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/t_acert.c:246,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/t_acert.c:251,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:252,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/t_acert.c:254,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_acert.c:255,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/t_acert.c:257,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:258,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/t_acert.c:260,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:261,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/t_acert.c:263,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/t_acert.c:263,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:266,1
    - Dst: X509_ACERT_get0_signature
      Src: /src/openssl/crypto/x509/t_acert.c:276,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_acert.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_acert.c:284,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: 286
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 286
    functionName: X509_ACERT_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_acert.c
    functionUses: 0
    functionsReached:
    - X509_signature_print
    - X509_ACERT_get0_holder_baseCertId
    - OSSL_ISSUER_SERIAL_get0_serial
    - sk_X509_EXTENSION_value
    - sk_GENERAL_NAME_num
    - X509_ACERT_get_attr_count
    - X509V3_EXT_print
    - X509_signature_dump
    - OSSL_ISSUER_SERIAL_get0_issuer
    - i2a_ASN1_OBJECT
    - X509_ACERT_get0_notBefore
    - BIO_write
    - ERR_raise
    - X509_EXTENSION_get_critical
    - X509_ACERT_get0_issuerName
    - OSSL_ISSUER_SERIAL_get0_issuerUID
    - i2a_ASN1_INTEGER
    - ASN1_STRING_print
    - X509_ACERT_get0_signature
    - print_attribute
    - X509_ACERT_get_version
    - X509_ACERT_get_attr
    - X509_ACERT_get0_extensions
    - sk_GENERAL_NAME_value
    - BIO_printf
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_data
    - X509_ACERT_get0_holder_entityName
    - ASN1_GENERALIZEDTIME_print
    - X509_ACERT_get0_notAfter
    - sk_X509_EXTENSION_num
    - X509_ACERT_get0_serialNumber
    - X509_NAME_print_ex
    - GENERAL_NAME_print
    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:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 291
    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:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_bcons.c:66,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_bcons.c:69,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_bcons.c:70,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_bcons.c:71,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_bcons.c:72,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_bcons.c:74,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_bcons.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_bcons.c:78,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_bcons.c:79,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_bcons.c:85,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: 87
      start: 57
    functionDepth: 8
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: v2i_BASIC_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_bcons.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_int
    - BASIC_CONSTRAINTS_new
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - BASIC_CONSTRAINTS_free
    - X509V3_conf_add_error_name_value
    - X509V3_get_value_bool
    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: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    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: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    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:109,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/v3_addr.c:119,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: 121
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 121
    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: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    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:142,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:144,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:147,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: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 167
    functionName: i2r_address
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - addr_expand
    - BIO_printf
    - BIO_puts
    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:
    - sk_IPAddressOrRange_value
    - BIO_printf
    - i2r_address
    - BIO_puts
    - sk_IPAddressOrRange_num
    - addr_prefixlen
    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: 272
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 272
    functionName: i2r_IPAddrBlocks
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_num
    - sk_IPAddressFamily_value
    - i2r_IPAddressOrRanges
    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:293,1
    - Dst: addr_prefixlen
      Src: /src/openssl/crypto/x509/v3_addr.c:295,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:298,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:308,1
    - Dst: addr_prefixlen
      Src: /src/openssl/crypto/x509/v3_addr.c:310,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:313,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - a
    - b
    - length
    argTypes:
    - IPAddressOrRange*
    - IPAddressOrRange*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 325
    functionName: IPAddressOrRange_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - addr_expand
    - memcmp
    - addr_prefixlen
    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:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddressOrRange**
    - IPAddressOrRange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 335
    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:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddressOrRange**
    - IPAddressOrRange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 345
    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:362,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:362,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: 361
        line_start: 361
        source_file: /src/openssl/crypto/x509/v3_addr.c
    constantsTouched: []
    func_position:
      end: 402
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 402
    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:413,1
    - Dst: IPAddressOrRange_new
      Src: /src/openssl/crypto/x509/v3_addr.c:415,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:418,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_addr.c:423,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/x509/v3_addr.c:427,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:433,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: 435
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: make_addressPrefix
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ossl_asn1_bit_string_set_unused_bits
    - IPAddressOrRange_free
    - prefixlen < 0 || prefixlen >
    - ASN1_BIT_STRING_new
    - IPAddressOrRange_new
    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:449,1
    - Dst: range_should_be_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:452,1
    - Dst: make_addressPrefix
      Src: /src/openssl/crypto/x509/v3_addr.c:453,1
    - Dst: IPAddressOrRange_new
      Src: /src/openssl/crypto/x509/v3_addr.c:455,1
    - Dst: IPAddressRange_new
      Src: /src/openssl/crypto/x509/v3_addr.c:458,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:460,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:462,1
    - Dst: ASN1_BIT_STRING_set1
      Src: /src/openssl/crypto/x509/v3_addr.c:467,1
    - Dst: ASN1_BIT_STRING_set1
      Src: /src/openssl/crypto/x509/v3_addr.c:480,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:495,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 4
    argNames:
    - result
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange**
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 497
    functionName: make_addressRange
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - range_should_be_prefix
    - make_addressPrefix
    - IPAddressRange_new
    - IPAddressOrRange_free
    - ASN1_BIT_STRING_set1
    - ASN1_BIT_STRING_new
    - memcmp
    - IPAddressOrRange_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:520,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:521,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:528,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:530,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_addr.c:532,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/openssl/crypto/x509/v3_addr.c:534,1
    - Dst: IPAddressFamily_free
      Src: /src/openssl/crypto/x509/v3_addr.c:540,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 542
    functionName: make_IPAddressFamily
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - IPAddressFamily_free
    - IPAddressFamily_new
    - ASN1_OCTET_STRING_new
    - sk_IPAddressFamily_push
    - sk_IPAddressFamily_num
    - sk_IPAddressFamily_value
    - IPAddressChoice_new
    - memcmp
    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:550,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_addr.c:556,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: X509v3_addr_add_inherit
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - make_IPAddressFamily
    - ASN1_NULL_new
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_add_inherit(IPAddrBlocks *addr,\n    unsigned afi,
      const unsigned *safi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_IPAddressFamily
      Src: /src/openssl/crypto/x509/v3_addr.c:569,1
    - Dst: sk_IPAddressOrRange_new_null
      Src: /src/openssl/crypto/x509/v3_addr.c:578,1
    - Dst: sk_IPAddressOrRange_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:582,1
    - Dst: sk_IPAddressOrRange_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 591
    functionName: make_prefix_or_range
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - make_IPAddressFamily
    - sk_IPAddressOrRange_set_cmp_func
    - sk_IPAddressOrRange_new_null
    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:601,1
    - Dst: make_addressPrefix
      Src: /src/openssl/crypto/x509/v3_addr.c:605,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:605,1
    - Dst: sk_IPAddressOrRange_push
      Src: /src/openssl/crypto/x509/v3_addr.c:607,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:609,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: 611
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 611
    functionName: X509v3_addr_add_prefix
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - make_addressPrefix
    - length_from_afi
    - IPAddressOrRange_free
    - sk_IPAddressOrRange_push
    - make_prefix_or_range
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_add_prefix(IPAddrBlocks *addr,\n    const unsigned
      afi,\n    const unsigned *safi,\n    unsigned char *a, int prefixlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_prefix_or_range
      Src: /src/openssl/crypto/x509/v3_addr.c:621,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:623,1
    - Dst: make_addressRange
      Src: /src/openssl/crypto/x509/v3_addr.c:627,1
    - Dst: sk_IPAddressOrRange_push
      Src: /src/openssl/crypto/x509/v3_addr.c:629,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:631,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: 633
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: X509v3_addr_add_range
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - length_from_afi
    - IPAddressOrRange_free
    - sk_IPAddressOrRange_push
    - make_addressRange
    - make_prefix_or_range
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_add_range(IPAddrBlocks *addr,\n    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:645,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:645,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:647,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:647,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: 650
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 650
    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:660,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:662,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: 666
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 666
    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    unsigned afi,\n
      \   unsigned char *min,\n    unsigned char *max, int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - IPAddressFamily**
    - IPAddressFamily**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 692
    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: 700
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 700
    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:721,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:722,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:723,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:725,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:725,1
    - Dst: IPAddressFamily_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:728,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:735,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:736,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:737,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:737,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:754,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:761,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:763,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:764,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:765,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:767,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:767,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:773,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:773,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:773,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:782,1
    - Dst: range_should_be_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:788,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:796,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:798,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:801,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:803,1
    - Dst: range_should_be_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:803,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 47
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 813
    functionName: X509v3_addr_is_canonical
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - range_should_be_prefix
    - sk_IPAddressOrRange_value
    - length_from_afi
    - sk_IPAddressOrRange_num
    - IPAddressFamily_cmp
    - sk_IPAddressFamily_num
    - X509v3_addr_get_afi
    - extract_min_max
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_value
    - memcmp
    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:821,1
    - Dst: sk_IPAddressOrRange_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:826,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:831,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:832,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:833,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:837,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:837,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:843,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:843,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:849,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:858,1
    - Dst: make_addressRange
      Src: /src/openssl/crypto/x509/v3_addr.c:861,1
    - Dst: sk_IPAddressOrRange_set
      Src: /src/openssl/crypto/x509/v3_addr.c:863,1
    - Dst: sk_IPAddressOrRange_delete
      Src: /src/openssl/crypto/x509/v3_addr.c:864,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:865,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:866,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:875,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:877,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:882,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:884,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - aors
    - afi
    argTypes:
    - IPAddressOrRanges*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 890
    functionName: IPAddressOrRanges_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressOrRange_value
    - sk_IPAddressOrRange_set
    - length_from_afi
    - sk_IPAddressOrRange_num
    - IPAddressOrRange_free
    - extract_min_max
    - sk_IPAddressOrRange_sort
    - make_addressRange
    - memcmp
    - sk_IPAddressOrRange_delete
    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:900,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:904,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:905,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:907,1
    - Dst: IPAddressOrRanges_canonize
      Src: /src/openssl/crypto/x509/v3_addr.c:910,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:910,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:913,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:914,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_addr.c:915,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/crypto/x509/v3_addr.c:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 895
    functionDepth: 4
    functionLinenumber: 895
    functionLinenumberEnd: 918
    functionName: X509v3_addr_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - IPAddressOrRanges_canonize
    - ERR_raise
    - sk_IPAddressFamily_num
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_sort
    - X509v3_addr_is_canonical
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_set_cmp_func
    - ossl_assert
    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:933,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:934,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_addr.c:938,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_addr.c:939,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:945,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:947,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:949,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:952,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_addr.c:956,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:970,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:978,1
    - Dst: strtoul
      Src: /src/openssl/crypto/x509/v3_addr.c:981,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:982,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:984,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:985,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:988,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_addr.c:989,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_addr.c:991,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1000,1
    - Dst: X509v3_addr_add_inherit
      Src: /src/openssl/crypto/x509/v3_addr.c:1001,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1002,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1003,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1006,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1011,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1012,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_addr.c:1016,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1017,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1018,1
    - Dst: strtoul
      Src: /src/openssl/crypto/x509/v3_addr.c:1024,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1029,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1030,1
    - Dst: X509v3_addr_add_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:1033,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1034,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1039,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1040,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1042,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1043,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_addr.c:1046,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1047,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1048,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1051,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1051,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1052,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1053,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/crypto/x509/v3_addr.c:1056,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1057,1
    - Dst: X509v3_addr_add_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:1062,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1063,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1068,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1069,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1073,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/crypto/x509/v3_addr.c:1080,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1085,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1086,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: 1088
      start: 923
    functionDepth: 5
    functionLinenumber: 923
    functionLinenumberEnd: 1088
    functionName: v2i_IPAddrBlocks
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_value
    - X509V3_conf_add_error_name_value
    - ERR_raise_data
    - OPENSSL_free
    - X509v3_addr_add_prefix
    - ERR_raise
    - X509v3_addr_add_range
    - X509v3_addr_canonize
    - ossl_v3_name_cmp
    - length_from_afi
    - ossl_a2i_ipadd
    - strspn
    - strcmp
    - X509v3_addr_add_inherit
    - OPENSSL_strdup
    - strtoul
    - sk_CONF_VALUE_num
    - sk_IPAddressFamily_pop_free
    - memcmp
    - sk_IPAddressFamily_new
    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:1116,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: X509v3_addr_inherits
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressFamily_num
    - sk_IPAddressFamily_value
    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:1141,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:1142,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1142,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1146,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:1148,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1148,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1151,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - parent
    - child
    - length
    argTypes:
    - IPAddressOrRanges*
    - IPAddressOrRanges*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1160
    functionName: addr_contains
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressOrRange_value
    - memcmp
    - extract_min_max
    - sk_IPAddressOrRange_num
    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:1171,1
    - Dst: X509v3_addr_inherits
      Src: /src/openssl/crypto/x509/v3_addr.c:1171,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:1173,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:1174,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1176,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1177,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/openssl/crypto/x509/v3_addr.c:1178,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1179,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1183,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1183,1
    - Dst: addr_contains
      Src: /src/openssl/crypto/x509/v3_addr.c:1185,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1187,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddrBlocks*
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1191
    functionName: X509v3_addr_subset
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - X509v3_addr_inherits
    - length_from_afi
    - addr_contains
    - sk_IPAddressFamily_find
    - sk_IPAddressFamily_num
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_sort
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_set_cmp_func
    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: 1209
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1209
    functionName: validation_err
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: validation_err(_err_)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_addr.c:1226,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1226,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_addr.c:1227,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_addr.c:1228,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1244,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/crypto/x509/v3_addr.c:1248,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_addr.c:1249,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:1250,1
    - Dst: sk_IPAddressFamily_dup
      Src: /src/openssl/crypto/x509/v3_addr.c:1251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1252,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:1257,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1263,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1264,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/crypto/x509/v3_addr.c:1265,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_addr.c:1266,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1268,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1269,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1271,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_addr.c:1275,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:1281,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:1283,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1284,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1285,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/openssl/crypto/x509/v3_addr.c:1286,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1287,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_addr.c:1291,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1297,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1297,1
    - Dst: addr_contains
      Src: /src/openssl/crypto/x509/v3_addr.c:1302,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1304,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1304,1
    - Dst: sk_IPAddressFamily_set
      Src: /src/openssl/crypto/x509/v3_addr.c:1305,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_addr.c:1307,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1316,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1317,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1319,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/openssl/crypto/x509/v3_addr.c:1323,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_addr.c:1324,1
    - Dst: sk_IPAddressFamily_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1329,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 76
    argCount: 3
    argNames:
    - ctx
    - chain
    - ext
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF*
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1331
    functionName: addr_validate_path_internal
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressFamily_dup
    - length_from_afi
    - sk_IPAddressFamily_free
    - validation_err
    - addr_contains
    - sk_IPAddressFamily_find
    - X509v3_addr_is_canonical
    - ERR_raise
    - sk_IPAddressFamily_sort
    - sk_IPAddressFamily_num
    - X509v3_addr_get_afi
    - sk_X509_num
    - IPAddressFamily_check_len
    - sk_X509_value
    - sk_IPAddressFamily_set
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_set_cmp_func
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int addr_validate_path_internal(X509_STORE_CTX *ctx,\n    const STACK_OF(X509)
      *chain,\n    IPAddrBlocks *ext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1341,1
    - Dst: addr_validate_path_internal
      Src: /src/openssl/crypto/x509/v3_addr.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1338
    functionDepth: 3
    functionLinenumber: 1338
    functionLinenumberEnd: 1347
    functionName: X509v3_addr_validate_path
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_X509_num
    - addr_validate_path_internal
    linkageType: ''
    returnType: int
    signature: int X509v3_addr_validate_path(X509_STORE_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1358,1
    - Dst: X509v3_addr_inherits
      Src: /src/openssl/crypto/x509/v3_addr.c:1360,1
    - Dst: addr_validate_path_internal
      Src: /src/openssl/crypto/x509/v3_addr.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - chain
    - ext
    - allow_inheritance
    argTypes:
    - STACK_OF*
    - IPAddrBlocks*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1363
    functionName: X509v3_addr_validate_resource_set
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_X509_num
    - X509v3_addr_inherits
    - addr_validate_path_internal
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_validate_resource_set(const STACK_OF(X509) *chain,\n
      \   IPAddrBlocks *ext, int allow_inheritance)"
  - 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:29,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/v3_sda.c:33,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:34,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/v3_sda.c:39,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/crypto/x509/v3_sda.c:41,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/v3_sda.c:42,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_sda.c:43,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:44,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_sda.c:47,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_sda.c:49,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:51,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/v3_sda.c:51,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/v3_sda.c:55,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/v3_sda.c:56,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/v3_sda.c:57,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_sda.c:58,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_sda.c:60,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:63,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: 68
      start: 20
    functionDepth: 6
    functionLinenumber: 20
    functionLinenumberEnd: 68
    functionName: i2r_ATTRIBUTES_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_sda.c
    functionUses: 0
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - X509_ATTRIBUTE_get0_object
    - BIO_printf
    - BIO_puts
    - i2a_ASN1_OBJECT
    - X509_ATTRIBUTE_get0_type
    - OBJ_nid2ln
    - OBJ_obj2nid
    - X509_ATTRIBUTE_count
    - ossl_print_attribute_value
    - sk_X509_ATTRIBUTE_value
    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:
    - BIO_puts
    - i2a_ASN1_OBJECT
    - sk_ASN1_OBJECT_num
    - STACK_OF
    - sk_ASN1_OBJECT_value
    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:73,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/openssl/crypto/x509/pcy_tree.c:75,1
    - Dst: expected_print
      Src: /src/openssl/crypto/x509/pcy_tree.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/pcy_tree.c:77,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/openssl/crypto/x509/pcy_tree.c:80,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: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: tree_print
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - expected_print
    - sk_X509_POLICY_NODE_value
    - sk_X509_POLICY_NODE_num
    - X509_POLICY_NODE_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: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    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:268,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:269,1
    - Dst: ossl_policy_node_match
      Src: /src/openssl/crypto/x509/pcy_tree.c:271,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:272,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:278,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: 282
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 282
    functionName: tree_link_matching_nodes
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_num
    - ossl_policy_node_match
    - ossl_policy_level_add_node
    - sk_X509_POLICY_NODE_value
    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:296,1
    - Dst: sk_X509_POLICY_DATA_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:297,1
    - Dst: tree_link_matching_nodes
      Src: /src/openssl/crypto/x509/pcy_tree.c:300,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: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: tree_link_nodes
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_DATA_value
    - sk_X509_POLICY_DATA_num
    - tree_link_matching_nodes
    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:325,1
    - Dst: node_critical
      Src: /src/openssl/crypto/x509/pcy_tree.c:325,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:331,1
    - Dst: ossl_policy_data_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:332,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: 336
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 336
    functionName: tree_add_unmatched
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - ossl_policy_data_free
    - ossl_policy_data_new
    - ossl_policy_level_add_node
    - node_critical
    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:353,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/pcy_tree.c:358,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:359,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:362,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:363,1
    - Dst: ossl_policy_level_find_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:364,1
    - Dst: tree_add_unmatched
      Src: /src/openssl/crypto/x509/pcy_tree.c:366,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: 371
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: tree_link_unmatched
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - tree_add_unmatched
    - sk_ASN1_OBJECT_num
    - ossl_policy_level_find_node
    - STACK_OF
    - sk_ASN1_OBJECT_value
    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:384,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:385,1
    - Dst: tree_link_unmatched
      Src: /src/openssl/crypto/x509/pcy_tree.c:387,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: 394
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: tree_link_any
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_num
    - ossl_policy_level_add_node
    - tree_link_unmatched
    - sk_X509_POLICY_NODE_value
    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:408,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:413,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:414,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:418,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/openssl/crypto/x509/pcy_tree.c:419,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:427,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:431,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/openssl/crypto/x509/pcy_tree.c:432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - tree
    - curr
    argTypes:
    - X509_POLICY_TREE*
    - X509_POLICY_LEVEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 449
    functionName: tree_prune
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    - sk_X509_POLICY_NODE_delete
    - STACK_OF
    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:607,1
    - Dst: tree_link_nodes
      Src: /src/openssl/crypto/x509/pcy_tree.c:608,1
    - Dst: tree_link_any
      Src: /src/openssl/crypto/x509/pcy_tree.c:612,1
    - Dst: TREE_PRINT
      Src: /src/openssl/crypto/x509/pcy_tree.c:614,1
    - Dst: tree_prune
      Src: /src/openssl/crypto/x509/pcy_tree.c:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 600
    functionDepth: 5
    functionLinenumber: 600
    functionLinenumberEnd: 620
    functionName: tree_evaluate
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - ossl_policy_cache_set
    - tree_link_nodes
    - tree_prune
    - TREE_PRINT
    - tree_link_any
    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:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 626
    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:636,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:637,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:640,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:641,1
    - Dst: ossl_policy_node_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:642,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:645,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 648
    functionName: X509_policy_tree_free
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_free
    - OPENSSL_free
    - X509_free
    - sk_X509_POLICY_NODE_pop_free
    - ossl_policy_node_free
    - sk_X509_POLICY_DATA_pop_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:666,1
    - Dst: tree_init
      Src: /src/openssl/crypto/x509/pcy_tree.c:670,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:677,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:684,1
    - Dst: tree_evaluate
      Src: /src/openssl/crypto/x509/pcy_tree.c:689,1
    - Dst: TREE_PRINT
      Src: /src/openssl/crypto/x509/pcy_tree.c:690,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:695,1
    - Dst: tree_calculate_authority_set
      Src: /src/openssl/crypto/x509/pcy_tree.c:703,1
    - Dst: sk_X509_POLICY_NODE_sort
      Src: /src/openssl/crypto/x509/pcy_tree.c:705,1
    - Dst: tree_calculate_user_set
      Src: /src/openssl/crypto/x509/pcy_tree.c:706,1
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:708,1
    - Dst: X509_policy_tree_get0_user_policies
      Src: /src/openssl/crypto/x509/pcy_tree.c:713,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:714,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:715,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:724,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    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: 726
      start: 658
    functionDepth: 6
    functionLinenumber: 658
    functionLinenumberEnd: 726
    functionName: X509_policy_check
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_free
    - sk_X509_POLICY_NODE_sort
    - sk_X509_POLICY_NODE_num
    - TREE_PRINT
    - tree_init
    - X509_policy_tree_get0_user_policies
    - tree_evaluate
    - tree_calculate_authority_set
    - STACK_OF
    - tree_calculate_user_set
    - X509_policy_tree_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:51,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_pubkey.c:54,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: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: x509_pubkey_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:69,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/x509/x_pubkey.c:73,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:74,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: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: ossl_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_ex
    - OPENSSL_zalloc
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *ossl_d2i_X509_PUBKEY_INTERNAL(const unsigned char **pp,
      long len, OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:80,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xpub
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ossl_X509_PUBKEY_INTERNAL_free
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_item_free
    - ASN1_ITEM_rptr
    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:88,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:89,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:90,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: x509_pubkey_ex_free
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_free
    - ASN1_BIT_STRING_free
    - EVP_PKEY_free
    - OPENSSL_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:102,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    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:112,1
    - Dst: x509_pubkey_ex_populate
      Src: /src/openssl/crypto/x509/x_pubkey.c:114,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:115,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:118,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: 124
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: x509_pubkey_ex_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - x509_pubkey_ex_populate
    - x509_pubkey_set0_libctx
    - x509_pubkey_ex_free
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: x509_pubkey_ex_new_ex
      Src: /src/openssl/crypto/x509/x_pubkey.c:139,1
    - Dst: x509_pubkey_ex_populate
      Src: /src/openssl/crypto/x509/x_pubkey.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:142,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/x509/x_pubkey.c:147,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:148,1
    - Dst: x509_pubkey_ex_free
      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_obj2nid
      Src: /src/openssl/crypto/x509/x_pubkey.c:211,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/x509/x_pubkey.c:212,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/x_pubkey.c:213,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:216,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:219,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/x509/x_pubkey.c:229,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:236,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:242,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:246,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    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: 248
      start: 126
    functionDepth: 12
    functionLinenumber: 126
    functionLinenumberEnd: 248
    functionName: x509_pubkey_ex_d2i_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ERR_clear_last_mark
    - OSSL_DECODER_from_data
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - OSSL_DECODER_CTX_new_for_pkey
    - asn1_item_embed_d2i
    - OPENSSL_free
    - ERR_raise
    - x509_pubkey_ex_free
    - x509_pubkey_ex_new_ex
    - OBJ_obj2nid
    - x509_pubkey_ex_populate
    - ASN1_ITEM_rptr
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - ossl_assert
    - x509_pubkey_decode
    - ERR_set_mark
    - OPENSSL_strlcpy
    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:253,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:253,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: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: x509_pubkey_ex_i2d
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_item_ex_i2d
    - ASN1_ITEM_rptr
    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:260,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:261,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: 262
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: x509_pubkey_ex_print
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_print
    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:283,1
    - Dst: X509_PUBKEY_it
      Src: /src/openssl/crypto/x509/x_pubkey.c:283,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:284,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: X509_PUBKEY_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - X509_PUBKEY_it
    - x509_pubkey_set0_libctx
    - ASN1_item_new_ex
    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:297,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:302,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:303,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:304,1
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/x509/x_pubkey.c:307,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:308,1
    - Dst: ASN1_BIT_STRING_set1
      Src: /src/openssl/crypto/x509/x_pubkey.c:309,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:311,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:313,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:318,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/crypto/x509/x_pubkey.c:319,1
    - Dst: x509_pubkey_decode
      Src: /src/openssl/crypto/x509/x_pubkey.c:322,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:323,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:324,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:325,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 332
    functionName: X509_PUBKEY_dup
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - OPENSSL_zalloc
    - ERR_clear_last_mark
    - ERR_raise
    - EVP_PKEY_dup
    - X509_ALGOR_dup
    - ASN1_ITEM_rptr
    - x509_pubkey_decode
    - ASN1_BIT_STRING_set1
    - ASN1_BIT_STRING_new
    - ERR_set_mark
    - x509_pubkey_set0_libctx
    - x509_pubkey_ex_free
    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:339,1
    - Dst: X509_PUBKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:345,1
    - Dst: EVP_PKEY*::ameth::pub_encode
      Src: /src/openssl/crypto/x509/x_pubkey.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:354,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/x509/x_pubkey.c:357,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:360,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/crypto/x509/x_pubkey.c:364,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:367,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:370,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:375,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:379,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/x509/x_pubkey.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:381,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:397,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509_PUBKEY**
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 334
    functionDepth: 11
    functionLinenumber: 334
    functionLinenumberEnd: 405
    functionName: X509_PUBKEY_set
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 3
    functionsReached:
    - evp_pkey_is_provided
    - OSSL_ENCODER_CTX_free
    - d2i_X509_PUBKEY
    - OPENSSL_free
    - EVP_PKEY_up_ref
    - X509_PUBKEY_free
    - ERR_raise
    - EVP_PKEY_free
    - X509_PUBKEY_new
    - EVP_PKEY*::ameth::pub_encode
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_data
    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:419,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:435,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/x509/x_pubkey.c:439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:440,1
    - Dst: EVP_PKEY*::ameth::pub_decode
      Src: /src/openssl/crypto/x509/x_pubkey.c:450,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:453,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:461,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ppkey
    - key
    argTypes:
    - EVP_PKEY**
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 463
    functionName: x509_pubkey_decode
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_set_type
    - ERR_raise
    - EVP_PKEY*::ameth::pub_decode
    - OBJ_obj2nid
    - EVP_PKEY_free
    - EVP_PKEY_new
    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:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 479
    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:483,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/x509/x_pubkey.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 490
    functionName: X509_PUBKEY_get
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_up_ref
    - ERR_raise
    - X509_PUBKEY_get0
    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:516,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:519,1
    - Dst: d2i_x509_pubkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:524,1
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/x509/x_pubkey.c:527,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:528,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:534,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:538,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: 540
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 540
    functionName: d2i_PUBKEY_int
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - X509_PUBKEY_free
    - X509_PUBKEY_get
    - 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 *(*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:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 5
    functionLinenumber: 543
    functionLinenumberEnd: 547
    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:552,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: 553
      start: 549
    functionDepth: 5
    functionLinenumber: 549
    functionLinenumberEnd: 553
    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:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 6
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: d2i_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    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:569,1
    - Dst: EVP_PKEY*::ameth::pub_encode
      Src: /src/openssl/crypto/x509/x_pubkey.c:573,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:575,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:578,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:580,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:583,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/x509/x_pubkey.c:583,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/x509/x_pubkey.c:586,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/x509/x_pubkey.c:588,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:589,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_pubkey.c:598,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:603,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:604,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 560
    functionDepth: 11
    functionLinenumber: 560
    functionLinenumberEnd: 608
    functionName: i2d_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - OSSL_ENCODER_CTX_free
    - BIO_new
    - OSSL_ENCODER_to_bio
    - BIO_free
    - X509_PUBKEY_free
    - i2d_X509_PUBKEY
    - memcpy
    - OSSL_ENCODER_CTX_get_num_encoders
    - X509_PUBKEY_new
    - EVP_PKEY*::ameth::pub_encode
    - OSSL_ENCODER_CTX_new_for_pkey
    - BIO_s_mem
    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:620,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:623,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:624,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - RSA**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 613
    functionDepth: 9
    functionLinenumber: 613
    functionLinenumberEnd: 633
    functionName: d2i_RSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_RSA
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_free
    - RSA_free
    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:641,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:643,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:646,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:647,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - RSA*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 635
    functionDepth: 12
    functionLinenumber: 635
    functionLinenumberEnd: 651
    functionName: i2d_RSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_RSA
    - ERR_raise
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:661,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:664,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/crypto/x509/x_pubkey.c:665,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:666,1
    - Dst: DH_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 654
    functionDepth: 6
    functionLinenumber: 654
    functionLinenumberEnd: 675
    functionName: ossl_d2i_DH_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - ossl_d2i_PUBKEY_legacy
    - DH_free
    - EVP_PKEY_free
    - EVP_PKEY_get1_DH
    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:683,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:685,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/openssl/crypto/x509/x_pubkey.c:688,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:689,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 677
    functionDepth: 12
    functionLinenumber: 677
    functionLinenumberEnd: 693
    functionName: ossl_i2d_DH_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_assign_DH
    - EVP_PKEY_new
    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:702,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:705,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/crypto/x509/x_pubkey.c:706,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:707,1
    - Dst: DH_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 695
    functionDepth: 6
    functionLinenumber: 695
    functionLinenumberEnd: 716
    functionName: ossl_d2i_DHx_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - ossl_d2i_PUBKEY_legacy
    - DH_free
    - EVP_PKEY_free
    - EVP_PKEY_get1_DH
    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:724,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:726,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:729,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:730,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 12
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: ossl_i2d_DHx_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:745,1
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:748,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:749,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DSA**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 738
    functionDepth: 6
    functionLinenumber: 738
    functionLinenumberEnd: 758
    functionName: d2i_DSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_DSA
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_free
    - DSA_free
    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:768,1
    - Dst: DSA_get0_pqg
      Src: /src/openssl/crypto/x509/x_pubkey.c:771,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:773,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DSA**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 761
    functionDepth: 7
    functionLinenumber: 761
    functionLinenumberEnd: 782
    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:790,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:792,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:795,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:796,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DSA*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 784
    functionDepth: 12
    functionLinenumber: 784
    functionLinenumberEnd: 800
    functionName: i2d_DSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_DSA
    - ERR_raise
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:812,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:815,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:817,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:818,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 804
    functionDepth: 9
    functionLinenumber: 804
    functionLinenumberEnd: 827
    functionName: d2i_EC_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_EC_KEY
    - EVP_PKEY_get_id
    - ossl_d2i_PUBKEY_legacy
    - EC_KEY_free
    - EVP_PKEY_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:836,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:837,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:840,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:841,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 829
    functionDepth: 12
    functionLinenumber: 829
    functionLinenumberEnd: 845
    functionName: i2d_EC_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:856,1
    - Dst: ossl_evp_pkey_get1_ED25519
      Src: /src/openssl/crypto/x509/x_pubkey.c:859,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:860,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 848
    functionDepth: 6
    functionLinenumber: 848
    functionLinenumberEnd: 869
    functionName: ossl_d2i_ED25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    - ossl_evp_pkey_get1_ED25519
    - ossl_ecx_key_free
    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:878,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:879,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:882,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:883,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 871
    functionDepth: 12
    functionLinenumber: 871
    functionLinenumberEnd: 887
    functionName: ossl_i2d_ED25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:897,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:900,1
    - Dst: ossl_evp_pkey_get1_ED448
      Src: /src/openssl/crypto/x509/x_pubkey.c:901,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:902,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 889
    functionDepth: 6
    functionLinenumber: 889
    functionLinenumberEnd: 911
    functionName: ossl_d2i_ED448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - ossl_evp_pkey_get1_ED448
    - EVP_PKEY_get_id
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_free
    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:920,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:921,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:924,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:925,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 913
    functionDepth: 12
    functionLinenumber: 913
    functionLinenumberEnd: 929
    functionName: ossl_i2d_ED448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:939,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:942,1
    - Dst: ossl_evp_pkey_get1_X25519
      Src: /src/openssl/crypto/x509/x_pubkey.c:943,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:944,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 931
    functionDepth: 6
    functionLinenumber: 931
    functionLinenumberEnd: 953
    functionName: ossl_d2i_X25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - EVP_PKEY_get_id
    - ossl_d2i_PUBKEY_legacy
    - 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:962,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:963,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:966,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:967,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 955
    functionDepth: 12
    functionLinenumber: 955
    functionLinenumberEnd: 971
    functionName: ossl_i2d_X25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:981,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:984,1
    - Dst: ossl_evp_pkey_get1_X448
      Src: /src/openssl/crypto/x509/x_pubkey.c:985,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:986,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 973
    functionDepth: 6
    functionLinenumber: 973
    functionLinenumberEnd: 995
    functionName: ossl_d2i_X448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - ossl_evp_pkey_get1_X448
    - EVP_PKEY_get_id
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_free
    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:1004,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:1005,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:1008,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:1009,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:1011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 997
    functionDepth: 12
    functionLinenumber: 997
    functionLinenumberEnd: 1013
    functionName: ossl_i2d_X448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    - EVP_PKEY_new
    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:1021,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/x509/x_pubkey.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pub
    - penc
    - penclen
    argTypes:
    - X509_PUBKEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1023
    functionName: X509_PUBKEY_set0_public_key
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_bit_string_set_unused_bits
    - 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:1029,1
    - Dst: X509_PUBKEY_set0_public_key
      Src: /src/openssl/crypto/x509/x_pubkey.c:1032,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: 1034
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1034
    functionName: X509_PUBKEY_set0_param
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_set0_public_key
    - X509_ALGOR_set0
    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: 1049
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1049
    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: 1056
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1056
    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:1068,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/x_pubkey.c:1069,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/crypto/x509/x_pubkey.c:1071,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_pubkey.c:1073,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_pubkey.c:1074,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/crypto/x509/x_pubkey.c:1076,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_PUBKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1077
    functionName: X509_PUBKEY_eq
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - EVP_PKEY_eq
    - X509_ALGOR_cmp
    - X509_PUBKEY_get0
    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: 1087
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1087
    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:
    - X509_get_default_cert_dir
    - X509_get_default_cert_dir_env
    - ERR_raise
    - 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_new
    - OPENSSL_free
    - BUF_MEM_free
    - ERR_raise
    - CRYPTO_THREAD_lock_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:
    - sk_BY_DIR_HASH_pop_free
    - OPENSSL_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:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - BUF_MEM_free
    - sk_BY_DIR_ENTRY_pop_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:
    - strncmp
    - sk_BY_DIR_HASH_new
    - OPENSSL_strndup
    - by_dir_entry_free
    - sk_BY_DIR_ENTRY_push
    - sk_BY_DIR_ENTRY_new_null
    - sk_BY_DIR_ENTRY_value
    - ERR_raise
    - strlen
    - sk_BY_DIR_ENTRY_num
    - 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:338,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/by_dir.c:352,1
    - Dst: ossl_x509_store_read_lock
      Src: /src/openssl/crypto/x509/by_dir.c:354,1
    - Dst: ossl_x509_store_ht_get_by_name
      Src: /src/openssl/crypto/x509/by_dir.c:357,1
    - Dst: sk_X509_OBJECT_find
      Src: /src/openssl/crypto/x509/by_dir.c:361,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/openssl/crypto/x509/by_dir.c:362,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:364,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/by_dir.c:375,1
    - Dst: sk_BY_DIR_HASH_find
      Src: /src/openssl/crypto/x509/by_dir.c:383,1
    - Dst: sk_BY_DIR_HASH_value
      Src: /src/openssl/crypto/x509/by_dir.c:384,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/by_dir.c:387,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:389,1
    - Dst: sk_BY_DIR_HASH_push
      Src: /src/openssl/crypto/x509/by_dir.c:395,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:396,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:397,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:398,1
    - Dst: sk_BY_DIR_HASH_sort
      Src: /src/openssl/crypto/x509/by_dir.c:407,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:412,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/by_dir.c:418,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/x509/by_dir.c:424,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:
    - X509_load_cert_file_ex
    - ossl_x509_store_ht_get_by_name
    - sk_BY_DIR_HASH_find
    - BIO_snprintf
    - BUF_MEM_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - sk_BY_DIR_ENTRY_num
    - memcpy
    - ERR_clear_error
    - sk_BY_DIR_HASH_value
    - OPENSSL_free
    - ERR_raise
    - sk_BY_DIR_HASH_sort
    - STACK_OF
    - ossl_x509_store_read_lock
    - X509_load_crl_file
    - OPENSSL_malloc
    - X509_STORE_unlock
    - sk_BY_DIR_ENTRY_value
    - sk_X509_OBJECT_find
    - stat
    - BUF_MEM_new
    - sk_X509_OBJECT_value
    - CRYPTO_THREAD_unlock
    - sk_BY_DIR_HASH_push
    - X509_NAME_hash_ex
    - strlen
    - BUF_MEM_grow
    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:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:29,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/x509/x509aset.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ASN1_STRING**
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 37
    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:42,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/x509aset.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:46,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/crypto/x509/x509aset.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:51,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/x509aset.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:56,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/x509aset.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:61,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/openssl/crypto/x509/x509aset.c:65,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x509aset.c:67,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/x509aset.c:73,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/x509aset.c:74,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x509aset.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - names
    - dirName
    argTypes:
    - GENERAL_NAMES**
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: replace_dirName
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - X509_NAME_free
    - GENERAL_NAME_free
    - GENERAL_NAME_new
    - ERR_raise
    - sk_GENERAL_NAME_new_null
    - sk_GENERAL_NAME_push
    - STACK_OF
    - X509_NAME_dup
    - GENERAL_NAME_set0_value
    - sk_GENERAL_NAME_free
    - GENERAL_NAMES_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:85,1
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/x509/x509aset.c:88,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x509aset.c:91,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: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    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:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - isss
    - issuer
    argTypes:
    - OSSL_ISSUER_SERIAL*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 101
    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:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - isss
    - serial
    argTypes:
    - OSSL_ISSUER_SERIAL*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    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:112,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/x509/x509aset.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - isss
    - uid
    argTypes:
    - OSSL_ISSUER_SERIAL*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    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:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509_ACERT*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - names
    argTypes:
    - X509_ACERT*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - isss
    argTypes:
    - X509_ACERT*
    - OSSL_ISSUER_SERIAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - dinfo
    argTypes:
    - X509_ACERT*
    - OSSL_OBJECT_DIGEST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    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:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:156,1
    - Dst: replace_dirName
      Src: /src/openssl/crypto/x509/x509aset.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509_ACERT*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: X509_ACERT_set1_issuerName
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - X509_ACERT_ISSUER_V2FORM_new
    - replace_dirName
    - ERR_raise
    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:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509_ACERT*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    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:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - time
    argTypes:
    - X509_ACERT*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 174
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - time
    argTypes:
    - X509_ACERT*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_vpm.c:38,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/x509/x509_vpm.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: buffer_from_bytes
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_memdup
    linkageType: ''
    returnType: X509_BUFFER
    signature: X509_BUFFER *buffer_from_bytes(const uint8_t *bytes, size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_vpm.c:59,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/x509_vpm.c:62,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - bytes
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: buffer_from_string
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_zalloc
    - OPENSSL_strndup
    - OPENSSL_free
    linkageType: ''
    returnType: X509_BUFFER
    signature: X509_BUFFER *buffer_from_string(const uint8_t *bytes, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_from_bytes
      Src: /src/openssl/crypto/x509/x509_vpm.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - X509_BUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: buffer_copy
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - buffer_from_bytes
    linkageType: ''
    returnType: X509_BUFFER
    signature: X509_BUFFER *buffer_copy(const X509_BUFFER *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:90,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - X509_BUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: buffer_free
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 81
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void buffer_free(X509_BUFFER *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_vpm.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_BUFFER**
    - X509_BUFFER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: buffer_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int buffer_cmp(const X509_BUFFER *const *a, const X509_BUFFER *const
      *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/openssl/crypto/x509/x509_vpm.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - name
    - name_len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: validate_string_name
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: int validate_string_name(const char *name, size_t *name_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: validate_ip_name
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int validate_ip_name(const uint8_t *name, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isalnum
      Src: /src/openssl/crypto/x509/x509_vpm.c:226,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/x509/x509_vpm.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - c
    - charset
    argTypes:
    - int
    - ossl_charset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: ossl_name_charset
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - ossl_isalnum
    - ossl_isascii
    linkageType: ''
    returnType: ossl_charset_t
    signature: ossl_charset_t ossl_name_charset(int c, ossl_charset_t charset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_name_charset
      Src: /src/openssl/crypto/x509/x509_vpm.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - c
    - charset
    argTypes:
    - int
    - ossl_charset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: is_label_ok
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - ossl_name_charset
    linkageType: ''
    returnType: int
    signature: int is_label_ok(int c, ossl_charset_t charset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_label_ok
      Src: /src/openssl/crypto/x509/x509_vpm.c:272,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - name
    - len
    - charset
    argTypes:
    - char*
    - size_t
    - ossl_charset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 286
    functionName: validate_hostname_part
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - is_label_ok
    linkageType: ''
    returnType: int
    signature: "int validate_hostname_part(const char *name, size_t len,\n    ossl_charset_t
      charset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/x509/x509_vpm.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - name
    - len
    - out_charset
    argTypes:
    - char*
    - size_t
    - ossl_charset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 303
    functionName: validate_local_part
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - ossl_isascii
    linkageType: ''
    returnType: int
    signature: "int validate_local_part(const char *name, size_t len,\n    ossl_charset_t
      *out_charset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/openssl/crypto/x509/x509_vpm.c:319,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/x509_vpm.c:323,1
    - Dst: validate_local_part
      Src: /src/openssl/crypto/x509/x509_vpm.c:331,1
    - Dst: validate_hostname_part
      Src: /src/openssl/crypto/x509/x509_vpm.c:345,1
    - Dst: validate_hostname_part
      Src: /src/openssl/crypto/x509/x509_vpm.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vpm.c:350,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - name
    - len
    - rfc822
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 352
    functionName: validate_email_name
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - validate_local_part
    - ERR_raise
    - validate_hostname_part
    - memchr
    linkageType: ''
    returnType: int
    signature: int validate_email_name(const char *name, size_t len, int rfc822)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_vpm.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 366
    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:372,1
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:373,1
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:374,1
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:375,1
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:376,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:377,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: X509_VERIFY_PARAM_free
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 2
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    - OPENSSL_free
    - clear_buffer_stack
    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: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    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: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:443,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:444,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:445,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:446,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:461,1
    - Dst: X509_VERIFY_PARAM_set1_policies
      Src: /src/openssl/crypto/x509/x509_vpm.c:462,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:466,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:468,1
    - Dst: replace_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:469,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:472,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:474,1
    - Dst: replace_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:475,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:478,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:480,1
    - Dst: replace_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:481,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:484,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:486,1
    - Dst: replace_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:487,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:490,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 493
    functionName: X509_VERIFY_PARAM_inherit
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - test_x509_verify_param_copy
    - replace_buffer_stack
    - X509_VERIFY_PARAM_set1_policies
    - 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:502,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/crypto/x509/x509_vpm.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 510
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:514,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_vpm.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - param
    - name
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: X509_VERIFY_PARAM_set1_name
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    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: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    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: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    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: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    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: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - purpose
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 554
    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: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    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:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - trust
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 564
    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: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    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: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    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: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    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: 586
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 586
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - param
    - t
    argTypes:
    - X509_VERIFY_PARAM*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: ossl_x509_verify_param_set_time_posix
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_x509_verify_param_set_time_posix(X509_VERIFY_PARAM *param,
      int64_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/x509/x509_vpm.c:598,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_vpm.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - param
    - policy
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 606
    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_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - idx
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: X509_VERIFY_PARAM_get0_host
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_X509_BUFFER_value
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get0_host(X509_VERIFY_PARAM *param, int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:653,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:657,1
    - Dst: X509_VERIFY_PARAM_add1_host
      Src: /src/openssl/crypto/x509/x509_vpm.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - param
    - dnsname
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 661
    functionName: X509_VERIFY_PARAM_set1_host
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - strlen
    - X509_VERIFY_PARAM_add1_host
    - clear_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,\n    const
      char *dnsname, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:669,1
    - Dst: validate_string_name
      Src: /src/openssl/crypto/x509/x509_vpm.c:672,1
    - Dst: X509_VERIFY_PARAM*::validate_host
      Src: /src/openssl/crypto/x509/x509_vpm.c:675,1
    - Dst: validate_hostname_part
      Src: /src/openssl/crypto/x509/x509_vpm.c:678,1
    - Dst: add_string_to_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - param
    - dnsname
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 682
    functionName: X509_VERIFY_PARAM_add1_host
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM*::validate_host
    - validate_string_name
    - strlen
    - validate_hostname_part
    - add_string_to_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,\n    const
      char *dnsname, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: X509_VERIFY_PARAM_set1_host_input_validation
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_VERIFY_PARAM_set1_host_input_validation(X509_VERIFY_PARAM
      *param,\n    int (*validate_host)(const char *name, size_t len))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:693,1
    - Dst: X509_VERIFY_PARAM_add1_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - param
    - ip
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: X509_VERIFY_PARAM_set1_ip
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_add1_ip
    - clear_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param,\n    const
      uint8_t *ip, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM*::validate_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:703,1
    - Dst: validate_ip_name
      Src: /src/openssl/crypto/x509/x509_vpm.c:706,1
    - Dst: add_bytes_to_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - param
    - ip
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 710
    functionName: X509_VERIFY_PARAM_add1_ip
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - add_bytes_to_buffer_stack
    - X509_VERIFY_PARAM*::validate_ip
    - validate_ip_name
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_add1_ip(X509_VERIFY_PARAM *param,\n    const
      uint8_t *ip, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: X509_VERIFY_PARAM_set1_ip_input_validation
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_VERIFY_PARAM_set1_ip_input_validation(X509_VERIFY_PARAM
      *param,\n    int (*validate_ip)(const uint8_t *name, size_t len))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:720,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:722,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 727
    functionName: X509_VERIFY_PARAM_get0_email
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_X509_BUFFER_value
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get0_email(X509_VERIFY_PARAM *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set1_smtputf8
      Src: /src/openssl/crypto/x509/x509_vpm.c:734,1
    - Dst: X509_VERIFY_PARAM_set1_rfc822
      Src: /src/openssl/crypto/x509/x509_vpm.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - param
    - email
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 740
    functionName: X509_VERIFY_PARAM_set1_email
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1_smtputf8
    - X509_VERIFY_PARAM_set1_rfc822
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param,\n    const
      char *email, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:745,1
    - Dst: X509_VERIFY_PARAM_add1_smtputf8
      Src: /src/openssl/crypto/x509/x509_vpm.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - param
    - email
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: X509_VERIFY_PARAM_set1_smtputf8
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM_add1_smtputf8
    - clear_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_smtputf8(X509_VERIFY_PARAM *param,\n    const
      char *email, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:755,1
    - Dst: validate_string_name
      Src: /src/openssl/crypto/x509/x509_vpm.c:756,1
    - Dst: X509_VERIFY_PARAM*::validate_smtputf8
      Src: /src/openssl/crypto/x509/x509_vpm.c:759,1
    - Dst: validate_email_name
      Src: /src/openssl/crypto/x509/x509_vpm.c:762,1
    - Dst: add_string_to_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - param
    - email
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 768
    functionName: X509_VERIFY_PARAM_add1_smtputf8
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - validate_email_name
    - validate_string_name
    - strlen
    - X509_VERIFY_PARAM*::validate_smtputf8
    - add_string_to_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_add1_smtputf8(X509_VERIFY_PARAM *param,\n    const
      char *email, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: X509_VERIFY_PARAM_set1_smtputf8_input_validation
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_VERIFY_PARAM_set1_smtputf8_input_validation(X509_VERIFY_PARAM
      *param,\n    int (*validate_smtputf8)(const char *name, size_t len))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:779,1
    - Dst: X509_VERIFY_PARAM_add1_rfc822
      Src: /src/openssl/crypto/x509/x509_vpm.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - param
    - email
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: X509_VERIFY_PARAM_set1_rfc822
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM_add1_rfc822
    - clear_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_rfc822(X509_VERIFY_PARAM *param,\n    const
      char *email, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:789,1
    - Dst: validate_string_name
      Src: /src/openssl/crypto/x509/x509_vpm.c:790,1
    - Dst: X509_VERIFY_PARAM*::validate_rfc822
      Src: /src/openssl/crypto/x509/x509_vpm.c:793,1
    - Dst: validate_email_name
      Src: /src/openssl/crypto/x509/x509_vpm.c:796,1
    - Dst: add_string_to_buffer_stack
      Src: /src/openssl/crypto/x509/x509_vpm.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - param
    - email
    - len
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 785
    functionDepth: 5
    functionLinenumber: 785
    functionLinenumberEnd: 802
    functionName: X509_VERIFY_PARAM_add1_rfc822
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - validate_email_name
    - validate_string_name
    - strlen
    - X509_VERIFY_PARAM*::validate_rfc822
    - add_string_to_buffer_stack
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_add1_rfc822(X509_VERIFY_PARAM *param,\n    const
      char *email, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: X509_VERIFY_PARAM_set1_rfc822_input_validation
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_VERIFY_PARAM_set1_rfc822_input_validation(X509_VERIFY_PARAM
      *param,\n    int (*validate_rfc822)(const char *name, size_t len))"
  - 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: 814
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 814
    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: 819
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 819
    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: 824
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 824
    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:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 842
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vpm.c:852,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - param
    - plen
    - idx
    argTypes:
    - X509_VERIFY_PARAM*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 864
    functionName: int_X509_VERIFY_PARAM_get0_ip
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_X509_BUFFER_value
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *int_X509_VERIFY_PARAM_get0_ip(X509_VERIFY_PARAM *param,
      size_t *plen, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_X509_VERIFY_PARAM_get0_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:869,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/openssl/crypto/x509/x509_vpm.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 872
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:880,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/x509_vpm.c:881,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - param
    - ipasc
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 884
    functionName: X509_VERIFY_PARAM_set1_ip_asc
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1_ip
    - ossl_a2i_ipadd
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char
      *ipasc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/x509_vpm.c:891,1
    - Dst: X509_VERIFY_PARAM_add1_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - param
    - ipasc
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 894
    functionName: X509_VERIFY_PARAM_add1_ip_asc
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_add1_ip
    - ossl_a2i_ipadd
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_add1_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: 899
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 899
    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: 904
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 904
    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: 909
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 909
    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:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    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:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_VERIFY_PARAM**
    - X509_VERIFY_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 982
    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:990,1
    - Dst: sk_X509_VERIFY_PARAM_find
      Src: /src/openssl/crypto/x509/x509_vpm.c:994,1
    - Dst: sk_X509_VERIFY_PARAM_delete
      Src: /src/openssl/crypto/x509/x509_vpm.c:996,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:997,1
    - Dst: sk_X509_VERIFY_PARAM_push
      Src: /src/openssl/crypto/x509/x509_vpm.c:1001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1004
    functionName: X509_VERIFY_PARAM_add0_table
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_X509_VERIFY_PARAM_find
    - sk_X509_VERIFY_PARAM_delete
    - sk_X509_VERIFY_PARAM_new
    - sk_X509_VERIFY_PARAM_push
    - X509_VERIFY_PARAM_free
    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:1008,1
    - Dst: sk_X509_VERIFY_PARAM_num
      Src: /src/openssl/crypto/x509/x509_vpm.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1013
    functionName: X509_VERIFY_PARAM_get_count
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_X509_VERIFY_PARAM_num
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_get_count(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/x509_vpm.c:1017,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vpm.c:1020,1
    - Dst: sk_X509_VERIFY_PARAM_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:1026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1027
    functionName: X509_VERIFY_PARAM_get0
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_X509_VERIFY_PARAM_value
    - ERR_raise
    - OSSL_NELEM
    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:1037,1
    - Dst: sk_X509_VERIFY_PARAM_find
      Src: /src/openssl/crypto/x509/x509_vpm.c:1038,1
    - Dst: sk_X509_VERIFY_PARAM_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:1040,1
    - Dst: OBJ_bsearch_table
      Src: /src/openssl/crypto/x509/x509_vpm.c:1042,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/x509_vpm.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1043
    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_value
    - sk_X509_VERIFY_PARAM_sort
    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:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    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:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    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, const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/t_x509.c:37,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/t_x509.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_x509.c:38,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/t_x509.c:41,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:42,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_x509.c:43,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: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: X509_print_ex_fp
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - X509_print_ex
    - BIO_set_fp
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int X509_print_ex_fp(FILE *fp, const X509 *x, unsigned long nmflag,
      unsigned long cflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    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, const X509 *x)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:70,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:72,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/t_x509.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:81,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/t_x509.c:86,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:88,1
    - Dst: ossl_serial_number_print
      Src: /src/openssl/crypto/x509/t_x509.c:90,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:92,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/openssl/crypto/x509/t_x509.c:97,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:99,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_x509.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:106,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:108,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/t_x509.c:108,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:111,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:115,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:117,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:119,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/x509/t_x509.c:119,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:121,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:123,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/t_x509.c:123,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:129,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:131,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/t_x509.c:131,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:133,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/x509/t_x509.c:137,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/t_x509.c:139,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:140,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:142,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_x509.c:144,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:146,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/t_x509.c:149,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:151,1
    - Dst: ERR_print_errors
      Src: /src/openssl/crypto/x509/t_x509.c:152,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/x509/t_x509.c:154,1
    - Dst: X509_get0_uids
      Src: /src/openssl/crypto/x509/t_x509.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:162,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_x509.c:164,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:168,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_x509.c:170,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/x509/t_x509.c:176,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/t_x509.c:177,1
    - Dst: X509_get0_signature
      Src: /src/openssl/crypto/x509/t_x509.c:183,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_x509.c:184,1
    - Dst: X509_aux_print
      Src: /src/openssl/crypto/x509/t_x509.c:188,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: 194
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 194
    functionName: X509_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - X509_signature_print
    - X509_PUBKEY_get0_param
    - X509_get0_notBefore
    - X509_aux_print
    - X509_get0_tbs_sigalg
    - X509_signature_dump
    - i2a_ASN1_OBJECT
    - X509_get0_uids
    - BIO_write
    - ossl_serial_number_print
    - X509_get0_signature
    - X509_get_subject_name
    - ossl_asn1_time_print_ex
    - X509_get0_extensions
    - EVP_PKEY_print_public
    - X509_get0_pubkey
    - ERR_print_errors
    - X509V3_extensions_print
    - X509_get_issuer_name
    - X509_get_X509_PUBKEY
    - BIO_printf
    - X509_get0_notAfter
    - X509_get0_serialNumber
    - X509_get_version
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_print_ex(BIO *bp, const X509 *x, unsigned long nmflags, unsigned
      long cflag)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:212,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/t_x509.c:214,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/t_x509.c:215,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/t_x509.c:218,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/t_x509.c:220,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/t_x509.c:223,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/t_x509.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:229,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/t_x509.c:232,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:238,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/openssl/crypto/x509/t_x509.c:241,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/t_x509.c:246,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/x509/t_x509.c:246,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/t_x509.c:247,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:250,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:253,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/t_x509.c:254,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/t_x509.c:258,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/t_x509.c:259,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 196
    functionDepth: 10
    functionLinenumber: 196
    functionLinenumberEnd: 261
    functionName: X509_ocspid_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - EVP_Digest
    - X509_get0_pubkey_bitstr
    - OPENSSL_free
    - EVP_MD_fetch
    - ASN1_STRING_length
    - EVP_MD_free
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - i2d_X509_NAME
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int X509_ocspid_print(BIO *bp, const X509 *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:272,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/x509/t_x509.c:274,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:277,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - bp
    - sig
    - indent
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: X509_signature_dump
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BIO_printf
    - BIO_indent
    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:293,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_x509.c:295,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:298,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/t_x509.c:301,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/t_x509.c:305,1
    - Dst: evp_pkey_asn1_find
      Src: /src/openssl/crypto/x509/t_x509.c:306,1
    - Dst: EVP_PKEY_ASN1_METHOD*::sig_print
      Src: /src/openssl/crypto/x509/t_x509.c:308,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:312,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_x509.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - bp
    - sigalg
    - sig
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: X509_signature_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 2
    functionsReached:
    - X509_signature_dump
    - BIO_printf
    - evp_pkey_asn1_find
    - i2a_ASN1_OBJECT
    - BIO_write
    - EVP_PKEY_ASN1_METHOD*::sig_print
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int X509_signature_print(BIO *bp, const X509_ALGOR *sigalg,\n    const
      ASN1_STRING *sig)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_trusted
      Src: /src/openssl/crypto/x509/t_x509.c:326,1
    - Dst: X509_get0_trust_objects
      Src: /src/openssl/crypto/x509/t_x509.c:328,1
    - Dst: X509_get0_reject_objects
      Src: /src/openssl/crypto/x509/t_x509.c:329,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:332,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/t_x509.c:333,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:335,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/t_x509.c:338,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/t_x509.c:339,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:340,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:342,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:347,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/t_x509.c:348,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:350,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/t_x509.c:353,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/t_x509.c:354,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:355,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:357,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:359,1
    - Dst: X509_alias_get0
      Src: /src/openssl/crypto/x509/t_x509.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:362,1
    - Dst: X509_keyid_get0
      Src: /src/openssl/crypto/x509/t_x509.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:365,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:367,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - out
    - x
    - indent
    argTypes:
    - BIO*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 371
    functionName: X509_aux_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - X509_keyid_get0
    - X509_get0_reject_objects
    - X509_get0_trust_objects
    - X509_trusted
    - BIO_write
    - sk_ASN1_OBJECT_num
    - X509_alias_get0
    - sk_ASN1_OBJECT_value
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: int X509_aux_print(BIO *out, const X509 *x, int indent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/crypto/x509/t_x509.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:384,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:388,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:391,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:392,1
    - Dst: X509_check_issued
      Src: /src/openssl/crypto/x509/t_x509.c:394,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:395,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:398,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:399,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:402,1
    - Dst: X509_check_certificate_times
      Src: /src/openssl/crypto/x509/t_x509.c:406,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:407,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/crypto/x509/t_x509.c:407,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:410,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/t_x509.c:414,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - bio
    - cert
    - neg_cflags
    argTypes:
    - BIO*
    - X509*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 377
    functionDepth: 6
    functionLinenumber: 377
    functionLinenumberEnd: 416
    functionName: ossl_x509_print_ex_brief
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert_error_string
    - BIO_printf
    - X509_check_certificate_times
    - X509_print_ex
    - X509_VERIFY_PARAM_new
    - X509_check_issued
    - X509_VERIFY_PARAM_free
    linkageType: ''
    returnType: int
    signature: int ossl_x509_print_ex_brief(BIO *bio, const X509 *cert, unsigned long
      neg_cflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/t_x509.c:422,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:423,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/t_x509.c:425,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/t_x509.c:426,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/openssl/crypto/x509/t_x509.c:429,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/x509/t_x509.c:431,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/t_x509.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - certs
    argTypes:
    - BIO*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 7
    functionLinenumber: 418
    functionLinenumberEnd: 438
    functionName: print_certs
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_x509_print_ex_brief
    - X509_get0_extensions
    - sk_X509_num
    - sk_X509_value
    - X509V3_extensions_print
    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:443,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/crypto/x509/t_x509.c:443,1
    - Dst: print_certs
      Src: /src/openssl/crypto/x509/t_x509.c:444,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/t_x509.c:446,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - store
    argTypes:
    - BIO*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 8
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: print_store_certs
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - X509_STORE_get1_all_certs
    - BIO_printf
    - print_certs
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    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:457,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/t_x509.c:458,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/x509/t_x509.c:458,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:462,1
    - Dst: X509_STORE_CTX_get0_parent_ctx
      Src: /src/openssl/crypto/x509/t_x509.c:463,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/crypto/x509/t_x509.c:466,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/crypto/x509/t_x509.c:467,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/x509/t_x509.c:469,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/x509/t_x509.c:470,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:476,1
    - Dst: X509_VERIFY_PARAM_get0_host
      Src: /src/openssl/crypto/x509/t_x509.c:477,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:478,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:479,1
    - Dst: X509_VERIFY_PARAM_get0_email
      Src: /src/openssl/crypto/x509/t_x509.c:482,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:484,1
    - Dst: X509_VERIFY_PARAM_get1_ip_asc
      Src: /src/openssl/crypto/x509/t_x509.c:487,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/t_x509.c:490,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:497,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/openssl/crypto/x509/t_x509.c:498,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/crypto/x509/t_x509.c:498,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:507,1
    - Dst: print_certs
      Src: /src/openssl/crypto/x509/t_x509.c:508,1
    - Dst: X509_STORE_CTX_get0_untrusted
      Src: /src/openssl/crypto/x509/t_x509.c:508,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:509,1
    - Dst: print_store_certs
      Src: /src/openssl/crypto/x509/t_x509.c:510,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/x509/t_x509.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_x509.c:512,1
    - Dst: ERR_add_error_mem_bio
      Src: /src/openssl/crypto/x509/t_x509.c:513,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_x509.c:514,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 454
    functionDepth: 9
    functionLinenumber: 454
    functionLinenumberEnd: 518
    functionName: X509_STORE_CTX_print_verify_cb
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get0_store
    - ossl_x509_print_ex_brief
    - X509_STORE_CTX_get0_parent_ctx
    - X509_VERIFY_PARAM_get1_ip_asc
    - BIO_new
    - OPENSSL_free
    - ERR_raise
    - X509_VERIFY_PARAM_get0_host
    - BIO_s_mem
    - X509_STORE_CTX_get_error_depth
    - BIO_free
    - X509_STORE_CTX_get_current_cert
    - X509_STORE_CTX_get0_untrusted
    - X509_verify_cert_error_string
    - print_certs
    - BIO_printf
    - ERR_add_error_mem_bio
    - X509_STORE_get0_param
    - print_store_certs
    - X509_VERIFY_PARAM_get0_email
    - X509_STORE_CTX_get_error
    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:532,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/t_x509.c:537,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/t_x509.c:538,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/t_x509.c:539,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:557,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - out
    - bs
    - indent
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 564
    functionName: ossl_serial_number_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - BIO_puts
    - BIO_printf
    - ASN1_INTEGER_get_int64
    - ERR_set_mark
    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:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_tlsf.c:97,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_tlsf.c:101,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_tlsf.c:102,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/v3_tlsf.c:108,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/x509/v3_tlsf.c:109,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/v3_tlsf.c:111,1
    - Dst: strtol
      Src: /src/openssl/crypto/x509/v3_tlsf.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_tlsf.c:116,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_tlsf.c:117,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/v3_tlsf.c:122,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/v3_tlsf.c:123,1
    - Dst: sk_ASN1_INTEGER_push
      Src: /src/openssl/crypto/x509/v3_tlsf.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_tlsf.c:125,1
    - Dst: sk_ASN1_INTEGER_pop_free
      Src: /src/openssl/crypto/x509/v3_tlsf.c:134,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_tlsf.c:135,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: 137
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 137
    functionName: v2i_TLS_FEATURE
    functionSourceFile: /src/openssl/crypto/x509/v3_tlsf.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - ERR_raise
    - sk_ASN1_INTEGER_push
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - strtol
    - OSSL_NELEM
    - X509V3_conf_add_error_name_value
    - OPENSSL_strcasecmp
    - ASN1_INTEGER_set
    - sk_ASN1_INTEGER_pop_free
    - sk_ASN1_INTEGER_new_null
    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:
    - X509V3_get_value_int
    - ERR_raise_data
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - POLICY_CONSTRAINTS_new
    - POLICY_CONSTRAINTS_free
    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: 52
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: s2i_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - 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:66,1
    - Dst: ossl_x509_PUBKEY_get0_libctx
      Src: /src/openssl/crypto/x509/v3_skid.c:69,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/v3_skid.c:71,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:73,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/v3_skid.c:74,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/v3_skid.c:78,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/v3_skid.c:79,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_skid.c:80,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/v3_skid.c:81,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/v3_skid.c:85,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_skid.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pubkey
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 10
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: ossl_x509_pubkey_hash
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - EVP_Digest
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - ERR_raise
    - EVP_MD_fetch
    - ossl_x509_PUBKEY_get0_libctx
    - EVP_MD_free
    - 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:93,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:94,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_skid.c:96,1
    - Dst: s2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/x509/v3_skid.c:97,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_skid.c:103,1
    - Dst: ossl_x509_pubkey_hash
      Src: /src/openssl/crypto/x509/v3_skid.c:107,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: 108
      start: 90
    functionDepth: 11
    functionLinenumber: 90
    functionLinenumberEnd: 108
    functionName: s2i_skey_id
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - s2i_ASN1_OCTET_STRING
    - ossl_x509_pubkey_hash
    - ERR_raise
    - 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:84,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:85,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:88,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:90,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:91,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:95,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:96,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:100,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: 103
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: i2r_ISSUER_SERIAL
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_STRING
    - OSSL_GENERAL_NAMES_print
    - i2a_ASN1_INTEGER
    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:117,1
    - Dst: ASN1_ENUMERATED_get_int64
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:129,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:132,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:136,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:137,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:138,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:140,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:142,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:145,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:149,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:153,1
    - Dst: evp_pkey_asn1_find
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:154,1
    - Dst: EVP_PKEY_ASN1_METHOD*::sig_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:156,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:160,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:163,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: 165
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 165
    functionName: i2r_OBJECT_DIGEST_INFO
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - evp_pkey_asn1_find
    - i2a_ASN1_OBJECT
    - X509_signature_dump
    - BIO_write
    - ERR_raise
    - EVP_PKEY_ASN1_METHOD*::sig_print
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - ASN1_ENUMERATED_get_int64
    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:171,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:173,1
    - Dst: i2r_ISSUER_SERIAL
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:177,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:178,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:182,1
    - Dst: i2r_OBJECT_DIGEST_INFO
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:183,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:185,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: 187
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: i2r_TARGET_CERT
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2r_ISSUER_SERIAL
    - i2r_OBJECT_DIGEST_INFO
    - GENERAL_NAME_print
    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:195,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:196,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:200,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:201,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:205,1
    - Dst: i2r_TARGET_CERT
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:206,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: 210
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: i2r_TARGET
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - i2r_TARGET_CERT
    - BIO_puts
    - BIO_printf
    - GENERAL_NAME_print
    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:219,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:220,1
    - Dst: sk_OSSL_TARGET_value
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:221,1
    - Dst: i2r_TARGET
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:222,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: 225
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 225
    functionName: i2r_TARGETS
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - sk_OSSL_TARGET_num
    - sk_OSSL_TARGET_value
    - i2r_TARGET
    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:234,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:235,1
    - Dst: sk_OSSL_TARGETS_value
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:236,1
    - Dst: i2r_TARGETS
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:237,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: 240
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: i2r_TARGETING_INFORMATION
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_TARGETS_value
    - sk_OSSL_TARGETS_num
    - BIO_printf
    - i2r_TARGETS
    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: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    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:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:107,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/x509_vfy.c:110,1
    - Dst: X509_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cert
    - verify_signature
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: X509_self_signed
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_x509v3_cache_extensions
    - ERR_raise
    - X509_get0_pubkey
    - X509_verify
    linkageType: ''
    returnType: int
    signature: int X509_self_signed(const X509 *cert, int verify_signature)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:125,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/x509_vfy.c:131,1
    - Dst: X509_STORE_CTX*::lookup_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:132,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:132,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/x509_vfy.c:133,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:138,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:139,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:140,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:146,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - result
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: lookup_cert_match
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - X509_STORE_CTX*::lookup_certs
    - X509_up_ref
    - OSSL_STACK_OF_X509_free
    - X509_cmp
    - sk_X509_num
    - sk_X509_value
    - STACK_OF
    - X509_get_subject_name
    - ERR_set_mark
    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:170,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:173,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: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    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, const 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: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    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:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    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:214,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:220,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:226,1
    - Dst: check_cert_key_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:226,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:232,1
    - Dst: check_sig_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: check_auth_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - CB_FAIL_IF
    - sk_X509_num
    - check_sig_level
    - sk_X509_value
    - check_cert_key_level
    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:246,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: verify_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX*::verify
    - X509_STORE_CTX*::verify_cb
    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:260,1
    - Dst: check_extensions
      Src: /src/openssl/crypto/x509/x509_vfy.c:261,1
    - Dst: check_auth_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:262,1
    - Dst: check_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:263,1
    - Dst: X509_get_pubkey_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:264,1
    - Dst: X509_STORE_CTX*::check_revocation
      Src: /src/openssl/crypto/x509/x509_vfy.c:265,1
    - Dst: X509_chain_check_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:268,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:270,1
    - Dst: X509_STORE_CTX*::verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:273,1
    - Dst: internal_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:273,1
    - Dst: check_name_constraints
      Src: /src/openssl/crypto/x509/x509_vfy.c:277,1
    - Dst: X509v3_asid_validate_path
      Src: /src/openssl/crypto/x509/x509_vfy.c:282,1
    - Dst: X509v3_addr_validate_path
      Src: /src/openssl/crypto/x509/x509_vfy.c:284,1
    - Dst: X509_STORE_CTX*::check_policy
      Src: /src/openssl/crypto/x509/x509_vfy.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: verify_chain
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509v3_addr_validate_path
    - X509_get_pubkey_parameters
    - X509_chain_check_suiteb
    - CB_FAIL_IF
    - check_name_constraints
    - build_chain
    - X509_STORE_CTX*::verify
    - X509_STORE_CTX*::check_revocation
    - X509v3_asid_validate_path
    - check_extensions
    - check_auth_level
    - check_id
    - internal_verify
    - X509_STORE_CTX*::check_policy
    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:297,1
    - Dst: x509_verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:301,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:302,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:303,1
    - Dst: x509_verify_x509
      Src: /src/openssl/crypto/x509/x509_vfy.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: X509_STORE_CTX_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - x509_verify_rpk
    - sk_X509_num
    - sk_X509_value
    - x509_verify_x509
    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:310,1
    - Dst: x509_verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:313,1
    - Dst: x509_verify_x509
      Src: /src/openssl/crypto/x509/x509_vfy.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: X509_verify_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - x509_verify_x509
    - ERR_raise
    - x509_verify_rpk
    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:325,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:326,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:332,1
    - Dst: dane_verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:332,1
    - Dst: verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 342
    functionName: x509_verify_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - verify_cb_cert
    - verify_rpk
    - dane_verify_rpk
    - DANETLS_ENABLED
    - check_key_level
    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:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:363,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/x509/x509_vfy.c:368,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:375,1
    - Dst: check_cert_key_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:375,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:378,1
    - Dst: dane_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:378,1
    - Dst: verify_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 348
    functionDepth: 8
    functionLinenumber: 348
    functionLinenumberEnd: 388
    functionName: x509_verify_x509
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - CB_FAIL_IF
    - dane_verify
    - ERR_raise
    - verify_chain
    - DANETLS_ENABLED
    - ossl_x509_add_cert_new
    - 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:420,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:421,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:423,1
    - Dst: sk_X509_contains
      Src: /src/openssl/crypto/x509/x509_vfy.c:424,1
    - Dst: X509_STORE_CTX*::check_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:426,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/openssl/crypto/x509/x509_vfy.c:429,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:431,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/crypto/x509/x509_vfy.c:438,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:438,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:439,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: 445
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: get0_best_issuer_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_get0_notAfter
    - ASN1_TIME_compare
    - sk_X509_num
    - sk_X509_value
    - ossl_x509_signing_allowed
    - X509_STORE_CTX*::check_issued
    - ossl_x509_check_cert_time
    - sk_X509_contains
    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, const X509 *x)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:458,1
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_vfy.c:459,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:460,1
    - Dst: ossl_x509_store_ctx_get_by_subject
      Src: /src/openssl/crypto/x509/x509_vfy.c:466,1
    - Dst: X509_STORE_CTX*::check_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:471,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:472,1
    - Dst: X509_STORE_CTX_get1_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:481,1
    - Dst: get0_best_issuer_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:483,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:486,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:487,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - issuer
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 491
    functionName: X509_STORE_CTX_get1_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_new
    - X509_up_ref
    - OSSL_STACK_OF_X509_free
    - X509_STORE_CTX_get1_certs
    - get0_best_issuer_sk
    - ossl_x509_store_ctx_get_by_subject
    - STACK_OF
    - X509_STORE_CTX*::check_issued
    - ossl_x509_check_cert_time
    - X509_get_issuer_name
    - X509_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx,
      const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_likely_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:496,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: 505
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 505
    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, const X509 *x, const
      X509 *issuer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get0_best_issuer_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:513,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - issuer
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 517
    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, const
      X509 *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:525,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/x509/x509_vfy.c:525,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:531,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:532,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:533,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:533,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:534,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: lookup_certs_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_new_null
    - OSSL_STACK_OF_X509_free
    - X509_add_cert
    - sk_X509_num
    - sk_X509_value
    - STACK_OF
    - X509_get_subject_name
    - X509_NAME_cmp
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *lookup_certs_sk(const X509_STORE_CTX *ctx, const X509_NAME
      *nm)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:572,1
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_vfy.c:580,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:592,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: 593
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 593
    functionName: check_purpose
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 5
    functionsReached:
    - verify_cb_cert
    - X509_check_trust
    - X509_check_purpose
    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:604,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:629,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:631,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:634,1
    - Dst: X509_check_ca
      Src: /src/openssl/crypto/x509/x509_vfy.c:636,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:639,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:644,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:648,1
    - Dst: check_curve
      Src: /src/openssl/crypto/x509/x509_vfy.c:657,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:658,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:659,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:674,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:676,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:697,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:698,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:701,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:701,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_vfy.c:703,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:711,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:713,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:725,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:729,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:732,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:732,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x509_vfy.c:732,1
    - Dst: check_purpose
      Src: /src/openssl/crypto/x509/x509_vfy.c:738,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:741,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:765,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 71
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 776
    functionName: check_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - CB_FAIL_IF
    - X509_get0_extensions
    - check_curve
    - X509_NAME_entry_count
    - sk_GENERAL_NAME_num
    - X509_check_ca
    - sk_X509_num
    - X509_get_version
    - sk_X509_value
    - sk_X509_EXTENSION_num
    - X509_get_subject_name
    - check_purpose
    - X509_ALGOR_cmp
    - X509_get_issuer_name
    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:782,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:787,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:788,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - x
    - gtype
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 797
    functionName: has_san_id
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_get_ext_d2i
    - GENERAL_NAMES_free
    - sk_GENERAL_NAME_value
    linkageType: ''
    returnType: int
    signature: int has_san_id(const X509 *x, int gtype)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:808,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:809,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:823,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:824,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:829,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:841,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:842,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:851,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/x509_vfy.c:851,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:852,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/x509_vfy.c:852,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/x509_vfy.c:862,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:864,1
    - Dst: X509_NAME_delete_entry
      Src: /src/openssl/crypto/x509/x509_vfy.c:869,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_vfy.c:870,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/openssl/crypto/x509/x509_vfy.c:870,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:873,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:877,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:878,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:881,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:890,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:891,1
    - Dst: NAME_CONSTRAINTS_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:894,1
    - Dst: has_san_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:905,1
    - Dst: NAME_CONSTRAINTS_check_CN
      Src: /src/openssl/crypto/x509/x509_vfy.c:906,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:916,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 923
    functionName: check_name_constraints
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_NAME_entry_count
    - sk_X509_num
    - X509_NAME_ENTRY_set
    - has_san_id
    - X509_NAME_dup
    - X509_NAME_cmp
    - NAME_CONSTRAINTS_check_CN
    - CB_FAIL_IF
    - ERR_raise
    - X509_get_subject_name
    - X509_NAME_ENTRY_get_object
    - OBJ_obj2nid
    - X509_NAME_get_entry
    - X509_get_issuer_name
    - X509_NAME_delete_entry
    - X509_NAME_free
    - NAME_CONSTRAINTS_check
    - sk_X509_value
    - X509_NAME_ENTRY_free
    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:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - errcode
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    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_X509_BUFFER_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:933,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:936,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:940,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:941,1
    - Dst: ossl_x509_check_host
      Src: /src/openssl/crypto/x509/x509_vfy.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - x
    - vpm
    argTypes:
    - X509*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 930
    functionDepth: 4
    functionLinenumber: 930
    functionLinenumberEnd: 948
    functionName: check_hosts
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_x509_check_host
    - sk_X509_BUFFER_value
    - sk_X509_BUFFER_num
    linkageType: ''
    returnType: int
    signature: int check_hosts(X509 *x, X509_VERIFY_PARAM *vpm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_BUFFER_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:953,1
    - Dst: sk_X509_BUFFER_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:954,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:957,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:958,1
    - Dst: ossl_x509_check_rfc822
      Src: /src/openssl/crypto/x509/x509_vfy.c:959,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:963,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:964,1
    - Dst: ossl_x509_check_smtputf8
      Src: /src/openssl/crypto/x509/x509_vfy.c:965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - x
    - vpm
    argTypes:
    - X509*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 950
    functionDepth: 4
    functionLinenumber: 950
    functionLinenumberEnd: 969
    functionName: check_email
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_BUFFER_value
    - ossl_x509_check_rfc822
    - ossl_x509_check_smtputf8
    - sk_X509_BUFFER_num
    linkageType: ''
    returnType: int
    signature: int check_email(X509 *x, X509_VERIFY_PARAM *vpm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_BUFFER_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:974,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:977,1
    - Dst: sk_X509_BUFFER_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:978,1
    - Dst: ossl_x509_check_ip
      Src: /src/openssl/crypto/x509/x509_vfy.c:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - vpm
    argTypes:
    - X509*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 983
    functionName: check_ips
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_BUFFER_value
    - ossl_x509_check_ip
    - sk_X509_BUFFER_num
    linkageType: ''
    returnType: int
    signature: int check_ips(X509 *x, X509_VERIFY_PARAM *vpm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_hosts
      Src: /src/openssl/crypto/x509/x509_vfy.c:990,1
    - Dst: check_id_error
      Src: /src/openssl/crypto/x509/x509_vfy.c:991,1
    - Dst: check_email
      Src: /src/openssl/crypto/x509/x509_vfy.c:995,1
    - Dst: check_id_error
      Src: /src/openssl/crypto/x509/x509_vfy.c:996,1
    - Dst: check_ips
      Src: /src/openssl/crypto/x509/x509_vfy.c:1000,1
    - Dst: check_id_error
      Src: /src/openssl/crypto/x509/x509_vfy.c:1001,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 985
    functionDepth: 5
    functionLinenumber: 985
    functionLinenumberEnd: 1005
    functionName: check_id
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - check_email
    - check_id_error
    - check_hosts
    - check_ips
    linkageType: ''
    returnType: int
    signature: int check_id(X509_STORE_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/x509/x509_vfy.c:1051,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ctm
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1058
    functionName: validate_certificate_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_ascii_isdigit
    linkageType: ''
    returnType: int
    signature: int validate_certificate_time(const ASN1_TIME *ctm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_certificate_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1065,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/x509/x509_vfy.c:1068,1
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:1071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctm
    - out_time
    argTypes:
    - ASN1_TIME*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1075
    functionName: certificate_time_to_posix
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - validate_certificate_time
    - ASN1_TIME_to_tm
    - OPENSSL_tm_to_posix
    linkageType: ''
    returnType: int
    signature: int certificate_time_to_posix(const ASN1_TIME *ctm, int64_t *out_time)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1084,1
    - Dst: DANETLS_HAS_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:1091,1
    - Dst: check_dane_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1092,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1104,1
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:1105,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1130,1
    - Dst: lookup_cert_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:1131,1
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:1141,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1143,1
    - Dst: sk_X509_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:1148,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1149,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:1161,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:1166,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - num_untrusted
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1078
    functionDepth: 3
    functionLinenumber: 1078
    functionLinenumberEnd: 1174
    functionName: check_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - check_dane_issuer
    - verify_cb_cert
    - lookup_cert_match
    - X509_free
    - DANETLS_HAS_TA
    - sk_X509_num
    - X509_check_trust
    - sk_X509_value
    - sk_X509_set
    - DANETLS_ENABLED
    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:1194,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1200,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1207,1
    - Dst: check_cert_ocsp_resp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1209,1
    - Dst: verify_cb_ocsp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1216,1
    - Dst: check_cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1235,1
    - Dst: verify_cb_ocsp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1239,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1250,1
    - Dst: check_cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1269,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 50
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1276
    functionName: check_revocation
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - check_cert_ocsp_resp
    - verify_cb_ocsp
    - check_cert_crl
    - sk_X509_num
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: int check_revocation(X509_STORE_CTX *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1294,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1299,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/crypto/x509/x509_vfy.c:1300,1
    - Dst: OCSP_resp_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:1301,1
    - Dst: OCSP_response_status
      Src: /src/openssl/crypto/x509/x509_vfy.c:1304,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1305,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:1310,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:1317,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:1320,1
    - Dst: OCSP_id_get0_info
      Src: /src/openssl/crypto/x509/x509_vfy.c:1321,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/x509_vfy.c:1325,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x509_vfy.c:1326,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:1330,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1331,1
    - Dst: OCSP_id_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1338,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1341,1
    - Dst: OCSP_resp_find_status
      Src: /src/openssl/crypto/x509/x509_vfy.c:1350,1
    - Dst: OCSP_check_validity
      Src: /src/openssl/crypto/x509/x509_vfy.c:1363,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1372,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1373,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1279
    functionDepth: 10
    functionLinenumber: 1279
    functionLinenumberEnd: 1375
    functionName: check_cert_ocsp_resp
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - OCSP_response_get1_basic
    - sk_OCSP_RESPONSE_num
    - OCSP_BASICRESP_free
    - OCSP_response_status
    - OCSP_basic_verify
    - OCSP_id_cmp
    - OCSP_resp_find_status
    - OCSP_check_validity
    - EVP_MD_fetch
    - OCSP_CERTID_free
    - OCSP_SINGLERESP_get0_id
    - i2t_ASN1_OBJECT
    - OCSP_cert_to_id
    - sk_OCSP_RESPONSE_value
    - OCSP_resp_get0
    - OCSP_id_get0_info
    - EVP_MD_free
    - OCSP_resp_count
    linkageType: ''
    returnType: int
    signature: int check_cert_ocsp_resp(X509_STORE_CTX *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1384,1
    - Dst: X509_STORE_CTX*::get_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1405,1
    - Dst: get_crl_score
      Src: /src/openssl/crypto/x509/x509_vfy.c:1407,1
    - Dst: get_crl_delta
      Src: /src/openssl/crypto/x509/x509_vfy.c:1413,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1417,1
    - Dst: X509_STORE_CTX*::check_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1421,1
    - Dst: X509_STORE_CTX*::check_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1426,1
    - Dst: X509_STORE_CTX*::cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1429,1
    - Dst: X509_STORE_CTX*::cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1438,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1444,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1445,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1453,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1458,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1459,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1463
    functionName: check_cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_STORE_CTX*::cert_crl
    - verify_cb_crl
    - X509_STORE_CTX*::check_crl
    - X509_CRL_free
    - get_crl_score
    - X509_STORE_CTX*::get_crl
    - get_crl_delta
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: int check_cert_crl(X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - vpm
    - verification_time
    argTypes:
    - X509_VERIFY_PARAM*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1478
    functionName: get_verification_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: int
    signature: "int get_verification_time(const X509_VERIFY_PARAM *vpm,\n    int64_t
      *verification_time)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_verification_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1486,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:1489,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1489,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1492,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1496,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1500,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:1501,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1501,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1504,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1510,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - crl
    - notify
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1481
    functionDepth: 4
    functionLinenumber: 1481
    functionLinenumberEnd: 1516
    functionName: ossl_x509_check_crl_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - verify_cb_crl
    - get_verification_time
    - certificate_time_to_posix
    - X509_CRL_get0_nextUpdate
    - X509_CRL_get0_lastUpdate
    linkageType: ''
    returnType: int
    signature: int ossl_x509_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:1528,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1529,1
    - Dst: get_crl_score
      Src: /src/openssl/crypto/x509/x509_vfy.c:1531,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/crypto/x509/x509_vfy.c:1538,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1538,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1539,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:1556,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1558,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1563,1
    - Dst: get_delta_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:1565,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: 1572
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1572
    functionName: get_crl_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - get_delta_sk
    - X509_CRL_free
    - X509_CRL_up_ref
    - get_crl_score
    - sk_X509_CRL_num
    - ASN1_TIME_diff
    - sk_X509_CRL_value
    - X509_CRL_get0_lastUpdate
    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:1581,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1585,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:1587,1
    - Dst: X509_CRL_get_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:1587,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1590,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1592,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:1594,1
    - Dst: X509_CRL_get_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:1594,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - a
    - b
    - nid
    argTypes:
    - X509_CRL*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1604
    functionName: crl_extension_match
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_get_data
    - X509_CRL_get_ext_by_NID
    - ASN1_OCTET_STRING_cmp
    - X509_CRL_get_ext
    linkageType: ''
    returnType: int
    signature: int crl_extension_match(X509_CRL *a, X509_CRL *b, int nid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1616,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1616,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1617,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:1621,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:1623,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1626,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - delta
    - base
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1607
    functionDepth: 3
    functionLinenumber: 1607
    functionLinenumberEnd: 1632
    functionName: check_delta_base
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - crl_extension_match
    - ASN1_INTEGER_cmp
    - X509_CRL_get_issuer
    - X509_NAME_cmp
    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:1648,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1649,1
    - Dst: check_delta_base
      Src: /src/openssl/crypto/x509/x509_vfy.c:1650,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:1651,1
    - Dst: ossl_x509_check_crl_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1658,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: 1665
      start: 1638
    functionDepth: 5
    functionLinenumber: 1638
    functionLinenumberEnd: 1665
    functionName: get_delta_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_CRL_up_ref
    - check_delta_base
    - sk_X509_CRL_num
    - ossl_x509_check_crl_time
    - 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:1698,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1698,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1698,1
    - Dst: ossl_x509_check_crl_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1709,1
    - Dst: crl_akid_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:1713,1
    - Dst: crl_crldp_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:1720,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: 1730
      start: 1674
    functionDepth: 5
    functionLinenumber: 1674
    functionLinenumberEnd: 1730
    functionName: get_crl_score
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - ossl_x509_check_crl_time
    - X509_CRL_get_issuer
    - crl_crldp_check
    - crl_akid_check
    - X509_get_issuer_name
    - X509_NAME_cmp
    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:1736,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1740,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1743,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/x509_vfy.c:1745,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1753,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1754,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1755,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1755,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/x509_vfy.c:1757,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1772,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1773,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1774,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1774,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/x509_vfy.c:1776,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: 1782
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1782
    functionName: crl_akid_check
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_check_akid
    - X509_CRL_get_issuer
    - sk_X509_num
    - sk_X509_value
    - X509_get_subject_name
    - X509_NAME_cmp
    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:1798,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/crypto/x509/x509_vfy.c:1803,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:1809,1
    - Dst: check_crl_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:1814,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:1816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1790
    functionDepth: 2
    functionLinenumber: 1790
    functionLinenumberEnd: 1818
    functionName: check_crl_path
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set0_param
    - X509_STORE_CTX_cleanup
    - X509_verify_cert
    - check_crl_chain
    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:1861,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1876,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1877,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1880,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1888,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1889,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1890,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1891,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1892,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DIST_POINT_NAME*
    - DIST_POINT_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1845
    functionDepth: 3
    functionLinenumber: 1845
    functionLinenumberEnd: 1898
    functionName: idp_check_dp
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_cmp
    - sk_GENERAL_NAME_value
    - X509_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:1903,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1908,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1909,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1913,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: 1917
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1917
    functionName: crldp_check_crlissuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_CRL_get_issuer
    - sk_GENERAL_NAME_value
    - X509_NAME_cmp
    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:1935,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1936,1
    - Dst: crldp_check_crlissuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1938,1
    - Dst: idp_check_dp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1940,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: 1948
      start: 1920
    functionDepth: 4
    functionLinenumber: 1920
    functionLinenumberEnd: 1948
    functionName: crl_crldp_check
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - idp_check_dp
    - sk_DIST_POINT_num
    - crldp_check_crlissuer
    - sk_DIST_POINT_value
    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:1962,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1963,1
    - Dst: get_crl_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:1966,1
    - Dst: X509_STORE_CTX*::lookup_crls
      Src: /src/openssl/crypto/x509/x509_vfy.c:1972,1
    - Dst: get_crl_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:1978,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1980,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: 1993
      start: 1954
    functionDepth: 3
    functionLinenumber: 1954
    functionLinenumberEnd: 1993
    functionName: get_crl_delta
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_X509_CRL_pop_free
    - get_crl_sk
    - STACK_OF
    - X509_get_issuer_name
    - X509_STORE_CTX*::lookup_crls
    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:2001,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2013,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2015,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:2016,1
    - Dst: X509_STORE_CTX*::check_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:2019,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2019,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2031,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2034,1
    - Dst: check_crl_path
      Src: /src/openssl/crypto/x509/x509_vfy.c:2037,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2037,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2040,1
    - Dst: ossl_x509_check_crl_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2044,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:2048,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2049,1
    - Dst: X509_CRL_check_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2053,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2055,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2058,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2058,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - crl
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 1996
    functionDepth: 7
    functionLinenumber: 1996
    functionLinenumberEnd: 2062
    functionName: check_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - check_crl_path
    - verify_cb_crl
    - X509_CRL_check_suiteb
    - sk_X509_num
    - sk_X509_value
    - X509_STORE_CTX*::check_issued
    - ossl_x509_check_crl_time
    - X509_get0_pubkey
    - ossl_assert
    - X509_CRL_verify
    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:2076,1
    - Dst: X509_CRL_get0_by_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:2082,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:2085,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: 2090
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2090
    functionName: cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - verify_cb_crl
    - X509_CRL_get0_by_cert
    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:2110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2111,1
    - Dst: X509_policy_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:2114,1
    - Dst: sk_X509_pop
      Src: /src/openssl/crypto/x509/x509_vfy.c:2117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2120,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2128,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2129,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2138,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2150,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2093
    functionDepth: 7
    functionLinenumber: 2093
    functionLinenumberEnd: 2171
    functionName: check_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_X509_pop
    - CB_FAIL_IF
    - X509_policy_check
    - X509_STORE_CTX*::verify_cb
    - ERR_raise
    - sk_X509_push
    - sk_X509_num
    - sk_X509_value
    linkageType: ''
    returnType: int
    signature: int check_policy(X509_STORE_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_verification_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2188,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:2193,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/x509/x509_vfy.c:2193,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:2203,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:2203,1
    - Dst: INT64_C
      Src: /src/openssl/crypto/x509/x509_vfy.c:2214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - vpm
    - x
    - error
    argTypes:
    - X509_VERIFY_PARAM*
    - X509*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2182
    functionDepth: 4
    functionLinenumber: 2182
    functionLinenumberEnd: 2231
    functionName: X509_check_certificate_times
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_get0_notAfter
    - X509_get0_notBefore
    - get_verification_time
    - certificate_time_to_posix
    - INT64_C
    linkageType: ''
    returnType: int
    signature: "int X509_check_certificate_times(const X509_VERIFY_PARAM *vpm, const
      X509 *x,\n    int *error)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_verification_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2247,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:2250,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/x509/x509_vfy.c:2250,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:2252,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:2256,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:2260,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:2260,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:2262,1
    - Dst: INT64_C
      Src: /src/openssl/crypto/x509/x509_vfy.c:2271,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:2275,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - x
    - depth
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2241
    functionDepth: 4
    functionLinenumber: 2241
    functionLinenumberEnd: 2281
    functionName: ossl_x509_check_cert_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - verify_cb_cert
    - X509_get0_notAfter
    - X509_get0_notBefore
    - get_verification_time
    - certificate_time_to_posix
    - INT64_C
    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:2295,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2299,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2300,1
    - Dst: ossl_x509_likely_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:2311,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2317,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2319,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/openssl/crypto/x509/x509_vfy.c:2371,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2373,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:2374,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2375,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2378,1
    - Dst: X509_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2378,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2385,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2395,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2400,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2287
    functionDepth: 5
    functionLinenumber: 2287
    functionLinenumberEnd: 2404
    functionName: internal_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - CB_FAIL_IF
    - X509_verify
    - ossl_x509_likely_issued
    - X509_STORE_CTX*::verify_cb
    - sk_X509_num
    - sk_X509_value
    - X509_get0_pubkey
    - ossl_x509_check_cert_time
    - ossl_x509_signing_allowed
    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:2409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctm
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2410
    functionName: X509_cmp_current_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: int X509_cmp_current_time(const ASN1_TIME *ctm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2415,1
    - Dst: certificate_time_to_posix
      Src: /src/openssl/crypto/x509/x509_vfy.c:2417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctm
    - cmp_time
    argTypes:
    - ASN1_TIME*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2413
    functionDepth: 4
    functionLinenumber: 2413
    functionLinenumberEnd: 2425
    functionName: X509_cmp_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - time
    - certificate_time_to_posix
    linkageType: ''
    returnType: int
    signature: int X509_cmp_time(const ASN1_TIME *ctm, const time_t *cmp_time)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/crypto/x509/x509_vfy.c:2437,1
    - Dst: X509_VERIFY_PARAM_get_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2442,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2470,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2472,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: 2475
      start: 2434
    functionDepth: 5
    functionLinenumber: 2434
    functionLinenumberEnd: 2475
    functionName: X509_cmp_timeframe
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_get_time
    - X509_VERIFY_PARAM_get_flags
    - X509_cmp_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:2480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - adj
    argTypes:
    - ASN1_TIME*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2481
    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:2485,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: 2486
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2486
    functionName: X509_time_adj
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_time_adj_ex
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec, const time_t
      *in_tm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2496,1
    - Dst: ASN1_UTCTIME_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2500,1
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2502,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2504,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: 2505
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2505
    functionName: X509_time_adj_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - time
    - ASN1_UTCTIME_adj
    - ASN1_GENERALIZEDTIME_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, const time_t *in_tm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:2513,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2516,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:2517,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2519,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:2522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2527,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:2533,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2533,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:2534,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:2539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - pkey
    - chain
    argTypes:
    - EVP_PKEY*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2508
    functionDepth: 2
    functionLinenumber: 2508
    functionLinenumberEnd: 2541
    functionName: X509_get_pubkey_parameters
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_missing_parameters
    - ERR_raise
    - EVP_PKEY_copy_parameters
    - sk_X509_num
    - sk_X509_value
    - X509_get0_pubkey
    linkageType: ''
    returnType: int
    signature: int X509_get_pubkey_parameters(EVP_PKEY *pkey, const STACK_OF(X509)
      *chain)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2556,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2561,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:2565,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:2565,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:2566,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2568,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:2572,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2573,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:2576,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2577,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:2581,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2582,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2586,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2586,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2587,1
    - Dst: X509_CRL_new_ex
      Src: /src/openssl/crypto/x509/x509_vfy.c:2591,1
    - Dst: X509_CRL_set_version
      Src: /src/openssl/crypto/x509/x509_vfy.c:2592,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2593,1
    - Dst: X509_CRL_set_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:2597,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:2597,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2598,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2602,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2602,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2603,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2606,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2606,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2607,1
    - Dst: X509_CRL_add1_ext_i2d
      Src: /src/openssl/crypto/x509/x509_vfy.c:2612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2613,1
    - Dst: X509_CRL_get_ext_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:2621,1
    - Dst: X509_CRL_get_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:2622,1
    - Dst: X509_CRL_add_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:2623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2624,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/openssl/crypto/x509/x509_vfy.c:2630,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2632,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2635,1
    - Dst: X509_CRL_get0_by_serial
      Src: /src/openssl/crypto/x509/x509_vfy.c:2641,1
    - Dst: X509_REVOKED_dup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2642,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2644,1
    - Dst: X509_CRL_add0_revoked
      Src: /src/openssl/crypto/x509/x509_vfy.c:2647,1
    - Dst: X509_REVOKED_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2648,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2649,1
    - Dst: X509_CRL_sign
      Src: /src/openssl/crypto/x509/x509_vfy.c:2655,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2656,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2663,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: 2665
      start: 2547
    functionDepth: 3
    functionLinenumber: 2547
    functionLinenumberEnd: 2665
    functionName: X509_CRL_diff
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_CRL_add_ext
    - X509_CRL_set_issuer_name
    - sk_X509_REVOKED_num
    - X509_CRL_get0_by_serial
    - X509_CRL_add0_revoked
    - X509_CRL_get0_nextUpdate
    - X509_CRL_sign
    - X509_CRL_get_ext_count
    - X509_CRL_new_ex
    - sk_X509_REVOKED_value
    - X509_NAME_cmp
    - X509_CRL_get0_lastUpdate
    - X509_CRL_get_issuer
    - X509_CRL_set_version
    - ERR_raise
    - STACK_OF
    - X509_CRL_set1_nextUpdate
    - X509_CRL_verify
    - X509_CRL_add1_ext_i2d
    - ASN1_INTEGER_cmp
    - X509_CRL_set1_lastUpdate
    - crl_extension_match
    - X509_CRL_get_REVOKED
    - X509_CRL_get_ext
    - X509_CRL_free
    - X509_REVOKED_dup
    - X509_REVOKED_free
    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:2669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - idx
    - data
    argTypes:
    - X509_STORE_CTX*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2667
    functionDepth: 1
    functionLinenumber: 2667
    functionLinenumberEnd: 2670
    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:2674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2672
    functionDepth: 1
    functionLinenumber: 2672
    functionLinenumberEnd: 2675
    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: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    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: 2685
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2685
    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: 2690
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2690
    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: 2695
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2695
    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: 2700
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2700
    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: 2705
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2705
    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: 2722
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2722
    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: 2727
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2727
    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: 2732
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2732
    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: 2737
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2737
    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: 2742
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2742
    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:2763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - purpose
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2764
    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:2772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - trust
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2773
    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:2806,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2808,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:2811,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:2813,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2815,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:2818,1
    - Dst: X509_TRUST_get_by_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:2825,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2827,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: 2837
      start: 2788
    functionDepth: 1
    functionLinenumber: 2788
    functionLinenumberEnd: 2837
    functionName: X509_STORE_CTX_purpose_inherit
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_PURPOSE_get_by_id
    - X509_TRUST_get_by_id
    - X509_PURPOSE_get0
    - ERR_raise
    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:2841,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2848,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2856
    functionName: X509_STORE_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:2860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2861
    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:2868,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2871,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2863
    functionDepth: 1
    functionLinenumber: 2863
    functionLinenumberEnd: 2873
    functionName: X509_STORE_CTX_free
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_cleanup
    - OPENSSL_free
    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:2877,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: 2881
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2881
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2887,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2890,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/x509_vfy.c:2914,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/crypto/x509/x509_vfy.c:2978,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2980,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/crypto/x509/x509_vfy.c:2987,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/openssl/crypto/x509/x509_vfy.c:2990,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:2998,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:2999,1
    - Dst: X509_PURPOSE_get_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:3002,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:3005,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3008,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:3015,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 90
    argCount: 4
    argNames:
    - ctx
    - store
    - x509
    - chain
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE*
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2883
    functionDepth: 3
    functionLinenumber: 2883
    functionLinenumberEnd: 3017
    functionName: X509_STORE_CTX_init
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_PURPOSE_get0
    - X509_PURPOSE_get_trust
    - X509_VERIFY_PARAM_inherit
    - CRYPTO_new_ex_data
    - ERR_raise
    - memset
    - X509_STORE_CTX_cleanup
    - X509_STORE_CTX_set_default
    - X509_VERIFY_PARAM_new
    - X509_PURPOSE_get_by_id
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, const
      X509 *x509,\n    STACK_OF(X509) *chain)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:3040,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3045,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3048,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3050,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:3052,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/x509_vfy.c:3053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3030
    functionDepth: 2
    functionLinenumber: 3030
    functionLinenumberEnd: 3054
    functionName: X509_STORE_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - OSSL_STACK_OF_X509_free
    - CRYPTO_free_ex_data
    - memset
    - X509_STORE_CTX*::cleanup
    - X509_VERIFY_PARAM_free
    - X509_policy_tree_free
    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:3058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3056
    functionDepth: 1
    functionLinenumber: 3056
    functionLinenumberEnd: 3059
    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:3063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - X509_STORE_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3064
    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:3069,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: 3070
      start: 3066
    functionDepth: 1
    functionLinenumber: 3066
    functionLinenumberEnd: 3070
    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: 3076
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3076
    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: 3081
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3081
    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: 3086
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3086
    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: 3108
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3108
    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: 3113
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3113
    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: 3119
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3119
    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: 3124
      start: 3121
    functionDepth: 0
    functionLinenumber: 3121
    functionLinenumberEnd: 3124
    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: 3130
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3130
    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: 3136
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3136
    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: 3142
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3142
    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: 3147
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3147
    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: 3153
      start: 3149
    functionDepth: 0
    functionLinenumber: 3149
    functionLinenumberEnd: 3153
    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: 3159
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3159
    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: 3165
      start: 3161
    functionDepth: 0
    functionLinenumber: 3161
    functionLinenumberEnd: 3165
    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: 3171
      start: 3167
    functionDepth: 0
    functionLinenumber: 3167
    functionLinenumberEnd: 3171
    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: 3177
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3177
    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: 3183
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3183
    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: 3188
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3188
    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: 3193
      start: 3190
    functionDepth: 0
    functionLinenumber: 3190
    functionLinenumberEnd: 3193
    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: 3198
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3198
    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: 3203
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3203
    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:3209,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:3211,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/crypto/x509/x509_vfy.c:3214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - X509_STORE_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3205
    functionDepth: 2
    functionLinenumber: 3205
    functionLinenumberEnd: 3215
    functionName: X509_STORE_CTX_set_default
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    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: 3220
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3220
    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:3224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - X509_STORE_CTX*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3222
    functionDepth: 1
    functionLinenumber: 3222
    functionLinenumberEnd: 3226
    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: 3231
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3231
    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:3244,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x509_vfy.c:3247,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x509_vfy.c:3247,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cert
    - selector
    - i2dlen
    argTypes:
    - X509*
    - uint8_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3233
    functionDepth: 1
    functionLinenumber: 3233
    functionLinenumberEnd: 3261
    functionName: dane_i2d
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_get_X509_PUBKEY
    - i2d_X509
    - ERR_raise
    - i2d_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:3326,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3328,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/crypto/x509/x509_vfy.c:3329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3342,1
    - Dst: dane_i2d
      Src: /src/openssl/crypto/x509/x509_vfy.c:3343,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x509_vfy.c:3376,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:3388,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/crypto/x509/x509_vfy.c:3389,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:3392,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3407,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - cert
    - depth
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3266
    functionDepth: 9
    functionLinenumber: 3266
    functionLinenumberEnd: 3409
    functionName: dane_match_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - DANETLS_USAGE_BIT
    - EVP_Digest
    - dane_i2d
    - OPENSSL_free
    - X509_up_ref
    - X509_free
    - sk_danetls_record_num
    - sk_danetls_record_value
    - memcmp
    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:3418,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3426,1
    - Dst: dane_match_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3412
    functionDepth: 10
    functionLinenumber: 3412
    functionLinenumberEnd: 3435
    functionName: check_dane_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - dane_match_cert
    - sk_X509_value
    - DANETLS_HAS_TA
    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:3442,1
    - Dst: sk_danetls_record_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3443,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3447,1
    - Dst: X509_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:3448,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3452,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3461,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3463,1
    - Dst: sk_X509_pop
      Src: /src/openssl/crypto/x509/x509_vfy.c:3463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3437
    functionDepth: 2
    functionLinenumber: 3437
    functionLinenumberEnd: 3469
    functionName: check_dane_pkeys
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_pop
    - X509_verify
    - X509_free
    - sk_danetls_record_num
    - sk_danetls_record_value
    - sk_X509_num
    - sk_X509_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:3486,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x509_vfy.c:3491,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3497,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x509_vfy.c:3510,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:3516,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - rpk
    argTypes:
    - X509_STORE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3475
    functionDepth: 12
    functionLinenumber: 3475
    functionLinenumberEnd: 3525
    functionName: dane_match_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - OPENSSL_free
    - sk_danetls_record_num
    - sk_danetls_record_value
    - i2d_PUBKEY
    - memcmp
    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:3530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dane
    argTypes:
    - SSL_DANE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3527
    functionDepth: 1
    functionLinenumber: 3527
    functionLinenumberEnd: 3535
    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:3540,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3538
    functionDepth: 7
    functionLinenumber: 3538
    functionLinenumberEnd: 3544
    functionName: check_leaf_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - CB_FAIL_IF
    - X509_chain_check_suiteb
    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:3552,1
    - Dst: dane_match_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:3560,1
    - Dst: verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:3573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3547
    functionDepth: 13
    functionLinenumber: 3547
    functionLinenumberEnd: 3574
    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:3584,1
    - Dst: dane_match_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3598,1
    - Dst: DANETLS_HAS_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:3599,1
    - Dst: X509_get_pubkey_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:3601,1
    - Dst: check_leaf_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3606,1
    - Dst: check_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:3609,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3614,1
    - Dst: check_leaf_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3626,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3628,1
    - Dst: verify_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:3635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3577
    functionDepth: 10
    functionLinenumber: 3577
    functionLinenumberEnd: 3636
    functionName: dane_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - dane_match_cert
    - verify_cb_cert
    - X509_get_pubkey_parameters
    - check_leaf_suiteb
    - X509_STORE_CTX*::verify_cb
    - DANETLS_HAS_TA
    - verify_chain
    - check_id
    - dane_reset
    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:3644,1
    - Dst: X509_STORE_CTX*::get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:3648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - issuer
    - ctx
    - cert
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3642
    functionDepth: 1
    functionLinenumber: 3642
    functionLinenumberEnd: 3652
    functionName: get1_trusted_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX*::get_issuer
    - STACK_OF
    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:3661,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3662,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3673,1
    - Dst: DANETLS_HAS_PKIX
      Src: /src/openssl/crypto/x509/x509_vfy.c:3688,1
    - Dst: DANETLS_HAS_DANE
      Src: /src/openssl/crypto/x509/x509_vfy.c:3688,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/x509/x509_vfy.c:3697,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3698,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3706,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:3707,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3708,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:3717,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3718,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3739,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3775,1
    - Dst: get1_trusted_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:3778,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3787,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3790,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3808,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3809,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3814,1
    - Dst: sk_X509_pop
      Src: /src/openssl/crypto/x509/x509_vfy.c:3814,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3817,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3819,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3822,1
    - Dst: sk_X509_push
      Src: /src/openssl/crypto/x509/x509_vfy.c:3828,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3829,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3830,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3833,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:3842,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3844,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3851,1
    - Dst: sk_X509_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:3853,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3871,1
    - Dst: check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:3874,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3905,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3906,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3908,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3909,1
    - Dst: get0_best_issuer_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:3909,1
    - Dst: sk_X509_delete_ptr
      Src: /src/openssl/crypto/x509/x509_vfy.c:3923,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3926,1
    - Dst: check_dane_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:3932,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3937,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3946,1
    - Dst: DANETLS_HAS_DANE_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:3948,1
    - Dst: check_dane_pkeys
      Src: /src/openssl/crypto/x509/x509_vfy.c:3949,1
    - Dst: check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:3951,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3969,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3973,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3975,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3975,1
    - Dst: DANETLS_HAS_PKIX
      Src: /src/openssl/crypto/x509/x509_vfy.c:3976,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3978,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3978,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3979,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3983,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3990,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3992,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3997,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 179
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3658
    functionDepth: 11
    functionLinenumber: 3658
    functionLinenumberEnd: 3999
    functionName: build_chain
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - verify_cb_cert
    - X509_free
    - sk_X509_push
    - sk_X509_num
    - DANETLS_ENABLED
    - check_dane_pkeys
    - X509_self_signed
    - DANETLS_HAS_DANE_TA
    - DANETLS_HAS_DANE
    - CB_FAIL_IF
    - check_trust
    - X509_cmp
    - ERR_raise
    - STACK_OF
    - DANETLS_HAS_PKIX
    - check_dane_issuer
    - get1_trusted_issuer
    - sk_X509_new_null
    - get0_best_issuer_sk
    - ossl_assert
    - X509_add_certs
    - sk_X509_pop
    - X509_add_cert
    - sk_X509_free
    - sk_X509_value
    - sk_X509_set
    - sk_X509_delete_ptr
    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:4075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - X509_STORE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4055
    functionDepth: 1
    functionLinenumber: 4055
    functionLinenumberEnd: 4076
    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:4084,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:4084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 4082
    functionDepth: 2
    functionLinenumber: 4082
    functionLinenumberEnd: 4085
    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:4095,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:4101,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/crypto/x509/x509_vfy.c:4104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4108
      start: 4093
    functionDepth: 3
    functionLinenumber: 4093
    functionLinenumberEnd: 4108
    functionName: check_curve
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_get_int_param
    - EVP_PKEY_get_id
    - 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:4127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4117
    functionDepth: 2
    functionLinenumber: 4117
    functionLinenumberEnd: 4131
    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: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    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:94,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:99,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/v3_purp.c:102,1
    - Dst: X509_PURPOSE*::check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - x
    - id
    - non_leaf
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: X509_check_purpose
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 5
    functionsReached:
    - X509_PURPOSE_get_by_id
    - X509_PURPOSE_get0
    - ossl_x509v3_cache_extensions
    - X509_PURPOSE*::check_purpose
    linkageType: ''
    returnType: int
    signature: int X509_check_purpose(const 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:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - purpose
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: X509_PURPOSE_set
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    functionsReached:
    - X509_PURPOSE_get_by_id
    - ERR_raise
    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:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    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:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - OSSL_LIB_CTX *libctx
    argTypes:
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 132
    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:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: X509_PURPOSE_get0
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 3
    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:148,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/v3_purp.c:149,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_purp.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: X509_PURPOSE_get_by_sname
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_PURPOSE_get0
    - X509_PURPOSE_get_count
    - strcmp
    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:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - purpose
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: X509_PURPOSE_get_by_id
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 5
    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:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:190,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/crypto/x509/v3_purp.c:200,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:203,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_purp.c:206,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/v3_purp.c:210,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:220,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:221,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_purp.c:224,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_purp.c:225,1
    - Dst: sk_X509_PURPOSE_new
      Src: /src/openssl/crypto/x509/v3_purp.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:242,1
    - Dst: sk_X509_PURPOSE_push
      Src: /src/openssl/crypto/x509/v3_purp.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:246,1
    - Dst: sk_X509_PURPOSE_set
      Src: /src/openssl/crypto/x509/v3_purp.c:251,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
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:258,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: 261
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 261
    functionName: X509_PURPOSE_add
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - X509_PURPOSE_get0
    - sk_X509_PURPOSE_push
    - OPENSSL_free
    - sk_X509_PURPOSE_set
    - ERR_raise
    - X509_PURPOSE_get_by_sname
    - X509_PURPOSE_get_by_id
    - OPENSSL_malloc
    - sk_X509_PURPOSE_new
    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:269,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:270,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 274
    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:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    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: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    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: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    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: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    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: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: X509_PURPOSE_get_trust
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    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: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    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:339,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_purp.c:339,1
    - Dst: OBJ_bsearch_nid
      Src: /src/openssl/crypto/x509/v3_purp.c:344,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/v3_purp.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 347
    functionName: X509_supported_extension
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - OBJ_bsearch_nid
    - OBJ_obj2nid
    - X509_EXTENSION_get_object
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int X509_supported_extension(const X509_EXTENSION *ex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_purp.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:356,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_purp.c:378,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_purp.c:379,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:387,1
    - Dst: DIST_POINT_set_dpname
      Src: /src/openssl/crypto/x509/v3_purp.c:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - x
    - dp
    argTypes:
    - X509*
    - DIST_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 389
    functionName: setup_dp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - DIST_POINT_set_dpname
    - ERR_raise
    - sk_GENERAL_NAME_num
    - X509_get_issuer_name
    - sk_GENERAL_NAME_value
    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:396,1
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/crypto/x509/v3_purp.c:400,1
    - Dst: setup_dp
      Src: /src/openssl/crypto/x509/v3_purp.c:401,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/x509/v3_purp.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - x
    - tmp_crldp
    argTypes:
    - X509*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 407
    functionName: setup_crldp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - sk_DIST_POINT_num
    - X509_get_ext_d2i
    - sk_DIST_POINT_value
    - setup_dp
    linkageType: ''
    returnType: int
    signature: int setup_crldp(const X509 *x, STACK_OF(DIST_POINT) **tmp_crldp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/v3_purp.c:416,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:416,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/x509/v3_purp.c:420,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/v3_purp.c:420,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/x509/v3_purp.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - issuer_key
    - subject
    argTypes:
    - EVP_PKEY*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: check_sig_alg_match
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - OBJ_nid2sn
    - 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:
    - Dst: ossl_fnv1a_hash
      Src: /src/openssl/crypto/x509/v3_purp.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: oid_hash
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ossl_fnv1a_hash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long oid_hash(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: oid_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: int oid_cmp(const void *a, const void *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/x509/v3_purp.c:452,1
    - Dst: X509_get_ext_count
      Src: /src/openssl/crypto/x509/v3_purp.c:454,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_purp.c:455,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_purp.c:456,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:457,1
    - Dst: OPENSSL_LH_new
      Src: /src/openssl/crypto/x509/v3_purp.c:491,1
    - Dst: OPENSSL_LH_insert
      Src: /src/openssl/crypto/x509/v3_purp.c:493,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_purp.c:500,1
    - Dst: X509_supported_extension
      Src: /src/openssl/crypto/x509/v3_purp.c:502,1
    - Dst: OPENSSL_LH_free
      Src: /src/openssl/crypto/x509/v3_purp.c:507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - x509
    - flags
    argTypes:
    - X509*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 508
    functionName: scan_ext_flags
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_get_object
    - OPENSSL_LH_free
    - OPENSSL_LH_insert
    - OPENSSL_LH_new
    - X509_get_ext
    - X509_EXTENSION_get_critical
    - OBJ_obj2nid
    - memset
    - X509_supported_extension
    - X509_get_ext_count
    linkageType: ''
    returnType: void
    signature: void scan_ext_flags(const X509 *x509, uint32_t *flags)
  - 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: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    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: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    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: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: ns_reject
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ns_reject(x, usage)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_purp.c:548,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_purp.c:550,1
    - Dst: tsan_ld_acq
      Src: /src/openssl/crypto/x509/v3_purp.c:555,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/x509/v3_purp.c:559,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:567,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/v3_purp.c:571,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/x509/v3_purp.c:574,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/x509/v3_purp.c:574,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/v3_purp.c:578,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:583,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:592,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/v3_purp.c:595,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_purp.c:598,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:605,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:607,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:608,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/v3_purp.c:612,1
    - Dst: PROXY_CERT_INFO_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_purp.c:615,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:622,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/v3_purp.c:630,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:633,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:642,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/v3_purp.c:644,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:645,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/v3_purp.c:645,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/v3_purp.c:679,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:685,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/v3_purp.c:691,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:697,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:701,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:706,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_purp.c:706,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:706,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/v3_purp.c:714,1
    - Dst: check_sig_alg_match
      Src: /src/openssl/crypto/x509/v3_purp.c:715,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/v3_purp.c:715,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:726,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:729,1
    - Dst: check_name_constraints
      Src: /src/openssl/crypto/x509/v3_purp.c:732,1
    - Dst: setup_crldp
      Src: /src/openssl/crypto/x509/v3_purp.c:736,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_purp.c:741,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:742,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:747,1
    - Dst: scan_ext_flags
      Src: /src/openssl/crypto/x509/v3_purp.c:752,1
    - Dst: ossl_x509_init_sig_info
      Src: /src/openssl/crypto/x509/v3_purp.c:755,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/v3_purp.c:758,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:760,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/v3_purp.c:765,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_purp.c:771,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_purp.c:777,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/v3_purp.c:779,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_purp.c:781,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_purp.c:783,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/crypto/x509/v3_purp.c:785,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/crypto/x509/v3_purp.c:788,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/crypto/x509/v3_purp.c:790,1
    - Dst: tsan_st_rel
      Src: /src/openssl/crypto/x509/v3_purp.c:796,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:803,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:805,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 187
    argCount: 1
    argNames:
    - const_x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 530
    functionDepth: 12
    functionLinenumber: 530
    functionLinenumberEnd: 809
    functionName: ossl_x509v3_cache_extensions
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 2
    functionsReached:
    - sk_DIST_POINT_pop_free
    - X509_digest
    - EVP_sha1
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - BASIC_CONSTRAINTS_free
    - ossl_x509_init_sig_info
    - sk_ASN1_OBJECT_value
    - memcpy
    - sk_GENERAL_NAME_pop_free
    - X509_NAME_cmp
    - ERR_pop_to_mark
    - X509_get_ext_d2i
    - ASN1_INTEGER_get
    - ASN1_OCTET_STRING_free
    - check_name_constraints
    - ERR_raise
    - STACK_OF
    - X509_get_subject_name
    - NAME_CONSTRAINTS_free
    - X509_check_akid
    - tsan_st_rel
    - tsan_ld_acq
    - OBJ_obj2nid
    - sk_ASN1_OBJECT_num
    - ASIdentifiers_free
    - X509_get0_pubkey
    - PROXY_CERT_INFO_EXTENSION_free
    - scan_ext_flags
    - ERR_set_mark
    - X509_get_issuer_name
    - CRYPTO_THREAD_unlock
    - ASN1_BIT_STRING_free
    - X509_get_ext_by_NID
    - sk_ASN1_OBJECT_pop_free
    - check_sig_alg_match
    - sk_IPAddressFamily_pop_free
    - AUTHORITY_KEYID_free
    - X509_get_version
    - setup_crldp
    linkageType: ''
    returnType: int
    signature: int ossl_x509v3_cache_extensions(const X509 *const_x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:826,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 847
    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:851,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    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: 860
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 860
    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:865,1
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 13
    functionLinenumber: 862
    functionLinenumberEnd: 869
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 880
    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:885,1
    - Dst: check_ssl_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:888,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:890,1
    - Dst: ns_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 896
    functionName: check_purpose_ssl_client
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - xku_reject
    - ku_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:909,1
    - Dst: check_ssl_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:912,1
    - Dst: ns_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:914,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: check_purpose_ssl_server
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - xku_reject
    - ku_reject
    - ns_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:925,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 922
    functionDepth: 4
    functionLinenumber: 922
    functionLinenumberEnd: 931
    functionName: check_purpose_ns_ssl_server
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - check_purpose_ssl_server
    - ku_reject
    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:936,1
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - x
    - non_leaf
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 956
    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:961,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 958
    functionDepth: 3
    functionLinenumber: 958
    functionLinenumberEnd: 966
    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:971,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 976
    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:982,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 987
    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:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1004
    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:1016,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:1041,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_purp.c:1043,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_purp.c:1043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1046
    functionName: check_purpose_timestamp_sign
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_by_NID
    - check_ca
    - X509_EXTENSION_get_critical
    - X509_get_ext
    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:1058,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:1081,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_purp.c:1085,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_purp.c:1086,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1099
    functionName: check_purpose_code_sign
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_by_NID
    - check_ca
    - X509_EXTENSION_get_critical
    - X509_get_ext
    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: 1105
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1105
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_purp.c:1116,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_purp.c:1118,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:1120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:1123,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_purp.c:1129,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_purp.c:1131,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:1133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:1136,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - nc
    argTypes:
    - NAME_CONSTRAINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1144
    functionName: check_name_constraints
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 2
    functionsReached:
    - sk_GENERAL_SUBTREE_value
    - sk_GENERAL_SUBTREE_num
    - OBJ_obj2nid
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int check_name_constraints(const NAME_CONSTRAINTS *nc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_likely_issued
      Src: /src/openssl/crypto/x509/v3_purp.c:1163,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/openssl/crypto/x509/v3_purp.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1166
    functionName: X509_check_issued
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    functionsReached:
    - ossl_x509_signing_allowed
    - ossl_x509_likely_issued
    linkageType: ''
    returnType: int
    signature: int X509_check_issued(const X509 *issuer, const X509 *subject)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1178,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1178,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1179,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/v3_purp.c:1184,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/v3_purp.c:1185,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1189,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1189,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1189,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1190,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/v3_purp.c:1190,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/v3_purp.c:1190,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/v3_purp.c:1206,1
    - Dst: check_sig_alg_match
      Src: /src/openssl/crypto/x509/v3_purp.c:1211,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/v3_purp.c:1211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1174
    functionDepth: 13
    functionLinenumber: 1174
    functionLinenumberEnd: 1212
    functionName: ossl_x509_likely_issued
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 3
    functionsReached:
    - X509_check_akid
    - ossl_x509v3_cache_extensions
    - X509_get0_serialNumber
    - check_sig_alg_match
    - ASN1_INTEGER_cmp
    - X509_get0_pubkey
    - X509_get_subject_name
    - X509_get_issuer_name
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_x509_likely_issued(const X509 *issuer, const X509 *subject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:1224,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:1226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1230
    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:1244,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1247,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/v3_purp.c:1247,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_purp.c:1261,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_purp.c:1262,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1268,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1268,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - issuer
    - akid
    argTypes:
    - X509*
    - AUTHORITY_KEYID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1272
    functionName: X509_check_akid
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 3
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - X509_NAME_cmp
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - sk_GENERAL_NAME_num
    - X509_get_issuer_name
    - sk_GENERAL_NAME_value
    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:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1274
    functionDepth: 4
    functionLinenumber: 1274
    functionLinenumberEnd: 1279
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1281
    functionDepth: 4
    functionLinenumber: 1281
    functionLinenumberEnd: 1287
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1289
    functionDepth: 4
    functionLinenumber: 1289
    functionLinenumberEnd: 1295
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1297
    functionDepth: 4
    functionLinenumber: 1297
    functionLinenumberEnd: 1303
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1305
    functionDepth: 4
    functionLinenumber: 1305
    functionLinenumberEnd: 1311
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1313
    functionDepth: 4
    functionLinenumber: 1313
    functionLinenumberEnd: 1319
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1321
    functionDepth: 4
    functionLinenumber: 1321
    functionLinenumberEnd: 1327
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1329
    functionDepth: 4
    functionLinenumber: 1329
    functionLinenumberEnd: 1336
    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(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1338
    functionDepth: 4
    functionLinenumber: 1338
    functionLinenumberEnd: 1345
    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(const X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:79,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_pci.c:81,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:83,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_pci.c:84,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:85,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_pci.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:88,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: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: i2r_pci
    functionSourceFile: /src/openssl/crypto/x509/v3_pci.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_INTEGER
    - BIO_printf
    - i2a_ASN1_OBJECT
    - BIO_puts
    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:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:102,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:103,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_pci.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:107,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:108,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pci.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:113,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:115,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_pci.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:119,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:120,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pci.c:123,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_pci.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:131,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:132,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_pci.c:137,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/x509/v3_pci.c:138,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:141,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/x509/v3_pci.c:145,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_pci.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:159,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:165,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_pci.c:166,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/x509/v3_pci.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:171,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:172,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/x509/v3_pci.c:175,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/x509/v3_pci.c:176,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/x509/v3_pci.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:184,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:187,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/x509/v3_pci.c:188,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_pci.c:193,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/x509/v3_pci.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:200,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:201,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_pci.c:204,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_pci.c:205,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/x509/v3_pci.c:206,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_pci.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:219,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:226,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:227,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:231,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_pci.c:238,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: 242
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 242
    functionName: process_pci_value
    functionSourceFile: /src/openssl/crypto/x509/v3_pci.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_int
    - OPENSSL_hexstr2buf
    - ASN1_OCTET_STRING_free
    - BIO_should_retry
    - OPENSSL_free
    - BIO_read
    - BIO_free_all
    - ERR_raise
    - strcmp
    - OPENSSL_realloc
    - OBJ_txt2obj
    - memcpy
    - X509V3_conf_err
    - BIO_new_file
    - strlen
    - ASN1_OCTET_STRING_new
    - CHECK_AND_SKIP_PREFIX
    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:248,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_pci.c:254,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_pci.c:255,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pci.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:259,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:260,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_pci.c:264,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_pci.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:269,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:270,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_pci.c:273,1
    - Dst: process_pci_value
      Src: /src/openssl/crypto/x509/v3_pci.c:274,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pci.c:274,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_pci.c:277,1
    - Dst: process_pci_value
      Src: /src/openssl/crypto/x509/v3_pci.c:281,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:290,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_pci.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:296,1
    - Dst: PROXY_CERT_INFO_EXTENSION_new
      Src: /src/openssl/crypto/x509/v3_pci.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:303,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_pci.c:315,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_pci.c:316,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_pci.c:318,1
    - Dst: PROXY_CERT_INFO_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_pci.c:320,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_pci.c:323,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: 325
      start: 244
    functionDepth: 9
    functionLinenumber: 244
    functionLinenumberEnd: 325
    functionName: r2i_pci
    functionSourceFile: /src/openssl/crypto/x509/v3_pci.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - ASN1_OCTET_STRING_free
    - X509V3_section_free
    - PROXY_CERT_INFO_EXTENSION_free
    - sk_CONF_VALUE_pop_free
    - ASN1_INTEGER_free
    - X509V3_get_section
    - ERR_raise
    - OBJ_obj2nid
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - PROXY_CERT_INFO_EXTENSION_new
    - STACK_OF
    - X509V3_conf_err
    - ASN1_OBJECT_free
    - process_pci_value
    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:75,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - x
    - maps
    argTypes:
    - X509*
    - POLICY_MAPPINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 77
    functionName: ossl_policy_cache_set_mapping
    functionSourceFile: /src/openssl/crypto/x509/pcy_map.c
    functionUses: 1
    functionsReached:
    - sk_POLICY_MAPPING_num
    - sk_POLICY_MAPPING_pop_free
    - ossl_policy_cache_find_data
    - ossl_policy_data_new
    - OBJ_obj2nid
    - sk_X509_POLICY_DATA_push
    - sk_ASN1_OBJECT_push
    - ossl_policy_data_free
    - sk_POLICY_MAPPING_value
    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:59,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: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_crl.c:84,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:92,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/openssl/crypto/x509/x_crl.c:97,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x_crl.c:108,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x_crl.c:109,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_crl.c:110,1
    - Dst: X509_REVOKED_get0_revocationDate
      Src: /src/openssl/crypto/x509/x_crl.c:122,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:124,1
    - Dst: X509_REVOKED_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:129,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:144,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_crl.c:146,1
    - Dst: sk_GENERAL_NAMES_new_null
      Src: /src/openssl/crypto/x509/x_crl.c:151,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_crl.c:153,1
    - Dst: sk_GENERAL_NAMES_push
      Src: /src/openssl/crypto/x509/x_crl.c:157,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_crl.c:158,1
    - Dst: X509_REVOKED_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:165,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/x509/x_crl.c:172,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/x509/x_crl.c:173,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_crl.c:180,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x_crl.c:181,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_crl.c:182,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/x_crl.c:182,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:190,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:192,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/x509/x_crl.c:196,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/x_crl.c:198,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 207
    functionName: crl_set_issuers
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_value
    - sk_X509_REVOKED_num
    - sk_X509_REVOKED_value
    - X509_REVOKED_get_ext_d2i
    - ERR_raise_data
    - X509_EXTENSION_get_critical
    - STACK_OF
    - ASN1_ENUMERATED_get
    - X509_REVOKED_get0_revocationDate
    - ASN1_GENERALIZEDTIME_free
    - ASN1_ENUMERATED_free
    - sk_GENERAL_NAMES_push
    - OBJ_obj2nid
    - X509_EXTENSION_get_object
    - X509_CRL_get_REVOKED
    - X509V3_EXT_d2i
    - sk_GENERAL_NAMES_new_null
    - sk_X509_EXTENSION_num
    - GENERAL_NAMES_free
    linkageType: ''
    returnType: int
    signature: int crl_set_issuers(X509_CRL *crl)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_crl.c:217,1
    - Dst: X509_CRL*::meth::crl_free
      Src: /src/openssl/crypto/x509/x_crl.c:224,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/x_crl.c:227,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/x509/x_crl.c:228,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:229,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:230,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/crypto/x509/x_crl.c:231,1
    - Dst: X509_CRL_digest
      Src: /src/openssl/crypto/x509/x_crl.c:248,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/x509/x_crl.c:248,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:250,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:252,1
    - Dst: setup_idp
      Src: /src/openssl/crypto/x509/x_crl.c:257,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:263,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:269,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:271,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:275,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x_crl.c:277,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_crl.c:293,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x_crl.c:295,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_crl.c:296,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/x_crl.c:296,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/x_crl.c:299,1
    - Dst: crl_set_issuers
      Src: /src/openssl/crypto/x509/x_crl.c:310,1
    - Dst: X509_CRL*::meth::crl_init
      Src: /src/openssl/crypto/x509/x_crl.c:314,1
    - Dst: X509_CRL*::meth::crl_free
      Src: /src/openssl/crypto/x509/x_crl.c:323,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/x_crl.c:326,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/x509/x_crl.c:327,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:328,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:329,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/crypto/x509/x_crl.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_crl.c:331,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/x509/x_crl.c:336,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 95
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 213
    functionDepth: 10
    functionLinenumber: 213
    functionLinenumberEnd: 341
    functionName: crl_cb
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - ISSUING_DIST_POINT_free
    - sk_X509_EXTENSION_value
    - EVP_sha1
    - X509_CRL*::meth::crl_free
    - X509_CRL_digest
    - ERR_raise_data
    - OPENSSL_free
    - setup_idp
    - X509_EXTENSION_get_critical
    - STACK_OF
    - ossl_x509_crl_set0_libctx
    - X509_CRL*::meth::crl_init
    - crl_set_issuers
    - X509_CRL_get_ext_d2i
    - OBJ_obj2nid
    - sk_GENERAL_NAMES_pop_free
    - X509_EXTENSION_get_object
    - ASN1_INTEGER_free
    - sk_X509_EXTENSION_num
    - 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:380,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x_crl.c:380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - crl
    - idp
    argTypes:
    - X509_CRL*
    - ISSUING_DIST_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 391
    functionName: setup_idp
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - DIST_POINT_set_dpname
    - X509_CRL_get_issuer
    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:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_REVOKED**
    - X509_REVOKED**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 414
    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:420,1
    - Dst: X509_CRL_it
      Src: /src/openssl/crypto/x509/x_crl.c:420,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/x509/x_crl.c:421,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x_crl.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: X509_CRL_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - X509_CRL_free
    - ASN1_item_new
    - X509_CRL_it
    - ossl_x509_crl_set0_libctx
    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:434,1
    - Dst: sk_X509_REVOKED_push
      Src: /src/openssl/crypto/x509/x_crl.c:435,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_crl.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - crl
    - rev
    argTypes:
    - X509_CRL*
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 441
    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:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 448
    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:454,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: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    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:461,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/x_crl.c:462,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x_crl.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crl
    - ret
    - x
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 465
    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, const
      X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_crl.c:469,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_crl.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 472
    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:482,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x_crl.c:482,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x_crl.c:488,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x_crl.c:490,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x_crl.c:491,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x_crl.c:494,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: 498
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 498
    functionName: crl_revoked_issuer_match
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509_CRL_get_issuer
    - sk_GENERAL_NAME_value
    - X509_NAME_cmp
    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:514,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/x_crl.c:515,1
    - Dst: sk_X509_REVOKED_sort
      Src: /src/openssl/crypto/x509/x_crl.c:517,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/x_crl.c:518,1
    - Dst: sk_X509_REVOKED_find
      Src: /src/openssl/crypto/x509/x_crl.c:521,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x_crl.c:525,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x_crl.c:526,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x_crl.c:527,1
    - Dst: crl_revoked_issuer_match
      Src: /src/openssl/crypto/x509/x_crl.c:529,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: 538
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 538
    functionName: def_crl_lookup
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_X509_REVOKED_find
    - sk_X509_REVOKED_sort
    - crl_revoked_issuer_match
    - CRYPTO_THREAD_unlock
    - ASN1_INTEGER_cmp
    - sk_X509_REVOKED_num
    - CRYPTO_THREAD_write_lock
    - sk_X509_REVOKED_is_sorted
    - sk_X509_REVOKED_value
    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: 546
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 546
    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:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 567
    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:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - X509_CRL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 574
    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: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    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: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    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:591,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_crl.c:594,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: 600
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 600
    functionName: ossl_x509_crl_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:77,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:83,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:89,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:90,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:92,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:93,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - out
    - choice
    - indent
    - msg
    argTypes:
    - BIO*
    - ASIdentifierChoice*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: i2r_ASIdentifierChoice
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - sk_ASIdOrRange_value
    - i2s_ASN1_INTEGER
    - sk_ASIdOrRange_num
    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:113,1
    - Dst: i2r_ASIdentifierChoice
      Src: /src/openssl/crypto/x509/v3_asid.c:115,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: 117
      start: 109
    functionDepth: 8
    functionLinenumber: 109
    functionLinenumberEnd: 117
    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:127,1
    - Dst: assert
      Src: /src/openssl/crypto/x509/v3_asid.c:129,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:132,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:135,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:136,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:142,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) || (a->type == ASIdOrRange_range
        && a->u.range != NULL && a->u.range->min != NULL && a->u.range->max != NULL))
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/openssl/crypto/x509/v3_asid.c
    - condition: ((b->type == ASIdOrRange_id && b->u.id != NULL) || (b->type == ASIdOrRange_range
        && b->u.range != NULL && b->u.range->min != NULL && b->u.range->max != NULL))
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/openssl/crypto/x509/v3_asid.c
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 143
    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:164,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_asid.c:166,1
    - Dst: ASIdentifierChoice_free
      Src: /src/openssl/crypto/x509/v3_asid.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - asid
    - which
    argTypes:
    - ASIdentifiers*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: X509v3_asid_add_inherit
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    - ASIdentifierChoice_new
    - ASIdentifierChoice_free
    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:199,1
    - Dst: sk_ASIdOrRange_new
      Src: /src/openssl/crypto/x509/v3_asid.c:201,1
    - Dst: ASIdentifierChoice_free
      Src: /src/openssl/crypto/x509/v3_asid.c:203,1
    - Dst: ASIdOrRange_new
      Src: /src/openssl/crypto/x509/v3_asid.c:209,1
    - Dst: sk_ASIdOrRange_reserve
      Src: /src/openssl/crypto/x509/v3_asid.c:211,1
    - Dst: ASRange_new
      Src: /src/openssl/crypto/x509/v3_asid.c:218,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:220,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:222,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:226,1
    - Dst: sk_ASIdOrRange_push
      Src: /src/openssl/crypto/x509/v3_asid.c:226,1
    - Dst: ASIdOrRange_free
      Src: /src/openssl/crypto/x509/v3_asid.c:231,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: 233
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 233
    functionName: X509v3_asid_add_id_or_range
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASIdentifierChoice_new
    - sk_ASIdOrRange_reserve
    - ASIdOrRange_free
    - ASN1_INTEGER_free
    - ASIdOrRange_new
    - ASRange_new
    - sk_ASIdOrRange_new
    - sk_ASIdOrRange_push
    - ossl_assert
    - ASIdentifierChoice_free
    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:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - aor
    - min
    - max
    argTypes:
    - ASIdOrRange*
    - ASN1_INTEGER**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 255
    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:276,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:282,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:283,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:284,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:287,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:288,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:294,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:294,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:294,1
    - Dst: BN_new
      Src: /src/openssl/crypto/x509/v3_asid.c:300,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_asid.c:300,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/x509/v3_asid.c:300,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:301,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:307,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:314,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:321,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:323,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:326,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:327,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:335,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_asid.c:336,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 1
    argNames:
    - choice
    argTypes:
    - ASIdentifierChoice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 338
    functionName: ASIdentifierChoice_is_canonical
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - ASN1_INTEGER_to_BN
    - sk_ASIdOrRange_value
    - ASN1_INTEGER_cmp
    - ASN1_INTEGER_free
    - ERR_raise
    - extract_min_max
    - BN_free
    - BN_new
    - BN_add_word
    - sk_ASIdOrRange_num
    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:345,1
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 6
    functionLinenumber: 343
    functionLinenumberEnd: 346
    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:367,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:368,1
    - Dst: sk_ASIdOrRange_sort
      Src: /src/openssl/crypto/x509/v3_asid.c:375,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:381,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:382,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:383,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:386,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:387,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:393,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:393,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:399,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:399,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:406,1
    - Dst: BN_new
      Src: /src/openssl/crypto/x509/v3_asid.c:413,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_asid.c:413,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/x509/v3_asid.c:413,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:414,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:420,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:427,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_asid.c:431,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:439,1
    - Dst: ASIdOrRange_free
      Src: /src/openssl/crypto/x509/v3_asid.c:451,1
    - Dst: sk_ASIdOrRange_delete
      Src: /src/openssl/crypto/x509/v3_asid.c:452,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:461,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:463,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:466,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:467,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:473,1
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:473,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:479,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_asid.c:480,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 1
    argNames:
    - choice
    argTypes:
    - ASIdentifierChoice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 482
    functionName: ASIdentifierChoice_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - ASN1_INTEGER_to_BN
    - sk_ASIdOrRange_delete
    - ASIdOrRange_free
    - OPENSSL_malloc
    - sk_ASIdOrRange_value
    - ASN1_INTEGER_cmp
    - ASN1_INTEGER_free
    - ERR_raise
    - extract_min_max
    - ASIdentifierChoice_is_canonical
    - BN_free
    - sk_ASIdOrRange_sort
    - BN_new
    - ossl_assert
    - BN_add_word
    - sk_ASIdOrRange_num
    linkageType: ''
    returnType: int
    signature: int ASIdentifierChoice_canonize(ASIdentifierChoice *choice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_canonize
      Src: /src/openssl/crypto/x509/v3_asid.c:489,1
    - Dst: ASIdentifierChoice_canonize
      Src: /src/openssl/crypto/x509/v3_asid.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 7
    functionLinenumber: 487
    functionLinenumberEnd: 490
    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:503,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:504,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_asid.c:508,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_asid.c:509,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:515,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:520,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:526,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_asid.c:533,1
    - Dst: X509v3_asid_add_inherit
      Src: /src/openssl/crypto/x509/v3_asid.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:536,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:537,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:544,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:549,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:551,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:552,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:556,1
    - Dst: strspn
      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: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_asid.c:569,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:570,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_asid.c:574,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:578,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:579,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:582,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:586,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/crypto/x509/v3_asid.c:590,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:591,1
    - Dst: X509v3_asid_canonize
      Src: /src/openssl/crypto/x509/v3_asid.c:600,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/crypto/x509/v3_asid.c:605,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:606,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:607,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: 609
      start: 495
    functionDepth: 8
    functionLinenumber: 495
    functionLinenumberEnd: 609
    functionName: v2i_ASIdentifiers
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_int
    - OPENSSL_strdup
    - ossl_v3_name_cmp
    - OPENSSL_free
    - ASN1_INTEGER_cmp
    - X509v3_asid_add_id_or_range
    - s2i_ASN1_INTEGER
    - ERR_raise
    - strcmp
    - strspn
    - ASN1_INTEGER_free
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - X509v3_asid_canonize
    - ASIdentifiers_free
    - X509V3_conf_add_error_name_value
    - X509v3_asid_add_inherit
    - ASIdentifiers_new
    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: 634
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 634
    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:650,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:651,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:651,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:654,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:656,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:656,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:659,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:661,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - ASIdOrRanges*
    - ASIdOrRanges*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 668
    functionName: asid_contains
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - extract_min_max
    - ASN1_INTEGER_cmp
    - sk_ASIdOrRange_value
    - sk_ASIdOrRange_num
    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:683,1
    - Dst: X509v3_asid_inherits
      Src: /src/openssl/crypto/x509/v3_asid.c:683,1
    - Dst: asid_contains
      Src: /src/openssl/crypto/x509/v3_asid.c:688,1
    - Dst: asid_contains
      Src: /src/openssl/crypto/x509/v3_asid.c:695,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASIdentifiers*
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 697
    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: 715
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 715
    functionName: validation_err
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: validation_err(_err_)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:727,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_asid.c:727,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:728,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:729,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/v3_asid.c:745,1
    - Dst: X509v3_asid_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:749,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:750,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_asid.c:776,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/v3_asid.c:777,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:778,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:785,1
    - Dst: X509v3_asid_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:788,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:789,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:791,1
    - Dst: asid_contains
      Src: /src/openssl/crypto/x509/v3_asid.c:797,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:802,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:806,1
    - Dst: asid_contains
      Src: /src/openssl/crypto/x509/v3_asid.c:811,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:815,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:823,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:830,1
    - Dst: validation_err
      Src: /src/openssl/crypto/x509/v3_asid.c:832,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 93
    argCount: 3
    argNames:
    - ctx
    - chain
    - ext
    argTypes:
    - X509_STORE_CTX*
    - STACK_OF*
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 719
    functionDepth: 7
    functionLinenumber: 719
    functionLinenumberEnd: 837
    functionName: asid_validate_path_internal
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - asid_contains
    - validation_err
    - X509v3_asid_is_canonical
    - sk_X509_num
    - sk_X509_value
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int asid_validate_path_internal(X509_STORE_CTX *ctx,\n    const STACK_OF(X509)
      *chain,\n    ASIdentifiers *ext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_asid.c:847,1
    - Dst: asid_validate_path_internal
      Src: /src/openssl/crypto/x509/v3_asid.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 844
    functionDepth: 8
    functionLinenumber: 844
    functionLinenumberEnd: 853
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_asid.c:864,1
    - Dst: X509v3_asid_inherits
      Src: /src/openssl/crypto/x509/v3_asid.c:866,1
    - Dst: asid_validate_path_internal
      Src: /src/openssl/crypto/x509/v3_asid.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - chain
    - ext
    - allow_inheritance
    argTypes:
    - STACK_OF*
    - ASIdentifiers*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 859
    functionDepth: 8
    functionLinenumber: 859
    functionLinenumberEnd: 869
    functionName: X509v3_asid_validate_resource_set
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - asid_validate_path_internal
    - sk_X509_num
    - X509v3_asid_inherits
    linkageType: ''
    returnType: int
    signature: "int X509v3_asid_validate_resource_set(const STACK_OF(X509) *chain,\n
      \   ASIdentifiers *ext, int allow_inheritance)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:56,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:58,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:60,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_attrmap.c:66,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_attrmap.c:67,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:68,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:70,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_attrmap.c:72,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:74,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:76,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:78,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_attrmap.c:80,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: 85
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 85
    functionName: i2r_ATTRIBUTE_MAPPING
    functionSourceFile: /src/openssl/crypto/x509/v3_attrmap.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2a_ASN1_OBJECT
    - OBJ_obj2nid
    - ossl_print_attribute_value
    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:94,1
    - Dst: sk_OSSL_ATTRIBUTE_MAPPING_value
      Src: /src/openssl/crypto/x509/v3_attrmap.c:95,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrmap.c:96,1
    - Dst: i2r_ATTRIBUTE_MAPPING
      Src: /src/openssl/crypto/x509/v3_attrmap.c:98,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:100,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: 104
      start: 87
    functionDepth: 7
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: i2r_ATTRIBUTE_MAPPINGS
    functionSourceFile: /src/openssl/crypto/x509/v3_attrmap.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - sk_OSSL_ATTRIBUTE_MAPPING_value
    - i2r_ATTRIBUTE_MAPPING
    - sk_OSSL_ATTRIBUTE_MAPPING_num
    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:49,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_aaa.c:51,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:53,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/v3_aaa.c:56,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_aaa.c:57,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:58,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_aaa.c:60,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:62,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/v3_aaa.c:64,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/v3_aaa.c:65,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_aaa.c:66,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:68,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: 76
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 76
    functionName: i2r_ALLOWED_ATTRIBUTES_CHOICE
    functionSourceFile: /src/openssl/crypto/x509/v3_aaa.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - X509_ATTRIBUTE_get0_type
    - OBJ_obj2nid
    - X509_ATTRIBUTE_count
    - ossl_print_attribute_value
    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:85,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:86,1
    - Dst: sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_value
      Src: /src/openssl/crypto/x509/v3_aaa.c:88,1
    - Dst: i2r_ALLOWED_ATTRIBUTES_CHOICE
      Src: /src/openssl/crypto/x509/v3_aaa.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:92,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_aaa.c:94,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:96,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: 99
      start: 78
    functionDepth: 7
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: i2r_ALLOWED_ATTRIBUTES_ITEM
    functionSourceFile: /src/openssl/crypto/x509/v3_aaa.c
    functionUses: 0
    functionsReached:
    - i2r_ALLOWED_ATTRIBUTES_CHOICE
    - BIO_puts
    - BIO_printf
    - sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_value
    - sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_num
    - GENERAL_NAME_print
    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:108,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:109,1
    - Dst: sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_value
      Src: /src/openssl/crypto/x509/v3_aaa.c:111,1
    - Dst: i2r_ALLOWED_ATTRIBUTES_ITEM
      Src: /src/openssl/crypto/x509/v3_aaa.c:112,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: 116
      start: 101
    functionDepth: 8
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: i2r_ALLOWED_ATTRIBUTES_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_aaa.c
    functionUses: 0
    functionsReached:
    - i2r_ALLOWED_ATTRIBUTES_ITEM
    - BIO_printf
    - 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:29,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_lib.c:30,1
    - Dst: sk_X509V3_EXT_METHOD_push
      Src: /src/openssl/crypto/x509/v3_lib.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_lib.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509V3_EXT_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: X509V3_EXT_add
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509V3_EXT_METHOD_push
    - ERR_raise
    - sk_X509V3_EXT_METHOD_new
    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: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    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:62,1
    - Dst: sk_X509V3_EXT_METHOD_sort
      Src: /src/openssl/crypto/x509/v3_lib.c:68,1
    - Dst: sk_X509V3_EXT_METHOD_find
      Src: /src/openssl/crypto/x509/v3_lib.c:69,1
    - Dst: sk_X509V3_EXT_METHOD_value
      Src: /src/openssl/crypto/x509/v3_lib.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: X509V3_EXT_get_nid
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 2
    functionsReached:
    - OBJ_bsearch_ext
    - sk_X509V3_EXT_METHOD_value
    - sk_X509V3_EXT_METHOD_find
    - sk_X509V3_EXT_METHOD_sort
    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:77,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_lib.c:77,1
    - Dst: X509V3_EXT_get_nid
      Src: /src/openssl/crypto/x509/v3_lib.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: X509V3_EXT_get
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    - X509_EXTENSION_get_object
    - X509V3_EXT_get_nid
    linkageType: ''
    returnType: X509V3_EXT_METHOD
    signature: X509V3_EXT_METHOD *X509V3_EXT_get(const X509_EXTENSION *ext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_add
      Src: /src/openssl/crypto/x509/v3_lib.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - extlist
    argTypes:
    - X509V3_EXT_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    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:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_lib.c:96,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_lib.c:99,1
    - Dst: X509V3_EXT_add
      Src: /src/openssl/crypto/x509/v3_lib.c:104,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_lib.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - nid_to
    - nid_from
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: X509V3_EXT_add_alias
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - X509V3_EXT_get_nid
    - 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:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    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:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509V3_EXT_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    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: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/v3_lib.c:152,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/v3_lib.c:153,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_lib.c:155,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_lib.c:155,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_lib.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ex
    - flags
    argTypes:
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: ossl_ignored_x509_extension
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - OBJ_nid2obj
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int ossl_ignored_x509_extension(const X509_EXTENSION *ex, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get
      Src: /src/openssl/crypto/x509/v3_lib.c:174,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/v3_lib.c:176,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/x509/v3_lib.c:177,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/v3_lib.c:178,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/x509/v3_lib.c:180,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_lib.c:180,1
    - Dst: X509V3_EXT_METHOD*::d2i
      Src: /src/openssl/crypto/x509/v3_lib.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: X509V3_EXT_d2i
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 2
    functionsReached:
    - X509_EXTENSION_get_data
    - X509V3_EXT_METHOD*::d2i
    - X509V3_EXT_get
    - ASN1_item_d2i
    - ASN1_STRING_length
    - ASN1_ITEM_ptr
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: void
    signature: void *X509V3_EXT_d2i(const X509_EXTENSION *ext)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_lib.c:219,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/v3_lib.c:220,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_lib.c:221,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_lib.c:221,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_lib.c:238,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/crypto/x509/v3_lib.c:239,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: 248
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 248
    functionName: X509V3_get_d2i
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 4
    functionsReached:
    - X509_EXTENSION_get_object
    - X509V3_EXT_d2i
    - sk_X509_EXTENSION_value
    - sk_X509_EXTENSION_num
    - OBJ_obj2nid
    - X509_EXTENSION_get_critical
    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:95,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/x509/x509_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_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:101,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:103,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:107,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:108,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:109,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: 116
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 116
    functionName: i2r_NAMING_AUTHORITY
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OBJ_nid2ln
    - OBJ_obj2nid
    - ASN1_STRING_print
    - OBJ_obj2txt
    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:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:126,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_admis.c:127,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:128,1
    - Dst: sk_ADMISSIONS_num
      Src: /src/openssl/crypto/x509/v3_admis.c:132,1
    - Dst: sk_ADMISSIONS_value
      Src: /src/openssl/crypto/x509/v3_admis.c:133,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:135,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:140,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_admis.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:142,1
    - Dst: i2r_NAMING_AUTHORITY
      Src: /src/openssl/crypto/x509/v3_admis.c:147,1
    - Dst: sk_PROFESSION_INFO_num
      Src: /src/openssl/crypto/x509/v3_admis.c:151,1
    - Dst: sk_PROFESSION_INFO_value
      Src: /src/openssl/crypto/x509/v3_admis.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:158,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:160,1
    - Dst: i2r_NAMING_AUTHORITY
      Src: /src/openssl/crypto/x509/v3_admis.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:171,1
    - Dst: sk_ASN1_STRING_num
      Src: /src/openssl/crypto/x509/v3_admis.c:173,1
    - Dst: sk_ASN1_STRING_value
      Src: /src/openssl/crypto/x509/v3_admis.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:176,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:178,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:184,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/v3_admis.c:186,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/v3_admis.c:187,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/v3_admis.c:188,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_admis.c:188,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/v3_admis.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:192,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: 205
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 205
    functionName: i2r_ADMISSION_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - sk_ASN1_STRING_value
    - OBJ_obj2txt
    - sk_ADMISSIONS_value
    - sk_PROFESSION_INFO_value
    - i2r_NAMING_AUTHORITY
    - OBJ_nid2ln
    - sk_ADMISSIONS_num
    - sk_ASN1_OBJECT_num
    - sk_ASN1_STRING_num
    - OBJ_obj2nid
    - ASN1_STRING_print
    - sk_ASN1_OBJECT_value
    - sk_PROFESSION_INFO_num
    - GENERAL_NAME_print
    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: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - id
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    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: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - u
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    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: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - t
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    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: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    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:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - as
    - aa
    argTypes:
    - ADMISSION_SYNTAX*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    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: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    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: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    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:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - aa
    argTypes:
    - ADMISSIONS*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - na
    argTypes:
    - ADMISSIONS*
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    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: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    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:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - pi
    argTypes:
    - ADMISSIONS*
    - PROFESSION_INFOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    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: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    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:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - aos
    argTypes:
    - PROFESSION_INFO*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    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: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    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:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - na
    argTypes:
    - PROFESSION_INFO*
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    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: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    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: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    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: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    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:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - rn
    argTypes:
    - PROFESSION_INFO*
    - ASN1_PRINTABLESTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    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:28,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/t_req.c:28,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_req.c:29,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/t_req.c:32,1
    - Dst: X509_REQ_print
      Src: /src/openssl/crypto/x509/t_req.c:33,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_req.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: X509_REQ_print_fp
    functionSourceFile: /src/openssl/crypto/x509/t_req.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - X509_REQ_print
    linkageType: ''
    returnType: int
    signature: int X509_REQ_print_fp(FILE *fp, const X509_REQ *x)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/t_req.c:44,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:57,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:59,1
    - Dst: X509_REQ_get_version
      Src: /src/openssl/crypto/x509/t_req.c:63,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:73,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_req.c:75,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/x509/t_req.c:75,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:79,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:87,1
    - Dst: X509_REQ_get_X509_PUBKEY
      Src: /src/openssl/crypto/x509/t_req.c:89,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/t_req.c:90,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_req.c:91,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:93,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/x509/t_req.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:98,1
    - Dst: ERR_print_errors
      Src: /src/openssl/crypto/x509/t_req.c:100,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/x509/t_req.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:109,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/openssl/crypto/x509/t_req.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:113,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/openssl/crypto/x509/t_req.c:116,1
    - Dst: X509_REQ_get_attr
      Src: /src/openssl/crypto/x509/t_req.c:123,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/t_req.c:124,1
    - Dst: X509_REQ_extension_nid
      Src: /src/openssl/crypto/x509/t_req.c:125,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/t_req.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:127,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_req.c:129,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/t_req.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_req.c:133,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/t_req.c:137,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:142,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:144,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:152,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:155,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:159,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/crypto/x509/t_req.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:171,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/t_req.c:173,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/t_req.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:178,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/t_req.c:180,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_req.c:181,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/t_req.c:183,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:184,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/t_req.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:187,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/t_req.c:188,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/t_req.c:189,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:193,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/t_req.c:196,1
    - Dst: X509_REQ_get0_signature
      Src: /src/openssl/crypto/x509/t_req.c:204,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_req.c:205,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/t_req.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_req.c:212,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 172
    argCount: 4
    argNames:
    - bp
    - x
    - nmflags
    - cflag
    argTypes:
    - BIO*
    - X509_REQ*
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 214
    functionName: X509_REQ_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_req.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - BIO_puts
    - X509_signature_print
    - sk_X509_EXTENSION_value
    - X509_REQ_get_attr_count
    - X509_REQ_get_extensions
    - X509_REQ_get_attr
    - X509V3_EXT_print
    - i2a_ASN1_OBJECT
    - X509_REQ_get_X509_PUBKEY
    - BIO_write
    - ERR_raise
    - X509_EXTENSION_get_critical
    - STACK_OF
    - ASN1_STRING_print
    - X509_REQ_get0_pubkey
    - X509_ATTRIBUTE_get0_object
    - X509_REQ_get_version
    - X509_REQ_get0_signature
    - EVP_PKEY_print_public
    - OBJ_obj2nid
    - X509_ATTRIBUTE_count
    - ERR_print_errors
    - X509_REQ_extension_nid
    - BIO_printf
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_data
    - X509_REQ_get_subject_name
    - X509_ATTRIBUTE_get0_type
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_pop_free
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_REQ_print_ex(BIO *bp, const X509_REQ *x, unsigned long nmflags,
      unsigned long cflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/crypto/x509/t_req.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 219
    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, const 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:74,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:87,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: 89
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: d2i_OSSL_IETF_ATTR_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - OSSL_IETF_ATTR_SYNTAX_free
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_value
    - OSSL_IETF_ATTR_SYNTAX_it
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_num
    - ASN1_item_d2i
    - ERR_raise
    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:94,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_it
      Src: /src/openssl/crypto/x509/x_ietfatt.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: i2d_OSSL_IETF_ATTR_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - OSSL_IETF_ATTR_SYNTAX_it
    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:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    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: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    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:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - names
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    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:123,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: 140
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 140
    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:151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:157,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_VALUE_new
      Src: /src/openssl/crypto/x509/x_ietfatt.c:161,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_VALUE_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:177,1
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_push
      Src: /src/openssl/crypto/x509/x_ietfatt.c:181,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_VALUE_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:189,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: 191
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 191
    functionName: OSSL_IETF_ATTR_SYNTAX_add1_value
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - OSSL_IETF_ATTR_SYNTAX_VALUE_new
    - ERR_raise
    - OSSL_IETF_ATTR_SYNTAX_VALUE_free
    - 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:198,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:199,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/x_ietfatt.c:202,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x_ietfatt.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:205,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_get_value_num
      Src: /src/openssl/crypto/x509/x_ietfatt.c:210,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_get0_value
      Src: /src/openssl/crypto/x509/x_ietfatt.c:213,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:218,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/x_ietfatt.c:223,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:224,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/x_ietfatt.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:232,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: 239
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 239
    functionName: OSSL_IETF_ATTR_SYNTAX_print
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_IETF_ATTR_SYNTAX_get_value_num
    - OSSL_IETF_ATTR_SYNTAX_get0_value
    - sk_GENERAL_NAME_num
    - ASN1_STRING_print
    - OBJ_obj2txt
    - sk_GENERAL_NAME_value
    - GENERAL_NAME_print
    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_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - X509_CRL_print
    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, const 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: 99
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: X509_CRL_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_crl.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - X509_signature_print
    - sk_X509_REVOKED_num
    - X509_CRL_get0_nextUpdate
    - sk_X509_REVOKED_value
    - X509_CRL_get0_lastUpdate
    - X509_CRL_get_issuer
    - X509_CRL_get0_signature
    - X509_CRL_get0_extensions
    - X509_REVOKED_get0_extensions
    - STACK_OF
    - i2a_ASN1_INTEGER
    - X509_REVOKED_get0_revocationDate
    - X509_CRL_get_version
    - ASN1_TIME_print
    - X509_REVOKED_get0_serialNumber
    - X509V3_extensions_print
    - BIO_printf
    - X509_CRL_get_REVOKED
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_CRL_print_ex(BIO *out, const X509_CRL *x, unsigned long nmflag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISSUER_SIGN_TOOL_new
      Src: /src/openssl/crypto/x509/v3_ist.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:43,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_ist.c:46,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_ist.c:47,1
    - Dst: strcmp
      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_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:62,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:63,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_ist.c:66,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:69,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:70,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_ist.c:73,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:76,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:81,1
    - Dst: ISSUER_SIGN_TOOL_free
      Src: /src/openssl/crypto/x509/v3_ist.c:88,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 90
    functionName: v2i_issuer_sign_tool
    functionSourceFile: /src/openssl/crypto/x509/v3_ist.c
    functionUses: 0
    functionsReached:
    - ISSUER_SIGN_TOOL_free
    - ISSUER_SIGN_TOOL_new
    - ASN1_STRING_set
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - strlen
    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:99,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:103,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:104,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:111,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:112,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:117,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:119,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:120,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:127,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:128,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: 132
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: i2r_issuer_sign_tool
    functionSourceFile: /src/openssl/crypto/x509/v3_ist.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_printf
    - ERR_raise
    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:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    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:37,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/x509/x509_v3.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - STACK_OF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    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:54,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x509_v3.c:56,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/x509_v3.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sk
    - obj
    - lastpos
    argTypes:
    - STACK_OF*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    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:74,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x509_v3.c:76,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/x509_v3.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sk
    - crit
    - lastpos
    argTypes:
    - STACK_OF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 83
    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:87,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x509_v3.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    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:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_v3.c:201,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509_v3.c:204,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_v3.c:206,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: 208
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 208
    functionName: X509_EXTENSION_create_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 1
    functionsReached:
    - X509_EXTENSION_create_by_OBJ
    - OBJ_nid2obj
    - ERR_raise
    - 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:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_v3.c:218,1
    - Dst: X509_EXTENSION_set_object
      Src: /src/openssl/crypto/x509/x509_v3.c:224,1
    - Dst: X509_EXTENSION_set_critical
      Src: /src/openssl/crypto/x509/x509_v3.c:226,1
    - Dst: X509_EXTENSION_set_data
      Src: /src/openssl/crypto/x509/x509_v3.c:228,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/x509_v3.c:236,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: 238
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: X509_EXTENSION_create_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 2
    functionsReached:
    - X509_EXTENSION_set_critical
    - X509_EXTENSION_set_object
    - X509_EXTENSION_free
    - ERR_raise
    - X509_EXTENSION_new
    - X509_EXTENSION_set_data
    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:244,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x509_v3.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ex
    - obj
    argTypes:
    - X509_EXTENSION*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 247
    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: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    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:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ex
    - data
    argTypes:
    - X509_EXTENSION*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 267
    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, const 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: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    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(const 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: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    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(const 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: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    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: 3
    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:
    - d2i_NETSCAPE_SPKI
    - EVP_DecodeBlock
    - OPENSSL_free
    - ERR_raise
    - strlen
    - OPENSSL_malloc
    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: 4
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: NETSCAPE_SPKI_b64_encode
    functionSourceFile: /src/openssl/crypto/x509/x509spki.c
    functionUses: 0
    functionsReached:
    - EVP_EncodeBlock
    - OPENSSL_free
    - i2d_NETSCAPE_SPKI
    - OPENSSL_malloc_array
    - 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:71,1
    - Dst: sk_POLICY_MAPPING_new_reserve
      Src: /src/openssl/crypto/x509/v3_pmaps.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pmaps.c:75,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pmaps.c:80,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_pmaps.c:82,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_pmaps.c:86,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_pmaps.c:87,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_pmaps.c:89,1
    - Dst: POLICY_MAPPING_new
      Src: /src/openssl/crypto/x509/v3_pmaps.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pmaps.c:95,1
    - Dst: sk_POLICY_MAPPING_push
      Src: /src/openssl/crypto/x509/v3_pmaps.c:101,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_pmaps.c:105,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_pmaps.c:106,1
    - Dst: sk_POLICY_MAPPING_pop_free
      Src: /src/openssl/crypto/x509/v3_pmaps.c:107,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: 109
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 109
    functionName: v2i_POLICY_MAPPINGS
    functionSourceFile: /src/openssl/crypto/x509/v3_pmaps.c
    functionUses: 0
    functionsReached:
    - sk_POLICY_MAPPING_new_reserve
    - POLICY_MAPPING_new
    - ERR_raise_data
    - sk_POLICY_MAPPING_pop_free
    - ERR_raise
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    - sk_POLICY_MAPPING_push
    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:
    - BUF_MEM_new
    - OPENSSL_zalloc
    - sk_X509_NAME_ENTRY_free
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_new_null
    - ERR_raise
    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:
    - x509_name_ex_free
    - X509_NAME_free
    - x509_name_canon
    - ASN1_item_ex_d2i
    - sk_X509_NAME_ENTRY_push
    - sk_X509_NAME_ENTRY_num
    - ERR_raise
    - sk_X509_NAME_ENTRY_set
    - sk_STACK_OF_X509_NAME_ENTRY_num
    - sk_STACK_OF_X509_NAME_ENTRY_value
    - x509_name_ex_new
    - ASN1_ITEM_rptr
    - STACK_OF
    - sk_X509_NAME_ENTRY_value
    - memcpy
    - BUF_MEM_grow
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    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:
    - x509_name_encode
    - memcpy
    - x509_name_canon
    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_X509_NAME_ENTRY_free
    - sk_X509_NAME_ENTRY_new_null
    - sk_X509_NAME_ENTRY_push
    - sk_X509_NAME_ENTRY_num
    - ASN1_item_ex_i2d
    - ERR_raise
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - STACK_OF
    - ASN1_ITEM_rptr
    - sk_X509_NAME_ENTRY_value
    - sk_STACK_OF_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: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    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:314,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:315,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:319,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:322,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:328,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:331,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x_name.c:332,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:334,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:337,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x_name.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:339,1
    - Dst: X509_NAME_ENTRY_new
      Src: /src/openssl/crypto/x509/x_name.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:346,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x_name.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:351,1
    - Dst: asn1_string_canon
      Src: /src/openssl/crypto/x509/x_name.c:354,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:357,1
    - Dst: i2d_name_canon
      Src: /src/openssl/crypto/x509/x_name.c:364,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x_name.c:369,1
    - Dst: i2d_name_canon
      Src: /src/openssl/crypto/x509/x_name.c:375,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x_name.c:380,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:381,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 384
    functionName: x509_name_canon
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 2
    functionsReached:
    - X509_NAME_ENTRY_new
    - sk_X509_NAME_ENTRY_free
    - OPENSSL_free
    - OPENSSL_malloc
    - sk_X509_NAME_ENTRY_new_null
    - sk_X509_NAME_ENTRY_push
    - sk_X509_NAME_ENTRY_num
    - ERR_raise
    - i2d_name_canon
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - asn1_string_canon
    - X509_NAME_ENTRY_free
    - STACK_OF
    - sk_X509_NAME_ENTRY_value
    - sk_STACK_OF_X509_NAME_ENTRY_new_null
    - OBJ_dup
    - 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:399,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x_name.c:400,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/x509/x_name.c:406,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:423,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:431,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/x509/x_name.c:441,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:446,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: 468
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 468
    functionName: asn1_string_canon
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 1
    functionsReached:
    - ossl_tolower
    - ASN1_STRING_to_UTF8
    - ASN1_tag2bit
    - ossl_isascii
    - ossl_isspace
    - ASN1_STRING_copy
    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:475,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:475,1
    - Dst: sk_ASN1_VALUE_num
      Src: /src/openssl/crypto/x509/x_name.c:478,1
    - Dst: sk_ASN1_VALUE_value
      Src: /src/openssl/crypto/x509/x_name.c:479,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/x509/x_name.c:480,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_name.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - _intname
    - in
    argTypes:
    - STACK_OF*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 487
    functionName: i2d_name_canon
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 1
    functionsReached:
    - ASN1_item_ex_i2d
    - ASN1_ITEM_rptr
    - 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:495,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x_name.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - xn
    - name
    argTypes:
    - X509_NAME**
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 500
    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:507,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:511,1
    - Dst: ossl_isupper
      Src: /src/openssl/crypto/x509/x_name.c:518,1
    - Dst: ossl_isupper
      Src: /src/openssl/crypto/x509/x_name.c:518,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/x_name.c:520,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/x_name.c:524,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:536,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:537,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - bp
    - name
    - obase
    argTypes:
    - BIO*
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 539
    functionName: X509_NAME_print
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_write
    - X509_NAME_oneline
    - ERR_raise
    - 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:545,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: 552
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 552
    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_hash_dir
    - X509_LOOKUP_add_dir
    - X509_LOOKUP_file
    - X509_LOOKUP_load_file_ex
    - X509_LOOKUP_store
    - X509_STORE_add_lookup
    - X509_LOOKUP_add_store_ex
    - ERR_clear_error
    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: 63
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: X509_STORE_load_file_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_lookup
    - X509_LOOKUP_file
    - X509_LOOKUP_load_file_ex
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    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:75,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/crypto/x509/x509_d2.c:75,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/crypto/x509/x509_d2.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: X509_STORE_load_path
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_lookup
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_add_dir
    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:88,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/crypto/x509/x509_d2.c:88,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:89,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: 93
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: X509_STORE_load_store_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_lookup
    - X509_LOOKUP_add_store_ex
    - X509_LOOKUP_store
    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:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - uri
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 98
    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:106,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/crypto/x509/x509_d2.c:108,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: 111
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 111
    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:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - path
    argTypes:
    - X509_STORE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 117
    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:31,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_authattid.c:32,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:33,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:35,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:37,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_authattid.c:38,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:40,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:42,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/x509/v3_authattid.c:43,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:45,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:47,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: 50
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: i2r_ISSUER_SERIAL
    functionSourceFile: /src/openssl/crypto/x509/v3_authattid.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_STRING
    - OSSL_GENERAL_NAMES_print
    - i2a_ASN1_INTEGER
    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:59,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:60,1
    - Dst: sk_OSSL_ISSUER_SERIAL_value
      Src: /src/openssl/crypto/x509/v3_authattid.c:62,1
    - Dst: i2r_ISSUER_SERIAL
      Src: /src/openssl/crypto/x509/v3_authattid.c:63,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:65,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: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: i2r_auth_attr_id
    functionSourceFile: /src/openssl/crypto/x509/v3_authattid.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2r_ISSUER_SERIAL
    - sk_OSSL_ISSUER_SERIAL_num
    - 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: 7
    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:
    - sk_X509_ATTRIBUTE_num
    - OBJ_cmp
    - 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:
    - sk_X509_ATTRIBUTE_num
    - ERR_raise
    - sk_X509_ATTRIBUTE_value
    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:244,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:249,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/x509/x509_att.c:251,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/x509_att.c:252,1
    - Dst: X509_ATTRIBUTE_get0_data
      Src: /src/openssl/crypto/x509/x509_att.c:254,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: 255
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: X509at_get0_data_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 2
    functionsReached:
    - X509at_get_attr
    - X509at_get_attr_by_OBJ
    - X509_ATTRIBUTE_count
    - X509_ATTRIBUTE_get0_data
    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:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:279,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:282,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_att.c:284,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: 286
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: X509_ATTRIBUTE_create_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 0
    functionsReached:
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - ERR_raise
    - X509_ATTRIBUTE_create_by_OBJ
    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:296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:297,1
    - Dst: X509_ATTRIBUTE_set1_object
      Src: /src/openssl/crypto/x509/x509_att.c:304,1
    - Dst: X509_ATTRIBUTE_set1_data
      Src: /src/openssl/crypto/x509/x509_att.c:306,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/x509_att.c:314,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: 316
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: X509_ATTRIBUTE_create_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 1
    functionsReached:
    - X509_ATTRIBUTE_free
    - X509_ATTRIBUTE_set1_data
    - ERR_raise
    - X509_ATTRIBUTE_set1_object
    - 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:323,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_att.c:327,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:331,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_att.c:332,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: 334
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: X509_ATTRIBUTE_create_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 0
    functionsReached:
    - ASN1_OBJECT_free
    - OBJ_txt2obj
    - X509_ATTRIBUTE_create_by_OBJ
    - ERR_raise_data
    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:339,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_att.c:342,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x509_att.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - attr
    - obj
    argTypes:
    - X509_ATTRIBUTE*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 345
    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:355,1
    - Dst: ASN1_STRING_set_by_NID
      Src: /src/openssl/crypto/x509/x509_att.c:359,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_att.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:362,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/x509/x509_att.c:367,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/x509_att.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:369,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/x509/x509_att.c:380,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/x509/x509_att.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:384,1
    - Dst: ASN1_TYPE_set1
      Src: /src/openssl/crypto/x509/x509_att.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:389,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/x509/x509_att.c:393,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/openssl/crypto/x509/x509_att.c:396,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:397,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/x509_att.c:402,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/x509/x509_att.c:403,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: 405
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 405
    functionName: X509_ATTRIBUTE_set1_data
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - sk_ASN1_TYPE_push
    - ASN1_STRING_free
    - ASN1_TYPE_free
    - ASN1_TYPE_new
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_TYPE_set1
    - ASN1_STRING_set_by_NID
    - ASN1_STRING_type_new
    - ASN1_TYPE_set
    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:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    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:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - attr
    argTypes:
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    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(const X509_ATTRIBUTE *attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/x509_att.c:426,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/x509/x509_att.c:432,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:433,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: 437
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 437
    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(const 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:442,1
    - Dst: sk_ASN1_TYPE_value
      Src: /src/openssl/crypto/x509/x509_att.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - idx
    argTypes:
    - X509_ATTRIBUTE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: X509_ATTRIBUTE_get0_type
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 6
    functionsReached:
    - sk_ASN1_TYPE_value
    - ERR_raise
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *X509_ATTRIBUTE_get0_type(const 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_puts
    - BIO_printf
    - 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: 175
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: i2r_OSSL_DAY_TIME
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ASN1_INTEGER_get_int64
    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:182,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:184,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:187,1
    - Dst: i2r_OSSL_DAY_TIME
      Src: /src/openssl/crypto/x509/v3_timespec.c:190,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:192,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: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    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:202,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:204,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:206,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:208,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:210,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:212,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:214,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:216,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:218,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:220,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:222,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - out
    - month
    argTypes:
    - BIO*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 229
    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:237,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:238,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 246
    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:259,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:260,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    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:276,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:277,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    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:291,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:293,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:295,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:297,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:299,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - out
    - dow
    argTypes:
    - BIO*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 308
    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:314,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:316,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:318,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:320,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:322,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:324,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - out
    - nd
    argTypes:
    - BIO*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 331
    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:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 336
    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:348,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:351,1
    - Dst: sk_OSSL_DAY_TIME_BAND_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:353,1
    - Dst: sk_OSSL_DAY_TIME_BAND_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:354,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:355,1
    - Dst: i2r_OSSL_DAY_TIME_BAND
      Src: /src/openssl/crypto/x509/v3_timespec.c:357,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:359,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:369,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:372,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:376,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:382,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:383,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:384,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:386,1
    - Dst: print_int_day_of_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:390,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:392,1
    - Dst: print_day_of_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:398,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:404,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:409,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:414,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:419,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:424,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:433,1
    - Dst: print_int_named_day
      Src: /src/openssl/crypto/x509/v3_timespec.c:435,1
    - Dst: print_bit_named_day
      Src: /src/openssl/crypto/x509/v3_timespec.c:439,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:449,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:455,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:458,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:462,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:468,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:472,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:473,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:474,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:476,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:478,1
    - Dst: print_bit_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:483,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:489,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:493,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:497,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:501,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:502,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:503,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:505,1
    - Dst: print_int_month
      Src: /src/openssl/crypto/x509/v3_timespec.c:507,1
    - Dst: print_bit_month
      Src: /src/openssl/crypto/x509/v3_timespec.c:512,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:518,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:522,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:524,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:525,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:526,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:528,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:530,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: 535
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 535
    functionName: i2r_OSSL_PERIOD
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - print_int_month
    - BIO_puts
    - BIO_printf
    - print_day_of_week
    - sk_ASN1_INTEGER_value
    - sk_OSSL_DAY_TIME_BAND_value
    - print_int_named_day
    - ASN1_INTEGER_get_int64
    - sk_OSSL_DAY_TIME_BAND_num
    - print_int_day_of_week
    - sk_ASN1_INTEGER_num
    - print_bit_week
    - print_bit_month
    - i2r_OSSL_DAY_TIME_BAND
    - print_bit_named_day
    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:546,1
    - Dst: i2r_OSSL_TIME_SPEC_ABSOLUTE
      Src: /src/openssl/crypto/x509/v3_timespec.c:548,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:550,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:552,1
    - Dst: sk_OSSL_TIME_PERIOD_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:554,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:555,1
    - Dst: sk_OSSL_TIME_PERIOD_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:557,1
    - Dst: i2r_OSSL_PERIOD
      Src: /src/openssl/crypto/x509/v3_timespec.c:558,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:561,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: 566
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 566
    functionName: i2r_OSSL_TIME_SPEC_TIME
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2r_OSSL_PERIOD
    - sk_OSSL_TIME_PERIOD_num
    - sk_OSSL_TIME_PERIOD_value
    - i2r_OSSL_TIME_SPEC_ABSOLUTE
    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:575,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:577,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:581,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:583,1
    - Dst: i2r_OSSL_TIME_SPEC_TIME
      Src: /src/openssl/crypto/x509/v3_timespec.c:586,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: 587
      start: 568
    functionDepth: 5
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: i2r_OSSL_TIME_SPEC
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ASN1_INTEGER_get_int64
    - 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: 3
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: X509_to_X509_REQ
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - X509_REQ_set_subject_name
    - ERR_raise
    - X509_REQ_new_ex
    - X509_REQ_set_pubkey
    - X509_get0_pubkey
    - X509_get_subject_name
    - OPENSSL_malloc
    - X509_REQ_sign
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *X509_to_X509_REQ(const 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: 3
    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(const 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:
    - ossl_x509_check_private_key
    - X509_REQ_get0_pubkey
    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: 2
    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: 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: ossl_x509_req_get1_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:187,1
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/x509/x509_req.c:191,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/x509_req.c:195,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:198,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_req.c:199,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/x509_req.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - req
    - exts
    - nid
    argTypes:
    - X509_REQ*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 204
    functionName: X509_REQ_add_extensions_nid
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - X509v3_add_extensions
    - ossl_x509_req_get1_extensions_by_nid
    - OPENSSL_free
    - sk_X509_EXTENSION_pop_free
    - X509_ATTRIBUTE_free
    - sk_X509_EXTENSION_num
    - STACK_OF
    - ASN1_ITEM_rptr
    - X509at_get_attr_by_NID
    - X509_REQ_add1_attr_by_NID
    - X509at_delete_attr
    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:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - exts
    argTypes:
    - X509_REQ*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: X509_REQ_add_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    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:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nid
    - lastpos
    argTypes:
    - X509_REQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: X509_REQ_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    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:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - obj
    - lastpos
    argTypes:
    - X509_REQ*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 228
    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:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - loc
    argTypes:
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: X509_REQ_get_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    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:240,1
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/x509/x509_req.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - req
    - loc
    argTypes:
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: X509_REQ_delete_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509at_delete_attr
    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:252,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/crypto/x509/x509_req.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - req
    - attr
    argTypes:
    - X509_REQ*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: X509_REQ_add1_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509at_add1_attr
    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:266,1
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_req.c:269,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: 274
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: X509_REQ_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_OBJ
    - ERR_raise
    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:281,1
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:284,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: 289
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: X509_REQ_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 2
    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:296,1
    - Dst: X509at_add1_attr_by_txt
      Src: /src/openssl/crypto/x509/x509_req.c:299,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: 304
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: X509_REQ_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509at_add1_attr_by_txt
    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:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    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: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    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: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    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:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - psig
    argTypes:
    - X509_REQ*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    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:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - palg
    argTypes:
    - X509_REQ*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    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:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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:345,1
    - Dst: i2d_X509_REQ_INFO
      Src: /src/openssl/crypto/x509/x509_req.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - pp
    argTypes:
    - X509_REQ*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 350
    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:66,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:69,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:73,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: 74
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 74
    functionName: i2r_HASH
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - ossl_bio_print_hex
    - ossl_print_attribute_value
    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:80,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:82,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:84,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:87,1
    - Dst: i2r_HASH
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:89,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: 93
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: i2r_INFO_SYNTAX_POINTER
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2r_HASH
    - OSSL_GENERAL_NAMES_print
    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:101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:103,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:105,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:109,1
    - Dst: i2r_INFO_SYNTAX_POINTER
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:111,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: 116
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: i2r_OSSL_INFO_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2r_INFO_SYNTAX_POINTER
    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:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:127,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:129,1
    - Dst: i2r_OSSL_INFO_SYNTAX
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:131,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: 132
      start: 118
    functionDepth: 9
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: i2r_OSSL_PRIVILEGE_POLICY_ID
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - i2r_OSSL_INFO_SYNTAX
    - BIO_printf
    - OBJ_obj2txt
    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:141,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:143,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:147,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:163,1
    - Dst: i2r_OSSL_PRIVILEGE_POLICY_ID
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:165,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: 166
      start: 134
    functionDepth: 10
    functionLinenumber: 134
    functionLinenumberEnd: 166
    functionName: i2r_OSSL_ATTRIBUTE_DESCRIPTOR
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OBJ_obj2txt
    - i2r_OSSL_PRIVILEGE_POLICY_ID
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_ATTRIBUTE_DESCRIPTOR(X509V3_EXT_METHOD *method,\n    OSSL_ATTRIBUTE_DESCRIPTOR
      *ad,\n    BIO *out, int indent)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_akid.c:108,1
    - Dst: AUTHORITY_KEYID_new
      Src: /src/openssl/crypto/x509/v3_akid.c:118,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:124,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_akid.c:124,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_akid.c:130,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:132,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:134,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_akid.c:137,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:142,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:144,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:146,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:147,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:148,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_akid.c:149,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_akid.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:167,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/v3_akid.c:171,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/x509/v3_akid.c:173,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/v3_akid.c:176,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_akid.c:184,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_akid.c:185,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/crypto/x509/v3_akid.c:187,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/v3_akid.c:189,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_akid.c:190,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/v3_akid.c:208,1
    - Dst: ossl_x509_pubkey_hash
      Src: /src/openssl/crypto/x509/v3_akid.c:209,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/v3_akid.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:213,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/v3_akid.c:229,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_akid.c:229,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/x509/v3_akid.c:230,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/v3_akid.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:235,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/crypto/x509/v3_akid.c:240,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_akid.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:242,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_akid.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:246,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_akid.c:262,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_akid.c:263,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_akid.c:264,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_akid.c:265,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_akid.c:266,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/v3_akid.c:267,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 114
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 104
    functionDepth: 12
    functionLinenumber: 104
    functionLinenumberEnd: 269
    functionName: v2i_AUTHORITY_KEYID
    functionSourceFile: /src/openssl/crypto/x509/v3_akid.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_free
    - sk_CONF_VALUE_value
    - sk_GENERAL_NAME_push
    - X509_NAME_dup
    - ERR_pop_to_mark
    - ASN1_OCTET_STRING_free
    - ERR_raise_data
    - ERR_raise
    - ASN1_STRING_length
    - GENERAL_NAME_new
    - strcmp
    - X509_get_ext
    - sk_GENERAL_NAME_new_null
    - X509_PUBKEY_set
    - sk_GENERAL_NAME_free
    - ERR_set_mark
    - X509_get_issuer_name
    - ASN1_INTEGER_dup
    - X509V3_EXT_d2i
    - X509_get0_serialNumber
    - X509_NAME_free
    - X509_get_ext_by_NID
    - X509_PUBKEY_free
    - ASN1_INTEGER_free
    - ossl_x509_pubkey_hash
    - X509_check_private_key
    - AUTHORITY_KEYID_new
    - AUTHORITY_KEYID_free
    - sk_CONF_VALUE_num
    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:93,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:97,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_cpols.c:97,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:103,1
    - Dst: sk_POLICYINFO_new_reserve
      Src: /src/openssl/crypto/x509/v3_cpols.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:109,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:117,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:118,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:122,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:126,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:128,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_cpols.c:130,1
    - Dst: policy_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:134,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:135,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:139,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_cpols.c:140,1
    - Dst: POLICYINFO_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:145,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:148,1
    - Dst: sk_POLICYINFO_push
      Src: /src/openssl/crypto/x509/v3_cpols.c:153,1
    - Dst: POLICYINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:155,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:159,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:162,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:163,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: 165
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: r2i_certpol
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - policy_section
    - sk_CONF_VALUE_value
    - X509V3_conf_add_error_name_value
    - X509V3_section_free
    - sk_CONF_VALUE_pop_free
    - ERR_raise_data
    - ERR_raise
    - STACK_OF
    - ASN1_OBJECT_free
    - POLICYINFO_new
    - strcmp
    - OBJ_txt2obj
    - sk_POLICYINFO_new_reserve
    - sk_POLICYINFO_pop_free
    - X509V3_get_section
    - POLICYINFO_free
    - sk_CONF_VALUE_num
    - sk_POLICYINFO_push
    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:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:176,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:179,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:180,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:181,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:185,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:186,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:191,1
    - Dst: sk_POLICYQUALINFO_new_null
      Src: /src/openssl/crypto/x509/v3_cpols.c:193,1
    - Dst: POLICYQUALINFO_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:195,1
    - Dst: sk_POLICYQUALINFO_push
      Src: /src/openssl/crypto/x509/v3_cpols.c:198,1
    - Dst: POLICYQUALINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:200,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:204,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:208,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_cpols.c:211,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_cpols.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:213,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:216,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:219,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:220,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:225,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:227,1
    - Dst: notice_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:230,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:231,1
    - Dst: sk_POLICYQUALINFO_new_null
      Src: /src/openssl/crypto/x509/v3_cpols.c:235,1
    - Dst: sk_POLICYQUALINFO_push
      Src: /src/openssl/crypto/x509/v3_cpols.c:236,1
    - Dst: POLICYQUALINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:242,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:248,1
    - Dst: POLICYINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:255,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 3
    argNames:
    - ctx
    - polstrs
    - ia5org
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 257
    functionName: policy_section
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - ASN1_IA5STRING_new
    - POLICYQUALINFO_free
    - sk_CONF_VALUE_value
    - OBJ_nid2obj
    - X509V3_section_free
    - ERR_raise
    - STACK_OF
    - POLICYQUALINFO_new
    - POLICYINFO_new
    - ossl_v3_name_cmp
    - notice_section
    - strcmp
    - sk_POLICYQUALINFO_new_null
    - OBJ_txt2obj
    - sk_POLICYQUALINFO_push
    - X509V3_get_section
    - POLICYINFO_free
    - sk_CONF_VALUE_num
    - X509V3_conf_err
    - strlen
    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:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tagstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    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:271,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:276,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:278,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:280,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:282,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:284,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:286,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - tagstr
    - tag_len
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 290
    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:302,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:303,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:307,1
    - Dst: USERNOTICE_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:311,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:315,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:316,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:319,1
    - Dst: displaytext_str2tag
      Src: /src/openssl/crypto/x509/v3_cpols.c:320,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:322,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_cpols.c:327,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_cpols.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:329,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:332,1
    - Dst: NOTICEREF_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:337,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_cpols.c:347,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_cpols.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:349,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:352,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:355,1
    - Dst: NOTICEREF_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:358,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_cpols.c:364,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:366,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:367,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:368,1
    - Dst: nref_nos
      Src: /src/openssl/crypto/x509/v3_cpols.c:371,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:376,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:377,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: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 392
    functionName: notice_section
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - POLICYQUALINFO_new
    - ASN1_STRING_set
    - X509V3_parse_list
    - USERNOTICE_new
    - OBJ_nid2obj
    - sk_CONF_VALUE_pop_free
    - nref_nos
    - displaytext_str2tag
    - ERR_raise
    - strcmp
    - NOTICEREF_new
    - POLICYQUALINFO_free
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - X509V3_conf_add_error_name_value
    - strlen
    - ASN1_STRING_type_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:
    - BIO_puts
    - BIO_printf
    - sk_ASN1_INTEGER_value
    - OPENSSL_free
    - sk_ASN1_INTEGER_num
    - i2s_ASN1_INTEGER
    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:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - out
    - node
    - indent
    argTypes:
    - BIO*
    - X509_POLICY_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 517
    functionName: X509_POLICY_NODE_print
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - node_data_critical
    - print_qualifiers
    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:34,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:36,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:38,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:40,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:42,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:45,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:47,1
    - Dst: ossl_serial_number_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:49,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:53,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:55,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:57,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:60,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: 61
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: i2r_OSSL_ROLE_SPEC_CERT_ID
    functionSourceFile: /src/openssl/crypto/x509/v3_rolespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OSSL_GENERAL_NAMES_print
    - ossl_serial_number_print
    - GENERAL_NAME_print
    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:70,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:73,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: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: i2r_OSSL_ROLE_SPEC_CERT_ID_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_rolespec.c
    functionUses: 0
    functionsReached:
    - i2r_OSSL_ROLE_SPEC_CERT_ID
    - sk_OSSL_ROLE_SPEC_CERT_ID_num
    - BIO_puts
    - BIO_printf
    - sk_OSSL_ROLE_SPEC_CERT_ID_value
    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:
    - BIO_printf
    - sk_SXNETID_value
    - OPENSSL_free
    - ASN1_INTEGER_get_int64
    - ASN1_STRING_print
    - i2s_ASN1_INTEGER
    - sk_SXNETID_num
    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_value
    - sk_CONF_VALUE_num
    - 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:
    - SXNET_add_id_INTEGER
    - ASN1_INTEGER_free
    - s2i_ASN1_INTEGER
    - ERR_raise
    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:
    - SXNET_add_id_INTEGER
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - ERR_raise
    - ASN1_INTEGER_set
    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:
    - ASN1_OCTET_STRING_set
    - ASN1_INTEGER_free
    - ERR_raise
    - SXNET_new
    - SXNET_get_id_INTEGER
    - SXNETID_free
    - SXNETID_new
    - strlen
    - ASN1_INTEGER_set
    - SXNET_free
    - sk_SXNETID_push
    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:
    - SXNET_get_id_INTEGER
    - s2i_ASN1_INTEGER
    - ERR_raise
    - ASN1_INTEGER_free
    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:
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - ERR_raise
    - SXNET_get_id_INTEGER
    - ASN1_INTEGER_set
    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:
    - ASN1_INTEGER_cmp
    - sk_SXNETID_num
    - sk_SXNETID_value
    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:73,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/store/store_err.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_result.c:94,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/store/store_result.c:95,1
    - Dst: memset
      Src: /src/openssl/crypto/store/store_result.c:100,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:103,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/store/store_result.c:104,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:106,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:108,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:110,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:112,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:114,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:116,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:118,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:120,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:122,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:124,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:125,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: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:155,1
    - Dst: try_skey
      Src: /src/openssl/crypto/store/store_result.c:156,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:158,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/crypto/store/store_result.c:163,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_result.c:166,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/store/store_result.c:167,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_result.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_result.c:171,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_result.c:176,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 67
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 89
    functionDepth: 10
    functionLinenumber: 89
    functionLinenumberEnd: 178
    functionName: ossl_store_handle_load_result
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - try_pkcs12
    - OSSL_PARAM_get_int
    - ERR_clear_last_mark
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PROVIDER_available
    - ossl_provider_libctx
    - OSSL_PARAM_get_octet_string_ptr
    - try_name
    - ERR_pop_to_mark
    - try_crl
    - ERR_raise_data
    - OSSL_PARAM_locate_const
    - ERR_raise
    - try_key
    - OSSL_STORE_LOADER_get0_provider
    - memset
    - ERR_set_mark
    - try_cert
    - try_skey
    - OSSL_PROVIDER_get0_name
    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:187,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/store/store_result.c:189,1
    - Dst: OSSL_STORE_INFO_new_NAME
      Src: /src/openssl/crypto/store/store_result.c:190,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_result.c:191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_result.c:192,1
    - Dst: OSSL_STORE_INFO_set0_NAME_description
      Src: /src/openssl/crypto/store/store_result.c:195,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: 198
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: try_name
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_INFO_set0_NAME_description
    - OPENSSL_strdup
    - OSSL_STORE_INFO_new_NAME
    - OPENSSL_free
    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:221,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:222,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/store/store_result.c:232,1
    - Dst: evp_keymgmt_load
      Src: /src/openssl/crypto/store/store_result.c:235,1
    - Dst: export_object
      Src: /src/openssl/crypto/store/store_result.c:249,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/store/store_result.c:259,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/store/store_result.c:260,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:263,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:264,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:269,1
    - Dst: evp_keymgmt_util_make_pkey
      Src: /src/openssl/crypto/store/store_result.c:270,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_result.c:272,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/store/store_result.c:274,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: 277
      start: 207
    functionDepth: 10
    functionLinenumber: 207
    functionLinenumberEnd: 277
    functionName: try_key_ref
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - evp_keymgmt_util_make_pkey
    - ERR_clear_last_mark
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_load
    - EVP_KEYMGMT_free
    - evp_keymgmt_fetch_from_prov
    - EVP_KEYMGMT_fetch
    - export_object
    - ERR_set_mark
    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:308,1
    - Dst: OSSL_DECODER_CTX_set_passphrase_cb
      Src: /src/openssl/crypto/store/store_result.c:311,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/store/store_result.c:314,1
    - Dst: ossl_decoder_ctx_get_harderr
      Src: /src/openssl/crypto/store/store_result.c:317,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/store/store_result.c:318,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: 321
      start: 279
    functionDepth: 12
    functionLinenumber: 279
    functionLinenumberEnd: 321
    functionName: try_key_value
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_CTX_set_passphrase_cb
    - OSSL_DECODER_from_data
    - ossl_decoder_ctx_get_harderr
    - OSSL_DECODER_CTX_free
    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:339,1
    - Dst: d2i_X509_SIG
      Src: /src/openssl/crypto/store/store_result.c:355,1
    - Dst: cb
      Src: /src/openssl/crypto/store/store_result.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_result.c:362,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/store/store_result.c:368,1
    - Dst: PKCS12_pbe_crypt
      Src: /src/openssl/crypto/store/store_result.c:374,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/store/store_result.c:380,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/store/store_result.c:390,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/store/store_result.c:393,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_result.c:401,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: 405
      start: 325
    functionDepth: 6
    functionLinenumber: 325
    functionLinenumberEnd: 405
    functionName: try_key_value_legacy
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - X509_SIG_get0
    - PKCS8_PRIV_KEY_INFO_free
    - OPENSSL_free
    - ERR_raise
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS12_pbe_crypt
    - X509_SIG_free
    - d2i_X509_SIG
    - d2i_PUBKEY_ex
    - cb
    - EVP_PKCS82PKEY_ex
    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:420,1
    - Dst: try_key_value
      Src: /src/openssl/crypto/store/store_result.c:434,1
    - Dst: try_key_value_legacy
      Src: /src/openssl/crypto/store/store_result.c:444,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/store/store_result.c:460,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/store/store_result.c:462,1
    - Dst: store_info_new
      Src: /src/openssl/crypto/store/store_result.c:468,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_result.c:472,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: 476
      start: 407
    functionDepth: 13
    functionLinenumber: 407
    functionLinenumberEnd: 476
    functionName: try_key
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - try_key_value_legacy
    - store_info_new
    - evp_keymgmt_util_has
    - try_key_value
    - try_key_ref
    - EVP_PKEY_free
    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:493,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/store/store_result.c:500,1
    - Dst: d2i_X509_AUX
      Src: /src/openssl/crypto/store/store_result.c:503,1
    - Dst: d2i_X509
      Src: /src/openssl/crypto/store/store_result.c:507,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_result.c:510,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/crypto/store/store_result.c:517,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_result.c:519,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: 524
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 524
    functionName: try_cert
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - d2i_X509_AUX
    - d2i_X509
    - X509_free
    - OSSL_STORE_INFO_new_CERT
    - X509_new_ex
    - OPENSSL_strcasecmp
    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:533,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/store/store_result.c:540,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/store/store_result.c:541,1
    - Dst: OSSL_STORE_INFO_new_CRL
      Src: /src/openssl/crypto/store/store_result.c:546,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/store/store_result.c:548,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: 552
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 552
    functionName: try_crl
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - X509_CRL_free
    - d2i_X509_CRL
    - OSSL_STORE_INFO_new_CRL
    - ossl_x509_crl_set0_libctx
    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:565,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/store/store_result.c:574,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/crypto/store/store_result.c:580,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/store/store_result.c:581,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/store/store_result.c:583,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/crypto/store/store_result.c:588,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/crypto/store/store_result.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_result.c:597,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/store/store_result.c:607,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_result.c:608,1
    - Dst: PKCS12_parse
      Src: /src/openssl/crypto/store/store_result.c:615,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/store/store_result.c:616,1
    - Dst: sk_OSSL_STORE_INFO_new_null
      Src: /src/openssl/crypto/store/store_result.c:623,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/crypto/store/store_result.c:625,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/crypto/store/store_result.c:628,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/crypto/store/store_result.c:634,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/crypto/store/store_result.c:637,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/store/store_result.c:642,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/store/store_result.c:643,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/crypto/store/store_result.c:645,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/store/store_result.c:646,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/crypto/store/store_result.c:647,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_result.c:653,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_result.c:654,1
    - Dst: OSSL_STACK_OF_X509_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: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:657,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:658,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/openssl/crypto/store/store_result.c:660,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/store/store_result.c:666,1
    - Dst: PKCS12_free
      Src: /src/openssl/crypto/store/store_result.c:667,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/openssl/crypto/store/store_result.c:669,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: 673
      start: 554
    functionDepth: 5
    functionLinenumber: 554
    functionLinenumberEnd: 673
    functionName: try_pkcs12
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - ossl_pw_get_passphrase
    - PKCS12_parse
    - X509_free
    - OSSL_STORE_INFO_new_CERT
    - sk_X509_num
    - d2i_PKCS12
    - OPENSSL_cleanse
    - OSSL_STORE_INFO_new_PKEY
    - ERR_raise_data
    - sk_OSSL_STORE_INFO_pop_free
    - ERR_raise
    - STACK_OF
    - OSSL_STORE_INFO_free
    - OSSL_PARAM_utf8_string
    - sk_OSSL_STORE_INFO_push
    - PKCS12_verify_mac
    - sk_OSSL_STORE_INFO_shift
    - EVP_PKEY_free
    - PKCS12_mac_present
    - OSSL_STACK_OF_X509_free
    - sk_X509_value
    - PKCS12_free
    - sk_X509_shift
    - sk_OSSL_STORE_INFO_new_null
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/crypto/store/store_result.c:691,1
    - Dst: evp_skeymgmt_fetch_from_prov
      Src: /src/openssl/crypto/store/store_result.c:694,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/store/store_result.c:707,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/store/store_result.c:709,1
    - Dst: EVP_SKEY_import_SKEYMGMT
      Src: /src/openssl/crypto/store/store_result.c:711,1
    - Dst: OSSL_STORE_INFO_new_SKEY
      Src: /src/openssl/crypto/store/store_result.c:715,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/store/store_result.c:717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - data
    - v
    - provider
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_PROVIDER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 675
    functionDepth: 6
    functionLinenumber: 675
    functionLinenumberEnd: 720
    functionName: try_skey
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - evp_skeymgmt_fetch_from_prov
    - EVP_SKEY_import_SKEYMGMT
    - EVP_SKEY_free
    - OSSL_PARAM_construct_end
    - EVP_SKEY_import_raw_key
    - OSSL_STORE_INFO_new_SKEY
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: int
    signature: "int try_skey(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v,\n    const OSSL_PROVIDER *provider, OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/store/store_strings.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    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: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - ossl_provider_free
    - 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
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - ossl_provider_up_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:
    - get_loader_store
    - ossl_method_lock_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:
    - get_loader_store
    - ossl_method_unlock_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:
    - get_loader_store
    - ossl_method_store_fetch
    - ossl_namemap_name2num
    - ossl_namemap_stored
    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:
    - get_loader_store
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_method_store_add
    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:202,1
    - Dst: OSSL_FUNC_store_set_ctx_params
      Src: /src/openssl/crypto/store/store_meth.c:206,1
    - Dst: OSSL_FUNC_store_load
      Src: /src/openssl/crypto/store/store_meth.c:210,1
    - Dst: OSSL_FUNC_store_eof
      Src: /src/openssl/crypto/store/store_meth.c:214,1
    - Dst: OSSL_FUNC_store_close
      Src: /src/openssl/crypto/store/store_meth.c:218,1
    - Dst: OSSL_FUNC_store_export_object
      Src: /src/openssl/crypto/store/store_meth.c:222,1
    - Dst: OSSL_FUNC_store_delete
      Src: /src/openssl/crypto/store/store_meth.c:226,1
    - Dst: OSSL_FUNC_store_open_ex
      Src: /src/openssl/crypto/store/store_meth.c:230,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_meth.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:241,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: 245
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 245
    functionName: loader_from_algorithm
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_store_delete
    - new_loader
    - OSSL_FUNC_store_open
    - OSSL_FUNC_store_eof
    - OSSL_FUNC_store_close
    - OSSL_FUNC_store_load
    - OSSL_FUNC_store_export_object
    - OSSL_FUNC_store_set_ctx_params
    - OSSL_FUNC_store_open_ex
    - ERR_raise
    - OSSL_FUNC_store_settable_ctx_params
    - OSSL_FUNC_store_attach
    - OSSL_STORE_LOADER_free
    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:262,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:263,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/store/store_meth.c:265,1
    - Dst: loader_from_algorithm
      Src: /src/openssl/crypto/store/store_meth.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 7
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: construct_loader
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - loader_from_algorithm
    - ossl_provider_libctx
    - ossl_namemap_stored
    - 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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 286
    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:293,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:300,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:305,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/store/store_meth.c:314,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/store/store_meth.c:330,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:361,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_meth.c:362,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/store/store_meth.c:365,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: 371
      start: 289
    functionDepth: 7
    functionLinenumber: 289
    functionLinenumberEnd: 371
    functionName: inner_loader_fetch
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_cache_set
    - ERR_raise_data
    - ERR_raise
    - ossl_namemap_num2name
    - get_loader_store
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    - ossl_namemap_stored
    - ossl_lib_ctx_get_descriptor
    - ossl_method_construct
    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:382,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - scheme
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 8
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: OSSL_STORE_LOADER_fetch
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - dealloc_tmp_loader_store
    - inner_loader_fetch
    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:389,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/store/store_meth.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 6
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: ossl_store_loader_store_cache_flush
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 1
    functionsReached:
    - get_loader_store
    - ossl_method_store_cache_flush_all
    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:398,1
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:399,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/store/store_meth.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: ossl_store_loader_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 1
    functionsReached:
    - get_loader_store
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    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:412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 418
    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:422,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 428
    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:432,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 438
    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: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    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:448,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:449,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - loader
    - name
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: OSSL_STORE_LOADER_is_a
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_name2num
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - int
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    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:478,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/store/store_meth.c:483,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/store/store_meth.c:484,1
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:484,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 8
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: OSSL_STORE_LOADER_do_all_provided
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - get_loader_store
    - ossl_method_store_do_all
    - dealloc_tmp_loader_store
    - inner_loader_fetch
    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:496,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:497,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/store/store_meth.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - loader
    - data
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 7
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: OSSL_STORE_LOADER_names_do_all
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_doall_names
    - ossl_provider_libctx
    - ossl_namemap_stored
    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:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    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:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/store/store_register.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:45,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_register.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - e
    - scheme
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: OSSL_STORE_LOADER_new
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_assert
    - 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: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: OSSL_STORE_LOADER_set_open
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: OSSL_STORE_LOADER_set_open_ex
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_open_ex(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: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: OSSL_STORE_LOADER_set_attach
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: OSSL_STORE_LOADER_set_ctrl
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: OSSL_STORE_LOADER_set_expect
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: OSSL_STORE_LOADER_set_find
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: OSSL_STORE_LOADER_set_load
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: OSSL_STORE_LOADER_set_eof
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: OSSL_STORE_LOADER_set_error
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: OSSL_STORE_LOADER_set_close
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    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:143,1
    - Dst: strcmp
      Src: /src/openssl/crypto/store/store_register.c:144,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: 142
        line_start: 142
        source_file: /src/openssl/crypto/store/store_register.c
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: store_loader_cmp
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - assert
    - strcmp
    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:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    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:168,1
    - Dst: ossl_isalpha
      Src: /src/openssl/crypto/store/store_register.c:170,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/store/store_register.c:171,1
    - Dst: strchr
      Src: /src/openssl/crypto/store/store_register.c:172,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_register.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:183,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/store/store_register.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:189,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/store/store_register.c:192,1
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:195,1
    - Dst: lh_OSSL_STORE_LOADER_insert
      Src: /src/openssl/crypto/store/store_register.c:196,1
    - Dst: lh_OSSL_STORE_LOADER_error
      Src: /src/openssl/crypto/store/store_register.c:197,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/store/store_register.c:200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 203
    functionName: ossl_store_register_loader_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - strchr
    - RUN_ONCE
    - CRYPTO_THREAD_unlock
    - lh_OSSL_STORE_LOADER_insert
    - ERR_raise_data
    - ERR_raise
    - ossl_isdigit
    - lh_OSSL_STORE_LOADER_error
    - ossl_store_register_init
    - CRYPTO_THREAD_write_lock
    - ossl_isalpha
    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:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: OSSL_STORE_register_loader
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:223,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/store/store_register.c:226,1
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:230,1
    - Dst: lh_OSSL_STORE_LOADER_retrieve
      Src: /src/openssl/crypto/store/store_register.c:231,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_register.c:234,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/store/store_register.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 240
    functionName: ossl_store_get0_loader_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_STORE_LOADER_retrieve
    - RUN_ONCE
    - CRYPTO_THREAD_unlock
    - ERR_raise_data
    - ERR_raise
    - ossl_store_register_init
    - CRYPTO_THREAD_write_lock
    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:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:255,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/store/store_register.c:258,1
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:262,1
    - Dst: lh_OSSL_STORE_LOADER_delete
      Src: /src/openssl/crypto/store/store_register.c:263,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_register.c:266,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/store/store_register.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: ossl_store_unregister_loader_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - CRYPTO_THREAD_unlock
    - ERR_raise_data
    - lh_OSSL_STORE_LOADER_delete
    - ERR_raise
    - ossl_store_register_init
    - CRYPTO_THREAD_write_lock
    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:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: OSSL_STORE_unregister_loader
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    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:280,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/store/store_register.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    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:296,1
    - Dst: lh_OSSL_STORE_LOADER_doall_void
      Src: /src/openssl/crypto/store/store_register.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - do_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: OSSL_STORE_do_all_loaders
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - ossl_store_register_init
    - lh_OSSL_STORE_LOADER_doall_void
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_do_all_loaders(void (*do_function)(const OSSL_STORE_LOADER\n
      \                                                     *loader,\n                                  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:53,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/store/store_lib.c:55,1
    - Dst: OSSL_STORE_LOADER*::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:57,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: 61
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: loader_set_params
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER*::p_set_ctx_params
    - OSSL_PARAM_construct_utf8_string
    - 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: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:82,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/store/store_lib.c:100,1
    - Dst: strchr
      Src: /src/openssl/crypto/store/store_lib.c:101,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/store/store_lib.c:103,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/store/store_lib.c:104,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_lib.c:110,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/store/store_lib.c:113,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/store/store_lib.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:115,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:129,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_lib.c:131,1
    - Dst: ossl_store_get0_loader_int
      Src: /src/openssl/crypto/store/store_lib.c:132,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:133,1
    - Dst: OSSL_STORE_LOADER*::open_ex
      Src: /src/openssl/crypto/store/store_lib.c:136,1
    - Dst: OSSL_STORE_LOADER*::open
      Src: /src/openssl/crypto/store/store_lib.c:139,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_lib.c:141,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/crypto/store/store_lib.c:145,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:146,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:147,1
    - Dst: OSSL_STORE_LOADER*::p_open_ex
      Src: /src/openssl/crypto/store/store_lib.c:151,1
    - Dst: OSSL_STORE_LOADER*::p_open
      Src: /src/openssl/crypto/store/store_lib.c:155,1
    - Dst: loader_set_params
      Src: /src/openssl/crypto/store/store_lib.c:155,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:230,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:234,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:235,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:236,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 85
    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: 238
      start: 63
    functionDepth: 9
    functionLinenumber: 63
    functionLinenumberEnd: 238
    functionName: OSSL_STORE_open_ex
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    functionsReached:
    - ERR_clear_last_mark
    - OSSL_TRACE1
    - OSSL_STORE_LOADER*::open_ex
    - ERR_pop_to_mark
    - OSSL_STORE_LOADER_fetch
    - OPENSSL_zalloc
    - ossl_pw_clear_passphrase_cache
    - OPENSSL_free
    - ERR_raise
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_STORE_LOADER_free
    - OSSL_STORE_LOADER*::open
    - OSSL_TRACE2
    - ossl_store_get0_loader_int
    - OSSL_STORE_LOADER*::p_open
    - OPENSSL_strcasecmp
    - ERR_set_mark
    - OPENSSL_strlcpy
    - HAS_PREFIX
    - strchr
    - OPENSSL_strdup
    - ossl_pw_set_ui_method
    - ossl_pw_enable_passphrase_caching
    - loader_set_params
    - OSSL_STORE_LOADER*::p_open_ex
    - ossl_store_close_it
    - OSSL_STORE_LOADER*::p_close
    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:245,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: 247
      start: 240
    functionDepth: 10
    functionLinenumber: 240
    functionLinenumberEnd: 247
    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:255,1
    - Dst: OSSL_STORE_vctrl
      Src: /src/openssl/crypto/store/store_lib.c:256,1
    - Dst: va_end
      Src: /src/openssl/crypto/store/store_lib.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - OSSL_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: OSSL_STORE_ctrl
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_vctrl
    - va_end
    - 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:272,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: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 290
    functionName: OSSL_STORE_vctrl
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_CTX*::loader::ctrl
    - OSSL_PARAM_construct_int
    - OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
    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:312,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:313,1
    - Dst: OSSL_STORE_CTX*::loader::expect
      Src: /src/openssl/crypto/store/store_lib.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - expected_type
    argTypes:
    - OSSL_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 322
    functionName: OSSL_STORE_expect
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_CTX*::loader::expect
    - OSSL_PARAM_construct_int
    - OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
    - ERR_raise
    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:329,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:347,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/store/store_lib.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:352,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/store/store_lib.c:360,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:372,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/store/store_lib.c:373,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/store/store_lib.c:376,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/crypto/store/store_lib.c:381,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/store/store_lib.c:382,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/store/store_lib.c:384,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/crypto/store/store_lib.c:391,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/store/store_lib.c:398,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:399,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/store/store_lib.c:401,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/store/store_lib.c:403,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:404,1
    - Dst: BN_free
      Src: /src/openssl/crypto/store/store_lib.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:410,1
    - Dst: OSSL_STORE_CTX*::loader::find
      Src: /src/openssl/crypto/store/store_lib.c:413,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - ctx
    - search
    argTypes:
    - OSSL_STORE_CTX*
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 324
    functionDepth: 11
    functionLinenumber: 324
    functionLinenumberEnd: 418
    functionName: OSSL_STORE_find
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ASN1_INTEGER_to_BN
    - OPENSSL_free
    - OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
    - OSSL_PARAM_free
    - ERR_raise
    - OSSL_PARAM_BLD_push_BN
    - EVP_MD_get0_name
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - OSSL_STORE_CTX*::loader::find
    - BN_free
    - i2d_X509_NAME
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    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:426,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/store/store_lib.c:430,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/openssl/crypto/store/store_lib.c:433,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_load
      Src: /src/openssl/crypto/store/store_lib.c:442,1
    - Dst: OSSL_STORE_CTX*::loader::load
      Src: /src/openssl/crypto/store/store_lib.c:454,1
    - Dst: OSSL_STORE_CTX*::post_process
      Src: /src/openssl/crypto/store/store_lib.c:461,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/store/store_lib.c:472,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/crypto/store/store_lib.c:475,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_lib.c:479,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:486,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/openssl/crypto/store/store_lib.c:487,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/crypto/store/store_lib.c:487,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 490
    functionName: OSSL_STORE_load
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_CTX*::fetched_loader::p_load
    - OSSL_STORE_CTX*::loader::load
    - ossl_pw_clear_passphrase_cache
    - OSSL_TRACE1
    - sk_OSSL_STORE_INFO_shift
    - OSSL_TRACE
    - OSSL_STORE_CTX*::post_process
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_type_string
    - OSSL_STORE_eof
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:502,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/store/store_lib.c:505,1
    - Dst: strchr
      Src: /src/openssl/crypto/store/store_lib.c:506,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/store/store_lib.c:512,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/store/store_lib.c:513,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:514,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:518,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/crypto/store/store_lib.c:519,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:522,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:523,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:529,1
    - Dst: OSSL_STORE_LOADER*::p_delete
      Src: /src/openssl/crypto/store/store_lib.c:530,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/store/store_lib.c:535,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    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: 540
      start: 492
    functionDepth: 9
    functionLinenumber: 492
    functionLinenumberEnd: 540
    functionName: OSSL_STORE_delete
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - OSSL_STORE_LOADER_fetch
    - ossl_pw_set_ui_method
    - ossl_pw_enable_passphrase_caching
    - OSSL_TRACE1
    - ossl_pw_clear_passphrase_cache
    - ERR_raise
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_STORE_LOADER*::p_delete
    - OSSL_STORE_LOADER_get0_provider
    - OPENSSL_strlcpy
    - OSSL_STORE_LOADER_free
    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:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 553
    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:560,1
    - Dst: sk_OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_lib.c:561,1
    - Dst: OSSL_STORE_CTX*::loader::p_eof
      Src: /src/openssl/crypto/store/store_lib.c:568,1
    - Dst: OSSL_STORE_CTX*::loader::eof
      Src: /src/openssl/crypto/store/store_lib.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 575
    functionName: OSSL_STORE_eof
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - sk_OSSL_STORE_INFO_free
    - OSSL_STORE_CTX*::loader::eof
    - OSSL_STORE_CTX*::loader::p_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:583,1
    - Dst: OSSL_STORE_CTX*::loader::p_close
      Src: /src/openssl/crypto/store/store_lib.c:586,1
    - Dst: OSSL_STORE_CTX*::loader::closefn
      Src: /src/openssl/crypto/store/store_lib.c:589,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/openssl/crypto/store/store_lib.c:592,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:594,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/store/store_lib.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 597
    functionName: ossl_store_close_it
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_CTX*::loader::p_close
    - OPENSSL_free
    - OSSL_TRACE1
    - OSSL_STORE_CTX*::loader::closefn
    - sk_OSSL_STORE_INFO_pop_free
    - ossl_pw_clear_passphrase_data
    - OSSL_STORE_LOADER_free
    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:601,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 605
    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:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 624
    functionName: OSSL_STORE_INFO_new
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    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:628,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 639
    functionName: OSSL_STORE_INFO_new_NAME
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    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:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - info
    - desc
    argTypes:
    - OSSL_STORE_INFO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 651
    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:654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 659
    functionName: OSSL_STORE_INFO_new_PARAMS
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    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:663,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 668
    functionName: OSSL_STORE_INFO_new_PUBKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    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:672,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 677
    functionName: OSSL_STORE_INFO_new_PKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    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:681,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x509
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: OSSL_STORE_INFO_new_CERT
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    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:690,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 695
    functionName: OSSL_STORE_INFO_new_CRL
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_CRL(X509_CRL *crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:699,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: OSSL_STORE_INFO_new_SKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_STORE_INFO_new
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_SKEY(EVP_SKEY *skey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: OSSL_STORE_INFO_get_type
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    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: 719
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: OSSL_STORE_INFO_get0_data
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    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: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    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:731,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 734
    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: 741
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 741
    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:746,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 749
    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: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    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:761,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 767
    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: 774
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 774
    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:779,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 785
    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: 792
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 792
    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:797,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 803
    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: 810
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 810
    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:815,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 821
    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: 828
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 828
    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:833,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 839
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 846
    functionName: OSSL_STORE_INFO_get0_SKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_SKEY
    signature: EVP_SKEY *OSSL_STORE_INFO_get0_SKEY(const OSSL_STORE_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEY_up_ref
      Src: /src/openssl/crypto/store/store_lib.c:851,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 857
    functionName: OSSL_STORE_INFO_get1_SKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SKEY_up_ref
    - ERR_raise
    linkageType: ''
    returnType: EVP_SKEY
    signature: EVP_SKEY *OSSL_STORE_INFO_get1_SKEY(const OSSL_STORE_INFO *info)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:867,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:868,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:871,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:874,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:877,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_lib.c:880,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/store/store_lib.c:883,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:886,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:889,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 862
    functionDepth: 4
    functionLinenumber: 862
    functionLinenumberEnd: 891
    functionName: OSSL_STORE_INFO_free
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - X509_free
    - X509_CRL_free
    - EVP_SKEY_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:898,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:898,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_settable_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:909,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:910,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:911,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:912,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:913,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:914,1
    - Dst: OSSL_STORE_CTX*::loader::find
      Src: /src/openssl/crypto/store/store_lib.c:938,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - search_type
    argTypes:
    - OSSL_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 893
    functionDepth: 11
    functionLinenumber: 893
    functionLinenumberEnd: 942
    functionName: OSSL_STORE_supports_search
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_CTX*::fetched_loader::p_settable_ctx_params
    - ossl_provider_ctx
    - OSSL_PARAM_locate_const
    - OSSL_STORE_CTX*::loader::find
    - OSSL_STORE_LOADER_get0_provider
    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:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 955
    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(const X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - serial
    argTypes:
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 969
    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(const X509_NAME
      *name,\n    const ASN1_INTEGER *serial)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:976,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/store/store_lib.c:982,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:984,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_lib.c:989,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/store/store_lib.c:992,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:993,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: 1002
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 1002
    functionName: OSSL_STORE_SEARCH_by_key_fingerprint
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise_data
    - OPENSSL_free
    - EVP_MD_get_size
    - EVP_MD_get0_name
    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,\n    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:1006,1
    - Dst: strlen
      Src: /src/openssl/crypto/store/store_lib.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - alias
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1015
    functionName: OSSL_STORE_SEARCH_by_alias
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_zalloc
    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:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - search
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1021
    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: 1027
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: OSSL_STORE_SEARCH_get_type
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    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: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: OSSL_STORE_SEARCH_get0_name
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    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: 1038
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1038
    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: 1046
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1046
    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,\n    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: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    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: 1056
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    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:1073,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_lib.c:1074,1
    - Dst: ossl_store_get0_loader_int
      Src: /src/openssl/crypto/store/store_lib.c:1076,1
    - Dst: OSSL_STORE_LOADER*::attach
      Src: /src/openssl/crypto/store/store_lib.c:1077,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/crypto/store/store_lib.c:1081,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:1082,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:1083,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/openssl/crypto/store/store_lib.c:1084,1
    - Dst: OSSL_STORE_LOADER*::p_attach
      Src: /src/openssl/crypto/store/store_lib.c:1088,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:1089,1
    - Dst: loader_set_params
      Src: /src/openssl/crypto/store/store_lib.c:1091,1
    - Dst: OSSL_STORE_LOADER*::p_close
      Src: /src/openssl/crypto/store/store_lib.c:1093,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:1094,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/store/store_lib.c:1098,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:1102,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:1106,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:1107,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/store/store_lib.c:1112,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:1113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:1114,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_lib.c:1129,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: 1132
      start: 1058
    functionDepth: 9
    functionLinenumber: 1058
    functionLinenumberEnd: 1132
    functionName: OSSL_STORE_attach
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - OSSL_STORE_LOADER_fetch
    - OPENSSL_zalloc
    - ERR_clear_last_mark
    - ossl_pw_set_ui_method
    - ERR_set_mark
    - OSSL_TRACE1
    - OPENSSL_free
    - ossl_core_bio_new_from_bio
    - loader_set_params
    - OSSL_STORE_LOADER*::p_close
    - ossl_store_get0_loader_int
    - OSSL_STORE_LOADER*::p_attach
    - OSSL_STORE_LOADER_get0_provider
    - ossl_core_bio_free
    - OSSL_STORE_LOADER*::attach
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_STORE_LOADER_free
    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: 23
    BranchProfiles: []
    Callsites:
    - 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_pstring
      Src: /src/openssl/crypto/http/http_lib.c:71,1
    - Dst: init_pint
      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: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:78,1
    - Dst: strstr
      Src: /src/openssl/crypto/http/http_lib.c:84,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:91,1
    - Dst: strpbrk
      Src: /src/openssl/crypto/http/http_lib.c:96,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:98,1
    - Dst: memchr
      Src: /src/openssl/crypto/http/http_lib.c:99,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:108,1
    - Dst: strpbrk
      Src: /src/openssl/crypto/http/http_lib.c:114,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:116,1
    - Dst: sscanf
      Src: /src/openssl/crypto/http/http_lib.c:126,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_lib.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:138,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:141,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:144,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:154,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:164,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:165,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:166,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:167,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:172,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_lib.c:177,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_lib.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:184,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
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:190,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:191,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:192,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:193,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 108
    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: 195
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 195
    functionName: OSSL_parse_url
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 1
    functionsReached:
    - strchr
    - free_pstring
    - copy_substring
    - strpbrk
    - ERR_raise_data
    - ERR_raise
    - init_pstring
    - sscanf
    - init_pint
    - BIO_snprintf
    - strlen
    - strstr
    - memchr
    - OPENSSL_malloc
    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:206,1
    - Dst: OSSL_parse_url
      Src: /src/openssl/crypto/http/http_lib.c:209,1
    - Dst: strcmp
      Src: /src/openssl/crypto/http/http_lib.c:214,1
    - Dst: strcmp
      Src: /src/openssl/crypto/http/http_lib.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:220,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:224,1
    - Dst: strcmp
      Src: /src/openssl/crypto/http/http_lib.c:226,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:228,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_lib.c:230,1
    - Dst: sscanf
      Src: /src/openssl/crypto/http/http_lib.c:230,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_lib.c:235,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:243,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:248,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:249,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:250,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:251,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:252,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: 254
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 254
    functionName: OSSL_HTTP_parse_url
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - free_pstring
    - OPENSSL_free
    - OSSL_parse_url
    - ERR_raise
    - strcmp
    - init_pstring
    - sscanf
    - ossl_assert
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_lib.c:263,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:265,1
    - Dst: strncpy
      Src: /src/openssl/crypto/http/http_lib.c:269,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:282,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:284,1
    - Dst: strstr
      Src: /src/openssl/crypto/http/http_lib.c:287,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_lib.c:289,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_lib.c:290,1
    - Dst: strstr
      Src: /src/openssl/crypto/http/http_lib.c:291,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - no_proxy
    - server
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 293
    functionName: use_proxy
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - strncpy
    - ossl_isspace
    - ossl_assert
    - ossl_safe_getenv
    - strlen
    - strstr
    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:304,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:306,1
    - Dst: use_proxy
      Src: /src/openssl/crypto/http/http_lib.c:308,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: 311
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 311
    functionName: OSSL_HTTP_adapt_proxy
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - ossl_safe_getenv
    - use_proxy
    linkageType: ''
    returnType: char
    signature: "char *OSSL_HTTP_adapt_proxy(const char *proxy, const char *no_proxy,\n
      \   const char *server, int use_ssl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/openssl/crypto/http/http_client.c:100,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - component
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: no_crlf
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int no_crlf(const char *component, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:113,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/http/http_client.c:117,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - wbio
    - rbio
    - buf_size
    argTypes:
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: OSSL_HTTP_REQ_CTX_new
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_free
    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:144,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:146,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 154
    functionName: OSSL_HTTP_REQ_CTX_free
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_free_all
    - OPENSSL_free
    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:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    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:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    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:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rctx
    - len
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:194,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:197,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:198,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:199,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:201,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/http/http_client.c:202,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/http/http_client.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:216,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:225,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:235,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 5
    argNames:
    - rctx
    - method_POST
    - server
    - port
    - path
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 241
    functionName: OSSL_HTTP_REQ_CTX_set_request_line
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_new
    - BIO_free
    - ERR_raise
    - no_crlf
    - BIO_s_mem
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:247,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:251,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:254,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:255,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/http/http_client.c:258,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:261,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/http/http_client.c:263,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - rctx
    - name
    - value
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 267
    functionName: OSSL_HTTP_REQ_CTX_add1_header
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_puts
    - ERR_raise
    - no_crlf
    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:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:284,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:287,1
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:292,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: 297
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 297
    functionName: OSSL_HTTP_REQ_CTX_set_expected
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - time
    - ERR_raise
    - OPENSSL_free
    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:375,1
    - Dst: set1_content
      Src: /src/openssl/crypto/http/http_client.c:376,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:377,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: 379
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: OSSL_HTTP_REQ_CTX_set1_req
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - ASN1_item_i2d_mem_bio
    - set1_content
    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:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    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:398,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/http/http_client.c:399,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:400,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/openssl/crypto/http/http_client.c:402,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/openssl/crypto/http/http_client.c:406,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: 409
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 409
    functionName: add1_headers
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - OSSL_HTTP_REQ_CTX_add1_header
    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:419,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:428,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:431,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:434,1
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:436,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/http/http_client.c:440,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: 442
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: http_req_ctx_new
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_REQ_CTX_free
    - OPENSSL_strdup
    - time
    - OSSL_HTTP_REQ_CTX_new
    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:455,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:461,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:467,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:473,1
    - Dst: strtoul
      Src: /src/openssl/crypto/http/http_client.c:483,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:488,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:498,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:498,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:510,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:512,1
    - Dst: ossl_isprint
      Src: /src/openssl/crypto/http/http_client.c:519,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:522,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 52
    argCount: 2
    argNames:
    - line
    - found_keep_alive
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 524
    functionName: parse_http_line1
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - strtoul
    - ERR_raise_data
    - ossl_isprint
    - ossl_isspace
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - ERR_add_error_data
    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:529,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: 534
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 534
    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:538,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:541,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: 547
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: check_set_resp_len
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - check_max_len
    - ERR_raise_data
    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:551,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - max_time
    - ptimeout
    argTypes:
    - time_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 562
    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: 94
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:584,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/http/http_client.c:593,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/http/http_client.c:595,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:596,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/http/http_client.c:598,1
    - Dst: BIO_get_line
      Src: /src/openssl/crypto/http/http_client.c:599,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/http/http_client.c:601,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:606,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:607,1
    - Dst: check_set_resp_len
      Src: /src/openssl/crypto/http/http_client.c:609,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:614,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:619,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:630,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:638,1
    - Dst: BIO_write_ex
      Src: /src/openssl/crypto/http/http_client.c:651,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:652,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:657,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:659,1
    - Dst: OSSL_TRACE_STRING
      Src: /src/openssl/crypto/http/http_client.c:661,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:663,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:672,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/http/http_client.c:675,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:676,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/http/http_client.c:677,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/http/http_client.c:679,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:681,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:683,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/http/http_client.c:695,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:702,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:723,1
    - Dst: memchr
      Src: /src/openssl/crypto/http/http_client.c:724,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:731,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:734,1
    - Dst: check_max_len
      Src: /src/openssl/crypto/http/http_client.c:742,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:744,1
    - Dst: OSSL_TRACE_STRING
      Src: /src/openssl/crypto/http/http_client.c:745,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:751,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:758,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:763,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:766,1
    - Dst: OSSL_TRACE_STRING
      Src: /src/openssl/crypto/http/http_client.c:767,1
    - Dst: parse_http_line1
      Src: /src/openssl/crypto/http/http_client.c:772,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:783,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:795,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:798,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:800,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:802,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:808,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:810,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:811,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:813,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:816,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:817,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:823,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:833,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:835,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:836,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:837,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/http/http_client.c:838,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:841,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:852,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:853,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:855,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:857,1
    - Dst: strtoul
      Src: /src/openssl/crypto/http/http_client.c:858,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:861,1
    - Dst: check_set_resp_len
      Src: /src/openssl/crypto/http/http_client.c:866,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:880,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:881,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:887,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:895,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/http/http_client.c:896,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:901,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:906,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:912,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:918,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:919,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:924,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:925,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:935,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:941,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:956,1
    - Dst: check_set_resp_len
      Src: /src/openssl/crypto/http/http_client.c:969,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:972,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/http/http_client.c:973,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:978,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:982,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:983,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 316
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 987
    functionName: OSSL_HTTP_REQ_CTX_nbio
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - BIO_get_line
    - OSSL_TRACE1
    - ossl_isspace
    - parse_http_line1
    - check_set_resp_len
    - check_max_len
    - ERR_pop_to_mark
    - BIO_should_retry
    - ERR_raise_data
    - BIO_read
    - BIO_write
    - ERR_raise
    - BIO_gets
    - OPENSSL_strncasecmp
    - BIO_flush
    - BIO_reset
    - OPENSSL_strcasecmp
    - BIO_write_ex
    - ERR_set_mark
    - BIO_eof
    - memchr
    - strchr
    - HAS_CASE_PREFIX
    - strtoul
    - OSSL_TRACE_STRING
    - BIO_get_mem_data
    - OSSL_TRACE_ENABLED
    - OSSL_TRACE
    - strlen
    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:996,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/http/http_client.c:998,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:998,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: 1000
      start: 989
    functionDepth: 4
    functionLinenumber: 989
    functionLinenumberEnd: 1000
    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:1009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hostserv
    - port
    - use_ssl
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1016
    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:1029,1
    - Dst: explict_or_default_port
      Src: /src/openssl/crypto/http/http_client.c:1037,1
    - Dst: BIO_new_connect
      Src: /src/openssl/crypto/http/http_client.c:1039,1
    - Dst: BIO_set_conn_port
      Src: /src/openssl/crypto/http/http_client.c:1043,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: 1047
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1047
    functionName: http_new_bio
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_set_conn_port
    - ossl_assert
    - explict_or_default_port
    - BIO_new_connect
    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:1056,1
    - Dst: OSSL_HTTP_REQ_CTX_nbio
      Src: /src/openssl/crypto/http/http_client.c:1061,1
    - Dst: BIO_wait
      Src: /src/openssl/crypto/http/http_client.c:1066,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1073,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1051
    functionDepth: 4
    functionLinenumber: 1051
    functionLinenumberEnd: 1080
    functionName: OSSL_HTTP_REQ_CTX_exchange
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_wait
    - ERR_raise
    - OSSL_HTTP_REQ_CTX_nbio
    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: 1085
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1085
    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:1100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1119,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/crypto/http/http_client.c:1124,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/crypto/http/http_client.c:1126,1
    - Dst: http_new_bio
      Src: /src/openssl/crypto/http/http_client.c:1130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1136,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/http/http_client.c:1141,1
    - Dst: BIO_do_connect_retry
      Src: /src/openssl/crypto/http/http_client.c:1142,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/http/http_client.c:1144,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/http/http_client.c:1157,1
    - Dst: http_req_ctx_new
      Src: /src/openssl/crypto/http/http_client.c:1162,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/http/http_client.c:1169,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/http/http_client.c:1171,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: 1174
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1174
    functionName: OSSL_HTTP_open
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - OPENSSL_free
    - ERR_set_mark
    - http_req_ctx_new
    - BIO_free_all
    - ERR_raise
    - OSSL_HTTP_parse_url
    - BIO_do_connect_retry
    - OSSL_HTTP_adapt_proxy
    - http_new_bio
    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:1185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1190,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/crypto/http/http_client.c:1195,1
    - Dst: add1_headers
      Src: /src/openssl/crypto/http/http_client.c:1199,1
    - Dst: OSSL_HTTP_REQ_CTX_set_expected
      Src: /src/openssl/crypto/http/http_client.c:1200,1
    - Dst: set1_content
      Src: /src/openssl/crypto/http/http_client.c:1202,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: 1203
      start: 1176
    functionDepth: 4
    functionLinenumber: 1176
    functionLinenumberEnd: 1203
    functionName: OSSL_HTTP_set1_request
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_REQ_CTX_set_request_line
    - ERR_raise
    - set1_content
    - OSSL_HTTP_REQ_CTX_set_expected
    - 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:1215,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/openssl/crypto/http/http_client.c:1222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1226,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:1229,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/http/http_client.c:1232,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/http/http_client.c:1233,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/http/http_client.c:1234,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_client.c:1245,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:1249,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:1252,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_client.c:1254,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:1256,1
    - Dst: BIO_up_ref
      Src: /src/openssl/crypto/http/http_client.c:1262,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - rctx
    - redirection_url
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1210
    functionDepth: 5
    functionLinenumber: 1210
    functionLinenumberEnd: 1265
    functionName: OSSL_HTTP_exchange
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ERR_GET_REASON
    - ERR_raise
    - BIO_snprintf
    - BIO_up_ref
    - OSSL_HTTP_REQ_CTX_exchange
    - ERR_peek_error
    - ERR_GET_LIB
    - ERR_add_error_data
    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:1270,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1275,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1276,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: 1280
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1280
    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:1297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1300,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:1303,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/crypto/http/http_client.c:1310,1
    - Dst: OSSL_HTTP_open
      Src: /src/openssl/crypto/http/http_client.c:1314,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/openssl/crypto/http/http_client.c:1320,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/http/http_client.c:1326,1
    - Dst: OSSL_HTTP_exchange
      Src: /src/openssl/crypto/http/http_client.c:1329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1332,1
    - Dst: redirection_ok
      Src: /src/openssl/crypto/http/http_client.c:1334,1
    - Dst: may_still_retry
      Src: /src/openssl/crypto/http/http_client.c:1335,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:1336,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1337,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:1340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1343,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1344,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1351,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1352,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1353,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1359,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1360,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1361,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1367,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: 1369
      start: 1283
    functionDepth: 6
    functionLinenumber: 1283
    functionLinenumberEnd: 1369
    functionName: OSSL_HTTP_get
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OSSL_HTTP_exchange
    - redirection_ok
    - may_still_retry
    - OPENSSL_free
    - BIO_free
    - ERR_raise
    - OSSL_HTTP_parse_url
    - OSSL_HTTP_set1_request
    - BIO_reset
    - OSSL_HTTP_open
    - OSSL_HTTP_REQ_CTX_free
    - time
    - OSSL_HTTP_close
    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:1387,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/openssl/crypto/http/http_client.c:1393,1
    - Dst: OSSL_HTTP_exchange
      Src: /src/openssl/crypto/http/http_client.c:1396,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/openssl/crypto/http/http_client.c:1397,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1398,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1399,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: 1408
      start: 1372
    functionDepth: 6
    functionLinenumber: 1372
    functionLinenumberEnd: 1408
    functionName: OSSL_HTTP_transfer
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_exchange
    - OSSL_HTTP_is_alive
    - BIO_free
    - OSSL_HTTP_set1_request
    - OSSL_HTTP_open
    - OSSL_HTTP_close
    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:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rctx
    - ok
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1410
    functionDepth: 2
    functionLinenumber: 1410
    functionLinenumberEnd: 1425
    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:1441,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/http/http_client.c:1445,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_client.c:1446,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1428
    functionDepth: 4
    functionLinenumber: 1428
    functionLinenumberEnd: 1451
    functionName: base64encode
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - EVP_EncodeBlock
    - ossl_assert
    - OPENSSL_malloc
    - OPENSSL_free
    linkageType: ''
    returnType: char
    signature: char *base64encode(const void *buf, size_t len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:1470,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1474,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:1479,1
    - Dst: no_crlf
      Src: /src/openssl/crypto/http/http_client.c:1479,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:1482,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/http/http_client.c:1483,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/crypto/http/http_client.c:1483,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1484,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/http/http_client.c:1487,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:1490,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1491,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1493,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1499,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:1503,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:1507,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:1508,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_client.c:1511,1
    - Dst: base64encode
      Src: /src/openssl/crypto/http/http_client.c:1515,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1517,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/http/http_client.c:1518,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:1518,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/http/http_client.c:1521,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1527,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/http/http_client.c:1530,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:1533,1
    - Dst: BIO_wait
      Src: /src/openssl/crypto/http/http_client.c:1539,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1541,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:1551,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1558,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1559,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1560,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1565,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1566,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1567,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1575,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:1576,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:1579,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:1582,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1584,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:1598,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/http/http_client.c:1603,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/http/http_client.c:1604,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1605,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1607,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 100
    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: 1610
      start: 1458
    functionDepth: 5
    functionLinenumber: 1458
    functionLinenumberEnd: 1610
    functionName: OSSL_HTTP_proxy_connect
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - ossl_isspace
    - base64encode
    - BIO_f_buffer
    - BIO_new
    - BIO_should_retry
    - ERR_raise_data
    - OPENSSL_free
    - ERR_raise
    - BIO_gets
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - BIO_free
    - BIO_flush
    - BIO_push
    - HAS_PREFIX
    - strchr
    - BIO_printf
    - BIO_pop
    - BIO_wait
    - no_crlf
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - time
    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:84,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/http/http_err.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    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: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    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: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    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: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    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: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    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: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    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: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    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: 375
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 375
    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: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    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: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    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: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    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: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    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: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    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: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    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:438,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:439,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:440,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:441,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:443,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:446,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:447,1
    - Dst: ARIA_SUBST_DIFF_EVEN
      Src: /src/openssl/crypto/aria/aria.c:451,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:452,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:455,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:456,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:460,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:460,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:460,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:460,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:460,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:461,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:461,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:461,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:461,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:461,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:462,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:462,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:462,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:462,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:462,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:463,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:463,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:463,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:463,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:463,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:465,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:466,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:467,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:468,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: 469
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 469
    functionName: ossl_aria_encrypt
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - ARIA_SUBST_DIFF_ODD
    - ARIA_ADD_ROUND_KEY
    - PUT_U32_BE
    - GET_U32_BE
    - ARIA_SUBST_DIFF_EVEN
    - GET_U8_BE
    - MAKE_U32
    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:492,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:493,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:494,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:495,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:502,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:505,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:506,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:508,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:509,1
    - Dst: ARIA_SUBST_DIFF_EVEN
      Src: /src/openssl/crypto/aria/aria.c:532,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:549,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:556,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:558,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:560,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:562,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:565,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:567,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:569,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:571,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:574,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:576,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:578,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:580,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:583,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:586,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:588,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:592,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 99
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 599
    functionName: ossl_aria_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - ARIA_GSRK
    - GET_U32_BE
    - ARIA_SUBST_DIFF_EVEN
    - ARIA_SUBST_DIFF_ODD
    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:610,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:624,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:635,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:636,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:637,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:638,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:640,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:641,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:642,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:649,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:650,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:651,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:652,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:654,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:655,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:656,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:668,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:669,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:670,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:671,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:673,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:674,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 683
    functionName: ossl_aria_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - ARIA_DIFF_WORD
    - ossl_aria_set_encrypt_key
    - ARIA_DIFF_BYTE
    - ARIA_DEC_DIFF_BYTE
    - memcpy
    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: 846
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 846
    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: 863
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 863
    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:871,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: 872
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 872
    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:880,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: 881
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 881
    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:889,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: 890
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 890
    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:898,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: 899
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 899
    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:907,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: 908
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 908
    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: 923
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 923
    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: 938
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 938
    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: 962
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 962
    functionName: a
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 356
    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:974,1
    - Dst: a
      Src: /src/openssl/crypto/aria/aria.c:975,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: 976
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 976
    functionName: FO
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 9
    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:988,1
    - Dst: a
      Src: /src/openssl/crypto/aria/aria.c:989,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: 990
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 990
    functionName: FE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - sl2
    - a
    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:1002,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1004,1
    - Dst: FE
      Src: /src/openssl/crypto/aria/aria.c:1005,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1007,1
    - Dst: sl2
      Src: /src/openssl/crypto/aria/aria.c:1008,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1009,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: 1010
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1010
    functionName: do_encrypt
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 2
    functionsReached:
    - sl2
    - xor128
    - memcpy
    - FO
    - FE
    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:1019,1
    - Dst: do_encrypt
      Src: /src/openssl/crypto/aria/aria.c:1020,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: 1018
        line_start: 1018
        source_file: /src/openssl/crypto/aria/aria.c
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: ossl_aria_encrypt
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    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:1036,1
    - Dst: memset
      Src: /src/openssl/crypto/aria/aria.c:1045,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1053,1
    - Dst: memset
      Src: /src/openssl/crypto/aria/aria.c:1054,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1062,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1066,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1067,1
    - Dst: FE
      Src: /src/openssl/crypto/aria/aria.c:1068,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1069,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1070,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1071,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1073,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1074,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1075,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1076,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1078,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1079,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1080,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1081,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1083,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1084,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1085,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1086,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1088,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1090,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1091,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1094,1
    - Dst: rot19l
      Src: /src/openssl/crypto/aria/aria.c:1095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1099
    functionName: ossl_aria_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 1
    functionsReached:
    - rot31l
    - rot19r
    - rot19l
    - rot31r
    - memset
    - xor128
    - rot61l
    - memcpy
    - FO
    - FE
    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:1108,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1113,1
    - Dst: a
      Src: /src/openssl/crypto/aria/aria.c:1115,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1119
    functionName: ossl_aria_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - memcpy
    - a
    - 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: 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_isalnum
    - ossl_tolower
    - ERR_raise_data
    - ossl_property_name
    - skip_space
    - ossl_isalpha
    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:
    - skip_space
    - ossl_isspace
    - ossl_isdigit
    - ERR_raise_data
    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_isdigit
    - ossl_isspace
    - 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:
    - skip_space
    - ossl_isspace
    - ossl_isdigit
    - ERR_raise_data
    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:
    - ossl_property_value
    - skip_space
    - ERR_raise_data
    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_tolower
    - ERR_raise_data
    - ossl_property_value
    - ossl_isprint
    - ossl_isspace
    - 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:
    - parse_hex
    - parse_oct
    - ossl_isdigit
    - parse_unquoted
    - ossl_isalpha
    - parse_string
    - parse_number
    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
    - sk_OSSL_PROPERTY_DEFINITION_value
    - OPENSSL_free
    - ERR_raise_data
    - ossl_property_name_str
    - 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:
    - stack_to_property_list
    - sk_OSSL_PROPERTY_DEFINITION_push
    - sk_OSSL_PROPERTY_DEFINITION_pop_free
    - parse_value
    - ERR_raise_data
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_new
    - match_ch
    - parse_name
    - memset
    - skip_space
    - STACK_OF
    - 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:
    - stack_to_property_list
    - sk_OSSL_PROPERTY_DEFINITION_push
    - sk_OSSL_PROPERTY_DEFINITION_pop_free
    - parse_value
    - ERR_raise_data
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_new
    - match_ch
    - parse_name
    - memset
    - skip_space
    - STACK_OF
    - MATCH
    - 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_property_name
    - OSSL_NELEM
    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:
    - strlen
    - ossl_isalnum
    - put_char
    - memcpy
    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:688,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: 696
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 696
    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:720,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:723,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:725,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/crypto/property/property_parse.c:727,1
    - Dst: put_str
      Src: /src/openssl/crypto/property/property_parse.c:730,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:734,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:737,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/crypto/property/property_parse.c:741,1
    - Dst: put_str
      Src: /src/openssl/crypto/property/property_parse.c:744,1
    - Dst: put_num
      Src: /src/openssl/crypto/property/property_parse.c:748,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:761,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: 763
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 763
    functionName: ossl_property_list_to_string
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 2
    functionsReached:
    - ossl_property_value_str
    - put_str
    - ossl_property_name_str
    - put_char
    - put_num
    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:
    - ossl_property_free
    - OPENSSL_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:
    - lh_PROPERTY_DEFN_ELEM_doall
    - lh_PROPERTY_DEFN_ELEM_free
    - LHASH_OF
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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:70,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/defn_cache.c:72,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/defn_cache.c:74,1
    - Dst: ossl_lib_ctx_read_lock
      Src: /src/openssl/crypto/property/defn_cache.c:74,1
    - Dst: lh_PROPERTY_DEFN_ELEM_retrieve
      Src: /src/openssl/crypto/property/defn_cache.c:78,1
    - Dst: ossl_lib_ctx_unlock
      Src: /src/openssl/crypto/property/defn_cache.c:79,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/defn_cache.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - prop
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: ossl_prop_defn_get
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    - lh_PROPERTY_DEFN_ELEM_retrieve
    - ossl_lib_ctx_read_lock
    - ossl_lib_ctx_unlock
    - ossl_assert
    - LHASH_OF
    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:95,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/defn_cache.c:98,1
    - Dst: ossl_lib_ctx_write_lock
      Src: /src/openssl/crypto/property/defn_cache.c:106,1
    - Dst: lh_PROPERTY_DEFN_ELEM_delete
      Src: /src/openssl/crypto/property/defn_cache.c:110,1
    - Dst: lh_PROPERTY_DEFN_ELEM_retrieve
      Src: /src/openssl/crypto/property/defn_cache.c:114,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/defn_cache.c:115,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/defn_cache.c:119,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/defn_cache.c:120,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/defn_cache.c:124,1
    - Dst: lh_PROPERTY_DEFN_ELEM_insert
      Src: /src/openssl/crypto/property/defn_cache.c:125,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/defn_cache.c:126,1
    - Dst: lh_PROPERTY_DEFN_ELEM_error
      Src: /src/openssl/crypto/property/defn_cache.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/defn_cache.c:132,1
    - Dst: ossl_lib_ctx_unlock
      Src: /src/openssl/crypto/property/defn_cache.c:135,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: 137
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 137
    functionName: ossl_prop_defn_set
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_write_lock
    - ossl_lib_ctx_get_data
    - OPENSSL_free
    - lh_PROPERTY_DEFN_ELEM_insert
    - ossl_property_free
    - lh_PROPERTY_DEFN_ELEM_retrieve
    - lh_PROPERTY_DEFN_ELEM_delete
    - ossl_lib_ctx_unlock
    - strlen
    - memcpy
    - ossl_assert
    - LHASH_OF
    - OPENSSL_malloc
    - lh_PROPERTY_DEFN_ELEM_error
    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: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    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:29,1
    - Dst: ossl_bsearch
      Src: /src/openssl/crypto/property/property_query.c:32,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: 34
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: ossl_property_find_property
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 2
    functionsReached:
    - ossl_property_name
    - ossl_bsearch
    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: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    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:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - prop
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    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: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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:71,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: 80
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 80
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - store
    - ','
    - nid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: stored_algs_shard
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stored_algs_shard(store, nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vglobp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: ossl_ctx_global_properties_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - ossl_property_free
    - OPENSSL_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:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    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:198,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/property.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: ossl_ctx_global_properties
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 6
    functionsReached:
    - OPENSSL_init_crypto
    - ossl_lib_ctx_get_data
    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:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 213
    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:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 222
    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: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    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: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    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:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - STORED_ALGORITHMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    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(STORED_ALGORITHMS *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/property/property.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - STORED_ALGORITHMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    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(STORED_ALGORITHMS *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - STORED_ALGORITHMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    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(STORED_ALGORITHMS *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_free
      Src: /src/openssl/crypto/property/property.c:253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - IMPLEMENTATION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: impl_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_method_free
    - OPENSSL_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:261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - elem
    argTypes:
    - QUERY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: impl_cache_free_unlinked
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_method_free
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline impl_cache_free_unlinked(QUERY *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_lru_entry_remove
      Src: /src/openssl/crypto/property/property.c:273,1
    - Dst: ossl_list_lru_entry_remove
      Src: /src/openssl/crypto/property/property.c:275,1
    - Dst: impl_cache_free_unlinked
      Src: /src/openssl/crypto/property/property.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - elem
    argTypes:
    - QUERY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: impl_cache_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_list_lru_entry_remove
    - impl_cache_free_unlinked
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline impl_cache_free(QUERY *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_cache_QUERY_from_value
      Src: /src/openssl/crypto/property/property.c:287,1
    - Dst: impl_cache_free
      Src: /src/openssl/crypto/property/property.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: query_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - impl_cache_free
    - ossl_ht_cache_QUERY_from_value
    linkageType: ''
    returnType: void
    signature: void query_free(HT_VALUE *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/crypto/property/property.c:303,1
    - Dst: HT_INIT_KEY_CACHED
      Src: /src/openssl/crypto/property/property.c:321,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/crypto/property/property.c:322,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - sa
    argTypes:
    - ALGORITHM*
    - STORED_ALGORITHMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 325
    functionName: impl_cache_flush_alg
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_ht_delete
    - HT_INIT_KEY_CACHED
    - OSSL_LIST_FOREACH_DELSAFE
    - TO_HT_KEY
    linkageType: ''
    returnType: void
    signature: void impl_cache_flush_alg(ALGORITHM *alg, STORED_ALGORITHMS *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_pop_free
      Src: /src/openssl/crypto/property/property.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:333,1
    - Dst: ossl_sa_ALGORITHM_set
      Src: /src/openssl/crypto/property/property.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - idx
    - a
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: alg_cleanup
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_sa_ALGORITHM_set
    - sk_IMPLEMENTATION_pop_free
    linkageType: ''
    returnType: void
    signature: void alg_cleanup(ossl_uintmax_t idx, ALGORITHM *a, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:345,1
    - Dst: ossl_sa_ALGORITHM_free
      Src: /src/openssl/crypto/property/property.c:346,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/property/property.c:347,1
    - Dst: ossl_ht_free
      Src: /src/openssl/crypto/property/property.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - STORED_ALGORITHMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: stored_algs_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_ht_free
    - CRYPTO_THREAD_lock_free
    - ossl_sa_ALGORITHM_doall_arg
    - ossl_sa_ALGORITHM_free
    linkageType: ''
    returnType: void
    signature: void stored_algs_free(STORED_ALGORITHMS *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/property/property.c:367,1
    - Dst: ossl_sa_ALGORITHM_new
      Src: /src/openssl/crypto/property/property.c:372,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/property/property.c:376,1
    - Dst: ossl_ht_new
      Src: /src/openssl/crypto/property/property.c:379,1
    - Dst: stored_algs_free
      Src: /src/openssl/crypto/property/property.c:387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 354
    functionDepth: 5
    functionLinenumber: 354
    functionLinenumberEnd: 390
    functionName: stored_algs_new
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - stored_algs_free
    - ossl_sa_ALGORITHM_new
    - CRYPTO_THREAD_lock_new
    - OPENSSL_calloc
    - ossl_ht_new
    linkageType: ''
    returnType: STORED_ALGORITHMS
    signature: STORED_ALGORITHMS *stored_algs_new(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/property/property.c:400,1
    - Dst: stored_algs_new
      Src: /src/openssl/crypto/property/property.c:403,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/property/property.c:404,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/property/property.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: ossl_method_store_new
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 5
    functionsReached:
    - ossl_method_store_free
    - stored_algs_new
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: OSSL_METHOD_STORE
    signature: OSSL_METHOD_STORE *ossl_method_store_new(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stored_algs_free
      Src: /src/openssl/crypto/property/property.c:417,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/property/property.c:418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: ossl_method_store_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 6
    functionsReached:
    - stored_algs_free
    - CRYPTO_THREAD_lock_free
    - OPENSSL_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:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    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:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    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:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sa
    - nid
    argTypes:
    - STORED_ALGORITHMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    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(STORED_ALGORITHMS *sa, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_set
      Src: /src/openssl/crypto/property/property.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sa
    - alg
    argTypes:
    - STORED_ALGORITHMS*
    - ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    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(STORED_ALGORITHMS *sa, ALGORITHM *alg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/property.c:484,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property.c:488,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:494,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:495,1
    - Dst: stored_algs_shard
      Src: /src/openssl/crypto/property/property.c:500,1
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:503,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:504,1
    - Dst: ossl_method_cache_flush
      Src: /src/openssl/crypto/property/property.c:519,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/crypto/property/property.c:526,1
    - Dst: ossl_parse_property
      Src: /src/openssl/crypto/property/property.c:527,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/crypto/property/property.c:530,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:531,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:541,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/property/property.c:543,1
    - Dst: sk_IMPLEMENTATION_new_null
      Src: /src/openssl/crypto/property/property.c:544,1
    - Dst: ossl_method_store_insert
      Src: /src/openssl/crypto/property/property.c:547,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:549,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:554,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:555,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:562,1
    - Dst: sk_IMPLEMENTATION_push
      Src: /src/openssl/crypto/property/property.c:563,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:568,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:571,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:571,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/property/property.c:573,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:576,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:578,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:582,1
    - Dst: alg_cleanup
      Src: /src/openssl/crypto/property/property.c:583,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:584,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - properties
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 586
    functionName: ossl_method_store_add
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - impl_free
    - sk_IMPLEMENTATION_num
    - OSSL_TRACE_END
    - ossl_method_cache_flush
    - sk_IMPLEMENTATION_push
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_provider_name
    - OPENSSL_malloc
    - ossl_method_store_insert
    - stored_algs_shard
    - ossl_parse_property
    - sk_IMPLEMENTATION_value
    - alg_cleanup
    - ossl_property_free
    - OSSL_TRACE2
    - ossl_property_write_lock
    - sk_IMPLEMENTATION_new_null
    - ossl_prop_defn_get
    - ossl_assert
    - BIO_printf
    - ossl_prop_defn_set
    - ossl_method_up_ref
    - ossl_method_store_retrieve
    - ossl_property_unlock
    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:568,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:571,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 572
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_provider_name
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(QUERY)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stored_algs_shard
      Src: /src/openssl/crypto/property/property.c:598,1
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:599,1
    - Dst: ossl_method_cache_flush
      Src: /src/openssl/crypto/property/property.c:601,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:602,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:604,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:613,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:614,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:617,1
    - Dst: sk_IMPLEMENTATION_delete
      Src: /src/openssl/crypto/property/property.c:618,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:619,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - store
    - nid
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 625
    functionName: ossl_method_store_remove
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - sk_IMPLEMENTATION_value
    - impl_free
    - sk_IMPLEMENTATION_num
    - ossl_method_cache_flush
    - ossl_method_store_retrieve
    - ossl_property_write_lock
    - ossl_property_unlock
    - sk_IMPLEMENTATION_delete
    - stored_algs_shard
    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:657,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:658,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/property/property.c:667,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:669,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:672,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:672,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/property/property.c:674,1
    - Dst: sk_IMPLEMENTATION_delete
      Src: /src/openssl/crypto/property/property.c:677,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:679,1
    - Dst: ossl_method_cache_flush_alg
      Src: /src/openssl/crypto/property/property.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - idx
    - alg
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 691
    functionName: alg_cleanup_by_provider
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - sk_IMPLEMENTATION_value
    - BIO_printf
    - ossl_property_list_to_string
    - impl_free
    - sk_IMPLEMENTATION_num
    - OSSL_TRACE_END
    - ossl_method_cache_flush_alg
    - sk_IMPLEMENTATION_delete
    - ossl_provider_name
    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:667,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:669,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:672,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 673
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_property_list_to_string
    - ossl_provider_name
    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:701,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:705,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - store
    - prov
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 709
    functionName: ossl_method_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_property_write_lock
    - ossl_sa_ALGORITHM_doall_arg
    - ossl_property_unlock
    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:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alg
    - impl
    - fnarg
    argTypes:
    - ALGORITHM*
    - IMPLEMENTATION*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 716
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property.c:720,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/property/property.c:722,1
    - Dst: sk_IMPLEMENTATION_dup
      Src: /src/openssl/crypto/property/property.c:726,1
    - Dst: sk_ALGORITHM_push
      Src: /src/openssl/crypto/property/property.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - idx
    - alg
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 729
    functionName: alg_copy
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - sk_IMPLEMENTATION_dup
    - sk_ALGORITHM_push
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: void alg_copy(ossl_uintmax_t idx, ALGORITHM *alg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_free
      Src: /src/openssl/crypto/property/property.c:733,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alg
    argTypes:
    - ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: del_tmpalg
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - sk_IMPLEMENTATION_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void del_tmpalg(ALGORITHM *alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property.c:743,1
    - Dst: ossl_property_read_lock
      Src: /src/openssl/crypto/property/property.c:752,1
    - Dst: sk_ALGORITHM_new_reserve
      Src: /src/openssl/crypto/property/property.c:755,1
    - Dst: ossl_sa_ALGORITHM_num
      Src: /src/openssl/crypto/property/property.c:756,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:758,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:762,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:763,1
    - Dst: sk_ALGORITHM_num
      Src: /src/openssl/crypto/property/property.c:764,1
    - Dst: sk_ALGORITHM_value
      Src: /src/openssl/crypto/property/property.c:766,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:767,1
    - Dst: alg_do_one
      Src: /src/openssl/crypto/property/property.c:769,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:769,1
    - Dst: sk_ALGORITHM_pop_free
      Src: /src/openssl/crypto/property/property.c:771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - store
    - fnarg
    argTypes:
    - OSSL_METHOD_STORE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 773
    functionName: ossl_method_store_do_all
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - alg_do_one
    - sk_IMPLEMENTATION_value
    - sk_IMPLEMENTATION_num
    - ossl_sa_ALGORITHM_num
    - ossl_sa_ALGORITHM_doall_arg
    - sk_ALGORITHM_num
    - sk_ALGORITHM_pop_free
    - sk_ALGORITHM_value
    - ossl_property_unlock
    - STACK_OF
    - sk_ALGORITHM_new_reserve
    - ossl_property_read_lock
    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:815,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/property/property.c:816,1
    - Dst: stored_algs_shard
      Src: /src/openssl/crypto/property/property.c:820,1
    - Dst: ossl_property_read_lock
      Src: /src/openssl/crypto/property/property.c:823,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:826,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:828,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:830,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:831,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:835,1
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/property/property.c:843,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/property/property.c:849,1
    - Dst: ossl_property_merge
      Src: /src/openssl/crypto/property/property.c:854,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:855,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:870,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:871,1
    - Dst: ossl_property_has_optional
      Src: /src/openssl/crypto/property/property.c:887,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:888,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:889,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/crypto/property/property.c:892,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:903,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/property/property.c:917,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:918,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:921,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/property/property.c:923,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:926,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:927,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 5
    argNames:
    - store
    - nid
    - prop_query
    - prov_rw
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    - char*
    - OSSL_PROVIDER**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 798
    functionDepth: 6
    functionLinenumber: 798
    functionLinenumberEnd: 929
    functionName: ossl_method_store_fetch
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - sk_IMPLEMENTATION_num
    - OSSL_TRACE_END
    - OPENSSL_init_crypto
    - ossl_property_has_optional
    - ossl_parse_query
    - ossl_property_merge
    - ossl_property_match_count
    - ossl_lib_ctx_is_default
    - stored_algs_shard
    - ossl_provider_name
    - sk_IMPLEMENTATION_value
    - ossl_property_list_to_string
    - OSSL_TRACE2
    - ossl_property_free
    - ossl_property_read_lock
    - BIO_printf
    - ossl_method_up_ref
    - ossl_ctx_global_properties
    - ossl_method_store_retrieve
    - ossl_property_unlock
    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:917,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:918,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 922
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_property_list_to_string
    - ossl_provider_name
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(QUERY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: impl_cache_flush_alg
      Src: /src/openssl/crypto/property/property.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sa
    - alg
    argTypes:
    - STORED_ALGORITHMS*
    - ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 931
    functionDepth: 4
    functionLinenumber: 931
    functionLinenumberEnd: 935
    functionName: ossl_method_cache_flush_alg
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - impl_cache_flush_alg
    linkageType: ''
    returnType: void
    signature: "void ossl_method_cache_flush_alg(STORED_ALGORITHMS *sa,\n    ALGORITHM
      *alg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:939,1
    - Dst: ossl_method_cache_flush_alg
      Src: /src/openssl/crypto/property/property.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sa
    - nid
    argTypes:
    - STORED_ALGORITHMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 5
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: ossl_method_cache_flush
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 2
    functionsReached:
    - ossl_method_store_retrieve
    - ossl_method_cache_flush_alg
    linkageType: ''
    returnType: void
    signature: void ossl_method_cache_flush(STORED_ALGORITHMS *sa, int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:950,1
    - Dst: ossl_ht_flush
      Src: /src/openssl/crypto/property/property.c:952,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 957
    functionName: ossl_method_store_cache_flush_all
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 5
    functionsReached:
    - ossl_property_write_lock
    - ossl_property_unlock
    - ossl_ht_flush
    linkageType: ''
    returnType: int
    signature: int ossl_method_store_cache_flush_all(OSSL_METHOD_STORE *store)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/openssl/crypto/property/property.c:971,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/property/property.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 981
    functionName: generate_random_seed
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_rdtsc
    - ossl_time_now
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline generate_random_seed(uint32_t *seed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/crypto/property/property.c:1011,1
    - Dst: tsan_load
      Src: /src/openssl/crypto/property/property.c:1018,1
    - Dst: tsan_store
      Src: /src/openssl/crypto/property/property.c:1019,1
    - Dst: HT_INIT_KEY_CACHED
      Src: /src/openssl/crypto/property/property.c:1031,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/crypto/property/property.c:1032,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:1032,1
    - Dst: generate_random_seed
      Src: /src/openssl/crypto/property/property.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - alg
    - sa
    - cullcount
    - seed
    argTypes:
    - ALGORITHM*
    - STORED_ALGORITHMS*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1049
    functionName: QUERY_cache_select_cull
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY_CACHED
    - tsan_store
    - tsan_load
    - generate_random_seed
    - ossl_ht_delete
    - OSSL_LIST_FOREACH_DELSAFE
    - TO_HT_KEY
    linkageType: ''
    returnType: void
    signature: "void QUERY_cache_select_cull(ALGORITHM *alg, STORED_ALGORITHMS *sa,\n
      \   size_t cullcount, uint32_t seed)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property.c:1070,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:1075,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:1085,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:1087,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:1087,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:1088,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:1090,1
    - Dst: HT_INIT_KEY_EXTERNAL
      Src: /src/openssl/crypto/property/property.c:1094,1
    - Dst: ossl_ht_cache_QUERY_get
      Src: /src/openssl/crypto/property/property.c:1096,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:1096,1
    - Dst: HT_KEY_GET_HASH
      Src: /src/openssl/crypto/property/property.c:1106,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/crypto/property/property.c:1107,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/property/property.c:1116,1
    - Dst: ossl_list_lru_entry_init_elem
      Src: /src/openssl/crypto/property/property.c:1122,1
    - Dst: HT_INIT_KEY_CACHED
      Src: /src/openssl/crypto/property/property.c:1123,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:1129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:1130,1
    - Dst: tsan_store
      Src: /src/openssl/crypto/property/property.c:1146,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:1147,1
    - Dst: impl_cache_free_unlinked
      Src: /src/openssl/crypto/property/property.c:1151,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 8
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - keylen
    - sa
    - post_insert
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - size_t
    - STORED_ALGORITHMS*
    - QUERY**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1159
    functionName: ossl_method_store_cache_get_locked
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OSSL_LIST_FOREACH
    - OPENSSL_memdup
    - HT_INIT_KEY_CACHED
    - HT_KEY_GET_HASH
    - ossl_ht_cache_QUERY_get
    - ossl_method_up_ref
    - OPENSSL_free
    - tsan_store
    - ossl_method_store_retrieve
    - HT_INIT_KEY_EXTERNAL
    - TO_HT_KEY
    - impl_cache_free_unlinked
    - strlen
    - memcpy
    - ossl_list_lru_entry_init_elem
    - OPENSSL_malloc
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_method_store_cache_get_locked(OSSL_METHOD_STORE *store,
      OSSL_PROVIDER *prov,\n    int nid, const char *prop_query, size_t keylen, STORED_ALGORITHMS
      *sa, QUERY **post_insert,\n    void **method)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:1164,1
    - Dst: stored_algs_shard
      Src: /src/openssl/crypto/property/property.c:1177,1
    - Dst: ossl_property_read_lock
      Src: /src/openssl/crypto/property/property.c:1178,1
    - Dst: ossl_method_store_cache_get_locked
      Src: /src/openssl/crypto/property/property.c:1189,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:1192,1
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:1195,1
    - Dst: ossl_method_free
      Src: /src/openssl/crypto/property/property.c:1196,1
    - Dst: impl_cache_free_unlinked
      Src: /src/openssl/crypto/property/property.c:1197,1
    - Dst: HT_INIT_KEY_CACHED
      Src: /src/openssl/crypto/property/property.c:1203,1
    - Dst: ossl_ht_cache_QUERY_insert
      Src: /src/openssl/crypto/property/property.c:1205,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:1205,1
    - Dst: ossl_method_free
      Src: /src/openssl/crypto/property/property.c:1213,1
    - Dst: impl_cache_free_unlinked
      Src: /src/openssl/crypto/property/property.c:1214,1
    - Dst: ossl_list_lru_entry_insert_tail
      Src: /src/openssl/crypto/property/property.c:1218,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:1220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1161
    functionDepth: 3
    functionLinenumber: 1161
    functionLinenumberEnd: 1224
    functionName: ossl_method_store_cache_get
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_list_lru_entry_insert_tail
    - HT_INIT_KEY_CACHED
    - ossl_method_free
    - ossl_method_store_cache_get_locked
    - ossl_property_write_lock
    - TO_HT_KEY
    - impl_cache_free_unlinked
    - ossl_property_unlock
    - ossl_ht_cache_QUERY_insert
    - strlen
    - ossl_property_read_lock
    - stored_algs_shard
    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: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property.c:1244,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:1249,1
    - Dst: ossl_ht_count
      Src: /src/openssl/crypto/property/property.c:1252,1
    - Dst: generate_random_seed
      Src: /src/openssl/crypto/property/property.c:1255,1
    - Dst: ossl_ht_count
      Src: /src/openssl/crypto/property/property.c:1259,1
    - Dst: QUERY_cache_select_cull
      Src: /src/openssl/crypto/property/property.c:1268,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:1277,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:1279,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:1279,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:1280,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:1281,1
    - Dst: HT_INIT_KEY_EXTERNAL
      Src: /src/openssl/crypto/property/property.c:1284,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/crypto/property/property.c:1287,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:1287,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property.c:1290,1
    - Dst: ossl_list_lru_entry_init_elem
      Src: /src/openssl/crypto/property/property.c:1295,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:1299,1
    - Dst: ossl_ht_cache_QUERY_insert
      Src: /src/openssl/crypto/property/property.c:1302,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:1302,1
    - Dst: impl_cache_free_unlinked
      Src: /src/openssl/crypto/property/property.c:1305,1
    - Dst: HT_KEY_GET_HASH
      Src: /src/openssl/crypto/property/property.c:1309,1
    - Dst: impl_cache_free
      Src: /src/openssl/crypto/property/property.c:1312,1
    - Dst: ossl_list_lru_entry_insert_head
      Src: /src/openssl/crypto/property/property.c:1313,1
    - Dst: HT_INIT_KEY_EXTERNAL
      Src: /src/openssl/crypto/property/property.c:1320,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/property/property.c:1322,1
    - Dst: ossl_list_lru_entry_init_elem
      Src: /src/openssl/crypto/property/property.c:1326,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:1327,1
    - Dst: ossl_ht_cache_QUERY_insert
      Src: /src/openssl/crypto/property/property.c:1329,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/property/property.c:1329,1
    - Dst: HT_KEY_GET_HASH
      Src: /src/openssl/crypto/property/property.c:1333,1
    - Dst: ossl_list_lru_entry_insert_tail
      Src: /src/openssl/crypto/property/property.c:1334,1
    - Dst: impl_cache_free_unlinked
      Src: /src/openssl/crypto/property/property.c:1336,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:1345,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 7
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - keylen
    - sa
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - size_t
    - STORED_ALGORITHMS*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1226
    functionDepth: 4
    functionLinenumber: 1226
    functionLinenumberEnd: 1351
    functionName: ossl_method_store_cache_set_locked
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - HT_INIT_KEY_EXTERNAL
    - generate_random_seed
    - impl_cache_free_unlinked
    - memcpy
    - ossl_list_lru_entry_insert_tail
    - OPENSSL_free
    - ossl_ht_cache_QUERY_insert
    - OPENSSL_malloc
    - ossl_list_lru_entry_insert_head
    - ossl_ht_count
    - ossl_ht_delete
    - TO_HT_KEY
    - ossl_method_up_ref
    - ossl_method_store_retrieve
    - QUERY_cache_select_cull
    - impl_cache_free
    - strlen
    - ossl_list_lru_entry_init_elem
    - HT_KEY_GET_HASH
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_method_store_cache_set_locked(OSSL_METHOD_STORE *store,
      OSSL_PROVIDER *prov,\n    int nid, const char *prop_query, size_t keylen, STORED_ALGORITHMS
      *sa, void *method,\n    int (*method_up_ref)(void *),\n    void (*method_destruct)(void
      *))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:1360,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/property.c:1366,1
    - Dst: stored_algs_shard
      Src: /src/openssl/crypto/property/property.c:1372,1
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:1373,1
    - Dst: ossl_method_store_cache_set_locked
      Src: /src/openssl/crypto/property/property.c:1381,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:1383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1353
    functionDepth: 5
    functionLinenumber: 1353
    functionLinenumberEnd: 1385
    functionName: ossl_method_store_cache_set
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_property_write_lock
    - ossl_property_unlock
    - strlen
    - ossl_assert
    - ossl_method_store_cache_set_locked
    - stored_algs_shard
    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_free
    - lh_PROPERTY_STRING_doall
    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
    - sk_OPENSSL_CSTRING_free
    - OPENSSL_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:98,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/property/property_string.c:103,1
    - Dst: lh_PROPERTY_STRING_new
      Src: /src/openssl/crypto/property/property_string.c:104,1
    - Dst: lh_PROPERTY_STRING_new
      Src: /src/openssl/crypto/property/property_string.c:106,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/property/property_string.c:109,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/property/property_string.c:110,1
    - Dst: ossl_property_string_data_free
      Src: /src/openssl/crypto/property/property_string.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 123
    functionName: ossl_property_string_data_new
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - lh_PROPERTY_STRING_new
    - sk_OPENSSL_CSTRING_new_null
    - ossl_property_string_data_free
    - CRYPTO_THREAD_lock_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:128,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property_string.c:129,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property_string.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_string.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pidx
    argTypes:
    - char*
    - OSSL_PROPERTY_IDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: new_property_string
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - OPENSSL_malloc
    - OPENSSL_free
    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:150,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/property/property_string.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/property/property_string.c:158,1
    - Dst: lh_PROPERTY_STRING_retrieve
      Src: /src/openssl/crypto/property/property_string.c:161,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:163,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/property/property_string.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/property/property_string.c:165,1
    - Dst: lh_PROPERTY_STRING_retrieve
      Src: /src/openssl/crypto/property/property_string.c:169,1
    - Dst: new_property_string
      Src: /src/openssl/crypto/property/property_string.c:170,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property_string.c:172,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/crypto/property/property_string.c:175,1
    - Dst: property_free
      Src: /src/openssl/crypto/property/property_string.c:176,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:177,1
    - Dst: lh_PROPERTY_STRING_insert
      Src: /src/openssl/crypto/property/property_string.c:181,1
    - Dst: lh_PROPERTY_STRING_error
      Src: /src/openssl/crypto/property/property_string.c:182,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/openssl/crypto/property/property_string.c:188,1
    - Dst: property_free
      Src: /src/openssl/crypto/property/property_string.c:190,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:192,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:198,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: 200
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 200
    functionName: ossl_property_string
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - lh_PROPERTY_STRING_error
    - CRYPTO_THREAD_unlock
    - lh_PROPERTY_STRING_retrieve
    - ossl_lib_ctx_get_data
    - sk_OPENSSL_CSTRING_push
    - ERR_raise
    - lh_PROPERTY_STRING_insert
    - property_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - STACK_OF
    - new_property_string
    - sk_OPENSSL_CSTRING_pop
    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: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    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:222,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/property/property_string.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/property/property_string.c:228,1
    - Dst: lh_PROPERTY_STRING_doall_arg
      Src: /src/openssl/crypto/property/property_string.c:238,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/property/property_string.c:244,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:248,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: 251
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: ossl_property_str
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - sk_OPENSSL_CSTRING_value
    - ossl_lib_ctx_get_data
    - ERR_raise
    - lh_PROPERTY_STRING_doall_arg
    - CRYPTO_THREAD_read_lock
    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:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - s
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 6
    functionLinenumber: 253
    functionLinenumberEnd: 257
    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:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 6
    functionLinenumber: 259
    functionLinenumberEnd: 262
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - s
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 268
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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:82,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/crmf/crmf_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_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_new_null
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    - ERR_raise
    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:139,1
    - Dst: sk_OSSL_CRMF_SINGLEPUBINFO_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:143,1
    - Dst: sk_OSSL_CRMF_SINGLEPUBINFO_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pi
    - spi
    argTypes:
    - OSSL_CRMF_PKIPUBLICATIONINFO*
    - OSSL_CRMF_SINGLEPUBINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CRMF_SINGLEPUBINFO_new_null
    - sk_OSSL_CRMF_SINGLEPUBINFO_push
    - ERR_raise
    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:156,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pi
    - action
    argTypes:
    - OSSL_CRMF_PKIPUBLICATIONINFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    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:176,1
    - Dst: OSSL_CRMF_CERTID_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:180,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:183,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:187,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/crmf/crmf_lib.c:188,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - issuer
    - serial
    argTypes:
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 196
    functionName: OSSL_CRMF_CERTID_gen
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_dup
    - ASN1_INTEGER_free
    - ERR_raise
    - X509_NAME_set
    - OSSL_CRMF_CERTID_free
    - 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:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:214,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:219,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:222,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - crm
    - ri
    argTypes:
    - OSSL_CRMF_MSG*
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: OSSL_CRMF_MSG_push0_regInfo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - STACK_OF
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    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:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crm
    argTypes:
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    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:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:256,1
    - Dst: OSSL_CRMF_OPTIONALVALIDITY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:260,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: 266
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: OSSL_CRMF_MSG_set0_validity
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_OPTIONALVALIDITY_new
    - OSSL_CRMF_MSG_get0_tmpl
    - ERR_raise
    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:271,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - crm
    - rid
    argTypes:
    - OSSL_CRMF_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 276
    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:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 296
    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:301,1
    - Dst: crmf_asn1_get_int
      Src: /src/openssl/crypto/crmf/crmf_lib.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crm
    argTypes:
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: OSSL_CRMF_MSG_get_certReqId
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - crmf_asn1_get_int
    - ERR_raise
    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:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:313,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/crmf/crmf_lib.c:317,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:318,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - crm
    - exts
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_EXTENSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 325
    functionName: OSSL_CRMF_MSG_set0_extensions
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_X509_EXTENSION_num
    - OSSL_CRMF_MSG_get0_tmpl
    - sk_X509_EXTENSION_free
    - sk_X509_EXTENSION_pop_free
    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:331,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:334,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:339,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:344,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - crm
    - ext
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 353
    functionName: OSSL_CRMF_MSG_push0_extension
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_push
    - ERR_raise
    - OSSL_CRMF_MSG_get0_tmpl
    - sk_X509_EXTENSION_free
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_push0_extension(OSSL_CRMF_MSG *crm,\n    X509_EXTENSION
      *ext)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:364,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/crmf/crmf_lib.c:367,1
    - Dst: ossl_x509_check_private_key
      Src: /src/openssl/crypto/crmf/crmf_lib.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:373,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/crypto/crmf/crmf_lib.c:377,1
    - Dst: strcmp
      Src: /src/openssl/crypto/crmf/crmf_lib.c:378,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:381,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/crmf/crmf_lib.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    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: 389
      start: 355
    functionDepth: 11
    functionLinenumber: 355
    functionLinenumberEnd: 389
    functionName: create_popo_signature
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ossl_x509_check_private_key
    - ERR_raise
    - strcmp
    - ASN1_item_sign_ex
    - X509_PUBKEY_get0
    - ASN1_ITEM_rptr
    - EVP_PKEY_get_default_digest_name
    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:399,1
    - Dst: OSSL_CRMF_POPO_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:405,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:411,1
    - Dst: OSSL_CRMF_POPOSIGNINGKEY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:416,1
    - Dst: create_popo_signature
      Src: /src/openssl/crypto/crmf/crmf_lib.c:420,1
    - Dst: OSSL_CRMF_POPOSIGNINGKEY_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:422,1
    - Dst: OSSL_CRMF_POPOPRIVKEY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:429,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:431,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: 391
    functionDepth: 12
    functionLinenumber: 391
    functionLinenumberEnd: 452
    functionName: OSSL_CRMF_MSG_create_popo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - create_popo_signature
    - OSSL_CRMF_POPO_new
    - OSSL_CRMF_POPOSIGNINGKEY_free
    - ERR_raise
    - OSSL_CRMF_POPO_free
    - OSSL_CRMF_POPOPRIVKEY_new
    - OSSL_CRMF_POPOSIGNINGKEY_new
    - ASN1_NULL_new
    - ASN1_INTEGER_set
    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:534,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: 538
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 538
    functionName: OSSL_CRMF_MSGS_verify_popo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_PUBKEY_eq
    - sk_OSSL_CRMF_MSG_value
    - X509_PUBKEY_get0
    - ASN1_ITEM_rptr
    - ASN1_item_verify_ex
    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:547,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
      Src: /src/openssl/crypto/crmf/crmf_lib.c:552,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/crmf/crmf_lib.c:552,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/crmf/crmf_lib.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - crm
    - p10
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: OSSL_CRMF_MSG_centralkeygen_requested
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    - OSSL_CRMF_MSG_get0_tmpl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CRMF_MSG_centralkeygen_requested(const OSSL_CRMF_MSG *crm,
      const X509_REQ *p10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    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: 578
    functionDepth: 0
    functionLinenumber: 578
    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: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    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: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    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: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    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: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    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: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    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:621,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:624,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:626,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:629,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/crmf/crmf_lib.c:630,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:633,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: 636
      start: 614
    functionDepth: 12
    functionLinenumber: 614
    functionLinenumberEnd: 636
    functionName: OSSL_CRMF_CERTTEMPLATE_fill
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_dup
    - ASN1_INTEGER_free
    - ERR_raise
    - X509_NAME_set
    - 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:644,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/crmf/crmf_lib.c:649,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/crmf/crmf_lib.c:650,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/crmf/crmf_lib.c:651,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/crmf/crmf_lib.c:651,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:657,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: 659
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 659
    functionName: check_cmKGA
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - sk_ASN1_OBJECT_pop_free
    - OBJ_obj2nid
    - sk_ASN1_OBJECT_num
    - STACK_OF
    - sk_ASN1_OBJECT_value
    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:677,1
    - Dst: OSSL_CRMF_ENCRYPTEDVALUE_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:685,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:688,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:689,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:695,1
    - Dst: CMS_EnvelopedData_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:698,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:702,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/crmf/crmf_lib.c:705,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/crmf/crmf_lib.c:705,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/crypto/crmf/crmf_lib.c:709,1
    - Dst: X509_PURPOSE_get_unused_id
      Src: /src/openssl/crypto/crmf/crmf_lib.c:710,1
    - Dst: X509_PURPOSE_add
      Src: /src/openssl/crypto/crmf/crmf_lib.c:711,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/crmf/crmf_lib.c:715,1
    - Dst: X509_VERIFY_PARAM_get_purpose
      Src: /src/openssl/crypto/crmf/crmf_lib.c:719,1
    - Dst: X509_STORE_set_purpose
      Src: /src/openssl/crypto/crmf/crmf_lib.c:720,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:721,1
    - Dst: CMS_SignedData_verify
      Src: /src/openssl/crypto/crmf/crmf_lib.c:725,1
    - Dst: X509_STORE_set_purpose
      Src: /src/openssl/crypto/crmf/crmf_lib.c:728,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:734,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/crypto/crmf/crmf_lib.c:739,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:740,1
    - Dst: CMS_SignedData_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:743,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:744,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:745,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:750,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: 753
      start: 662
    functionDepth: 6
    functionLinenumber: 662
    functionLinenumberEnd: 753
    functionName: OSSL_CRMF_ENCRYPTEDKEY_get1_pkey
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - CMS_SignedData_verify
    - CMS_SignedData_free
    - OPENSSL_free
    - BIO_free
    - X509_PURPOSE_add
    - X509_STORE_get0_param
    - ERR_raise
    - X509_STORE_set_purpose
    - OSSL_CRMF_ENCRYPTEDVALUE_decrypt
    - CMS_EnvelopedData_decrypt
    - X509_PURPOSE_get_unused_id
    - X509_PURPOSE_get_by_sname
    - ASN1_ITEM_rptr
    - d2i_PrivateKey_ex_bio
    - X509_VERIFY_PARAM_get_purpose
    - ASN1_item_d2i_bio
    - d2i_AutoPrivateKey_ex
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:771,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:777,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:782,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/crmf/crmf_lib.c:783,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:785,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:789,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/crmf/crmf_lib.c:791,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/crmf/crmf_lib.c:792,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:797,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_lib.c:800,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:802,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/crypto/crmf/crmf_lib.c:803,1
    - Dst: constant_time_msb
      Src: /src/openssl/crypto/crmf/crmf_lib.c:803,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/crmf/crmf_lib.c:804,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/crypto/crmf/crmf_lib.c:805,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/crmf/crmf_lib.c:807,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:808,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_lib.c:814,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:814,1
    - Dst: ASN1_TYPE_get_octetstring
      Src: /src/openssl/crypto/crmf/crmf_lib.c:816,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:817,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:818,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:819,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_lib.c:823,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/crypto/crmf/crmf_lib.c:823,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:824,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/crmf/crmf_lib.c:826,1
    - Dst: EVP_DecryptInit
      Src: /src/openssl/crypto/crmf/crmf_lib.c:828,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/crmf/crmf_lib.c:829,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/crypto/crmf/crmf_lib.c:832,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:833,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:840,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:841,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:842,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:843,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:844,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:847,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 5
    argNames:
    - enc
    - libctx
    - propq
    - pkey
    - outlen
    argTypes:
    - OSSL_CRMF_ENCRYPTEDVALUE*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 849
    functionName: OSSL_CRMF_ENCRYPTEDVALUE_decrypt
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get_block_size
    - EVP_CIPHER_get_key_length
    - EVP_PKEY_decrypt
    - constant_time_eq_s
    - EVP_CIPHER_get_iv_length
    - OBJ_obj2txt
    - EVP_PKEY_CTX_new_from_pkey
    - ERR_clear_error
    - constant_time_is_zero_s
    - EVP_DecryptUpdate
    - EVP_DecryptFinal
    - OPENSSL_free
    - ERR_raise
    - EVP_PKEY_decrypt_init
    - constant_time_is_zero
    - constant_time_msb
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - ASN1_TYPE_get_octetstring
    - EVP_DecryptInit
    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:867,1
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:868,1
    - Dst: d2i_X509
      Src: /src/openssl/crypto/crmf/crmf_lib.c:871,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:872,1
    - Dst: X509_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:873,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:878,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: 880
      start: 858
    functionDepth: 7
    functionLinenumber: 858
    functionLinenumberEnd: 880
    functionName: OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - d2i_X509
    - OPENSSL_free
    - X509_free
    - ERR_raise
    - OSSL_CRMF_ENCRYPTEDVALUE_decrypt
    - X509_new_ex
    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:899,1
    - Dst: CMS_EnvelopedData_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:902,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/crypto/crmf/crmf_lib.c:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:909,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:910,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:914,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: 917
      start: 889
    functionDepth: 8
    functionLinenumber: 889
    functionLinenumberEnd: 917
    functionName: OSSL_CRMF_ENCRYPTEDKEY_get1_encCert
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - d2i_X509_bio
    - BIO_free
    - OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
    - ERR_raise
    - CMS_EnvelopedData_decrypt
    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:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - envdata
    argTypes:
    - CMS_EnvelopedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 929
    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:36,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:44,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:47,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:50,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:58,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:78,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:83,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:92,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:93,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:100,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:101,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: 103
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 103
    functionName: OSSL_CRMF_pbmp_new
    functionSourceFile: /src/openssl/crypto/crmf/crmf_pbm.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_set
    - OPENSSL_free
    - ERR_raise
    - OSSL_CRMF_PBMPARAMETER_free
    - RAND_bytes_ex
    - X509_ALGOR_set0
    - OSSL_CRMF_PBMPARAMETER_new
    - ASN1_INTEGER_set
    - 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:136,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:139,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:147,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:149,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:153,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:157,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:160,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:163,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:165,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:170,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:176,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:178,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:180,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:189,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:191,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:192,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:195,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:199,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:207,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:208,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:216,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:221,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:222,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: 225
      start: 117
    functionDepth: 10
    functionLinenumber: 117
    functionLinenumberEnd: 225
    functionName: OSSL_CRMF_pbm_new
    functionSourceFile: /src/openssl/crypto/crmf/crmf_pbm.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - EVP_PBE_find
    - OPENSSL_free
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_fetch
    - EVP_MD_CTX_free
    - OBJ_obj2nid
    - ASN1_INTEGER_get_int64
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_Q_mac
    - EVP_MD_CTX_new
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - OBJ_obj2txt
    - ERR_add_error_data
    - 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:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_ppc.c
    functionUses: 0
    functionsReached:
    - sha256_block_p8
    - sha256_block_ppc
    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:30,1
    - Dst: sha512_block_ppc
      Src: /src/openssl/crypto/sha/sha_ppc.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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: 0
    functionsReached:
    - SHA1_Init
    - memset
    - SHA1_Update
    - OPENSSL_cleanse
    - SHA1_Final
    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:25,1
    - Dst: sha256_block_data_order_zvkb_zvknha_or_zvknhb
      Src: /src/openssl/crypto/sha/sha_riscv.c:26,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/sha/sha_riscv.c:27,1
    - Dst: sha256_block_data_order_zbb
      Src: /src/openssl/crypto/sha/sha_riscv.c:28,1
    - Dst: sha256_block_data_order_riscv64
      Src: /src/openssl/crypto/sha/sha_riscv.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_riscv.c
    functionUses: 0
    functionsReached:
    - sha256_block_data_order_zvkb_zvknha_or_zvknhb
    - RISCV_HAS_ZVKNHA
    - RISCV_HAS_ZBB
    - sha256_block_data_order_zbb
    - RISCV_HAS_ZVKB
    - sha256_block_data_order_riscv64
    - riscv_vlen
    - RISCV_HAS_ZVKNHB
    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:41,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/sha/sha_riscv.c:41,1
    - Dst: sha512_block_data_order_zvkb_zvknhb
      Src: /src/openssl/crypto/sha/sha_riscv.c:42,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/sha/sha_riscv.c:43,1
    - Dst: sha512_block_data_order_zbb
      Src: /src/openssl/crypto/sha/sha_riscv.c:44,1
    - Dst: sha512_block_data_order_c
      Src: /src/openssl/crypto/sha/sha_riscv.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_riscv.c
    functionUses: 0
    functionsReached:
    - RISCV_HAS_ZVKB_AND_ZVKNHB
    - RISCV_HAS_ZBB
    - sha512_block_data_order_zbb
    - sha512_block_data_order_c
    - riscv_vlen
    - sha512_block_data_order_zvkb_zvknhb
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: U64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 16
    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: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: U64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 16
    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: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: U64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:79,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    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:97,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    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:115,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    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:133,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: SHA512_Init
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: int SHA512_Init(SHA512_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - md
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: OUTPUT_RESULT
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUTPUT_RESULT(md, len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha512.c:170,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:172,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha512.c:175,1
    - Dst: OPENSSL_store_u64_be
      Src: /src/openssl/crypto/sha/sha512.c:182,1
    - Dst: OPENSSL_store_u64_be
      Src: /src/openssl/crypto/sha/sha512.c:183,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:186,1
    - Dst: OUTPUT_RESULT
      Src: /src/openssl/crypto/sha/sha512.c:194,1
    - Dst: OUTPUT_RESULT
      Src: /src/openssl/crypto/sha/sha512.c:197,1
    - Dst: OUTPUT_RESULT
      Src: /src/openssl/crypto/sha/sha512.c:200,1
    - Dst: OUTPUT_RESULT
      Src: /src/openssl/crypto/sha/sha512.c:203,1
    - Dst: OUTPUT_RESULT
      Src: /src/openssl/crypto/sha/sha512.c:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - out
    - c
    argTypes:
    - unsigned char*
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 227
    functionName: SHA512_Final
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 1
    functionsReached:
    - memset
    - sha512_block_data_order
    - OPENSSL_store_u64_be
    - OUTPUT_RESULT
    linkageType: ''
    returnType: int
    signature: int SHA512_Final(unsigned char *out, SHA512_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Final
      Src: /src/openssl/crypto/sha/sha512.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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:243,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:254,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:257,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:259,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:267,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:268,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:272,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - cp
    - data
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 280
    functionName: SHA512_Update_thunk
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - U64
    - memcpy
    - sha512_block_data_order
    linkageType: ''
    returnType: int
    signature: int SHA512_Update_thunk(void *cp, const unsigned char *data, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Update_thunk
      Src: /src/openssl/crypto/sha/sha512.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - _data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: SHA512_Update
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - SHA512_Update_thunk
    linkageType: ''
    returnType: int
    signature: int SHA512_Update(SHA512_CTX *c, const void *_data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Update_thunk
      Src: /src/openssl/crypto/sha/sha512.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: SHA384_Update
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - SHA512_Update_thunk
    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:296,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - SHA512_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: SHA512_Transform
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha512_block_data_order
    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: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    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: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    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: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    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: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    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: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    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: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    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: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    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: 403
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    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: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    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: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    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: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    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: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    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: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    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: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    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: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    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: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    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: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    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: 471
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 471
    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: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    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: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    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: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    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: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    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: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    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: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    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: 508
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 508
    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: 513
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 513
    functionName: B
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 13
    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: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    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: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    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: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    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: 523
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 523
    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: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    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: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    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: 532
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    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: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    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:567,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:572,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:572,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:574,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:574,1
    - Dst: sigma0
      Src: /src/openssl/crypto/sha/sha512.c:578,1
    - Dst: sigma1
      Src: /src/openssl/crypto/sha/sha512.c:579,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:585,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:585,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:587,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 601
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - Ch
    - Sigma0
    - Sigma1
    - Maj
    - 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:628,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:631,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:631,1
    - Dst: sigma0
      Src: /src/openssl/crypto/sha/sha512.c:644,1
    - Dst: sigma1
      Src: /src/openssl/crypto/sha/sha512.c:646,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:649,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:649,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:650,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 672
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - Ch
    - Sigma0
    - Sigma1
    - Maj
    - 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: 682
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 682
    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: 692
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 692
    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:718,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:720,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:722,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:724,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:726,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:728,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:730,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:732,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:734,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:736,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:738,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:740,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:742,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:744,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:746,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:748,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:750,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:751,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:752,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:753,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:754,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:755,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:756,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:757,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:758,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:759,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:760,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:761,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:762,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:763,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:764,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:765,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:766,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:767,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:768,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:769,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:770,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:771,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:772,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:773,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:774,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:775,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:776,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:777,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:778,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:779,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:780,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:781,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:785,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:786,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:787,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:788,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:789,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:790,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:791,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:792,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:793,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:794,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:795,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:796,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:797,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:798,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:799,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 102
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 814
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - ROUND_00_15
    - ROUND_16_80
    - PULL64
    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: 39
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 39
    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: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    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: SHA1_Update_thunk
      Src: /src/openssl/crypto/sha/sha_local.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SHA1_Update
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 1
    functionsReached:
    - SHA1_Update_thunk
    linkageType: ''
    returnType: int
    signature: int SHA1_Update(SHA_CTX *c, const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha_local.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    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: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    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: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    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: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    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: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    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: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    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: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    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: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    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: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    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: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: X
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 34
    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: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: X
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:178,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:179,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:180,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:180,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:181,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:182,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:182,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:183,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:184,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:184,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:185,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:186,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:186,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:187,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:188,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:188,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:189,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:190,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:190,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: X
      Src: /src/openssl/crypto/sha/sha_local.h:193,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:194,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:194,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:195,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:196,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:196,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:197,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:198,1
    - Dst: X
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:201,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:202,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:202,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:203,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:204,1
    - Dst: X
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:207,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:208,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:213,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:214,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:215,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:216,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:217,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:217,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:218,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:219,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:220,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:220,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:221,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:222,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:223,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:223,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:224,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:225,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:226,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:226,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:227,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:228,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:229,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:229,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:230,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:231,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:232,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:232,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:233,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:234,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:235,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:235,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:236,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:237,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:238,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:238,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:239,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:240,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:241,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:241,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:242,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:243,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:244,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:244,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:245,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:250,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:250,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:263,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:263,1
    - Dst: BODY_16_19
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:264,1
    - Dst: BODY_16_19
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:265,1
    - Dst: BODY_16_19
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:266,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:268,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:269,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:270,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:271,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:272,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:272,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:273,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:274,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:275,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:276,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:277,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:278,1
    - Dst: BODY_20_31
      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: X
      Src: /src/openssl/crypto/sha/sha_local.h:279,1
    - Dst: BODY_32_39
      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_32_39
      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_32_39
      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_32_39
      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_32_39
      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_32_39
      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_32_39
      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_32_39
      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: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_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:293,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:293,1
    - Dst: BODY_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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_40_59
      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: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
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:314,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:314,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:314,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:314,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:314,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:315,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:315,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:315,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:315,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:315,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:316,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:316,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:316,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:316,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:316,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:317,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:317,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:317,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:317,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:317,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:318,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:318,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:318,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:318,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:318,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:319,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:319,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:319,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:319,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:319,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:320,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:320,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:320,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:320,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:320,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:321,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:321,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:321,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:321,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:321,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:322,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:322,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:322,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:322,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:322,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:323,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:323,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:323,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:323,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:323,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:324,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:324,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:324,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:324,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:324,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:325,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:325,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:325,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:325,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:325,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:326,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:326,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:326,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:326,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:326,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:327,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:327,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:327,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:327,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:327,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:328,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:328,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:328,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:328,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:328,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:329,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:329,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:329,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:329,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:329,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:330,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:330,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:330,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:330,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 169
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 347
    functionName: HASH_BLOCK_DATA_ORDER
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached:
    - BODY_20_31
    - HOST_c2l
    - BODY_60_79
    - BODY_00_15
    - X
    - BODY_40_59
    - BODY_32_39
    - BODY_16_19
    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: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    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: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    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: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    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: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    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: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    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:407,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:409,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:412,1
    - Dst: BODY_20_39
      Src: /src/openssl/crypto/sha/sha_local.h:415,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:419,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 442
    functionName: HASH_BLOCK_DATA_ORDER
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached:
    - HOST_c2l
    - BODY_60_79
    - BODY_00_15
    - BODY_20_39
    - BODY_40_59
    - BODY_16_19
    linkageType: ''
    returnType: void
    signature: void HASH_BLOCK_DATA_ORDER(SHA_CTX *c, const void *p, size_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: get_encode_size
    functionSourceFile: /src/openssl/crypto/sha/sha3_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_encode_size(size_t bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encode_size
      Src: /src/openssl/crypto/sha/sha3_encode.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sha/sha3_encode.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - out
    - out_max_len
    - out_len
    - bits
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: ossl_sp800_185_right_encode
    functionSourceFile: /src/openssl/crypto/sha/sha3_encode.c
    functionUses: 0
    functionsReached:
    - get_encode_size
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_sp800_185_right_encode(unsigned char *out,\n    size_t out_max_len,
      size_t *out_len,\n    size_t bits)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_encode_size
      Src: /src/openssl/crypto/sha/sha3_encode.c:88,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sha/sha3_encode.c:92,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3_encode.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - out
    - out_max_len
    - out_len
    - in
    - in_len
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: ossl_sp800_185_encode_string
    functionSourceFile: /src/openssl/crypto/sha/sha3_encode.c
    functionUses: 0
    functionsReached:
    - memcpy
    - get_encode_size
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_sp800_185_encode_string(unsigned char *out,\n    size_t out_max_len,
      size_t *out_len,\n    const unsigned char *in, size_t in_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/sha/sha3_encode.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sha/sha3_encode.c:132,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3_encode.c:143,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3_encode.c:147,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3_encode.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 8
    argNames:
    - out
    - out_len_max
    - out_len
    - in1
    - in1_len
    - in2
    - in2_len
    - w
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 158
    functionName: ossl_sp800_185_bytepad
    functionSourceFile: /src/openssl/crypto/sha/sha3_encode.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_assert
    - ERR_raise
    - memset
    linkageType: ''
    returnType: int
    signature: "int ossl_sp800_185_bytepad(unsigned char *out, size_t out_len_max,
      size_t *out_len,\n    const unsigned char *in1, size_t in1_len,\n    const unsigned
      char *in2, size_t in2_len,\n    size_t w)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha256_block_data_order_lsx
      Src: /src/openssl/crypto/sha/sha_loongarch.c:24,1
    - Dst: sha256_block_data_order_la64v100
      Src: /src/openssl/crypto/sha/sha_loongarch.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_loongarch.c
    functionUses: 0
    functionsReached:
    - sha256_block_data_order_la64v100
    - sha256_block_data_order_lsx
    linkageType: ''
    returnType: void
    signature: void sha256_block_data_order(SHA256_CTX *ctx, const void *in, size_t
      num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha512_block_data_order_lsx
      Src: /src/openssl/crypto/sha/sha_loongarch.c:37,1
    - Dst: sha512_block_data_order_la64v100
      Src: /src/openssl/crypto/sha/sha_loongarch.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_loongarch.c
    functionUses: 3
    functionsReached:
    - sha512_block_data_order_la64v100
    - sha512_block_data_order_lsx
    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: 5
    argNames:
    - (
    - a
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    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:63,1
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:64,1
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:67,1
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - val
    - offset
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    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:139,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:140,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:141,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:142,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 152
    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:159,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:160,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:161,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:162,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 165
    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:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 206
    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: 226
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 226
    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:230,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:230,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: 229
        line_start: 229
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: Iota
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - assert
    - OSSL_NELEM
    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:239,1
    - Dst: Rho
      Src: /src/openssl/crypto/sha/keccak1600.c:240,1
    - Dst: Pi
      Src: /src/openssl/crypto/sha/keccak1600.c:241,1
    - Dst: Chi
      Src: /src/openssl/crypto/sha/keccak1600.c:242,1
    - Dst: Iota
      Src: /src/openssl/crypto/sha/keccak1600.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: KeccakF1600
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - Rho
    - Chi
    - Theta
    - Iota
    - Pi
    linkageType: ''
    returnType: void
    signature: void KeccakF1600(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:263,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:263,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:272,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:273,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:274,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:275,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:276,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:284,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:285,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:287,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:288,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:292,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:303,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:304,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:305,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:306,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:320,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:321,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:322,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:323,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:324,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:332,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:333,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:334,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:335,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:336,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:344,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:345,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:346,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:347,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:348,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:356,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:357,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:358,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:359,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:360,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: 262
        line_start: 262
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 367
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 367
    functionName: Round
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL64
    - assert
    - OSSL_NELEM
    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:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 376
    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:390,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:390,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:398,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:399,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:400,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:401,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:402,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:439,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:440,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:441,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:442,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:444,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:449,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:454,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:459,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:464,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
    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: 389
        line_start: 389
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 510
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 510
    functionName: Round
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 1
    functionsReached:
    - ROL64
    - assert
    - OSSL_NELEM
    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:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 519
    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:535,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:535,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:543,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:544,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:545,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:546,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:547,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:569,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:570,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:571,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:572,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:573,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:589,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:590,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:591,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:592,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:593,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:609,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:610,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:611,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:612,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:613,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:629,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:630,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:631,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:632,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:633,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: 534
        line_start: 534
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 648
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 648
    functionName: Round
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 2
    functionsReached:
    - ROL64
    - assert
    - OSSL_NELEM
    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:665,1
    - Dst: Round
      Src: /src/openssl/crypto/sha/keccak1600.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 677
    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:693,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:693,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:702,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:703,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:704,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:705,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:706,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:720,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:721,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:722,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:723,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:724,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:732,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:733,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:734,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:735,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:736,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:744,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:745,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:746,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:747,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:748,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:756,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:757,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:758,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:759,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:760,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:769,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:770,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:771,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:772,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:773,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:787,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:788,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:789,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:790,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:791,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:799,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:800,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:801,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:802,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:803,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:811,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:812,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:813,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:814,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:815,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:823,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:824,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:825,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:826,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:827,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:836,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:837,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:838,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:839,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:840,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:854,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:855,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:856,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:857,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:858,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:866,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:867,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:868,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:869,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:870,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:878,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:879,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:880,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:881,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:882,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:890,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:891,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:892,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:893,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:894,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:903,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:904,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:905,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:906,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:907,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:921,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:922,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:923,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:924,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:925,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:933,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:934,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:935,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:936,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:937,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:945,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:946,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:947,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:948,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:949,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:957,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:958,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:959,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:960,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:961,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: 692
        line_start: 692
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 968
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 968
    functionName: FourRounds
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL64
    - assert
    - OSSL_NELEM
    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:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 977
    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: 1031
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1031
    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: 1083
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1083
    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:1101,1
    - Dst: BitInterleave
      Src: /src/openssl/crypto/sha/keccak1600.c:1108,1
    - Dst: KeccakF1600
      Src: /src/openssl/crypto/sha/keccak1600.c:1110,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: 1100
        line_start: 1100
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 1115
      start: 1095
    functionDepth: 4
    functionLinenumber: 1095
    functionLinenumberEnd: 1115
    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:1132,1
    - Dst: KeccakF1600
      Src: /src/openssl/crypto/sha/keccak1600.c:1136,1
    - Dst: BitDeinterleave
      Src: /src/openssl/crypto/sha/keccak1600.c:1139,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: 1131
        line_start: 1131
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 1161
      start: 1126
    functionDepth: 4
    functionLinenumber: 1126
    functionLinenumberEnd: 1161
    functionName: SHA3_squeeze
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - KeccakF1600
    - assert
    - BitDeinterleave
    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:1181,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/keccak1600.c:1182,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/keccak1600.c:1183,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: 1184
      start: 1176
    functionDepth: 5
    functionLinenumber: 1176
    functionLinenumberEnd: 1184
    functionName: SHA3_sponge
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - memset
    - SHA3_squeeze
    - 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:1264,1
    - Dst: printf
      Src: /src/openssl/crypto/sha/keccak1600.c:1273,1
    - Dst: printf
      Src: /src/openssl/crypto/sha/keccak1600.c:1274,1
    - Dst: memcmp
      Src: /src/openssl/crypto/sha/keccak1600.c:1277,1
    - Dst: fprintf
      Src: /src/openssl/crypto/sha/keccak1600.c:1278,1
    - Dst: fprintf
      Src: /src/openssl/crypto/sha/keccak1600.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1284
    functionName: main
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 4
    functionsReached:
    - fprintf
    - SHA3_sponge
    - memcmp
    - printf
    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: 0
    functionsReached:
    - SHA1_Init
    - OPENSSL_cleanse
    - SHA1_Final
    - SHA1_Update
    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: 1
    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: 121
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 121
    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:
    - Dst: SHA256_Update_thunk
      Src: /src/openssl/crypto/sha/sha256.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - sz
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: SHA256_Update
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 8
    functionsReached:
    - SHA256_Update_thunk
    linkageType: ''
    returnType: int
    signature: int SHA256_Update(SHA256_CTX *ctx, const void *data, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    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: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    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: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    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: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    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: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    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: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    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: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    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: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    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: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    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: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    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: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    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: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    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:245,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha256.c:247,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha256.c:247,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha256.c:248,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha256.c:248,1
    - Dst: sigma0
      Src: /src/openssl/crypto/sha/sha256.c:261,1
    - Dst: sigma1
      Src: /src/openssl/crypto/sha/sha256.c:263,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha256.c:266,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha256.c:266,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha256.c:267,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha256.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 287
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached:
    - Ch
    - HOST_c2l
    - Sigma0
    - Sigma1
    - Maj
    - 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: 298
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 298
    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: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    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:338,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:340,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:342,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:344,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:346,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:348,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:350,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:352,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:354,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:356,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:358,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:360,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:362,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:364,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:366,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:368,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:374,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:376,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:377,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:379,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:380,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:382,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:383,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:385,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:386,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:388,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:389,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:391,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:392,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:394,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:395,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:397,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:398,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:400,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:401,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:403,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:404,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:406,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:407,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:409,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:410,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:412,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:413,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:415,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:416,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:418,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:419,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:421,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:425,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:426,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:427,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:428,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:429,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:430,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:431,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 114
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 444
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached:
    - ROUND_16_63
    - ROUND_00_15
    - HOST_c2l
    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: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: S390_SHA3_CAPABLE
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390_SHA3_CAPABLE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/sha/sha3.c:32,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KECCAK1600_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ossl_sha3_reset
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 2
    functionsReached:
    - memset
    - S390X_CAPBIT
    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:41,1
    - Dst: ossl_sha3_reset
      Src: /src/openssl/crypto/sha/sha3.c:44,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: 52
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 52
    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:56,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: 61
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 61
    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: ossl_unlikely
      Src: /src/openssl/crypto/sha/sha3.c:72,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:84,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:89,1
    - Dst: KECCAK1600_CTX*::meth::absorb
      Src: /src/openssl/crypto/sha/sha3.c:93,1
    - Dst: KECCAK1600_CTX*::meth::absorb
      Src: /src/openssl/crypto/sha/sha3.c:98,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/sha/sha3.c:102,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: ossl_sha3_absorb
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 7
    functionsReached:
    - ossl_unlikely
    - memcpy
    - ossl_likely
    - KECCAK1600_CTX*::meth::absorb
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_absorb(KECCAK1600_CTX *ctx, const unsigned char *inp,
      size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KECCAK1600_CTX*::meth::final
      Src: /src/openssl/crypto/sha/sha3.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: ossl_sha3_final
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - KECCAK1600_CTX*::meth::final
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_final(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: KECCAK1600_CTX*::meth::squeeze
      Src: /src/openssl/crypto/sha/sha3.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: ossl_sha3_squeeze
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 6
    functionsReached:
    - KECCAK1600_CTX*::meth::squeeze
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_squeeze(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: ossl_sha3_absorb_default
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - SHA3_absorb
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_sha3_absorb_default(KECCAK1600_CTX *ctx, const unsigned
      char *inp, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3.c:161,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:165,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/sha3.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: ossl_sha3_final_default
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - memset
    - SHA3_squeeze
    - SHA3_absorb
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_final_default(KECCAK1600_CTX *ctx, unsigned char *out,
      size_t outlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3.c:199,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:202,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:216,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/sha3.c:227,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/sha3.c:234,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 240
    functionName: ossl_shake_squeeze_default
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - SHA3_squeeze
    - SHA3_absorb
    linkageType: ''
    returnType: int
    signature: int ossl_shake_squeeze_default(KECCAK1600_CTX *ctx, unsigned char *out,
      size_t outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s390x_kimd
      Src: /src/openssl/crypto/sha/sha3.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: sha3_absorb_s390x
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - s390x_kimd
    linkageType: ''
    returnType: size_t
    signature: size_t sha3_absorb_s390x(KECCAK1600_CTX *ctx, const unsigned char *inp,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_klmd
      Src: /src/openssl/crypto/sha/sha3.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: shake_final_s390x
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: int shake_final_s390x(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s390x_klmd
      Src: /src/openssl/crypto/sha/sha3.c:287,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:296,1
    - Dst: s390x_klmd
      Src: /src/openssl/crypto/sha/sha3.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 309
    functionName: shake_squeeze_s390x
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: int shake_squeeze_s390x(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_absorb_cext
      Src: /src/openssl/crypto/sha/sha3.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: sha3_absorb_arm
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - SHA3_absorb_cext
    linkageType: ''
    returnType: size_t
    signature: size_t sha3_absorb_arm(KECCAK1600_CTX *ctx, const unsigned char *inp,
      size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sha/sha3.c:337,1
    - Dst: ossl_keccak_init
      Src: /src/openssl/crypto/sha/sha3.c:341,1
    - Dst: S390_SHA3_CAPABLE
      Src: /src/openssl/crypto/sha/sha3.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: ossl_shake256_new
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 1
    functionsReached:
    - S390_SHA3_CAPABLE
    - ossl_keccak_init
    - OPENSSL_zalloc
    linkageType: ''
    returnType: KECCAK1600_CTX
    signature: KECCAK1600_CTX *ossl_shake256_new(void)
  - 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: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    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: 407
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 407
    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:441,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:442,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:443,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:444,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:448,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:449,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:450,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:453,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:454,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:455,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:456,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:457,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:458,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:459,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:460,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:461,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:462,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:463,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:464,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:465,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:466,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:467,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:468,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:469,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:470,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:471,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:472,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:473,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:474,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:475,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:476,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:477,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:478,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:479,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:480,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:485,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:486,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:487,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 2
    argNames:
    - rawkey
    - ks
    argTypes:
    - unsigned char[]
    - SEED_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 492
    functionName: SEED_set_key
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 0
    functionsReached:
    - char2word
    - KEYUPDATE_TEMP
    - KEYSCHEDULE_UPDATE1
    - KEYSCHEDULE_UPDATE0
    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:501,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:502,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:503,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:504,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:507,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:508,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:509,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:510,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:511,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:512,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:513,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:514,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:515,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:516,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:517,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:527,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:528,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:533,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:534,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:535,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:536,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: 537
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 537
    functionName: SEED_encrypt
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 1
    functionsReached:
    - word2char
    - char2word
    - 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:546,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:547,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:548,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:549,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:552,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:553,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:554,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:555,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:556,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:557,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:558,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:559,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:560,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:561,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:562,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:572,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:573,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:578,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:579,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:580,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:581,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: 582
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 582
    functionName: SEED_decrypt
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 1
    functionsReached:
    - word2char
    - char2word
    - 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: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    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: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    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: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    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: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    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: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    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: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    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: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    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: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    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: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    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: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    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: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    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: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    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: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    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: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    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:70,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:73,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: U32TO8_LITTLE
      Src: /src/openssl/crypto/chacha/chacha_enc.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - chacha_buf*
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: chacha20_core
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - QUARTERROUND
    - U32TO8_LITTLE
    linkageType: ''
    returnType: void
    signature: void chacha20_core(chacha_buf *output, const uint32_t input[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:105,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:105,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: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: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: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: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: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:116,1
    - Dst: chacha20_core
      Src: /src/openssl/crypto/chacha/chacha_enc.c:137,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: 153
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 153
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 0
    functionsReached:
    - chacha20_core
    - ossl_toascii
    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:57,1
    - Dst: ChaCha20_ctr32_v_zbb_zvkb
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:58,1
    - Dst: ChaCha20_ctr32_v_zbb
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:60,1
    - Dst: ChaCha20_ctr32_c
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/openssl/crypto/chacha/chacha_riscv.c
    functionUses: 0
    functionsReached:
    - ChaCha20_ctr32_v_zbb
    - ChaCha20_ctr32_c
    - RISCV_HAS_ZBB
    - RISCV_HAS_ZVKB
    - riscv_vlen
    - ChaCha20_ctr32_v_zbb_zvkb
    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:39,1
    - Dst: ChaCha20_ctr32_vmx
      Src: /src/openssl/crypto/chacha/chacha_ppc.c:41,1
    - Dst: ChaCha20_ctr32_int
      Src: /src/openssl/crypto/chacha/chacha_ppc.c:42,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: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/openssl/crypto/chacha/chacha_ppc.c
    functionUses: 0
    functionsReached:
    - ChaCha20_ctr32_int
    - ChaCha20_ctr32_vmx
    - ChaCha20_ctr32_vsx
    - ChaCha20_ctr32_vsx_p10
    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_set
    - ossl_ffc_named_group_get_uid
    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:
    - dh_param_init
    - ERR_raise
    - 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:75,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/openssl/crypto/dh/dh_group_params.c:77,1
    - Dst: ossl_ffc_named_group_get_keylength
      Src: /src/openssl/crypto/dh/dh_group_params.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: ossl_dh_cache_named_group
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_named_group_get_q
    - ossl_ffc_named_group_get_keylength
    - ossl_ffc_numbers_to_dh_named_group
    - ossl_ffc_named_group_get_uid
    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:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    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: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    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:
    - X509_PUBKEY_get0_param
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - ASN1_INTEGER_free
    - ERR_raise
    - DH_free
    - EVP_PKEY_assign
    - d2i_dhp
    - X509_ALGOR_get0
    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:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_free
    - ASN1_INTEGER_free
    - ERR_raise
    - X509_PUBKEY_set0_param
    - i2d_dhp
    - ASN1_STRING_new
    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:
    - ossl_dh_key_from_pkcs8
    - EVP_PKEY_assign
    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:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_clear_free
    - ASN1_STRING_clear_free
    - ERR_raise
    - PKCS8_pkey_set0
    - i2d_dhp
    - ASN1_STRING_new
    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:
    - EVP_PKEY_assign
    - d2i_dhp
    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:297,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 4
    argNames:
    - bp
    - x
    - indent
    - ptype
    argTypes:
    - BIO*
    - DH*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 299
    functionName: do_dh_print
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - DH_bits
    - ossl_ffc_params_print
    - ERR_raise
    - BIO_indent
    - ASN1_bn_print
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    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:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    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:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    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:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 320
    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:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - to
    - from
    - is_x942
    argTypes:
    - DH*
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 332
    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:337,1
    - Dst: int_dh_param_copy
      Src: /src/openssl/crypto/dh/dh_ameth.c:340,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 345
    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:350,1
    - Dst: int_dh_param_copy
      Src: /src/openssl/crypto/dh/dh_ameth.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 356
    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: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    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:367,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_ameth.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: dh_pub_cmp
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - dh_cmp_parameters
    - BN_cmp
    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:378,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: 379
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 379
    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:384,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: 385
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 385
    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:390,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: 391
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 391
    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:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 396
    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:404,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/dh/dh_ameth.c:404,1
    - Dst: evp_pkey_get0_DH_int
      Src: /src/openssl/crypto/dh/dh_ameth.c:406,1
    - Dst: ossl_dh_buf2key
      Src: /src/openssl/crypto/dh/dh_ameth.c:409,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/dh/dh_ameth.c:411,1
    - Dst: ossl_dh_key2buf
      Src: /src/openssl/crypto/dh/dh_ameth.c:414,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: 418
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 418
    functionName: dh_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_dh_buf2key
    - ossl_dh_key2buf
    - evp_pkey_get0_DH_int
    - EVP_PKEY_get0_DH
    - ossl_assert
    - 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: 420
    functionDepth: 0
    functionLinenumber: 420
    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:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_long
    - DH_get0_g
    - DH_get0_q
    - importer
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - DH_get0_priv_key
    - OSSL_PARAM_BLD_new
    - DH_get0_p
    - OSSL_PARAM_BLD_to_param
    - DH_get_length
    - DH_get0_pub_key
    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:
    - EVP_PKEY_CTX_get0_pkey
    - ossl_dh_key_fromdata
    - ERR_raise
    - DH_free
    - ossl_dh_new_ex
    - EVP_PKEY_assign
    - DH_set_flags
    - ossl_dh_params_fromdata
    - DH_clear_flags
    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
    - ossl_dh_dup
    - DH_free
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:
    - OPENSSL_strdup
    - memcpy
    - OPENSSL_malloc
    - OPENSSL_free
    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_strdup
    - OPENSSL_free
    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: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: (*DH_meth_get_compute_key(const DH_METHOD *dhm))(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))(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: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    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: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: "(*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm))(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))(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: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    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: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    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: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    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: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    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: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: (*DH_meth_get_generate_params(const DH_METHOD *dhm))(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))(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: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    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:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_KDF_fetch
    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:
    - EVP_MD_get0_provider
    - ossl_dh_kdf_X9_42_asn1
    - ossl_provider_libctx
    - OBJ_obj2txt
    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_get_named_group_uid_from_size
    - DH_free
    - ossl_dh_new_by_nid_ex
    - ossl_ffc_params_copy
    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_gen_named_group
    - dh_builtin_genparams
    - DH*::meth::generate_params
    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:231,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dh/dh_gen.c:235,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_gen.c:236,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: 238
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 238
    functionName: dh_builtin_genparams
    functionSourceFile: /src/openssl/crypto/dh/dh_gen.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_word
    - BN_GENCB_call
    - ossl_ifc_ffc_compute_security_bits
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_new_ex
    - BN_CTX_free
    - BN_generate_prime_ex2
    - BN_new
    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_end
    - BN_clear
    - BN_CTX_start
    - BN_num_bytes
    - BN_value_one
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_new_ex
    - BN_bn2binpad
    - BN_CTX_free
    - BN_num_bits
    - DH*::meth::bn_mod_exp
    - BN_MONT_CTX_set_locked
    - BN_cmp
    - BN_set_flags
    - BN_sub_word
    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:
    - memmove
    - memset
    - DH*::meth::compute_key
    - ossl_dh_compute_key
    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:
    - DH*::meth::compute_key
    - BN_num_bytes
    - memmove
    - memset
    - ossl_dh_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:
    - BN_mod_exp_mont
    - s390x_mod_exp
    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:
    - DH*::meth::generate_key
    - 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:
    - BN_with_flags
    - BN_clear_free
    - BN_MONT_CTX_set_locked
    - DH*::meth::bn_mod_exp
    - 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:314,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:314,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:317,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/crypto/dh/dh_key.c:320,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:330,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/dh/dh_key.c:336,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/dh/dh_key.c:343,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/dh/dh_key.c:344,1
    - Dst: BN_clear_bit
      Src: /src/openssl/crypto/dh/dh_key.c:346,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/openssl/crypto/dh/dh_key.c:353,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/crypto/dh/dh_key.c:361,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:362,1
    - Dst: ossl_dh_generate_public_key
      Src: /src/openssl/crypto/dh/dh_key.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:379,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_key.c:382,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_key.c:384,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_key.c:385,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 89
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 265
    functionDepth: 9
    functionLinenumber: 265
    functionLinenumberEnd: 387
    functionName: generate_key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 1
    functionsReached:
    - ossl_dh_generate_public_key
    - ossl_ffc_params_simple_validate
    - ossl_ifc_ffc_compute_security_bits
    - ERR_raise
    - BN_CTX_new_ex
    - BN_is_bit_set
    - BN_clear_bit
    - BN_CTX_free
    - BN_free
    - BN_is_word
    - BN_num_bits
    - BN_priv_rand_ex
    - ossl_ffc_generate_private_key
    - BN_new
    - DH_get_nid
    - BN_secure_new
    linkageType: ''
    returnType: int
    signature: int generate_key(DH *dh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dh/dh_key.c:396,1
    - Dst: DH_get0_pqg
      Src: /src/openssl/crypto/dh/dh_key.c:398,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:399,1
    - Dst: ossl_dh_check_pub_key_partial
      Src: /src/openssl/crypto/dh/dh_key.c:404,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dh/dh_key.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:412,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_key.c:413,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - dh
    - buf
    - len
    argTypes:
    - DH*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 389
    functionDepth: 5
    functionLinenumber: 389
    functionLinenumberEnd: 415
    functionName: ossl_dh_buf2key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 1
    functionsReached:
    - BN_bin2bn
    - DH_get0_pqg
    - BN_num_bytes
    - ossl_dh_check_pub_key_partial
    - ERR_raise
    - BN_free
    - DH_set0_key
    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:425,1
    - Dst: DH_get0_key
      Src: /src/openssl/crypto/dh/dh_key.c:426,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:428,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:430,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:438,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dh/dh_key.c:440,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/dh/dh_key.c:450,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_key.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:453,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: 459
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 459
    functionName: ossl_dh_key2buf
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 2
    functionsReached:
    - DH_get0_pqg
    - BN_num_bytes
    - OPENSSL_free
    - ERR_raise
    - 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: 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_free
    - DH_new
    - BN_GENCB_set_old
    - BN_GENCB_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:39,1
    - Dst: DH_METHOD*::init
      Src: /src/openssl/crypto/dh/dh_lib.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dh
    - meth
    argTypes:
    - DH*
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: DH_set_method
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - DH_METHOD*::finish
    - DH_METHOD*::init
    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: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    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:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: DH_new
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 3
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH
    signature: DH *DH_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/dh/dh_lib.c:59,1
    - Dst: dh_new_intern
      Src: /src/openssl/crypto/dh/dh_lib.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: DH_new_method
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - dh_new_intern
    - ossl_assert
    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:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dh/dh_lib.c:72,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/dh/dh_lib.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_lib.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_lib.c:80,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:84,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dh/dh_lib.c:85,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_lib.c:86,1
    - Dst: DH_get_default_method
      Src: /src/openssl/crypto/dh/dh_lib.c:91,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/dh/dh_lib.c:95,1
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/crypto/dh/dh_lib.c:99,1
    - Dst: DH*::meth::init
      Src: /src/openssl/crypto/dh/dh_lib.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_lib.c:102,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_lib.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 111
    functionName: dh_new_intern
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 3
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - DH*::meth::init
    - ERR_raise
    - DH_free
    - CRYPTO_THREAD_lock_new
    - ossl_ffc_params_init
    - DH_get_default_method
    linkageType: ''
    returnType: DH
    signature: DH *dh_new_intern(OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:120,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dh/dh_lib.c:121,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dh/dh_lib.c:124,1
    - Dst: DH*::meth::finish
      Src: /src/openssl/crypto/dh/dh_lib.c:127,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/dh/dh_lib.c:129,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dh/dh_lib.c:132,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:133,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/dh/dh_lib.c:135,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:136,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_lib.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: DH_free
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 11
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - DH*::meth::finish
    - CRYPTO_free_ex_data
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - ossl_ffc_params_cleanup
    - BN_clear_free
    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:145,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dh/dh_lib.c:148,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dh/dh_lib.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: DH_up_ref
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: int DH_up_ref(DH *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: ossl_dh_get0_libctx
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_dh_get0_libctx(const DH *dh)
  - 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: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    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:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - idx
    - arg
    argTypes:
    - DH*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 180
    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:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: DH_size
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    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:194,1
    - Dst: BN_security_bits
      Src: /src/openssl/crypto/dh/dh_lib.c:200,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_lib.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: DH_security_bits
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached:
    - BN_security_bits
    - BN_num_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:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    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:220,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/openssl/crypto/dh/dh_lib.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 224
    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: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    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: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    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: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    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:249,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dh
    - pub_key
    - priv_key
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 259
    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: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    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: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    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: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    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: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    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: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    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: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    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: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    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: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    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: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    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:36,1
    - Dst: ossl_ffc_params_fromdata
      Src: /src/openssl/crypto/dh/dh_backend.c:38,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/openssl/crypto/dh/dh_backend.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dh
    - params
    argTypes:
    - DH*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 6
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: dh_ffc_params_fromdata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 0
    functionsReached:
    - ossl_dh_cache_named_group
    - ossl_ffc_params_fromdata
    - ossl_dh_get0_params
    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:49,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dh/dh_backend.c:52,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/crypto/dh/dh_backend.c:54,1
    - Dst: DH_set_length
      Src: /src/openssl/crypto/dh/dh_backend.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dh
    - params
    argTypes:
    - DH*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 7
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: ossl_dh_params_fromdata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - DH_set_length
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_long
    - 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:69,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dh/dh_backend.c:70,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/dh/dh_backend.c:74,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/dh/dh_backend.c:78,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dh/dh_backend.c:81,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_backend.c:87,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_backend.c:88,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - dh
    - params
    - include_private
    argTypes:
    - DH*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: ossl_dh_key_fromdata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_locate_const
    - BN_free
    - DH_set0_key
    - BN_clear_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:95,1
    - Dst: ossl_ffc_params_todata
      Src: /src/openssl/crypto/dh/dh_backend.c:97,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/crypto/dh/dh_backend.c:97,1
    - Dst: ossl_param_build_set_long
      Src: /src/openssl/crypto/dh/dh_backend.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - dh
    - bld
    - privlen
    - pp
    argTypes:
    - DH*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - FFC_OSSL_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: ossl_dh_params_todata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_long
    - ossl_dh_get0_params
    - ossl_ffc_params_todata
    - DH_get_length
    linkageType: ''
    returnType: int
    signature: "int ossl_dh_params_todata(DH *dh, OSSL_PARAM_BLD *bld, OSSL_PARAM
      *privlen,\n    const FFC_OSSL_PARAMS *pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/openssl/crypto/dh/dh_backend.c:113,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/dh/dh_backend.c:116,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/dh/dh_backend.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - dh
    - bld
    - pubkey
    - privkey
    - include_private
    argTypes:
    - DH*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 123
    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 *pubkey,\n
      \   OSSL_PARAM *privkey, int include_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get_method
      Src: /src/openssl/crypto/dh/dh_backend.c:128,1
    - Dst: DH_OpenSSL
      Src: /src/openssl/crypto/dh/dh_backend.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 132
    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:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 139
    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:146,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/crypto/dh/dh_backend.c:149,1
    - Dst: DH_get_length
      Src: /src/openssl/crypto/dh/dh_backend.c:152,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dh/dh_backend.c:154,1
    - Dst: dh_bn_dup_check
      Src: /src/openssl/crypto/dh/dh_backend.c:161,1
    - Dst: dh_bn_dup_check
      Src: /src/openssl/crypto/dh/dh_backend.c:166,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/dh/dh_backend.c:170,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_backend.c:178,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - dh
    - selection
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 180
    functionName: ossl_dh_dup
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_params_copy
    - ossl_dh_is_foreign
    - DH_free
    - CRYPTO_dup_ex_data
    - ossl_dh_new_ex
    - DH_get_length
    - 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:196,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/dh/dh_backend.c:199,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_backend.c:203,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/dh/dh_backend.c:209,1
    - Dst: d2i_DHparams
      Src: /src/openssl/crypto/dh/dh_backend.c:211,1
    - Dst: d2i_DHxparams
      Src: /src/openssl/crypto/dh/dh_backend.c:214,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/dh/dh_backend.c:223,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/dh/dh_backend.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_backend.c:225,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_backend.c:226,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dh/dh_backend.c:229,1
    - Dst: DH_generate_key
      Src: /src/openssl/crypto/dh/dh_backend.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_backend.c:238,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_backend.c:240,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/crypto/dh/dh_backend.c:243,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: 245
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 245
    functionName: ossl_dh_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - d2i_DHxparams
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - ASN1_STRING_clear_free
    - BN_secure_new
    - ERR_raise
    - PKCS8_pkey_get0
    - DH_free
    - OBJ_obj2nid
    - DH_set0_key
    - X509_ALGOR_get0
    - BN_clear_free
    - DH_generate_key
    - d2i_DHparams
    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:31,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:36,1
    - Dst: DH_clear_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:42,1
    - Dst: DH_set_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:43,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/openssl/crypto/dh/dh_asn1.c:44,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: 48
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: dh_cb
    functionSourceFile: /src/openssl/crypto/dh/dh_asn1.c
    functionUses: 0
    functionsReached:
    - DH_free
    - DH_new
    - ossl_dh_cache_named_group
    - DH_set_flags
    - DH_clear_flags
    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:101,1
    - Dst: d2i_int_dhx
      Src: /src/openssl/crypto/dh/dh_asn1.c:104,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:106,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:111,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/crypto/dh/dh_asn1.c:116,1
    - Dst: ossl_ffc_params_set0_j
      Src: /src/openssl/crypto/dh/dh_asn1.c:117,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/dh/dh_asn1.c:121,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/dh/dh_asn1.c:122,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:125,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:131,1
    - Dst: DH_clear_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:132,1
    - Dst: DH_set_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 135
    functionName: d2i_DHxparams
    functionSourceFile: /src/openssl/crypto/dh/dh_asn1.c
    functionUses: 3
    functionsReached:
    - DH_set0_pqg
    - d2i_int_dhx
    - ASN1_BIT_STRING_free
    - OPENSSL_free
    - BN_get_word
    - ossl_ffc_params_set0_j
    - ossl_ffc_params_set_validate_params
    - DH_free
    - DH_new
    - BN_free
    - DH_set_flags
    - DH_clear_flags
    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:147,1
    - Dst: ossl_ffc_params_get_validate_params
      Src: /src/openssl/crypto/dh/dh_asn1.c:150,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_asn1.c:156,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_asn1.c:159,1
    - Dst: i2d_int_dhx
      Src: /src/openssl/crypto/dh/dh_asn1.c:165,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - dh
    - pp
    argTypes:
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: i2d_DHxparams
    functionSourceFile: /src/openssl/crypto/dh/dh_asn1.c
    functionUses: 1
    functionsReached:
    - BN_set_word
    - ossl_ffc_params_get_validate_params
    - ossl_ffc_params_get0_pqg
    - i2d_int_dhx
    - BN_free
    - BN_new
    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
    - DHparams_print
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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:
    - DH_check_params
    - ERR_raise
    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_end
    - BN_CTX_start
    - BN_is_one
    - BN_is_zero
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_CTX_free
    - BN_is_odd
    - BN_cmp
    - BN_num_bits
    - BN_sub_word
    - BN_is_negative
    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_end
    - BN_CTX_start
    - BN_ucmp
    - BN_is_one
    - DH_check_params
    - BN_value_one
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_mod_exp
    - BN_div
    - BN_rshift1
    - BN_CTX_free
    - BN_num_bits
    - BN_cmp
    - DH_get_nid
    - BN_check_prime
    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:
    - DH_check_pub_key
    - ERR_raise
    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
    - ossl_ffc_validate_public_key
    - ERR_raise
    - BN_num_bits
    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:
    - BN_free
    - BN_num_bits
    - BN_value_one
    - BN_cmp
    - ossl_ffc_validate_private_key
    - BN_new
    - DH_get_nid
    - 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
    - BN_bin2bn
    - ossl_dh_generate_public_key
    - BN_num_bytes
    - OSSL_SELF_TEST_new
    - BN_CTX_free
    - BN_CTX_new_ex
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - BN_free
    - BN_cmp
    - OSSL_SELF_TEST_oncorrupt_byte
    - BN_bn2bin
    - BN_new
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:188,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:189,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_asn1.c:191,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_asn1.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:194,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:200,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:205,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/ec/ec_asn1.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:217,1
    - Dst: X9_62_CHARACTERISTIC_TWO_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:229,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_asn1.c:233,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/crypto/ec/ec_asn1.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:238,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_asn1.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:243,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/openssl/crypto/ec/ec_asn1.c:250,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:255,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:259,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/openssl/crypto/ec/ec_asn1.c:265,1
    - Dst: X9_62_PENTANOMIAL_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:270,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:290,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 2
    argNames:
    - group
    - field
    argTypes:
    - EC_GROUP*
    - X9_62_FIELDID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 292
    functionName: ec_asn1_group2fieldid
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BN_new
    - ASN1_INTEGER_new
    - OBJ_nid2obj
    - X9_62_PENTANOMIAL_new
    - ASN1_TYPE_free
    - EC_GROUP_get_curve
    - EC_GROUP_get_degree
    - ERR_raise
    - EC_GROUP_get_basis_type
    - EC_GROUP_get_trinomial_basis
    - EC_GROUP_get_pentanomial_basis
    - ASN1_INTEGER_set
    - ASN1_OBJECT_free
    - ASN1_NULL_new
    - EC_GROUP_get_field_type
    - X9_62_CHARACTERISTIC_TWO_new
    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:311,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:312,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:318,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_asn1.c:327,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:328,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:329,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_asn1.c:331,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_asn1.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:333,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:338,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:340,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:348,1
    - Dst: ASN1_BIT_STRING_set1
      Src: /src/openssl/crypto/ec/ec_asn1.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:353,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:365,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:366,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:367,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 2
    argNames:
    - group
    - curve
    argTypes:
    - EC_GROUP*
    - X9_62_CURVE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 301
    functionDepth: 5
    functionLinenumber: 301
    functionLinenumberEnd: 369
    functionName: ec_asn1_group2curve
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_free
    - ASN1_OCTET_STRING_set
    - OPENSSL_free
    - EC_GROUP_get_curve
    - EC_GROUP_get_degree
    - ERR_raise
    - ASN1_BIT_STRING_set1
    - BN_free
    - ASN1_BIT_STRING_new
    - BN_new
    - BN_bn2binpad
    - 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:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:384,1
    - Dst: ec_asn1_group2fieldid
      Src: /src/openssl/crypto/ec/ec_asn1.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:395,1
    - Dst: ec_asn1_group2curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:401,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_asn1.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:407,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_asn1.c:411,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_asn1.c:413,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:415,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:419,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:420,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ec/ec_asn1.c:423,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_asn1.c:426,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:428,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/ec/ec_asn1.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:434,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_asn1.c:439,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: ECPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:453,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - ECPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 371
    functionDepth: 6
    functionLinenumber: 371
    functionLinenumberEnd: 455
    functionName: EC_GROUP_get_ecparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - EC_GROUP_get0_cofactor
    - ASN1_STRING_set0
    - OPENSSL_free
    - ECPARAMETERS_new
    - ERR_raise
    - EC_GROUP_get0_order
    - ECPARAMETERS_free
    - EC_POINT_point2buf
    - ec_asn1_group2fieldid
    - EC_GROUP_get0_generator
    - ASN1_OCTET_STRING_new
    - EC_GROUP_get_point_conversion_form
    - ec_asn1_group2curve
    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:464,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:465,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:470,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:473,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_asn1.c:476,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:480,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_asn1.c:482,1
    - Dst: OBJ_length
      Src: /src/openssl/crypto/ec/ec_asn1.c:484,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:486,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:498,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:503,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - ECPKPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 457
    functionDepth: 7
    functionLinenumber: 457
    functionLinenumberEnd: 507
    functionName: EC_GROUP_get_ecpkparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ECPKPARAMETERS_new
    - OBJ_nid2obj
    - EC_GROUP_get_ecparameters
    - EC_GROUP_get_asn1_flag
    - ERR_raise
    - ECPARAMETERS_free
    - OBJ_length
    - ASN1_OBJECT_free
    - ECPKPARAMETERS_free
    - EC_GROUP_get_curve_name
    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:522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:535,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_asn1.c:538,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:540,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_asn1.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:545,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_asn1.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:554,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:565,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:569,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:570,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_asn1.c:575,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:581,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ec/ec_asn1.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:588,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:593,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:595,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:597,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:604,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:610,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:615,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:617,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:619,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:621,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:626,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:630,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/crypto/ec/ec_asn1.c:635,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:642,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/ec/ec_asn1.c:645,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:647,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_asn1.c:651,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_asn1.c:651,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:652,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_asn1.c:656,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:658,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/crypto/ec/ec_asn1.c:663,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:665,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 131
    argCount: 1
    argNames:
    - params
    argTypes:
    - ECPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 667
    functionName: EC_GROUP_new_from_ecparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - ASN1_INTEGER_to_BN
    - ASN1_INTEGER_get
    - BN_set_bit
    - BN_is_zero
    - ERR_raise
    - OBJ_obj2nid
    - BN_num_bits
    - EC_GROUP_new_curve_GFp
    - BN_new
    - EC_GROUP_new_curve_GF2m
    - BN_is_negative
    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:839,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_asn1.c:845,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:846,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:847,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_asn1.c:850,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:853,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:855,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_asn1.c:858,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - params
    argTypes:
    - ECPKPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 868
    functionName: EC_GROUP_new_from_ecpkparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    - ERR_raise
    - OBJ_obj2nid
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECPKPARAMETERS
      Src: /src/openssl/crypto/ec/ec_asn1.c:878,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:879,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:883,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:884,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:891,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:892,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:893,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:894,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:900,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_GROUP**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 872
    functionDepth: 7
    functionLinenumber: 872
    functionLinenumberEnd: 907
    functionName: d2i_ECPKParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - d2i_ECPKPARAMETERS
    - EC_GROUP_check_named_curve
    - ERR_raise
    - EC_GROUP_new_from_ecpkparameters
    - ECPKPARAMETERS_free
    - EC_GROUP_free
    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:912,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:914,1
    - Dst: i2d_ECPKPARAMETERS
      Src: /src/openssl/crypto/ec/ec_asn1.c:917,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:918,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:919,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_GROUP*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 909
    functionDepth: 8
    functionLinenumber: 909
    functionLinenumberEnd: 924
    functionName: i2d_ECPKParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_ecpkparameters
    - ECPKPARAMETERS_free
    - ERR_raise
    - i2d_ECPKPARAMETERS
    linkageType: ''
    returnType: int
    signature: int i2d_ECPKParameters(const EC_GROUP *a, unsigned char **out)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: d2i_EC_PRIVATEKEY
      Src: /src/openssl/crypto/ec/ec_asn1.c:934,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:938,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:939,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:946,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:947,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:954,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:959,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:960,1
    - Dst: EC_KEY_oct2priv
      Src: /src/openssl/crypto/ec/ec_asn1.c:969,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ec/ec_asn1.c:969,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ec/ec_asn1.c:970,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:974,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:978,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_asn1.c:979,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:981,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:982,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:984,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ec/ec_asn1.c:992,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ec/ec_asn1.c:993,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/crypto/ec/ec_asn1.c:994,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:995,1
    - Dst: EC_KEY*::group::meth::keygenpub
      Src: /src/openssl/crypto/ec/ec_asn1.c:1000,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1008,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1015,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1016,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 928
    functionDepth: 7
    functionLinenumber: 928
    functionLinenumberEnd: 1018
    functionName: d2i_ECPrivateKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_POINT_clear_free
    - EC_KEY*::group::meth::keygenpub
    - EC_GROUP_get_curve_name
    - EC_GROUP_check_named_curve
    - EC_KEY_set_flags
    - EC_KEY_oct2priv
    - ERR_raise
    - EC_KEY_oct2key
    - ASN1_STRING_length
    - EC_PRIVATEKEY_free
    - d2i_EC_PRIVATEKEY
    - EC_KEY_free
    - EC_POINT_new
    - ASN1_STRING_get0_data
    - EC_GROUP_new_from_ecpkparameters
    - EC_KEY_new
    - EC_GROUP_free
    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:1029,1
    - Dst: EC_PRIVATEKEY_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1033,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1034,1
    - Dst: EC_KEY_priv2buf
      Src: /src/openssl/crypto/ec/ec_asn1.c:1040,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1043,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ec/ec_asn1.c:1047,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:1051,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1054,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1060,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1062,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/crypto/ec/ec_asn1.c:1066,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1069,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/ec/ec_asn1.c:1073,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ec/ec_asn1.c:1074,1
    - Dst: i2d_EC_PRIVATEKEY
      Src: /src/openssl/crypto/ec/ec_asn1.c:1078,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1079,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1084,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1085,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1086,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1020
    functionDepth: 8
    functionLinenumber: 1020
    functionLinenumberEnd: 1088
    functionName: i2d_ECPrivateKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - i2d_EC_PRIVATEKEY
    - ASN1_STRING_set0
    - OPENSSL_free
    - EC_GROUP_get_ecpkparameters
    - ossl_asn1_bit_string_set_unused_bits
    - OPENSSL_clear_free
    - ERR_raise
    - EC_KEY_key2buf
    - EC_PRIVATEKEY_free
    - EC_PRIVATEKEY_new
    - ASN1_BIT_STRING_new
    - EC_KEY_priv2buf
    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:1093,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1090
    functionDepth: 9
    functionLinenumber: 1090
    functionLinenumberEnd: 1097
    functionName: i2d_ECParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - i2d_ECPKParameters
    - ERR_raise
    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:1104,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1110,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:1116,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1118,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:1124,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_asn1.c:1125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1099
    functionDepth: 8
    functionLinenumber: 1099
    functionLinenumberEnd: 1133
    functionName: d2i_ECParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_KEY_set_flags
    - ERR_raise
    - d2i_ECPKParameters
    - EC_KEY_free
    - EC_KEY_new
    - 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:1143,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/crypto/ec/ec_asn1.c:1148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1154
    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:1162,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/crypto/ec/ec_asn1.c:1166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1170,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:1178,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/crypto/ec/ec_asn1.c:1182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1194
    functionName: i2o_ECPublicKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_POINT_point2oct
    - ERR_raise
    - OPENSSL_malloc
    - OPENSSL_free
    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:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    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:1212,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1215
    functionName: ECDSA_SIG_free
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - BN_clear_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:1226,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1231,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1233,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/crypto/ec/ec_asn1.c:1235,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - psig
    - ppin
    - len
    argTypes:
    - ECDSA_SIG**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1217
    functionDepth: 4
    functionLinenumber: 1217
    functionLinenumberEnd: 1243
    functionName: d2i_ECDSA_SIG
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 1
    functionsReached:
    - BN_new
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - ossl_decode_der_dsa_sig
    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:1252,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1255,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/crypto/ec/ec_asn1.c:1256,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1257,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/ec/ec_asn1.c:1261,1
    - Dst: ossl_encode_der_dsa_sig
      Src: /src/openssl/crypto/ec/ec_asn1.c:1265,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/ec/ec_asn1.c:1266,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/ec/ec_asn1.c:1267,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1268,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/ec/ec_asn1.c:1269,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - sig
    - ppout
    argTypes:
    - ECDSA_SIG*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1245
    functionDepth: 6
    functionLinenumber: 1245
    functionLinenumberEnd: 1284
    functionName: i2d_ECDSA_SIG
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 2
    functionsReached:
    - BUF_MEM_new
    - WPACKET_get_total_written
    - WPACKET_init_len
    - WPACKET_init_null
    - WPACKET_cleanup
    - ossl_encode_der_dsa_sig
    - BUF_MEM_free
    - WPACKET_finish
    - 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: 1292
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    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: 1297
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1297
    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: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    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:1308,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - ECDSA_SIG*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1313
    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:1324,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_asn1.c:1328,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/ec/ec_asn1.c:1333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1315
    functionDepth: 7
    functionLinenumber: 1315
    functionLinenumberEnd: 1338
    functionName: ECDSA_size
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    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:
    - BN_nist_mod_func
    - EC_GROUP_set_curve
    - ossl_bn_get_libctx
    - EC_GFp_nist_method
    - EC_GFp_mont_method
    - ossl_ec_group_new_ex
    - EC_GROUP_free
    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:
    - EC_GROUP_set_curve
    - ossl_bn_get_libctx
    - EC_GF2m_simple_method
    - ossl_ec_group_new_ex
    - EC_GROUP_free
    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:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EC_KEY_new
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    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:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    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:45,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_key.c:48,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_key.c:50,1
    - Dst: EC_KEY*::meth::set_group
      Src: /src/openssl/crypto/ec/ec_key.c:54,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_key.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - propq
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: EC_KEY_new_by_curve_name_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_KEY_new_ex
    - EC_GROUP_new_by_curve_name_ex
    - EC_KEY_free
    - EC_KEY*::meth::set_group
    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:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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:75,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ec_key.c:76,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ec_key.c:79,1
    - Dst: EC_KEY*::meth::finish
      Src: /src/openssl/crypto/ec/ec_key.c:82,1
    - Dst: EC_KEY*::group::meth::keyfinish
      Src: /src/openssl/crypto/ec/ec_key.c:85,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/ec/ec_key.c:88,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ec_key.c:90,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_key.c:91,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:92,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:93,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_key.c:94,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: EC_KEY_free
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 6
    functionsReached:
    - REF_ASSERT_ISNT
    - EC_GROUP_free
    - OPENSSL_free
    - OPENSSL_clear_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - BN_clear_free
    - EC_KEY*::group::meth::keyfinish
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - EC_POINT_free
    - EC_KEY*::meth::finish
    linkageType: ''
    returnType: void
    signature: void EC_KEY_free(EC_KEY *r)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:102,1
    - Dst: EC_KEY*::meth::finish
      Src: /src/openssl/crypto/ec/ec_key.c:107,1
    - Dst: EC_KEY*::group::meth::keyfinish
      Src: /src/openssl/crypto/ec/ec_key.c:109,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_key.c:115,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:116,1
    - Dst: EC_GROUP_copy
      Src: /src/openssl/crypto/ec/ec_key.c:120,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:125,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:126,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_key.c:129,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_key.c:135,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_key.c:139,1
    - Dst: EC_KEY*::group::meth::keycopy
      Src: /src/openssl/crypto/ec/ec_key.c:142,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/ec/ec_key.c:153,1
    - Dst: EC_KEY*::meth::copy
      Src: /src/openssl/crypto/ec/ec_key.c:162,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_KEY*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 168
    functionName: EC_KEY_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_new
    - EC_KEY*::group::meth::keycopy
    - BN_copy
    - ERR_raise
    - EC_POINT_copy
    - EC_KEY*::group::meth::keyfinish
    - EC_KEY*::meth::copy
    - EC_GROUP_copy
    - EC_KEY*::meth::finish
    - EC_POINT_new
    - EC_POINT_free
    - ossl_ec_group_new_ex
    - CRYPTO_dup_ex_data
    - EC_GROUP_free
    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:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec_key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: EC_KEY_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    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:179,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ec_key.c:182,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ec_key.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: EC_KEY_up_ref
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: int EC_KEY_up_ref(EC_KEY *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:190,1
    - Dst: EC_KEY*::meth::keygen
      Src: /src/openssl/crypto/ec/ec_key.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 204
    functionName: EC_KEY_generate_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    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:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    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:238,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/ec/ec_key.c:242,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:245,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:249,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_key.c:252,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ec_key.c:254,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/ec/ec_key.c:255,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_key.c:256,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:258,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/ec/ec_key.c:261,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/ec/ec_key.c:262,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:263,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: 265
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 265
    functionName: ecdsa_keygen_knownanswer_test
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_num_bytes
    - EC_POINT_cmp
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - EC_POINT_mul
    - OSSL_SELF_TEST_oncorrupt_byte
    - BN_bn2bin
    - EC_POINT_new
    - EC_POINT_free
    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:287,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/crypto/ec/ec_key.c:288,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_key.c:294,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_key.c:306,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_key.c:321,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ec/ec_key.c:322,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec_key.c:322,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ec/ec_key.c:325,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ec_key.c:331,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_key.c:333,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:336,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:343,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/ec/ec_key.c:362,1
    - Dst: ecdsa_keygen_pairwise_test
      Src: /src/openssl/crypto/ec/ec_key.c:363,1
    - Dst: ecdsa_keygen_knownanswer_test
      Src: /src/openssl/crypto/ec/ec_key.c:364,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/crypto/ec/ec_key.c:369,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/ec/ec_key.c:370,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:372,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:375,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:376,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:377,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_key.c:378,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - eckey
    - pairwise_test
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 380
    functionName: ec_generate_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - BN_is_zero
    - BN_priv_rand_range_ex
    - BN_sub
    - ecdsa_keygen_knownanswer_test
    - EC_POINT_set_to_infinity
    - EC_POINT_new
    - EC_POINT_free
    - BN_secure_new
    - BN_CTX_secure_new_ex
    - BN_CTX_free
    - EC_KEY_get_flags
    - BN_new
    - BN_clear
    - ossl_set_error_state
    - ecdsa_keygen_pairwise_test
    - BN_clear_free
    - EC_GROUP_get0_order
    - EC_POINT_mul
    - BN_free
    - BN_value_one
    - BN_dup
    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:393,1
    - Dst: ossl_ec_dhkem_derive_private
      Src: /src/openssl/crypto/ec/ec_key.c:397,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:400,1
    - Dst: ossl_ec_key_simple_generate_public_key
      Src: /src/openssl/crypto/ec/ec_key.c:404,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:410,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:413,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: 416
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 416
    functionName: ossl_ec_generate_key_dhkem
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_simple_generate_public_key
    - ossl_ec_dhkem_derive_private
    - BN_clear_free
    - EC_POINT_set_to_infinity
    - EC_POINT_new
    - BN_secure_new
    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:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 9
    functionLinenumber: 419
    functionLinenumberEnd: 422
    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:427,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:436,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 444
    functionName: ossl_ec_key_simple_generate_public_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_POINT_mul
    - BN_CTX_new_ex
    - BN_CTX_free
    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:449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:454,1
    - Dst: EC_KEY*::group::meth::keycheck
      Src: /src/openssl/crypto/ec/ec_key.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 459
    functionName: EC_KEY_check_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_KEY*::group::meth::keycheck
    - ERR_raise
    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:475,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:476,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:477,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_key.c:481,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_key.c:484,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_key.c:485,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:486,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_key.c:487,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:488,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_key.c:492,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_key.c:493,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_key.c:493,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_key.c:499,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - BN_CTX*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 501
    functionName: ec_key_public_range_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP_get_degree
    - BN_CTX_get
    - EC_POINT_get_affine_coordinates
    - BN_cmp
    - BN_num_bits
    - EC_GROUP_get_field_type
    - BN_is_negative
    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:510,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:516,1
    - Dst: ec_key_public_range_check
      Src: /src/openssl/crypto/ec/ec_key.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:522,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/crypto/ec/ec_key.c:527,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 532
    functionName: ossl_ec_key_public_check_quick
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ec_key_public_range_check
    - ERR_raise
    - EC_POINT_is_at_infinity
    - EC_POINT_is_on_curve
    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:543,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/openssl/crypto/ec/ec_key.c:545,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ec_key.c:548,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:553,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_key.c:558,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:559,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:563,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:564,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:568,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 575
    functionName: ossl_ec_key_public_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_public_check_quick
    - EC_GROUP_get0_cofactor
    - BN_is_one
    - BN_is_zero
    - ERR_raise
    - EC_POINT_is_at_infinity
    - EC_POINT_mul
    - EC_POINT_new
    - EC_POINT_free
    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:585,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:588,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec_key.c:588,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:589,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 594
    functionName: ossl_ec_key_private_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_cmp
    - BN_value_one
    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:610,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:614,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:618,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:619,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:622,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:623,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 630
    functionName: ossl_ec_key_pairwise_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_cmp
    - ERR_raise
    - EC_POINT_mul
    - EC_POINT_new
    - EC_POINT_free
    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:648,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:651,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/crypto/ec/ec_key.c:654,1
    - Dst: ossl_ec_key_private_check
      Src: /src/openssl/crypto/ec/ec_key.c:658,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/crypto/ec/ec_key.c:659,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 642
    functionDepth: 6
    functionLinenumber: 642
    functionLinenumberEnd: 666
    functionName: ossl_ec_key_simple_check_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_public_check
    - ossl_ec_key_pairwise_check
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_new_ex
    - 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:677,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:680,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_key.c:684,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:685,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:690,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:691,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_key.c:695,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_key.c:697,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:704,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:704,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:705,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/crypto/ec/ec_key.c:710,1
    - Dst: EC_KEY_check_key
      Src: /src/openssl/crypto/ec/ec_key.c:713,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_key.c:719,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:720,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:721,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - EC_KEY*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 723
    functionName: EC_KEY_set_public_key_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - EC_KEY_set_public_key
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_new_ex
    - EC_POINT_set_affine_coordinates
    - EC_POINT_get_affine_coordinates
    - BN_cmp
    - EC_KEY_check_key
    - EC_POINT_new
    - EC_POINT_free
    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: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    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: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    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: 739
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 739
    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: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    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:748,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_key.c:750,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/crypto/ec/ec_key.c:751,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_key.c:752,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_key.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - key
    - group
    argTypes:
    - EC_KEY*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 757
    functionName: EC_KEY_set_group
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    - EC_KEY_set_flags
    - EC_KEY*::meth::set_group
    - EC_GROUP_dup
    - 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: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    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:781,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_key.c:782,1
    - Dst: EC_KEY*::group::meth::set_private
      Src: /src/openssl/crypto/ec/ec_key.c:786,1
    - Dst: EC_KEY*::meth::set_private
      Src: /src/openssl/crypto/ec/ec_key.c:789,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:797,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ec/ec_key.c:840,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_key.c:844,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_key.c:846,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_key.c:847,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:848,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:852,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - key
    - priv_key
    argTypes:
    - EC_KEY*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 857
    functionName: EC_KEY_set_private_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_KEY*::group::meth::set_private
    - bn_get_top
    - BN_is_zero
    - BN_dup
    - EC_GROUP_get0_order
    - BN_clear_free
    - bn_wexpand
    - BN_set_flags
    - 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: 862
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: EC_KEY_get0_public_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 5
    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:867,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:869,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/crypto/ec/ec_key.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - pub_key
    argTypes:
    - EC_KEY*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: EC_KEY_set_public_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_KEY*::meth::set_public
    - EC_POINT_free
    - 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: 878
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 878
    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: 883
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 883
    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: 888
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 888
    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:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - cform
    argTypes:
    - EC_KEY*
    - point_conversion_form_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 895
    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:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - flag
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 901
    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:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 909
    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: 915
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: EC_KEY_get_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    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: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: EC_KEY_set_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 3
    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: 927
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: EC_KEY_clear_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    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: 934
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 934
    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:941,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: 942
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 942
    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:950,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_key.c:953,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: 966
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 966
    functionName: EC_KEY_oct2key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached:
    - EC_POINT_oct2point
    - EC_POINT_new
    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:974,1
    - Dst: EC_KEY*::group::meth::priv2oct
      Src: /src/openssl/crypto/ec/ec_key.c:978,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: 979
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 979
    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:986,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_key.c:996,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:997,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: 1002
      start: 981
    functionDepth: 5
    functionLinenumber: 981
    functionLinenumberEnd: 1002
    functionName: ossl_ec_key_simple_priv2oct
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_order_bits
    - ERR_raise
    - BN_bn2binpad
    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:1011,1
    - Dst: EC_KEY*::group::meth::oct2priv
      Src: /src/openssl/crypto/ec/ec_key.c:1014,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: 1018
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1018
    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:1024,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_key.c:1028,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1030,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_key.c:1033,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1034,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: 1039
      start: 1020
    functionDepth: 5
    functionLinenumber: 1020
    functionLinenumberEnd: 1039
    functionName: ossl_ec_key_simple_oct2priv
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - ERR_raise
    - BN_secure_new
    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:1046,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_key.c:1049,1
    - Dst: EC_KEY_priv2oct
      Src: /src/openssl/crypto/ec/ec_key.c:1051,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_key.c:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eckey
    - pbuf
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1058
    functionName: EC_KEY_priv2buf
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_KEY_priv2oct
    - OPENSSL_malloc
    - OPENSSL_free
    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: 1066
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1066
    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:1086,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/ec/ec_key.c:1090,1
    - Dst: ECDSA_do_sign
      Src: /src/openssl/crypto/ec/ec_key.c:1093,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/ec/ec_key.c:1097,1
    - Dst: ECDSA_do_verify
      Src: /src/openssl/crypto/ec/ec_key.c:1099,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/ec/ec_key.c:1104,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/ec/ec_key.c:1105,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ec_key.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - eckey
    - cb
    - cbarg
    argTypes:
    - EC_KEY*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1077
    functionDepth: 4
    functionLinenumber: 1077
    functionLinenumberEnd: 1108
    functionName: ecdsa_keygen_pairwise_test
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - OSSL_SELF_TEST_new
    - ECDSA_SIG_free
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - ECDSA_do_sign
    - 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:
    - EC_KEY*::group::meth::ecdsa_sign_sig
    - ERR_raise
    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:
    - ERR_raise
    - EC_KEY*::group::meth::ecdsa_verify_sig
    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:
    - ECDSA_SIG_free
    - i2d_ECDSA_SIG
    - ECDSA_do_sign_ex
    - ECDSA_size
    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:
    - i2d_ECDSA_SIG
    - ECDSA_SIG_free
    - ERR_raise
    - ecdsa_sign_setup
    - BN_clear_free
    - ECDSA_do_sign_ex
    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:
    - BN_is_zero
    - EC_POINT_get_affine_coordinates
    - ossl_bn_priv_rand_range_fixed_top
    - BN_set_bit
    - EC_KEY_can_sign
    - ERR_raise
    - BN_CTX_new_ex
    - BN_nnmod
    - EC_KEY_get0_private_key
    - EC_POINT_new
    - EC_POINT_free
    - BN_secure_new
    - ossl_bn_gen_dsa_nonce_fixed_top
    - BN_CTX_free
    - BN_num_bits
    - BN_new
    - ossl_bn_is_word_fixed_top
    - ossl_ec_group_do_inverse_ord
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - EC_POINT_mul
    - BN_clear_free
    - 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:
    - BN_bin2bn
    - ECDSA_SIG_new
    - BN_is_zero
    - BN_copy
    - EC_KEY_can_sign
    - ERR_raise
    - BN_CTX_new_ex
    - ecdsa_sign_setup
    - EC_KEY_get0_private_key
    - bn_mul_mont_fixed_top
    - bn_mod_add_fixed_top
    - BN_CTX_free
    - BN_mod_mul_montgomery
    - BN_num_bits
    - BN_rshift
    - BN_new
    - ECDSA_SIG_free
    - bn_to_mont_fixed_top
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - BN_clear_free
    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:
    - ECDSA_SIG_new
    - i2d_ECDSA_SIG
    - OPENSSL_free
    - ECDSA_SIG_free
    - d2i_ECDSA_SIG
    - ECDSA_do_verify
    - memcmp
    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:454,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:455,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:460,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:466,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:469,1
    - Dst: BN_CTX_get
      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: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:475,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:479,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:481,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:485,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:485,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:485,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:485,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:485,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:486,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:491,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:492,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:496,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:502,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:503,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:507,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:508,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:512,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:513,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:518,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:523,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:526,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:527,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:532,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:536,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:537,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:541,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:543,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:544,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:545,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: 547
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 547
    functionName: ossl_ecdsa_simple_verify_sig
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_ucmp
    - BN_is_zero
    - EC_POINT_get_affine_coordinates
    - BN_CTX_start
    - EC_KEY_can_sign
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_nnmod
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - BN_CTX_free
    - BN_mod_mul
    - BN_num_bits
    - BN_rshift
    - BN_is_negative
    - ossl_ec_group_do_inverse_ord
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - EC_POINT_mul
    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: 302
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 302
    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
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    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 uint8_t in[28])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: felem_to_bin28
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_to_bin28(uint8_t out[28], const felem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:333,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:338,1
    - Dst: bin28_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - bin28_to_felem
    - BN_bn2lebinpad
    - ERR_raise
    - BN_is_negative
    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:349,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 351
    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: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    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: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    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: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    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: 407
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 407
    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: 433
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 433
    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: 453
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 453
    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: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    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: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    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: 496
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 496
    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: 508
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 508
    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: 573
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 573
    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:578,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: felem_square_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_reduce
    - felem_square
    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:585,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: felem_mul_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_reduce
    - felem_mul
    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: 642
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 642
    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:653,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:654,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 656
    functionName: felem_neg
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_reduce
    - felem_diff_128_64
    - memset
    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: 676
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 676
    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:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 681
    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:691,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:692,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:693,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:694,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:695,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:696,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:697,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:698,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:699,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:700,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:701,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:702,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:703,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:704,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:705,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:706,1
    - 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_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:710,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:711,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:718,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:719,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:748,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:749,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:751,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:752,1
    - Dst: felem_square
      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_mul
      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
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 763
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_reduce
    - felem_square
    - felem_mul
    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: 780
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 780
    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:808,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:809,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:812,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:813,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:816,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:817,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:820,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:821,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:824,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:826,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:828,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:830,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:832,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:835,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:837,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:838,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:840,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:842,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:845,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:847,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:848,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:850,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:852,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:854,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:857,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:859,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:861,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:863,1
    - Dst: widefelem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:865,1
    - Dst: widefelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:867,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:869,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: 870
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 870
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - widefelem_scalar
    - felem_square
    - felem_assign
    - felem_reduce
    - felem_diff_128_64
    - felem_sum
    - felem_scalar
    - felem_diff
    - felem_mul
    - 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:902,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:903,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:906,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:907,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:910,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:911,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:914,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:915,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:922,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:925,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:929,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:930,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:933,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:934,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:937,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:941,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:943,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:946,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:950,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:952,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:962,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:963,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:969,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:970,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:990,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:996,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:997,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1000,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1004,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1005,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1008,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1009,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1010,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1013,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1014,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1017,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1018,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1021,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1025,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1029,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1033,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1034,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1041,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1043,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1046,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1052,1
    - Dst: widefelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1059,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1061,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1071,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1072,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1073,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1074,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1075,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1076,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1077,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1078,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1079,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: 1080
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 1080
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - copy_conditional
    - felem_assign
    - felem_square
    - felem_reduce
    - felem_diff_128_64
    - felem_is_zero
    - felem_scalar
    - felem_diff
    - widefelem_diff
    - felem_mul
    - point_double
    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:1093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - uint64_t
    - unsigned int
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1105
    functionName: select_point
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void select_point(const uint64_t 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: 1113
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    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:1136,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1148,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1153,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1154,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1155,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1156,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1158,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1162,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1165,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: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1173,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1175,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1176,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1185,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: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1190,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1191,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1194,1
    - Dst: felem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1195,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1197,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1200,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1204,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1210,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1211,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1212,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
    - uint8_t*
    - int
    - felem[][][]
    - felem[][][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1213
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - copy_conditional
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_add
    - select_point
    - felem_assign
    - felem_neg
    - get_bit
    - memset
    - memcpy
    - point_double
    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 uint8_t *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:1222,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1232
    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:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP224_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1240
    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:1249,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1250,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1253,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP224_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1257
    functionName: EC_nistp224_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1270
    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:1282,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1287,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1288,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1289,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1290,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1293,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1294,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1295,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1296,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1296,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1297,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1301,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1303,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1305,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: 1308
      start: 1272
    functionDepth: 5
    functionLinenumber: 1272
    functionLinenumberEnd: 1308
    functionName: ossl_ec_GFp_nistp224_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - BN_CTX_new
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_free
    - BN_cmp
    - 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:1322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1323,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1326,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1326,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1326,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1328,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1329,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1330,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1331,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1332,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1333,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1336,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1340,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1341,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1342,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1343,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1344,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1347,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: 1352
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1352
    functionName: ossl_ec_GFp_nistp224_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_contract
    - ERR_raise
    - EC_POINT_is_at_infinity
    - felem_to_BN
    - felem_inv
    - felem_mul
    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:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1381
    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:1399,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1411,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1412,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1413,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1414,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1415,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1427,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1431,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1431,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1432,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1435,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1439,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1458,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1459,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1461,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1473,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1482,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1483,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1489,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1492,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1499,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1503,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1503,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1503,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1505,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1506,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1507,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1510,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1517,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1526,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1531,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1533,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1533,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1538,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1539,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1542,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1544,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1547,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1553,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1558,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1559,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1560,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1561,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1561,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1562,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1565,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1569,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1570,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1571,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1572,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1573,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: 1575
      start: 1387
    functionDepth: 5
    functionLinenumber: 1387
    functionLinenumberEnd: 1575
    functionName: ossl_ec_GFp_nistp224_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - make_points_affine
    - felem_to_BN
    - batch_mul
    - OPENSSL_malloc_array
    - BN_CTX_start
    - OPENSSL_free
    - EC_POINT_cmp
    - felem_contract
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_calloc
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_add
    - memset
    - BN_num_bits
    - point_double
    - BN_is_negative
    - BN_to_felem
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - felem
    - felem_assign
    - EC_GROUP_get0_generator
    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:1590,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1594,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1599,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1600,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1601,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1607,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1610,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1611,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1612,1
    - Dst: nistp224_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1614,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1619,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1620,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1623,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1623,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1623,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1630,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1634,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1640,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1645,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1655,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1658,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1664,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1670,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1678,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1685,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1695,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1698,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1702,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1703,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1705,1
    - Dst: EC_nistp224_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1707,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1577
    functionDepth: 5
    functionLinenumber: 1577
    functionLinenumberEnd: 1709
    functionName: ossl_ec_GFp_nistp224_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - make_points_affine
    - memcpy
    - BN_CTX_start
    - EC_nistp224_pre_comp_free
    - EC_POINT_cmp
    - BN_CTX_get
    - nistp224_pre_comp_new
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_add
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - memset
    - EC_pre_comp_free
    - point_double
    - BN_to_felem
    - SETPRECOMP
    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:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1714
    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_free
    - ERR_raise
    - BIO_set_fp
    - 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_free
    - ERR_raise
    - EC_KEY_print
    - BIO_set_fp
    - 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:
    - ECParameters_print
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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:128,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/eck_prn.c:133,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/eck_prn.c:138,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/eck_prn.c:142,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/eck_prn.c:143,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/eck_prn.c:149,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/eck_prn.c:151,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/eck_prn.c:157,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/crypto/ec/eck_prn.c:158,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/eck_prn.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:164,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/eck_prn.c:164,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/crypto/ec/eck_prn.c:170,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/eck_prn.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:177,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/eck_prn.c:178,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:186,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:189,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:191,1
    - Dst: print_bin
      Src: /src/openssl/crypto/ec/eck_prn.c:201,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:204,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:206,1
    - Dst: print_bin
      Src: /src/openssl/crypto/ec/eck_prn.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/eck_prn.c:214,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/eck_prn.c:215,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/eck_prn.c:216,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/eck_prn.c:217,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/eck_prn.c:218,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/eck_prn.c:219,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 128
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 221
    functionName: ECPKParameters_print
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 1
    functionsReached:
    - EC_curve_nid2nist
    - EC_GROUP_get_curve
    - EC_GROUP_get0_seed
    - EC_GROUP_get_field_type
    - ASN1_bn_print
    - EC_GROUP_get_point_conversion_form
    - ERR_raise
    - EC_GROUP_get_seed_len
    - EC_GROUP_get_asn1_flag
    - OPENSSL_clear_free
    - BN_CTX_new
    - BN_CTX_free
    - print_bin
    - BIO_indent
    - BN_new
    - EC_GROUP_get_curve_name
    - BIO_printf
    - OBJ_nid2sn
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_order
    - EC_POINT_point2buf
    - EC_GROUP_get_basis_type
    - BN_free
    - EC_GROUP_get0_generator
    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:234,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ec/eck_prn.c:235,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:241,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/eck_prn.c:247,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ec/eck_prn.c:248,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:251,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ec/eck_prn.c:254,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: 258
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 258
    functionName: print_bin
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_printf
    - memset
    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:
    - ossl_x448_public_from_private
    - ossl_ed25519_public_from_private
    - ERR_raise
    - ossl_x25519_public_from_private
    - ossl_ed448_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_PARAM_get_octet_string
    - ossl_ecx_public_from_private
    - 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
    - OPENSSL_strdup
    - ossl_ecx_key_free
    - ERR_raise
    - CRYPTO_FREE_REF
    - ossl_ecx_key_allocate_privkey
    - memcpy
    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:
    - ossl_ecx_key_free
    - ossl_ecx_public_from_private
    - KEYNID2TYPE
    - ERR_raise
    - ossl_ecx_key_allocate_privkey
    - RAND_priv_bytes_ex
    - OBJ_obj2nid
    - KEYLENID
    - ossl_ecx_key_new
    - X509_ALGOR_get0
    - memcpy
    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_OCTET_STRING_free
    - d2i_ASN1_OCTET_STRING
    - PKCS8_pkey_get0
    - ASN1_STRING_length
    - ossl_ecx_key_op
    - ASN1_STRING_get0_data
    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: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    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:72,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe64
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    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: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    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: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    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: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    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: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    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:129,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:132,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:133,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:136,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:138,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:141,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:144,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:147,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:149,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:152,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:157,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:159,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:161,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:164,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:166,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:168,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:172,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:175,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:178,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:180,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:182,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:185,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:187,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:189,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:193,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:196,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:200,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe64
    - fe64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 204
    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:218,1
    - Dst: fe64_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:222,1
    - Dst: fe64_1
      Src: /src/openssl/crypto/ec/curve25519.c:223,1
    - Dst: fe64_0
      Src: /src/openssl/crypto/ec/curve25519.c:224,1
    - Dst: fe64_copy
      Src: /src/openssl/crypto/ec/curve25519.c:225,1
    - Dst: fe64_1
      Src: /src/openssl/crypto/ec/curve25519.c:226,1
    - Dst: fe64_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:232,1
    - Dst: fe64_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:233,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:235,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:236,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:237,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:238,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:239,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:240,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:241,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:242,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:243,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:244,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:245,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:246,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:247,1
    - Dst: fe64_mul121666
      Src: /src/openssl/crypto/ec/curve25519.c:248,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:249,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:250,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:251,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:252,1
    - Dst: fe64_invert
      Src: /src/openssl/crypto/ec/curve25519.c:255,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:256,1
    - Dst: fe64_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:257,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:259,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: 260
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 260
    functionName: x25519_scalar_mulx
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe64_copy
    - fe64_invert
    - fe64_tobytes
    - fe64_sub
    - fe64_mul
    - OPENSSL_cleanse
    - fe64_frombytes
    - fe64_1
    - fe64_cswap
    - fe64_0
    - memcpy
    - fe64_sqr
    - fe64_mul121666
    - fe64_add
    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: 293
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 293
    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: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    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:311,1
    - Dst: load_6
      Src: /src/openssl/crypto/ec/curve25519.c:312,1
    - Dst: load_7
      Src: /src/openssl/crypto/ec/curve25519.c:313,1
    - Dst: load_6
      Src: /src/openssl/crypto/ec/curve25519.c:314,1
    - Dst: load_6
      Src: /src/openssl/crypto/ec/curve25519.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe51
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: fe51_frombytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_7
    - load_6
    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: 394
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 394
    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: 470
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 470
    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:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 534
    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: 567
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 567
    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: 577
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 577
    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: 590
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 590
    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: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    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: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    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: 617
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 617
    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: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    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:646,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:649,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:650,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:653,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:655,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:669,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:674,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:676,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:678,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:681,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:683,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:685,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:689,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:692,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:695,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:697,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:699,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:702,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:704,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:706,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:710,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:713,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:717,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 721
    functionName: fe51_invert
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe51_sq
    - fe51_mul
    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:736,1
    - Dst: x25519_scalar_mulx
      Src: /src/openssl/crypto/ec/curve25519.c:737,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve25519.c:742,1
    - Dst: fe51_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:746,1
    - Dst: fe51_1
      Src: /src/openssl/crypto/ec/curve25519.c:747,1
    - Dst: fe51_0
      Src: /src/openssl/crypto/ec/curve25519.c:748,1
    - Dst: fe51_copy
      Src: /src/openssl/crypto/ec/curve25519.c:749,1
    - Dst: fe51_1
      Src: /src/openssl/crypto/ec/curve25519.c:750,1
    - Dst: fe51_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:756,1
    - Dst: fe51_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:757,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:759,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:760,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:761,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:762,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:763,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:764,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:765,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:766,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:767,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:768,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:769,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:770,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:771,1
    - Dst: fe51_mul121666
      Src: /src/openssl/crypto/ec/curve25519.c:772,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:773,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:774,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:775,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:776,1
    - Dst: fe51_invert
      Src: /src/openssl/crypto/ec/curve25519.c:779,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:780,1
    - Dst: fe51_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:781,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:783,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: 784
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 784
    functionName: x25519_scalar_mult
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe51_mul
    - fe51_sq
    - x25519_scalar_mulx
    - fe51_copy
    - x25519_fe64_eligible
    - OPENSSL_cleanse
    - fe51_frombytes
    - fe51_1
    - fe51_add
    - fe51_mul121666
    - fe51_invert
    - fe51_tobytes
    - fe51_0
    - memcpy
    - fe51_sub
    - 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: 818
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 818
    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: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    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:834,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:835,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:836,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:837,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:838,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:839,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:840,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:841,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:842,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 897
    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: 1012
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 1012
    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:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    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:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    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:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1031
    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: 1052
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1052
    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: 1073
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1073
    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: 1344
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1344
    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: 1513
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1513
    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:1529,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1532,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1533,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1536,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1538,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1541,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1544,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1547,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1549,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1553,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1558,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1560,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1562,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1565,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1567,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1569,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1573,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1576,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1579,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1581,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1583,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1586,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1588,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1590,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1593,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1595,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1599,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1602,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1604,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1609
    functionName: fe_invert
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_sq
    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: 1627
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1627
    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: 1645
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1645
    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:1659,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1662
    functionName: fe_isnonzero
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - fe_tobytes
    linkageType: ''
    returnType: int
    signature: int fe_isnonzero(const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1677
    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: 1857
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1857
    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:1866,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1867,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1869,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1871,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1872,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1873,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1874,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1875,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1877,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1879,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1880,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1882,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1884,1
    - Dst: fe_sq
      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:1889,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1890,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1892,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1894,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1895,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1897,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1899,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1900,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1902,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1904,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1905,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1907,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1909,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1910,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1912,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1915
    functionName: fe_pow22523
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_sq
    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:1969,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1970,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1971,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1972,1
    - Dst: fe_isnegative
      Src: /src/openssl/crypto/ec/curve25519.c:1973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1974
    functionName: ge_tobytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_isnegative
    - fe_mul
    - fe_tobytes
    - fe_invert
    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:1982,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1983,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1984,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1985,1
    - Dst: fe_isnegative
      Src: /src/openssl/crypto/ec/curve25519.c:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1987
    functionName: ge_p3_tobytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_isnegative
    - fe_mul
    - fe_tobytes
    - fe_invert
    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:2007,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:2008,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:2009,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2010,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2011,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2012,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2014,1
    - Dst: fe_pow22523
      Src: /src/openssl/crypto/ec/curve25519.c:2016,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2017,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:2019,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2020,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2021,1
    - Dst: fe_isnonzero
      Src: /src/openssl/crypto/ec/curve25519.c:2022,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2023,1
    - Dst: fe_isnonzero
      Src: /src/openssl/crypto/ec/curve25519.c:2024,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2027,1
    - Dst: fe_isnegative
      Src: /src/openssl/crypto/ec/curve25519.c:2030,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:2031,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - ge_p3*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2036
    functionName: ge_frombytes_vartime
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_frombytes
    - fe_add
    - fe_isnegative
    - fe_mul
    - fe_1
    - fe_isnonzero
    - fe_sq
    - fe_pow22523
    - fe_neg
    - fe_sub
    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:2040,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:2041,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:2042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2043
    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:2047,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:2048,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:2049,1
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2051
    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:2055,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:2056,1
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_precomp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2058
    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:2063,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:2064,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2066
    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:2076,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2077,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:2078,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_cached*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2080
    functionName: ge_p3_to_cached
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_add
    - fe_copy
    - 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:2085,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2086,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p1p1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2088
    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:2093,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2094,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2095,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p3*
    - ge_p1p1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2097
    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:2104,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:2105,1
    - Dst: fe_sq2
      Src: /src/openssl/crypto/ec/curve25519.c:2106,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2107,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:2108,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2109,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2110,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2111,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2113
    functionName: ge_p2_dbl
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_sub
    - fe_sq2
    - fe_add
    - fe_sq
    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:2119,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2121
    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:2128,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2129,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2130,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2131,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2132,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2133,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2134,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2135,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2136,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2137,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: 2138
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2138
    functionName: ge_madd
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_add
    - 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:2145,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2146,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2147,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2148,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2149,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2150,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2151,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2152,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2153,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2154,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: 2155
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2155
    functionName: ge_msub
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_add
    - 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:2162,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2163,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2164,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2165,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2166,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2167,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2168,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2169,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2170,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2171,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2172,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: 2173
      start: 2158
    functionDepth: 0
    functionLinenumber: 2158
    functionLinenumberEnd: 2173
    functionName: ge_add
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_add
    - 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:2180,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2181,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2182,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2183,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2184,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2185,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2186,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2187,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2188,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2189,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2190,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: 2191
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2191
    functionName: ge_sub
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    - fe_add
    - 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: 2202
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2202
    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:2206,1
    - Dst: fe_cmov
      Src: /src/openssl/crypto/ec/curve25519.c:2207,1
    - Dst: fe_cmov
      Src: /src/openssl/crypto/ec/curve25519.c:2208,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: 2209
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2209
    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: 4333
      start: 4327
    functionDepth: 0
    functionLinenumber: 4327
    functionLinenumberEnd: 4333
    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:4338,1
    - Dst: ge_precomp_0
      Src: /src/openssl/crypto/ec/curve25519.c:4341,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4342,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4342,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4343,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4343,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4344,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4344,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4345,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4345,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4346,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4346,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4347,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4347,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4348,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4348,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4349,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4349,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:4350,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:4351,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:4352,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - t
    - pos
    - b
    argTypes:
    - ge_precomp*
    - int
    - signed char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4354
      start: 4335
    functionDepth: 0
    functionLinenumber: 4335
    functionLinenumberEnd: 4354
    functionName: table_select
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - equal
    - ge_precomp_0
    - cmov
    - fe_neg
    - negative
    - fe_copy
    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:4391,1
    - Dst: table_select
      Src: /src/openssl/crypto/ec/curve25519.c:4393,1
    - Dst: ge_madd
      Src: /src/openssl/crypto/ec/curve25519.c:4394,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4395,1
    - Dst: ge_p3_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4398,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4399,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4400,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4401,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4402,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4403,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4404,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4405,1
    - Dst: table_select
      Src: /src/openssl/crypto/ec/curve25519.c:4408,1
    - Dst: ge_madd
      Src: /src/openssl/crypto/ec/curve25519.c:4409,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4410,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:4413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - h
    - a
    argTypes:
    - ge_p3*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4414
      start: 4365
    functionDepth: 1
    functionLinenumber: 4365
    functionLinenumberEnd: 4414
    functionName: ge_scalarmult_base
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - ge_p1p1_to_p2
    - ge_p2_dbl
    - ge_p1p1_to_p3
    - table_select
    - ge_p3_dbl
    - ge_madd
    - ge_p3_0
    - OPENSSL_cleanse
    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: 4434
      start: 4423
    functionDepth: 0
    functionLinenumber: 4423
    functionLinenumberEnd: 4434
    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: 4522
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4522
    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:4533,1
    - Dst: fe_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:4537,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:4538,1
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:4539,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:4540,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:4541,1
    - Dst: fe_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:4546,1
    - Dst: fe_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:4547,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4549,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4550,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4551,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4552,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4553,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4554,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4555,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4556,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4557,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4558,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4559,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4560,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4561,1
    - Dst: fe_mul121666
      Src: /src/openssl/crypto/ec/curve25519.c:4562,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4563,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4564,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4565,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4566,1
    - Dst: fe_invert
      Src: /src/openssl/crypto/ec/curve25519.c:4569,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4570,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:4571,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:4573,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: 4574
      start: 4524
    functionDepth: 1
    functionLinenumber: 4524
    functionLinenumberEnd: 4574
    functionName: x25519_scalar_mult_generic
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_frombytes
    - fe_add
    - fe_cswap
    - fe_invert
    - fe_tobytes
    - fe_mul
    - OPENSSL_cleanse
    - fe_1
    - fe_0
    - fe_mul121666
    - fe_sq
    - memcpy
    - fe_copy
    - fe_sub
    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:4579,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: 4580
      start: 4576
    functionDepth: 2
    functionLinenumber: 4576
    functionLinenumberEnd: 4580
    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: 4616
      start: 4583
    functionDepth: 0
    functionLinenumber: 4583
    functionLinenumberEnd: 4616
    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:4703,1
    - Dst: slide
      Src: /src/openssl/crypto/ec/curve25519.c:4704,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4706,1
    - Dst: ge_p3_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4707,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4708,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4709,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4710,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4711,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4712,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4713,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4714,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4715,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4716,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4717,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4718,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4719,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4720,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4721,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4722,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4723,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4724,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4725,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4726,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4727,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4728,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4729,1
    - Dst: ge_p2_0
      Src: /src/openssl/crypto/ec/curve25519.c:4731,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4740,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4743,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4744,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4746,1
    - Dst: ge_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4747,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4751,1
    - Dst: ge_madd
      Src: /src/openssl/crypto/ec/curve25519.c:4752,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4754,1
    - Dst: ge_msub
      Src: /src/openssl/crypto/ec/curve25519.c:4755,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4758,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: 4760
      start: 4692
    functionDepth: 0
    functionLinenumber: 4692
    functionLinenumberEnd: 4760
    functionName: ge_double_scalarmult_vartime
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - ge_p1p1_to_p2
    - ge_p2_dbl
    - ge_p2_0
    - ge_p1p1_to_p3
    - ge_add
    - ge_msub
    - slide
    - ge_p3_dbl
    - ge_p3_to_cached
    - ge_sub
    - ge_madd
    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:4776,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4777,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4778,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4779,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4780,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4781,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4782,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4783,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4784,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4785,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4786,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4787,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4788,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4789,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4790,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4791,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4792,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4793,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4794,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4795,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4796,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4797,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4798,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 269
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 4774
    functionDepth: 0
    functionLinenumber: 4774
    functionLinenumberEnd: 5106
    functionName: x25519_sc_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_4
    - load_3
    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:5121,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5122,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5123,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5124,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5125,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5126,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5127,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5128,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5129,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5130,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5131,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5132,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5133,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5134,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5135,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5136,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5137,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5138,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5139,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5140,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5141,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5142,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5143,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5144,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5145,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5146,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5147,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5148,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5149,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5150,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5151,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5152,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5153,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5154,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5155,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5156,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: 5589
      start: 5118
    functionDepth: 0
    functionLinenumber: 5118
    functionLinenumberEnd: 5589
    functionName: sc_muladd
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_4
    - load_3
    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:5604,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5617,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5618,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5619,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: 5624
      start: 5591
    functionDepth: 5
    functionLinenumber: 5591
    functionLinenumberEnd: 5624
    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:5636,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve25519.c:5637,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5655,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5656,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5657,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve25519.c:5664,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5665,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5666,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5667,1
    - Dst: x25519_sc_reduce
      Src: /src/openssl/crypto/ec/curve25519.c:5670,1
    - Dst: ge_scalarmult_base
      Src: /src/openssl/crypto/ec/curve25519.c:5671,1
    - Dst: ge_p3_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5672,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve25519.c:5674,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5675,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5676,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5677,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5678,1
    - Dst: x25519_sc_reduce
      Src: /src/openssl/crypto/ec/curve25519.c:5681,1
    - Dst: sc_muladd
      Src: /src/openssl/crypto/ec/curve25519.c:5682,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5686,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5687,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve25519.c:5688,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve25519.c:5689,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: 5691
      start: 5626
    functionDepth: 10
    functionLinenumber: 5626
    functionLinenumberEnd: 5691
    functionName: ossl_ed25519_sign
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - hash_init_with_dom
    - x25519_sc_reduce
    - ge_scalarmult_base
    - sc_muladd
    - EVP_DigestFinal_ex
    - ge_p3_tobytes
    - EVP_MD_fetch
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_MD_CTX_new
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    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:5704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pub
    - pub_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5705
      start: 5698
    functionDepth: 1
    functionLinenumber: 5698
    functionLinenumberEnd: 5705
    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:5760,1
    - Dst: ge_frombytes_vartime
      Src: /src/openssl/crypto/ec/curve25519.c:5772,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:5776,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:5777,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/curve25519.c:5779,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve25519.c:5782,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve25519.c:5786,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5787,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5788,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5789,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5790,1
    - Dst: x25519_sc_reduce
      Src: /src/openssl/crypto/ec/curve25519.c:5793,1
    - Dst: ge_double_scalarmult_vartime
      Src: /src/openssl/crypto/ec/curve25519.c:5795,1
    - Dst: ge_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5797,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:5799,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve25519.c:5809,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve25519.c:5810,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: 5812
      start: 5709
    functionDepth: 10
    functionLinenumber: 5709
    functionLinenumberEnd: 5812
    functionName: ossl_ed25519_verify
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - ge_double_scalarmult_vartime
    - CRYPTO_memcmp
    - hash_init_with_dom
    - EVP_DigestFinal_ex
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - ge_tobytes
    - ge_frombytes_vartime
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - x25519_sc_reduce
    - memcmp
    - fe_neg
    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:5823,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ec/curve25519.c:5826,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve25519.c:5827,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5829,1
    - Dst: ge_scalarmult_base
      Src: /src/openssl/crypto/ec/curve25519.c:5837,1
    - Dst: ge_p3_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5838,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5840,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: 5842
      start: 5814
    functionDepth: 10
    functionLinenumber: 5814
    functionLinenumberEnd: 5842
    functionName: ossl_ed25519_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 1
    functionsReached:
    - EVP_Digest
    - ge_scalarmult_base
    - ge_p3_tobytes
    - EVP_MD_fetch
    - EVP_MD_free
    - 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:5848,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:5850,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: 5851
      start: 5844
    functionDepth: 4
    functionLinenumber: 5844
    functionLinenumberEnd: 5851
    functionName: ossl_x25519
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - x25519_scalar_mult
    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:5860,1
    - Dst: ge_scalarmult_base
      Src: /src/openssl/crypto/ec/curve25519.c:5865,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:5872,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:5873,1
    - Dst: fe_invert
      Src: /src/openssl/crypto/ec/curve25519.c:5874,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:5875,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5876,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5878,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: 5879
      start: 5853
    functionDepth: 1
    functionLinenumber: 5853
    functionLinenumberEnd: 5879
    functionName: ossl_x25519_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 1
    functionsReached:
    - ge_scalarmult_base
    - fe_add
    - fe_invert
    - fe_tobytes
    - fe_mul
    - OPENSSL_cleanse
    - memcpy
    - fe_sub
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: S390X_PAD
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_PAD(n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:63,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:68,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:70,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:71,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:82,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:83,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:86,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:93,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:94,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:95,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:99,1
    - Dst: EC_POINT_get_affine_coordinates
      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_X
      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_SRC_Y
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:103,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:104,1
    - Dst: S390X_OFF_SCALAR
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:105,1
    - Dst: s390x_pcc
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:107,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:108,1
    - Dst: S390X_OFF_RES_X
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:108,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:109,1
    - Dst: S390X_OFF_RES_Y
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:109,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:110,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:119,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:120,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:121,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:122,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: 124
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 124
    functionName: ec_GFp_s390x_nistp_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - S390X_OFF_RES_Y
    - BN_is_zero
    - EC_POINT_is_at_infinity
    - S390X_OFF_SRC_Y
    - EC_POINT_get_affine_coordinates
    - OPENSSL_cleanse
    - BN_CTX_start
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_set_to_infinity
    - BN_CTX_end
    - S390X_OFF_SCALAR
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - memset
    - S390X_OFF_SRC_X
    - BN_bn2binpad
    - BN_is_negative
    - S390X_OFF_RES_X
    - s390x_pcc
    - EC_GROUP_get0_generator
    - ossl_ec_wNAF_mul
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:154,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:160,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:166,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:172,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:177,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:181,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:184,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:188,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:191,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:195,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:197,1
    - Dst: S390X_OFF_H
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:197,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:199,1
    - Dst: S390X_OFF_K
      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: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:206,1
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:211,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:211,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:216,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:219,1
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:226,1
    - Dst: ossl_bn_priv_rand_range_fixed_top
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:232,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:235,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:237,1
    - Dst: S390X_OFF_RN
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:238,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:251,1
    - Dst: S390X_OFF_RN
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:254,1
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:259,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:259,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:264,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:265,1
    - Dst: S390X_OFF_RN
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:266,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:274,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:278,1
    - Dst: S390X_OFF_R
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:278,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:279,1
    - Dst: S390X_OFF_S
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:280,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:286,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:287,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:289,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:292,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 118
    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: 294
      start: 128
    functionDepth: 11
    functionLinenumber: 128
    functionLinenumberEnd: 294
    functionName: ecdsa_s390x_nistp_sign_sig
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - ECDSA_SIG_new
    - ossl_ec_key_get_libctx
    - S390X_OFF_K
    - memcpy
    - OPENSSL_cleanse
    - S390X_OFF_S
    - ossl_bn_priv_rand_range_fixed_top
    - s390x_kdsa
    - BN_set_bit
    - EC_KEY_can_sign
    - ERR_raise
    - RAND_priv_bytes_ex
    - EC_KEY_get0_private_key
    - S390X_OFF_RN
    - BN_secure_new
    - BN_CTX_secure_new_ex
    - ossl_bn_gen_dsa_nonce_fixed_top
    - S390X_OFF_H
    - BN_CTX_free
    - memset
    - BN_num_bits
    - S390X_OFF_R
    - BN_new
    - BN_bn2binpad
    - ossl_bn_is_word_fixed_top
    - ossl_ec_group_do_inverse_ord
    - ECDSA_SIG_free
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - BN_clear_free
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:314,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:320,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:326,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:331,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:337,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:341,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:343,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:346,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:350,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:352,1
    - Dst: S390X_OFF_H
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:352,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:355,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:355,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:356,1
    - Dst: S390X_OFF_R
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:356,1
    - Dst: S390X_PAD
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:356,1
    - Dst: S390X_PAD
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:357,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:359,1
    - Dst: S390X_OFF_S
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:359,1
    - Dst: S390X_PAD
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:359,1
    - Dst: S390X_PAD
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:362,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:367,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:368,1
    - Dst: S390X_OFF_X
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:368,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:369,1
    - Dst: S390X_OFF_Y
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:370,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:376,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:379,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:380,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    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: 382
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 382
    functionName: ecdsa_s390x_nistp_verify_sig
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached:
    - EC_POINT_get_affine_coordinates
    - memcpy
    - S390X_OFF_Y
    - BN_CTX_start
    - S390X_OFF_S
    - s390x_kdsa
    - EC_KEY_can_sign
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - S390X_PAD
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - S390X_OFF_H
    - BN_CTX_free
    - S390X_OFF_X
    - memset
    - S390X_OFF_R
    - BN_bn2binpad
    - BN_is_negative
    - 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: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    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: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    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: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    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:768,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_local.h:770,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_local.h:771,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: 775
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 775
    functionName: ec_point_ladder_pre
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 0
    functionsReached:
    - EC_POINT_dbl
    - EC_GROUP*::meth::ladder_pre
    - EC_POINT_copy
    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:782,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_local.h:784,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_local.h:785,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: 789
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 789
    functionName: ec_point_ladder_step
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 0
    functionsReached:
    - EC_POINT_dbl
    - EC_POINT_add
    - 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:796,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: 799
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 799
    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: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    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: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    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: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    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: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    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:64,1
    - Dst: EC_KEY_METHOD*::init
      Src: /src/openssl/crypto/ec/ec_kmeth.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - meth
    argTypes:
    - EC_KEY*
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: EC_KEY_set_method
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_METHOD*::init
    - finish
    linkageType: ''
    returnType: int
    signature: int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_kmeth.c:74,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ec_kmeth.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:80,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ec/ec_kmeth.c:86,1
    - Dst: EC_KEY_get_default_method
      Src: /src/openssl/crypto/ec/ec_kmeth.c:91,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/ec/ec_kmeth.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:98,1
    - Dst: EC_KEY*::meth::init
      Src: /src/openssl/crypto/ec/ec_kmeth.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:104,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: ossl_ec_key_new_method_int
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 2
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - EC_KEY_get_default_method
    - OPENSSL_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - EC_KEY_free
    - EC_KEY*::meth::init
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *ossl_ec_key_new_method_int(OSSL_LIB_CTX *libctx, const char
      *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/openssl/crypto/ec/ec_kmeth.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 120
    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(ossl_unused ENGINE *engine)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:135,1
    - Dst: EC_KEY*::meth::compute_key
      Src: /src/openssl/crypto/ec/ec_kmeth.c:138,1
    - Dst: KDF
      Src: /src/openssl/crypto/ec/ec_kmeth.c:141,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_kmeth.c:145,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:147,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: 149
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: ECDH_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - KDF
    - memcpy
    - EC_KEY*::meth::compute_key
    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:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    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:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    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: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    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: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    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: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    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: 219
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 219
    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: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    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 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: 257
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 257
    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: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    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: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    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: 296
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 296
    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: 311
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 311
    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 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:
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GFp_simple_set_compressed_coordinates
    - EC_GROUP*::meth::point_set_compressed_coordinates
    - ossl_ec_GF2m_simple_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:
    - ec_point_is_compat
    - EC_GROUP*::meth::point2oct
    - ERR_raise
    - ossl_ec_GF2m_simple_point2oct
    - ossl_ec_GFp_simple_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:
    - ec_point_is_compat
    - ossl_ec_GF2m_simple_oct2point
    - EC_GROUP*::meth::oct2point
    - ERR_raise
    - ossl_ec_GFp_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:
    - EC_POINT_point2oct
    - OPENSSL_malloc
    - OPENSSL_free
    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:
    - EC_POINT_point2buf
    - BN_bin2bn
    - OPENSSL_free
    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_oct2point
    - EC_POINT_clear_free
    - OPENSSL_free
    - BN_num_bytes
    - 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:115,1
    - Dst: memmove
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: bin48_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    linkageType: ''
    returnType: void
    signature: void bin48_to_felem(felem out, const uint8_t in[48])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:127,1
    - Dst: memmove
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: felem_to_bin48
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    linkageType: ''
    returnType: void
    signature: void felem_to_bin48(uint8_t out[48], const felem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:144,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:149,1
    - Dst: bin48_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 3
    functionsReached:
    - BN_bn2lebinpad
    - ERR_raise
    - BN_is_negative
    - bin48_to_felem
    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:161,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: felem_to_BN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached:
    - BN_lebin2bn
    - felem_to_bin48
    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:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    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: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    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: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    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: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    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: 250
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 250
    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: 296
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 296
    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: 333
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 333
    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: 378
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 378
    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:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 426
    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: 491
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 491
    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:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 84
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - widefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 682
    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:688,1
    - Dst: felem_reduce_ref
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 690
    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:696,1
    - Dst: felem_reduce_ref
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: felem_mul_reduce_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_reduce_ref
    - felem_mul_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: 743
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 743
    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:747,1
    - Dst: felem_square_p
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: felem_square_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_select
    - felem_square_p
    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:753,1
    - Dst: felem_mul_p
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - widefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: felem_mul_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_select
    - felem_mul_p
    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:785,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:786,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:787,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:789,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:790,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:791,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:794,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:795,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:796,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:799,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:800,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:803,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:804,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:805,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:808,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:809,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:810,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:813,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:814,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:815,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:818,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:819,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:820,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:823,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:824,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:827,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:828,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:831,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:832,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:835,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:836,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:839,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:840,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:843,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:844,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 847
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 1
    functionsReached:
    - felem_square_reduce
    - felem_mul_reduce
    - memcpy
    - felem_assign
    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: 870
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 870
    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:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 875
    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:896,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 1010
    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:1037,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1038,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1041,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1044,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1047,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1050,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1051,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1052,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1053,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1056,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1057,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1058,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1059,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1060,1
    - Dst: felem_sum64
      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_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1065,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1066,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1067,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1068,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1071,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1072,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1073,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1074,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1075,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1076,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1077,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: 1078
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1078
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 4
    functionsReached:
    - felem_square_reduce
    - felem_diff128
    - felem_scalar64
    - felem_assign
    - felem_square
    - felem_scalar128
    - felem_reduce
    - felem_diff_128_64
    - felem_diff64
    - felem_mul_reduce
    - felem_mul
    - 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: 1087
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1087
    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:1110,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1111,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1114,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1118,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1121,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1124,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1125,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1128,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1129,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1130,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1131,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1134,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1137,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1144,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1147,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1150,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1155,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1158,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1159,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1161,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1164,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1167,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1170,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1173,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1174,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1175,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1176,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1200,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1205,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1206,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1207,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1210,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1213,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1216,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1217,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1218,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1219,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1220,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1221,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1224,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1225,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1226,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1227,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1228,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1229,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1231,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1232,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1233,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1234,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1235,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1236,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1237,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1238,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1239,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: 1240
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1240
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 3
    functionsReached:
    - felem_square_reduce
    - felem_diff128
    - copy_conditional
    - felem_scalar64
    - felem_assign
    - felem_square
    - felem_scalar128
    - felem_reduce
    - felem_diff_128_64
    - felem_diff64
    - felem_is_zero
    - point_double
    - felem_mul_reduce
    - felem_scalar
    - felem_mul
    - felem_sum64
    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:1371,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: 1385
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1385
    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: 1393
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    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:1415,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1427,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1431,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1433,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1434,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1435,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1438,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1441,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1445,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1454,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1455,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1456,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1457,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1458,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1459,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1460,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1465,1
    - Dst: felem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1466,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1468,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1471,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1475,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1481,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1482,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1483,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
    - uint8_t*
    - int
    - felem[][][]
    - felem[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1484
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 1
    functionsReached:
    - copy_conditional
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_add
    - select_point
    - felem_assign
    - felem_neg
    - get_bit
    - memset
    - memcpy
    - point_double
    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 uint8_t *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: 1554
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1554
    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:1563,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1573
    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:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP384_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1582
    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:1591,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1592,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1595,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1597,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP384_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: ossl_ec_nistp384_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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:1610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1613
    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:1625,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1630,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1631,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1632,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1633,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1636,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1637,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1638,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1639,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1639,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1639,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1640,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1644,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1646,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1648,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: 1651
      start: 1615
    functionDepth: 5
    functionLinenumber: 1615
    functionLinenumberEnd: 1651
    functionName: ossl_ec_GFp_nistp384_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - BN_CTX_new
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_free
    - BN_cmp
    - 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:1665,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1666,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1669,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1669,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1669,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1671,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1672,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1673,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1674,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1675,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1676,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1678,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1679,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1683,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1684,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1685,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1686,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1687,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1689,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1690,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: 1695
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1695
    functionName: ossl_ec_GFp_nistp384_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_contract
    - ERR_raise
    - EC_POINT_is_at_infinity
    - felem_to_BN
    - felem_inv
    - felem_mul
    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:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1721
    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:1738,1
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1746,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1751,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1752,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1753,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1754,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1755,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1767,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1771,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1771,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1771,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1772,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1775,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1779,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1798,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1799,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1801,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1816,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1825,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1826,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1831,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1832,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1835,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1838,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1842,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1846,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1846,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1846,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1848,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1849,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1850,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1853,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1857,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1864,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1869,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1871,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1871,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1876,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1877,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1880,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1882,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1885,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1892,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1897,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1898,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1899,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1900,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1900,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1900,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1901,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1904,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1908,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1909,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1910,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1911,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1912,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: 1914
      start: 1727
    functionDepth: 5
    functionLinenumber: 1727
    functionLinenumberEnd: 1914
    functionName: ossl_ec_GFp_nistp384_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - make_points_affine
    - felem_to_BN
    - batch_mul
    - memcpy
    - OPENSSL_malloc_array
    - BN_CTX_start
    - OPENSSL_free
    - EC_POINT_cmp
    - felem_contract
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_calloc
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_add
    - memset
    - BN_num_bits
    - point_double
    - BN_is_negative
    - BN_to_felem
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - felem
    - EC_GROUP_get0_generator
    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:1929,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1933,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1938,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1939,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1940,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1946,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1949,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1950,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1951,1
    - Dst: nistp384_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1953,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1958,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1959,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1962,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1962,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1962,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1966,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1969,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1974,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1977,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1981,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1985,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1989,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1994,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1998,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2001,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2005,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2006,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2008,1
    - Dst: ossl_ec_nistp384_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2010,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1916
    functionDepth: 5
    functionLinenumber: 1916
    functionLinenumberEnd: 2012
    functionName: ossl_ec_GFp_nistp384_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - make_points_affine
    - memcpy
    - nistp384_pre_comp_new
    - BN_CTX_start
    - EC_POINT_cmp
    - BN_CTX_get
    - ossl_ec_nistp384_pre_comp_free
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_add
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - memset
    - EC_pre_comp_free
    - point_double
    - BN_to_felem
    - SETPRECOMP
    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:2016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2017
    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_clear_last_mark
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - ERR_GET_REASON
    - ERR_pop_to_mark
    - BN_CTX_start
    - BN_GF2m_mod_arr
    - ERR_peek_last_error
    - ERR_raise
    - BN_CTX_get
    - BN_GF2m_mod_solve_quad_arr
    - ERR_GET_LIB
    - BN_CTX_end
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - BN_is_odd
    - EC_GROUP*::meth::field_div
    - ERR_set_mark
    - BN_GF2m_add
    - EC_GROUP*::meth::field_mul
    - BN_GF2m_mod_sqrt_arr
    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:164,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_oct.c:170,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_oct.c:176,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:178,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:179,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:180,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:184,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_oct.c:188,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_oct.c:189,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec2_oct.c:191,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec2_oct.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:199,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ec2_oct.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:209,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec2_oct.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:217,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ec2_oct.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:229,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:235,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:237,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:243,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:245,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: 248
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 248
    functionName: ossl_ec_GF2m_simple_point2oct
    functionSourceFile: /src/openssl/crypto/ec/ec2_oct.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - BN_num_bytes
    - EC_GROUP_get_degree
    - BN_CTX_new
    - ERR_raise
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - BN_CTX_free
    - BN_is_odd
    - EC_GROUP*::meth::field_div
    - BN_bn2bin
    - EC_POINT_get_affine_coordinates
    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:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:300,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec2_oct.c:304,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec2_oct.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:312,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_oct.c:318,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_oct.c:324,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:325,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:326,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:327,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec2_oct.c:331,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_oct.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:334,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:339,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec2_oct.c:342,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_oct.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:345,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_oct.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:356,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_oct.c:360,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec2_oct.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:363,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:373,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:380,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:382,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: 385
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 385
    functionName: ossl_ec_GF2m_simple_oct2point
    functionSourceFile: /src/openssl/crypto/ec/ec2_oct.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - BN_is_zero
    - EC_GROUP_get_degree
    - BN_CTX_new
    - ERR_raise
    - BN_CTX_get
    - EC_POINT_set_affine_coordinates
    - BN_CTX_free
    - BN_is_odd
    - BN_num_bits
    - EC_GROUP*::meth::field_div
    - EC_POINT_set_to_infinity
    - EC_POINT_set_compressed_coordinates
    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
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    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 uint8_t in[32])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: smallfelem_to_bin32
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_to_bin32(uint8_t out[32], const smallfelem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:153,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:158,1
    - Dst: bin32_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 6
    functionsReached:
    - bin32_to_felem
    - BN_bn2lebinpad
    - ERR_raise
    - BN_is_negative
    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:169,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 171
    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: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    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: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    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: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    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: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    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: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    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
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: felem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar(felem out, const uint64_t scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - longfelem
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: longfelem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void longfelem_scalar(longfelem out, const uint64_t scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - small
    argTypes:
    - felem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    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: 284
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 284
    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: 317
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 317
    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: 353
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 353
    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: 461
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 461
    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: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    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: 549
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 549
    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:561,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - longfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: felem_square
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 9
    functionsReached:
    - felem_shrink
    - smallfelem_square
    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: 674
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 674
    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:687,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:688,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - longfelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: felem_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 9
    functionsReached:
    - felem_shrink
    - smallfelem_mul
    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:704,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - small1
    - in2
    argTypes:
    - longfelem
    - smallfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 706
    functionName: felem_small_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_shrink
    - smallfelem_mul
    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: 760
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 760
    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:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 791
    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:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 820
    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:
    - uint64_t*
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: subtract_u64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void subtract_u64(uint64_t *result, uint64_t *carry, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:843,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:886,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:887,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:888,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:889,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:891,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:892,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:893,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:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 899
    functionName: felem_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 4
    functionsReached:
    - felem_shrink
    - subtract_u64
    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:906,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:907,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 909
    functionName: smallfelem_square_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_reduce
    - felem_contract
    - smallfelem_square
    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:917,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:918,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: smallfelem_mul_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_reduce
    - felem_contract
    - smallfelem_mul
    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: 958
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 958
    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:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - small
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 963
    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:981,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:982,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:983,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:984,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:985,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:986,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:987,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:988,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:989,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:990,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:991,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:992,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:993,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:994,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:995,1
    - Dst: felem_reduce
      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:1005,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1006,1
    - Dst: felem_mul
      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_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1010,1
    - Dst: felem_square
      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_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1015,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1016,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1017,1
    - Dst: felem_square
      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:1022,1
    - Dst: felem_mul
      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_square
      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_mul
      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_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1033,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1034,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1036,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1037,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1039,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1040,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1042,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1043,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1045,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1046,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1048,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1049,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_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1052,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1053,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1054,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1055,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_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1058,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1059,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1060,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1061,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1063,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1065
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached:
    - felem_reduce
    - felem_assign
    - felem_square
    - felem_mul
    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:1071,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1072,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: smallfelem_inv_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_inv
    - felem_contract
    - smallfelem_expand
    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:1102,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1104,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1108,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1109,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1113,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1114,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1116,1
    - Dst: felem_small_mul
      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_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1124,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1126,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1128,1
    - Dst: felem_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_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1133,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1136,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1137,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1138,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1139,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1141,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1145,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1147,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1148,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1150,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1151,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1152,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1156,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1158,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1160,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1162,1
    - Dst: longfelem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1164,1
    - Dst: longfelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1166,1
    - Dst: felem_reduce_zero105
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1168,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: 1170
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1170
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 8
    functionsReached:
    - longfelem_scalar
    - felem_square
    - felem_assign
    - felem_reduce
    - smallfelem_square
    - longfelem_diff
    - felem_shrink
    - felem_diff_zero107
    - felem_reduce_zero105
    - felem_sum
    - felem_diff
    - felem_small_mul
    - felem_scalar
    - felem_mul
    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:1184,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1185,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1186,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1187,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1189,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1190,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1191,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: 1192
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1192
    functionName: point_double_small
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_shrink
    - point_double
    - smallfelem_expand
    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: 1202
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1202
    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: 1212
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1212
    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:1237,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1239,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1240,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1243,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1244,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1246,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1250,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1251,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1253,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1255,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1258,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1259,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1263,1
    - Dst: felem_small_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1264,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1268,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1269,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1271,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1273,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1277,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1278,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1281,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1282,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1290,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1294,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1295,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1299,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1304,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1305,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1308,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1310,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1312,1
    - Dst: felem_small_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: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1320,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1321,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1324,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1325,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1328,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1330,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1332,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1333,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1355,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1360,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1361,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1363,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1364,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1367,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1368,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1371,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1372,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1375,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1376,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1377,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1378,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1379,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1381,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1385,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1387,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1388,1
    - Dst: longfelem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1389,1
    - Dst: longfelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1391,1
    - Dst: felem_reduce_zero105
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1393,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1396,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1397,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1398,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1399,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1400,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1401,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1402,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1403,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1404,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: 1405
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1405
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 6
    functionsReached:
    - felem_reduce_zero105
    - felem_mul
    - copy_conditional
    - felem_reduce
    - copy_small_conditional
    - smallfelem_mul
    - felem_diff_zero107
    - smallfelem_square
    - felem_small_sum
    - felem_shrink
    - smallfelem_is_zero
    - point_double
    - longfelem_scalar
    - felem_assign
    - felem_square
    - longfelem_diff
    - felem_sum
    - felem_diff
    - felem_small_mul
    - felem_scalar
    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:1417,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1418,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1419,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1420,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1422,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1423,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1424,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: 1425
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1425
    functionName: point_add_small
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_shrink
    - point_add
    - smallfelem_expand
    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:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - uint64_t
    - unsigned int
    - smallfelem[][]
    - smallfelem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1646
    functionName: select_point
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void select_point(const uint64_t 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: 1654
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1654
    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:1677,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1689,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1694,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1695,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1696,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1697,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1699,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1703,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1706,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1707,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1708,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1713,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1714,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1715,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1716,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1718,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1720,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1728,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1729,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1730,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1731,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1732,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1733,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1734,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1739,1
    - Dst: smallfelem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1740,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1742,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1743,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1746,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1750,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1751,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1752,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1758,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1759,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1760,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
    - uint8_t*
    - int
    - smallfelem[][][]
    - smallfelem[][][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1761
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached:
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_add
    - select_point
    - felem_assign
    - felem_contract
    - copy_small_conditional
    - get_bit
    - smallfelem_neg
    - memset
    - point_double
    - smallfelem_expand
    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 uint8_t *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: 1831
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1831
    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:1840,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1845,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1850
    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:1856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1852
    functionDepth: 1
    functionLinenumber: 1852
    functionLinenumberEnd: 1858
    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:1867,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1868,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1871,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1873,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pre
    argTypes:
    - NISTP256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1875
    functionName: EC_nistp256_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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:1885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1888
    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:1900,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1905,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1906,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1907,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1908,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1911,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1912,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1913,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1914,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1914,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1914,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1915,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1919,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1921,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1923,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: 1926
      start: 1890
    functionDepth: 5
    functionLinenumber: 1890
    functionLinenumberEnd: 1926
    functionName: ossl_ec_GFp_nistp256_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - BN_CTX_new
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_free
    - BN_cmp
    - 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:1941,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1942,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1945,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1945,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1945,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1947,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1948,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1949,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1950,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1951,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1952,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1954,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1955,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1959,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1960,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1961,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1962,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1963,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1965,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1966,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: 1971
      start: 1932
    functionDepth: 6
    functionLinenumber: 1932
    functionLinenumberEnd: 1971
    functionName: ossl_ec_GFp_nistp256_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_contract
    - ERR_raise
    - EC_POINT_is_at_infinity
    - smallfelem_to_BN
    - felem_inv
    - felem_mul
    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:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_smallfelems
    argTypes:
    - size_t
    - smallfelem[][]
    - smallfelem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 1999
    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:2016,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2030,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2031,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2032,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2033,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2034,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2046,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2050,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2050,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2050,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2051,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2054,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2058,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2076,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2077,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2079,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2095,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2104,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2105,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2111,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2114,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2121,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2125,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2125,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2125,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2127,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2128,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2129,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2132,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2139,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2150,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2155,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2157,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2157,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2163,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2166,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2168,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2171,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2177,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2182,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2183,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2184,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2185,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2185,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2186,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2189,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2193,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2195,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2197,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: 2199
      start: 2005
    functionDepth: 6
    functionLinenumber: 2005
    functionLinenumberEnd: 2199
    functionName: ossl_ec_GFp_nistp256_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - make_points_affine
    - batch_mul
    - OPENSSL_malloc_array
    - point_add_small
    - BN_CTX_start
    - OPENSSL_free
    - EC_POINT_cmp
    - felem_contract
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - smallfelem_to_BN
    - smallfelem
    - BN_bn2lebinpad
    - OPENSSL_calloc
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_double_small
    - felem_shrink
    - memset
    - BN_num_bits
    - BN_is_negative
    - BN_to_felem
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - EC_GROUP_get0_generator
    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:2215,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2219,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2224,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2225,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2226,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2232,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2235,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2236,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2237,1
    - Dst: nistp256_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2239,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2244,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2245,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2248,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2248,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2248,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2250,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2251,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2252,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2258,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2263,1
    - Dst: point_double_small
      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: memset
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2288,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2291,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2297,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2303,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:2318,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2329,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2332,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2337,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2338,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2340,1
    - Dst: EC_nistp256_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2342,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2201
    functionDepth: 5
    functionLinenumber: 2201
    functionLinenumberEnd: 2344
    functionName: ossl_ec_GFp_nistp256_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - make_points_affine
    - memcpy
    - point_add_small
    - BN_CTX_start
    - EC_nistp256_pre_comp_free
    - EC_POINT_cmp
    - nistp256_pre_comp_new
    - BN_CTX_get
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_double_small
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - felem_shrink
    - memset
    - EC_pre_comp_free
    - BN_to_felem
    - SETPRECOMP
    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:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2349
    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_CTX_end
    - BN_CTX_start
    - BN_ucmp
    - BN_get0_nist_prime_256
    - BN_CTX_free
    - BN_CTX_new_ex
    - ERR_raise
    - BN_get0_nist_prime_384
    - BN_get0_nist_prime_521
    - ossl_ec_GFp_simple_group_set_curve
    - BN_get0_nist_prime_192
    - BN_get0_nist_prime_224
    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:
    - EC_GROUP*::field_mod_func
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_mul
    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:
    - EC_GROUP*::field_mod_func
    - BN_sqr
    - BN_CTX_free
    - ERR_raise
    - 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_new
    - BN_free
    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_end
    - BN_CTX_start
    - BN_set_negative
    - EC_GROUP*::meth::field_encode
    - BN_copy
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_nnmod
    - BN_CTX_free
    - BN_is_odd
    - BN_num_bits
    - BN_cmp
    - BN_add_word
    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:
    - BN_copy
    - BN_CTX_new_ex
    - EC_GROUP*::meth::field_decode
    - 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_end
    - BN_CTX_start
    - BN_is_zero
    - BN_copy
    - EC_GROUP*::meth::field_decode
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_mod_add
    - BN_CTX_free
    - BN_mod_mul
    - BN_mul_word
    - BN_lshift
    - BN_mod_sqr
    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_new
    - BN_free
    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:430,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: 432
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 432
    functionName: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 3
    functionsReached:
    - BN_is_one
    - EC_GROUP*::meth::field_encode
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_nnmod
    - EC_GROUP*::meth::field_set_to_one
    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:444,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:450,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:454,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:458,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:463,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:467,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:471,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:479,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: 481
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 481
    functionName: ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_copy
    - BN_CTX_new_ex
    - EC_GROUP*::meth::field_decode
    - 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:492,1
    - Dst: EC_POINT_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:496,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:497,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: 498
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 498
    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
    - ERR_raise
    - BN_value_one
    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:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:511,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:516,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:521,1
    - Dst: BN_CTX_get
      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: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:532,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:539,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:542,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:546,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:551,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:555,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ecp_smpl.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:561,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:567,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:570,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:579,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:588,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:591,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:599,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:607,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:608,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: 610
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 610
    functionName: ossl_ec_GFp_simple_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_one
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_sqr
    - BN_copy
    - ERR_raise
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - BN_CTX_new_ex
    - EC_GROUP*::meth::field_decode
    - EC_GROUP*::meth::field_inv
    - BN_CTX_free
    - BN_mod_mul
    - BN_mod_sqr
    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:624,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:625,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:626,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:627,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:628,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:635,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:640,1
    - Dst: BN_CTX_get
      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_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:659,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:661,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:666,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:668,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:672,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:674,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:681,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:683,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:688,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:690,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:694,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:696,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:702,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:704,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:709,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:710,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:712,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ecp_smpl.c:713,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:718,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:726,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:728,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:735,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:739,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:742,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:745,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:748,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:755,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:757,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:759,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:761,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:766,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:768,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:773,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:775,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:777,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:779,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_smpl.c:781,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ecp_smpl.c:782,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/ec/ecp_smpl.c:785,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:792,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:793,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: 795
      start: 612
    functionDepth: 6
    functionLinenumber: 612
    functionLinenumberEnd: 795
    functionName: ossl_ec_GFp_simple_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_copy
    - EC_POINT_is_at_infinity
    - BN_mod_sub_quick
    - BN_CTX_start
    - BN_zero
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_copy
    - BN_CTX_end
    - BN_mod_lshift1_quick
    - field_sqr
    - BN_CTX_free
    - EC_POINT_dbl
    - BN_is_odd
    - BN_add
    - BN_mod_add_quick
    - BN_rshift1
    - field_mul
    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:808,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:809,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:819,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:824,1
    - Dst: BN_CTX_get
      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: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:840,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:842,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:844,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:846,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:850,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:852,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:854,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:856,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:858,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:860,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:867,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:869,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:871,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:873,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:875,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:877,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:879,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:886,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:889,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:892,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:898,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:900,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:902,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:907,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:909,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:911,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:916,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:918,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:923,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:925,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:927,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:934,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:935,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: 937
      start: 797
    functionDepth: 6
    functionLinenumber: 797
    functionLinenumberEnd: 937
    functionName: ossl_ec_GFp_simple_dbl
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_mod_add_quick
    - BN_CTX_start
    - BN_zero
    - BN_mod_lshift1_quick
    - BN_mod_lshift_quick
    - field_sqr
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_copy
    - BN_CTX_free
    - BN_mod_sub_quick
    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:942,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:942,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/ec/ecp_smpl.c:946,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: 947
      start: 939
    functionDepth: 5
    functionLinenumber: 939
    functionLinenumberEnd: 947
    functionName: ossl_ec_GFp_simple_invert
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_usub
    - EC_POINT_is_at_infinity
    - BN_is_zero
    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:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 953
    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:966,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:974,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:979,1
    - Dst: BN_CTX_get
      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: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:998,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1002,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1004,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1006,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1011,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1013,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1015,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1017,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1020,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1022,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1024,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1029,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1031,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1037,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1039,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1042,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1047,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1050,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1053,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1054,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: 1056
      start: 955
    functionDepth: 6
    functionLinenumber: 955
    functionLinenumberEnd: 1056
    functionName: ossl_ec_GFp_simple_is_on_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_mod_add_quick
    - BN_CTX_start
    - BN_ucmp
    - BN_mod_lshift1_quick
    - field_sqr
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_CTX_free
    - BN_mod_sub_quick
    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:1076,1
    - 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:1080,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1084,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1084,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1091,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1096,1
    - Dst: BN_CTX_get
      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: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1112,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1114,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1120,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1122,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1129,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1135,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1137,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1143,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1145,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1152,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1161,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1162,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: 1164
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1164
    functionName: ossl_ec_GFp_simple_cmp
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - field_sqr
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_CTX_free
    - BN_cmp
    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:1173,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1177,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1182,1
    - Dst: BN_CTX_get
      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: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1188,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1193,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1200,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1201,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: 1203
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1203
    functionName: ossl_ec_GFp_simple_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - EC_POINT_set_affine_coordinates
    - ERR_raise
    - EC_POINT_get_affine_coordinates
    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:1218,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1223,1
    - Dst: BN_CTX_get
      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: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1229,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1233,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1243,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1244,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1248,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1251,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1257,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1258,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1262,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1273,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1282,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1284,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1293,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1298,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1303,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1306,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1311,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1313,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1322,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1325,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1327,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:1332,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1336,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1339,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1349,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1350,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1355,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1357,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: 1360
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1360
    functionName: ossl_ec_GFp_simple_points_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP*::meth::field_mul
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - OPENSSL_free
    - EC_GROUP*::meth::field_encode
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_GROUP*::meth::field_inv
    - ERR_raise
    - BN_CTX_free
    - BN_clear_free
    - BN_new
    - EC_GROUP*::meth::field_set_to_one
    - OPENSSL_malloc_array
    - BN_one
    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:1365,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: 1366
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1366
    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:1371,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: 1372
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1372
    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:1388,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1391,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1392,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1396,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1398,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1401,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1405,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1409,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1415,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1416,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: 1418
      start: 1380
    functionDepth: 8
    functionLinenumber: 1380
    functionLinenumberEnd: 1418
    functionName: ossl_ec_GFp_simple_field_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_secure_new_ex
    - BN_is_zero
    - EC_GROUP*::meth::field_mul
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_get
    - BN_mod_inverse
    - BN_priv_rand_range_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:1434,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1435,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1436,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1438,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1448,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1449,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1450,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1455,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1459,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1460,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1461,1
    - Dst: EC_GROUP*::meth::field_mul
      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_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1464,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1471,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: 1473
      start: 1427
    functionDepth: 8
    functionLinenumber: 1427
    functionLinenumberEnd: 1473
    functionName: ossl_ec_GFp_simple_blind_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP*::meth::field_mul
    - ERR_set_mark
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - EC_GROUP*::meth::field_encode
    - ERR_raise
    - BN_CTX_get
    - BN_priv_rand_range_ex
    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:1503,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1504,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1505,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1506,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1507,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1509,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1510,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1511,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1512,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1514,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1519,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1521,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1525,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1527,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1531,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1532,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1536,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1537,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1538,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: 1545
      start: 1490
    functionDepth: 8
    functionLinenumber: 1490
    functionLinenumberEnd: 1545
    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_is_zero
    - EC_GROUP*::meth::field_sqr
    - BN_mod_lshift_quick
    - EC_GROUP*::meth::field_encode
    - BN_mod_sub_quick
    - BN_priv_rand_range_ex
    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:1567,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1568,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1569,1
    - Dst: BN_CTX_get
      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: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1577,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1578,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1579,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: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1582,1
    - Dst: BN_mod_add_quick
      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: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1585,1
    - Dst: BN_mod_lshift_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: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1588,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1589,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1591,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1592,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1593,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1595,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1596,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1597,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1598,1
    - Dst: BN_mod_add_quick
      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: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1601,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1602,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1603,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1604,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1605,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1606,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1608,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1609,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1610,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1611,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1612,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1613,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1615,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1621,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: 1623
      start: 1560
    functionDepth: 6
    functionLinenumber: 1560
    functionLinenumberEnd: 1623
    functionName: ossl_ec_GFp_simple_ladder_step
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_mod_add_quick
    - BN_CTX_start
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_sqr
    - BN_mod_lshift1_quick
    - BN_mod_lshift_quick
    - BN_CTX_get
    - BN_mod_sub_quick
    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:1655,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1656,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1658,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1659,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1660,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1665,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1666,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1667,1
    - Dst: BN_CTX_get
      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_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1675,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1676,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1677,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1678,1
    - Dst: BN_mod_lshift1_quick
      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_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1681,1
    - Dst: EC_GROUP*::meth::field_mul
      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_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1684,1
    - Dst: BN_mod_add_quick
      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: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1690,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1691,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1692,1
    - Dst: EC_GROUP*::meth::field_mul
      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_mul
      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: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1698,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1699,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1701,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1702,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1703,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1707,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1710,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1718,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: 1720
      start: 1648
    functionDepth: 6
    functionLinenumber: 1648
    functionLinenumberEnd: 1720
    functionName: ossl_ec_GFp_simple_ladder_post
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_mod_add_quick
    - BN_CTX_start
    - EC_GROUP*::meth::field_mul
    - BN_is_zero
    - EC_POINT_invert
    - BN_mod_lshift1_quick
    - EC_GROUP*::meth::field_sqr
    - EC_GROUP*::meth::field_encode
    - EC_GROUP*::meth::field_decode
    - BN_CTX_get
    - EC_POINT_copy
    - EC_GROUP*::meth::field_inv
    - EC_GROUP*::meth::field_set_to_one
    - EC_POINT_set_to_infinity
    - BN_mod_sub_quick
    - BN_one
    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:
    - ERR_raise
    - EC_KEY*::meth::sign_sig
    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:37,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: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ECDSA_sign
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 0
    functionsReached:
    - ECDSA_sign_ex
    linkageType: ''
    returnType: int
    signature: int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned
      char *sig, unsigned int *siglen, EC_KEY *eckey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::sign
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:46,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: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: ECDSA_sign_ex
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 1
    functionsReached:
    - EC_KEY*::meth::sign
    - ERR_raise
    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:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:55,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: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    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:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - EC_POINT_free
    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: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    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:153,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_mult.c:154,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:157,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:161,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_mult.c:165,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:167,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:169,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:175,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:180,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: EC_POINT_BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:187,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: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_mult.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:193,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/ec/ec_mult.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:198,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:208,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_mult.c:209,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:210,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:212,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:217,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:221,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:223,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_mult.c:223,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ec_mult.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:229,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_mult.c:234,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:235,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:238,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_mult.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:240,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/ec/ec_mult.c:247,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/crypto/ec/ec_mult.c:248,1
    - Dst: bn_get_top
      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: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:260,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:348,1
    - Dst: EC_POINT_CSWAP
      Src: /src/openssl/crypto/ec/ec_mult.c:349,1
    - Dst: ec_point_ladder_step
      Src: /src/openssl/crypto/ec/ec_mult.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:353,1
    - Dst: EC_POINT_CSWAP
      Src: /src/openssl/crypto/ec/ec_mult.c:363,1
    - Dst: ec_point_ladder_post
      Src: /src/openssl/crypto/ec/ec_mult.c:367,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:368,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:375,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_mult.c:376,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_mult.c:377,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: 380
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 380
    functionName: ossl_ec_scalar_mul_ladder
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_copy
    - EC_POINT_is_at_infinity
    - BN_CTX_start
    - ERR_raise
    - BN_CTX_get
    - EC_POINT_copy
    - BN_nnmod
    - BN_consttime_swap
    - ec_point_ladder_post
    - BN_mul
    - EC_POINT_new
    - EC_POINT_set_to_infinity
    - BN_set_flags
    - EC_POINT_free
    - BN_CTX_end
    - bn_get_top
    - BN_num_bits
    - EC_POINT_BN_set_flags
    - ec_point_ladder_step
    - BN_is_negative
    - BN_add
    - EC_POINT_clear_free
    - ec_point_ladder_pre
    - BN_is_bit_set
    - EC_GROUP*::meth::make_affine
    - bn_wexpand
    - EC_POINT_CSWAP
    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: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    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: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    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:431,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:431,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec_mult.c:446,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec_mult.c:456,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_mult.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:464,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_mult.c:472,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:479,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:491,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:505,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:506,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:509,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:526,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:526,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/openssl/crypto/ec/ec_mult.c:527,1
    - Dst: bn_compute_wNAF
      Src: /src/openssl/crypto/ec/ec_mult.c:530,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:552,1
    - Dst: bn_compute_wNAF
      Src: /src/openssl/crypto/ec/ec_mult.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:595,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:596,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:611,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_mult.c:623,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:625,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_mult.c:628,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:633,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:634,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:641,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:651,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:661,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:668,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:672,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:684,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:687,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:692,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_mult.c:695,1
    - Dst: EC_GROUP*::meth::points_make_affine
      Src: /src/openssl/crypto/ec/ec_mult.c:702,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:711,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ec_mult.c:728,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:737,1
    - Dst: ossl_ec_point_blind_coordinates
      Src: /src/openssl/crypto/ec/ec_mult.c:748,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:749,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_mult.c:755,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_mult.c:764,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ec_mult.c:768,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:775,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:776,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:777,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:784,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_mult.c:788,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:790,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:792,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: 794
      start: 403
    functionDepth: 5
    functionLinenumber: 403
    functionLinenumberEnd: 794
    functionName: ossl_ec_wNAF_mul
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 1
    functionsReached:
    - BN_is_zero
    - memcpy
    - ossl_ec_scalar_mul_ladder
    - OPENSSL_malloc_array
    - OPENSSL_free
    - EC_POINT_cmp
    - ERR_raise
    - EC_POINT_copy
    - EC_POINT_new
    - EC_POINT_set_to_infinity
    - EC_POINT_free
    - OPENSSL_malloc
    - EC_GROUP*::meth::points_make_affine
    - EC_POINT_invert
    - EC_POINT_dbl
    - BN_num_bits
    - EC_window_bits_for_scalar_size
    - bn_compute_wNAF
    - EC_POINT_clear_free
    - ossl_ec_point_blind_coordinates
    - EC_GROUP_get0_generator
    - EC_POINT_add
    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:831,1
    - Dst: ec_pre_comp_new
      Src: /src/openssl/crypto/ec/ec_mult.c:832,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_mult.c:835,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:837,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec_mult.c:843,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_mult.c:848,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_mult.c:851,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:854,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:855,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:859,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/openssl/crypto/ec/ec_mult.c:868,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/openssl/crypto/ec/ec_mult.c:870,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:881,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:888,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:889,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:894,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:895,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:896,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:900,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:907,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:910,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_mult.c:917,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:928,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:932,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:935,1
    - Dst: EC_GROUP*::meth::points_make_affine
      Src: /src/openssl/crypto/ec/ec_mult.c:942,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ec_mult.c:952,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_mult.c:958,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_mult.c:960,1
    - Dst: EC_ec_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_mult.c:962,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:967,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:968,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:970,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:971,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 111
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 816
    functionDepth: 3
    functionLinenumber: 816
    functionLinenumberEnd: 973
    functionName: ossl_ec_wNAF_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - EC_ec_pre_comp_free
    - OPENSSL_malloc_array
    - BN_CTX_start
    - OPENSSL_free
    - ERR_raise
    - EC_POINT_copy
    - EC_POINT_new
    - ec_pre_comp_new
    - EC_POINT_free
    - BN_CTX_end
    - EC_GROUP*::meth::points_make_affine
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_dbl
    - EC_pre_comp_free
    - BN_num_bits
    - EC_window_bits_for_scalar_size
    - SETPRECOMP
    - EC_GROUP_get0_order
    - EC_GROUP_get0_generator
    - EC_POINT_add
    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:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 978
    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_clear_last_mark
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - ERR_GET_REASON
    - EC_GROUP*::meth::field_decode
    - BN_mod_sqrt
    - BN_mod_sub_quick
    - ERR_pop_to_mark
    - BN_CTX_start
    - ERR_peek_last_error
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_nnmod
    - ERR_raise
    - BN_kronecker
    - ERR_GET_LIB
    - BN_CTX_end
    - BN_mod_lshift1_quick
    - BN_usub
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - BN_is_odd
    - BN_mod_mul
    - ERR_set_mark
    - BN_mod_sqr
    - BN_mod_add_quick
    - EC_GROUP*::meth::field_mul
    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:195,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_oct.c:200,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_oct.c:205,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:207,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:208,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:212,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_oct.c:217,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:226,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ecp_oct.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:236,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:244,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ecp_oct.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:256,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:262,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:263,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:268,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:269,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: 271
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 271
    functionName: ossl_ec_GFp_simple_point2oct
    functionSourceFile: /src/openssl/crypto/ec/ecp_oct.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_num_bytes
    - BN_CTX_free
    - BN_CTX_new_ex
    - ERR_raise
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - BN_is_odd
    - BN_bn2bin
    - EC_POINT_get_affine_coordinates
    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:285,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:304,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ecp_oct.c:308,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:315,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_oct.c:320,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_oct.c:325,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:326,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:327,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_oct.c:331,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_oct.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:334,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:339,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_oct.c:342,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_oct.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:345,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_oct.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:350,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:359,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:366,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:367,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: 369
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 369
    functionName: ossl_ec_GFp_simple_oct2point
    functionSourceFile: /src/openssl/crypto/ec/ecp_oct.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - BN_ucmp
    - BN_num_bytes
    - BN_CTX_free
    - BN_CTX_new_ex
    - ERR_raise
    - BN_CTX_get
    - EC_POINT_set_affine_coordinates
    - BN_is_odd
    - EC_POINT_set_to_infinity
    - EC_POINT_set_compressed_coordinates
    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:58,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_backend.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: ossl_ec_encoding_name2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    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:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    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:95,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_backend.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: ec_check_group_type_name2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:104,1
    - Dst: EC_KEY_clear_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:108,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - name
    argTypes:
    - EC_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 111
    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:124,1
    - Dst: ossl_ec_set_check_group_type_from_name
      Src: /src/openssl/crypto/ec/ec_backend.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ec
    - p
    argTypes:
    - EC_KEY*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: ec_set_check_group_type_from_param
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_ptr
    - ossl_ec_set_check_group_type_from_name
    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:140,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_backend.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: ossl_ec_pt_format_name2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 156
    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:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:181,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: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:187,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: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_backend.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:194,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_backend.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:199,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: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:205,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:210,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_backend.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:215,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:220,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:225,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:230,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:235,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_backend.c:238,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_backend.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:242,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_backend.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:247,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/crypto/ec/ec_backend.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:253,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:258,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_backend.c:260,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:265,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:270,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/ec_backend.c:272,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/crypto/ec/ec_backend.c:273,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/crypto/ec/ec_backend.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:280,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: 287
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 287
    functionName: ec_group_explicit_todata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_utf8_string
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get_curve
    - ERR_raise
    - BN_CTX_get
    - OSSL_PARAM_locate_const
    - ossl_param_build_set_bn
    - EC_GROUP_get0_order
    - EC_POINT_point2buf
    - ossl_param_build_set_octet_string
    - EC_GROUP_get0_seed
    - EC_GROUP_get_seed_len
    - EC_GROUP_get0_generator
    - EC_GROUP_get_field_type
    - EC_GROUP_get_point_conversion_form
    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:299,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_backend.c:303,1
    - Dst: ossl_ec_pt_format_id2name
      Src: /src/openssl/crypto/ec/ec_backend.c:304,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:309,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_backend.c:312,1
    - Dst: ec_param_encoding_id2name
      Src: /src/openssl/crypto/ec/ec_backend.c:313,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:318,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ec/ec_backend.c:322,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_backend.c:327,1
    - Dst: ec_group_explicit_todata
      Src: /src/openssl/crypto/ec/ec_backend.c:335,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/openssl/crypto/ec/ec_backend.c:340,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:346,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: 353
      start: 289
    functionDepth: 6
    functionLinenumber: 289
    functionLinenumberEnd: 353
    functionName: ossl_ec_group_todata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_int
    - ec_group_explicit_todata
    - EC_GROUP_get_asn1_flag
    - ERR_raise
    - ec_param_encoding_id2name
    - EC_GROUP_get_point_conversion_form
    - OSSL_EC_curve_nid2name
    - ossl_ec_pt_format_id2name
    - EC_GROUP_get_curve_name
    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:362,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_backend.c:374,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ec_backend.c:378,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:382,1
    - Dst: EC_KEY_clear_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ec
    - mode
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 387
    functionName: ossl_ec_set_ecdh_cofactor_mode
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get0_cofactor
    - BN_is_one
    - EC_KEY_set_flags
    - EC_KEY_get0_group
    - EC_KEY_clear_flags
    linkageType: ''
    returnType: int
    signature: int ossl_ec_set_ecdh_cofactor_mode(EC_KEY *ec, int mode)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_backend.c:408,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:414,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:416,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ec_backend.c:416,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/ec/ec_backend.c:421,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_backend.c:423,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_backend.c:424,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_backend.c:464,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_backend.c:465,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_backend.c:468,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_backend.c:470,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_backend.c:472,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:474,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_backend.c:476,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/crypto/ec/ec_backend.c:481,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/crypto/ec/ec_backend.c:485,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_backend.c:490,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/crypto/ec/ec_backend.c:491,1
    - Dst: ossl_ec_key_simple_generate_public_key
      Src: /src/openssl/crypto/ec/ec_backend.c:493,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_backend.c:500,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_backend.c:501,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_backend.c:502,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_backend.c:503,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 54
    argCount: 3
    argNames:
    - ec
    - params
    - include_private
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 505
    functionName: ossl_ec_key_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - ossl_ec_key_get_libctx
    - OPENSSL_free
    - EC_KEY_set_public_key
    - BN_CTX_new_ex
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_string
    - EC_POINT_new
    - EC_POINT_free
    - BN_set_flags
    - BN_secure_new
    - OSSL_PARAM_get_BN
    - bn_get_top
    - BN_CTX_free
    - ossl_ec_key_simple_generate_public_key
    - EC_POINT_oct2point
    - EC_KEY_set_private_key
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    - BN_clear_free
    - bn_wexpand
    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:515,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ec_backend.c:515,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/ec/ec_backend.c:516,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_backend.c:518,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 524
    functionName: ossl_ec_group_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_get_libctx
    - ossl_ec_key_get0_propq
    - EC_KEY_set_group
    - EC_GROUP_new_from_params
    - EC_GROUP_free
    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:531,1
    - Dst: ossl_ec_pt_format_param2id
      Src: /src/openssl/crypto/ec/ec_backend.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:534,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/openssl/crypto/ec/ec_backend.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 540
    functionName: ec_key_point_format_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_pt_format_param2id
    - ERR_raise
    - EC_KEY_set_conv_form
    - OSSL_PARAM_locate_const
    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:546,1
    - Dst: ec_set_check_group_type_from_param
      Src: /src/openssl/crypto/ec/ec_backend.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 6
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: ec_key_group_check_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ec_set_check_group_type_from_param
    - OSSL_PARAM_locate_const
    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:554,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - include
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 562
    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:571,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ec/ec_backend.c:575,1
    - Dst: ossl_ec_set_ecdh_cofactor_mode
      Src: /src/openssl/crypto/ec/ec_backend.c:576,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:580,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ec/ec_backend.c:584,1
    - Dst: ec_set_include_public
      Src: /src/openssl/crypto/ec/ec_backend.c:585,1
    - Dst: ec_key_point_format_fromdata
      Src: /src/openssl/crypto/ec/ec_backend.c:588,1
    - Dst: ec_key_group_check_fromdata
      Src: /src/openssl/crypto/ec/ec_backend.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 564
    functionDepth: 7
    functionLinenumber: 564
    functionLinenumberEnd: 593
    functionName: ossl_ec_key_otherparams_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - ec_key_group_check_fromdata
    - ec_key_point_format_fromdata
    - ossl_ec_set_ecdh_cofactor_mode
    - ec_set_include_public
    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:598,1
    - Dst: EC_KEY_OpenSSL
      Src: /src/openssl/crypto/ec/ec_backend.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 602
    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:609,1
    - Dst: ossl_ec_key_new_method_int
      Src: /src/openssl/crypto/ec/ec_backend.c:613,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:619,1
    - Dst: EC_GROUP_copy
      Src: /src/openssl/crypto/ec/ec_backend.c:622,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_backend.c:635,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_backend.c:637,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_backend.c:647,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_backend.c:648,1
    - Dst: EC_KEY*::group::meth::keycopy
      Src: /src/openssl/crypto/ec/ec_backend.c:651,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/ec/ec_backend.c:665,1
    - Dst: EC_KEY*::meth::copy
      Src: /src/openssl/crypto/ec/ec_backend.c:675,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_backend.c:681,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 58
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 604
    functionDepth: 5
    functionLinenumber: 604
    functionLinenumberEnd: 683
    functionName: ossl_ec_key_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 1
    functionsReached:
    - BN_new
    - EC_KEY*::group::meth::keycopy
    - ossl_ec_key_new_method_int
    - BN_copy
    - ERR_raise
    - EC_POINT_copy
    - EC_KEY*::meth::copy
    - EC_GROUP_copy
    - EC_KEY_free
    - EC_POINT_new
    - ossl_ec_group_new_ex
    - CRYPTO_dup_ex_data
    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:697,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/openssl/crypto/ec/ec_backend.c:701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - OSSL_PARAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 709
    functionName: ossl_ec_encoding_param2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_ptr
    - ossl_ec_encoding_name2id
    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:723,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/openssl/crypto/ec/ec_backend.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - OSSL_PARAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 735
    functionName: ossl_ec_pt_format_param2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_utf8_ptr
    - ossl_ec_pt_format_name2id
    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:743,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_backend.c:746,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/crypto/ec/ec_backend.c:755,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_backend.c:758,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - palg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 738
    functionDepth: 8
    functionLinenumber: 738
    functionLinenumberEnd: 765
    functionName: ossl_x509_algor_is_sm2
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - d2i_ECPKParameters
    - X509_ALGOR_get0
    - EC_GROUP_get_curve_name
    - EC_GROUP_free
    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:775,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:776,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:777,1
    - Dst: d2i_ECParameters
      Src: /src/openssl/crypto/ec/ec_backend.c:786,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:787,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:797,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_backend.c:797,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_backend.c:800,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_backend.c:801,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:803,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:805,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_backend.c:812,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:813,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: 815
      start: 767
    functionDepth: 9
    functionLinenumber: 767
    functionLinenumberEnd: 815
    functionName: ossl_ec_key_param_from_x509_algor
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    - d2i_ECParameters
    - EC_GROUP_new_by_curve_name_ex
    - ERR_raise
    - EC_KEY_new_ex
    - OBJ_obj2nid
    - EC_KEY_set_group
    - EC_KEY_free
    - X509_ALGOR_get0
    - EC_GROUP_free
    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:825,1
    - Dst: ossl_ec_key_param_from_x509_algor
      Src: /src/openssl/crypto/ec/ec_backend.c:827,1
    - Dst: d2i_ECPrivateKey
      Src: /src/openssl/crypto/ec/ec_backend.c:832,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:833,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_backend.c:839,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: 841
      start: 817
    functionDepth: 10
    functionLinenumber: 817
    functionLinenumberEnd: 841
    functionName: ossl_ec_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - d2i_ECPrivateKey
    - ERR_raise
    - PKCS8_pkey_get0
    - 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_free
    - ossl_ec_GFp_simple_group_finish
    - BN_MONT_CTX_free
    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:
    - ossl_ec_GFp_simple_group_clear_finish
    - BN_MONT_CTX_free
    - BN_clear_free
    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_MONT_CTX_new
    - ossl_ec_GFp_simple_group_copy
    - BN_MONT_CTX_free
    - BN_clear_free
    - BN_dup
    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:
    - BN_MONT_CTX_set
    - ossl_ec_GFp_simple_group_set_curve
    - BN_MONT_CTX_new
    - BN_to_montgomery
    - BN_CTX_new_ex
    - ERR_raise
    - BN_CTX_free
    - BN_free
    - BN_MONT_CTX_free
    - BN_value_one
    - BN_new
    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_end
    - BN_mod_exp_mont
    - BN_CTX_start
    - BN_set_word
    - BN_CTX_secure_new_ex
    - BN_is_zero
    - BN_sub
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_get
    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:
    - BN_to_montgomery
    - ERR_raise
    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:
    - BN_from_montgomery
    - ERR_raise
    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_strdup
    - OPENSSL_free
    - 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_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - OPENSSL_secure_clear_free
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - OPENSSL_cleanse
    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
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:
    - s390x_x448_mul
    - S390X_CAPBIT
    - ERR_raise
    - ossl_x25519
    - ossl_x448
    - s390x_x25519_mul
    - ossl_assert
    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:
    - EC_POINT_point2buf
    - ossl_to_hex
    - OPENSSL_malloc
    - OPENSSL_free
    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_oct2point
    - EC_POINT_clear_free
    - OPENSSL_clear_free
    - strlen
    - EC_POINT_new
    - OPENSSL_hexstr2buf_ex
    - 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: 2
    functionsReached:
    - ossl_ec_curve_nid_from_params
    - EC_curve_nid2nist
    - BN_CTX_free
    - ERR_raise
    - 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_GROUP_check_named_curve
    - BN_is_zero
    - BN_CTX_new
    - ERR_raise
    - EC_GROUP_get0_order
    - EC_POINT_is_at_infinity
    - BN_CTX_free
    - EC_POINT_mul
    - EC_POINT_new
    - EC_POINT_free
    - EC_GROUP_check_discriminant
    - EC_POINT_is_on_curve
    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: 2854
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2854
    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:2872,1
    - Dst: ec_list_element::meth
      Src: /src/openssl/crypto/ec/ec_curve.c:2873,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_curve.c:2875,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2876,1
    - Dst: ec_list_element::meth
      Src: /src/openssl/crypto/ec/ec_curve.c:2886,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_curve.c:2887,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2888,1
    - Dst: EC_GROUP*::meth::group_full_init
      Src: /src/openssl/crypto/ec/ec_curve.c:2892,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2893,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/crypto/ec/ec_curve.c:2896,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_curve.c:2897,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:2904,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:2905,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:2906,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2907,1
    - Dst: EC_GROUP*::meth::group_set_curve
      Src: /src/openssl/crypto/ec/ec_curve.c:2912,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2913,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/crypto/ec/ec_curve.c:2917,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2918,1
    - Dst: if
      Src: /src/openssl/crypto/ec/ec_curve.c:2926,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/crypto/ec/ec_curve.c:2926,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2927,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/crypto/ec/ec_curve.c:2933,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_curve.c:2935,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2936,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:2940,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:2941,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2942,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_curve.c:2945,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2946,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:2949,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ec_curve.c:2950,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2951,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/crypto/ec/ec_curve.c:2954,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2955,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_curve.c:2959,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2960,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_curve.c:2966,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_curve.c:2979,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:2982,1
    - Dst: OBJ_length
      Src: /src/openssl/crypto/ec/ec_curve.c:2985,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_curve.c:2986,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_curve.c:2988,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3004,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3007,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3008,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3009,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3010,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3011,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3012,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3013,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3014,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: 3016
      start: 2856
    functionDepth: 5
    functionLinenumber: 2856
    functionLinenumberEnd: 3016
    functionName: ec_group_new_from_data
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_set_word
    - EC_GROUP*::meth::group_set_curve
    - EC_GROUP_new_curve_GFp
    - EC_GROUP_set_asn1_flag
    - OBJ_nid2obj
    - ERR_raise
    - BN_CTX_new_ex
    - ASN1_OBJECT_free
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - ossl_ec_group_new_ex
    - EC_GROUP_new_curve_GF2m
    - if
    - EC_GROUP_get_asn1_flag
    - EC_GROUP_set_curve_name
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - OBJ_length
    - EC_GROUP_free
    - EC_GROUP_set_seed
    - EC_GROUP*::meth::group_full_init
    - BN_free
    - ec_list_element::meth
    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:3024,1
    - Dst: ec_group_new_from_data
      Src: /src/openssl/crypto/ec/ec_curve.c:3025,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ec/ec_curve.c:3027,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/ec_curve.c:3028,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - libctx
    - propq
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3018
    functionDepth: 6
    functionLinenumber: 3018
    functionLinenumberEnd: 3036
    functionName: EC_GROUP_new_by_curve_name_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 2
    functionsReached:
    - ec_group_new_from_data
    - OBJ_nid2sn
    - ec_curve_nid2curve
    - ERR_raise_data
    - ERR_raise
    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:3041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3039
    functionDepth: 7
    functionLinenumber: 3039
    functionLinenumberEnd: 3042
    functionName: EC_GROUP_new_by_curve_name
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 1
    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: 3060
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3060
    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:3064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3062
    functionDepth: 1
    functionLinenumber: 3062
    functionLinenumberEnd: 3065
    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:3069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3067
    functionDepth: 1
    functionLinenumber: 3067
    functionLinenumberEnd: 3070
    functionName: EC_curve_nist2nid
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 0
    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:3094,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_curve.c:3095,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/crypto/ec/ec_curve.c:3096,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/ec_curve.c:3097,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_curve.c:3098,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_curve.c:3100,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_curve.c:3108,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_curve.c:3109,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_curve.c:3114,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_curve.c:3120,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_curve.c:3128,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_curve.c:3129,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_curve.c:3131,1
    - Dst: EC_GROUP_get_order
      Src: /src/openssl/crypto/ec/ec_curve.c:3133,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_curve.c:3142,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_curve.c:3159,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/ec/ec_curve.c:3160,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ec/ec_curve.c:3164,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ec/ec_curve.c:3166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3175,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_curve.c:3176,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 44
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3081
    functionDepth: 5
    functionLinenumber: 3081
    functionLinenumberEnd: 3178
    functionName: ossl_ec_curve_nid_from_params
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 1
    functionsReached:
    - EC_GROUP_get_order
    - BN_is_zero
    - EC_GROUP_get_curve
    - EC_GROUP_get0_seed
    - BN_is_word
    - EC_POINT_get_affine_coordinates
    - EC_GROUP_get_field_type
    - OPENSSL_malloc_array
    - BN_CTX_start
    - OPENSSL_free
    - BN_CTX_get
    - EC_GROUP_get_seed_len
    - BN_CTX_end
    - BN_bn2binpad
    - EC_GROUP_get_curve_name
    - EC_GROUP_get0_cofactor
    - BN_num_bytes
    - EC_GROUP_get0_generator
    - memcmp
    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:84,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:84,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:85,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:85,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:85,1
    - Dst: felem_one
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:87,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:87,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:89,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:89,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:90,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:90,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:90,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:90,1
    - Dst: felem_assign
      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: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:99,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:99,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:99,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:107,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:107,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:107,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:107,1
    - Dst: felem_assign
      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_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:111,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:111,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:116,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:116,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:116,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:116,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:121,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:121,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:121,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:122,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: Z
      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: Y
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: Y
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: felem_contract
      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: felem_one
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:133,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:133,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:133,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: 136
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 136
    functionName: ossl_ec_GFp_nistp_points_make_affine_internal
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 3
    functionsReached:
    - felem_assign
    - felem_square
    - Z
    - felem_contract
    - felem_one
    - felem_is_zero
    - tmp_felem
    - Y
    - X
    - felem_inv
    - felem_mul
    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
      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: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: X
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 38
    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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Y
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 83
    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: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    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: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    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:
    - OPENSSL_memdup
    - OBJ_nid2obj
    - OPENSSL_free
    - ERR_raise
    - X509_PUBKEY_set0_param
    - 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:
    - X509_PUBKEY_get0_param
    - EVP_PKEY_assign
    - 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:
    - CRYPTO_memcmp
    - KEYLEN
    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:
    - ossl_ecx_key_from_pkcs8
    - EVP_PKEY_assign
    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:
    - OBJ_nid2obj
    - OPENSSL_clear_free
    - ERR_raise
    - i2d_ASN1_OCTET_STRING
    - PKCS8_pkey_set0
    - 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:
    - ISX448
    - IS25519
    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:188,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:192,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:195,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ecx_meth.c:198,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:198,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: 203
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: ecx_key_print
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - KEYLEN
    - BIO_printf
    - ASN1_buf_print
    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:208,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: 209
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 209
    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:214,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: 215
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 215
    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:222,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:226,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ec/ecx_meth.c:235,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:235,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:237,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: 244
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 244
    functionName: ecx_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - KEYLEN
    - OPENSSL_memdup
    - EVP_PKEY_assign
    - 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: 246
    functionDepth: 0
    functionLinenumber: 246
    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
    - ossl_ecx_key_op
    - EVP_KEYMGMT_get0_provider
    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
    - ossl_ecx_key_op
    - EVP_KEYMGMT_get0_provider
    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_BLD_free
    - importer
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_push_octet_string
    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:
    - ossl_ecx_key_free
    - EVP_PKEY_CTX_get0_pkey
    - KEYNID2TYPE
    - ERR_raise
    - OSSL_PARAM_locate_const
    - EVP_PKEY_assign
    - ossl_ecx_key_new
    - ossl_ecx_key_fromdata
    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
    - EVP_PKEY_assign
    - ossl_ecx_key_dup
    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
    - EVP_DigestVerifyInit
    - ERR_raise
    - X509_ALGOR_get0
    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:
    - OBJ_nid2obj
    - X509_ALGOR_set0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_64
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    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:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    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: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: is_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 14
    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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    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: 166
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 166
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:183,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:190,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:191,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:192,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:193,1
    - Dst: ecp_sm2p256_mul_by_3
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:194,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:195,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:196,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:197,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:198,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:199,1
    - Dst: ecp_sm2p256_div_by_2
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:200,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:201,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:202,1
    - Dst: ecp_sm2p256_sub
      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_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:205,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:206,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - R
    - P
    argTypes:
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 208
    functionName: ecp_sm2p256_point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_zeros
    - ecp_sm2p256_mul_by_3
    - ecp_sm2p256_add
    - memcpy
    - ecp_sm2p256_sqr
    - ecp_sm2p256_div_by_2
    - ecp_sm2p256_mul
    - 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:221,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:232,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:233,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:234,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:235,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:236,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:237,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:240,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:241,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:250,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:259,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:260,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:261,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:262,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:263,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:264,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:265,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:266,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:267,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:268,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:269,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:270,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: 271
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 271
    functionName: ecp_sm2p256_point_add_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_zeros
    - ecp_sm2p256_point_double
    - ecp_sm2p256_add
    - ecp_sm2p256_sqr
    - ecp_sm2p256_mul
    - ecp_sm2p256_sub
    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:283,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:291,1
    - Dst: is_point_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:299,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:300,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:305,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:306,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:307,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:308,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:309,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:310,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:311,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:312,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:313,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:314,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:315,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:316,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:317,1
    - Dst: ecp_sm2p256_mul
      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_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:320,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:321,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:322,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:323,1
    - Dst: ecp_sm2p256_sub
      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
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - R
    - P
    - Q
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 328
    functionName: ecp_sm2p256_point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_zeros
    - ecp_sm2p256_point_double
    - ecp_sm2p256_sqr
    - ecp_sm2p256_mul
    - ecp_sm2p256_sub
    - is_point_equal
    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:337,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:339,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:345,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:346,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:356,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:357,1
    - Dst: ecp_sm2p256_point_add_affine
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - R
    - k
    argTypes:
    - P256_POINT*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 361
    functionName: ecp_sm2p256_point_G_mul_by_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_zeros
    - ecp_sm2p256_point_add_affine
    - memcpy
    - memset
    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:374,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:376,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:380,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:381,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:388,1
    - Dst: ecp_sm2p256_point_add_affine
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:392,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:399,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:403,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:404,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:405,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:406,1
    - Dst: ecp_sm2p256_point_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:408,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: 411
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 411
    functionName: ecp_sm2p256_point_P_mul_by_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_zeros
    - ecp_sm2p256_point_double
    - ecp_sm2p256_point_add
    - ecp_sm2p256_point_add_affine
    - memset
    - memcpy
    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:420,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:421,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:422,1
    - Dst: ecp_sm2p256_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:426,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:427,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:428,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:429,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - R
    - P
    argTypes:
    - P256_POINT_AFFINE*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: ecp_sm2p256_point_get_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_one
    - ecp_sm2p256_mod_inverse
    - ecp_sm2p256_sqr
    - memcpy
    - ecp_sm2p256_mul
    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:436,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:437,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:438,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:438,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:439,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - generator
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: ecp_sm2p256_is_affine_G
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - bn_get_words
    - is_equal
    - bn_get_top
    linkageType: ''
    returnType: int
    signature: int ecp_sm2p256_is_affine_G(const EC_POINT *generator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:461,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:462,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:463,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:467,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:470,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:473,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:473,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:476,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:478,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:479,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:487,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:488,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:489,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:490,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:491,1
    - Dst: ecp_sm2p256_point_get_affine
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:495,1
    - Dst: ecp_sm2p256_point_P_mul_by_scalar
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:496,1
    - Dst: ecp_sm2p256_point_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:502,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: 504
      start: 445
    functionDepth: 5
    functionLinenumber: 445
    functionLinenumberEnd: 504
    functionName: ecp_sm2p256_windowed_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ecp_sm2p256_point_add
    - OPENSSL_MALLOC_MAX_NELEMS
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - BN_nnmod
    - ECerr
    - ecp_sm2p256_point_get_affine
    - memset
    - ecp_sm2p256_bignum_field_elem
    - ecp_sm2p256_point_P_mul_by_scalar
    - BN_num_bits
    - OPENSSL_malloc_array
    - BN_is_negative
    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: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    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:522,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:523,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:527,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:530,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:532,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:536,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:537,1
    - Dst: ecp_sm2p256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:541,1
    - Dst: ecp_sm2p256_point_G_mul_by_scalar
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:542,1
    - Dst: ecp_sm2p256_windowed_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:553,1
    - Dst: ecp_sm2p256_windowed_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:568,1
    - Dst: ecp_sm2p256_point_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:572,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:576,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:577,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:578,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:580,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:580,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:584,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: 586
      start: 507
    functionDepth: 6
    functionLinenumber: 507
    functionLinenumberEnd: 586
    functionName: ecp_sm2p256_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - is_equal
    - ecp_sm2p256_point_add
    - OPENSSL_MALLOC_MAX_NELEMS
    - ECerr
    - bn_get_words
    - ecp_sm2p256_point_G_mul_by_scalar
    - ecp_sm2p256_bignum_field_elem
    - EC_GROUP_get0_generator
    - ecp_sm2p256_windowed_mul
    - ecp_sm2p256_is_affine_G
    - bn_set_words
    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: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    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:598,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:599,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:600,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:604,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:606,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: 610
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 610
    functionName: ecp_sm2p256_field_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ECerr
    - ecp_sm2p256_mul
    - ecp_sm2p256_bignum_field_elem
    - 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:621,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:622,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:626,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:628,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: 632
      start: 612
    functionDepth: 5
    functionLinenumber: 612
    functionLinenumberEnd: 632
    functionName: ecp_sm2p256_field_sqr
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ECerr
    - ecp_sm2p256_bignum_field_elem
    - bn_set_words
    - ecp_sm2p256_sqr
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_field_sqr(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: 694
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 694
    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: 1
    functionsReached:
    - OPENSSL_cleanse
    - s390x_pcc
    - s390x_flip_endian32
    - memset
    - s390x_x25519_mod_p
    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: 1
    functionsReached:
    - s390x_flip_endian64
    - s390x_x448_mod_p
    - OPENSSL_cleanse
    - s390x_pcc
    - memset
    - memcpy
    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: 0
    functionsReached:
    - s390x_flip_endian32
    - s390x_pcc
    - memset
    - OPENSSL_cleanse
    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: 0
    functionsReached:
    - s390x_flip_endian64
    - OPENSSL_cleanse
    - s390x_pcc
    - memset
    - memcpy
    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
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    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 uint8_t in[66])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t[]
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: felem_to_bin66
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void felem_to_bin66(uint8_t out[66], const felem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:178,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:183,1
    - Dst: bin66_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 9
    functionsReached:
    - BN_bn2lebinpad
    - bin66_to_felem
    - ERR_raise
    - BN_is_negative
    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:194,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 196
    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: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    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: 227
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 227
    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: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    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: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    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: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    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: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    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: 307
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 307
    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: 333
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 333
    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: 364
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 364
    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: 390
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 390
    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:402,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 458
    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:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - largefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 508
    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: 592
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 592
    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: 622
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 622
    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:626,1
    - Dst: felem_square_p
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: felem_square_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - felem_select
    - felem_square_p
    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:632,1
    - Dst: felem_mul_p
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - largefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: felem_mul_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - felem_select
    - felem_mul_p
    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:646,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: felem_square_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - felem_reduce
    - felem_square
    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:653,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: felem_mul_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - felem_reduce
    - felem_mul
    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:671,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:672,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:673,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:674,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:675,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:676,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:677,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:678,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:679,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:680,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:681,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:683,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:684,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:685,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:686,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:687,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:688,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:690,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:691,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:692,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:693,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:694,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:695,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:696,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:697,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:698,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:699,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:700,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:701,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:702,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:703,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:704,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:705,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:708,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:709,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:711,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:712,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:713,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:716,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:717,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:719,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:720,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:721,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:724,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:725,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:727,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:728,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:729,1
    - 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
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:735,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:736,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:737,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:740,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:741,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:743,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:744,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:745,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:748,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:749,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:751,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:752,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:755,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:756,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:758,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:759,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:760,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 762
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 5
    functionsReached:
    - felem_reduce
    - felem_assign
    - felem_square
    - felem_mul
    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:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 1
    argNames:
    - in
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 843
    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:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 848
    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:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 97
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 982
    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:1007,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1008,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1011,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1012,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1015,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1016,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1019,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1020,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1023,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1025,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1027,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1029,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1037,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1040,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1044,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1045,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1047,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1049,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1052,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1054,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1055,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1057,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1061,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1063,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1066,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1068,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1070,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1077,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1082,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1088,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1095,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: 1096
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1096
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 14
    functionsReached:
    - felem_diff128
    - felem_scalar64
    - felem_square
    - felem_assign
    - felem_scalar128
    - felem_reduce
    - felem_diff_128_64
    - felem_diff64
    - felem_mul
    - 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: 1106
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1106
    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:1129,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1130,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1133,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1134,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1138,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1139,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1142,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1143,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1146,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1147,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1151,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1153,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1155,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1157,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1160,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1161,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1164,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1165,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1172,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1175,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1178,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1182,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1186,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1188,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1190,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1193,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1194,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1197,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1198,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1201,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1205,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1207,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1208,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1209,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1246,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1251,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1252,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1254,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1256,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1259,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1260,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1263,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1264,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1267,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1269,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1271,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1272,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1274,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1276,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1279,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1283,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1285,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1287,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1289,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1295,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1297,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1298,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1299,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1300,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1301,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1302,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1303,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1304,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1305,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: 1306
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1306
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 11
    functionsReached:
    - felem_diff128
    - copy_conditional
    - felem_scalar64
    - felem_assign
    - felem_square
    - felem_scalar128
    - felem_reduce
    - felem_diff_128_64
    - felem_diff64
    - felem_is_zero
    - felem_scalar
    - felem_mul
    - point_double
    - felem_sum64
    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:1465,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: 1478
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1478
    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: 1486
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1486
    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:1508,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1520,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1524,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1526,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1527,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1528,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1531,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1534,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1537,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1546,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1547,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1548,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1549,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1550,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1551,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1552,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1557,1
    - Dst: felem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1558,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1560,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1563,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1567,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1573,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1574,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1575,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
    - uint8_t*
    - int
    - felem[][][]
    - felem[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1576
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - copy_conditional
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_add
    - select_point
    - felem_assign
    - felem_neg
    - get_bit
    - memset
    - memcpy
    - point_double
    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 uint8_t *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: 1646
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1646
    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:1655,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1665
    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:1671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP521_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1673
    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:1682,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1683,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1686,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1688,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP521_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1690
    functionName: EC_nistp521_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1697
    functionDepth: 4
    functionLinenumber: 1697
    functionLinenumberEnd: 1703
    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:1715,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1720,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1721,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1722,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1723,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1726,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1727,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1728,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1729,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1729,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1730,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1734,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1736,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1738,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: 1741
      start: 1705
    functionDepth: 6
    functionLinenumber: 1705
    functionLinenumberEnd: 1741
    functionName: ossl_ec_GFp_nistp521_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - BN_CTX_new
    - ERR_raise
    - BN_CTX_get
    - BN_CTX_free
    - BN_cmp
    - 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:1755,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1756,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1759,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1759,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1759,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1761,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1762,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1763,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1764,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1765,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1766,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1768,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1769,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1773,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1774,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1775,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1776,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1777,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1779,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1780,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: 1785
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1785
    functionName: ossl_ec_GFp_nistp521_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_contract
    - ERR_raise
    - EC_POINT_is_at_infinity
    - felem_to_BN
    - felem_inv
    - felem_mul
    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:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1788
    functionDepth: 2
    functionLinenumber: 1788
    functionLinenumberEnd: 1815
    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:1832,1
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1840,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1845,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1846,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1847,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1848,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1849,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1861,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1865,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1865,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1865,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1866,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1869,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1873,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1892,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1893,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1895,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1910,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1919,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1920,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1926,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1929,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1932,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1936,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1940,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1940,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1940,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1942,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1943,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1944,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1947,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1954,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1963,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1968,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1970,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1970,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1975,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1976,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1979,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1981,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1984,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1991,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1996,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1997,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1998,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1999,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1999,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1999,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2000,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2003,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2007,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2008,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2010,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2011,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: 2013
      start: 1821
    functionDepth: 5
    functionLinenumber: 1821
    functionLinenumberEnd: 2013
    functionName: ossl_ec_GFp_nistp521_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - make_points_affine
    - felem_to_BN
    - batch_mul
    - memcpy
    - OPENSSL_malloc_array
    - BN_CTX_start
    - OPENSSL_free
    - EC_POINT_cmp
    - felem_contract
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_calloc
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_add
    - memset
    - BN_num_bits
    - point_double
    - BN_is_negative
    - BN_to_felem
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - felem
    - EC_GROUP_get0_generator
    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:2028,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2032,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2037,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2038,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2039,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2045,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2048,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2049,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2050,1
    - Dst: nistp521_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2052,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2057,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2058,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2061,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2061,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2061,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2065,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2069,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2078,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2081,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2087,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2093,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2099,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2106,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2113,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2116,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2120,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2121,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2123,1
    - Dst: EC_nistp521_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2125,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2015
    functionDepth: 5
    functionLinenumber: 2015
    functionLinenumberEnd: 2127
    functionName: ossl_ec_GFp_nistp521_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - make_points_affine
    - memcpy
    - BN_CTX_start
    - EC_POINT_cmp
    - BN_CTX_get
    - nistp521_pre_comp_new
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - point_add
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - memset
    - EC_pre_comp_free
    - point_double
    - EC_nistp521_pre_comp_free
    - BN_to_felem
    - SETPRECOMP
    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:2131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2129
    functionDepth: 1
    functionLinenumber: 2129
    functionLinenumberEnd: 2132
    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: 0
    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: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    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: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    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: 181
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 181
    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: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    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:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 208
    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:213,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:215,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 233
    functionName: is_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 15
    functionsReached:
    - bn_get_words
    - bn_get_top
    - 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:269,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:271,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:273,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:275,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:276,1
    - Dst: ecp_nistz256_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:278,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:279,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:281,1
    - Dst: ecp_nistz256_div_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:282,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:284,1
    - Dst: ecp_nistz256_mul_by_3
      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_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:288,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:290,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:292,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:293,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:295,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 297
    functionName: ecp_nistz256_point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_sub
    - ecp_nistz256_mul_mont
    - ecp_nistz256_div_by_2
    - ecp_nistz256_mul_by_2
    - ecp_nistz256_mul_by_3
    - ecp_nistz256_add
    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:337,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:338,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:340,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:341,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:343,1
    - Dst: ecp_nistz256_mul_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_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:348,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:350,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:351,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:352,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:388,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:388,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:394,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:398,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:399,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:400,1
    - Dst: ecp_nistz256_mul_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_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:404,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:405,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:407,1
    - Dst: ecp_nistz256_sub
      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_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:412,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:413,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:414,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:416,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:417,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:418,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:422,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:424,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:425,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:426,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: 427
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 427
    functionName: ecp_nistz256_point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - copy_conditional
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_sub
    - is_equal
    - ecp_nistz256_mul_mont
    - ecp_nistz256_point_double
    - ecp_nistz256_mul_by_2
    - memcpy
    - is_zero
    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:469,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:470,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:472,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:474,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:475,1
    - Dst: ecp_nistz256_mul_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_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:481,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:482,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:484,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:485,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:486,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:488,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:489,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:491,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:492,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:493,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:495,1
    - Dst: ecp_nistz256_mul_mont
      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: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:499,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:500,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:502,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:503,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:506,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:508,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:509,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:510,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: 511
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 511
    functionName: ecp_nistz256_point_add_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - copy_conditional
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_sub
    - ecp_nistz256_mul_mont
    - ecp_nistz256_mul_by_2
    - memcpy
    - is_zero
    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:530,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:531,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:533,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:534,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:535,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:537,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_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:540,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:541,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: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:559,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:560,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:563,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:564,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:567,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:568,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:571,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:572,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:574,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:575,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:576,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:577,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:578,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_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:582,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:584,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:585,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:586,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - r
    - in
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 589
    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:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BN_ULONG[]
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    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:617,1
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:621,1
    - Dst: OPENSSL_aligned_alloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:622,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:625,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:626,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:635,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:635,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:638,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:641,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:648,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:649,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:666,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:667,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:669,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:679,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:680,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:681,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:682,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_double
      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_add
      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_add
      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_double
      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_double
      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_add
      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_add
      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_double
      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_gather_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:721,1
    - Dst: _booth_recode_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:721,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:722,1
    - Dst: _booth_recode_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:731,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:733,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:735,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:736,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:738,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:743,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:744,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:745,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:746,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:747,1
    - Dst: _booth_recode_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:755,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:757,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:759,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:760,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:762,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:767,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:768,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:769,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 109
    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: 771
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 771
    functionName: ecp_nistz256_windowed_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_gather_w5
    - OPENSSL_MALLOC_MAX_NELEMS
    - P256_POINT
    - memcpy
    - OPENSSL_malloc_array
    - copy_conditional
    - OPENSSL_free
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - ecp_nistz256_point_add
    - bn_get_top
    - _booth_recode_w5
    - ecp_nistz256_point_double
    - bn_get_words
    - BN_num_bits
    - ecp_nistz256_bignum_to_field_elem
    - ecp_nistz256_neg
    - BN_is_negative
    - OPENSSL_aligned_alloc_array
    - ecp_nistz256_scatter_w5
    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:790,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:790,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:790,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:790,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:790,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:790,1
    - Dst: is_one
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - generator
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 791
    functionName: ecp_nistz256_is_affine_G
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - is_one
    - bn_get_words
    - is_equal
    - bn_get_top
    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:813,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:814,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:816,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:820,1
    - Dst: ecp_nistz256_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:828,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:832,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:837,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:839,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:843,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:844,1
    - Dst: OPENSSL_aligned_alloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:850,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:855,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:856,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:864,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:868,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:877,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:879,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:879,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:880,1
    - Dst: ecp_nistz256_scatter_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:883,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:885,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:889,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:898,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:903,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:904,1
    - Dst: EC_nistz256_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:906,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:907,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:908,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:909,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 911
    functionName: ecp_nistz256_mult_precompute
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_pre_comp_new
    - BN_is_zero
    - ecp_nistz256_is_affine_G
    - BN_CTX_start
    - OPENSSL_free
    - ERR_raise
    - BN_CTX_new_ex
    - EC_POINT_copy
    - EC_nistz256_pre_comp_free
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - ecp_nistz256_scatter_w7
    - BN_CTX_free
    - EC_POINT_dbl
    - EC_pre_comp_free
    - ecp_nistz256_bignum_to_field_elem
    - SETPRECOMP
    - EC_GROUP_get0_order
    - OPENSSL_aligned_alloc_array
    - EC_GROUP*::meth::make_affine
    - EC_GROUP_get0_generator
    - EC_POINT_add
    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:919,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:920,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:921,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: 925
      start: 913
    functionDepth: 5
    functionLinenumber: 913
    functionLinenumberEnd: 925
    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:952,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:953,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:957,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:958,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:961,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:963,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:975,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:979,1
    - Dst: ecp_nistz256_set_from_affine
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:980,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:982,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:986,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:989,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:992,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1005,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1006,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1007,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1010,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1011,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1017,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1018,1
    - Dst: _booth_recode_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1040,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1042,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1045,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1046,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1057,1
    - Dst: _booth_recode_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1077,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1079,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1082,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1083,1
    - Dst: ecp_nistz256_point_add_affine
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1085,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1099,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1103,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1107,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1109,1
    - Dst: ecp_nistz256_windowed_mul
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1122,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1126,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1130,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1130,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1130,1
    - Dst: is_one
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1133,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1140,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: 1142
      start: 928
    functionDepth: 6
    functionLinenumber: 928
    functionLinenumberEnd: 1142
    functionName: ecp_nistz256_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - _booth_recode_w7
    - is_one
    - OPENSSL_MALLOC_MAX_NELEMS
    - ecp_nistz256_windowed_mul
    - memcpy
    - OPENSSL_malloc_array
    - ecp_nistz256_is_affine_G
    - is_zero
    - bn_set_words
    - copy_conditional
    - BN_CTX_start
    - OPENSSL_free
    - EC_POINT_cmp
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - ecp_nistz256_point_add
    - EC_POINT_new
    - EC_POINT_free
    - ecp_nistz256_point_add_affine
    - BN_CTX_end
    - bn_get_top
    - ecp_nistz256_gather_w7
    - bn_get_words
    - memset
    - BN_num_bits
    - ecp_nistz256_neg
    - BN_is_negative
    - ecp_nistz256_set_from_affine
    - EC_GROUP_get0_generator
    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: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    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:1155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1156,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1160,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1160,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1161,1
    - Dst: ecp_nistz256_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1165,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1166,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1167,1
    - Dst: ecp_nistz256_from_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1170,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1171,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1176,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1177,1
    - Dst: ecp_nistz256_from_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1178,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1179,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: 1184
      start: 1144
    functionDepth: 5
    functionLinenumber: 1144
    functionLinenumberEnd: 1184
    functionName: ecp_nistz256_get_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_from_mont
    - ERR_raise
    - EC_POINT_is_at_infinity
    - ecp_nistz256_mul_mont
    - ecp_nistz256_mod_inverse
    - ecp_nistz256_bignum_to_field_elem
    - bn_set_words
    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:1193,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1206
    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:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTZ256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1214
    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:1223,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1224,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1229,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pre
    argTypes:
    - NISTZ256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1232
    functionName: EC_nistz256_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 1
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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:1237,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1239,1
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1245
    functionName: ecp_nistz256_window_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - HAVEPRECOMP
    - ecp_nistz256_is_affine_G
    - EC_GROUP_get0_generator
    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:1263,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1263,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1264,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1264,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1268,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1268,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1268,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1268,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1298,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1302,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1302,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1305,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1307,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1314,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1318,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1324,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1325,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:1335,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1336,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1338,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1339,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1341,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1342,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1344,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1345,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1358,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1360,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1372,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1374,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1376,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1378,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_sqr_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:1385,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1387,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1389,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1391,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1393,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1394,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1396,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1397,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1399,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1400,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1403,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1404,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1421,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1422,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1425,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1430,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: 1436
      start: 1258
    functionDepth: 5
    functionLinenumber: 1258
    functionLinenumberEnd: 1436
    functionName: ecp_nistz256_inv_mod_ord
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_CTX_get
    - BN_nnmod
    - ecp_nistz256_ord_sqr_mont
    - bn_set_words
    - BN_num_bits
    - TOBN
    - bn_wexpand
    - ecp_nistz256_bignum_to_field_elem
    - BN_is_negative
    - ecp_nistz256_ord_mul_mont
    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:1455,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1456,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1461,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1466,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1467,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1469,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1477,1
    - Dst: ossl_bn_mont_ctx_set
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1481,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1487,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1490,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1490,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1491,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1499,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1500,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1504,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1505,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1509,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1511,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1515,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1518,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1519,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1520,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1527,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1529,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1532,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1534,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1536,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1539,1
    - Dst: ossl_bn_mont_ctx_set
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1542,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1552,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1553,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1554,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1555,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1556,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1557,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1558,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1559,1
    - Dst: BN_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
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 102
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1441
    functionDepth: 6
    functionLinenumber: 1441
    functionLinenumberEnd: 1565
    functionName: ecp_nistz256group_full_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_set_word
    - BN_to_montgomery
    - BN_copy
    - ERR_raise
    - BN_CTX_new_ex
    - EC_POINT_copy
    - BN_MONT_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - BN_new
    - EC_GROUP_set_seed
    - ossl_bn_mont_ctx_set
    - BN_MONT_CTX_new
    - BN_free
    - BN_value_one
    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: 1628
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1628
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    - EC_METHOD*::group_init
    - ERR_raise
    - BN_free
    - BN_new
    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_nistp521_pre_comp_free
    - EC_nistp256_pre_comp_free
    - EC_nistp224_pre_comp_free
    - EC_ec_pre_comp_free
    - ossl_ec_nistp384_pre_comp_free
    - EC_nistz256_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: 11
    functionsReached:
    - OPENSSL_free
    - EC_GROUP*::meth::group_finish
    - BN_free
    - BN_MONT_CTX_free
    - EC_pre_comp_free
    - EC_POINT_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_GROUP*::meth::group_clear_finish
    - EC_POINT_clear_free
    - OPENSSL_clear_free
    - EC_GROUP*::meth::group_finish
    - BN_MONT_CTX_free
    - EC_pre_comp_free
    - BN_clear_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_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:178,1
    - Dst: EC_nistz256_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:188,1
    - Dst: EC_nistp224_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:193,1
    - Dst: EC_nistp256_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:196,1
    - Dst: ossl_ec_nistp384_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:199,1
    - Dst: EC_nistp521_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:202,1
    - Dst: EC_ec_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:212,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ec_lib.c:218,1
    - Dst: BN_MONT_CTX_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:222,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:226,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:232,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:236,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:240,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:245,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:256,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_lib.c:257,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_lib.c:259,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:263,1
    - Dst: EC_GROUP*::meth::group_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:268,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 269
    functionName: EC_GROUP_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - BN_copy
    - EC_nistp224_pre_comp_dup
    - memcpy
    - ossl_ec_nistp384_pre_comp_dup
    - OPENSSL_free
    - ERR_raise
    - EC_POINT_copy
    - BN_MONT_CTX_free
    - EC_POINT_new
    - OPENSSL_malloc
    - EC_GROUP*::meth::group_copy
    - EC_nistp256_pre_comp_dup
    - EC_pre_comp_free
    - EC_nistz256_pre_comp_dup
    - EC_POINT_clear_free
    - EC_ec_pre_comp_dup
    - BN_MONT_CTX_copy
    - BN_MONT_CTX_new
    - EC_nistp521_pre_comp_dup
    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:279,1
    - Dst: EC_GROUP_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:281,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 292
    functionName: EC_GROUP_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ossl_ec_group_new_ex
    - EC_GROUP_copy
    - EC_GROUP_free
    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: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    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:331,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:331,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:333,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:338,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:341,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:342,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:347,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_lib.c:348,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:348,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:351,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/ec/ec_lib.c:356,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_lib.c:357,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_lib.c:359,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec_lib.c:359,1
    - Dst: BN_div
      Src: /src/openssl/crypto/ec/ec_lib.c:361,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:365,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:366,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 368
    functionName: ec_guess_cofactor
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_bit
    - BN_zero
    - BN_rshift1
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_div
    - BN_CTX_free
    - BN_num_bits
    - BN_value_one
    - BN_add
    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:374,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:379,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:381,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:390,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:390,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:391,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:391,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:392,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:402,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:407,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:411,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:414,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:418,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:419,1
    - Dst: ec_guess_cofactor
      Src: /src/openssl/crypto/ec/ec_lib.c:421,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:422,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec_lib.c:431,1
    - Dst: ec_precompute_mont_data
      Src: /src/openssl/crypto/ec/ec_lib.c:432,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:435,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: 438
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 438
    functionName: EC_GROUP_set_generator
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ec_precompute_mont_data
    - BN_is_zero
    - BN_zero
    - BN_copy
    - ERR_raise
    - ec_guess_cofactor
    - EC_POINT_copy
    - BN_is_odd
    - BN_MONT_CTX_free
    - BN_num_bits
    - EC_POINT_new
    - BN_is_negative
    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: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    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: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    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:454,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - group
    - order
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 458
    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: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: EC_GROUP_get0_order
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 18
    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:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::group_order_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: EC_GROUP_security_bits
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::group_order_bits
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_security_bits(const EC_GROUP *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:502,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - group
    - cofactor
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 506
    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: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    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: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    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: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    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: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    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: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    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: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: EC_GROUP_set_asn1_flag
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 4
    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: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    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: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    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: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    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:560,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_lib.c:567,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_lib.c:569,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: 573
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 573
    functionName: EC_GROUP_set_seed
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    - OPENSSL_free
    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: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    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: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    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:589,1
    - Dst: EC_GROUP*::meth::group_set_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:592,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: 593
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: EC_GROUP_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - EC_GROUP*::meth::group_set_curve
    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:599,1
    - Dst: EC_GROUP*::meth::group_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:602,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: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    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:609,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: 610
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 610
    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:615,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: 616
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 616
    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:622,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: 623
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 623
    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:628,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: 629
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 629
    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:636,1
    - Dst: EC_GROUP*::meth::group_get_degree
      Src: /src/openssl/crypto/ec/ec_lib.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: EC_GROUP_get_degree
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached:
    - EC_GROUP*::meth::group_get_degree
    - ERR_raise
    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:645,1
    - Dst: EC_GROUP*::meth::group_check_discriminant
      Src: /src/openssl/crypto/ec/ec_lib.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 649
    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:660,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_lib.c:660,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:663,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:663,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:663,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:663,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec_lib.c:670,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:675,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:676,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:677,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:678,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:679,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:680,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:681,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:683,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:685,1
    - Dst: EC_GROUP*::meth::group_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:694,1
    - Dst: EC_GROUP*::meth::group_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:694,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:698,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:698,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:698,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:703,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:703,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:703,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_lib.c:709,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_lib.c:710,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:716,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_lib.c:725,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_lib.c:726,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:728,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:728,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:728,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:733,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:735,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: 738
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 738
    functionName: EC_GROUP_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP_get0_cofactor
    - BN_is_zero
    - EC_POINT_cmp
    - BN_CTX_new
    - BN_CTX_free
    - BN_CTX_get
    - EC_GROUP_get0_order
    - BN_cmp
    - EC_GROUP*::meth::group_get_curve
    - 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:747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:751,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_lib.c:755,1
    - Dst: EC_POINT*::meth::point_init
      Src: /src/openssl/crypto/ec/ec_lib.c:762,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 768
    functionName: EC_POINT_new
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 37
    functionsReached:
    - OPENSSL_zalloc
    - EC_POINT*::meth::point_init
    - ERR_raise
    - OPENSSL_free
    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:776,1
    - Dst: EC_POINT*::meth::point_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:779,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 782
    functionName: EC_POINT_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 33
    functionsReached:
    - EC_POINT_clear_free
    - EC_POINT*::meth::point_finish
    - OPENSSL_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:790,1
    - Dst: EC_POINT*::meth::point_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:792,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 794
    functionName: EC_POINT_clear_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 8
    functionsReached:
    - OPENSSL_clear_free
    - EC_POINT*::meth::point_clear_finish
    - EC_POINT*::meth::point_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:799,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:806,1
    - Dst: EC_POINT*::meth::point_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 812
    functionName: EC_POINT_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 12
    functionsReached:
    - ERR_raise
    - EC_POINT*::meth::point_copy
    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:822,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:825,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_lib.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - group
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 831
    functionName: EC_POINT_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_POINT_new
    - EC_POINT_free
    - 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: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    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:843,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:847,1
    - Dst: EC_GROUP*::meth::point_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 851
    functionName: EC_POINT_set_to_infinity
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 8
    functionsReached:
    - EC_GROUP*::meth::point_set_to_infinity
    - ERR_raise
    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:860,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:863,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:864,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ec_lib.c:867,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: 869
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 869
    functionName: EC_POINT_set_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - ec_point_is_compat
    - ERR_raise
    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:877,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:880,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:881,1
    - Dst: ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ec_lib.c:884,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: 886
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: EC_POINT_get_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
    - ec_point_is_compat
    - ERR_raise
    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:894,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:897,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:898,1
    - Dst: EC_GROUP*::meth::point_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:901,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:904,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:905,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: 909
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: EC_POINT_set_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 14
    functionsReached:
    - EC_GROUP*::meth::point_set_affine_coordinates
    - ec_point_is_compat
    - 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:916,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: 917
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 917
    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:924,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: 925
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 925
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:937,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:940,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:941,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:944,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:945,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:950,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:951,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ec_lib.c:954,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ec_lib.c:955,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:957,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:958,1
    - Dst: EC_GROUP*::meth::point_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:962,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:964,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 966
    functionName: EC_POINT_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 16
    functionsReached:
    - EC_GROUP*::meth::point_get_affine_coordinates
    - ec_point_is_compat
    - BN_copy
    - EC_GROUP*::meth::field_decode
    - ERR_raise
    - EC_POINT_is_at_infinity
    - BN_CTX_new_ex
    - BN_CTX_free
    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:973,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: 974
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 974
    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:981,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: 982
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 982
    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:990,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:993,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:993,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:994,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:995,1
    - Dst: EC_GROUP*::meth::add
      Src: /src/openssl/crypto/ec/ec_lib.c:998,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: 999
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 999
    functionName: EC_POINT_add
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 4
    functionsReached:
    - EC_GROUP*::meth::add
    - ec_point_is_compat
    - 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:1005,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1008,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1008,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1009,1
    - Dst: EC_GROUP*::meth::dbl
      Src: /src/openssl/crypto/ec/ec_lib.c:1012,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: 1013
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1013
    functionName: EC_POINT_dbl
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_GROUP*::meth::dbl
    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:1018,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1021,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1022,1
    - Dst: EC_GROUP*::meth::invert
      Src: /src/openssl/crypto/ec/ec_lib.c:1025,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: 1026
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1026
    functionName: EC_POINT_invert
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_GROUP*::meth::invert
    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:1031,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1034,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1035,1
    - Dst: EC_GROUP*::meth::is_at_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1039
    functionName: EC_POINT_is_at_infinity
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 21
    functionsReached:
    - EC_GROUP*::meth::is_at_infinity
    - ec_point_is_compat
    - ERR_raise
    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:1052,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::is_on_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:1059,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: 1060
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1060
    functionName: EC_POINT_is_on_curve
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 3
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_GROUP*::meth::is_on_curve
    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:1066,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1069,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1069,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1070,1
    - Dst: EC_GROUP*::meth::point_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:1073,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: 1074
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1074
    functionName: EC_POINT_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 13
    functionsReached:
    - EC_GROUP*::meth::point_cmp
    - ec_point_is_compat
    - ERR_raise
    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:1080,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1083,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1084,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ec_lib.c:1087,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: 1088
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1088
    functionName: EC_POINT_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::make_affine
    - ec_point_is_compat
    - 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:1096,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1101,1
    - Dst: EC_GROUP*::meth::points_make_affine
      Src: /src/openssl/crypto/ec/ec_lib.c:1105,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: 1106
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1106
    functionName: EC_POINTs_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::points_make_affine
    - ec_point_is_compat
    - ERR_raise
    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:1126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1127,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:1132,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1136,1
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1146,1
    - Dst: EC_GROUP*::meth::mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1151,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1154,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1157,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: 1160
      start: 1116
    functionDepth: 6
    functionLinenumber: 1116
    functionLinenumberEnd: 1160
    functionName: EC_POINTs_mul
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_secure_new
    - ec_point_is_compat
    - BN_CTX_free
    - ERR_raise
    - EC_GROUP*::meth::mul
    - EC_POINT_set_to_infinity
    - ossl_ec_wNAF_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:1172,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1174,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:1179,1
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1186,1
    - Dst: EC_GROUP*::meth::mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1192,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1195,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1198,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: 1201
      start: 1163
    functionDepth: 6
    functionLinenumber: 1163
    functionLinenumberEnd: 1201
    functionName: EC_POINT_mul
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 12
    functionsReached:
    - BN_CTX_secure_new
    - ec_point_is_compat
    - BN_CTX_free
    - ERR_raise
    - EC_GROUP*::meth::mul
    - EC_POINT_set_to_infinity
    - ossl_ec_wNAF_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:1208,1
    - Dst: EC_GROUP*::meth::precompute_mult
      Src: /src/openssl/crypto/ec/ec_lib.c:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1214
    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:1220,1
    - Dst: EC_GROUP*::meth::have_precompute_mult
      Src: /src/openssl/crypto/ec/ec_lib.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1227
    functionName: EC_GROUP_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::have_precompute_mult
    - ossl_ec_wNAF_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:1236,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1239,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1245,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ec/ec_lib.c:1249,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1250,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1234
    functionDepth: 7
    functionLinenumber: 1234
    functionLinenumberEnd: 1261
    functionName: ec_precompute_mont_data
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_MONT_CTX_free
    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:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - arg
    argTypes:
    - EC_KEY*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1267
    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:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1272
    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:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    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:1296,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:1301,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1302,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ec_lib.c:1309,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ec/ec_lib.c:1311,1
    - Dst: bn_mod_exp_mont_fixed_top
      Src: /src/openssl/crypto/ec/ec_lib.c:1317,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:1323,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1325,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: 1328
      start: 1282
    functionDepth: 6
    functionLinenumber: 1282
    functionLinenumberEnd: 1328
    functionName: ec_field_inverse_mod_ord
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_word
    - BN_CTX_secure_new
    - bn_mod_exp_mont_fixed_top
    - BN_sub
    - BN_CTX_free
    - BN_CTX_get
    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:1347,1
    - Dst: ec_field_inverse_mod_ord
      Src: /src/openssl/crypto/ec/ec_lib.c:1349,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: 1350
      start: 1343
    functionDepth: 7
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    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:1368,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: 1369
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1369
    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:1375,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_lib.c:1381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1392
    functionName: EC_GROUP_get_basis_type
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - EC_GROUP_get_field_type
    - OSSL_NELEM
    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:1400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - group
    - k
    argTypes:
    - EC_GROUP*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1411
    functionName: EC_GROUP_get_trinomial_basis
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_GROUP_get_field_type
    - ERR_raise
    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:1419,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1423,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: 1435
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1435
    functionName: EC_GROUP_get_pentanomial_basis
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_GROUP_get_field_type
    - ERR_raise
    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:1458,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_lib.c:1459,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1460,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:1462,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1463,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:1464,1
    - Dst: ossl_ec_curve_nid_from_params
      Src: /src/openssl/crypto/ec/ec_lib.c:1466,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1486,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_lib.c:1494,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1506,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1512,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1515,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1516,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: 1518
      start: 1450
    functionDepth: 7
    functionLinenumber: 1450
    functionLinenumberEnd: 1518
    functionName: ec_group_explicit_to_named
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_free
    - EC_GROUP_new_by_curve_name_ex
    - ossl_ec_curve_nid_from_params
    - EC_GROUP_set_seed
    - EC_GROUP_get0_order
    - EC_GROUP_get0_seed
    - EC_GROUP_get0_generator
    - EC_GROUP_set_generator
    - EC_GROUP_dup
    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:1534,1
    - Dst: ossl_ec_curve_name2nid
      Src: /src/openssl/crypto/ec/ec_lib.c:1539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1541,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1544,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: 1548
      start: 1521
    functionDepth: 7
    functionLinenumber: 1521
    functionLinenumberEnd: 1548
    functionName: group_new_from_name
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_ptr
    - ossl_ec_curve_name2nid
    - ERR_raise
    - EC_GROUP_new_by_curve_name_ex
    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:1556,1
    - Dst: ossl_ec_pt_format_param2id
      Src: /src/openssl/crypto/ec/ec_lib.c:1558,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1559,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_lib.c:1562,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1565,1
    - Dst: ossl_ec_encoding_param2id
      Src: /src/openssl/crypto/ec/ec_lib.c:1567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1568,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_lib.c:1571,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1574,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1578,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1579,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1551
    functionDepth: 5
    functionLinenumber: 1551
    functionLinenumberEnd: 1584
    functionName: ossl_ec_group_set_params
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_set_seed
    - ossl_ec_encoding_param2id
    - ERR_raise
    - OSSL_PARAM_locate_const
    - EC_GROUP_set_point_conversion_form
    - ossl_ec_pt_format_param2id
    linkageType: ''
    returnType: int
    signature: int ossl_ec_group_set_params(EC_GROUP *group, const OSSL_PARAM params[])
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1608,1
    - Dst: group_new_from_name
      Src: /src/openssl/crypto/ec/ec_lib.c:1612,1
    - Dst: ossl_ec_group_set_params
      Src: /src/openssl/crypto/ec/ec_lib.c:1614,1
    - Dst: EC_GROUP_free
      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_int
      Src: /src/openssl/crypto/ec/ec_lib.c:1621,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1622,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1630,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1634,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1636,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:1639,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1641,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1642,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1643,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1646,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1650,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1652,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_lib.c:1655,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_lib.c:1657,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1663,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1667,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1668,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1669,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1672,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1673,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1674,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1679,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1680,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1681,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:1686,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:1686,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1687,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:1690,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1692,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/crypto/ec/ec_lib.c:1697,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1700,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/crypto/ec/ec_lib.c:1704,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_lib.c:1706,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1708,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1716,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1721,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1724,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1727,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1732,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1736,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1740,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_lib.c:1742,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_lib.c:1744,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1745,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1750,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1751,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:1752,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:1752,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:1753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1754,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1759,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1761,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1762,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1763,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:1769,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1770,1
    - Dst: ec_group_explicit_to_named
      Src: /src/openssl/crypto/ec/ec_lib.c:1774,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1776,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:1781,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1782,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1790,1
    - Dst: ossl_ec_encoding_param2id
      Src: /src/openssl/crypto/ec/ec_lib.c:1792,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1793,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1797,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_lib.c:1800,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1803,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1811,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1814,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:1815,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1816,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 188
    argCount: 3
    argNames:
    - params
    - libctx
    - propq
    argTypes:
    - OSSL_PARAM[]
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1586
    functionDepth: 8
    functionLinenumber: 1586
    functionLinenumberEnd: 1820
    functionName: EC_GROUP_new_from_params
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ossl_ec_group_set_params
    - OSSL_PARAM_get_int
    - BN_is_zero
    - ossl_ec_encoding_param2id
    - ec_group_explicit_to_named
    - EC_GROUP_new_curve_GFp
    - EC_GROUP_set_asn1_flag
    - BN_CTX_start
    - EC_GROUP_get_degree
    - OSSL_PARAM_locate_const
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - group_new_from_name
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - EC_GROUP_new_curve_GF2m
    - BN_CTX_end
    - OSSL_PARAM_get_BN
    - EC_GROUP_check_named_curve
    - BN_CTX_free
    - EC_GROUP_set_point_conversion_form
    - BN_num_bits
    - OPENSSL_strcasecmp
    - BN_is_negative
    - EC_GROUP_free
    - EC_POINT_oct2point
    - EC_GROUP_set_seed
    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:1833,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1838,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:1841,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/crypto/ec/ec_lib.c:1843,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/ec/ec_lib.c:1847,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1850,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1851,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:1852,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1853,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: 1855
      start: 1822
    functionDepth: 7
    functionLinenumber: 1822
    functionLinenumberEnd: 1855
    functionName: EC_GROUP_to_params
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_CTX_end
    - BN_CTX_start
    - ossl_ec_group_todata
    - OPENSSL_free
    - BN_CTX_free
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    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: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    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: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    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: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    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: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    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:
    - EC_KEY*::group::meth::ecdh_compute_key
    - ERR_raise
    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:
    - EC_POINT_get_affine_coordinates
    - BN_CTX_start
    - OPENSSL_free
    - EC_GROUP_get_degree
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_KEY_get0_private_key
    - BN_bn2bin
    - EC_POINT_new
    - BN_mul
    - OPENSSL_malloc
    - BN_CTX_end
    - BN_CTX_free
    - EC_KEY_get_flags
    - memset
    - BN_clear
    - EC_POINT_clear_free
    - BN_num_bytes
    - EC_KEY_get0_group
    - EC_GROUP_get_cofactor
    - EC_POINT_mul
    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:
    - OBJ_nid2obj
    - ASN1_STRING_free
    - EC_GROUP_get_asn1_flag
    - ERR_raise
    - EC_KEY_get0_group
    - OBJ_length
    - i2d_ECParameters
    - ASN1_STRING_new
    - 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:
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_free
    - i2o_ECPublicKey
    - ERR_raise
    - eckey_param2type
    - X509_PUBKEY_set0_param
    - 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:
    - X509_PUBKEY_get0_param
    - ERR_raise
    - 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_POINT_cmp
    - EC_KEY_get0_public_key
    - 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:
    - EVP_PKEY_assign_EC_KEY
    - ossl_ec_key_from_pkcs8
    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:
    - EC_KEY_set_enc_flags
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_clear_free
    - EC_KEY_get_enc_flags
    - ERR_raise
    - PKCS8_pkey_set0
    - eckey_param2type
    - i2d_ECPrivateKey
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:217,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: ec_security_bits
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_security_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:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    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:229,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:229,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_ameth.c:234,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:238,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:240,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: ec_copy_parameters
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_dup
    - EC_KEY_get0_group
    - EC_KEY_set_group
    - EC_KEY_new
    - EC_GROUP_free
    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:249,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:250,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/crypto/ec/ec_ameth.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: ec_cmp_parameters
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_cmp
    - EC_KEY_get0_group
    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:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 263
    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:279,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:280,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:284,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:285,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/crypto/ec/ec_ameth.c:285,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:290,1
    - Dst: EC_KEY_priv2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:291,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/ec_ameth.c:303,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ec_ameth.c:305,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ec_ameth.c:311,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ec_ameth.c:318,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:320,1
    - Dst: ECPKParameters_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:329,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:331,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: 333
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 333
    functionName: do_EC_KEY_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - BIO_printf
    - ECPKParameters_print
    - EC_KEY_get_conv_form
    - ASN1_buf_print
    - OPENSSL_free
    - OPENSSL_clear_free
    - ERR_raise
    - EC_KEY_get0_group
    - EC_KEY_get0_private_key
    - EC_KEY_key2buf
    - BIO_indent
    - EC_GROUP_order_bits
    - EC_KEY_priv2buf
    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:340,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 9
    functionLinenumber: 335
    functionLinenumberEnd: 344
    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:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 10
    functionLinenumber: 346
    functionLinenumberEnd: 349
    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:354,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: 355
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 355
    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:360,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: 361
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 361
    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:366,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: 367
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 367
    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:374,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 369
    functionDepth: 8
    functionLinenumber: 369
    functionLinenumberEnd: 378
    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:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 9
    functionLinenumber: 380
    functionLinenumberEnd: 383
    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:389,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ec/ec_ameth.c:399,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/ec/ec_ameth.c:399,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/crypto/ec/ec_ameth.c:401,1
    - Dst: evp_pkey_get0_EC_KEY_int
      Src: /src/openssl/crypto/ec/ec_ameth.c:401,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:404,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:404,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: 410
      start: 385
    functionDepth: 9
    functionLinenumber: 385
    functionLinenumberEnd: 410
    functionName: ec_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - EC_KEY_oct2key
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_key2buf
    - evp_pkey_is_legacy
    - ossl_assert
    - evp_pkey_get0_EC_KEY_int
    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:418,1
    - Dst: EC_KEY_check_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 423
    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:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 439
    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:447,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/crypto/ec/ec_ameth.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 452
    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: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    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:477,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/ec/ec_ameth.c:480,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_ameth.c:488,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_ameth.c:491,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/crypto/ec/ec_ameth.c:494,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:498,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:499,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/crypto/ec/ec_ameth.c:503,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:505,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/ec/ec_ameth.c:509,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:555,1
    - Dst: OSSL_PARAM_BLD_push_BN_pad
      Src: /src/openssl/crypto/ec/ec_ameth.c:560,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/crypto/ec/ec_ameth.c:571,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/crypto/ec/ec_ameth.c:574,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/ec/ec_ameth.c:581,1
    - Dst: importer
      Src: /src/openssl/crypto/ec/ec_ameth.c:584,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:587,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:588,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:590,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_ameth.c:591,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:592,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: 594
      start: 459
    functionDepth: 7
    functionLinenumber: 459
    functionLinenumberEnd: 594
    functionName: ec_pkey_export_to
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_push_int
    - BN_CTX_start
    - ossl_ec_group_todata
    - OPENSSL_free
    - BN_CTX_new_ex
    - EC_KEY_get0_private_key
    - OSSL_PARAM_BLD_new
    - EC_GROUP_order_bits
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - OSSL_PARAM_free
    - BN_CTX_free
    - EC_KEY_get_flags
    - EC_KEY_get_conv_form
    - importer
    - EC_KEY_get0_group
    - EC_POINT_point2buf
    - OSSL_PARAM_BLD_push_BN_pad
    - OSSL_PARAM_BLD_push_octet_string
    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:599,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/crypto/ec/ec_ameth.c:600,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:603,1
    - Dst: ossl_ec_group_fromdata
      Src: /src/openssl/crypto/ec/ec_ameth.c:607,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/openssl/crypto/ec/ec_ameth.c:608,1
    - Dst: ossl_ec_key_fromdata
      Src: /src/openssl/crypto/ec/ec_ameth.c:609,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:610,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 596
    functionDepth: 8
    functionLinenumber: 596
    functionLinenumberEnd: 615
    functionName: ec_pkey_import_from
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get0_pkey
    - ERR_raise
    - ossl_ec_key_otherparams_fromdata
    - EC_KEY_new_ex
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_free
    - ossl_ec_key_fromdata
    - ossl_ec_group_fromdata
    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:624,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/ec/ec_ameth.c:629,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:632,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 636
    functionName: ec_pkey_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_dup
    - EVP_PKEY_set_type
    - EC_KEY_free
    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:699,1
    - Dst: do_EC_KEY_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 697
    functionDepth: 5
    functionLinenumber: 697
    functionLinenumberEnd: 703
    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:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 5
    functionLinenumber: 705
    functionLinenumberEnd: 708
    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_new
    - BN_free
    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:91,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:93,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: ossl_ec_GF2m_simple_group_copy
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - bn_wexpand
    - bn_set_all_zero
    - BN_copy
    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:106,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:110,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:115,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec2_smpl.c:117,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:120,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:123,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec2_smpl.c:125,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:128,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: 133
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: ossl_ec_GF2m_simple_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_arr
    - bn_set_all_zero
    - BN_copy
    - ERR_raise
    - bn_wexpand
    - BN_GF2m_poly2arr
    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:145,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:150,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:155,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: 163
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 163
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:189,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:194,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:195,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:199,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:206,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:212,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: ossl_ec_GF2m_simple_group_check_discriminant
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_arr
    - BN_is_zero
    - BN_CTX_new
    - ERR_raise
    - BN_CTX_get
    - 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:222,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:223,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:224,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:227,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:228,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: ossl_ec_GF2m_simple_point_init
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_new
    - BN_free
    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:238,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:239,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 241
    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:246,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:247,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 250
    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:258,1
    - 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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 268
    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:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 280
    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:294,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:298,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:300,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:301,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:303,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:304,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:304,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:306,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: 312
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 312
    functionName: ossl_ec_GF2m_simple_point_set_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_set_negative
    - BN_copy
    - ERR_raise
    - BN_value_one
    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:325,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:326,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:330,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:331,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:335,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:337,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:340,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:342,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: 348
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: ossl_ec_GF2m_simple_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_set_negative
    - BN_copy
    - ERR_raise
    - EC_POINT_is_at_infinity
    - BN_cmp
    - BN_value_one
    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:363,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:364,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:369,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:370,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:377,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:383,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:384,1
    - Dst: BN_CTX_get
      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_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:396,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:398,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:401,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:405,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:407,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:410,1
    - Dst: BN_GF2m_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:414,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:415,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:417,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_smpl.c:419,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:421,1
    - Dst: BN_GF2m_add
      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_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:430,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:430,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:431,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_smpl.c:436,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:438,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:441,1
    - Dst: BN_GF2m_add
      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:449,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:451,1
    - Dst: BN_GF2m_add
      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: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:458,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:464,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:466,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: 469
      start: 354
    functionDepth: 5
    functionLinenumber: 354
    functionLinenumberEnd: 469
    functionName: ossl_ec_GF2m_simple_add
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP*::meth::field_mul
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - EC_POINT_set_to_infinity
    - BN_CTX_new
    - BN_copy
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - EC_POINT_copy
    - EC_POINT_set_affine_coordinates
    - BN_CTX_free
    - EC_GROUP*::meth::field_div
    - EC_POINT_get_affine_coordinates
    - BN_GF2m_cmp
    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:478,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: 479
      start: 475
    functionDepth: 6
    functionLinenumber: 475
    functionLinenumberEnd: 479
    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:484,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:484,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ec2_smpl.c:489,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:491,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: 492
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 492
    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
    - EC_POINT_is_at_infinity
    - BN_is_zero
    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:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 499
    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:518,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:530,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:536,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:537,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:538,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:548,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:550,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:552,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:554,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:556,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:558,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:560,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:562,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:565,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:567,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: 570
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 570
    functionName: ossl_ec_GF2m_simple_is_on_curve
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - BN_CTX_new
    - field_sqr
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_CTX_free
    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:588,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:589,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:592,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:596,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:596,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:601,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:607,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:608,1
    - Dst: BN_CTX_get
      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: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:615,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:617,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:619,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:619,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:622,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:624,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: 627
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 627
    functionName: ossl_ec_GF2m_simple_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_new
    - BN_CTX_free
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - BN_cmp
    - EC_POINT_get_affine_coordinates
    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:639,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:644,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:650,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:651,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:652,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:656,1
    - Dst: BN_copy
      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_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:662,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:669,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:671,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: 674
      start: 630
    functionDepth: 3
    functionLinenumber: 630
    functionLinenumberEnd: 674
    functionName: ossl_ec_GF2m_simple_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_new
    - BN_copy
    - BN_CTX_get
    - EC_POINT_is_at_infinity
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - BN_one
    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:685,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: 690
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 690
    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:696,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: 697
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 697
    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:703,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: 704
      start: 700
    functionDepth: 6
    functionLinenumber: 700
    functionLinenumberEnd: 704
    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:710,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: 711
      start: 707
    functionDepth: 9
    functionLinenumber: 707
    functionLinenumberEnd: 711
    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:729,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_smpl.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:731,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:734,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ec2_smpl.c:738,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:739,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/ec/ec2_smpl.c:744,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_smpl.c:744,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:746,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:749,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ec2_smpl.c:752,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:753,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:754,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:755,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:756,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:757,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: 764
      start: 719
    functionDepth: 7
    functionLinenumber: 719
    functionLinenumberEnd: 764
    functionName: ec_GF2m_simple_ladder_pre
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - EC_GROUP*::meth::field_mul
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - EC_GROUP*::meth::field_encode
    - ERR_raise
    - BN_num_bits
    - BN_priv_rand_ex
    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:775,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:776,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:777,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:778,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:779,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:780,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:781,1
    - Dst: EC_GROUP*::meth::field_mul
      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_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:786,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:787,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:788,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: 792
      start: 771
    functionDepth: 5
    functionLinenumber: 771
    functionLinenumberEnd: 792
    functionName: ec_GF2m_simple_ladder_step
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::field_sqr
    - EC_GROUP*::meth::field_mul
    - 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:807,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:808,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:810,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:811,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ec2_smpl.c:812,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:813,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:819,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:820,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:821,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:822,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:824,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:828,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:829,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:830,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:831,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:832,1
    - Dst: BN_GF2m_add
      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: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:835,1
    - Dst: BN_GF2m_add
      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_inv
      Src: /src/openssl/crypto/ec/ec2_smpl.c:840,1
    - Dst: EC_GROUP*::meth::field_mul
      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: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:845,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:846,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:852,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:853,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:858,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: 860
      start: 800
    functionDepth: 5
    functionLinenumber: 800
    functionLinenumberEnd: 860
    functionName: ec_GF2m_simple_ladder_post
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP*::meth::field_mul
    - BN_is_zero
    - EC_POINT_invert
    - EC_GROUP*::meth::field_sqr
    - BN_set_negative
    - ERR_raise
    - BN_CTX_get
    - EC_POINT_copy
    - EC_GROUP*::meth::field_inv
    - EC_POINT_set_to_infinity
    - BN_one
    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:885,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:885,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:886,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:890,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:894,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:901,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:902,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:906,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:907,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:908,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:914,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: 916
      start: 862
    functionDepth: 6
    functionLinenumber: 862
    functionLinenumberEnd: 916
    functionName: ec_GF2m_simple_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - ERR_raise
    - EC_POINT_new
    - ossl_ec_scalar_mul_ladder
    - EC_POINT_add
    - EC_POINT_free
    - ossl_ec_wNAF_mul
    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:928,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:929,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: 931
      start: 923
    functionDepth: 8
    functionLinenumber: 923
    functionLinenumberEnd: 931
    functionName: ec_GF2m_simple_field_inv
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_mod_inv
    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: 995
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 995
    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: 2
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_KDF_fetch
    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: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: value_barrier_c448
    functionSourceFile: /src/openssl/crypto/ec/curve448/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: value_barrier_c448(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: value_barrier_c448
    functionSourceFile: /src/openssl/crypto/ec/curve448/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: value_barrier_c448(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - c448_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    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:
    - LIMB_PLACE_VALUE
    - LIMBPERM
    - assert
    - gf_strong_reduce
    - gf_copy
    - gf_hibit
    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_add
    - gf_strong_reduce
    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:87,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:87,1
    - Dst: LIMB_PLACE_VALUE
      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: LIMBPERM
      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: gf_hibit
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:92,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:93,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:93,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: 94
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 94
    functionName: gf_deserialize
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - LIMB_PLACE_VALUE
    - word_is_zero
    - LIMBPERM
    - LIMB_MASK
    - gf_hibit
    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:105,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:112,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:112,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:113,1
    - Dst: LIMB_MASK
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:113,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:113,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:114,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:114,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:122,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:128,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:128,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:129,1
    - Dst: LIMB_MASK
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:129,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:129,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:130,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:130,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    assertStmts:
    - condition: (scarry == 0 || scarry == -1)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/openssl/crypto/ec/curve448/f_generic.c
    - condition: (carry < 2 && ((word_t)carry + scarry_0) == 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/openssl/crypto/ec/curve448/f_generic.c
    constantsTouched: []
    func_position:
      end: 134
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 134
    functionName: gf_strong_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 3
    functionsReached:
    - LIMB_PLACE_VALUE
    - LIMB_MASK
    - LIMBPERM
    - assert
    - gf_weak_reduce
    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:139,1
    - Dst: gf_bias
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:140,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - d
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: gf_sub
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - gf_sub_RAW
    - gf_bias
    - gf_weak_reduce
    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:147,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - d
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    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:158,1
    - Dst: gf_strong_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:159,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:162,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: gf_eq
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - LIMBPERM
    - gf_sub
    - 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:171,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:172,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:173,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:174,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:175,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:176,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:177,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:178,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:179,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:180,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:181,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:182,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:183,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:184,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:185,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:186,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:187,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:188,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:189,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:190,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:191,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:192,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:193,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:194,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:195,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:196,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:197,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - a
    - x
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: gf_isr
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - gf_sqrn
    - gf_eq
    - ossl_gf_mul
    - gf_copy
    - ossl_gf_sqr
    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_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    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_free
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    - EVP_MD_fetch
    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_decode_long
    - ossl_curve448_scalar_halve
    - ossl_curve448_scalar_destroy
    - ossl_curve448_precomputed_scalarmul
    - ossl_curve448_point_destroy
    - ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    - oneshot_hash
    - OPENSSL_cleanse
    - clamp
    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_decode_long
    - ossl_curve448_scalar_halve
    - ossl_curve448_scalar_destroy
    - hash_init_with_dom
    - ossl_curve448_scalar_mul
    - ossl_curve448_scalar_add
    - ossl_curve448_precomputed_scalarmul
    - ossl_curve448_point_destroy
    - EVP_MD_CTX_free
    - memcpy
    - EVP_DigestUpdate
    - ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    - oneshot_hash
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - OPENSSL_cleanse
    - clamp
    - ossl_curve448_scalar_encode
    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:324,1
    - Dst: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:329,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:335,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:339,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:341,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:342,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:343,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:344,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:345,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:349,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:350,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:352,1
    - Dst: ossl_curve448_scalar_sub
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:354,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:357,1
    - Dst: ossl_curve448_base_double_scalarmul_non_secret
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:362,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:365,1
    - Dst: ossl_curve448_point_eq
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:365,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: 366
      start: 286
    functionDepth: 8
    functionLinenumber: 286
    functionLinenumberEnd: 366
    functionName: ossl_c448_ed448_verify
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_scalar_decode_long
    - hash_init_with_dom
    - ossl_curve448_base_double_scalarmul_non_secret
    - OPENSSL_cleanse
    - c448_succeed_if
    - ossl_curve448_scalar_sub
    - ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_curve448_point_eq
    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:376,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: 378
      start: 368
    functionDepth: 9
    functionLinenumber: 368
    functionLinenumberEnd: 378
    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:386,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: 390
      start: 380
    functionDepth: 12
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: ossl_ed448_sign
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    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:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub
    - pub_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 400
    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:408,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: 412
      start: 402
    functionDepth: 9
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: ossl_ed448_verify
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    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:417,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: 420
      start: 414
    functionDepth: 12
    functionLinenumber: 414
    functionLinenumberEnd: 420
    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: 59
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 59
    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:95,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: 96
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 96
    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:101,1
    - Dst: sc_montmul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:102,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: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    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:108,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: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    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:122,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: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    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: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    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:147,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:152,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/scalar.c:154,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/scalar.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - ser
    argTypes:
    - curve448_scalar_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: ossl_curve448_scalar_decode
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_scalar_mul
    - c448_succeed_if
    - scalar_decode_short
    - word_is_zero
    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:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    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:169,1
    - Dst: scalar_decode_short
      Src: /src/openssl/crypto/ec/curve448/scalar.c:177,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/scalar.c:180,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:182,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:183,1
    - Dst: sc_montmul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:189,1
    - Dst: ossl_curve448_scalar_decode
      Src: /src/openssl/crypto/ec/curve448/scalar.c:190,1
    - Dst: ossl_curve448_scalar_add
      Src: /src/openssl/crypto/ec/curve448/scalar.c:191,1
    - Dst: curve448_scalar_copy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:194,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:195,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:196,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: 179
        line_start: 179
        source_file: /src/openssl/crypto/ec/curve448/scalar.c
    constantsTouched: []
    func_position:
      end: 197
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 197
    functionName: ossl_curve448_scalar_decode_long
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 3
    functionsReached:
    - ossl_curve448_scalar_destroy
    - ossl_curve448_scalar_add
    - ossl_curve448_scalar_decode
    - curve448_scalar_copy
    - assert
    - scalar_decode_short
    - ossl_curve448_scalar_mul
    - sc_montmul
    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: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    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:
    - Dst: value_barrier_c448
      Src: /src/openssl/crypto/ec/curve448/scalar.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: ossl_curve448_scalar_halve
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 2
    functionsReached:
    - value_barrier_c448
    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:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: LIMB
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: FIELD_LITERAL
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: LIMB_PLACE_VALUE
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: gf_add_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: gf_sub_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 1
    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: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: gf_bias
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 1
    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: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: gf_weak_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_weak_reduce(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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 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: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: FIELD_LITERAL
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: LIMB_PLACE_VALUE
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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/field.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: gf_add_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.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/field.h:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: gf_sub_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 1
    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: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: gf_bias
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 1
    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: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: gf_weak_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_weak_reduce(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: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    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:198,1
    - Dst: gf_bias
      Src: /src/openssl/crypto/ec/curve448/field.h:199,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/field.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: gf_sub_nr
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_sub_RAW
    - gf_bias
    - gf_weak_reduce
    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:207,1
    - Dst: gf_bias
      Src: /src/openssl/crypto/ec/curve448/field.h:208,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/field.h:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - c
    - a
    - b
    - amt
    argTypes:
    - gf
    - gf
    - gf
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: gf_subx_nr
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_sub_RAW
    - gf_bias
    - gf_weak_reduce
    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:217,1
    - Dst: ossl_gf_mulw_unsigned
      Src: /src/openssl/crypto/ec/curve448/field.h:219,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/field.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - a
    - w
    argTypes:
    - gf
    - gf
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: gf_mulw
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - ossl_gf_mulw_unsigned
    - gf_sub
    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:231,1
    - Dst: constant_time_select_64
      Src: /src/openssl/crypto/ec/curve448/field.h:235,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: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: gf_cond_sel
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - constant_time_select_64
    - constant_time_select_32
    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:246,1
    - Dst: gf_cond_sel
      Src: /src/openssl/crypto/ec/curve448/field.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - neg
    argTypes:
    - gf
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: gf_cond_neg
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_cond_sel
    - gf_sub
    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:257,1
    - Dst: constant_time_cond_swap_64
      Src: /src/openssl/crypto/ec/curve448/field.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - RESTRICT
    - swap
    argTypes:
    - gf
    - gf_s*
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    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:43,1
    - Dst: gf_isr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:44,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:47,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:48,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:49,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - y
    - x
    - assert_nonzero
    argTypes:
    - gf
    - gf
    - int
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: gf_invert
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - ossl_gf_mul
    - assert
    - gf_copy
    - ossl_gf_sqr
    - gf_isr
    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:63,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:64,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:65,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:66,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:67,1
    - Dst: gf_subx_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:68,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:69,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:70,1
    - Dst: gf_add_nr
      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_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/curve448.c:74,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:75,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:76,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:77,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:79,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: 80
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: point_double_internal
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - ossl_gf_mul
    - gf_add_nr
    - ossl_gf_sqr
    - gf_subx_nr
    - 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:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - curve448_point_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 85
    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:90,1
    - Dst: gf_cond_neg
      Src: /src/openssl/crypto/ec/curve448/curve448.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - neg
    argTypes:
    - niels_t
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 92
    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:96,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:97,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:98,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - a
    argTypes:
    - pniels_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: pt_to_pniels
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add
    - gf_mulw
    - gf_sub
    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:106,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:107,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:108,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:109,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:110,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - e
    - d
    argTypes:
    - curve448_point_t
    - pniels_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: pniels_to_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add
    - ossl_gf_sqr
    - gf_sub
    - ossl_gf_mul
    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:116,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:117,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:118,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - e
    - n
    argTypes:
    - curve448_point_t
    - niels_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: niels_to_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add
    - gf_copy
    - gf_sub
    - ossl_gf_mul
    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:127,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:128,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:129,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:130,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:131,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:132,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:133,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:134,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:135,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:136,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:137,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:138,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:140,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: 141
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 141
    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:148,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:149,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:150,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:151,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:152,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:153,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:154,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:155,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:156,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:157,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:158,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:159,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:161,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: 162
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 162
    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:169,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:170,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:171,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: 172
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 172
    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:179,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:180,1
    - Dst: sub_niels_from_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:181,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: 182
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 182
    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:192,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:193,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:194,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - curve448_point_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: ossl_curve448_point_eq
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 1
    functionsReached:
    - gf_eq
    - ossl_gf_mul
    - mask_to_bool
    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:205,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:206,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:207,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:208,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:209,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:210,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:211,1
    - Dst: gf_mulw
      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_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:214,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:215,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:216,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: ossl_curve448_point_valid
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_eq
    - gf_mulw
    - ossl_gf_mul
    - ossl_gf_sqr
    - gf_add
    - gf_sub
    - mask_to_bool
    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:236,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/curve448.c:237,1
    - Dst: point_double_internal
      Src: /src/openssl/crypto/ec/curve448/curve448.c:241,1
    - Dst: constant_time_lookup_niels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:258,1
    - Dst: cond_neg_niels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:261,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:263,1
    - Dst: niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:265,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:269,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:270,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: 271
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 271
    functionName: ossl_curve448_precomputed_scalarmul
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - point_double_internal
    - ossl_curve448_scalar_halve
    - ossl_curve448_scalar_add
    - constant_time_lookup_niels
    - OPENSSL_cleanse
    - cond_neg_niels
    - niels_to_pt
    - add_niels_to_pt
    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:281,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:287,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:288,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:289,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:290,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:291,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:292,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:293,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:294,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:295,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:296,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:297,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:298,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:299,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:300,1
    - Dst: gf_invert
      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: gf_serialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:310,1
    - Dst: gf_lobit
      Src: /src/openssl/crypto/ec/curve448/curve448.c:311,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:313,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:314,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:315,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:316,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - uint8_t[]
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 318
    functionName: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - gf_lobit
    - curve448_point_copy
    - OPENSSL_cleanse
    - gf_serialize
    - gf_invert
    - ossl_curve448_point_destroy
    - ossl_gf_mul
    - gf_sub
    - gf_add
    - ossl_gf_sqr
    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:329,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/curve448.c:331,1
    - Dst: gf_deserialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:334,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/curve448.c:335,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:337,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:338,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:339,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:340,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:342,1
    - Dst: gf_isr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:343,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:345,1
    - Dst: gf_cond_neg
      Src: /src/openssl/crypto/ec/curve448/curve448.c:346,1
    - Dst: gf_lobit
      Src: /src/openssl/crypto/ec/curve448/curve448.c:346,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:347,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:353,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:354,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:355,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:356,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:357,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:358,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:359,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:360,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:361,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:362,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:363,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:364,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:365,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:366,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:367,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:368,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:369,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:370,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:373,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:374,1
    - Dst: ossl_curve448_point_valid
      Src: /src/openssl/crypto/ec/curve448/curve448.c:374,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/curve448.c:376,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:376,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: 373
        line_start: 373
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 377
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 377
    functionName: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - gf_cond_neg
    - gf_lobit
    - gf_copy
    - OPENSSL_cleanse
    - gf_mulw
    - c448_succeed_if
    - ossl_gf_mul
    - word_is_zero
    - gf_add
    - ossl_gf_sqr
    - assert
    - ossl_curve448_point_valid
    - memcpy
    - gf_deserialize
    - gf_sub
    - gf_isr
    - mask_to_bool
    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:389,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:390,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:391,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:392,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:393,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:409,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:410,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:418,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:419,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:420,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:421,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:422,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:423,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:424,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:425,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:426,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:427,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:428,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:430,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:431,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:432,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:433,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:435,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:436,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:437,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:441,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:442,1
    - Dst: gf_invert
      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_serialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:445,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:446,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:448,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:449,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:450,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:451,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:452,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:453,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:454,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/curve448.c:456,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:456,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: 457
      start: 379
    functionDepth: 5
    functionLinenumber: 379
    functionLinenumberEnd: 457
    functionName: ossl_x448_int
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_serialize
    - gf_invert
    - gf_mulw
    - gf_eq
    - ossl_gf_mul
    - c448_succeed_if
    - gf_add_nr
    - gf_deserialize
    - gf_cond_swap
    - ossl_gf_sqr
    - OPENSSL_cleanse
    - gf_copy
    - gf_sub_nr
    - mask_to_bool
    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:465,1
    - Dst: gf_invert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:466,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:467,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:468,1
    - Dst: gf_serialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:469,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - uint8_t[]
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 471
    functionName: ossl_curve448_point_mul_by_ratio_and_encode_like_x448
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - curve448_point_copy
    - gf_serialize
    - gf_invert
    - ossl_curve448_point_destroy
    - ossl_gf_mul
    - ossl_gf_sqr
    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:482,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/curve448.c:488,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/curve448.c:492,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:494,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_x448
      Src: /src/openssl/crypto/ec/curve448/curve448.c:496,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 6
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: ossl_x448_derive_public_key
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_scalar_decode_long
    - ossl_curve448_scalar_halve
    - ossl_curve448_point_mul_by_ratio_and_encode_like_x448
    - ossl_curve448_precomputed_scalarmul
    - ossl_curve448_point_destroy
    - memcpy
    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: 542
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 542
    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:578,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:582,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:599,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: 581
        line_start: 581
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (current == 0)
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 607
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 607
    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:617,1
    - Dst: ossl_curve448_point_double
      Src: /src/openssl/crypto/ec/curve448/curve448.c:622,1
    - Dst: pt_to_pniels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:623,1
    - Dst: add_pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:625,1
    - Dst: pt_to_pniels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:626,1
    - Dst: add_pniels_to_pt
      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: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:633,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:634,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: 635
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 635
    functionName: prepare_wnaf_table
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - add_pniels_to_pt
    - pt_to_pniels
    - ossl_curve448_point_destroy
    - ossl_curve448_point_double
    - 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:646,1
    - Dst: recode_wnaf
      Src: /src/openssl/crypto/ec/curve448/curve448.c:647,1
    - Dst: prepare_wnaf_table
      Src: /src/openssl/crypto/ec/curve448/curve448.c:651,1
    - Dst: curve448_point_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:655,1
    - Dst: pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:659,1
    - Dst: pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:662,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:663,1
    - Dst: niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:670,1
    - Dst: point_double_internal
      Src: /src/openssl/crypto/ec/curve448/curve448.c:678,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:681,1
    - Dst: add_pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:684,1
    - Dst: sub_pniels_from_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:688,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:696,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:699,1
    - Dst: sub_niels_from_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:704,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:715,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:716,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:717,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:719,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:721,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: (control_var[contv].addend)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (contv == ncb_var)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (contp == ncb_pre)
      pos:
        line_end: 720
        line_start: 720
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (control_pre[contp].addend)
      pos:
        line_end: 695
        line_start: 695
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 723
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 723
    functionName: ossl_curve448_base_double_scalarmul_non_secret
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 1
    functionsReached:
    - point_double_internal
    - sub_niels_from_pt
    - pniels_to_pt
    - add_pniels_to_pt
    - recode_wnaf
    - sub_pniels_from_pt
    - prepare_wnaf_table
    - niels_to_pt
    - assert
    - OPENSSL_cleanse
    - curve448_point_copy
    - add_niels_to_pt
    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:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 728
    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:733,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: 735
      start: 730
    functionDepth: 6
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: ossl_x448
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 1
    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:740,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: 741
      start: 737
    functionDepth: 7
    functionLinenumber: 737
    functionLinenumberEnd: 741
    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: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    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: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:95,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:97,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:99,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:103,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:105,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:111,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:113,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:115,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: 121
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 121
    functionName: i2r_ocsp_crlid
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_write
    - ASN1_GENERALIZEDTIME_print
    - ASN1_STRING_print
    - i2a_ASN1_INTEGER
    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:126,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:128,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: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    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:158,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:164,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - void*
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: d2i_ocsp_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - ASN1_OCTET_STRING_set
    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:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    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:188,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:190,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: 193
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: i2r_ocsp_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - i2a_ASN1_STRING
    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: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    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:206,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: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    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:216,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:218,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:220,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:221,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:222,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:224,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:226,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:228,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: 234
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: i2r_ocsp_serviceloc
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - sk_ACCESS_DESCRIPTION_num
    - sk_ACCESS_DESCRIPTION_value
    - X509_NAME_print_ex
    - GENERAL_NAME_print
    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: 31
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 31
    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:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    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:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 42
    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:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    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_extension
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: OCSP_REQUEST_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    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:56,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: 57
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 57
    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:62,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: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    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:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_REQUEST*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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, const X509_EXTENSION *ex,
      int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_ONEREQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    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:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 87
    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:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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_extension
      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: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: OCSP_ONEREQ_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    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:106,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: 107
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 107
    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:112,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: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    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:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    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, const X509_EXTENSION *ex, int
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    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:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    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:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    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_extension
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: OCSP_BASICRESP_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    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:158,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: 160
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 160
    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:165,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: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    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, const X509_EXTENSION
      *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_SINGLERESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 185
    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:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 191
    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:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    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:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    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_extension
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: OCSP_SINGLERESP_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_extension
    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:212,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: 213
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 213
    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:218,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: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    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, const X509_EXTENSION
      *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_add1_nonce
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - val
    - len
    argTypes:
    - OCSP_REQUEST*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - resp
    - val
    - len
    argTypes:
    - OCSP_BASICRESP*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    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:314,1
    - Dst: OCSP_BASICRESP_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:315,1
    - Dst: OCSP_REQUEST_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:328,1
    - Dst: OCSP_BASICRESP_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:329,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:330,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:330,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - req
    - bs
    argTypes:
    - OCSP_REQUEST*
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 334
    functionName: OCSP_check_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - X509_EXTENSION_get_data
    - OCSP_REQUEST_get_ext
    - OCSP_BASICRESP_get_ext
    - OCSP_REQUEST_get_ext_by_NID
    - 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:345,1
    - Dst: OCSP_REQUEST_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:349,1
    - Dst: OCSP_BASICRESP_add_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - resp
    - req
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 351
    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:358,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:361,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:363,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:367,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:369,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:373,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:375,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:378,1
    - Dst: OCSP_CRLID_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:380,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - url
    - n
    - tim
    argTypes:
    - char*
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 382
    functionName: OCSP_crlID_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_i2d
    - ASN1_STRING_set
    - ASN1_INTEGER_new
    - ASN1_GENERALIZEDTIME_new
    - ASN1_IA5STRING_new
    - ASN1_GENERALIZEDTIME_set_string
    - OCSP_CRLID_free
    - OCSP_CRLID_new
    - ASN1_INTEGER_set
    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:388,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:392,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:395,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:395,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:396,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:400,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - oids
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 404
    functionName: OCSP_accept_responses_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_i2d
    - OBJ_nid2obj
    - sk_ASN1_OBJECT_pop_free
    - sk_ASN1_OBJECT_new_null
    - OBJ_txt2nid
    - sk_ASN1_OBJECT_push
    - STACK_OF
    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:412,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:414,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:416,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tim
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 420
    functionName: OCSP_archive_cutoff_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_i2d
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_set_string
    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:434,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:436,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:437,1
    - Dst: sk_ACCESS_DESCRIPTION_new_null
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:440,1
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:443,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:445,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:447,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:449,1
    - Dst: sk_ACCESS_DESCRIPTION_push
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:455,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:460,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:462,1
    - Dst: ACCESS_DESCRIPTION_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:463,1
    - Dst: OCSP_SERVICELOC_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:464,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - issuer
    - urls
    argTypes:
    - X509_NAME*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 466
    functionName: OCSP_url_svcloc_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_i2d
    - ASN1_STRING_set
    - OBJ_nid2obj
    - X509_NAME_free
    - OCSP_SERVICELOC_free
    - ASN1_IA5STRING_new
    - ACCESS_DESCRIPTION_free
    - X509_NAME_dup
    - OCSP_SERVICELOC_new
    - sk_ACCESS_DESCRIPTION_new_null
    - ACCESS_DESCRIPTION_new
    - sk_ACCESS_DESCRIPTION_push
    - ASN1_IA5STRING_free
    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: 4
    functionLinenumber: 30
    functionLinenumberEnd: 74
    functionName: ocsp_verify_signer
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get1_chain
    - X509_STORE_CTX_init
    - X509_VERIFY_PARAM_set_flags
    - X509_STORE_CTX_set_purpose
    - X509_STORE_CTX_new
    - X509_get_ext_by_NID
    - ERR_raise_data
    - X509_STORE_CTX_free
    - ERR_raise
    - X509_STORE_CTX_set_trust
    - X509_verify_cert
    - X509_VERIFY_PARAM_clear_flags
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get0_param
    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_REQUEST_verify
    - OCSP_BASICRESP_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: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:102,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:103,1
    - Dst: ocsp_find_signer
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:107,1
    - Dst: ocsp_verify
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:113,1
    - Dst: sk_X509_dup
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:118,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:120,1
    - Dst: ocsp_verify_signer
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:123,1
    - Dst: ocsp_check_issuer
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:134,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:147,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:147,1
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:149,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:157,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:158,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 4
    argNames:
    - bs
    - certs
    - st
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - STACK_OF*
    - X509_STORE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 160
    functionName: OCSP_basic_verify
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 1
    functionsReached:
    - ocsp_check_issuer
    - OSSL_STACK_OF_X509_free
    - ERR_raise
    - sk_X509_num
    - X509_check_trust
    - ocsp_verify_signer
    - ocsp_find_signer
    - STACK_OF
    - sk_X509_value
    - sk_X509_free
    - sk_X509_dup
    - X509_add_certs
    - ocsp_verify
    linkageType: ''
    returnType: int
    signature: "int OCSP_basic_verify(OCSP_BASICRESP *bs, const STACK_OF(X509) *certs,\n
      \   X509_STORE *st, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_find_signer
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bs
    - signer
    - extra_certs
    argTypes:
    - OCSP_BASICRESP*
    - X509**
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: OCSP_resp_get0_signer
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - ocsp_find_signer
    linkageType: ''
    returnType: int
    signature: "int OCSP_resp_get0_signer(OCSP_BASICRESP *bs, X509 **signer,\n    const
      STACK_OF(X509) *extra_certs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_find_signer_sk
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:174,1
    - Dst: ocsp_find_signer_sk
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - psigner
    - bs
    - certs
    - flags
    argTypes:
    - X509**
    - OCSP_BASICRESP*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: ocsp_find_signer
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 2
    functionsReached:
    - ocsp_find_signer_sk
    linkageType: ''
    returnType: int
    signature: "int ocsp_find_signer(X509 **psigner, OCSP_BASICRESP *bs,\n    const
      STACK_OF(X509) *certs, unsigned long flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:197,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:206,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:207,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:208,1
    - Dst: X509_pubkey_digest
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:210,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:211,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - certs
    - id
    argTypes:
    - STACK_OF*
    - OCSP_RESPID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 10
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: ocsp_find_signer_sk
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 1
    functionsReached:
    - EVP_MD_fetch
    - sk_X509_num
    - sk_X509_value
    - EVP_MD_free
    - X509_pubkey_digest
    - X509_find_by_subject
    - memcmp
    linkageType: ''
    returnType: X509
    signature: X509 *ocsp_find_signer_sk(const STACK_OF(X509) *certs, OCSP_RESPID
      *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:365,1
    - Dst: X509_get_extended_key_usage
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: ocsp_check_delegated
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_get_extension_flags
    - ERR_raise
    - X509_get_extended_key_usage
    linkageType: ''
    returnType: int
    signature: int ocsp_check_delegated(X509 *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:391,1
    - Dst: ocsp_req_find_signer
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:395,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:397,1
    - Dst: ocsp_verify
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:403,1
    - Dst: ocsp_verify_signer
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - req
    - certs
    - store
    - flags
    argTypes:
    - OCSP_REQUEST*
    - STACK_OF*
    - X509_STORE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 377
    functionDepth: 5
    functionLinenumber: 377
    functionLinenumberEnd: 411
    functionName: OCSP_request_verify
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - ocsp_verify_signer
    - ERR_raise
    - ocsp_verify
    - ocsp_req_find_signer
    linkageType: ''
    returnType: int
    signature: "int OCSP_request_verify(OCSP_REQUEST *req, const STACK_OF(X509) *certs,\n
      \   X509_STORE *store, unsigned long flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:420,1
    - Dst: X509_find_by_subject
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:427,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: 432
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: ocsp_req_find_signer
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 1
    functionsReached:
    - X509_find_by_subject
    linkageType: ''
    returnType: int
    signature: "int ocsp_req_find_signer(X509 **psigner, OCSP_REQUEST *req,\n    const
      X509_NAME *nm, const 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
    - OSSL_HTTP_REQ_CTX_set_request_line
    - OSSL_HTTP_REQ_CTX_set1_req
    - ASN1_ITEM_rptr
    - OSSL_HTTP_REQ_CTX_new
    - OSSL_HTTP_REQ_CTX_set_expected
    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:
    - OCSP_sendreq_new
    - ASN1_ITEM_rptr
    - OSSL_HTTP_REQ_CTX_exchange
    - OSSL_HTTP_REQ_CTX_free
    - 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:76,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - status
    - bs
    argTypes:
    - int
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: OCSP_response_create
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPONSE_free
    - OBJ_nid2obj
    - ASN1_item_pack
    - OCSP_RESPBYTES_new
    - ASN1_ENUMERATED_set
    - OCSP_RESPONSE_new
    - ASN1_ITEM_rptr
    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:97,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:106,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:109,1
    - Dst: OCSP_CERTID_dup
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:118,1
    - Dst: OCSP_REVOKEDINFO_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:121,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:123,1
    - Dst: ASN1_ENUMERATED_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:126,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:128,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:134,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:139,1
    - Dst: sk_OCSP_SINGLERESP_push
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:146,1
    - Dst: OCSP_SINGLERESP_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:150,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: 152
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 152
    functionName: OCSP_basic_add1_status
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - ASN1_ENUMERATED_new
    - ASN1_TIME_to_generalizedtime
    - OCSP_SINGLERESP_new
    - OCSP_CERTID_dup
    - ERR_raise
    - ASN1_ENUMERATED_set
    - OCSP_CERTID_free
    - sk_OCSP_SINGLERESP_push
    - ASN1_NULL_new
    - sk_OCSP_SINGLERESP_new_null
    - OCSP_SINGLERESP_free
    - OCSP_REVOKEDINFO_new
    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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - resp
    - cert
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:174,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:178,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:180,1
    - Dst: OCSP_basic_add1_cert
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:185,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:186,1
    - Dst: OCSP_RESPID_set_by_key
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:192,1
    - Dst: OCSP_RESPID_set_by_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:194,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:198,1
    - Dst: OCSP_BASICRESP_sign_ctx
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:205,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - brsp
    - signer
    - ctx
    - certs
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    - EVP_MD_CTX*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 211
    functionName: OCSP_basic_sign_ctx
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get0_pkey
    - X509_gmtime_adj
    - OCSP_BASICRESP_sign_ctx
    - OCSP_RESPID_set_by_key
    - ERR_raise
    - X509_check_private_key
    - OCSP_basic_add1_cert
    - EVP_MD_CTX_get_pkey_ctx
    - OCSP_RESPID_set_by_name
    - X509_add_certs
    linkageType: ''
    returnType: int
    signature: "int OCSP_basic_sign_ctx(OCSP_BASICRESP *brsp,\n    X509 *signer, EVP_MD_CTX
      *ctx,\n    const STACK_OF(X509) *certs, unsigned long flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:217,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:224,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:224,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:226,1
    - Dst: OCSP_basic_sign_ctx
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:229,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:230,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: 232
      start: 213
    functionDepth: 8
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: OCSP_basic_sign
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - OCSP_basic_sign_ctx
    - EVP_DigestSignInit_ex
    - EVP_MD_get0_name
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int OCSP_basic_sign(OCSP_BASICRESP *brsp,\n    X509 *signer, EVP_PKEY
      *key, const EVP_MD *dgst,\n    const STACK_OF(X509) *certs, unsigned long flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:236,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: OCSP_RESPID_set_by_name
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 1
    functionsReached:
    - X509_NAME_set
    - X509_get_subject_name
    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:249,1
    - Dst: X509_pubkey_digest
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:256,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:259,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:263,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:264,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:273,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: 275
      start: 244
    functionDepth: 10
    functionLinenumber: 244
    functionLinenumberEnd: 275
    functionName: OCSP_RESPID_set_by_key_ex
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - EVP_MD_fetch
    - EVP_MD_free
    - X509_pubkey_digest
    - 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:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 11
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: OCSP_RESPID_set_by_key
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 1
    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:293,1
    - Dst: X509_pubkey_digest
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:301,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:304,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:305,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:305,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:312,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:313,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: 284
    functionDepth: 10
    functionLinenumber: 284
    functionLinenumberEnd: 320
    functionName: OCSP_RESPID_match_ex
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - ASN1_STRING_length
    - EVP_MD_free
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - X509_pubkey_digest
    - memcmp
    - X509_NAME_cmp
    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
    - X509_get0_serialNumber
    - EVP_sha1
    - OCSP_cert_id_new
    - X509_get_subject_name
    - X509_get_issuer_name
    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:
    - EVP_Digest
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_set
    - EVP_MD_get_type
    - OCSP_CERTID_new
    - ASN1_TYPE_new
    - ERR_raise
    - OCSP_CERTID_free
    - X509_NAME_digest
    - ASN1_STRING_copy
    - 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_INTEGER
    - BIO_printf
    - i2a_ASN1_OBJECT
    - i2a_ASN1_STRING
    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:
    - ocsp_certid_print
    - BIO_printf
    - ASN1_INTEGER_get
    - X509_signature_print
    - X509_print
    - BIO_write
    - PEM_write_bio_X509
    - sk_OCSP_ONEREQ_value
    - sk_X509_num
    - sk_X509_value
    - X509V3_extensions_print
    - sk_OCSP_ONEREQ_num
    - GENERAL_NAME_print
    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:156,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:158,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:160,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:161,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:165,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:169,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:171,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:177,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:184,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:188,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:190,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:191,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:193,1
    - Dst: ocsp_certid_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:195,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:198,1
    - Dst: OCSP_cert_status_str
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:204,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:206,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:210,1
    - Dst: OCSP_crl_reason_str
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:217,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:219,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:222,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:224,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:227,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:229,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:233,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:236,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:239,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:242,1
    - Dst: X509_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:243,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:243,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:244,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:244,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:249,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 115
    argCount: 3
    argNames:
    - bp
    - o
    - flags
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 251
    functionName: OCSP_RESPONSE_print
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - ocsp_certid_print
    - BIO_puts
    - i2a_ASN1_STRING
    - X509_signature_print
    - OCSP_BASICRESP_free
    - sk_X509_num
    - sk_OCSP_SINGLERESP_value
    - ASN1_INTEGER_get
    - i2a_ASN1_OBJECT
    - OCSP_response_get1_basic
    - BIO_write
    - ASN1_ENUMERATED_get
    - OBJ_obj2nid
    - X509V3_extensions_print
    - OCSP_crl_reason_str
    - BIO_printf
    - X509_print
    - OCSP_cert_status_str
    - PEM_write_bio_X509
    - ASN1_GENERALIZEDTIME_print
    - sk_OCSP_SINGLERESP_num
    - sk_X509_value
    - OCSP_response_status_str
    - X509_NAME_print_ex
    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:35,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:37,1
    - Dst: sk_OCSP_ONEREQ_push
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:39,1
    - Dst: OCSP_ONEREQ_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - cid
    argTypes:
    - OCSP_REQUEST*
    - OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: OCSP_request_add0_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - OCSP_CERTID_free
    - OCSP_ONEREQ_free
    - OCSP_ONEREQ_new
    - sk_OCSP_ONEREQ_push
    linkageType: ''
    returnType: OCSP_ONEREQ
    signature: OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_set1_X509_NAME
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - nm
    argTypes:
    - OCSP_REQUEST*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: OCSP_request_set1_name
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_set1_X509_NAME
    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:57,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - req
    - cert
    argTypes:
    - OCSP_REQUEST*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    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:76,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:76,1
    - Dst: OCSP_SIGNATURE_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:79,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:83,1
    - Dst: OCSP_REQUEST_sign
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:87,1
    - Dst: OCSP_request_add1_cert
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:92,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:93,1
    - Dst: OCSP_SIGNATURE_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:100,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: 103
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: OCSP_request_sign
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - OCSP_SIGNATURE_new
    - OCSP_request_set1_name
    - ERR_raise
    - X509_check_private_key
    - OCSP_request_add1_cert
    - OCSP_REQUEST_sign
    - X509_get_subject_name
    - OCSP_SIGNATURE_free
    - X509_add_certs
    linkageType: ''
    returnType: int
    signature: "int OCSP_request_sign(OCSP_REQUEST *req,\n    X509 *signer,\n    EVP_PKEY
      *key,\n    const EVP_MD *dgst,\n    const STACK_OF(X509) *certs, unsigned long
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resp
    argTypes:
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    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:120,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:124,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:128,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - resp
    argTypes:
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: OCSP_response_get1_basic
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 2
    functionsReached:
    - OBJ_obj2nid
    - ASN1_item_unpack
    - ERR_raise
    - ASN1_ITEM_rptr
    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: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    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: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    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:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    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:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bs
    - idx
    argTypes:
    - OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    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: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    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: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    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: 189
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 189
    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:198,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:201,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: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    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:215,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:225,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:226,1
    - Dst: OCSP_id_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - id
    - last
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: OCSP_resp_find
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - OCSP_id_cmp
    - sk_OCSP_SINGLERESP_num
    - STACK_OF
    - sk_OCSP_SINGLERESP_value
    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:257,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: 267
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 267
    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:279,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:285,1
    - Dst: OCSP_single_get0_status
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:286,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: 290
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: OCSP_resp_find_status
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - OCSP_single_get0_status
    - OCSP_resp_get0
    - OCSP_resp_find
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:296,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:298,1
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - time
    - out_time
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: gentime_to_posix
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - ASN1_TIME_to_tm
    - OPENSSL_tm_to_posix
    linkageType: ''
    returnType: int
    signature: int gentime_to_posix(ASN1_GENERALIZEDTIME *time, int64_t *out_time)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:323,1
    - Dst: gentime_to_posix
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:325,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:331,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:339,1
    - Dst: gentime_to_posix
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:355,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - thisupd
    - nextupd
    - nsec
    - maxsec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 364
    functionName: OCSP_check_validity
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - time
    - gentime_to_posix
    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: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    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: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    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: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    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: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: OCSP_BASICRESP_sign_ctx
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_local.h
    functionUses: 1
    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: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    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: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    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: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: F
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 244
    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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: H
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 60
    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: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    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: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    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: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    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:
    - ebcdic2ascii
    - MD4_Update
    - MD4_Final
    - MD4_Init
    - 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: 0
    functionLinenumber: 43
    functionLinenumberEnd: 152
    functionName: md4_block_data_order
    functionSourceFile: /src/openssl/crypto/md4/md4_dgst.c
    functionUses: 0
    functionsReached:
    - R2
    - R1
    - HOST_c2l
    - R0
    - 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: 39
    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: 39
    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
    - OPENSSL_LH_stats_bio
    - BIO_free
    - BIO_set_fp
    - 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_free
    - BIO_set_fp
    - BIO_s_file
    - OPENSSL_LH_node_stats_bio
    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_free
    - OPENSSL_LH_node_usage_stats_bio
    - BIO_set_fp
    - 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: 2
    functionsReached:
    - OPENSSL_calloc
    - OPENSSL_zalloc
    - OPENSSL_free
    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: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_LH_flush
    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: 1
    functionsReached:
    - getrn
    - OPENSSL_malloc
    - expand
    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:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: OPENSSL_LH_delete
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - contract
    - getrn
    - OPENSSL_free
    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:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 183
    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:207,1
    - Dst: wfunc
      Src: /src/openssl/crypto/lhash/lhash.c:209,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: 213
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 213
    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:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - lh
    - func
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_DOALL_FUNC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    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:230,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: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    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:238,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: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    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:253,1
    - Dst: memset
      Src: /src/openssl/crypto/lhash/lhash.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 284
    functionName: expand
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 63
    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:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 316
    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:325,1
    - Dst: hash
      Src: /src/openssl/crypto/lhash/lhash.c:327,1
    - Dst: compw
      Src: /src/openssl/crypto/lhash/lhash.c:343,1
    - Dst: comp
      Src: /src/openssl/crypto/lhash/lhash.c:346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 352
    functionName: getrn
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 3
    functionsReached:
    - comp
    - hash
    - hashw
    - compw
    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: 381
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: OPENSSL_LH_strhash
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 3
    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: 422
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 422
    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: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    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: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    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: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    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: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    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: 0
    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_bin2bn
    - BN_mod_add_quick
    - BN_num_bytes
    - BN_is_zero
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_CTX_get
    - ERR_raise
    - DSA_SIG_free
    - DSA_SIG_new
    - BN_mod_inverse
    - BN_mod_mul
    - BN_priv_rand_ex
    - BN_num_bits
    - BN_set_flags
    - BN_new
    - dsa_sign_setup
    - BN_clear_free
    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:
    - BN_is_zero
    - ossl_bn_priv_rand_range_fixed_top
    - BN_CTX_new_ex
    - ERR_raise
    - DSA*::meth::bn_mod_exp
    - BN_consttime_swap
    - BN_MONT_CTX_set_locked
    - BN_set_flags
    - BN_mod_exp_mont
    - bn_get_top
    - ossl_bn_gen_dsa_nonce_fixed_top
    - bn_wexpand
    - BN_CTX_free
    - BN_num_bits
    - BN_new
    - BN_mod
    - BN_is_negative
    - BN_add
    - ossl_bn_is_word_fixed_top
    - BN_is_bit_set
    - dsa_mod_inverse_fermat
    - BN_clear_free
    - ossl_gen_deterministic_nonce_rfc6979
    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:391,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:395,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:395,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:395,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:403,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:414,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:418,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:422,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:426,1
    - Dst: DSA*::meth::dsa_mod_exp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:433,1
    - Dst: BN_mod_exp2_mont
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:437,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:443,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:453,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:454,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:455,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:456,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:457,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: 459
      start: 355
    functionDepth: 8
    functionLinenumber: 355
    functionLinenumberEnd: 459
    functionName: dsa_do_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached:
    - DSA_SIG_get0
    - BN_ucmp
    - BN_bin2bn
    - BN_is_zero
    - DSA*::meth::dsa_mod_exp
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_mod_inverse
    - BN_mod_exp2_mont
    - BN_free
    - BN_mod_mul
    - BN_num_bits
    - BN_MONT_CTX_set_locked
    - BN_new
    - BN_mod
    - BN_is_negative
    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: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    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:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 472
    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:487,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:490,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:491,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:492,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:493,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:494,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:497,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - k
    - q
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 500
    functionName: dsa_mod_inverse_fermat
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_mod_exp_mont
    - BN_CTX_start
    - BN_set_word
    - BN_sub
    - BN_CTX_get
    - BN_free
    - BN_new
    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:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - idx
    - arg
    argTypes:
    - DSA*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: DSA_set_ex_data
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    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:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: DSA_get_ex_data
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    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:51,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dsa/dsa_lib.c:55,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/crypto/dsa/dsa_lib.c:55,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/dsa/dsa_lib.c:59,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/dsa/dsa_lib.c:63,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dsa/dsa_lib.c:67,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:77,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:78,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:79,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 81
    functionName: DSA_dup_DH
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_new
    - DH_free
    - BN_free
    - DH_set0_key
    - ossl_ffc_params_copy
    - BN_dup
    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: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    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: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    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: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_METHOD*::finish
      Src: /src/openssl/crypto/dsa/dsa_lib.c:108,1
    - Dst: DSA_METHOD*::init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dsa
    - meth
    argTypes:
    - DSA*
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: DSA_set_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - 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: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dsa/dsa_lib.c:123,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/dsa/dsa_lib.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_lib.c:130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:131,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/dsa/dsa_lib.c:135,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:137,1
    - Dst: DSA_get_default_method
      Src: /src/openssl/crypto/dsa/dsa_lib.c:142,1
    - Dst: ossl_crypto_new_ex_data_ex
      Src: /src/openssl/crypto/dsa/dsa_lib.c:147,1
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:152,1
    - Dst: DSA*::meth::init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_lib.c:155,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 164
    functionName: dsa_new_intern
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - DSA_get_default_method
    - DSA*::meth::init
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - ossl_crypto_new_ex_data_ex
    - DSA_free
    - ossl_ffc_params_init
    linkageType: ''
    returnType: DSA
    signature: DSA *dsa_new_intern(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/dsa/dsa_lib.c:168,1
    - Dst: dsa_new_intern
      Src: /src/openssl/crypto/dsa/dsa_lib.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: DSA_new_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - dsa_new_intern
    - ossl_assert
    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:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 176
    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: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: 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:192,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dsa/dsa_lib.c:193,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dsa/dsa_lib.c:196,1
    - Dst: DSA*::meth::finish
      Src: /src/openssl/crypto/dsa/dsa_lib.c:199,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/dsa/dsa_lib.c:202,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:205,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/dsa/dsa_lib.c:206,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/dsa/dsa_lib.c:208,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:209,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 212
    functionName: DSA_free
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 7
    functionsReached:
    - REF_ASSERT_ISNT
    - DSA*::meth::finish
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - ossl_ffc_params_cleanup
    - BN_clear_free
    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:218,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:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: DSA_up_ref
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: int DSA_up_ref(DSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: ossl_dsa_get0_libctx
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_dsa_get0_libctx(const DSA *d)
  - 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: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    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:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - DSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    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:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - DSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: DSA_set0_pqg
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    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: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    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: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    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: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    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: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    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: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    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: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    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:295,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - d
    - pub_key
    - priv_key
    argTypes:
    - DSA*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: DSA_set0_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    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:310,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_lib.c:310,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_lib.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: DSA_security_bits
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - BN_security_bits
    - BN_num_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:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 320
    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: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    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:330,1
    - Dst: ossl_ffc_params_fromdata
      Src: /src/openssl/crypto/dsa/dsa_lib.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dsa
    - params
    argTypes:
    - DSA*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: ossl_dsa_ffc_params_fromdata
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_fromdata
    - ossl_dsa_get0_params
    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: 84
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: dsa_pub_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - ASN1_INTEGER_to_BN
    - d2i_ASN1_INTEGER
    - DSA_new
    - ASN1_INTEGER_free
    - ERR_raise
    - EVP_PKEY_assign_DSA
    - d2i_DSAparams
    - X509_ALGOR_get0
    - DSA_free
    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:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:103,1
    - Dst: i2d_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:108,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:118,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:122,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:126,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:130,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:138,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 142
    functionName: dsa_pub_encode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_free
    - ASN1_INTEGER_free
    - ERR_raise
    - i2d_DSAparams
    - X509_PUBKEY_set0_param
    - ASN1_STRING_new
    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:152,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: dsa_priv_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_DSA
    - ossl_dsa_key_from_pkcs8
    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:170,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:177,1
    - Dst: i2d_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:183,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:192,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:196,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:201,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:205,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:205,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:207,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:213,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: dsa_priv_encode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_clear_free
    - ASN1_STRING_clear_free
    - ERR_raise
    - i2d_DSAparams
    - PKCS8_pkey_set0
    - ASN1_STRING_new
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    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:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 225
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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: 240
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 240
    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:245,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 254
    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:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 259
    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:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    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:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 269
    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:279,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:299,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:301,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:304,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:308,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:310,1
    - Dst: ossl_ffc_params_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:312,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 4
    argNames:
    - bp
    - x
    - 'off'
    - ptype
    argTypes:
    - BIO*
    - DSA*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 317
    functionName: do_dsa_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_ffc_params_print
    - BIO_indent
    - DSA_bits
    - ASN1_bn_print
    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:324,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    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:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    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:340,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: 341
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 341
    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:346,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: 347
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 347
    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:352,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: 353
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 353
    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:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:361,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: old_dsa_priv_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_DSA
    - d2i_DSAPrivateKey
    - 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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    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:381,1
    - Dst: d2i_DSA_SIG
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:387,1
    - Dst: DSA_SIG_get0
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:392,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:394,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:397,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:399,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:403,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:406,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:408,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: 409
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 409
    functionName: dsa_sig_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - DSA_SIG_get0
    - X509_signature_dump
    - BIO_write
    - DSA_SIG_free
    - ASN1_bn_print
    - d2i_DSA_SIG
    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: 421
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 421
    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: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    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:434,1
    - Dst: DSA_get0_g
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:434,1
    - Dst: DSA_get0_q
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:435,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:435,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:436,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:444,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:448,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:454,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:460,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:466,1
    - Dst: importer
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:470,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:472,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:474,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: 476
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 476
    functionName: dsa_pkey_export_to
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - DSA_get0_g
    - DSA_get0_pub_key
    - importer
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - DSA_get0_priv_key
    - DSA_get0_p
    - DSA_get0_q
    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:481,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:482,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:485,1
    - Dst: ossl_dsa_ffc_params_fromdata
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:489,1
    - Dst: ossl_dsa_key_fromdata
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:490,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:491,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 478
    functionDepth: 7
    functionLinenumber: 478
    functionLinenumberEnd: 496
    functionName: dsa_pkey_import_from
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_key_fromdata
    - EVP_PKEY_CTX_get0_pkey
    - ossl_dsa_ffc_params_fromdata
    - ERR_raise
    - EVP_PKEY_assign_DSA
    - ossl_dsa_new
    - DSA_free
    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:505,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:510,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 514
    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_free
    - DSA_print
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    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:
    - DSAparams_print
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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_print_private
    - EVP_PKEY_new
    - EVP_PKEY_set1_DSA
    - EVP_PKEY_free
    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_print_params
    - EVP_PKEY_new
    - EVP_PKEY_set1_DSA
    - EVP_PKEY_free
    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: 7
    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:
    - OPENSSL_free
    - BN_clear_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:
    - DSA_SIG_new
    - BN_new
    - DSA_SIG_free
    - ossl_decode_der_dsa_sig
    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:
    - BUF_MEM_new
    - WPACKET_get_total_written
    - WPACKET_init_len
    - WPACKET_init_null
    - WPACKET_cleanup
    - ossl_encode_der_dsa_sig
    - BUF_MEM_free
    - WPACKET_finish
    - 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: 3
    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: 1
    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_get_default_method
    - DSA_SIG_free
    - DSA_do_sign
    - ossl_dsa_do_sign_int
    - i2d_DSA_SIG
    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: 0
    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: 0
    functionsReached:
    - i2d_DSA_SIG
    - DSA_do_verify
    - OPENSSL_clear_free
    - DSA_SIG_free
    - DSA_SIG_new
    - memcmp
    - d2i_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:42,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: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 64
    functionName: ossl_dsa_key_fromdata
    functionSourceFile: /src/openssl/crypto/dsa/dsa_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_BN
    - DSA_set0_key
    - OSSL_PARAM_locate_const
    - BN_free
    - BN_clear_free
    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: 1
    EdgeCount: 1
    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_get_method
    - DSA_OpenSSL
    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:
    - ossl_ffc_params_copy
    - dsa_bn_dup_check
    - ossl_dsa_new
    - DSA_free
    - ossl_dsa_is_foreign
    - CRYPTO_dup_ex_data
    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:
    - ASN1_INTEGER_to_BN
    - DSA_get0_g
    - d2i_ASN1_INTEGER
    - DSA_set0_key
    - ASN1_STRING_clear_free
    - BN_CTX_new
    - ERR_raise
    - PKCS8_pkey_get0
    - BN_mod_exp
    - BN_CTX_free
    - BN_free
    - d2i_DSAparams
    - X509_ALGOR_get0
    - DSA_get0_p
    - DSA_free
    - BN_new
    - BN_set_flags
    - BN_secure_new
    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:
    - DSA_generate_parameters_ex
    - DSA_new
    - BN_GENCB_new
    - BN_GENCB_set_old
    - DSA_free
    - BN_GENCB_free
    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_free
    - DSA_new
    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: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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: 0
    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:
    - OPENSSL_strdup
    - memcpy
    - OPENSSL_malloc
    - OPENSSL_free
    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_strdup
    - OPENSSL_free
    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: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '*(*DSA_meth_get_sign(const DSA_METHOD *dsam))(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))(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: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: DSA_meth_set_sign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    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: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam))(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))(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: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    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: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: (*DSA_meth_get_verify(const DSA_METHOD *dsam))(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))(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: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: DSA_meth_set_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    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: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: "(*DSA_meth_get_mod_exp(const DSA_METHOD *dsam))(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))(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: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: DSA_meth_set_mod_exp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    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: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: "(*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam))(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))(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: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: DSA_meth_set_bn_mod_exp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    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: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    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: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    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: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    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: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: DSA_meth_set_finish
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    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: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: "(*DSA_meth_get_paramgen(const DSA_METHOD *dsam))(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))(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: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    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: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    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: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    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
    - DSA*::meth::dsa_paramgen
    - ossl_dsa_generate_ffc_parameters
    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:
    - ossl_ffc_params_simple_validate
    - dsa_precheck_params
    - 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:
    - ossl_ffc_validate_public_key_partial
    - dsa_precheck_params
    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
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_free
    - BN_cmp
    - ossl_dsa_generate_public_key
    - BN_new
    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_keygen
    - DSA*::meth::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_with_flags
    - BN_new
    - BN_clear_free
    - BN_mod_exp
    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:
    - BN_bin2bn
    - BN_num_bytes
    - OSSL_SELF_TEST_new
    - BN_bn2bin
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - BN_free
    - BN_cmp
    - OSSL_SELF_TEST_oncorrupt_byte
    - ossl_dsa_generate_public_key
    - BN_new
    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:
    - DSA_do_verify
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - DSA_SIG_free
    - OSSL_SELF_TEST_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - DSA_do_sign
    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
    - dsa_keygen_knownanswer_test
    - ossl_set_error_state
    - ossl_ffc_params_simple_validate
    - BN_secure_new
    - BN_CTX_new_ex
    - BN_CTX_free
    - BN_free
    - BN_num_bits
    - BN_clear_free
    - ossl_dsa_generate_public_key
    - BN_new
    - dsa_keygen_pairwise_test
    - ossl_ffc_generate_private_key
    linkageType: ''
    returnType: int
    signature: int dsa_keygen(DSA *dsa)
  - 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, 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, 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, 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: 10
    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: 273
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 273
    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: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    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:292,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:293,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:294,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:295,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:298,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:299,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:304,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:305,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:311,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:312,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:315,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:316,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:331,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: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:345,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:352,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:353,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:360,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:370,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:374,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:376,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:380,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
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 90
    argCount: 3
    argNames:
    - keyBitLength
    - rawKey
    - k
    argTypes:
    - int
    - uint8_t*
    - KEY_TABLE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 403
    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 uint8_t *rawKey, KEY_TABLE_TYPE
      k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:412,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:413,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:414,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:415,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: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:424,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:425,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:436,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:439,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:445,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:446,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:447,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - grandRounds
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - uint8_t[]
    - KEY_TABLE_TYPE
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 449
    functionName: Camellia_EncryptBlock_Rounds
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - LeftRotate
    - GETU32
    - PUTU32
    - Camellia_Feistel
    linkageType: ''
    returnType: void
    signature: "void Camellia_EncryptBlock_Rounds(int grandRounds, const uint8_t plaintext[],\n
      \   const KEY_TABLE_TYPE keyTable,\n    uint8_t ciphertext[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_EncryptBlock_Rounds
      Src: /src/openssl/crypto/camellia/camellia.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keyBitLength
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - uint8_t[]
    - KEY_TABLE_TYPE
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 456
    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 uint8_t plaintext[],\n
      \   const KEY_TABLE_TYPE keyTable, uint8_t ciphertext[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:465,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:466,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:467,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:468,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: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:477,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:478,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:489,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:492,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:498,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:499,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:500,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - grandRounds
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - uint8_t[]
    - KEY_TABLE_TYPE
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 502
    functionName: Camellia_DecryptBlock_Rounds
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - LeftRotate
    - GETU32
    - PUTU32
    - Camellia_Feistel
    linkageType: ''
    returnType: void
    signature: "void Camellia_DecryptBlock_Rounds(int grandRounds, const uint8_t ciphertext[],\n
      \   const KEY_TABLE_TYPE keyTable,\n    uint8_t plaintext[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_DecryptBlock_Rounds
      Src: /src/openssl/crypto/camellia/camellia.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keyBitLength
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - uint8_t[]
    - KEY_TABLE_TYPE
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 509
    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 uint8_t ciphertext[],\n
      \   const KEY_TABLE_TYPE keyTable, uint8_t 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: 0
    functionsReached:
    - Camellia_Ekeygen
    linkageType: ''
    returnType: int
    signature: "int Camellia_set_key(const unsigned char *userKey, 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, 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, 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: 0
    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: 0
    functionLinenumber: 43
    functionLinenumberEnd: 169
    functionName: md5_block_data_order
    functionSourceFile: /src/openssl/crypto/md5/md5_dgst.c
    functionUses: 0
    functionsReached:
    - R2
    - R1
    - HOST_c2l
    - R3
    - R0
    - 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: 40
    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: 40
    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
    - ossl_md5_block_asm_data_order_zbb
    - RISCV_HAS_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:
    - ebcdic2ascii
    - MD5_Init
    - MD5_Final
    - OPENSSL_cleanse
    - MD5_Update
    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:
    - MD5_Init
    - SHA1_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: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: ossl_md5_sha1_update
    functionSourceFile: /src/openssl/crypto/md5/md5_sha1.c
    functionUses: 0
    functionsReached:
    - SHA1_Update
    - MD5_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: 0
    functionsReached:
    - ossl_md5_sha1_update
    - MD5_Final
    - memset
    - ossl_md5_sha1_init
    - SHA1_Update
    - OPENSSL_cleanse
    - SHA1_Final
    - MD5_Update
    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: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    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: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: F
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 247
    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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: H
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 60
    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: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    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: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    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: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    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: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    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: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    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:
    - Dst: va_start
      Src: /src/openssl/crypto/bio/bio_print.c:23,1
    - Dst: BIO_vprintf
      Src: /src/openssl/crypto/bio/bio_print.c:25,1
    - Dst: va_end
      Src: /src/openssl/crypto/bio/bio_print.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - format
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: BIO_printf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 178
    functionsReached:
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int BIO_printf(BIO *bio, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf_s
      Src: /src/openssl/crypto/bio/bio_print.c:56,1
    - Dst: _vscprintf
      Src: /src/openssl/crypto/bio/bio_print.c:58,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bio_print.c:59,1
    - Dst: _vsnprintf
      Src: /src/openssl/crypto/bio/bio_print.c:63,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_print.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_print.c:65,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_print.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - bio
    - format
    - args
    argTypes:
    - BIO*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: msvc_bio_vprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached:
    - _vsnprintf_s
    - BIO_write
    - OPENSSL_free
    - _vsnprintf
    - _vscprintf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int msvc_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:84,1
    - Dst: _vsnprintf_s
      Src: /src/openssl/crypto/bio/bio_print.c:85,1
    - Dst: va_end
      Src: /src/openssl/crypto/bio/bio_print.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: ossl_BIO_snprintf_msvc
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached:
    - va_end
    - _vsnprintf_s
    - va_start
    linkageType: ''
    returnType: int
    signature: int ossl_BIO_snprintf_msvc(char *buf, size_t n, const char *format,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/openssl/crypto/bio/bio_print.c:100,1
    - Dst: msvc_bio_vprintf
      Src: /src/openssl/crypto/bio/bio_print.c:102,1
    - Dst: vsnprintf
      Src: /src/openssl/crypto/bio/bio_print.c:112,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bio_print.c:116,1
    - Dst: vsnprintf
      Src: /src/openssl/crypto/bio/bio_print.c:120,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_print.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_print.c:122,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_print.c:126,1
    - Dst: va_end
      Src: /src/openssl/crypto/bio/bio_print.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - bio
    - format
    - args
    argTypes:
    - BIO*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: BIO_vprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 1
    functionsReached:
    - msvc_bio_vprintf
    - va_copy
    - BIO_write
    - vsnprintf
    - OPENSSL_free
    - va_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int BIO_vprintf(BIO *bio, const char *format, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/bio/bio_print.c:146,1
    - Dst: _vsnprintf_s
      Src: /src/openssl/crypto/bio/bio_print.c:149,1
    - Dst: vsnprintf
      Src: /src/openssl/crypto/bio/bio_print.c:151,1
    - Dst: va_end
      Src: /src/openssl/crypto/bio/bio_print.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - n
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: BIO_snprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 19
    functionsReached:
    - vsnprintf
    - va_end
    - _vsnprintf_s
    - va_start
    linkageType: ''
    returnType: int
    signature: int BIO_snprintf(char *buf, size_t n, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf_s
      Src: /src/openssl/crypto/bio/bio_print.c:165,1
    - Dst: vsnprintf
      Src: /src/openssl/crypto/bio/bio_print.c:167,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: 172
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: BIO_vsnprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - _vsnprintf_s
    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:162,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_log.c:164,1
    - Dst: strncmp
      Src: /src/openssl/crypto/bio/bss_log.c:168,1
    - Dst: xsyslog
      Src: /src/openssl/crypto/bio/bss_log.c:173,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_log.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 177
    functionName: slg_write
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached:
    - strncmp
    - OPENSSL_free
    - xsyslog
    - memcpy
    - 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:183,1
    - Dst: xopenlog
      Src: /src/openssl/crypto/bio/bss_log.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    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:196,1
    - Dst: slg_write
      Src: /src/openssl/crypto/bio/bss_log.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 199
    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:205,1
    - Dst: RegisterEventSourceA
      Src: /src/openssl/crypto/bio/bss_log.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    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:215,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bss_log.c:244,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/crypto/bio/bss_log.c:244,1
    - Dst: ReportEventA
      Src: /src/openssl/crypto/bio/bss_log.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: xsyslog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 1
    functionsReached:
    - GetCurrentProcessId
    - ReportEventA
    - BIO_snprintf
    - 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:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    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: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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:291,1
    - Dst: lib$sys_fao
      Src: /src/openssl/crypto/bio/bss_log.c:326,1
    - Dst: OPCDEF_MALLOC
      Src: /src/openssl/crypto/bio/bss_log.c:329,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_log.c:331,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_log.c:333,1
    - Dst: sys$sndopr
      Src: /src/openssl/crypto/bio/bss_log.c:340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_log.c:342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 343
    functionName: xsyslog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - lib$sys_fao
    - sys$sndopr
    - $DESCRIPTOR
    - memcpy
    - OPCDEF_MALLOC
    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: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    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:354,1
    - Dst: openlog
      Src: /src/openssl/crypto/bio/bss_log.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    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:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    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:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    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: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    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_s_fd
    - BIO_new
    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:120,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_fd.c:121,1
    - Dst: BIO_fd_should_retry
      Src: /src/openssl/crypto/bio/bss_fd.c:123,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_fd.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: fd_read
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 1
    functionsReached:
    - BIO_clear_retry_flags
    - clear_sys_error
    - BIO_set_retry_read
    - UP_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:135,1
    - Dst: UP_write
      Src: /src/openssl/crypto/bio/bss_fd.c:136,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_fd.c:137,1
    - Dst: BIO_fd_should_retry
      Src: /src/openssl/crypto/bio/bss_fd.c:139,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_fd.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    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:155,1
    - Dst: UP_lseek
      Src: /src/openssl/crypto/bio/bss_fd.c:159,1
    - Dst: fd_free
      Src: /src/openssl/crypto/bio/bss_fd.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 198
    functionName: fd_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached:
    - fd_free
    - UP_lseek
    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:203,1
    - Dst: fd_write
      Src: /src/openssl/crypto/bio/bss_fd.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 209
    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:217,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_fd.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 227
    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:234,1
    - Dst: BIO_fd_non_fatal_error
      Src: /src/openssl/crypto/bio/bss_fd.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 239
    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: 285
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 285
    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: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    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:72,1
    - Dst: BIO_s_socket
      Src: /src/openssl/crypto/bio/bss_sock.c:72,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_sock.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: BIO_new_socket
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 2
    functionsReached:
    - BIO_set_fd
    - BIO_s_socket
    - BIO_new
    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:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    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:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_sock.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: sock_free
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - BIO_closesocket
    - OPENSSL_free
    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:111,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/crypto/bio/bss_sock.c:114,1
    - Dst: ktls_read_record
      Src: /src/openssl/crypto/bio/bss_sock.c:115,1
    - Dst: readsocket
      Src: /src/openssl/crypto/bio/bss_sock.c:118,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_sock.c:119,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_sock.c:123,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_sock.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: sock_read
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - readsocket
    - ktls_read_record
    - BIO_set_retry_read
    - BIO_get_ktls_recv
    - BIO_sock_should_retry
    - clear_socket_error
    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:135,1
    - Dst: BIO_should_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:137,1
    - Dst: ktls_send_ctrl_message
      Src: /src/openssl/crypto/bio/bss_sock.c:139,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:142,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_sock.c:148,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_sock.c:150,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_sock.c:151,1
    - Dst: writesocket_ex
      Src: /src/openssl/crypto/bio/bss_sock.c:155,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_sock.c:156,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_sock.c:158,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_sock.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: sock_write
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - BIO_clear_ktls_ctrl_msg_flag
    - BIO_clear_retry_flags
    - writesocket_ex
    - BIO_ADDR_sockaddr
    - sendto
    - BIO_should_ktls_ctrl_msg_flag
    - BIO_sock_should_retry
    - ktls_send_ctrl_message
    - clear_socket_error
    - BIO_set_retry_write
    - BIO_ADDR_sockaddr_size
    linkageType: ''
    returnType: int
    signature: int sock_write(BIO *b, const char *in, int inl)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_sock.c:178,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_sock.c:185,1
    - Dst: ktls_start
      Src: /src/openssl/crypto/bio/bss_sock.c:221,1
    - Dst: BIO_set_ktls_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:223,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:226,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:228,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:230,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:235,1
    - Dst: ktls_enable_tx_zerocopy_sendfile
      Src: /src/openssl/crypto/bio/bss_sock.c:239,1
    - Dst: BIO_set_ktls_zerocopy_sendfile_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:241,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_sock.c:258,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_sock.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_sock.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_sock.c:273,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 285
    functionName: sock_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - BIO_set_ktls_zerocopy_sendfile_flag
    - BIO_clear_ktls_ctrl_msg_flag
    - BIO_set_ktls_flag
    - BIO_set_ktls_ctrl_msg_flag
    - ktls_enable_tx_zerocopy_sendfile
    - BIO_ADDR_make
    - ktls_start
    - BIO_ADDR_sockaddr
    - ERR_raise
    - BIO_should_ktls_flag
    - memset
    - BIO_closesocket
    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:
    - get_last_socket_error
    - BIO_sock_non_fatal_error
    linkageType: ''
    returnType: int
    signature: int BIO_sock_should_retry(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 332
    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:
    - OPENSSL_zalloc
    - BIO_set_init
    - 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:
    - BIO_get_data
    - OPENSSL_free
    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_read_ex
    - BIO_next
    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_printf
    - strlen
    - BIO_next
    - BIO_get_data
    - BIO_write_ex
    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_strdup
    - OPENSSL_free
    - 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_next
    - BIO_callback_ctrl
    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: 0
    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:
    - SPACE
    - BIO_snprintf
    - strcpy
    - DUMP_WIDTH_LESS_INDENT
    - cb
    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:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:155,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bss_conn.c:158,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: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:259,1
    - Dst: cb
      Src: /src/openssl/crypto/bio/bss_conn.c:272,1
    - Dst: cb
      Src: /src/openssl/crypto/bio/bss_conn.c:280,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 141
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_CONNECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 283
    functionName: conn_state
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - BIO_ADDRINFO_socktype
    - BIO_sock_error
    - BIO_set_retry_special
    - BIO_connect
    - BIO_lookup
    - cb
    - ERR_pop_to_mark
    - conn_create_dgram_bio
    - ERR_raise_data
    - ERR_raise
    - BIO_ADDRINFO_next
    - get_last_socket_error
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_sock_should_retry
    - ERR_set_mark
    - BIO_clear_retry_flags
    - BIO_ADDRINFO_address
    - BIO_socket_wait
    - BIO_socket
    - BIO_ADDRINFO_protocol
    - time
    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:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 295
    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:301,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:302,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:303,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO_CONNECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: BIO_CONNECT_free
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_free
    - OPENSSL_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: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    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:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    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:331,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_conn.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: conn_close_socket
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_closesocket
    - shutdown
    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:345,1
    - Dst: conn_close_socket
      Src: /src/openssl/crypto/bio/bss_conn.c:348,1
    - Dst: BIO_CONNECT_free
      Src: /src/openssl/crypto/bio/bss_conn.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 355
    functionName: conn_free
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - conn_close_socket
    - BIO_free
    - 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:364,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:370,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bss_conn.c:371,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:372,1
    - Dst: BIO_get_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:372,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:377,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/crypto/bio/bss_conn.c:380,1
    - Dst: ktls_read_record
      Src: /src/openssl/crypto/bio/bss_conn.c:381,1
    - Dst: readsocket
      Src: /src/openssl/crypto/bio/bss_conn.c:384,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:385,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:387,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_conn.c:388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 394
    functionName: conn_read
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_clear_retry_flags
    - readsocket
    - BIO_read
    - ktls_read_record
    - BIO_set_retry_read
    - BIO_get_ktls_recv
    - BIO_get_retry_flags
    - BIO_sock_should_retry
    - clear_socket_error
    - conn_state
    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:403,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:409,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bss_conn.c:410,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:411,1
    - Dst: BIO_get_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:411,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:415,1
    - Dst: BIO_should_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:417,1
    - Dst: ktls_send_ctrl_message
      Src: /src/openssl/crypto/bio/bss_conn.c:418,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:421,1
    - Dst: BIO_ADDRINFO_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_conn.c:427,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_conn.c:429,1
    - Dst: BIO_ADDRINFO_sockaddr
      Src: /src/openssl/crypto/bio/bss_conn.c:430,1
    - Dst: writesocket
      Src: /src/openssl/crypto/bio/bss_conn.c:434,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:435,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:437,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_conn.c:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 441
    functionName: conn_write
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_clear_retry_flags
    - BIO_clear_ktls_ctrl_msg_flag
    - BIO_write
    - writesocket
    - sendto
    - BIO_should_ktls_ctrl_msg_flag
    - BIO_get_retry_flags
    - BIO_sock_should_retry
    - ktls_send_ctrl_message
    - clear_socket_error
    - BIO_set_retry_write
    - BIO_ADDRINFO_sockaddr
    - BIO_ADDRINFO_sockaddr_size
    - conn_state
    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:461,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:462,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:470,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_conn.c:482,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bss_conn.c:484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:519,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/crypto/bio/bss_conn.c:521,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:526,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:528,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bss_conn.c:529,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bss_conn.c:533,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bss_conn.c:534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:538,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:540,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:542,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:546,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:547,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:580,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_conn.c:584,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_conn.c:586,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_conn.c:590,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:602,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/crypto/bio/bss_conn.c:618,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/crypto/bio/bss_conn.c:663,1
    - Dst: BIO_set_conn_port
      Src: /src/openssl/crypto/bio/bss_conn.c:665,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/openssl/crypto/bio/bss_conn.c:666,1
    - Dst: BIO_set_conn_mode
      Src: /src/openssl/crypto/bio/bss_conn.c:667,1
    - Dst: BIO_set_info_callback
      Src: /src/openssl/crypto/bio/bss_conn.c:672,1
    - Dst: ktls_start
      Src: /src/openssl/crypto/bio/bss_conn.c:689,1
    - Dst: BIO_set_ktls_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:691,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:694,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:696,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:698,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:703,1
    - Dst: ktls_enable_tx_zerocopy_sendfile
      Src: /src/openssl/crypto/bio/bss_conn.c:707,1
    - Dst: BIO_set_ktls_zerocopy_sendfile_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:709,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 230
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 717
    functionName: conn_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_set_ktls_flag
    - BIO_set_conn_mode
    - memcpy
    - conn_state
    - BIO_set_conn_ip_family
    - BIO_set_ktls_zerocopy_sendfile_flag
    - OPENSSL_free
    - BIO_parse_hostserv
    - BIO_set_conn_hostname
    - BIO_ADDR_service_string
    - BIO_ADDRINFO_family
    - BIO_set_info_callback
    - conn_close_socket
    - BIO_clear_ktls_ctrl_msg_flag
    - ktls_enable_tx_zerocopy_sendfile
    - BIO_ADDR_hostname_string
    - ktls_start
    - BIO_ADDRINFO_free
    - BIO_should_ktls_flag
    - BIO_ADDR_sockaddr_size
    - OPENSSL_strdup
    - BIO_set_ktls_ctrl_msg_flag
    - BIO_ADDRINFO_address
    - BIO_set_nbio
    - BIO_set_conn_port
    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: 735
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 735
    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:740,1
    - Dst: conn_write
      Src: /src/openssl/crypto/bio/bss_conn.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 746
    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:755,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:759,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:765,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:770,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:776,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:780,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/crypto/bio/bss_conn.c:784,1
    - Dst: ktls_read_record
      Src: /src/openssl/crypto/bio/bss_conn.c:785,1
    - Dst: readsocket
      Src: /src/openssl/crypto/bio/bss_conn.c:788,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:789,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:791,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_conn.c:792,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 802
    functionName: conn_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - readsocket
    - ktls_read_record
    - ERR_raise
    - BIO_set_retry_read
    - BIO_get_ktls_recv
    - BIO_sock_should_retry
    - clear_socket_error
    - 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:812,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:818,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:827,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/crypto/bio/bss_conn.c:831,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: 833
      start: 804
    functionDepth: 3
    functionLinenumber: 804
    functionLinenumberEnd: 833
    functionName: conn_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - ERR_raise
    - conn_state
    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:843,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:849,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:858,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/crypto/bio/bss_conn.c:862,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: 864
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 864
    functionName: conn_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - conn_state
    - BIO_recvmmsg
    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:870,1
    - Dst: BIO_s_connect
      Src: /src/openssl/crypto/bio/bss_conn.c:870,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/crypto/bio/bss_conn.c:873,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 877
    functionName: BIO_new_connect
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 1
    functionsReached:
    - BIO_s_connect
    - BIO_free
    - BIO_set_conn_hostname
    - BIO_new
    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_sock_init
    - BIO_ADDR_rawaddress
    - BIO_ADDRINFO_address
    - ERR_raise
    - BIO_ADDRINFO_free
    - BIO_ADDRINFO_family
    - ossl_assert
    - ERR_add_error_data
    - BIO_lookup
    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_sock_init
    - BIO_ADDRINFO_address
    - ERR_raise
    - ntohs
    - BIO_ADDRINFO_free
    - BIO_ADDR_rawport
    - BIO_ADDRINFO_family
    - ERR_add_error_data
    - BIO_lookup
    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:
    - get_last_socket_error
    - getsockopt
    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:180,1
    - Dst: closesocket
      Src: /src/openssl/crypto/bio/bio_sock.c:188,1
    - Dst: sock_init
      Src: /src/openssl/crypto/bio/bio_sock.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 202
    functionName: BIO_sock_init
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 2
    functionsReached:
    - ERR_raise_data
    - WSAStartup
    - socket
    - ERR_raise
    - get_last_socket_error
    - WSAIoctl
    - memset
    - closesocket
    - sock_init
    linkageType: ''
    returnType: int
    signature: int BIO_sock_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/openssl/crypto/bio/bio_sock.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    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:219,1
    - Dst: ioctlsocket
      Src: /src/openssl/crypto/bio/bio_sock.c:245,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:248,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - type
    - arg
    argTypes:
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 251
    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:260,1
    - Dst: BIO_sock_init
      Src: /src/openssl/crypto/bio/bio_sock.c:263,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bio_sock.c:266,1
    - Dst: BIO_socket
      Src: /src/openssl/crypto/bio/bio_sock.c:269,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bio_sock.c:269,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/crypto/bio/bio_sock.c:269,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/crypto/bio/bio_sock.c:270,1
    - Dst: BIO_listen
      Src: /src/openssl/crypto/bio/bio_sock.c:276,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bio_sock.c:276,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bio_sock.c:278,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bio_sock.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:284,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - host
    - bind_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 288
    functionName: BIO_get_accept_socket
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - BIO_sock_init
    - BIO_ADDRINFO_address
    - BIO_ADDRINFO_socktype
    - OPENSSL_free
    - BIO_ADDRINFO_free
    - BIO_parse_hostserv
    - BIO_socket
    - BIO_ADDRINFO_protocol
    - BIO_listen
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_lookup
    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:295,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock.c:297,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:301,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:303,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bio_sock.c:308,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bio_sock.c:309,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bio_sock.c:311,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_sock.c:311,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_sock.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:314,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bio_sock.c:318,1
    - Dst: strcpy
      Src: /src/openssl/crypto/bio/bio_sock.c:321,1
    - Dst: strcat
      Src: /src/openssl/crypto/bio/bio_sock.c:322,1
    - Dst: strcat
      Src: /src/openssl/crypto/bio/bio_sock.c:323,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - sock
    - ip_port
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 331
    functionName: BIO_accept
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_ADDR_hostname_string
    - strcat
    - ERR_raise_data
    - OPENSSL_free
    - BIO_accept_ex
    - ERR_raise
    - get_last_socket_error
    - BIO_sock_should_retry
    - strcpy
    - BIO_ADDR_service_string
    - strlen
    - BIO_closesocket
    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:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - 'on'
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 351
    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:362,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bio_sock.c:366,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:368,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bio_sock.c:368,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bio_sock.c:384,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:387,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bio_sock.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 397
    functionName: BIO_socket_nbio
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - ERR_raise
    - get_last_sys_error
    - BIO_socket_ioctl
    - fcntl
    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:407,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bio_sock.c:407,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:410,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:416,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:421,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: 425
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: BIO_sock_info
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - BIO_ADDR_sockaddr_noconst
    - ERR_raise
    - getsockname
    - get_last_socket_error
    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:448,1
    - Dst: FD_ZERO
      Src: /src/openssl/crypto/bio/bio_sock.c:452,1
    - Dst: openssl_fdset
      Src: /src/openssl/crypto/bio/bio_sock.c:453,1
    - Dst: select
      Src: /src/openssl/crypto/bio/bio_sock.c:456,1
    - Dst: time
      Src: /src/openssl/crypto/bio/bio_sock.c:467,1
    - Dst: poll
      Src: /src/openssl/crypto/bio/bio_sock.c:473,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: 475
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 475
    functionName: BIO_socket_wait
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 1
    functionsReached:
    - poll
    - select
    - FD_ZERO
    - time
    - openssl_fdset
    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: 1
    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_zalloc
    - OPENSSL_malloc
    - OPENSSL_free
    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:
    - BIO_read
    - BIO_copy_next_retry
    - memcpy
    - 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
    - BIO_copy_next_retry
    - memcpy
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int buffer_write(BIO *b, const char *in, int inl)
  - BBCount: 43
    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:265,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:283,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:291,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:301,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:306,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:329,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:334,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:349,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:359,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:360,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:361,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:368,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:369,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:374,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_buff.c:376,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:378,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:389,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:390,1
    - Dst: BIO_set_read_buffer_size
      Src: /src/openssl/crypto/bio/bf_buff.c:394,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/crypto/bio/bf_buff.c:394,1
    - Dst: buffer_read
      Src: /src/openssl/crypto/bio/bf_buff.c:401,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:405,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:411,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 160
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 415
    functionName: buffer_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - buffer_read
    - OPENSSL_free
    - BIO_write
    - BIO_copy_next_retry
    - BIO_set_write_buffer_size
    - BIO_set_read_buffer_size
    - memcpy
    - 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:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 422
    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:432,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_buff.c:456,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 469
    functionName: buffer_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_copy_next_retry
    - 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:473,1
    - Dst: buffer_write
      Src: /src/openssl/crypto/bio/bf_buff.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 478
    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: 10
    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: 6
    functionsReached:
    - strlen
    - BIO_s_mem
    - ERR_raise
    - BIO_new
    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: 19
    argCount: 2
    argNames:
    - bi
    - flags
    argTypes:
    - BIO*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: mem_init
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BUF_MEM_new_ex
    - BUF_MEM_free
    - OPENSSL_free
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 136
    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:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 141
    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:151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_mem.c:153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_mem.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    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:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 172
    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:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    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:200,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_mem.c:203,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_mem.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 213
    functionName: mem_read
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    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:222,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_mem.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_mem.c:229,1
    - Dst: mem_buf_sync
      Src: /src/openssl/crypto/bio/bss_mem.c:233,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/bio/bss_mem.c:234,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_mem.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: mem_write
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BUF_MEM_grow_clean
    - ERR_raise
    - mem_buf_sync
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mem_write(BIO *b, const char *in, int inl)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_mem.c:267,1
    - Dst: mem_buf_free
      Src: /src/openssl/crypto/bio/bss_mem.c:309,1
    - Dst: mem_buf_sync
      Src: /src/openssl/crypto/bio/bss_mem.c:317,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 346
    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:358,1
    - Dst: mem_read
      Src: /src/openssl/crypto/bio/bss_mem.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 384
    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:389,1
    - Dst: mem_write
      Src: /src/openssl/crypto/bio/bss_mem.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 396
    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:
    - BIO*::callback
    - BIO*::callback_ex
    - HAS_LEN_OPER
    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
    - OPENSSL_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - CRYPTO_free_ex_data
    - CRYPTO_FREE_REF
    - BIO_METHOD*::create
    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: 71
    functionsReached:
    - REF_ASSERT_ISNT
    - HAS_CALLBACK
    - OPENSSL_free
    - bio_call_callback
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - BIO*::method::destroy
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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: 15
    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: 27
    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: 15
    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: 4
    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
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: BIO_set_send_flags
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: long BIO_set_send_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: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    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: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    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: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    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: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    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: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    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: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    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: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: BIO_method_type
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_method_type(const BIO *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:280,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:284,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:288,1
    - Dst: BIO*::method::bread
      Src: /src/openssl/crypto/bio/bio_lib.c:292,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/bio/bio_lib.c:301,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:304,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - readbytes
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 315
    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
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: int bio_read_intern(BIO *b, void *data, size_t dlen, size_t *readbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:323,1
    - Dst: bio_read_intern
      Src: /src/openssl/crypto/bio/bio_lib.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - b
    - data
    - dlen
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: BIO_read
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 15
    functionsReached:
    - bio_read_intern
    - ERR_raise
    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:339,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: 340
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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:358,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:362,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:366,1
    - Dst: BIO*::method::bwrite
      Src: /src/openssl/crypto/bio/bio_lib.c:370,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:375,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:376,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: 382
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 382
    functionName: bio_write_intern
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - bio_call_callback
    - BIO*::method::bwrite
    - ERR_raise
    - HAS_CALLBACK
    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:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - b
    - data
    - dlen
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 400
    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:404,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: 406
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 406
    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:417,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:423,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:427,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:442,1
    - Dst: BIO*::method::bsendmmsg
      Src: /src/openssl/crypto/bio/bio_lib.c:446,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:448,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:449,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: 453
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 453
    functionName: BIO_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - bio_call_callback
    - BIO*::method::bsendmmsg
    - ERR_raise
    - HAS_CALLBACK
    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:464,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:470,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:474,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:489,1
    - Dst: BIO*::method::brecvmmsg
      Src: /src/openssl/crypto/bio/bio_lib.c:493,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:495,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:496,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: 500
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 500
    functionName: BIO_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - bio_call_callback
    - BIO*::method::brecvmmsg
    - ERR_raise
    - HAS_CALLBACK
    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:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - desc
    argTypes:
    - BIO*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    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:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - desc
    argTypes:
    - BIO*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 510
    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:518,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:522,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:526,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:527,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:533,1
    - Dst: BIO*::method::bputs
      Src: /src/openssl/crypto/bio/bio_lib.c:537,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:545,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:546,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:551,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - b
    - buf
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 559
    functionName: BIO_puts
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 61
    functionsReached:
    - bio_call_callback
    - ERR_raise
    - HAS_CALLBACK
    - 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:567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:576,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:580,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:581,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:587,1
    - Dst: BIO*::method::bgets
      Src: /src/openssl/crypto/bio/bio_lib.c:591,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:598,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:599,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 611
    functionName: BIO_gets
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 6
    functionsReached:
    - bio_call_callback
    - BIO*::method::bgets
    - ERR_raise
    - HAS_CALLBACK
    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:619,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:629,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:633,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bio_lib.c:637,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/bio/bio_lib.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 613
    functionDepth: 4
    functionLinenumber: 613
    functionLinenumberEnd: 642
    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:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - b
    - indent
    - max
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 654
    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:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - iarg
    argTypes:
    - BIO*
    - int
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 662
    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:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - larg
    argTypes:
    - BIO*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 672
    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:681,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:685,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:686,1
    - Dst: BIO*::method::ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:691,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:693,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - parg
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 698
    functionName: BIO_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 12
    functionsReached:
    - bio_call_callback
    - BIO*::method::ctrl
    - ERR_raise
    - HAS_CALLBACK
    linkageType: ''
    returnType: long
    signature: long BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: BIO_eof
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 7
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: int BIO_eof(BIO *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:715,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:719,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:720,1
    - Dst: BIO*::method::callback_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:726,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:728,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 733
    functionName: BIO_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 5
    functionsReached:
    - bio_call_callback
    - BIO*::method::callback_ctrl
    - ERR_raise
    - HAS_CALLBACK
    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:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 751
    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:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 764
    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:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - b
    - bio
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 782
    functionName: BIO_push
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 6
    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:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 803
    functionName: BIO_pop
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 5
    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:811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - bio
    - reason
    argTypes:
    - BIO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 821
    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: 826
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 826
    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: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    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:838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - bio
    - type
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 856
    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: 863
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 863
    functionName: BIO_next
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 18
    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: 868
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 868
    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:877,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 884
    functionName: BIO_free_all
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 8
    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:891,1
    - Dst: BIO_dup_state
      Src: /src/openssl/crypto/bio/bio_lib.c:905,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:906,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:911,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:913,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/bio/bio_lib.c:921,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/bio/bio_lib.c:927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 886
    functionDepth: 5
    functionLinenumber: 886
    functionLinenumberEnd: 930
    functionName: BIO_dup_chain
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_free_all
    - BIO_dup_state
    - BIO_push
    - CRYPTO_dup_ex_data
    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:934,1
    - Dst: BIO_get_retry_flags
      Src: /src/openssl/crypto/bio/bio_lib.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: BIO_copy_next_retry
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 13
    functionsReached:
    - BIO_get_retry_flags
    - BIO_set_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:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - idx
    - data
    argTypes:
    - BIO*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 941
    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:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - idx
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 946
    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: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    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: 960
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 960
    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:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 965
    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:970,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/bio/bio_lib.c:971,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 975
    functionName: bio_cleanup
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - bio_sock_cleanup_int
    - CRYPTO_THREAD_lock_free
    - 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:989,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/crypto/bio/bio_lib.c:990,1
    - Dst: BIO_should_read
      Src: /src/openssl/crypto/bio/bio_lib.c:990,1
    - Dst: time
      Src: /src/openssl/crypto/bio/bio_lib.c:998,1
    - Dst: OSSL_sleep
      Src: /src/openssl/crypto/bio/bio_lib.c:1010,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: 1012
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 1012
    functionName: bio_wait
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_get_fd
    - BIO_should_read
    - BIO_socket_wait
    - OSSL_sleep
    - time
    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:1024,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1027,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: 1030
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1030
    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:1043,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1047,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/crypto/bio/bio_lib.c:1053,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1056,1
    - Dst: BIO_do_connect
      Src: /src/openssl/crypto/bio/bio_lib.c:1057,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/bio/bio_lib.c:1060,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/bio/bio_lib.c:1061,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/bio/bio_lib.c:1062,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/bio/bio_lib.c:1064,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/bio/bio_lib.c:1076,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1084,1
    - Dst: bio_wait
      Src: /src/openssl/crypto/bio/bio_lib.c:1086,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1089,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1092,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1096,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1099,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - bio
    - timeout
    - nap_milliseconds
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1103
    functionName: BIO_do_connect_retry
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - bio_wait
    - ERR_clear_last_mark
    - BIO_should_retry
    - BIO_do_connect
    - BIO_set_nbio
    - ERR_set_mark
    - ERR_peek_last_error
    - ERR_GET_REASON
    - ERR_raise
    - BIO_reset
    - ERR_GET_LIB
    - time
    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:1109,1
    - Dst: BIO_sock_non_fatal_error
      Src: /src/openssl/crypto/bio/bio_lib.c:1110,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/bio/bio_lib.c:1110,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/bio/bio_lib.c:1111,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/bio/bio_lib.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1116
    functionName: BIO_err_is_non_fatal
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_SYSTEM_ERROR
    - BIO_sock_non_fatal_error
    - ERR_GET_REASON
    linkageType: ''
    returnType: int
    signature: int BIO_err_is_non_fatal(unsigned int errcode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bss_file.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:67,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/bio/bss_file.c:71,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:73,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:83,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_file.c:86,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/bio/bss_file.c:86,1
    - Dst: fclose
      Src: /src/openssl/crypto/bio/bss_file.c:87,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:92,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/bio/bss_file.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: BIO_new_file
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 2
    functionsReached:
    - strchr
    - BIO_new
    - ERR_raise_data
    - ERR_raise
    - get_last_sys_error
    - BIO_set_fp
    - BIO_s_file
    - BIO_clear_flags
    - openssl_fopen
    - fclose
    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:101,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/bio/bss_file.c:101,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bss_file.c:105,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/bio/bss_file.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - close_flag
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: BIO_new_fp
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 7
    functionsReached:
    - BIO_set_fp
    - BIO_set_flags
    - BIO_s_file
    - BIO_new
    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: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    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: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    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:131,1
    - Dst: fclose
      Src: /src/openssl/crypto/bio/bss_file.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: file_free
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - UP_fclose
    - 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:148,1
    - Dst: fread
      Src: /src/openssl/crypto/bio/bss_file.c:150,1
    - Dst: UP_ferror
      Src: /src/openssl/crypto/bio/bss_file.c:153,1
    - Dst: ferror
      Src: /src/openssl/crypto/bio/bss_file.c:154,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:155,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: file_read
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - UP_ferror
    - UP_fread
    - ERR_raise_data
    - ERR_raise
    - get_last_sys_error
    - ferror
    - fread
    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:170,1
    - Dst: fwrite
      Src: /src/openssl/crypto/bio/bss_file.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: file_write
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - fwrite
    - UP_fwrite
    linkageType: ''
    returnType: int
    signature: int file_write(BIO *b, const char *in, int inl)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: UP_fseek
      Src: /src/openssl/crypto/bio/bss_file.c:197,1
    - Dst: fseek
      Src: /src/openssl/crypto/bio/bss_file.c:199,1
    - Dst: UP_feof
      Src: /src/openssl/crypto/bio/bss_file.c:209,1
    - Dst: feof
      Src: /src/openssl/crypto/bio/bss_file.c:211,1
    - Dst: UP_ftell
      Src: /src/openssl/crypto/bio/bss_file.c:226,1
    - Dst: GetFileType
      Src: /src/openssl/crypto/bio/bss_file.c:232,1
    - Dst: _get_osfhandle
      Src: /src/openssl/crypto/bio/bss_file.c:232,1
    - Dst: _fileno
      Src: /src/openssl/crypto/bio/bss_file.c:232,1
    - Dst: ftell
      Src: /src/openssl/crypto/bio/bss_file.c:235,1
    - Dst: ftell
      Src: /src/openssl/crypto/bio/bss_file.c:237,1
    - Dst: file_free
      Src: /src/openssl/crypto/bio/bss_file.c:242,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:253,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:256,1
    - Dst: UP_fsetmod
      Src: /src/openssl/crypto/bio/bss_file.c:261,1
    - Dst: _fileno
      Src: /src/openssl/crypto/bio/bss_file.c:266,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:268,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:270,1
    - Dst: fileno
      Src: /src/openssl/crypto/bio/bss_file.c:272,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:275,1
    - Dst: isatty
      Src: /src/openssl/crypto/bio/bss_file.c:279,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:280,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:282,1
    - Dst: fileno
      Src: /src/openssl/crypto/bio/bss_file.c:285,1
    - Dst: setmode
      Src: /src/openssl/crypto/bio/bss_file.c:287,1
    - Dst: file_free
      Src: /src/openssl/crypto/bio/bss_file.c:292,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:296,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:298,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:300,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:302,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:304,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:306,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/bio/bss_file.c:312,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/bio/bss_file.c:314,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/bio/bss_file.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:320,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/bio/bss_file.c:324,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:326,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:329,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:336,1
    - Dst: UP_fflush
      Src: /src/openssl/crypto/bio/bss_file.c:353,1
    - Dst: fflush
      Src: /src/openssl/crypto/bio/bss_file.c:354,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:356,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:358,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 122
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 375
    functionName: file_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - UP_fsetmod
    - feof
    - UP_feof
    - openssl_fopen
    - fseek
    - ERR_raise_data
    - ftell
    - OPENSSL_strlcat
    - ERR_raise
    - get_last_sys_error
    - _fileno
    - file_free
    - isatty
    - UP_fflush
    - _get_osfhandle
    - UP_ftell
    - fileno
    - OPENSSL_strlcpy
    - GetFileType
    - UP_fseek
    - _setmode
    - fflush
    - BIO_clear_flags
    - setmode
    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:383,1
    - Dst: fgets
      Src: /src/openssl/crypto/bio/bss_file.c:386,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_file.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 393
    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:398,1
    - Dst: file_write
      Src: /src/openssl/crypto/bio/bss_file.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: file_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - strlen
    - file_write
    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: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    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: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    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: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    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: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    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: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    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: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    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: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    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: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    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: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: BIO_new_file
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 2
    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_clear
    - BIO_ADDR_make
    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:
    - memset
    - strncpy
    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:
    - strlen
    - memcpy
    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:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ap
    - numeric
    argTypes:
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    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:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ap
    - numeric
    argTypes:
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    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:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    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: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    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: 372
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 372
    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: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    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: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    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: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    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: 422
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 422
    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: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    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: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    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: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    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:465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:475,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 479
    functionName: BIO_ADDRINFO_free
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 5
    functionsReached:
    - freeaddrinfo
    - OPENSSL_free
    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:515,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:526,1
    - Dst: strrchr
      Src: /src/openssl/crypto/bio/bio_addr.c:529,1
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bio_addr.c:530,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: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:555,1
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bio_addr.c:559,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/bio/bio_addr.c:567,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/bio/bio_addr.c:577,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_addr.c:590,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_addr.c:593,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: 595
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 595
    functionName: BIO_parse_hostserv
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 3
    functionsReached:
    - strchr
    - OPENSSL_strndup
    - OPENSSL_free
    - strrchr
    - ERR_raise
    - strlen
    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:611,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/crypto/bio/bio_addr.c:630,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/crypto/bio/bio_addr.c:632,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bio_addr.c:633,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bio_addr.c:638,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: 643
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 643
    functionName: addrinfo_wrap
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_ADDR_sockaddr_noconst
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - BIO_ADDRINFO_free
    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:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    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:655,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: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    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: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    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: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    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: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    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:266,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/crypto/bio/bss_dgram.c:266,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_dgram.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: BIO_new_dgram
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached:
    - BIO_set_fd
    - BIO_s_datagram
    - BIO_new
    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:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    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:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 296
    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:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 310
    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:319,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:325,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:328,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:328,1
    - Dst: ossl_ms2time
      Src: /src/openssl/crypto/bio/bss_dgram.c:331,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:336,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:337,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:337,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:340,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/bio/bss_dgram.c:344,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/bio/bss_dgram.c:344,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/bio/bss_dgram.c:345,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/crypto/bio/bss_dgram.c:345,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/crypto/bio/bss_dgram.c:346,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/bio/bss_dgram.c:352,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/bio/bss_dgram.c:353,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/bio/bss_dgram.c:355,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:356,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:359,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:359,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:362,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:363,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:366,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 372
    functionName: dgram_adjust_rcv_timeout
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - ossl_ticks2time
    - ERR_raise_data
    - ossl_time_subtract
    - ossl_time_is_zero
    - get_last_socket_error
    - ossl_time_compare
    - ossl_time_now
    - setsockopt
    - ossl_time_to_timeval
    - ossl_time_from_timeval
    - ossl_ms2time
    - ossl_time2ms
    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:379,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: dgram_update_local_addr
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_clear
    - getsockname
    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: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    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:401,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/bio/bss_dgram.c:403,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:405,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:408,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:408,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:411,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:413,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:414,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: dgram_reset_rcv_timeout
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - ossl_time_is_zero
    - get_last_socket_error
    - setsockopt
    - ossl_time_to_timeval
    - ossl_time2ms
    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:431,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:432,1
    - Dst: dgram_adjust_rcv_timeout
      Src: /src/openssl/crypto/bio/bss_dgram.c:433,1
    - Dst: recvfrom
      Src: /src/openssl/crypto/bio/bss_dgram.c:436,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bss_dgram.c:437,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram.c:440,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:442,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:444,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram.c:445,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:446,1
    - Dst: dgram_reset_rcv_timeout
      Src: /src/openssl/crypto/bio/bss_dgram.c:450,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 453
    functionName: dgram_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - BIO_dgram_should_retry
    - BIO_ADDR_clear
    - BIO_ADDR_sockaddr_noconst
    - recvfrom
    - BIO_set_retry_read
    - dgram_reset_rcv_timeout
    - dgram_adjust_rcv_timeout
    - get_last_socket_error
    - clear_socket_error
    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:459,1
    - Dst: writesocket
      Src: /src/openssl/crypto/bio/bss_dgram.c:462,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:464,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_dgram.c:466,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:467,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:470,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:472,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:473,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 478
    functionName: dgram_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_dgram_should_retry
    - BIO_ADDR_sockaddr
    - writesocket
    - sendto
    - get_last_socket_error
    - clear_socket_error
    - BIO_set_retry_write
    - BIO_ADDR_sockaddr_size
    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:484,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/crypto/bio/bss_dgram.c:496,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/openssl/crypto/bio/bss_dgram.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - addr
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 516
    functionName: dgram_get_mtu_overhead
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - BIO_ADDR_rawaddress
    - BIO_ADDR_family
    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:522,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:527,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:537,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - b
    - enable
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 560
    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: 91
    BranchProfiles: []
    Callsites:
    - Dst: dgram_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:593,1
    - Dst: dgram_update_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram.c:597,1
    - Dst: getpeername
      Src: /src/openssl/crypto/bio/bss_dgram.c:598,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:599,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:599,1
    - Dst: enable_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram.c:604,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:633,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:633,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:639,1
    - Dst: getsockname
      Src: /src/openssl/crypto/bio/bss_dgram.c:640,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:647,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:650,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:650,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:656,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:659,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:659,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:674,1
    - Dst: getsockname
      Src: /src/openssl/crypto/bio/bss_dgram.c:675,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:682,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:688,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:694,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:700,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:714,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:715,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/crypto/bio/bss_dgram.c:723,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/openssl/crypto/bio/bss_dgram.c:724,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:745,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:745,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:748,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:752,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:757,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:760,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:760,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:766,1
    - Dst: getpeername
      Src: /src/openssl/crypto/bio/bss_dgram.c:767,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:768,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:776,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:780,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bss_dgram.c:783,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:787,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:796,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:799,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:799,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:803,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:806,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:806,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:817,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:820,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:820,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:830,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:833,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:833,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:835,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:836,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:852,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:855,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:855,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:859,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:862,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:862,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:873,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:876,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:876,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:886,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:889,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:889,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:891,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:892,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:936,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: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:943,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:947,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:947,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:957,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:961,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:961,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:966,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:969,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:969,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:982,1
    - Dst: enable_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram.c:1009,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 309
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 1048
    functionName: dgram_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_rawaddress
    - IN6_IS_ADDR_V4MAPPED
    - BIO_ADDR_clear
    - memcpy
    - BIO_ADDR_family
    - dgram_get_mtu_overhead
    - BIO_ADDR_make
    - ERR_raise_data
    - getpeername
    - getsockname
    - BIO_socket_nbio
    - get_last_socket_error
    - dgram_update_local_addr
    - ossl_time_from_timeval
    - getsockopt
    - BIO_ADDR_sockaddr
    - enable_local_addr
    - BIO_ADDR_sockaddr_size
    - ossl_assert
    - dgram_clear
    - setsockopt
    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:1053,1
    - Dst: dgram_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1059
    functionName: dgram_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - strlen
    - dgram_write
    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:1070,1
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1073,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: 1091
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1091
    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:1108,1
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1111,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: 1126
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1126
    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:1135,1
    - Dst: BIO_CMSG_FIRSTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:1137,1
    - Dst: BIO_CMSG_NXTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:1138,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1147,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1153,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1178,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - b
    - mh
    - local
    argTypes:
    - BIO*
    - MSGHDR_TYPE*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1192
    functionName: extract_local
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_CMSG_DATA
    - dgram_get_sock_family
    - BIO_CMSG_NXTHDR
    - BIO_CMSG_FIRSTHDR
    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:1196,1
    - Dst: BIO_CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:1212,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1231,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1236,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1238,1
    - Dst: BIO_CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:1259,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1269,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1273,1
    - Dst: BIO_CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:1287,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1291,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1307,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1312,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1314,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - b
    - mh
    - local
    argTypes:
    - BIO*
    - MSGHDR_TYPE*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1322
    functionName: pack_local
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_CMSG_DATA
    - BIO_CMSG_SPACE
    - ERR_raise
    - BIO_CMSG_LEN
    - 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: 1334
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1334
    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:1381,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1396,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:1400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1402,1
    - Dst: pack_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1407,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1410,1
    - Dst: sendmmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1420,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1420,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1426,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1427,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1437,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1441,1
    - Dst: pack_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1446,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1447,1
    - Dst: sendmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1453,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1455,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1455,1
    - Dst: translate_msg_win
      Src: /src/openssl/crypto/bio/bss_dgram.c:1469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1473,1
    - Dst: pack_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1479,1
    - Dst: WSASendMsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1487,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1507,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_dgram.c:1512,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:1519,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:1520,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1522,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1533,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: 1537
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1537
    functionName: dgram_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - pack_local
    - sendmsg
    - translate_msg_win
    - BIO_MSG_N
    - sendmmsg
    - BIO_ADDR_sockaddr
    - ERR_raise
    - sendto
    - translate_msg
    - get_last_socket_error
    - translate_flags
    - WSASendMsg
    - BIO_ADDR_sockaddr_size
    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:1584,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1599,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1600,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1604,1
    - Dst: recvmmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1613,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1613,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1619,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1620,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1625,1
    - Dst: extract_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1626,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1627,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1635,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1635,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1645,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1653,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1658,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1660,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1660,1
    - Dst: extract_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1669,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1691,1
    - Dst: translate_msg_win
      Src: /src/openssl/crypto/bio/bss_dgram.c:1700,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1704,1
    - Dst: WSARecvMsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1711,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1711,1
    - Dst: extract_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1719,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1736,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1751,1
    - Dst: recvfrom
      Src: /src/openssl/crypto/bio/bss_dgram.c:1757,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1767,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1767,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1778,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    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: 1782
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1782
    functionName: dgram_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - recvmsg
    - BIO_ADDR_clear
    - BIO_MSG_N
    - translate_msg_win
    - recvfrom
    - ERR_raise
    - translate_msg
    - get_last_socket_error
    - translate_flags
    - recvmmsg
    - extract_local
    - WSARecvMsg
    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: 1788
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1788
    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:1807,1
    - Dst: BIO_s_datagram_sctp
      Src: /src/openssl/crypto/bio/bss_dgram.c:1807,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_dgram.c:1810,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1814,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1817,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:1818,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1823,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1826,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:1827,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:1839,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1841,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1844,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:1847,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1848,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:1861,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1864,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:1865,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:1873,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1877,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1880,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1885,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1887,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1893,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1896,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1906,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1909,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1790
    functionDepth: 5
    functionLinenumber: 1790
    functionLinenumberEnd: 1914
    functionName: BIO_new_dgram_sctp
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_set_fd
    - OPENSSL_zalloc
    - getsockopt
    - BIO_new
    - ERR_raise_data
    - OPENSSL_free
    - BIO_vfree
    - setsockopt
    - memset
    - BIO_s_datagram_sctp
    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:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1919
    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:1927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1936
    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:1944,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:1949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1938
    functionDepth: 2
    functionLinenumber: 1938
    functionLinenumberEnd: 1952
    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:1966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - snp
    argTypes:
    - BIO*
    - union sctp_notification*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1969
    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: 29
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1983,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:1986,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1996,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:2005,1
    - Dst: CMSG_NXTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:2006,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2013,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2027,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2045,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2046,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2057,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2061,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2069,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2078,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/openssl/crypto/bio/bss_dgram.c:2088,1
    - Dst: bio_dgram_sctp_data*::handle_notifications
      Src: /src/openssl/crypto/bio/bss_dgram.c:2092,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2095,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2117,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:2118,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2126,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:2128,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:2134,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2141,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram.c:2142,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:2146,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2148,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram.c:2149,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2150,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:2161,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2164,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2165,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:2178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:2181,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 130
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 2189
    functionName: dgram_sctp_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - memcpy
    - bio_dgram_sctp_data*::handle_notifications
    - CMSG_NXTHDR
    - recvmsg
    - OPENSSL_free
    - BIO_set_retry_read
    - ERR_raise
    - get_last_socket_error
    - dgram_sctp_handle_auth_free_key_event
    - CMSG_FIRSTHDR
    - OPENSSL_malloc
    - BIO_dgram_should_retry
    - getsockopt
    - memset
    - clear_socket_error
    - ossl_assert
    - BIO_clear_retry_flags
    - setsockopt
    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:2210,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2210,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2214,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2218,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2225,1
    - Dst: BIO_dgram_sctp_wait_for_dry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2234,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:2238,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:2239,1
    - Dst: CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:2257,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2258,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2259,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2264,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2266,1
    - Dst: CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:2269,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2270,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2271,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2274,1
    - Dst: CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:2279,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2280,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2281,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2290,1
    - Dst: sendmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2293,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:2295,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2297,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:2298,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2303
    functionName: dgram_sctp_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_write
    - BIO_dgram_should_retry
    - sendmsg
    - CMSG_LEN
    - CMSG_SPACE
    - get_last_socket_error
    - memset
    - clear_socket_error
    - CMSG_DATA
    - BIO_dgram_sctp_wait_for_dry
    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:2354,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2364,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:2371,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2376,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2385,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:2389,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2395,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2406,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2413,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2441,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2453,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2461,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2477,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2485,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2492,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2501,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2508,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2516,1
    - Dst: dgram_sctp_wait_for_dry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2526,1
    - Dst: dgram_sctp_msg_waiting
      Src: /src/openssl/crypto/bio/bss_dgram.c:2528,1
    - Dst: dgram_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2534,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 130
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2305
    functionDepth: 4
    functionLinenumber: 2305
    functionLinenumberEnd: 2538
    functionName: dgram_sctp_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - OPENSSL_free
    - dgram_sctp_msg_waiting
    - memset
    - setsockopt
    - dgram_sctp_wait_for_dry
    - memcpy
    - OPENSSL_malloc
    - dgram_ctrl
    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: 2553
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2553
    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:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2568
    functionDepth: 3
    functionLinenumber: 2568
    functionLinenumberEnd: 2571
    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:2591,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2595,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2599,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2605,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2612,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2623,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2625,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2626,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2634,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2645,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2647,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2648,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2659,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2663,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2667,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2674,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/openssl/crypto/bio/bss_dgram.c:2682,1
    - Dst: bio_dgram_sctp_data*::handle_notifications
      Src: /src/openssl/crypto/bio/bss_dgram.c:2686,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2690,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2703,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2704,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2707,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2710,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2714,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2715,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 92
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2573
    functionDepth: 1
    functionLinenumber: 2573
    functionLinenumberEnd: 2724
    functionName: dgram_sctp_wait_for_dry
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 2
    functionsReached:
    - getsockopt
    - recvmsg
    - get_last_socket_error
    - dgram_sctp_handle_auth_free_key_event
    - memset
    - setsockopt
    - bio_dgram_sctp_data*::handle_notifications
    - fcntl
    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:2728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2726
    functionDepth: 3
    functionLinenumber: 2726
    functionLinenumberEnd: 2729
    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:2741,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2752,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2753,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2754,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2755,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/openssl/crypto/bio/bss_dgram.c:2761,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2764,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2774,1
    - Dst: bio_dgram_sctp_data*::handle_notifications
      Src: /src/openssl/crypto/bio/bss_dgram.c:2777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2731
    functionDepth: 1
    functionLinenumber: 2731
    functionLinenumberEnd: 2788
    functionName: dgram_sctp_msg_waiting
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached:
    - recvmsg
    - dgram_sctp_handle_auth_free_key_event
    - memset
    - bio_dgram_sctp_data*::handle_notifications
    - fcntl
    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:2794,1
    - Dst: dgram_sctp_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:2795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2790
    functionDepth: 2
    functionLinenumber: 2790
    functionLinenumberEnd: 2797
    functionName: dgram_sctp_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - strlen
    - dgram_sctp_write
    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:2805,1
    - Dst: BIO_dgram_non_fatal_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2800
    functionDepth: 1
    functionLinenumber: 2800
    functionLinenumberEnd: 2818
    functionName: BIO_dgram_should_retry
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 4
    functionsReached:
    - get_last_socket_error
    - BIO_dgram_non_fatal_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: 2866
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2866
    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
    - get_globals
    - BIO_CORE_GLOBALS*::c_bio_read_ex
    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
    - get_globals
    - BIO_CORE_GLOBALS*::c_bio_write_ex
    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
    - get_globals
    - BIO_CORE_GLOBALS*::c_bio_ctrl
    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_CORE_GLOBALS*::c_bio_gets
    - BIO_get_data
    - get_globals
    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_CORE_GLOBALS*::c_bio_free
    - BIO_set_init
    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_s_core
    - BIO_new_ex
    - BIO_free
    - BIO_CORE_GLOBALS*::c_bio_up_ref
    - get_globals
    - BIO_set_data
    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_free
    - OSSL_FUNC_BIO_gets
    - get_globals
    - OSSL_FUNC_BIO_puts
    - OSSL_FUNC_BIO_up_ref
    - OSSL_FUNC_BIO_ctrl
    - OSSL_FUNC_BIO_read_ex
    - OSSL_FUNC_BIO_write_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_read
    - BIO_copy_next_retry
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_null.c:86,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_null.c:87,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_null.c:88,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_null.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 97
    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:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 104
    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:112,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_null.c:113,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_null.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: nullf_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_gets
    - BIO_clear_retry_flags
    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:124,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_null.c:125,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_null.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: nullf_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_clear_retry_flags
    - BIO_copy_next_retry
    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:
    - BIO_sock_init
    - ERR_raise_data
    - socket
    - ERR_raise
    - get_last_socket_error
    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:97,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:99,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:105,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:108,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:110,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:127,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:141,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_sock2.c:149,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bio_sock2.c:150,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bio_sock2.c:151,1
    - Dst: connectx
      Src: /src/openssl/crypto/bio/bio_sock2.c:152,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock2.c:156,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:157,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:159,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:165,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:168,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:170,1
    - Dst: connect
      Src: /src/openssl/crypto/bio/bio_sock2.c:179,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bio_sock2.c:179,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bio_sock2.c:180,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock2.c:182,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:183,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:185,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 190
    functionName: BIO_connect
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 1
    functionsReached:
    - connectx
    - ERR_raise_data
    - BIO_ADDR_sockaddr
    - BIO_socket_nbio
    - ERR_raise
    - get_last_socket_error
    - BIO_sock_should_retry
    - setsockopt
    - memset
    - connect
    - sysctlbyname
    - BIO_ADDR_sockaddr_size
    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:215,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:225,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:228,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:230,1
    - Dst: bind
      Src: /src/openssl/crypto/bio/bio_sock2.c:236,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bio_sock2.c:236,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bio_sock2.c:236,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:237,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 244
    functionName: BIO_bind
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - bind
    - BIO_ADDR_sockaddr
    - ERR_raise
    - get_last_socket_error
    - setsockopt
    - BIO_ADDR_sockaddr_size
    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:291,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:295,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:299,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:301,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bio_sock2.c:305,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:309,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:312,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:314,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:320,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:341,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:343,1
    - Dst: BIO_bind
      Src: /src/openssl/crypto/bio/bio_sock2.c:349,1
    - Dst: listen
      Src: /src/openssl/crypto/bio/bio_sock2.c:352,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:353,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:355,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:378,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:392,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:397,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:400,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:402,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 409
    functionName: BIO_listen
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 1
    functionsReached:
    - getsockopt
    - ERR_raise_data
    - BIO_bind
    - listen
    - BIO_socket_nbio
    - ERR_raise
    - get_last_socket_error
    - setsockopt
    - sysctlbyname
    - BIO_ADDR_family
    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:426,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bio_sock2.c:427,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock2.c:429,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:430,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:430,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:432,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bio_sock2.c:437,1
    - Dst: closesocket
      Src: /src/openssl/crypto/bio/bio_sock2.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - accept_sock
    - addr_
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 443
    functionName: BIO_accept_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - BIO_ADDR_sockaddr_noconst
    - ERR_raise
    - BIO_socket_nbio
    - get_last_socket_error
    - BIO_sock_should_retry
    - 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:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    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
    - assert
    - bio_destroy_pair
    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:118,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: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:127,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:128,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: (b != NULL)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b != NULL)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->buf != NULL)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 124
        line_start: 124
        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: 186
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 186
    functionName: bio_read
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 2
    functionsReached:
    - memcpy
    - BIO_clear_retry_flags
    - assert
    - BIO_set_retry_read
    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:204,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:210,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:211,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:213,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:214,1
    - Dst: bio_read
      Src: /src/openssl/crypto/bio/bss_bio.c:222,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts:
    - condition: (b != NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->buf != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b != NULL)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (num > 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 234
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: bio_nread0
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - assert
    - bio_read
    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:246,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:258,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: 257
        line_start: 257
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 265
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 265
    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:273,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:279,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: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:286,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:290,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_bio.c:293,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:305,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:310,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_bio.c:323,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts:
    - condition: (b->buf != NULL)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b != NULL)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (rest > 0)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len + rest <= b->size)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 334
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 334
    functionName: bio_write
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise
    - assert
    - BIO_set_retry_write
    - memcpy
    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:349,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:355,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:356,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:361,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:365,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_bio.c:368,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts:
    - condition: (b->buf != NULL)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b != NULL)
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (write_offset + num <= b->size)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 389
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 389
    functionName: bio_nwrite0
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise
    - assert
    - BIO_set_retry_write
    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:401,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:407,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char**
    - size_t
    assertStmts:
    - condition: (b->len <= b->size)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b != NULL)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 412
    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:419,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:426,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_bio.c:435,1
    - Dst: bio_make_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:450,1
    - Dst: bio_destroy_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:461,1
    - Dst: bio_nread0
      Src: /src/openssl/crypto/bio/bss_bio.c:503,1
    - Dst: bio_nread
      Src: /src/openssl/crypto/bio/bss_bio.c:508,1
    - Dst: bio_nwrite0
      Src: /src/openssl/crypto/bio/bss_bio.c:513,1
    - Dst: bio_nwrite
      Src: /src/openssl/crypto/bio/bss_bio.c:518,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:562,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:564,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:566,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: 418
        line_start: 418
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (other_bio != NULL)
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (other_b->buf == NULL)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (other_b != NULL)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 595
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 595
    functionName: bio_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - bio_nwrite0
    - bio_destroy_pair
    - assert
    - bio_nwrite
    - bio_make_pair
    - bio_nread0
    - bio_nread
    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:599,1
    - Dst: bio_write
      Src: /src/openssl/crypto/bio/bss_bio.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 604
    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:610,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:617,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_bio.c:622,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_bio.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - bio1
    - bio2
    argTypes:
    - BIO*
    - BIO*
    assertStmts:
    - condition: (bio1 != NULL)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (bio2 != NULL)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 648
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 648
    functionName: bio_make_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - assert
    - OPENSSL_malloc
    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:660,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:661,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:665,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts:
    - condition: (peer_b != NULL)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->buf != NULL)
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->buf != NULL)
      pos:
        line_end: 670
        line_start: 670
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->peer == bio)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 676
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 676
    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:689,1
    - Dst: BIO_s_bio
      Src: /src/openssl/crypto/bio/bss_bio.c:689,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_bio.c:692,1
    - Dst: BIO_s_bio
      Src: /src/openssl/crypto/bio/bss_bio.c:692,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_bio.c:697,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_bio.c:702,1
    - Dst: BIO_make_bio_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:707,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_bio.c:714,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_bio.c:716,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: 723
      start: 679
    functionDepth: 5
    functionLinenumber: 679
    functionLinenumberEnd: 723
    functionName: BIO_new_bio_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_s_bio
    - BIO_set_write_buf_size
    - BIO_make_bio_pair
    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:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 728
    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:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 733
    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:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 738
    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:750,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 759
    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:766,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - buf
    - num
    argTypes:
    - BIO*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 774
    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:781,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 790
    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:797,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - buf
    - num
    argTypes:
    - BIO*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 805
    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_write
    - strlen
    - BIO_snprintf
    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
    - CRYPTO_UP_REF
    - ERR_raise
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO*::method::bread_old
      Src: /src/openssl/crypto/bio/bio_meth.c:132,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_meth.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - bio
    - data
    - datal
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 150
    functionName: bread_conv
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - 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: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    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: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    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: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    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: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    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: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    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: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    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: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    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: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    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: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    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: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    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: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    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: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    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: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    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: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    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: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    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: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    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: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    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_zalloc
    - OPENSSL_free
    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
    - BIO_read
    - BIO_copy_next_retry
    - memcpy
    - readbuffer_resize
    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_read
    - BIO_copy_next_retry
    - readbuffer_resize
    - 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_malloc
    - OPENSSL_free
    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_read
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int linebuffer_read(BIO *b, char *out, int outl)
  - BBCount: 17
    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:142,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:148,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:155,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:158,1
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bf_lbuf.c:166,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:175,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:177,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:199,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:201,1
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bf_lbuf.c:205,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:211,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 219
    functionName: linebuffer_write
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: int linebuffer_write(BIO *b, const char *in, int inl)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:237,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:247,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_lbuf.c:256,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:264,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_lbuf.c:265,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:273,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:274,1
    - Dst: BIO_copy_next_retry
      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_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:288,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:290,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:291,1
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bf_lbuf.c:295,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:302,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:303,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/crypto/bio/bf_lbuf.c:307,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:317,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:322,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 326
    functionName: linebuffer_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - OPENSSL_free
    - BIO_write
    - BIO_copy_next_retry
    - BIO_set_write_buffer_size
    - memmove
    - memcpy
    - 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:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 333
    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:341,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:342,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: linebuffer_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_gets
    - BIO_clear_retry_flags
    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:349,1
    - Dst: linebuffer_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 354
    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:
    - BIO_free
    - BIO_ADDRINFO_free
    - OPENSSL_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:
    - closesocket
    - shutdown
    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:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_acpt.c:203,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bss_acpt.c:206,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:246,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_acpt.c:247,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:249,1
    - Dst: BIO_sock_info
      Src: /src/openssl/crypto/bio/bss_acpt.c:260,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:262,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:270,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:271,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:272,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:273,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_acpt.c:284,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:287,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:289,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/crypto/bio/bss_acpt.c:292,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_acpt.c:299,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/crypto/bio/bss_acpt.c:300,1
    - Dst: BIO_new_socket
      Src: /src/openssl/crypto/bio/bss_acpt.c:312,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/crypto/bio/bss_acpt.c:316,1
    - Dst: BIO_get_callback_ex
      Src: /src/openssl/crypto/bio/bss_acpt.c:316,1
    - Dst: BIO_set_callback
      Src: /src/openssl/crypto/bio/bss_acpt.c:318,1
    - Dst: BIO_get_callback
      Src: /src/openssl/crypto/bio/bss_acpt.c:318,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/crypto/bio/bss_acpt.c:320,1
    - Dst: BIO_get_callback_arg
      Src: /src/openssl/crypto/bio/bss_acpt.c:320,1
    - Dst: BIO_dup_chain
      Src: /src/openssl/crypto/bio/bss_acpt.c:326,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/bio/bss_acpt.c:328,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/bio/bss_acpt.c:332,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:335,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:336,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:358,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:360,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 173
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_ACCEPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 148
    functionDepth: 6
    functionLinenumber: 148
    functionLinenumberEnd: 363
    functionName: acpt_state
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_set_callback
    - ERR_clear_last_mark
    - BIO_ADDRINFO_socktype
    - BIO_new_socket
    - BIO_accept_ex
    - BIO_set_retry_special
    - BIO_lookup
    - ERR_pop_to_mark
    - BIO_get_callback_arg
    - OPENSSL_free
    - ERR_raise_data
    - BIO_set_callback_ex
    - ERR_raise
    - BIO_ADDRINFO_next
    - get_last_socket_error
    - BIO_listen
    - BIO_get_callback
    - BIO_ADDR_service_string
    - BIO_ADDRINFO_family
    - BIO_set_callback_arg
    - BIO_closesocket
    - BIO_ADDR_hostname_string
    - BIO_get_callback_ex
    - BIO_free
    - BIO_sock_should_retry
    - BIO_push
    - ERR_set_mark
    - BIO_clear_retry_flags
    - BIO_ADDRINFO_address
    - BIO_socket
    - BIO_ADDRINFO_protocol
    - BIO_dup_chain
    - BIO_sock_info
    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:370,1
    - Dst: acpt_state
      Src: /src/openssl/crypto/bio/bss_acpt.c:374,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bss_acpt.c:379,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bss_acpt.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 7
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: acpt_read
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_copy_next_retry
    - 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:389,1
    - Dst: acpt_state
      Src: /src/openssl/crypto/bio/bss_acpt.c:393,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bss_acpt.c:398,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bss_acpt.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 384
    functionDepth: 7
    functionLinenumber: 384
    functionLinenumberEnd: 401
    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: 44
    BranchProfiles: []
    Callsites:
    - Dst: acpt_close_socket
      Src: /src/openssl/crypto/bio/bss_acpt.c:416,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:417,1
    - Dst: acpt_state
      Src: /src/openssl/crypto/bio/bss_acpt.c:424,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:434,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/crypto/bio/bss_acpt.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:445,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bss_acpt.c:446,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:453,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bss_acpt.c:505,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_acpt.c:550,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 143
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 403
    functionDepth: 7
    functionLinenumber: 403
    functionLinenumberEnd: 557
    functionName: acpt_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - OPENSSL_strdup
    - acpt_state
    - OPENSSL_free
    - BIO_free
    - acpt_close_socket
    - BIO_ADDRINFO_free
    - BIO_parse_hostserv
    - BIO_ADDRINFO_family
    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:562,1
    - Dst: acpt_write
      Src: /src/openssl/crypto/bio/bss_acpt.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 559
    functionDepth: 8
    functionLinenumber: 559
    functionLinenumberEnd: 568
    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:574,1
    - Dst: BIO_s_accept
      Src: /src/openssl/crypto/bio/bss_acpt.c:574,1
    - Dst: BIO_set_accept_name
      Src: /src/openssl/crypto/bio/bss_acpt.c:577,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 5
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: BIO_new_accept
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_set_accept_name
    - BIO_free
    - BIO_new
    - 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:
    - RAND_priv_bytes
    - BIO_clear_retry_flags
    - BIO_read
    - BIO_copy_next_retry
    - BIO_set_retry_read
    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:
    - RAND_priv_bytes
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: int nbiof_write(BIO *b, const char *in, int inl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_nbio.c:161,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_nbio.c:162,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_nbio.c:163,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_nbio.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 173
    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:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 180
    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:187,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_nbio.c:188,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_nbio.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: nbiof_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_gets
    - BIO_clear_retry_flags
    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:198,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_nbio.c:199,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_nbio.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: nbiof_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_clear_retry_flags
    - BIO_copy_next_retry
    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:
    - ring_buf_init
    - memmove
    - OPENSSL_realloc
    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_zalloc
    - CRYPTO_THREAD_lock_new
    - OPENSSL_free
    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: dgram_pair_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: dgram_mem_init
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_init
    - ring_buf_init
    - dgram_pair_free
    - ERR_raise
    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:327,1
    - Dst: dgram_pair_ctrl_destroy_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:331,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: dgram_pair_free
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - ossl_assert
    - 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:345,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:351,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:359,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:360,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:369,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:376,1
    - Dst: ring_buf_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:382,1
    - Dst: ring_buf_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:388,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:389,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - bio1
    - bio2
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 400
    functionName: dgram_pair_ctrl_make_bio_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ring_buf_init
    - ERR_raise_data
    - ERR_raise
    - ring_buf_destroy
    - ossl_assert
    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:408,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:411,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:421,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - bio1
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 431
    functionName: dgram_pair_ctrl_destroy_bio_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ring_buf_destroy
    - 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:438,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:444,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: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 456
    functionName: dgram_pair_ctrl_eof
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - is_dgram_pair
    - ossl_assert
    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:
    - CRYPTO_THREAD_unlock
    - dgram_pair_read_inner
    - is_dgram_pair
    - CRYPTO_THREAD_write_lock
    - ossl_assert
    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_unlock
    - CRYPTO_THREAD_read_lock
    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: 565
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 565
    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: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    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: 586
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 586
    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: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    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: 603
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 603
    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:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - enable
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 615
    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: 623
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 623
    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: 638
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 638
    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:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - addr
    argTypes:
    - BIO*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 648
    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:656,1
    - Dst: dgram_pair_ctrl_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:666,1
    - Dst: dgram_pair_ctrl_reset
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:680,1
    - Dst: dgram_pair_ctrl_get_write_guarantee
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:688,1
    - Dst: dgram_pair_ctrl_pending
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:693,1
    - Dst: dgram_pair_ctrl_get_local_addr_enable
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:712,1
    - Dst: dgram_pair_ctrl_set_local_addr_enable
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:717,1
    - Dst: dgram_pair_ctrl_get_local_addr_cap
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:722,1
    - Dst: dgram_pair_ctrl_get_caps
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:729,1
    - Dst: dgram_pair_ctrl_set_caps
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:734,1
    - Dst: dgram_pair_ctrl_get_mtu
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:739,1
    - Dst: dgram_pair_ctrl_set_mtu
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:744,1
    - Dst: dgram_pair_ctrl_set0_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:748,1
    - Dst: dgram_pair_ctrl_eof
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:756,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 765
    functionName: dgram_mem_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_ctrl_set_local_addr_enable
    - dgram_pair_ctrl_set_write_buf_size
    - dgram_pair_ctrl_get_caps
    - dgram_pair_ctrl_set_caps
    - dgram_pair_ctrl_get_local_addr_cap
    - dgram_pair_ctrl_pending
    - dgram_pair_ctrl_get_local_addr_enable
    - dgram_pair_ctrl_set0_local_addr
    - dgram_pair_ctrl_set_mtu
    - dgram_pair_ctrl_reset
    - dgram_pair_ctrl_get_write_guarantee
    - dgram_pair_ctrl_eof
    - ossl_assert
    - dgram_pair_ctrl_get_mtu
    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:778,1
    - Dst: dgram_pair_ctrl_destroy_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:786,1
    - Dst: dgram_pair_ctrl_get_effective_caps
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:791,1
    - Dst: dgram_mem_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 800
    functionName: dgram_pair_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_ctrl_get_effective_caps
    - dgram_pair_ctrl_destroy_bio_pair
    - dgram_mem_ctrl
    - dgram_pair_ctrl_make_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:812,1
    - Dst: BIO_s_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:812,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:816,1
    - Dst: BIO_s_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:816,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:821,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:827,1
    - Dst: BIO_make_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:832,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:839,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:841,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: 848
      start: 802
    functionDepth: 5
    functionLinenumber: 802
    functionLinenumberEnd: 848
    functionName: BIO_new_bio_dgram_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_set_write_buf_size
    - BIO_make_bio_pair
    - BIO_s_dgram_pair
    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:869,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:877,1
    - Dst: ring_buf_pop
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:879,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: 888
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 888
    functionName: dgram_pair_read_inner
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 1
    functionsReached:
    - ring_buf_tail
    - memcpy
    - 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:903,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:908,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:911,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:915,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:928,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:932,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:936,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:956,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:957,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:965,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:965,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: 975
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 975
    functionName: dgram_pair_read_actual
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - dgram_pair_read_inner
    - is_dgram_pair
    - BIO_set_retry_read
    - ossl_assert
    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:986,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:989,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:992,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:995,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:996,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: 1001
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1001
    functionName: dgram_pair_lock_both_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - ossl_assert
    - 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:1006,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1007,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: 1008
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    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:1018,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1023,1
    - Dst: dgram_pair_lock_both_write
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1034,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1035,1
    - Dst: dgram_pair_read_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1039,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1042,1
    - Dst: dgram_pair_unlock_both
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - bio
    - buf
    - sz_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1050
    functionName: dgram_pair_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_read_actual
    - dgram_pair_lock_both_write
    - dgram_pair_unlock_both
    - ERR_raise
    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:1070,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1075,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1080,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1081,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1087,1
    - Dst: dgram_pair_read_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1088,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1095,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1108,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: 1110
      start: 1053
    functionDepth: 3
    functionLinenumber: 1053
    functionLinenumberEnd: 1110
    functionName: dgram_pair_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_read_actual
    - CRYPTO_THREAD_unlock
    - BIO_MSG_N
    - is_dgram_pair
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    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:1120,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1125,1
    - Dst: dgram_pair_read_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1132,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - buf
    - sz_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1140
    functionName: dgram_mem_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - dgram_pair_read_actual
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    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:1161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1168
    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:1189,1
    - Dst: compute_rbuf_growth
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1196,1
    - Dst: ring_buf_resize
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1197,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1205,1
    - Dst: ring_buf_push
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1206,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: 1214
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1214
    functionName: dgram_pair_write_inner
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ring_buf_push
    - ring_buf_resize
    - compute_rbuf_growth
    - memcpy
    - ring_buf_head
    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:1230,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1235,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1244,1
    - Dst: dgram_pair_write_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1259,1
    - Dst: dgram_pair_write_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1260,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1268,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: 1273
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1273
    functionName: dgram_pair_write_actual
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - is_dgram_pair
    - dgram_pair_write_inner
    - BIO_set_retry_write
    - ossl_assert
    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:1283,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1288,1
    - Dst: dgram_pair_write_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1292,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1294,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - bio
    - buf
    - sz_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1276
    functionDepth: 3
    functionLinenumber: 1276
    functionLinenumberEnd: 1302
    functionName: dgram_pair_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - dgram_pair_write_actual
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    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:1320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1321,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1327,1
    - Dst: dgram_pair_write_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1335,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1346,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: 1348
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1348
    functionName: dgram_pair_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - BIO_MSG_N
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - dgram_pair_write_actual
    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_malloc
    - OPENSSL_free
    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:
    - core_bio_new
    - ossl_core_bio_free
    - BIO_up_ref
    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: 3
    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:
    - RAND_get0_primary
    - EVP_RAND_reseed
    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:80,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:81,1
    - Dst: socket_transport_name_get
      Src: /src/openssl/crypto/rand/rand_egd.c:83,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rand/rand_egd.c:85,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:86,1
    - Dst: socket_transport_name_set
      Src: /src/openssl/crypto/rand/rand_egd.c:89,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:92,1
    - Dst: socket_transport_name_set
      Src: /src/openssl/crypto/rand/rand_egd.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - transport
    argTypes:
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: hpns_socket
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - socket_transport_name_set
    - socket
    - strcmp
    - socket_transport_name_get
    - _arg_present
    linkageType: ''
    returnType: _variable
    signature: "_variable hpns_socket(int family,\n    int type,\n    int protocol,\n
      \   char *transport)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/rand/rand_egd.c:121,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/rand_egd.c:123,1
    - Dst: strcpy
      Src: /src/openssl/crypto/rand/rand_egd.c:125,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/rand_egd.c:126,1
    - Dst: hpns_socket
      Src: /src/openssl/crypto/rand/rand_egd.c:128,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:130,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: fdopen
      Src: /src/openssl/crypto/rand/rand_egd.c:177,1
    - Dst: close
      Src: /src/openssl/crypto/rand/rand_egd.c:179,1
    - Dst: setbuf
      Src: /src/openssl/crypto/rand/rand_egd.c:182,1
    - Dst: fwrite
      Src: /src/openssl/crypto/rand/rand_egd.c:187,1
    - Dst: fflush
      Src: /src/openssl/crypto/rand/rand_egd.c:187,1
    - Dst: fread
      Src: /src/openssl/crypto/rand/rand_egd.c:189,1
    - Dst: fread
      Src: /src/openssl/crypto/rand/rand_egd.c:202,1
    - Dst: RAND_add
      Src: /src/openssl/crypto/rand/rand_egd.c:207,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/rand_egd.c:211,1
    - Dst: close
      Src: /src/openssl/crypto/rand/rand_egd.c:213,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 73
    argCount: 3
    argNames:
    - path
    - buf
    - bytes
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 215
    functionName: RAND_query_egd_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - hpns_socket
    - socket
    - fflush
    - setbuf
    - memset
    - close
    - strcpy
    - connect
    - fdopen
    - strlen
    - fread
    - fwrite
    - RAND_add
    - fclose
    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:221,1
    - Dst: RAND_status
      Src: /src/openssl/crypto/rand/rand_egd.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - path
    - bytes
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: RAND_egd_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - RAND_query_egd_bytes
    - RAND_status
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: openssl_fopen
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openssl_fopen(fname, mode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/rand/randfile.c:105,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:106,1
    - Dst: fstat
      Src: /src/openssl/crypto/rand/randfile.c:112,1
    - Dst: fileno
      Src: /src/openssl/crypto/rand/randfile.c:112,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:113,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/randfile.c:115,1
    - Dst: S_ISREG
      Src: /src/openssl/crypto/rand/randfile.c:120,1
    - Dst: setbuf
      Src: /src/openssl/crypto/rand/randfile.c:142,1
    - Dst: fread
      Src: /src/openssl/crypto/rand/randfile.c:152,1
    - Dst: ferror
      Src: /src/openssl/crypto/rand/randfile.c:154,1
    - Dst: clearerr
      Src: /src/openssl/crypto/rand/randfile.c:155,1
    - Dst: RAND_add
      Src: /src/openssl/crypto/rand/randfile.c:163,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rand/randfile.c:175,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/randfile.c:176,1
    - Dst: RAND_status
      Src: /src/openssl/crypto/rand/randfile.c:177,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:178,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 2
    argNames:
    - file
    - bytes
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 183
    functionName: RAND_load_file
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - clearerr
    - OPENSSL_cleanse
    - setbuf
    - fstat
    - ferror
    - fread
    - fileno
    - RAND_status
    - RAND_add
    - S_ISREG
    - openssl_fopen
    - fclose
    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:193,1
    - Dst: S_ISREG
      Src: /src/openssl/crypto/rand/randfile.c:193,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:194,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/rand/randfile.c:201,1
    - Dst: open
      Src: /src/openssl/crypto/rand/randfile.c:213,1
    - Dst: fdopen
      Src: /src/openssl/crypto/rand/randfile.c:216,1
    - Dst: close
      Src: /src/openssl/crypto/rand/randfile.c:218,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:219,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/rand/randfile.c:245,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/rand/randfile.c:249,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:251,1
    - Dst: chmod
      Src: /src/openssl/crypto/rand/randfile.c:260,1
    - Dst: fwrite
      Src: /src/openssl/crypto/rand/randfile.c:263,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/randfile.c:264,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rand/randfile.c:265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 267
    functionName: RAND_write_file
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached:
    - RAND_priv_bytes
    - open
    - chmod
    - ERR_raise_data
    - fwrite
    - fclose
    - close
    - fdopen
    - OPENSSL_cleanse
    - S_ISREG
    - openssl_fopen
    - stat
    linkageType: ''
    returnType: int
    signature: int RAND_write_file(const char *file)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:280,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:282,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:283,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:286,1
    - Dst: _alloca
      Src: /src/openssl/crypto/rand/randfile.c:292,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:294,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/rand/randfile.c:295,1
    - Dst: _alloca
      Src: /src/openssl/crypto/rand/randfile.c:298,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/rand/randfile.c:299,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/rand/randfile.c:306,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/rand/randfile.c:308,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/randfile.c:319,1
    - Dst: strcpy
      Src: /src/openssl/crypto/rand/randfile.c:323,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/randfile.c:325,1
    - Dst: strcpy
      Src: /src/openssl/crypto/rand/randfile.c:327,1
    - Dst: strcat
      Src: /src/openssl/crypto/rand/randfile.c:329,1
    - Dst: strcat
      Src: /src/openssl/crypto/rand/randfile.c:331,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 335
    functionName: RAND_file_name
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached:
    - strcat
    - strcpy
    - ossl_safe_getenv
    - strlen
    - WideCharToMultiByte
    - GetEnvironmentVariableW
    - _alloca
    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_unlikely
    - ossl_assert
    - 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:24,1
    - Dst: RAND_POOL_MIN_ALLOCATION
      Src: /src/openssl/crypto/rand/rand_pool.c:25,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:37,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_pool.c:49,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: 51
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: ossl_rand_pool_new
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - RAND_POOL_MIN_ALLOCATION
    - OPENSSL_secure_zalloc
    - OPENSSL_free
    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:62,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: 81
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 81
    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:99,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_pool.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: ossl_rand_pool_free
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_secure_clear_free
    - OPENSSL_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: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    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: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    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: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    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: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    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:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - buffer
    argTypes:
    - RAND_POOL*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    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: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    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: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    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: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    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:204,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:213,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:215,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rand/rand_pool.c:218,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:220,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - len
    argTypes:
    - RAND_POOL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 227
    functionName: rand_pool_grow
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_clear_free
    - ERR_raise
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_zalloc
    - memcpy
    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:238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:241,1
    - Dst: ENTROPY_TO_BYTES
      Src: /src/openssl/crypto/rand/rand_pool.c:245,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/rand_pool.c:249,1
    - Dst: rand_pool_grow
      Src: /src/openssl/crypto/rand/rand_pool.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pool
    - entropy_factor
    argTypes:
    - RAND_POOL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 280
    functionName: ossl_rand_pool_bytes_needed
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - rand_pool_grow
    - ERR_raise
    - ENTROPY_TO_BYTES
    - ossl_rand_pool_entropy_needed
    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: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    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:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:320,1
    - Dst: rand_pool_grow
      Src: /src/openssl/crypto/rand/rand_pool.c:330,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rand/rand_pool.c:332,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: 338
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 338
    functionName: ossl_rand_pool_add
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - rand_pool_grow
    - memcpy
    - ERR_raise
    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:358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:363,1
    - Dst: rand_pool_grow
      Src: /src/openssl/crypto/rand/rand_pool.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pool
    - len
    argTypes:
    - RAND_POOL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 380
    functionName: ossl_rand_pool_add_begin
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - rand_pool_grow
    - ERR_raise
    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:394,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: 404
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 404
    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:425,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:430,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: 443
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 443
    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:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 86
    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:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:112,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rand/rand_lib.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dgbl
    - name
    argTypes:
    - RAND_GLOBAL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: set_random_provider_name
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int set_random_provider_name(RAND_GLOBAL *dgbl, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rand/rand_lib.c:128,1
    - Dst: ossl_rand_pool_init
      Src: /src/openssl/crypto/rand/rand_lib.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 145
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - 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:156,1
    - Dst: RAND_set_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:157,1
    - Dst: ossl_rand_pool_cleanup
      Src: /src/openssl/crypto/rand/rand_lib.c:159,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:161,1
    - Dst: ossl_release_default_drbg_ctx
      Src: /src/openssl/crypto/rand/rand_lib.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: ossl_rand_cleanup_int
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - RAND_set_rand_method
    - RAND_METHOD*::cleanup
    - ossl_release_default_drbg_ctx
    - ossl_rand_pool_cleanup
    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:175,1
    - Dst: ossl_rand_pool_keep_random_devices_open
      Src: /src/openssl/crypto/rand/rand_lib.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    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:191,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:192,1
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/crypto/rand/rand_lib.c:199,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/openssl/crypto/rand/rand_lib.c:206,1
    - Dst: RAND_METHOD*::add
      Src: /src/openssl/crypto/rand/rand_lib.c:210,1
    - Dst: ossl_rand_pool_buffer
      Src: /src/openssl/crypto/rand/rand_lib.c:210,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/crypto/rand/rand_lib.c:211,1
    - Dst: ossl_rand_pool_entropy
      Src: /src/openssl/crypto/rand/rand_lib.c:212,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/crypto/rand/rand_lib.c:218,1
    - Dst: RAND_seed
      Src: /src/openssl/crypto/rand/rand_lib.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: RAND_poll
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - ossl_rand_pool_free
    - ossl_pool_acquire_entropy
    - RAND_OpenSSL
    - ossl_rand_pool_buffer
    - RAND_seed
    - ossl_rand_pool_new
    - ossl_rand_pool_entropy
    - RAND_METHOD*::add
    - ossl_rand_pool_length
    - RAND_get_rand_method
    linkageType: ''
    returnType: int
    signature: int RAND_poll(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/rand/rand_lib.c:231,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/rand/rand_lib.c:233,1
    - Dst: CRYPTO_atomic_store_ptr
      Src: /src/openssl/crypto/rand/rand_lib.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - meth
    - e
    argTypes:
    - RAND_METHOD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: rand_set_rand_method_internal
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_atomic_store_ptr
    - RUN_ONCE
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int rand_set_rand_method_internal(const RAND_METHOD *meth,\n    ENGINE
      *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_set_rand_method_internal
      Src: /src/openssl/crypto/rand/rand_lib.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RAND_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/rand/rand_lib.c:250,1
    - Dst: CRYPTO_atomic_load_ptr
      Src: /src/openssl/crypto/rand/rand_lib.c:253,1
    - Dst: CRYPTO_atomic_cmp_exch_ptr
      Src: /src/openssl/crypto/rand/rand_lib.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 274
    functionName: RAND_get_rand_method
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_atomic_cmp_exch_ptr
    - RUN_ONCE
    - CRYPTO_atomic_load_ptr
    linkageType: ''
    returnType: RAND_METHOD
    signature: RAND_METHOD *RAND_get_rand_method(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:281,1
    - Dst: RAND_METHOD*::seed
      Src: /src/openssl/crypto/rand/rand_lib.c:284,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:289,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_lib.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 292
    functionName: RAND_seed
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - RAND_METHOD*::seed
    - RAND_get0_primary
    - EVP_RAND_reseed
    - RAND_get_rand_method
    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:298,1
    - Dst: RAND_METHOD*::add
      Src: /src/openssl/crypto/rand/rand_lib.c:301,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:305,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_lib.c:309,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_lib.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - num
    - randomness
    argTypes:
    - void*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 314
    functionName: RAND_add
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 2
    functionsReached:
    - RAND_METHOD*::add
    - RAND_get0_primary
    - EVP_RAND_reseed
    - RAND_get_rand_method
    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:319,1
    - Dst: RAND_METHOD*::pseudorand
      Src: /src/openssl/crypto/rand/rand_lib.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: RAND_pseudo_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - RAND_METHOD*::pseudorand
    - ERR_raise
    - RAND_get_rand_method
    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:332,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:334,1
    - Dst: RAND_METHOD*::status
      Src: /src/openssl/crypto/rand/rand_lib.c:335,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:338,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/crypto/rand/rand_lib.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: RAND_status
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 2
    functionsReached:
    - EVP_RAND_get_state
    - RAND_OpenSSL
    - RAND_METHOD*::status
    - RAND_get0_primary
    - RAND_get_rand_method
    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: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    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:363,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:367,1
    - Dst: RAND_METHOD*::bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:372,1
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:377,1
    - Dst: ossl_provider_random_bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:382,1
    - Dst: rand_get0_private
      Src: /src/openssl/crypto/rand/rand_lib.c:386,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/crypto/rand/rand_lib.c:388,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: 391
      start: 357
    functionDepth: 6
    functionLinenumber: 357
    functionLinenumberEnd: 391
    functionName: RAND_priv_bytes_ex
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 9
    functionsReached:
    - rand_get_global
    - RAND_METHOD*::bytes
    - RAND_OpenSSL
    - EVP_RAND_generate
    - ossl_provider_random_bytes
    - ERR_raise
    - rand_get0_private
    - RAND_get_rand_method
    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:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 7
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: RAND_priv_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 4
    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:406,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:410,1
    - Dst: RAND_METHOD*::bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:415,1
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:420,1
    - Dst: ossl_provider_random_bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:425,1
    - Dst: rand_get0_public
      Src: /src/openssl/crypto/rand/rand_lib.c:430,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/crypto/rand/rand_lib.c:432,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: 435
      start: 400
    functionDepth: 6
    functionLinenumber: 400
    functionLinenumberEnd: 435
    functionName: RAND_bytes_ex
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 18
    functionsReached:
    - rand_get_global
    - rand_get0_public
    - RAND_METHOD*::bytes
    - RAND_OpenSSL
    - EVP_RAND_generate
    - ossl_provider_random_bytes
    - ERR_raise
    - RAND_get_rand_method
    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:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 7
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: RAND_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    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:450,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/rand/rand_lib.c:460,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rand/rand_lib.c:463,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rand/rand_lib.c:468,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:475,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:478,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 482
    functionName: ossl_rand_ctx_new
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_lock_new
    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:491,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:492,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:498,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:501,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:502,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - vdgbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 484
    functionDepth: 5
    functionLinenumber: 484
    functionLinenumberEnd: 505
    functionName: ossl_rand_ctx_free
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - EVP_RAND_CTX_free
    - OPENSSL_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:510,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:516,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:517,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:518,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:520,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:521,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 6
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: rand_delete_thread_state
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    linkageType: ''
    returnType: void
    signature: void rand_delete_thread_state(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:534,1
    - Dst: OPENSSL_MSTR
      Src: /src/openssl/crypto/rand/rand_lib.c:543,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:550,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/crypto/rand/rand_lib.c:551,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:555,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/crypto/rand/rand_lib.c:558,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/rand/rand_lib.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:561,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/crypto/rand/rand_lib.c:564,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:565,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 526
    functionDepth: 10
    functionLinenumber: 526
    functionLinenumberEnd: 572
    functionName: rand_new_seed
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - ERR_pop_to_mark
    - EVP_RAND_free
    - OPENSSL_MSTR
    - EVP_RAND_CTX_new
    - ERR_raise
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - ERR_set_mark
    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:578,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:584,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 6
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: ossl_rand_get0_seed_noncreating
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    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:597,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/crypto/rand/rand_lib.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:610,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/rand/rand_lib.c:613,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/rand/rand_lib.c:613,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/crypto/rand/rand_lib.c:614,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/rand/rand_lib.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:617,1
    - Dst: EVP_RAND_CTX_settable_params
      Src: /src/openssl/crypto/rand/rand_lib.c:621,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:622,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:624,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:628,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:629,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:632,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:635,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:637,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:638,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:639,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/rand/rand_lib.c:640,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/rand/rand_lib.c:641,1
    - Dst: OSSL_PARAM_construct_time_t
      Src: /src/openssl/crypto/rand/rand_lib.c:643,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rand/rand_lib.c:645,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/crypto/rand/rand_lib.c:646,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:647,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:648,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: 652
      start: 592
    functionDepth: 10
    functionLinenumber: 592
    functionLinenumberEnd: 652
    functionName: rand_new_drbg
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - EVP_RAND_get0_provider
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_free
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_settable_params
    - EVP_RAND_CTX_new
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_time_t
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - ossl_provider_name
    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:660,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:662,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/crypto/rand/rand_lib.c:665,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/rand/rand_lib.c:666,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:668,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/crypto/rand/rand_lib.c:672,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:673,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - libctx
    - parent
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 655
    functionDepth: 10
    functionLinenumber: 655
    functionLinenumberEnd: 678
    functionName: rand_new_crngt
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_free
    - EVP_RAND_CTX_new
    - ERR_raise
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *rand_new_crngt(OSSL_LIB_CTX *libctx, EVP_RAND_CTX *parent)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:693,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:698,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:706,1
    - Dst: rand_new_seed
      Src: /src/openssl/crypto/rand/rand_lib.c:707,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:708,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:709,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:710,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:713,1
    - Dst: rand_new_crngt
      Src: /src/openssl/crypto/rand/rand_lib.c:719,1
    - Dst: rand_new_drbg
      Src: /src/openssl/crypto/rand/rand_lib.c:721,1
    - Dst: EVP_RAND_enable_locking
      Src: /src/openssl/crypto/rand/rand_lib.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:731,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:732,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:740,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:745,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:746,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:747,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:753,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - dgbl
    argTypes:
    - OSSL_LIB_CTX*
    - RAND_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 686
    functionDepth: 11
    functionLinenumber: 686
    functionLinenumberEnd: 756
    functionName: rand_get0_primary
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - CRYPTO_THREAD_unlock
    - ERR_clear_last_mark
    - ERR_count_to_mark
    - ERR_raise
    - rand_new_crngt
    - rand_new_drbg
    - EVP_RAND_enable_locking
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - EVP_RAND_CTX_free
    - ERR_set_mark
    - 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:765,1
    - Dst: rand_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 12
    functionLinenumber: 763
    functionLinenumberEnd: 768
    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:775,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:783,1
    - Dst: rand_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:785,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:793,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/rand/rand_lib.c:794,1
    - Dst: rand_new_drbg
      Src: /src/openssl/crypto/rand/rand_lib.c:796,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:798,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - dgbl
    argTypes:
    - OSSL_LIB_CTX*
    - RAND_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 770
    functionDepth: 12
    functionLinenumber: 770
    functionLinenumberEnd: 804
    functionName: rand_get0_public
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - ossl_lib_ctx_get_concrete
    - ossl_init_thread_start
    - rand_new_drbg
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    - rand_get0_primary
    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:812,1
    - Dst: rand_get0_public
      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: 13
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: RAND_get0_public
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_get_global
    - rand_get0_public
    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:822,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:826,1
    - Dst: rand_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:828,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:836,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/rand/rand_lib.c:837,1
    - Dst: rand_new_drbg
      Src: /src/openssl/crypto/rand/rand_lib.c:839,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:841,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - dgbl
    argTypes:
    - OSSL_LIB_CTX*
    - RAND_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 817
    functionDepth: 12
    functionLinenumber: 817
    functionLinenumberEnd: 847
    functionName: rand_get0_private
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - ossl_lib_ctx_get_concrete
    - ossl_init_thread_start
    - rand_new_drbg
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    - rand_get0_primary
    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:855,1
    - Dst: rand_get0_private
      Src: /src/openssl/crypto/rand/rand_lib.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 853
    functionDepth: 13
    functionLinenumber: 853
    functionLinenumberEnd: 858
    functionName: RAND_get0_private
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - rand_get0_private
    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:863,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 6
    functionLinenumber: 861
    functionLinenumberEnd: 869
    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:874,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:880,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:881,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - rand
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 6
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: RAND_set0_public
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    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:888,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:894,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:895,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - rand
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 6
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: RAND_set0_private
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    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:906,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: random_set_string
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:920,1
    - Dst: NCONF_get0_libctx
      Src: /src/openssl/crypto/rand/rand_lib.c:922,1
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:923,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/rand/rand_lib.c:926,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/rand/rand_lib.c:927,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/rand/rand_lib.c:930,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/rand/rand_lib.c:930,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:932,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/rand/rand_lib.c:939,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/rand/rand_lib.c:940,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:941,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:942,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:944,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:945,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:947,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:948,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:950,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:951,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:953,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:954,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:956,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:957,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:959,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/rand/rand_lib.c:961,1
    - Dst: RAND_set1_random_provider
      Src: /src/openssl/crypto/rand/rand_lib.c:964,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:965,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/crypto/rand/rand_lib.c:966,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/crypto/rand/rand_lib.c:980,1
    - Dst: set_random_provider_name
      Src: /src/openssl/crypto/rand/rand_lib.c:981,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/rand_lib.c:985,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 918
    functionDepth: 7
    functionLinenumber: 918
    functionLinenumberEnd: 992
    functionName: random_conf_init
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - set_random_provider_name
    - NCONF_get_section
    - ERR_raise_data
    - OSSL_TRACE1
    - CONF_imodule_get_value
    - random_set_string
    - ERR_raise
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - STACK_OF
    - OPENSSL_strcasecmp
    - RAND_set1_random_provider
    - OSSL_PROVIDER_unload
    - ossl_provider_find
    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:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 997
    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:1001,1
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/rand/rand_lib.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    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:1008,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:1013,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1016,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1017,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1018,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1019,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: 1020
      start: 1005
    functionDepth: 6
    functionLinenumber: 1005
    functionLinenumberEnd: 1020
    functionName: RAND_set_DRBG_type
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - random_set_string
    - 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:1025,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:1030,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1033,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - seed
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1022
    functionDepth: 6
    functionLinenumber: 1022
    functionLinenumberEnd: 1035
    functionName: RAND_set_seed_source_type
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - random_set_string
    - 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:1039,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:1045,1
    - Dst: set_random_provider_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1054,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - prov
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1037
    functionDepth: 6
    functionLinenumber: 1037
    functionLinenumberEnd: 1059
    functionName: RAND_set1_random_provider
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_get_global
    - OSSL_PROVIDER_get0_name
    - set_random_provider_name
    - OPENSSL_free
    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:1068,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rand/rand_lib.c:1078,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - prov
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1065
    functionDepth: 6
    functionLinenumber: 1065
    functionLinenumberEnd: 1083
    functionName: ossl_rand_check_random_provider_on_load
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_get_global
    - OSSL_PROVIDER_get0_name
    - strcmp
    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:1092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - prov
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1089
    functionDepth: 6
    functionLinenumber: 1089
    functionLinenumberEnd: 1100
    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_rand_pool_free
    - ossl_pool_acquire_entropy
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_rand_pool_length
    - ossl_rand_pool_detach
    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:
    - evp_rand_can_seed
    - ossl_rand_get_entropy
    - ossl_rand_get0_seed_noncreating
    - evp_rand_get_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_can_seed
    - ossl_rand_get0_seed_noncreating
    - evp_rand_clear_seed
    - OPENSSL_secure_clear_free
    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_free
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_pool_add_nonce_data
    - ossl_rand_pool_add
    - ossl_rand_pool_length
    - ossl_rand_pool_detach
    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_ctrl
    - OPENSSL_zalloc
    - BIO_new
    - OPENSSL_free
    - BIO_pop
    - BIO_f_asn1
    - BIO_free
    - ERR_raise
    - BIO_asn1_set_prefix
    - BIO_asn1_set_suffix
    - BIO_push
    - ASN1_AUX*::asn1_cb
    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:
    - ndef_prefix_free
    - OPENSSL_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:214,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/bio_ndef.c:217,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/openssl/crypto/asn1/bio_ndef.c:222,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: 230
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 230
    functionName: ndef_suffix
    functionSourceFile: /src/openssl/crypto/asn1/bio_ndef.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - ASN1_item_ndef_i2d
    - ASN1_AUX*::asn1_cb
    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
    - X509_PKEY_free
    - ERR_raise
    - 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:
    - X509_ALGOR_free
    - ASN1_OCTET_STRING_free
    - EVP_PKEY_free
    - OPENSSL_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: 0
    functionsReached:
    - EVP_PKEY_get_id
    - ERR_raise
    - EVP_PKEY_set_type
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY*::ameth::param_decode
    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:
    - asn1_d2i_read_bio
    - d2i_KeyParams
    - BUF_MEM_free
    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:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_digest.c:32,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_digest.c:35,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_digest.c:38,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/asn1/a_digest.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_digest.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_digest.c:44,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: 46
      start: 24
    functionDepth: 9
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: ASN1_digest
    functionSourceFile: /src/openssl/crypto/asn1/a_digest.c
    functionUses: 0
    functionsReached:
    - i2d
    - EVP_Digest
    - OPENSSL_free
    - ERR_raise
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_digest.c:58,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/asn1/a_digest.c:62,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/asn1/a_digest.c:63,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/asn1/a_digest.c:63,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/asn1/a_digest.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_digest.c:69,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/asn1/a_digest.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    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: 73
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: ossl_asn1_item_digest_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_digest.c
    functionUses: 4
    functionsReached:
    - ASN1_item_i2d
    - EVP_Digest
    - OPENSSL_free
    - EVP_MD_get0_provider
    - EVP_MD_get0_name
    - EVP_MD_fetch
    - EVP_MD_free
    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:78,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: 79
      start: 75
    functionDepth: 11
    functionLinenumber: 75
    functionLinenumberEnd: 79
    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_CTX_free
    - ERR_raise
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_data
    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:83,1
    - Dst: EVP_PKEY*::ameth::param_encode
      Src: /src/openssl/crypto/asn1/i2d_evp.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 12
    functionLinenumber: 73
    functionLinenumberEnd: 89
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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:99,1
    - Dst: i2d_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:111,1
    - Dst: EVP_PKEY*::ameth::old_priv_encode
      Src: /src/openssl/crypto/asn1/i2d_evp.c:115,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/crypto/asn1/i2d_evp.c:118,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/i2d_evp.c:122,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/i2d_evp.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - a
    - pp
    - traditional
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 12
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: i2d_PrivateKey_impl
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY2PKCS8
    - evp_pkey_is_provided
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise
    - i2d_provided
    - EVP_PKEY*::ameth::old_priv_encode
    - i2d_PKCS8_PRIV_KEY_INFO
    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:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 13
    functionLinenumber: 131
    functionLinenumberEnd: 134
    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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 13
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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:143,1
    - Dst: i2d_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:152,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/asn1/i2d_evp.c:154,1
    - Dst: i2d_RSAPublicKey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:156,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/asn1/i2d_evp.c:156,1
    - Dst: i2d_DSAPublicKey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:159,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/asn1/i2d_evp.c:159,1
    - Dst: i2o_ECPublicKey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:163,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/asn1/i2d_evp.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 12
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: i2d_PublicKey
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - i2d_DSAPublicKey
    - i2o_ECPublicKey
    - ERR_raise
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_get0_RSA
    - i2d_RSAPublicKey
    - EVP_PKEY_get0_DSA
    - i2d_provided
    - EVP_PKEY_get_base_id
    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:
    - REF_ASSERT_ISNT
    - CRYPTO_NEW_REF
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_lock_free
    - offset2ptr
    - CRYPTO_FREE_REF
    - ERR_raise
    - CRYPTO_THREAD_lock_new
    - CRYPTO_DOWN_REF
    - REF_PRINT_EX
    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:
    - memcpy
    - asn1_get_enc_ptr
    - OPENSSL_malloc
    - OPENSSL_free
    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:
    - asn1_get_const_enc_ptr
    - memcpy
    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:
    - ASN1_ADB*::adb_cb
    - ASN1_INTEGER_get
    - offset2ptr
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_ADB_ptr
    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:56,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/a_sign.c:57,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/a_sign.c:61,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_sign.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:68,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_sign.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:75,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_sign.c:79,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/asn1/a_sign.c:80,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_sign.c:81,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_sign.c:88,1
    - Dst: EVP_SignInit_ex
      Src: /src/openssl/crypto/asn1/a_sign.c:89,1
    - Dst: EVP_SignUpdate
      Src: /src/openssl/crypto/asn1/a_sign.c:90,1
    - Dst: EVP_SignFinal
      Src: /src/openssl/crypto/asn1/a_sign.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:94,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:97,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/asn1/a_sign.c:103,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_sign.c:105,1
    - Dst: OPENSSL_clear_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
    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: 109
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 109
    functionName: ASN1_sign
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 0
    functionsReached:
    - i2d
    - OBJ_nid2obj
    - ASN1_STRING_set0
    - EVP_SignUpdate
    - ASN1_TYPE_free
    - ossl_asn1_bit_string_set_unused_bits
    - EVP_SignInit_ex
    - OPENSSL_clear_free
    - ASN1_TYPE_new
    - ERR_raise
    - EVP_SignFinal
    - EVP_PKEY_get_size
    - ASN1_OBJECT_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    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:117,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: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    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:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:131,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/crypto/asn1/a_sign.c:135,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:138,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/asn1/a_sign.c:141,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:141,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_sign.c:142,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: 144
      start: 121
    functionDepth: 8
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: ASN1_item_sign_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 7
    functionsReached:
    - EVP_DigestSignInit
    - evp_md_ctx_new_ex
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - ASN1_item_sign_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/asn1/a_sign.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:153,1
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/asn1/a_sign.c:156,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/a_sign.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - algor
    - aid
    - len
    argTypes:
    - X509_ALGOR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: replace_algor_contents_from_DER
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_copy
    - X509_ALGOR_free
    - ERR_raise
    - d2i_X509_ALGOR
    linkageType: ''
    returnType: int
    signature: int replace_algor_contents_from_DER(X509_ALGOR *algor, const unsigned
      char *aid, size_t len)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/asn1/a_sign.c:173,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:177,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/asn1/a_sign.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:184,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/asn1/a_sign.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:194,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/asn1/a_sign.c:198,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/asn1/a_sign.c:200,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/asn1/a_sign.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:206,1
    - Dst: replace_algor_contents_from_DER
      Src: /src/openssl/crypto/asn1/a_sign.c:210,1
    - Dst: replace_algor_contents_from_DER
      Src: /src/openssl/crypto/asn1/a_sign.c:212,1
    - Dst: EVP_PKEY*::ameth::item_sign
      Src: /src/openssl/crypto/asn1/a_sign.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:237,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/asn1/a_sign.c:243,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/asn1/a_sign.c:247,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/asn1/a_sign.c:247,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:248,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:254,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_sign.c:254,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:257,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_sign.c:257,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_sign.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:264,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/crypto/asn1/a_sign.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:270,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_sign.c:274,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/crypto/asn1/a_sign.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:282,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:285,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/asn1/a_sign.c:291,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_sign.c:293,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_sign.c:294,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 105
    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: 296
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 296
    functionName: ASN1_item_sign_ctx
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 6
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_MD_CTX_get0_md
    - EVP_PKEY*::ameth::item_sign
    - EVP_MD_nid
    - OBJ_nid2obj
    - ASN1_STRING_set0
    - ossl_asn1_bit_string_set_unused_bits
    - ERR_raise
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - EVP_PKEY_CTX_get0_pkey
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_get_params
    - X509_ALGOR_set0
    - EVP_MD_CTX_get_pkey_ctx
    - ASN1_item_i2d
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_get_id
    - OBJ_find_sigid_by_algs
    - EVP_DigestSign
    - replace_algor_contents_from_DER
    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:
    - OBJ_nid2obj
    - ASN1_STRING_set0
    - ASN1_STRING_free
    - OPENSSL_free
    - ASN1_item_pack
    - ERR_raise
    - PBEPARAM_new
    - memcpy
    - RAND_bytes_ex
    - X509_ALGOR_set0
    - ASN1_ITEM_rptr
    - PBEPARAM_free
    - ASN1_INTEGER_set
    - 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:
    - PKCS5_pbe_set0_algor_ex
    - X509_ALGOR_free
    - ERR_raise
    - X509_ALGOR_new
    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:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:93,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/asn1/a_object.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:106,1
    - Dst: BN_new
      Src: /src/openssl/crypto/asn1/a_object.c:112,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/asn1/a_object.c:113,1
    - Dst: BN_mul_word
      Src: /src/openssl/crypto/asn1/a_object.c:117,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/asn1/a_object.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:125,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/asn1/a_object.c:129,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/asn1/a_object.c:137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:141,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_object.c:143,1
    - Dst: BN_div_word
      Src: /src/openssl/crypto/asn1/a_object.c:148,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_add_word
    - BN_set_word
    - OPENSSL_free
    - ERR_raise
    - ossl_isdigit
    - BN_free
    - BN_num_bits
    - BN_div_word
    - strlen
    - BN_new
    - BN_mul_word
    - 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: 5
    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:
    - OPENSSL_free
    - BIO_write
    - ERR_raise
    - i2t_ASN1_OBJECT
    - BIO_dump
    - 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:260,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_object.c:273,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_object.c:280,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/a_object.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:290,1
    - Dst: ossl_asn1_object_new
      Src: /src/openssl/crypto/asn1/a_object.c:296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:309,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_object.c:310,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_object.c:315,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:318,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:335,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/a_object.c:337,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 339
    functionName: ossl_c2i_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2obj
    - ossl_asn1_object_new
    - OPENSSL_free
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_OBJECT_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: "ASN1_OBJECT *ossl_c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned
      char **pp,\n    long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: ASN1_OBJECT_new
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *ASN1_OBJECT_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/a_object.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: ossl_asn1_object_new
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *ossl_asn1_object_new(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:369,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
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: ASN1_OBJECT_free
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 30
    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:394,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: 395
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 395
    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:41,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:47,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/d2i_pr.c:48,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:49,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/asn1/d2i_pr.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:57,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:58,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/asn1/d2i_pr.c:62,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/d2i_pr.c:63,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:66,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/asn1/d2i_pr.c:74,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/asn1/d2i_pr.c:81,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:82,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/asn1/d2i_pr.c:85,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:93,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: 95
      start: 24
    functionDepth: 12
    functionLinenumber: 24
    functionLinenumberEnd: 95
    functionName: d2i_PrivateKey_decoder
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - PKCS8_PRIV_KEY_INFO_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OBJ_obj2txt
    - d2i_PKCS8_PRIV_KEY_INFO
    - ERR_raise
    - PKCS8_pkey_get0
    - evp_pkey_type2name
    - OSSL_DECODER_from_data
    - evp_keymgmt_util_has
    - ASN1_INTEGER_get_int64
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - ERR_set_mark
    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:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:106,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/asn1/d2i_pr.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:114,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:118,1
    - Dst: EVP_PKEY*::ameth::old_priv_decode
      Src: /src/openssl/crypto/asn1/d2i_pr.c:119,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/d2i_pr.c:124,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:126,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:129,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:130,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:132,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:135,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:137,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/asn1/d2i_pr.c:138,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/asn1/d2i_pr.c:138,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:142,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:146,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:154,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    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: 156
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 156
    functionName: ossl_d2i_PrivateKey_legacy
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY_type
    - ERR_clear_last_mark
    - EVP_PKEY_set_type
    - EVP_PKEY*::ameth::old_priv_decode
    - ERR_raise
    - d2i_PKCS8_PRIV_KEY_INFO
    - evp_pkcs82pkey_legacy
    - EVP_PKEY_get_base_id
    - EVP_PKEY_free
    - EVP_PKEY_new
    - ERR_set_mark
    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:164,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:167,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: 169
      start: 158
    functionDepth: 13
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: d2i_PrivateKey_ex
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    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:174,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: 175
      start: 171
    functionDepth: 14
    functionLinenumber: 171
    functionLinenumberEnd: 175
    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:183,1
    - Dst: d2i_ASN1_SEQUENCE_ANY
      Src: /src/openssl/crypto/asn1/d2i_pr.c:193,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/asn1/d2i_pr.c:199,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/asn1/d2i_pr.c:201,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/asn1/d2i_pr.c:203,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/d2i_pr.c:205,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:210,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:213,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:214,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:225,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:226,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: 227
      start: 177
    functionDepth: 6
    functionLinenumber: 177
    functionLinenumberEnd: 227
    functionName: d2i_AutoPrivateKey_legacy
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ossl_d2i_PrivateKey_legacy
    - sk_ASN1_TYPE_pop_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - ERR_raise
    - evp_pkcs82pkey_legacy
    - STACK_OF
    - d2i_ASN1_SEQUENCE_ANY
    - sk_ASN1_TYPE_num
    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:239,1
    - Dst: d2i_AutoPrivateKey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:242,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: 244
      start: 233
    functionDepth: 13
    functionLinenumber: 233
    functionLinenumberEnd: 244
    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:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 14
    functionLinenumber: 246
    functionLinenumberEnd: 250
    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: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: is_valid_date
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_date(int64_t year, int64_t month, int64_t day)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - hours
    - minutes
    - seconds
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: is_valid_time
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_time(int64_t hours, int64_t minutes, int64_t seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: is_valid_posix_time
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_posix_time(int64_t time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_date
      Src: /src/openssl/crypto/asn1/a_time_posix.c:99,1
    - Dst: is_valid_time
      Src: /src/openssl/crypto/asn1/a_time_posix.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - year
    - month
    - day
    - hours
    - minutes
    - seconds
    - out_time
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: posix_time_from_utc
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - is_valid_date
    - is_valid_time
    linkageType: ''
    returnType: int
    signature: "int posix_time_from_utc(int64_t year, int64_t month, int64_t day,\n
      \   int64_t hours, int64_t minutes, int64_t seconds,\n    int64_t *out_time)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_posix_time
      Src: /src/openssl/crypto/asn1/a_time_posix.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 7
    argNames:
    - time
    - out_year
    - out_month
    - out_day
    - out_hours
    - out_minutes
    - out_seconds
    argTypes:
    - int64_t
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: utc_from_posix_time
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - is_valid_posix_time
    linkageType: ''
    returnType: int
    signature: "int utc_from_posix_time(int64_t time, int *out_year, int *out_month,\n
      \   int *out_day, int *out_hours, int *out_minutes,\n    int *out_seconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: posix_time_from_utc
      Src: /src/openssl/crypto/asn1/a_time_posix.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tm
    - out
    argTypes:
    - struct tm*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: OPENSSL_tm_to_posix
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 2
    functionsReached:
    - posix_time_from_utc
    linkageType: ''
    returnType: int
    signature: int OPENSSL_tm_to_posix(const struct tm *tm, int64_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_time_posix.c:169,1
    - Dst: utc_from_posix_time
      Src: /src/openssl/crypto/asn1/a_time_posix.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - time
    - out_tm
    argTypes:
    - int64_t
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: OPENSSL_posix_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - memset
    - utc_from_posix_time
    linkageType: ''
    returnType: int
    signature: int OPENSSL_posix_to_tm(int64_t time, struct tm *out_tm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/crypto/asn1/a_time_posix.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - tm
    - out
    argTypes:
    - struct tm*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: ossl_asn1_time_tm_to_time_t
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_tm_to_posix
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_time_tm_to_time_t(const struct tm *tm, time_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_posix_to_tm
      Src: /src/openssl/crypto/asn1/a_time_posix.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - time
    - out_tm
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: ossl_asn1_time_time_t_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_posix_to_tm
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_time_time_t_to_tm(const time_t *time, struct tm *out_tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_tm_to_time_t
      Src: /src/openssl/crypto/asn1/a_time_posix.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tm
    - out
    argTypes:
    - struct tm*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: OPENSSL_timegm
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_tm_to_time_t
    linkageType: ''
    returnType: int
    signature: int OPENSSL_timegm(const struct tm *tm, time_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_time_t_to_tm
      Src: /src/openssl/crypto/asn1/a_time_posix.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - time
    - out_tm
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: OPENSSL_gmtime
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_time_t_to_tm
    linkageType: ''
    returnType: struct tm
    signature: struct tm *OPENSSL_gmtime(const time_t *time, struct tm *out_tm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/crypto/asn1/a_time_posix.c:226,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/asn1/a_time_posix.c:229,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/asn1/a_time_posix.c:230,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/asn1/a_time_posix.c:231,1
    - Dst: OPENSSL_posix_to_tm
      Src: /src/openssl/crypto/asn1/a_time_posix.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - tm
    - offset_day
    - offset_sec
    argTypes:
    - struct tm*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: OPENSSL_gmtime_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - OPENSSL_tm_to_posix
    - OPENSSL_posix_to_tm
    linkageType: ''
    returnType: int
    signature: int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/crypto/asn1/a_time_posix.c:252,1
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/crypto/asn1/a_time_posix.c:252,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/asn1/a_time_posix.c:256,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/asn1/a_time_posix.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - out_days
    - out_secs
    - from
    - to
    argTypes:
    - int*
    - int*
    - struct tm*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: OPENSSL_gmtime_diff
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - OPENSSL_tm_to_posix
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_gmtime_diff(int *out_days, int *out_secs, const struct
      tm *from,\n    const struct tm *to)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_posix_to_tm
      Src: /src/openssl/crypto/asn1/a_time_posix.c:275,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time_posix.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - posix_time
    - out_time
    argTypes:
    - int64_t
    - ASN1_TIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: ossl_posix_to_asn1_time
    functionSourceFile: /src/openssl/crypto/asn1/a_time_posix.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_from_tm
    - OPENSSL_posix_to_tm
    linkageType: ''
    returnType: int
    signature: int ossl_posix_to_asn1_time(int64_t posix_time, ASN1_TIME **out_time)
  - 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: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_time.c:103,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:118,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:125,1
    - Dst: leap_year
      Src: /src/openssl/crypto/asn1/a_time.c:154,1
    - Dst: determine_days
      Src: /src/openssl/crypto/asn1/a_time.c:161,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:183,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:214,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:218,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/crypto/asn1/a_time.c:233,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 135
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 247
    functionName: ossl_asn1_time_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ossl_ascii_isdigit
    - memset
    - determine_days
    - OPENSSL_gmtime_adj
    - leap_year
    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:256,1
    - Dst: is_utc
      Src: /src/openssl/crypto/asn1/a_time.c:261,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/a_time.c:268,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_time.c:274,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_time.c:286,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_time.c:291,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/asn1/a_time.c:298,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/a_time.c:303,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - s
    - ts
    - type
    argTypes:
    - ASN1_TIME*
    - struct tm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 305
    functionName: ossl_asn1_time_from_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ebcdic2ascii
    - ASN1_STRING_set
    - ASN1_STRING_free
    - BIO_snprintf
    - is_utc
    - ASN1_STRING_new
    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:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_TIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    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:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_time.c:320,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/crypto/asn1/a_time.c:324,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time.c:327,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: 328
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 328
    functionName: ASN1_TIME_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime
    - ERR_raise
    - OPENSSL_gmtime_adj
    - ossl_asn1_time_from_tm
    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:333,1
    - Dst: ASN1_UTCTIME_check
      Src: /src/openssl/crypto/asn1/a_time.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 337
    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:346,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - t
    - out
    argTypes:
    - ASN1_TIME*
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 358
    functionName: ASN1_TIME_to_generalizedtime
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_time_from_tm
    - ASN1_TIME_to_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:363,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/asn1/a_time.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_TIME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 366
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_time.c:375,1
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:401,1
    - Dst: is_utc
      Src: /src/openssl/crypto/asn1/a_time.c:412,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/crypto/asn1/a_time.c:413,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/crypto/asn1/a_time.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_TIME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 419
    functionName: ASN1_TIME_set_string_X509
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_set_string
    - strlen
    - is_utc
    - ossl_asn1_time_to_tm
    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:426,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_time.c:427,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_time.c:428,1
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - tm
    argTypes:
    - ASN1_TIME*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: ASN1_TIME_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 3
    functionsReached:
    - OPENSSL_gmtime
    - memset
    - time
    - ossl_asn1_time_to_tm
    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:441,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:443,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/crypto/asn1/a_time.c:445,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: 446
      start: 436
    functionDepth: 6
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: ASN1_TIME_diff
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_to_tm
    - OPENSSL_gmtime_diff
    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:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    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:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - tm
    - flags
    argTypes:
    - BIO*
    - ASN1_TIME*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 463
    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:475,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_time.c:476,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:493,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:499,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:505,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:514,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - bp
    - tm
    - flags
    argTypes:
    - BIO*
    - ASN1_TIME*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 467
    functionDepth: 5
    functionLinenumber: 467
    functionLinenumberEnd: 525
    functionName: ossl_asn1_time_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - ossl_asn1_time_to_tm
    - BIO_printf
    - ossl_ascii_isdigit
    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:532,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_time.c:535,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/crypto/asn1/a_time.c:538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_TIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 527
    functionDepth: 6
    functionLinenumber: 527
    functionLinenumberEnd: 546
    functionName: ASN1_TIME_cmp_time_t
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - OPENSSL_gmtime
    - ASN1_TIME_to_tm
    - OPENSSL_gmtime_diff
    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:552,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 6
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: ASN1_TIME_normalize
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_from_tm
    - ASN1_TIME_to_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:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 7
    functionLinenumber: 558
    functionLinenumberEnd: 569
    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_free
    - ERR_raise
    - ASN1_d2i_bio
    - BIO_set_fp
    - 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:
    - asn1_d2i_read_bio
    - BUF_MEM_free
    - 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
    - asn1_d2i_read_bio
    - BUF_MEM_free
    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_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    - ASN1_item_d2i_bio_ex
    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: 30
    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:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:203,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:218,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:222,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:222,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:225,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:253,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:267,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:301,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:306,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:309,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:310,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 153
    argCount: 2
    argNames:
    - in
    - pb
    argTypes:
    - BIO*
    - BUF_MEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 312
    functionName: asn1_d2i_read_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 5
    functionsReached:
    - BUF_MEM_new
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - ERR_peek_last_error
    - BIO_read
    - ERR_GET_REASON
    - BUF_MEM_grow_clean
    - ERR_raise
    - BUF_MEM_free
    - ASN1_get_object
    - ERR_set_mark
    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: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    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: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    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:54,1
    - Dst: strtoul
      Src: /src/openssl/crypto/asn1/a_strnid.c:57,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:60,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:62,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:64,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:66,1
    - Dst: ASN1_STRING_set_default_mask
      Src: /src/openssl/crypto/asn1/a_strnid.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: ASN1_STRING_set_default_mask_asc
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - strtoul
    - CHECK_AND_SKIP_PREFIX
    - ASN1_STRING_set_default_mask
    - strcmp
    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:91,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/crypto/asn1/a_strnid.c:96,1
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/crypto/asn1/a_strnid.c:99,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: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: ASN1_STRING_set_by_NID
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 2
    functionsReached:
    - ASN1_mbstring_ncopy
    - ASN1_STRING_TABLE_get
    - ASN1_mbstring_copy
    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: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    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: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    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:132,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/asn1/a_strnid.c:138,1
    - Dst: sk_ASN1_STRING_TABLE_sort
      Src: /src/openssl/crypto/asn1/a_strnid.c:144,1
    - Dst: sk_ASN1_STRING_TABLE_find
      Src: /src/openssl/crypto/asn1/a_strnid.c:145,1
    - Dst: sk_ASN1_STRING_TABLE_value
      Src: /src/openssl/crypto/asn1/a_strnid.c:147,1
    - Dst: OBJ_bsearch_table
      Src: /src/openssl/crypto/asn1/a_strnid.c:149,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/a_strnid.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: ASN1_STRING_TABLE_get
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 1
    functionsReached:
    - sk_ASN1_STRING_TABLE_sort
    - OBJ_bsearch_table
    - sk_ASN1_STRING_TABLE_find
    - ERR_raise
    - OPENSSL_init_crypto
    - OSSL_NELEM
    - 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:163,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/crypto/asn1/a_strnid.c:167,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/a_strnid.c:170,1
    - Dst: sk_ASN1_STRING_TABLE_push
      Src: /src/openssl/crypto/asn1/a_strnid.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_strnid.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: stable_get
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - sk_ASN1_STRING_TABLE_push
    - sk_ASN1_STRING_TABLE_new
    - ASN1_STRING_TABLE_get
    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:198,1
    - Dst: stable_get
      Src: /src/openssl/crypto/asn1/a_strnid.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strnid.c:204,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: 216
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 216
    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:220,1
    - Dst: sk_ASN1_STRING_TABLE_pop_free
      Src: /src/openssl/crypto/asn1/a_strnid.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: ASN1_STRING_TABLE_cleanup
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_STRING_TABLE_pop_free
    - STACK_OF
    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:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - ASN1_STRING_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    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: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    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: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    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: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    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:140,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:143,1
    - Dst: ASN1_item_ex_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:146,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: 148
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: asn1_item_ex_d2i_intern
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 0
    functionsReached:
    - ASN1_item_ex_free
    - ERR_raise
    - asn1_item_embed_d2i
    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:154,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: 156
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: ASN1_item_ex_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    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:168,1
    - Dst: asn1_item_ex_d2i_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:169,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: 174
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 174
    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:180,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: 181
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: ASN1_item_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 5
    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:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:236,1
    - Dst: asn1_template_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:240,1
    - Dst: asn1_d2i_ex_primitive
      Src: /src/openssl/crypto/asn1/tasn_dec.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:252,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:270,1
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/asn1/tasn_dec.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:279,1
    - Dst: asn1_d2i_ex_primitive
      Src: /src/openssl/crypto/asn1/tasn_dec.c:282,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_d2i_ex
      Src: /src/openssl/crypto/asn1/tasn_dec.c:288,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:290,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:298,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:302,1
    - Dst: ossl_asn1_get_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_dec.c:306,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:309,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:310,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_dec.c:311,1
    - Dst: ossl_asn1_item_ex_new_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:314,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:320,1
    - Dst: asn1_template_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:324,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:338,1
    - Dst: ASN1_item_ex_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:350,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_dec.c:354,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:356,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:375,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:387,1
    - Dst: ossl_asn1_item_ex_new_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:392,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:393,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:397,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:405,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:408,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:409,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:417,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:420,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:425,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:427,1
    - Dst: asn1_template_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:448,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:457,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:465,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:466,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:471,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:482,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:487,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:491,1
    - Dst: ossl_asn1_enc_save
      Src: /src/openssl/crypto/asn1/tasn_dec.c:496,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:498,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:507,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/asn1/tasn_dec.c:510,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/asn1/tasn_dec.c:513,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: 515
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 515
    functionName: asn1_item_embed_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 2
    functionsReached:
    - ossl_asn1_item_ex_new_intern
    - ASN1_EXTERN_FUNCS*::asn1_ex_d2i_ex
    - asn1_template_ex_d2i
    - ASN1_item_ex_free
    - ossl_asn1_do_adb
    - ossl_asn1_get_field_ptr
    - ossl_asn1_enc_save
    - ERR_raise
    - ASN1_tag2bit
    - ASN1_EXTERN_FUNCS*::asn1_ex_d2i
    - ossl_asn1_set_choice_selector
    - asn1_check_tlen
    - asn1_d2i_ex_primitive
    - asn1_cb
    - ossl_asn1_template_free
    - asn1_check_eoc
    - ERR_add_error_data
    - 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:547,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:551,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:556,1
    - Dst: asn1_template_noexp_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:563,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:570,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:579,1
    - Dst: asn1_template_noexp_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:584,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: 592
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 592
    functionName: asn1_template_ex_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_check_tlen
    - ERR_raise
    - asn1_template_noexp_d2i
    - asn1_check_eoc
    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:636,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:639,1
    - Dst: sk_ASN1_VALUE_new_null
      Src: /src/openssl/crypto/asn1/tasn_dec.c:644,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_dec.c:649,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_dec.c:649,1
    - Dst: sk_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_dec.c:651,1
    - Dst: sk_ASN1_VALUE_pop
      Src: /src/openssl/crypto/asn1/tasn_dec.c:652,1
    - Dst: ASN1_item_ex_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:653,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:653,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:658,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:667,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:669,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:677,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:678,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:681,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:683,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:683,1
    - Dst: sk_ASN1_VALUE_push
      Src: /src/openssl/crypto/asn1/tasn_dec.c:687,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_dec.c:687,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:688,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:689,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:689,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:694,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:699,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:700,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:703,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:709,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:712,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: 723
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 723
    functionName: asn1_template_noexp_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - sk_ASN1_VALUE_pop
    - sk_ASN1_VALUE_push
    - asn1_item_embed_d2i
    - ASN1_item_ex_free
    - ASN1_item_free
    - ERR_raise
    - sk_ASN1_VALUE_new_null
    - asn1_check_tlen
    - ASN1_ITEM_ptr
    - STACK_OF
    - asn1_check_eoc
    - sk_ASN1_VALUE_num
    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:739,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:757,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:761,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:764,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:776,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:779,1
    - Dst: asn1_tlc_clear
      Src: /src/openssl/crypto/asn1/tasn_dec.c:792,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:796,1
    - Dst: asn1_find_end
      Src: /src/openssl/crypto/asn1/tasn_dec.c:803,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:814,1
    - Dst: asn1_collect
      Src: /src/openssl/crypto/asn1/tasn_dec.c:826,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/tasn_dec.c:831,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:832,1
    - Dst: asn1_ex_c2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:845,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:852,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: 854
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 854
    functionName: asn1_d2i_ex_primitive
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_tlc_clear
    - asn1_collect
    - OPENSSL_free
    - asn1_ex_c2i
    - asn1_find_end
    - BUF_MEM_grow_clean
    - ERR_raise
    - asn1_check_tlen
    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:870,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/tasn_dec.c:874,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/tasn_dec.c:882,1
    - Dst: ossl_c2i_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/tasn_dec.c:888,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:894,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:902,1
    - Dst: ossl_c2i_ASN1_BIT_STRING
      Src: /src/openssl/crypto/asn1/tasn_dec.c:912,1
    - Dst: ossl_c2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/tasn_dec.c:919,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:944,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:948,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:952,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:956,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/tasn_dec.c:961,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:963,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/tasn_dec.c:973,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/tasn_dec.c:976,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:977,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:978,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:992,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: 997
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 997
    functionName: asn1_ex_c2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - ASN1_STRING_set0
    - ossl_c2i_ASN1_OBJECT
    - ASN1_STRING_free
    - ASN1_TYPE_free
    - ASN1_TYPE_new
    - ossl_c2i_ASN1_INTEGER
    - ERR_raise
    - ASN1_PRIMITIVE_FUNCS*::prim_c2i
    - ASN1_STRING_type_new
    - ossl_c2i_ASN1_BIT_STRING
    - 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:1024,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1033,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1035,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1040,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1050,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - in
    - len
    - inf
    argTypes:
    - unsigned char**
    - long
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1055
    functionName: asn1_find_end
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_check_tlen
    - ERR_raise
    - asn1_check_eoc
    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:1092,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1097,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1113,1
    - Dst: asn1_collect
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1116,1
    - Dst: collect_data
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1123,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: 1128
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1128
    functionName: asn1_collect
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 2
    functionsReached:
    - asn1_collect
    - ERR_raise
    - asn1_check_tlen
    - collect_data
    - asn1_check_eoc
    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:1137,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1141,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - p
    - plen
    argTypes:
    - BUF_MEM*
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1130
    functionDepth: 2
    functionLinenumber: 1130
    functionLinenumberEnd: 1148
    functionName: collect_data
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - memcpy
    - BUF_MEM_grow_clean
    - 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: 1164
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1164
    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:1186,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1226,1
    - Dst: asn1_tlc_clear
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1233,1
    - Dst: asn1_tlc_clear
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1258,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: 1260
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1260
    functionName: asn1_check_tlen
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 6
    functionsReached:
    - asn1_tlc_clear
    - ASN1_get_object
    - 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:
    - ASN1_EXTERN_FUNCS*::asn1_ex_free
    - OPENSSL_free
    - ossl_asn1_do_adb
    - ossl_asn1_get_field_ptr
    - ossl_asn1_do_lock
    - ossl_asn1_enc_free
    - asn1_cb
    - ossl_asn1_template_free
    - ossl_asn1_primitive_free
    - OPENSSL_assert
    - ossl_asn1_get_choice_selector
    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
    - ASN1_ITEM_ptr
    - STACK_OF
    - sk_ASN1_VALUE_num
    - sk_ASN1_VALUE_value
    - ossl_asn1_item_embed_free
    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_free_internal
      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:
    - OPENSSL_free
    - ASN1_PRIMITIVE_FUNCS*::prim_clear
    - ASN1_PRIMITIVE_FUNCS*::prim_free
    - ASN1_OBJECT_free
    - ossl_asn1_string_free_internal
    - ossl_asn1_primitive_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_new
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - ASN1_TYPE_set
    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:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - memcpy
    - 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:72,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/evp_asn1.c:83,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/asn1/evp_asn1.c:83,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: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: asn1_type_get_int_oct
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - memcpy
    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:108,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/evp_asn1.c:110,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:110,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: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: ASN1_TYPE_set_int_octetstring
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 0
    functionsReached:
    - asn1_type_init_oct
    - ASN1_TYPE_pack_sequence
    - ASN1_ITEM_rptr
    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:132,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:132,1
    - Dst: asn1_type_get_int_oct
      Src: /src/openssl/crypto/asn1/evp_asn1.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/evp_asn1.c:141,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/asn1/evp_asn1.c:143,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: 145
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 145
    functionName: ASN1_TYPE_get_int_octetstring
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - asn1_type_get_int_oct
    - ASN1_ITEM_rptr
    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:171,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/evp_asn1.c:173,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:173,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: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: ossl_asn1_type_set_octetstring_int
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - asn1_type_init_oct
    - ASN1_TYPE_pack_sequence
    - ASN1_ITEM_rptr
    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:194,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:194,1
    - Dst: asn1_type_get_int_oct
      Src: /src/openssl/crypto/asn1/evp_asn1.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/evp_asn1.c:203,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/asn1/evp_asn1.c:205,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: 207
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: ossl_asn1_type_get_octetstring_int
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - M_ASN1_free_of
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - asn1_type_get_int_oct
    - ASN1_ITEM_rptr
    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:27,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_string.c:33,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/asn1/f_string.c:37,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_string.c:38,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - bp
    - a
    - type
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 46
    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:55,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/asn1/f_string.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_string.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:95,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/asn1/f_string.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:102,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/asn1/f_string.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_string.c:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:113,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/f_string.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_string.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:132,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: 134
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 134
    functionName: a2i_ASN1_STRING
    functionSourceFile: /src/openssl/crypto/asn1/f_string.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_realloc
    - BIO_gets
    - ossl_isxdigit
    - OPENSSL_hexchar2int
    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
    - X509_CRL_free
    - X509_PKEY_free
    - OPENSSL_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_STRING_dup
    - ASN1_TYPE_set
    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_new
    - ASN1_OCTET_STRING_free
    - ASN1_TYPE_set
    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:51,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: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    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:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    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:79,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:82,1
    - Dst: asn1_template_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:90,1
    - Dst: asn1_primitive_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:92,1
    - Dst: asn1_primitive_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:97,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:103,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/tasn_new.c:111,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/tasn_new.c:113,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_new.c:117,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:118,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:125,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/tasn_new.c:133,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/tasn_new.c:135,1
    - Dst: ossl_asn1_do_lock
      Src: /src/openssl/crypto/asn1/tasn_new.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_new.c:142,1
    - Dst: ossl_asn1_enc_init
      Src: /src/openssl/crypto/asn1/tasn_new.c:147,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_new.c:149,1
    - Dst: asn1_template_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:150,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:153,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_new.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_new.c:162,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_new.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_new.c:168,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: 170
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 170
    functionName: asn1_item_embed_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 3
    functionsReached:
    - ossl_asn1_enc_init
    - OPENSSL_zalloc
    - asn1_template_new
    - OPENSSL_free
    - ossl_asn1_get_field_ptr
    - ERR_raise
    - ossl_asn1_set_choice_selector
    - ossl_asn1_do_lock
    - asn1_primitive_new
    - memset
    - asn1_cb
    - ASN1_EXTERN_FUNCS*::asn1_ex_new
    - ossl_asn1_item_embed_free
    - ASN1_EXTERN_FUNCS*::asn1_ex_new_ex
    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:181,1
    - Dst: asn1_template_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:188,1
    - Dst: asn1_primitive_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:190,1
    - Dst: asn1_primitive_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 203
    functionName: asn1_item_clear
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 0
    functionsReached:
    - asn1_template_clear
    - asn1_primitive_clear
    - ASN1_EXTERN_FUNCS*::asn1_ex_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:208,1
    - Dst: asn1_template_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:217,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_new.c:228,1
    - Dst: sk_ASN1_VALUE_new_null
      Src: /src/openssl/crypto/asn1/tasn_new.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_new.c:231,1
    - Dst: asn1_item_embed_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:240,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: 243
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 243
    functionName: asn1_template_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - asn1_template_clear
    - ERR_raise
    - sk_ASN1_VALUE_new_null
    - ASN1_ITEM_ptr
    - STACK_OF
    - asn1_item_embed_new
    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:251,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_new.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 252
    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:273,1
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:277,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/tasn_new.c:287,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/tasn_new.c:299,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/tasn_new.c:309,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:313,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 323
    functionName: asn1_primitive_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2obj
    - ASN1_PRIMITIVE_FUNCS*::prim_clear
    - memset
    - ASN1_PRIMITIVE_FUNCS*::prim_new
    - 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:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 344
    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:36,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/x_algor.c:39,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/x_algor.c:45,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/x_algor.c:48,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: 50
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: X509_ALGOR_set0
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 15
    functionsReached:
    - ASN1_TYPE_free
    - ASN1_TYPE_new
    - ASN1_TYPE_set
    - 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:54,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/x_algor.c:59,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/x_algor.c:61,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/x_algor.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - nid
    - ptype
    - pval
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: ossl_X509_ALGOR_from_nid
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - X509_ALGOR_free
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - X509_ALGOR_new
    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: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: X509_ALGOR_get0
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 26
    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: EVP_MD_type
      Src: /src/openssl/crypto/asn1/x_algor.c:92,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/asn1/x_algor.c:94,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/asn1/x_algor.c:94,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/x_algor.c:94,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/x_algor.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - md
    argTypes:
    - X509_ALGOR*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: X509_ALGOR_set_md
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 3
    functionsReached:
    - EVP_MD_type
    - OBJ_nid2obj
    - EVP_MD_get0_name
    - OBJ_txt2obj
    - X509_ALGOR_set0
    linkageType: ''
    returnType: int
    signature: int 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:101,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/openssl/crypto/asn1/x_algor.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 107
    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:115,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/x_algor.c:119,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/asn1/x_algor.c:123,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/x_algor.c:127,1
    - Dst: ASN1_TYPE_set1
      Src: /src/openssl/crypto/asn1/x_algor.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 141
    functionName: X509_ALGOR_copy
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 5
    functionsReached:
    - ASN1_TYPE_free
    - ASN1_TYPE_new
    - ASN1_TYPE_set1
    - ASN1_OBJECT_free
    - OBJ_dup
    linkageType: ''
    returnType: int
    signature: int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/asn1/x_algor.c:149,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/x_algor.c:151,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/asn1/x_algor.c:153,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/x_algor.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - palg
    - md
    argTypes:
    - X509_ALGOR**
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: ossl_x509_algor_new_from_md
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - X509_ALGOR_set_md
    - X509_ALGOR_free
    - EVP_MD_is_a
    - X509_ALGOR_new
    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:167,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/asn1/x_algor.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_algor.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: ossl_x509_algor_get_md
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - EVP_sha1
    - ERR_raise
    - EVP_get_digestbyobj
    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:176,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/asn1/x_algor.c:178,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/x_algor.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: ossl_x509_algor_mgf1_decode
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    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:189,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/openssl/crypto/asn1/x_algor.c:192,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/asn1/x_algor.c:194,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/x_algor.c:194,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/asn1/x_algor.c:196,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/x_algor.c:201,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/x_algor.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - palg
    - mgf1md
    argTypes:
    - X509_ALGOR**
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 10
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: ossl_x509_algor_md_to_mgf1
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_free
    - ASN1_item_pack
    - EVP_MD_is_a
    - ossl_X509_ALGOR_from_nid
    - ossl_x509_algor_new_from_md
    - ASN1_ITEM_rptr
    - X509_ALGOR_free
    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:
    - i2d
    - OPENSSL_free
    - 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:
    - ASN1_item_i2d
    - OPENSSL_free
    - ASN1_item_d2i_ex
    - ERR_raise_data
    - ERR_raise
    - asn1_cb
    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:27,1
    - Dst: ossl_isasn1print
      Src: /src/openssl/crypto/asn1/a_print.c:31,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/asn1/a_print.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 41
    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:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - ASN1_UNIVERSALSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 69
    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:88,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_print.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - bp
    - v
    argTypes:
    - BIO*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 97
    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:108,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:111,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:112,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:118,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:124,1
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:130,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:137,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:141,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:145,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:147,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:151,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:157,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:158,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:160,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: 163
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 163
    functionName: PKCS5_pbe2_set_iv_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_get_key_length
    - PKCS5_pbkdf2_set_ex
    - RAND_bytes_ex
    - EVP_CIPHER_get_iv_length
    - memcpy
    - EVP_CipherInit_ex
    - ERR_pop_to_mark
    - OBJ_nid2obj
    - ERR_raise
    - EVP_CIPHER_CTX_free
    - X509_ALGOR_free
    - ASN1_TYPE_pack_sequence
    - EVP_CIPHER_get_type
    - ASN1_TYPE_new
    - ASN1_ITEM_rptr
    - PBE2PARAM_free
    - ERR_set_mark
    - PBE2PARAM_new
    - EVP_CIPHER_CTX_new
    - X509_ALGOR_new
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_param_to_asn1
    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:169,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: 171
      start: 165
    functionDepth: 8
    functionLinenumber: 165
    functionLinenumberEnd: 171
    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:176,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: 178
      start: 173
    functionDepth: 8
    functionLinenumber: 173
    functionLinenumberEnd: 178
    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:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:189,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:201,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:206,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:212,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:214,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:222,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:230,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:234,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:243,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:252,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:256,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:260,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:262,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:266,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:270,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:271,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: 273
      start: 180
    functionDepth: 7
    functionLinenumber: 180
    functionLinenumberEnd: 273
    functionName: PKCS5_pbkdf2_set_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 3
    functionsReached:
    - ASN1_INTEGER_new
    - OBJ_nid2obj
    - ERR_raise
    - PBKDF2PARAM_free
    - X509_ALGOR_new
    - PBKDF2PARAM_new
    - ossl_X509_ALGOR_from_nid
    - memcpy
    - RAND_bytes_ex
    - ASN1_INTEGER_set
    - ASN1_ITEM_rptr
    - ASN1_OCTET_STRING_new
    - X509_ALGOR_free
    - ASN1_TYPE_pack_sequence
    - 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:278,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: 279
      start: 275
    functionDepth: 8
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: PKCS5_pbkdf2_set
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 0
    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:63,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - str
    - len
    - val
    argTypes:
    - unsigned char*
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: ossl_utf8_getc_internal
    functionSourceFile: /src/openssl/crypto/asn1/a_utf8.c
    functionUses: 1
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: int ossl_utf8_getc_internal(const unsigned char *str, int len, uint32_t
      *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_utf8_getc_internal
      Src: /src/openssl/crypto/asn1/a_utf8.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - str
    - len
    - val
    argTypes:
    - unsigned char*
    - int
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: UTF8_getc
    functionSourceFile: /src/openssl/crypto/asn1/a_utf8.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_getc_internal
    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:130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - str
    - len
    - value
    argTypes:
    - unsigned char*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 153
    functionName: ossl_utf8_putc_internal
    functionSourceFile: /src/openssl/crypto/asn1/a_utf8.c
    functionUses: 1
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: int ossl_utf8_putc_internal(unsigned char *str, int len, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_utf8_putc_internal
      Src: /src/openssl/crypto/asn1/a_utf8.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - value
    argTypes:
    - unsigned char*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: UTF8_putc
    functionSourceFile: /src/openssl/crypto/asn1/a_utf8.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_putc_internal
    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:156,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:158,1
    - Dst: asn1_template_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:167,1
    - Dst: asn1_primitive_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:174,1
    - Dst: asn1_print_fsname
      Src: /src/openssl/crypto/asn1/tasn_prn.c:179,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:184,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:187,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:
    - BIO_puts
    - asn1_print_fsname
    - BIO_printf
    - ossl_asn1_get_const_field_ptr
    - ASN1_EXTERN_FUNCS*::asn1_ex_print
    - ossl_asn1_do_adb
    - ossl_asn1_get_choice_selector_const
    - asn1_primitive_print
    - asn1_cb
    - asn1_template_print_ctx
    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:303,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_prn.c:306,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_prn.c:307,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:308,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/openssl/crypto/asn1/tasn_prn.c:311,1
    - Dst: asn1_item_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:312,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_prn.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:317,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:
    - BIO_puts
    - BIO_printf
    - sk_const_ASN1_VALUE_value
    - sk_const_ASN1_VALUE_num
    - ASN1_ITEM_ptr
    - STACK_OF
    - asn1_item_print_ctx
    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:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - out
    - boolval
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 387
    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:393,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:396,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_prn.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 7
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: asn1_print_integer
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2s_ASN1_INTEGER
    - OPENSSL_free
    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:406,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/tasn_prn.c:406,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/tasn_prn.c:409,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - oid
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: asn1_print_oid
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BIO_printf
    - OBJ_obj2txt
    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:418,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:420,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/asn1/tasn_prn.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - out
    - str
    - indent
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 428
    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:441,1
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:444,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/tasn_prn.c:463,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/tasn_prn.c:466,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:472,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:478,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:480,1
    - Dst: asn1_print_boolean
      Src: /src/openssl/crypto/asn1/tasn_prn.c:489,1
    - Dst: asn1_print_integer
      Src: /src/openssl/crypto/asn1/tasn_prn.c:494,1
    - Dst: ASN1_UTCTIME_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:498,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:502,1
    - Dst: asn1_print_oid
      Src: /src/openssl/crypto/asn1/tasn_prn.c:506,1
    - Dst: asn1_print_obstring
      Src: /src/openssl/crypto/asn1/tasn_prn.c:511,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:518,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/asn1/tasn_prn.c:520,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/openssl/crypto/asn1/tasn_prn.c:526,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:530,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: 533
      start: 430
    functionDepth: 8
    functionLinenumber: 430
    functionLinenumberEnd: 533
    functionName: asn1_primitive_print
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - asn1_print_fsname
    - asn1_print_boolean
    - asn1_print_integer
    - ASN1_STRING_print_ex
    - ASN1_parse_dump
    - ASN1_GENERALIZEDTIME_print
    - asn1_print_obstring
    - ASN1_tag2str
    - ASN1_UTCTIME_print
    - ASN1_PRIMITIVE_FUNCS*::prim_print
    - asn1_print_oid
    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:39,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:44,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/crypto/asn1/asn1_parse.c:50,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn1_parse.c:51,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/crypto/asn1/asn1_parse.c:51,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/asn1_parse.c:52,1
    - Dst: BIO_get_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:56,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/crypto/asn1/asn1_parse.c:57,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:57,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: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:71,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:73,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/asn1_parse.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:77,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:80,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn1_parse.c:82,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:83,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: 85
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 85
    functionName: asn1_print_info
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 0
    functionsReached:
    - BIO_set_indent
    - BIO_printf
    - BIO_new
    - BIO_f_prefix
    - BIO_pop
    - BIO_free
    - BIO_set_prefix
    - BIO_snprintf
    - BIO_get_indent
    - ASN1_tag2str
    - BIO_push
    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:89,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: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    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:95,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: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    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:113,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/asn1_parse.c:122,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:124,1
    - Dst: asn1_print_info
      Src: /src/openssl/crypto/asn1/asn1_parse.c:132,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:142,1
    - Dst: asn1_parse2
      Src: /src/openssl/crypto/asn1/asn1_parse.c:147,1
    - Dst: asn1_parse2
      Src: /src/openssl/crypto/asn1/asn1_parse.c:162,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:172,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:177,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:179,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/asn1_parse.c:183,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:184,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/asn1_parse.c:186,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:188,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:199,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/asn1/asn1_parse.c:206,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:221,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:223,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:233,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:240,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:243,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:252,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/asn1_parse.c:258,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:260,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:263,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:266,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:270,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:274,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:278,1
    - Dst: d2i_ASN1_ENUMERATED
      Src: /src/openssl/crypto/asn1/asn1_parse.c:284,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:286,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:289,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:292,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:296,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:300,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:304,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:308,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:311,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:321,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:324,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:327,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:333,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:346,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:347,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:348,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:349,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: 352
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 352
    functionName: asn1_parse2
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - BIO_printf
    - asn1_parse2
    - i2a_ASN1_OBJECT
    - ASN1_OCTET_STRING_free
    - d2i_ASN1_ENUMERATED
    - BIO_write
    - d2i_ASN1_INTEGER
    - ASN1_ENUMERATED_free
    - d2i_ASN1_OCTET_STRING
    - ASN1_INTEGER_free
    - BIO_dump_indent
    - ASN1_OBJECT_free
    - d2i_ASN1_OBJECT
    - ASN1_get_object
    - asn1_print_info
    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: 381
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 381
    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:205,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:206,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: ASN1_ITEM_lookup
    functionSourceFile: /src/openssl/crypto/asn1/asn1_item_list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ASN1_ITEM_ptr
    - OSSL_NELEM
    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:216,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: ASN1_ITEM_get
    functionSourceFile: /src/openssl/crypto/asn1/asn1_item_list.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_ptr
    - OSSL_NELEM
    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:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 45
    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:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    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:71,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_strex.c:76,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:77,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_strex.c:82,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:83,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:97,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:101,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:103,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_strex.c:108,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:109,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:118,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:122,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 5
    argNames:
    - c
    - flags
    - do_quotes
    - io_ch
    - arg
    argTypes:
    - uint32_t
    - unsigned short
    - char*
    - char_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 125
    functionName: do_esc_char
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - io_ch
    - BIO_snprintf
    - HEX_SIZE
    linkageType: ''
    returnType: int
    signature: "int do_esc_char(uint32_t c, unsigned short flags, char *do_quotes,\n
      \   char_io *io_ch, void *arg)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strex.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strex.c:159,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/crypto/asn1/a_strex.c:177,1
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/crypto/asn1/a_strex.c:181,1
    - Dst: ossl_utf8_getc_internal
      Src: /src/openssl/crypto/asn1/a_strex.c:190,1
    - Dst: ossl_utf8_putc_internal
      Src: /src/openssl/crypto/asn1/a_strex.c:203,1
    - Dst: do_esc_char
      Src: /src/openssl/crypto/asn1/a_strex.c:214,1
    - Dst: do_esc_char
      Src: /src/openssl/crypto/asn1/a_strex.c:221,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    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: 229
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 229
    functionName: do_buf
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_getc_internal
    - ossl_utf8_putc_internal
    - do_esc_char
    - ERR_raise
    - OPENSSL_load_u32_be
    - OPENSSL_load_u16_be
    linkageType: ''
    returnType: int
    signature: "int do_buf(const 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:243,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:244,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: 250
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 250
    functionName: do_hex_dump
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - ossl_to_hex
    - io_ch
    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:269,1
    - Dst: do_hex_dump
      Src: /src/openssl/crypto/asn1/a_strex.c:273,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/a_strex.c:280,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_strex.c:283,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/a_strex.c:286,1
    - Dst: do_hex_dump
      Src: /src/openssl/crypto/asn1/a_strex.c:287,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_strex.c:288,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: 292
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 292
    functionName: do_dump
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - do_hex_dump
    - OPENSSL_malloc
    - io_ch
    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:345,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_strex.c:347,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:348,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:348,1
    - Dst: do_dump
      Src: /src/openssl/crypto/asn1/a_strex.c:372,1
    - Dst: do_buf
      Src: /src/openssl/crypto/asn1/a_strex.c:391,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:399,1
    - Dst: do_buf
      Src: /src/openssl/crypto/asn1/a_strex.c:401,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:403,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: 406
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 406
    functionName: do_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - do_dump
    - ASN1_tag2str
    - strlen
    - do_buf
    - io_ch
    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:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - io_ch
    - arg
    - indent
    argTypes:
    - char_io*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    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:438,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/asn1/a_strex.c:486,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/asn1/a_strex.c:489,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/asn1/a_strex.c:491,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/asn1/a_strex.c:493,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:494,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:498,1
    - Dst: do_indent
      Src: /src/openssl/crypto/asn1/a_strex.c:501,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/asn1/a_strex.c:506,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/openssl/crypto/asn1/a_strex.c:507,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/asn1/a_strex.c:508,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_strex.c:509,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/a_strex.c:513,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/asn1/a_strex.c:519,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/a_strex.c:522,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_strex.c:528,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:529,1
    - Dst: do_indent
      Src: /src/openssl/crypto/asn1/a_strex.c:532,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:536,1
    - Dst: do_print_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:550,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: 556
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 556
    functionName: do_name_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - do_print_ex
    - X509_NAME_ENTRY_get_data
    - X509_NAME_entry_count
    - do_indent
    - OBJ_obj2nid
    - OBJ_nid2ln
    - X509_NAME_ENTRY_set
    - X509_NAME_get_entry
    - strlen
    - X509_NAME_ENTRY_get_object
    - OBJ_obj2txt
    - io_ch
    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:564,1
    - Dst: do_name_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:565,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: 566
      start: 560
    functionDepth: 6
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: X509_NAME_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 10
    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:575,1
    - Dst: X509_NAME_print
      Src: /src/openssl/crypto/asn1/a_strex.c:578,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_strex.c:579,1
    - Dst: do_name_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:582,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: 583
      start: 569
    functionDepth: 6
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: X509_NAME_print_ex_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - do_name_ex
    - BIO_free
    - X509_NAME_print
    - BIO_new_fp
    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:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - str
    - flags
    argTypes:
    - BIO*
    - ASN1_STRING*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 5
    functionLinenumber: 586
    functionLinenumberEnd: 589
    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:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - str
    - flags
    argTypes:
    - FILE*
    - ASN1_STRING*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 5
    functionLinenumber: 592
    functionLinenumberEnd: 595
    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:619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char**
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 625
    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:
    - ASN1_INTEGER_set
    - X509_ALGOR_set0
    - 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_get0_data
    - ASN1_STRING_length
    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:56,1
    - Dst: EVP_PBE_scrypt
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:61,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:67,1
    - Dst: PBE2PARAM_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:73,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:80,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:83,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:88,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:91,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:92,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:98,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:103,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:106,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:109,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:115,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:119,1
    - Dst: pkcs5_scrypt_set
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:124,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:132,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:136,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:140,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:143,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:147,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:153,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:154,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:155,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    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: 158
      start: 43
    functionDepth: 8
    functionLinenumber: 43
    functionLinenumberEnd: 158
    functionName: PKCS5_pbe2_set_scrypt
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_iv_length
    - memcpy
    - EVP_CipherInit_ex
    - OBJ_nid2obj
    - ERR_raise
    - EVP_CIPHER_CTX_free
    - X509_ALGOR_free
    - ASN1_TYPE_pack_sequence
    - EVP_CIPHER_get_type
    - RAND_bytes
    - ASN1_TYPE_new
    - pkcs5_scrypt_set
    - ASN1_ITEM_rptr
    - PBE2PARAM_free
    - PBE2PARAM_new
    - EVP_CIPHER_CTX_new
    - EVP_PBE_scrypt
    - X509_ALGOR_new
    - EVP_CIPHER_param_to_asn1
    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:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:168,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:177,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:181,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:185,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:190,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:195,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:204,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:208,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:217,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:221,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:225,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:228,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:232,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:236,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:237,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: 239
      start: 160
    functionDepth: 8
    functionLinenumber: 160
    functionLinenumberEnd: 239
    functionName: pkcs5_scrypt_set
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 1
    functionsReached:
    - SCRYPT_PARAMS_new
    - ASN1_STRING_set
    - ASN1_INTEGER_new
    - OBJ_nid2obj
    - SCRYPT_PARAMS_free
    - RAND_bytes
    - ASN1_INTEGER_set_int64
    - ERR_raise
    - X509_ALGOR_new
    - ASN1_INTEGER_set_uint64
    - ASN1_ITEM_rptr
    - X509_ALGOR_free
    - ASN1_TYPE_pack_sequence
    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:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:254,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:260,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:263,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:269,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:280,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:285,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:286,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:287,1
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:291,1
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:299,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:303,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:306,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:307,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: 309
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 309
    functionName: PKCS5_v2_scrypt_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 0
    functionsReached:
    - EVP_PBE_scrypt_ex
    - EVP_CIPHER_CTX_get0_cipher
    - SCRYPT_PARAMS_free
    - ASN1_INTEGER_get_uint64
    - ERR_raise
    - ASN1_TYPE_unpack_sequence
    - EVP_CIPHER_CTX_get_key_length
    - ASN1_ITEM_rptr
    - OPENSSL_cleanse
    - EVP_CipherInit_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:315,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: 316
      start: 311
    functionDepth: 7
    functionLinenumber: 311
    functionLinenumberEnd: 316
    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:
    - evp_pkey_is_provided
    - evp_pkey_copy_downgraded
    - EVP_PKEY_get_id
    - EVP_PKEY_get_base_id
    - ERR_raise
    - EVP_PKEY_set_type
    - EVP_PKEY_free
    - o2i_ECPublicKey
    - EVP_PKEY_new
    - d2i_RSAPublicKey
    - d2i_DSAPublicKey
    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: 6
    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: 5
    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: 6
    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: 7
    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: 5
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: ASN1_UTCTIME_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime_adj
    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: 6
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: ASN1_UTCTIME_cmp_time_t
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_gmtime
    - OPENSSL_gmtime_diff
    - ossl_asn1_utctime_to_tm
    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:50,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    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:56,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    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: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    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:91,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:91,1
    - Dst: num_bits_ulong
      Src: /src/openssl/crypto/asn1/x_long.c:106,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: 125
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 125
    functionName: long_i2c
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached:
    - num_bits_ulong
    - memcpy
    - 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:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:181,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_long.c:184,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:184,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: 186
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 186
    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:193,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:193,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_long.c:194,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: 195
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 195
    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:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    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:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    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: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    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:57,1
    - Dst: ossl_i2c_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:69,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: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    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:79,1
    - Dst: ossl_c2i_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:101,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_int64.c:109,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: 111
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: uint64_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - uint64_new
    - memcpy
    - 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:117,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_int64.c:118,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: 119
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 119
    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:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    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: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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:150,1
    - Dst: ossl_i2c_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:162,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: 163
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 163
    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:180,1
    - Dst: ossl_c2i_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:209,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_int64.c:216,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: 218
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 218
    functionName: uint32_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - uint64_new
    - memcpy
    - 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:224,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_int64.c:225,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: 226
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 226
    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: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/ameth_lib.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: evp_pkey_asn1_get_count
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int evp_pkey_asn1_get_count(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/ameth_lib.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: evp_pkey_asn1_get0
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *evp_pkey_asn1_get0(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ameth
      Src: /src/openssl/crypto/asn1/ameth_lib.c:55,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/ameth_lib.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: pkey_asn1_find
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 6
    functionsReached:
    - OBJ_bsearch_ameth
    - OSSL_NELEM
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *pkey_asn1_find(int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkey_asn1_find
      Src: /src/openssl/crypto/asn1/ameth_lib.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: evp_pkey_asn1_find
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 6
    functionsReached:
    - pkey_asn1_find
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *evp_pkey_asn1_find(int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/ameth_lib.c:85,1
    - Dst: evp_pkey_asn1_get_count
      Src: /src/openssl/crypto/asn1/ameth_lib.c:86,1
    - Dst: evp_pkey_asn1_get0
      Src: /src/openssl/crypto/asn1/ameth_lib.c:87,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/ameth_lib.c:90,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/asn1/ameth_lib.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: evp_pkey_asn1_find_str
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strncasecmp
    - strlen
    - evp_pkey_asn1_get0
    - evp_pkey_asn1_get_count
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *evp_pkey_asn1_find_str(const char *str, int len)
  - 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: 115
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: evp_pkey_asn1_get0_info
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 2
    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: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:27,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:33,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:39,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/asn1/f_int.c:43,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:44,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 52
    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:63,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/asn1/f_int.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_int.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_int.c:103,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/crypto/asn1/f_int.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_int.c:110,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/asn1/f_int.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_int.c:120,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/f_int.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_int.c:137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_int.c:138,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: 140
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 140
    functionName: a2i_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/asn1/f_int.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_realloc
    - OPENSSL_free
    - ERR_raise
    - BIO_gets
    - ossl_isxdigit
    - OPENSSL_hexchar2int
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 145
    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:149,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: 153
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 153
    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:41,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: 44
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 44
    functionName: ASN1_buf_print
    functionSourceFile: /src/openssl/crypto/asn1/t_pkey.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BIO_puts
    - BIO_printf
    - BIO_indent
    linkageType: ''
    returnType: int
    signature: int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen,
      int indent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/asn1/t_pkey.c:56,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/asn1/t_pkey.c:57,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/asn1/t_pkey.c:59,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_pkey.c:60,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/t_pkey.c:65,1
    - Dst: BIO_printf
      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_get_words
      Src: /src/openssl/crypto/asn1/t_pkey.c:68,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/t_pkey.c:74,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/t_pkey.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_pkey.c:78,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/asn1/t_pkey.c:82,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/asn1/t_pkey.c:84,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/t_pkey.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - bp
    - number
    - num
    - ign
    - indent
    argTypes:
    - BIO*
    - char*
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 90
    functionName: ASN1_bn_print
    functionSourceFile: /src/openssl/crypto/asn1/t_pkey.c
    functionUses: 5
    functionsReached:
    - BIO_printf
    - ASN1_buf_print
    - BN_num_bytes
    - BN_is_zero
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - bn_get_words
    - BIO_indent
    - BN_bn2bin
    - BN_is_negative
    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:
    - ASN1_generate_v3
    - X509V3_set_nconf
    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: 17
    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:149,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:150,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/asn1_gen.c:161,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/asn1_gen.c:183,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/asn1_gen.c:198,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn1_gen.c:205,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/asn1_gen.c:217,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/asn1_gen.c:230,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/asn1_gen.c:235,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/asn1_gen.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:243,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:244,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 4
    argNames:
    - str
    - cnf
    - depth
    - perr
    argTypes:
    - char*
    - X509V3_CTX*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 247
    functionName: generate_v3
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 4
    functionsReached:
    - ASN1_TYPE_free
    - i2d_ASN1_TYPE
    - OPENSSL_free
    - ASN1_put_object
    - ASN1_object_size
    - asn1_multi
    - d2i_ASN1_TYPE
    - asn1_str2type
    - memcpy
    - ASN1_get_object
    - OPENSSL_malloc
    - CONF_parse_list
    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:272,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn1_gen.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:296,1
    - Dst: parse_tagging
      Src: /src/openssl/crypto/asn1/asn1_gen.c:299,1
    - Dst: parse_tagging
      Src: /src/openssl/crypto/asn1/asn1_gen.c:305,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:307,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:312,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:317,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:322,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:333,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:336,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:338,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:340,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:345,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 3
    argNames:
    - elem
    - len
    - bitstr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 352
    functionName: asn1_cb
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 7
    functionsReached:
    - parse_tagging
    - ERR_raise_data
    - asn1_str2tag
    - ERR_raise
    - append_exp
    - 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:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:365,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn1_gen.c:394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - vstart
    - vlen
    - ptag
    - pclass
    argTypes:
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 402
    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:410,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn1_gen.c:411,1
    - Dst: sk_ASN1_TYPE_new_null
      Src: /src/openssl/crypto/asn1/asn1_gen.c:415,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/asn1/asn1_gen.c:421,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/asn1/asn1_gen.c:424,1
    - Dst: generate_v3
      Src: /src/openssl/crypto/asn1/asn1_gen.c:425,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/asn1/asn1_gen.c:425,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/openssl/crypto/asn1/asn1_gen.c:429,1
    - Dst: i2d_ASN1_SET_ANY
      Src: /src/openssl/crypto/asn1/asn1_gen.c:439,1
    - Dst: i2d_ASN1_SEQUENCE_ANY
      Src: /src/openssl/crypto/asn1/asn1_gen.c:441,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:445,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:458,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:460,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:461,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: 464
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 464
    functionName: asn1_multi
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - X509V3_section_free
    - OPENSSL_free
    - sk_ASN1_TYPE_new_null
    - ASN1_TYPE_new
    - X509V3_get_section
    - sk_ASN1_TYPE_pop_free
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - i2d_ASN1_SET_ANY
    - generate_v3
    - sk_ASN1_TYPE_push
    - ASN1_STRING_type_new
    - i2d_ASN1_SEQUENCE_ANY
    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:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:477,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: 500
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 500
    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: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:540,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:541,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:545,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:546,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: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:554,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:556,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:558,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:562,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:563,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:564,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn1_gen.c:568,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/asn1_gen.c:571,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - tagstr
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 578
    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:588,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:589,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:600,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:607,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/asn1/asn1_gen.c:613,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:614,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:622,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/asn1_gen.c:626,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:628,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:635,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/asn1/asn1_gen.c:638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:639,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:647,1
    - Dst: ASN1_STRING_new
      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_STRING_set
      Src: /src/openssl/crypto/asn1/asn1_gen.c:654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:655,1
    - Dst: ASN1_TIME_check
      Src: /src/openssl/crypto/asn1/asn1_gen.c:659,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:680,1
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/crypto/asn1/asn1_gen.c:684,1
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/asn1/asn1_gen.c:685,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:687,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:695,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:696,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/asn1/asn1_gen.c:701,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:702,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/asn1_gen.c:709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:710,1
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/asn1/asn1_gen.c:715,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:716,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:722,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/asn1/asn1_gen.c:727,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:732,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/asn1/asn1_gen.c:740,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:743,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 155
    argCount: 3
    argNames:
    - str
    - format
    - utype
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 580
    functionDepth: 7
    functionLinenumber: 580
    functionLinenumberEnd: 745
    functionName: asn1_str2type
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - OPENSSL_hexstr2buf
    - ASN1_TYPE_free
    - ossl_asn1_bit_string_set_unused_bits
    - ASN1_TYPE_new
    - s2i_ASN1_INTEGER
    - ERR_raise
    - ASN1_tag2bit
    - ASN1_mbstring_copy
    - ASN1_TIME_check
    - OBJ_txt2obj
    - X509V3_get_value_bool
    - ASN1_STRING_new
    - ERR_add_error_data
    - CONF_parse_list
    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:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:757,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/asn1/asn1_gen.c:760,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - elem
    - len
    - bitstr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 765
    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:773,1
    - Dst: asn1_str2tag
      Src: /src/openssl/crypto/asn1/asn1_gen.c:777,1
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/asn1/asn1_gen.c:780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 785
    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:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - pmask
    argTypes:
    - char*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 791
    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:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 71
    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:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 80
    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:87,1
    - Dst: BN_free
      Src: /src/openssl/crypto/asn1/x_bignum.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: bn_free
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_clear_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:102,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/asn1/x_bignum.c:109,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/x_bignum.c:111,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: 112
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: bn_i2c
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin
    - BN_num_bits
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: "int bn_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype,\n
      \   const ASN1_ITEM *it)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_bignum.c:122,1
    - Dst: bn_new
      Src: /src/openssl/crypto/asn1/x_bignum.c:126,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/asn1/x_bignum.c:129,1
    - Dst: bn_free
      Src: /src/openssl/crypto/asn1/x_bignum.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    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: 135
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: bn_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - bn_free
    - ERR_raise
    - bn_new
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_secure_new
      Src: /src/openssl/crypto/asn1/x_bignum.c:143,1
    - Dst: bn_c2i
      Src: /src/openssl/crypto/asn1/x_bignum.c:146,1
    - Dst: bn_free
      Src: /src/openssl/crypto/asn1/x_bignum.c:149,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/asn1/x_bignum.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    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: 158
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: bn_secure_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - bn_free
    - bn_secure_new
    - bn_c2i
    - BN_set_flags
    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:163,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/x_bignum.c:165,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: 168
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 168
    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:42,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: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    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: 35
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_mbstr.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:87,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:108,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_mbstr.c:113,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_mbstr.c:119,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:126,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_mbstr.c:158,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/a_mbstr.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:164,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_mbstr.c:171,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/a_mbstr.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:176,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:203,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:209,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/a_mbstr.c:211,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:219,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 138
    argCount: 7
    argNames:
    - out
    - in
    - len
    - inform
    - mask_in
    - minsize
    - maxsize
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - unsigned long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 221
    functionName: ASN1_mbstring_ncopy
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 2
    functionsReached:
    - ASN1_STRING_set
    - traverse_string
    - ASN1_STRING_set0
    - ASN1_STRING_free
    - ERR_raise_data
    - ERR_raise
    - strlen
    - ASN1_STRING_type_new
    - 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_in,\n    long minsize, long maxsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/crypto/asn1/a_mbstr.c:240,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/crypto/asn1/a_mbstr.c:244,1
    - Dst: ossl_utf8_getc_internal
      Src: /src/openssl/crypto/asn1/a_mbstr.c:247,1
    - Dst: rfunc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - p
    - len
    - inform
    - arg
    argTypes:
    - unsigned char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 260
    functionName: traverse_string
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 1
    functionsReached:
    - OPENSSL_load_u32_be
    - ossl_utf8_getc_internal
    - rfunc
    - OPENSSL_load_u16_be
    linkageType: ''
    returnType: int
    signature: "int traverse_string(const unsigned char *p, int len, int inform,\n
      \   int (*rfunc)(uint32_t value, void *in),\n    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_valid
      Src: /src/openssl/crypto/asn1/a_mbstr.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: in_utf8
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached:
    - is_unicode_valid
    linkageType: ''
    returnType: int
    signature: int in_utf8(uint32_t value, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_utf8_putc_internal
      Src: /src/openssl/crypto/asn1/a_mbstr.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: out_utf8
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_putc_internal
    linkageType: ''
    returnType: int
    signature: int out_utf8(uint32_t value, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fromascii
      Src: /src/openssl/crypto/asn1/a_mbstr.c:300,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/asn1/a_mbstr.c:321,1
    - Dst: ossl_isasn1print
      Src: /src/openssl/crypto/asn1/a_mbstr.c:323,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/asn1/a_mbstr.c:325,1
    - Dst: is_unicode_valid
      Src: /src/openssl/crypto/asn1/a_mbstr.c:331,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 337
    functionName: type_str
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 1
    functionsReached:
    - is_unicode_valid
    - ossl_isdigit
    - ossl_isasn1print
    - ossl_isascii
    - ossl_fromascii
    linkageType: ''
    returnType: int
    signature: int type_str(uint32_t value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: cpy_asc
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpy_asc(uint32_t value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: cpy_bmp
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpy_bmp(uint32_t value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: cpy_univ
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpy_univ(uint32_t value, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_utf8_putc_internal
      Src: /src/openssl/crypto/asn1/a_mbstr.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: cpy_utf8
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_putc_internal
    linkageType: ''
    returnType: int
    signature: int cpy_utf8(uint32_t 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: 5
    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: 6
    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: 7
    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: 5
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: ASN1_GENERALIZEDTIME_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime_adj
    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: 7
    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_free
    - ERR_raise
    - BIO_set_fp
    - 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:
    - i2d
    - BIO_write
    - OPENSSL_malloc
    - OPENSSL_free
    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:
    - ASN1_item_i2d_bio
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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:
    - ASN1_item_i2d
    - ERR_raise
    - BIO_write
    - OPENSSL_free
    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:
    - ASN1_item_i2d_bio
    - BIO_new
    - BIO_free
    - ERR_raise
    - 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
    - OPENSSL_free
    - asn1_bio_init
    - BIO_set_data
    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_init
    - OPENSSL_free
    - BIO_ASN1_BUF_CTX*::prefix_free
    - BIO_get_data
    - BIO_set_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:245,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:246,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 249
    functionName: asn1_bio_write
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - asn1_bio_setup_ex
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - ASN1_put_object
    - ASN1_object_size
    - asn1_bio_flush_ex
    - BIO_next
    - BIO_get_data
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int asn1_bio_write(BIO *b, const char *in, int inl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:255,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/bio_asn1.c:262,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:263,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:264,1
    - Dst: cleanup
      Src: /src/openssl/crypto/asn1/bio_asn1.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    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: 279
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 279
    functionName: asn1_bio_flush_ex
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - BIO_clear_retry_flags
    - cleanup
    - BIO_write
    - BIO_copy_next_retry
    - 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:286,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:287,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: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: asn1_bio_setup_ex
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - BIO_clear_retry_flags
    - setup
    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:300,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/bio_asn1.c:303,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:304,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: asn1_bio_read
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    - 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:311,1
    - Dst: asn1_bio_write
      Src: /src/openssl/crypto/asn1/bio_asn1.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 317
    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:322,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/bio_asn1.c:325,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:326,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - str
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: asn1_bio_gets
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_gets
    - BIO_clear_retry_flags
    - 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:333,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 337
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/asn1/bio_asn1.c:346,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:349,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:387,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:388,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:389,1
    - Dst: asn1_bio_setup_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:398,1
    - Dst: asn1_bio_flush_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:404,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:410,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:412,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:413,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:426,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:431,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 4
    argNames:
    - b
    - cmd
    - arg1
    - arg2
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 339
    functionDepth: 5
    functionLinenumber: 339
    functionLinenumberEnd: 435
    functionName: asn1_bio_ctrl
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - asn1_bio_setup_ex
    - BIO_clear_retry_flags
    - BIO_copy_next_retry
    - asn1_bio_flush_ex
    - BIO_next
    - 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:443,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: 444
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 444
    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:452,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: 458
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 458
    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:463,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: 464
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 464
    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:469,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: 470
      start: 466
    functionDepth: 4
    functionLinenumber: 466
    functionLinenumberEnd: 470
    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:475,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: 476
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 476
    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:481,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: 482
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 482
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_bitst.c:24,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/asn1/t_bitst.c:36,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_bitst.c:38,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_bitst.c:40,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_bitst.c:45,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - out
    - bs
    - tbl
    - indent
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    - BIT_STRING_BITNAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 48
    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: OSSL_BEGIN_ALLOW_DEPRECATED
    signature: "OSSL_BEGIN_ALLOW_DEPRECATED 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:54,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/asn1/t_bitst.c:58,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: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    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:68,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/t_bitst.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - name
    - tbl
    argTypes:
    - char*
    - BIT_STRING_BITNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    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:29,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/asn1/t_spki.c:30,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/t_spki.c:31,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:32,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/t_spki.c:33,1
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/asn1/t_spki.c:34,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:36,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/asn1/t_spki.c:38,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/t_spki.c:39,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:43,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/t_spki.c:44,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:45,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/t_spki.c:46,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/t_spki.c:52,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:53,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/t_spki.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - out
    - spki
    argTypes:
    - BIO*
    - NETSCAPE_SPKI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 58
    functionName: NETSCAPE_SPKI_print
    functionSourceFile: /src/openssl/crypto/asn1/t_spki.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - BIO_printf
    - BIO_write
    - EVP_PKEY_print_public
    - OBJ_nid2ln
    - OBJ_obj2nid
    - X509_PUBKEY_get
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int NETSCAPE_SPKI_print(BIO *out, const 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_MD_fetch
      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:76,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/asn1/a_verify.c:82,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_verify.c:83,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    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: 85
      start: 27
    functionDepth: 10
    functionLinenumber: 27
    functionLinenumberEnd: 85
    functionName: ASN1_verify
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 0
    functionsReached:
    - i2d
    - OBJ_nid2sn
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_MD_fetch
    - EVP_MD_CTX_free
    - OBJ_obj2nid
    - EVP_VerifyFinal
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_VerifyUpdate
    - OPENSSL_malloc
    - EVP_VerifyInit_ex
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:104,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/asn1/a_verify.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:116,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/asn1/a_verify.c:121,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_verify.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:122,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/asn1/a_verify.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:128,1
    - Dst: EVP_PKEY*::ameth::item_verify
      Src: /src/openssl/crypto/asn1/a_verify.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:139,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/asn1/a_verify.c:150,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/asn1/a_verify.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:151,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:156,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/asn1/a_verify.c:161,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/asn1/a_verify.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:162,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/asn1/a_verify.c:167,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/asn1/a_verify.c:167,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_verify.c:169,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/crypto/asn1/a_verify.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:181,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_verify.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:195,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/crypto/asn1/a_verify.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:204,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/asn1/a_verify.c:209,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_verify.c:210,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 7
    argNames:
    - it
    - alg
    - signature
    - data
    - ctx
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_MD_CTX*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 89
    functionDepth: 10
    functionLinenumber: 89
    functionLinenumberEnd: 212
    functionName: item_verify
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 2
    functionsReached:
    - ASN1_item_i2d
    - OBJ_nid2sn
    - EVP_PKEY_CTX_get0_pkey
    - ERR_raise_data
    - EVP_PKEY*::ameth::item_verify
    - EVP_DigestVerify
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_MD_fetch
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - EVP_DigestVerifyInit
    - EVP_MD_free
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_PKEY_is_a
    - ossl_rsa_pss_to_ctx
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: "int item_verify(const ASN1_ITEM *it, const X509_ALGOR *alg,\n    const
      ASN1_BIT_STRING *signature, const void *data,\n    EVP_MD_CTX *ctx, OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/asn1/a_verify.c:218,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: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    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:229,1
    - Dst: item_verify
      Src: /src/openssl/crypto/asn1/a_verify.c:230,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/asn1/a_verify.c:231,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:231,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_verify.c:232,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: 235
      start: 221
    functionDepth: 11
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: ASN1_item_verify_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 7
    functionsReached:
    - evp_md_ctx_new_ex
    - item_verify
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: item_verify
      Src: /src/openssl/crypto/asn1/a_verify.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    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: 242
      start: 237
    functionDepth: 11
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: ASN1_item_verify_ctx
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 0
    functionsReached:
    - item_verify
    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:
    - NCONF_get_section
    - CONF_imodule_get_value
    - ERR_raise
    - do_tcreate
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    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
    - strtoul
    - OBJ_ln2nid
    - sk_CONF_VALUE_pop_free
    - ASN1_str2mask
    - ERR_raise_data
    - ERR_raise
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - ASN1_STRING_TABLE_add
    - STACK_OF
    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:23,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:24,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/asn_pack.c:31,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/asn_pack.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:38,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/asn_pack.c:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - obj
    - it
    - oct
    argTypes:
    - void*
    - ASN1_ITEM*
    - ASN1_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: ASN1_item_pack
    functionSourceFile: /src/openssl/crypto/asn1/asn_pack.c
    functionUses: 8
    functionsReached:
    - ASN1_item_i2d
    - ASN1_STRING_free
    - ASN1_STRING_set0
    - ERR_raise
    - ASN1_STRING_new
    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:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - oct
    - it
    argTypes:
    - ASN1_STRING*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: ASN1_item_unpack
    functionSourceFile: /src/openssl/crypto/asn1/asn_pack.c
    functionUses: 9
    functionsReached:
    - ERR_raise
    - ASN1_item_d2i
    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:72,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:75,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: 77
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 77
    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:
    - NCONF_get_section
    - do_create
    - CONF_imodule_get_value
    - ERR_raise
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    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:
    - OPENSSL_free
    - strrchr
    - OBJ_create
    - ossl_isspace
    - memcpy
    - 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: 16
    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:
    - ASN1_item_ex_i2d
    - OPENSSL_malloc
    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: 211
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 211
    functionName: ASN1_item_ex_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 4
    functionsReached:
    - ossl_asn1_get_const_field_ptr
    - asn1_i2d_ex_primitive
    - ossl_asn1_do_adb
    - ossl_asn1_get_choice_selector_const
    - ASN1_EXTERN_FUNCS*::asn1_ex_i2d
    - ASN1_object_size
    - ERR_raise
    - asn1_template_ex_i2d
    - ASN1_put_object
    - ASN1_put_eoc
    - ossl_asn1_enc_restore
    - asn1_cb
    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:269,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_enc.c:269,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_enc.c:302,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/openssl/crypto/asn1/tasn_enc.c:303,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:304,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:304,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:309,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:314,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:319,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:329,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:331,1
    - Dst: asn1_set_seq_out
      Src: /src/openssl/crypto/asn1/tasn_enc.c:333,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:333,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:336,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:338,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:347,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:350,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:356,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:359,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:360,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:360,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:362,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:368,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:371,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: 375
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 375
    functionName: asn1_template_ex_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 1
    functionsReached:
    - sk_const_ASN1_VALUE_value
    - ASN1_put_object
    - ASN1_object_size
    - ASN1_item_ex_i2d
    - ERR_raise
    - ASN1_put_eoc
    - sk_const_ASN1_VALUE_num
    - asn1_set_seq_out
    - ASN1_ITEM_ptr
    - STACK_OF
    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:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    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:475,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:505,1
    - Dst: asn1_ex_i2c
      Src: /src/openssl/crypto/asn1/tasn_enc.c:506,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:508,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:514,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: 516
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 516
    functionName: asn1_i2d_ex_primitive
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 1
    functionsReached:
    - asn1_ex_i2c
    - ASN1_object_size
    - ASN1_put_object
    - 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:533,1
    - Dst: ossl_i2c_ASN1_BIT_STRING
      Src: /src/openssl/crypto/asn1/tasn_enc.c:593,1
    - Dst: ossl_i2c_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/tasn_enc.c:601,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/tasn_enc.c:638,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: 640
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 640
    functionName: asn1_ex_i2c
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 1
    functionsReached:
    - ossl_i2c_ASN1_INTEGER
    - memcpy
    - ASN1_PRIMITIVE_FUNCS*::prim_i2c
    - ossl_i2c_ASN1_BIT_STRING
    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:
    - asn1_get_length
    - ERR_raise
    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: 1
    argNames:
    - str
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ossl_asn1_bit_string_clear_unused_bits
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_bit_string_clear_unused_bits(ASN1_STRING *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_bit_string_clear_unused_bits
      Src: /src/openssl/crypto/asn1/asn1_lib.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - ASN1_STRING*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: ossl_asn1_bit_string_set_unused_bits
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 8
    functionsReached:
    - ossl_asn1_bit_string_clear_unused_bits
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_bit_string_set_unused_bits(ASN1_STRING *str, unsigned
      int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/asn1_lib.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - str
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: ASN1_STRING_copy
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 10
    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:282,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:285,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 290
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_lib.c:299,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn1_lib.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_lib.c:315,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:329,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:331,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:340,1
    - Dst: ossl_asn1_bit_string_clear_unused_bits
      Src: /src/openssl/crypto/asn1/asn1_lib.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - str
    - _data
    - len_in
    argTypes:
    - ASN1_STRING*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 356
    functionName: ASN1_STRING_set
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 24
    functionsReached:
    - ERR_raise
    - OPENSSL_realloc
    - ossl_asn1_bit_string_clear_unused_bits
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_set(ASN1_STRING *str, const void *_data, int len_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - data
    - len
    argTypes:
    - ASN1_STRING*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: ASN1_STRING_set0
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 21
    functionsReached:
    - OPENSSL_clear_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:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    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:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - type
    - data
    - length
    argTypes:
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: ASN1_STRING_new_not_owned
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_STRING
    signature: "ASN1_STRING *ASN1_STRING_new_not_owned(int type, const uint8_t *data,\n
      \   size_t length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:423,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:425,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - a
    - clear
    - embed
    argTypes:
    - ASN1_STRING*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 437
    functionName: ossl_asn1_string_free_internal
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_string_free_internal(ASN1_STRING *a, int clear, int
      embed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_string_free_internal
      Src: /src/openssl/crypto/asn1/asn1_lib.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: ASN1_STRING_free
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 22
    functionsReached:
    - ossl_asn1_string_free_internal
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_free(ASN1_STRING *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_string_free_internal
      Src: /src/openssl/crypto/asn1/asn1_lib.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: ASN1_STRING_clear_free
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 4
    functionsReached:
    - ossl_asn1_string_free_internal
    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:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 470
    functionName: ASN1_STRING_cmp
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 6
    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: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: ASN1_STRING_length
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 23
    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: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    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: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    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: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn1_lib.c:506,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/asn1/asn1_lib.c:508,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/asn1/asn1_lib.c:509,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/asn1_lib.c:512,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:516,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/asn1/asn1_lib.c:520,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/asn1/asn1_lib.c:521,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/asn1_lib.c:522,1
    - Dst: strncpy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:524,1
    - Dst: strncpy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:527,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/asn1/asn1_lib.c:527,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: 533
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 533
    functionName: ossl_sk_ASN1_UTF8STRING2text
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_num
    - strncpy
    - ASN1_STRING_length
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_get0_data
    - 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:
    - ASN1_item_i2d_bio
    - BIO_pop
    - BIO_free
    - SMIME_crlf_copy
    - ERR_raise
    - BIO_flush
    - BIO_new_NDEF
    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_f_base64
    - BIO_new
    - BIO_pop
    - BIO_free
    - ERR_raise
    - BIO_flush
    - BIO_push
    - i2d_ASN1_bio_stream
    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_f_base64
    - BIO_new
    - BIO_pop
    - BIO_free
    - ERR_raise
    - BIO_flush
    - BIO_push
    - ASN1_item_d2i_bio_ex
    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:264,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:275,1
    - Dst: asn1_write_micalg
      Src: /src/openssl/crypto/asn1/asn_mime.c:281,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:283,1
    - Dst: asn1_output_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:292,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:294,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:299,1
    - Dst: B64_write_ASN1
      Src: /src/openssl/crypto/asn1/asn_mime.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:307,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/asn1/asn_mime.c:321,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:330,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:338,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:340,1
    - Dst: B64_write_ASN1
      Src: /src/openssl/crypto/asn1/asn_mime.c:345,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:347,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    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: 348
      start: 242
    functionDepth: 8
    functionLinenumber: 242
    functionLinenumberEnd: 348
    functionName: SMIME_write_ASN1_ex
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - B64_write_ASN1
    - sk_X509_ALGOR_num
    - RAND_bytes_ex
    - asn1_output_data
    - asn1_write_micalg
    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:354,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: 356
      start: 350
    functionDepth: 9
    functionLinenumber: 350
    functionLinenumberEnd: 356
    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:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:378,1
    - Dst: ASN1_AUX*::asn1_cb
      Src: /src/openssl/crypto/asn1/asn_mime.c:388,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/asn1/asn_mime.c:392,1
    - Dst: ASN1_AUX*::asn1_cb
      Src: /src/openssl/crypto/asn1/asn_mime.c:396,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:402,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:403,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: 408
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 408
    functionName: asn1_output_data
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - BIO_pop
    - BIO_free
    - ERR_raise
    - SMIME_crlf_copy
    - ASN1_AUX*::asn1_cb
    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:421,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:422,1
    - Dst: mime_parse_hdr
      Src: /src/openssl/crypto/asn1/asn_mime.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:432,1
    - Dst: mime_hdr_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:436,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:439,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:445,1
    - Dst: mime_param_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:447,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:450,1
    - Dst: multi_split
      Src: /src/openssl/crypto/asn1/asn_mime.c:453,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:454,1
    - Dst: sk_BIO_num
      Src: /src/openssl/crypto/asn1/asn_mime.c:455,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:456,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:457,1
    - Dst: sk_BIO_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:462,1
    - Dst: mime_parse_hdr
      Src: /src/openssl/crypto/asn1/asn_mime.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:465,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:466,1
    - Dst: mime_hdr_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:472,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:475,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:476,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:480,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:480,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:481,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:483,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:484,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:487,1
    - Dst: b64_read_asn1
      Src: /src/openssl/crypto/asn1/asn_mime.c:489,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:490,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:491,1
    - Dst: sk_BIO_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:496,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:497,1
    - Dst: sk_BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:498,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:500,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:507,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:507,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:508,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:510,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:514,1
    - Dst: b64_read_asn1
      Src: /src/openssl/crypto/asn1/asn_mime.c:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:517,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: 521
      start: 416
    functionDepth: 6
    functionLinenumber: 416
    functionLinenumberEnd: 521
    functionName: SMIME_read_ASN1_ex
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - mime_hdr_find
    - BIO_free
    - mime_param_find
    - ERR_raise
    - strcmp
    - sk_BIO_pop_free
    - mime_parse_hdr
    - sk_BIO_value
    - sk_MIME_HEADER_pop_free
    - STACK_OF
    - sk_BIO_free
    - sk_BIO_num
    - multi_split
    - b64_read_asn1
    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:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - bcont
    - it
    argTypes:
    - BIO*
    - BIO**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 7
    functionLinenumber: 523
    functionLinenumberEnd: 526
    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:538,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:546,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/crypto/asn1/asn_mime.c:546,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:548,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:551,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/asn_mime.c:553,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:554,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:561,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/asn_mime.c:563,1
    - Dst: strip_eol
      Src: /src/openssl/crypto/asn1/asn_mime.c:564,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:570,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:574,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:576,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:581,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/asn1/asn_mime.c:589,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:590,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:591,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 3
    argNames:
    - in
    - out
    - flags
    argTypes:
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 593
    functionName: SMIME_crlf_copy
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 4
    functionsReached:
    - BIO_puts
    - BIO_f_buffer
    - BIO_new
    - BIO_read
    - BIO_write
    - BIO_pop
    - BIO_free
    - ERR_raise
    - BIO_flush
    - BIO_gets
    - BIO_push
    - strip_eol
    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:600,1
    - Dst: mime_parse_hdr
      Src: /src/openssl/crypto/asn1/asn_mime.c:603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:604,1
    - Dst: mime_hdr_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:609,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:610,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:613,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:614,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:616,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:619,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/asn_mime.c:620,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 624
    functionName: SMIME_text
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 2
    functionsReached:
    - ERR_raise_data
    - mime_hdr_find
    - BIO_read
    - BIO_write
    - ERR_raise
    - strcmp
    - mime_parse_hdr
    - sk_MIME_HEADER_pop_free
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int SMIME_text(BIO *in, BIO *out)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn_mime.c:635,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:638,1
    - Dst: sk_BIO_new_null
      Src: /src/openssl/crypto/asn1/asn_mime.c:647,1
    - Dst: BIO_get_line
      Src: /src/openssl/crypto/asn1/asn_mime.c:651,1
    - Dst: mime_bound_check
      Src: /src/openssl/crypto/asn1/asn_mime.c:652,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:658,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/asn1/asn_mime.c:658,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/asn1/asn_mime.c:661,1
    - Dst: sk_BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:663,1
    - Dst: strip_eol
      Src: /src/openssl/crypto/asn1/asn_mime.c:668,1
    - Dst: sk_BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:672,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:674,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/asn1/asn_mime.c:674,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/asn1/asn_mime.c:677,1
    - Dst: OPENSSL_NO_CMS
      Src: /src/openssl/crypto/asn1/asn_mime.c:680,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:686,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:689,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:694,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:699,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 4
    argNames:
    - bio
    - flags
    - bound
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 631
    functionDepth: 5
    functionLinenumber: 631
    functionLinenumberEnd: 701
    functionName: multi_split
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - mime_bound_check
    - BIO_puts
    - BIO_new
    - BIO_get_line
    - BIO_write
    - BIO_set_mem_eof_return
    - BIO_free
    - sk_BIO_push
    - sk_BIO_new_null
    - OPENSSL_NO_CMS
    - strip_eol
    - STACK_OF
    - strlen
    - BIO_s_mem
    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:719,1
    - Dst: sk_MIME_HEADER_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:722,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/asn_mime.c:725,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_mime.c:727,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:746,1
    - Dst: mime_debug
      Src: /src/openssl/crypto/asn1/asn_mime.c:753,1
    - Dst: mime_hdr_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:755,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:755,1
    - Dst: sk_MIME_HEADER_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:758,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:781,1
    - Dst: mime_hdr_addparam
      Src: /src/openssl/crypto/asn1/asn_mime.c:790,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:790,1
    - Dst: mime_debug
      Src: /src/openssl/crypto/asn1/asn_mime.c:794,1
    - Dst: mime_debug
      Src: /src/openssl/crypto/asn1/asn_mime.c:804,1
    - Dst: mime_hdr_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:812,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:812,1
    - Dst: sk_MIME_HEADER_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:815,1
    - Dst: mime_hdr_addparam
      Src: /src/openssl/crypto/asn1/asn_mime.c:820,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:820,1
    - Dst: sk_MIME_HEADER_sort
      Src: /src/openssl/crypto/asn1/asn_mime.c:827,1
    - Dst: sk_MIME_HEADER_num
      Src: /src/openssl/crypto/asn1/asn_mime.c:828,1
    - Dst: sk_MIME_HEADER_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:829,1
    - Dst: sk_MIME_PARAM_sort
      Src: /src/openssl/crypto/asn1/asn_mime.c:831,1
    - Dst: mime_hdr_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:835,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:836,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 838
    functionName: mime_parse_hdr
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 2
    functionsReached:
    - mime_hdr_free
    - strip_ends
    - sk_MIME_HEADER_push
    - sk_MIME_HEADER_num
    - mime_hdr_new
    - sk_MIME_HEADER_value
    - sk_MIME_PARAM_sort
    - BIO_gets
    - ossl_isspace
    - sk_MIME_HEADER_new
    - STACK_OF
    - sk_MIME_HEADER_sort
    - sk_MIME_HEADER_pop_free
    - mime_hdr_addparam
    - mime_debug
    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:842,1
    - Dst: strip_start
      Src: /src/openssl/crypto/asn1/asn_mime.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: strip_ends
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - strip_end
    - strip_start
    linkageType: ''
    returnType: char
    signature: char *strip_ends(char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_mime.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 862
    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:871,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_mime.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 885
    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:893,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/asn1/asn_mime.c:896,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/asn_mime.c:899,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/asn1/asn_mime.c:902,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn_mime.c:904,1
    - Dst: sk_MIME_PARAM_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:909,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:914,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:915,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:916,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 918
    functionName: mime_hdr_new
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - ossl_tolower
    - OPENSSL_free
    - 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:926,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/asn1/asn_mime.c:930,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/asn_mime.c:933,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn_mime.c:938,1
    - Dst: sk_MIME_PARAM_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:943,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:947,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:948,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:949,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - mhdr
    - name
    - value
    argTypes:
    - MIME_HEADER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 951
    functionName: mime_hdr_addparam
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - ossl_tolower
    - OPENSSL_free
    - sk_MIME_PARAM_push
    - 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:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MIME_HEADER**
    - MIME_HEADER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 960
    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:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MIME_PARAM**
    - MIME_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 968
    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:981,1
    - Dst: sk_MIME_HEADER_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hdrs
    - name
    argTypes:
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 983
    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:992,1
    - Dst: sk_MIME_PARAM_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - name
    argTypes:
    - MIME_HEADER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    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:1000,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1001,1
    - Dst: sk_MIME_PARAM_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1003,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - MIME_HEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1005
    functionName: mime_hdr_free
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - sk_MIME_PARAM_pop_free
    - OPENSSL_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:1009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1010,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - MIME_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1012
    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:1028,1
    - Dst: strncmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:1028,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn_mime.c:1029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - line
    - linelen
    - bound
    - blen
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1031
    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: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - linebuf
    - plen
    - flags
    argTypes:
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1072
    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: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    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:21,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: 22
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ASN1_BIT_STRING_set
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: int ASN1_BIT_STRING_set(ASN1_BIT_STRING *x, unsigned char *d, int len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_bitstr.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 60
    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(const ASN1_BIT_STRING *a, unsigned char
      **pp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/asn1/a_bitstr.c:81,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/asn1/a_bitstr.c:96,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_bitstr.c:99,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_bitstr.c:103,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_bitstr.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_bitstr.c:117,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/asn1/a_bitstr.c:119,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: 121
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 121
    functionName: ossl_c2i_ASN1_BIT_STRING
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 1
    functionsReached:
    - ASN1_BIT_STRING_free
    - ASN1_STRING_set0
    - ossl_asn1_bit_string_set_unused_bits
    - ERR_raise
    - memcpy
    - ASN1_BIT_STRING_new
    - 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: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/crypto/asn1/a_bitstr.c:148,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_bitstr.c:152,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/asn1/a_bitstr.c:173,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - a
    - n
    - value
    argTypes:
    - ASN1_BIT_STRING*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 176
    functionName: ASN1_BIT_STRING_set_bit
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 3
    functionsReached:
    - ossl_asn1_bit_string_set_unused_bits
    - 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: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    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: 216
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 216
    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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - abs
    - out_length
    - out_unused_bits
    argTypes:
    - ASN1_BIT_STRING*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 249
    functionName: ASN1_BIT_STRING_get_length
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASN1_BIT_STRING_get_length(const ASN1_BIT_STRING *abs, size_t
      *out_length,\n    int *out_unused_bits)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_bitstr.c:266,1
    - Dst: ossl_asn1_bit_string_set_unused_bits
      Src: /src/openssl/crypto/asn1/a_bitstr.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - abs
    - data
    - length
    - unused_bits
    argTypes:
    - ASN1_BIT_STRING*
    - uint8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 273
    functionName: ASN1_BIT_STRING_set1
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 3
    functionsReached:
    - ossl_asn1_bit_string_set_unused_bits
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: "int ASN1_BIT_STRING_set1(ASN1_BIT_STRING *abs, const uint8_t *data,
      size_t length,\n    int unused_bits)"
  - 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: 15
    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:
    - twos_complement
    - ERR_raise
    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:
    - ERR_raise
    - asn1_get_uint64
    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:
    - c2i_ibuf
    - ASN1_INTEGER_new
    - ASN1_STRING_set
    - ASN1_INTEGER_free
    - ERR_raise
    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:
    - asn1_get_int64
    - ERR_raise
    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: 2
    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:
    - ERR_raise
    - asn1_get_uint64
    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: 2
    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: 13
    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:454,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_int.c:463,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_int.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:474,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/a_int.c:476,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ASN1_INTEGER**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 478
    functionName: d2i_ASN1_UINTEGER
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - ASN1_STRING_set0
    - ASN1_INTEGER_free
    - ERR_raise
    - memcpy
    - ASN1_get_object
    - 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:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:494,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/asn1/a_int.c:498,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/asn1/a_int.c:498,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/a_int.c:501,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_int.c:506,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:507,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/asn1/a_int.c:512,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/asn1/a_int.c:515,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/a_int.c:520,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - bn
    - ai
    - atype
    argTypes:
    - BIGNUM*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 480
    functionDepth: 5
    functionLinenumber: 480
    functionLinenumberEnd: 522
    functionName: bn_to_asn1_string
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - BN_num_bytes
    - BN_is_zero
    - ASN1_INTEGER_free
    - ERR_raise
    - BN_bn2bin
    - ASN1_STRING_type_new
    - BN_is_negative
    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:530,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/asn1/a_int.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:536,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/asn1/a_int.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ai
    - bn
    - itype
    argTypes:
    - ASN1_INTEGER*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 524
    functionDepth: 5
    functionLinenumber: 524
    functionLinenumberEnd: 542
    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:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - int64_t*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 547
    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:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_INTEGER*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 552
    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:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - uint64_t*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 557
    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:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_INTEGER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 562
    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:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - v
    argTypes:
    - ASN1_INTEGER*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 567
    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:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 569
    functionDepth: 4
    functionLinenumber: 569
    functionLinenumberEnd: 581
    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:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 6
    functionLinenumber: 583
    functionLinenumberEnd: 586
    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:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - bn
    argTypes:
    - ASN1_INTEGER*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 6
    functionLinenumber: 588
    functionLinenumberEnd: 591
    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:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - int64_t*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 596
    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:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_ENUMERATED*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 601
    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:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - v
    argTypes:
    - ASN1_ENUMERATED*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 4
    functionLinenumber: 603
    functionLinenumberEnd: 606
    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:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 624
    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:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 6
    functionLinenumber: 626
    functionLinenumberEnd: 629
    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:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - bn
    argTypes:
    - ASN1_ENUMERATED*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 6
    functionLinenumber: 631
    functionLinenumberEnd: 634
    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:643,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:647,1
    - Dst: c2i_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:650,1
    - Dst: asn1_get_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:651,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: 652
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: ossl_c2i_uint64_int
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 2
    functionsReached:
    - c2i_ibuf
    - ERR_raise
    - asn1_get_uint64
    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:659,1
    - Dst: i2c_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - r
    - neg
    argTypes:
    - unsigned char*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 661
    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:
    - n2l
    - l2n
    - 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: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    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: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    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: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    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: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    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: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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:
    - BF_decrypt
    - n2l
    - l2n
    - 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: 0
    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:
    - l2n
    - n2l
    - BF_decrypt
    - l2nn
    - n2ln
    - 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:
    - n2l
    - l2n
    - 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:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:58,1
    - Dst: ERR_add_error_mem_bio
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:60,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:64,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:65,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: 68
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 68
    functionName: verify_signature
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ERR_add_error_mem_bio
    - ossl_x509_print_ex_brief
    - BIO_free
    - ERR_raise
    - X509_get_key_usage
    - ASN1_ITEM_rptr
    - EVP_PKEY_free
    - X509_get_pubkey
    - ASN1_item_verify_ex
    - ossl_assert
    - BIO_s_mem
    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:77,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:83,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: verify_PBMAC
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - ASN1_BIT_STRING_free
    - ERR_raise
    - 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:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:113,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:117,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:118,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:122,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:125,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:127,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:131,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:132,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: 134
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 134
    functionName: OSSL_CMP_validate_cert_path
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - ERR_peek_last_error
    - ERR_GET_REASON
    - X509_STORE_CTX_free
    - ERR_raise
    - X509_STORE_CTX_new_ex
    - X509_verify_cert
    - OSSL_CMP_CTX_print_errors
    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:142,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:144,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:145,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:146,1
    - Dst: X509_STORE_CTX_set_current_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:147,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ts
    - cert
    - err
    argTypes:
    - X509_STORE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: verify_cb_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 7
    functionsReached:
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new
    - X509_STORE_get_verify_cb
    - X509_STORE_CTX_free
    - X509_STORE_CTX_set_error
    - X509_STORE_CTX_set_current_cert
    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:166,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:169,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:170,1
    - Dst: ossl_cmp_log3
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:174,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:180,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:181,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:183,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: 185
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 185
    functionName: check_name
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_NAME_oneline
    - ossl_cmp_log3
    - ossl_cmp_log1
    - ossl_cmp_log2
    - X509_NAME_cmp
    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:199,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:202,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:203,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:206,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:212,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:213,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:214,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:215,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: 217
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: check_kid
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - OPENSSL_free
    - i2s_ASN1_OCTET_STRING
    - ossl_cmp_log1
    - 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:224,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:225,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cert
    - already_checked
    argTypes:
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 228
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_issued
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:245,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:247,1
    - Dst: ossl_cmp_log3
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:250,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:252,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:252,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:254,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:256,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:256,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:259,1
    - Dst: already_checked
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:262,1
    - Dst: already_checked
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:263,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:264,1
    - Dst: X509_check_certificate_times
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:268,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:289,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:291,1
    - Dst: check_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:295,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:296,1
    - Dst: check_kid
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:300,1
    - Dst: X509_get0_subject_key_id
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:300,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:303,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:304,1
    - Dst: verify_signature
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:307,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:308,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:312,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    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: 314
      start: 238
    functionDepth: 13
    functionLinenumber: 238
    functionLinenumberEnd: 314
    functionName: cert_acceptable
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - verify_cb_cert
    - X509_check_certificate_times
    - check_kid
    - ossl_x509v3_cache_extensions
    - X509_NAME_oneline
    - OPENSSL_free
    - ossl_cmp_log1
    - X509_STORE_get0_param
    - already_checked
    - ossl_cmp_info
    - ossl_cmp_log3
    - verify_signature
    - X509_get0_subject_key_id
    - X509_get_subject_name
    - X509_check_issued
    - check_name
    - X509_get_issuer_name
    - ossl_cmp_warn
    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:319,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:322,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: 325
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 325
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:341,1
    - Dst: X509_STORE_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:353,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:354,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:359,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:361,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:363,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:368,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:373,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:374,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:375,1
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - msg
    - scrt
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 336
    functionDepth: 5
    functionLinenumber: 336
    functionLinenumberEnd: 381
    functionName: check_cert_path_3gpp
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_X509_STORE_add1_certs
    - X509_free
    - ossl_cmp_certrepmessage_get0_certresponse
    - ossl_cmp_certresponse_get1_cert
    - X509_STORE_new
    - STACK_OF
    - X509_STORE_free
    - ossl_cmp_warn
    - OSSL_CMP_validate_cert_path
    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:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cert
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 14
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: check_msg_given_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - cert_acceptable
    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:406,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:407,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:411,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:412,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:414,1
    - Dst: cert_acceptable
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:416,1
    - Dst: check_cert_path_3gpp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:420,1
    - Dst: check_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:421,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:423,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:427,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: 429
      start: 396
    functionDepth: 14
    functionLinenumber: 396
    functionLinenumberEnd: 429
    functionName: check_msg_with_certs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_ctx_set1_validatedSrvCert
    - sk_X509_num
    - sk_X509_value
    - cert_acceptable
    - check_cert_path
    - ossl_cmp_log1
    - ossl_assert
    - check_cert_path_3gpp
    - 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:442,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:443,1
    - Dst: check_msg_with_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:447,1
    - Dst: check_msg_with_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:450,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:455,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:457,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:457,1
    - Dst: check_msg_with_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:459,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:464,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: 467
      start: 436
    functionDepth: 15
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: check_msg_all_certs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_get1_all_certs
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_STACK_OF_X509_free
    - ossl_cmp_info
    - STACK_OF
    - check_msg_with_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:487,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:492,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:495,1
    - Dst: check_msg_given_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:505,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:507,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:512,1
    - Dst: check_msg_given_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:515,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:517,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:520,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:521,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:525,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:529,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:531,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:532,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:534,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:536,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:538,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:540,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:542,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:546,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:548,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:549,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:552,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:553,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:558,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 473
    functionDepth: 16
    functionLinenumber: 473
    functionLinenumberEnd: 560
    functionName: check_msg_find_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - ERR_set_mark
    - check_msg_given_cert
    - X509_NAME_oneline
    - OPENSSL_free
    - ERR_add_error_txt
    - ERR_raise
    - i2s_ASN1_OCTET_STRING
    - ossl_cmp_info
    - check_msg_all_certs
    - ossl_cmp_log1
    - OSSL_CMP_CTX_print_errors
    - ossl_cmp_ctx_set1_validatedSrvCert
    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:583,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:586,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:592,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:596,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:600,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:601,1
    - Dst: verify_PBMAC
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:604,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:611,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:619,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:622,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:630,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:634,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:642,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:652,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:653,1
    - Dst: check_msg_find_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:656,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:657,1
    - Dst: verify_signature
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:664,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:665,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:667,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:669,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:670,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 579
    functionDepth: 17
    functionLinenumber: 579
    functionLinenumberEnd: 675
    functionName: OSSL_CMP_validate_msg
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_X509_STORE_add1_certs
    - check_msg_find_cert
    - ossl_cmp_log1
    - ossl_cmp_hdr_get_protection_nid
    - ERR_raise
    - ossl_cmp_debug
    - ossl_cmp_info
    - verify_signature
    - STACK_OF
    - verify_PBMAC
    - 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:681,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:685,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:686,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:687,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:692,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:693,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: 698
      start: 677
    functionDepth: 5
    functionLinenumber: 677
    functionLinenumberEnd: 698
    functionName: check_transactionID_or_nonce
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - i2s_ASN1_OCTET_STRING
    - OPENSSL_free
    - ASN1_OCTET_STRING_cmp
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int check_transactionID_or_nonce(ASN1_OCTET_STRING *expected,\n    ASN1_OCTET_STRING
      *actual, int reason)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:727,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:729,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:734,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:740,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:745,1
    - Dst: check_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:754,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:756,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:757,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:759,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:765,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:767,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:778,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:779,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:783,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:787,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:787,1
    - Dst: OSSL_CMP_validate_msg
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:792,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:805,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:805,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:809,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:811,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:816,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:817,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:819,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:824,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:826,1
    - Dst: check_transactionID_or_nonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:832,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:840,1
    - Dst: check_transactionID_or_nonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:842,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:846,1
    - Dst: check_transactionID_or_nonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:848,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:851,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:855,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:859,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:867,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:870,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:877,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:883,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:886,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    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: 896
      start: 720
    functionDepth: 18
    functionLinenumber: 720
    functionLinenumberEnd: 896
    functionName: ossl_cmp_msg_check_update
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - X509_free
    - sk_X509_num
    - OSSL_CMP_MSG_get0_header
    - ERR_pop_to_mark
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_X509_STORE_add1_certs
    - ERR_raise_data
    - OPENSSL_free
    - ERR_raise
    - OSSL_CMP_validate_msg
    - ossl_cmp_hdr_get_pvno
    - STACK_OF
    - X509_get_subject_name
    - check_transactionID_or_nonce
    - check_name
    - OSSL_CMP_CTX_set1_transactionID
    - ossl_cmp_log1
    - ossl_assert
    - ERR_set_mark
    - X509_NAME_oneline
    - ossl_x509_add_certs_new
    - ossl_cmp_hdr_get_protection_nid
    - ossl_cmp_ctx_set1_recipNonce
    - sk_X509_shift
    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:901,1
    - Dst: X509_REQ_verify_ex
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:907,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:911,1
    - Dst: OSSL_CRMF_MSGS_verify_popo
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:919,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:928,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: 932
      start: 898
    functionDepth: 5
    functionLinenumber: 898
    functionLinenumberEnd: 932
    functionName: ossl_cmp_verify_popo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_REQ_verify_ex
    - ERR_raise
    - OSSL_CRMF_MSGS_verify_popo
    - ossl_assert
    - 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: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cmp/cmp_protect.c:75,1
    - Dst: d2i_OSSL_CRMF_PBMPARAMETER
      Src: /src/openssl/crypto/cmp/cmp_protect.c:76,1
    - Dst: ASN1_STRING_length
      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_STRING_get0_data
      Src: /src/openssl/crypto/cmp/cmp_protect.c:84,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cmp/cmp_protect.c:84,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:88,1
    - Dst: ASN1_BIT_STRING_set1
      Src: /src/openssl/crypto/cmp/cmp_protect.c:91,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:92,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:96,1
    - Dst: OPENSSL_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: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:105,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/crypto/cmp/cmp_protect.c:109,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_protect.c:110,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:113,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/cmp/cmp_protect.c:115,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_protect.c:115,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:121,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    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:
    - ASN1_BIT_STRING_free
    - OPENSSL_free
    - i2d_OSSL_CMP_PROTECTEDPART
    - EVP_PKEY_get_default_digest_name
    - OSSL_CRMF_pbm_new
    - ERR_raise
    - d2i_OSSL_CRMF_PBMPARAMETER
    - ASN1_BIT_STRING_set1
    - strcmp
    - OBJ_obj2nid
    - ASN1_STRING_length
    - OSSL_CRMF_PBMPARAMETER_free
    - ASN1_item_sign_ex
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - ASN1_STRING_get0_data
    - ASN1_BIT_STRING_new
    - ossl_assert
    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:
    - X509_build_chain
    - ossl_cmp_debug
    - ossl_assert
    - OSSL_CMP_CTX_print_errors
    - ossl_cmp_warn
    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_cmp_set_own_chain
    - ossl_x509_add_certs_new
    - ossl_cmp_debug
    - sk_X509_num
    - sk_X509_free
    - ossl_x509_add_cert_new
    - ossl_assert
    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:
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_free
    - EVP_MD_get_type
    - ossl_X509_ALGOR_from_nid
    - OSSL_CRMF_PBMPARAMETER_free
    - i2d_OSSL_CRMF_PBMPARAMETER
    - ossl_assert
    - OSSL_CRMF_pbmp_new
    - ASN1_STRING_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:
    - ASN1_BIT_STRING_free
    - ossl_cmp_general_name_is_NULL_DN
    - X509_check_private_key
    - ERR_raise
    - X509_ALGOR_new
    - ossl_cmp_calc_protection
    - ossl_assert
    - X509_get0_subject_key_id
    - pbmac_algor
    - ossl_cmp_msg_add_extraCerts
    - X509_ALGOR_free
    - set_senderKID
    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: 7
    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:
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_set0_libctx
    - ASN1_ITEM_rptr
    - ASN1_item_new_ex
    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_free
    - ASN1_ITEM_rptr
    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_strdup
    - OPENSSL_free
    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: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    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:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    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:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: OSSL_CMP_MSG_get_bodytype
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 4
    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:127,1
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:133,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/cmp/cmp_msg.c:136,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: OSSL_CMP_MSG_get0_certreq_publickey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - ERR_raise
    - sk_OSSL_CRMF_MSG_value
    - OSSL_CRMF_MSG_get0_tmpl
    - OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    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:154,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/cmp/cmp_msg.c:157,1
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/cmp/cmp_msg.c:160,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:161,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: 163
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: add1_extension
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_i2d
    - X509v3_add_ext
    - ossl_assert
    - X509_EXTENSION_free
    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:168,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:171,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:172,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pexts
    - reason_code
    argTypes:
    - X509_EXTENSIONS**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: add_crl_reason_extension
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ASN1_ENUMERATED_free
    - ASN1_ENUMERATED_new
    - 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:181,1
    - Dst: OSSL_CMP_MSG_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:184,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/openssl/crypto/cmp/cmp_msg.c:186,1
    - Dst: ossl_cmp_msg_set_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:187,1
    - Dst: ossl_cmp_hdr_generalInfo_push1_items
      Src: /src/openssl/crypto/cmp/cmp_msg.c:190,1
    - Dst: OSSL_CRMF_MSGS_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:204,1
    - Dst: X509_REQ_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:207,1
    - Dst: OSSL_CMP_CERTREPMESSAGE_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:214,1
    - Dst: sk_OSSL_CMP_REVDETAILS_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:219,1
    - Dst: OSSL_CMP_REVREPCONTENT_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:223,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:228,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:232,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:234,1
    - Dst: sk_OSSL_CMP_POLLREQ_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:238,1
    - Dst: sk_OSSL_CMP_POLLREP_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:242,1
    - Dst: sk_OSSL_CMP_ITAV_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:248,1
    - Dst: OSSL_CMP_ERRORMSGCONTENT_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:258,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:263,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 2
    argNames:
    - ctx
    - bodytype
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 265
    functionName: ossl_cmp_msg_create
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_init
    - OSSL_CRMF_MSGS_new
    - OSSL_CMP_CERTREPMESSAGE_new
    - sk_OSSL_CMP_REVDETAILS_new_null
    - X509_REQ_dup
    - ERR_raise
    - ossl_cmp_msg_set_bodytype
    - sk_OSSL_CMP_ITAV_new_null
    - OSSL_CMP_REVREPCONTENT_new
    - OSSL_CMP_MSG_free
    - ASN1_TYPE_new
    - OSSL_CMP_MSG_new
    - sk_OSSL_CMP_CERTSTATUS_new_null
    - ossl_assert
    - ASN1_TYPE_set
    - OSSL_CMP_ERRORMSGCONTENT_new
    - sk_OSSL_CMP_POLLREP_new_null
    - sk_OSSL_CMP_POLLREQ_new_null
    - ossl_cmp_hdr_generalInfo_push1_items
    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: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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:275,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:277,1
    - Dst: HAS_SAN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:278,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: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: determine_subj
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - IS_NULL_DN
    - X509_REQ_get_subject_name
    - HAS_SAN
    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:290,1
    - Dst: ossl_cmp_ctx_get0_newPubkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:294,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_msg.c:295,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:296,1
    - Dst: determine_subj
      Src: /src/openssl/crypto/cmp/cmp_msg.c:297,1
    - Dst: IS_NULL_DN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:299,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:300,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:313,1
    - Dst: OSSL_CRMF_MSG_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:316,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/cmp/cmp_msg.c:318,1
    - Dst: OSSL_CRMF_MSG_set_certReqId
      Src: /src/openssl/crypto/cmp/cmp_msg.c:319,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/openssl/crypto/cmp/cmp_msg.c:325,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/cmp/cmp_msg.c:325,1
    - Dst: X509_PUBKEY_set0_public_key
      Src: /src/openssl/crypto/cmp/cmp_msg.c:329,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:329,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_msg.c:333,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/cmp/cmp_msg.c:334,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/cmp/cmp_msg.c:335,1
    - Dst: OSSL_CRMF_MSG_set0_validity
      Src: /src/openssl/crypto/cmp/cmp_msg.c:339,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:340,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:341,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:348,1
    - Dst: HAS_SAN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:350,1
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/cmp/cmp_msg.c:351,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:351,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:354,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:356,1
    - Dst: X509v3_add_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:357,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:359,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:360,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:364,1
    - Dst: OSSL_CRMF_MSG_set0_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:367,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/openssl/crypto/cmp/cmp_msg.c:374,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:374,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_msg.c:375,1
    - Dst: OSSL_CRMF_MSG_set1_regCtrl_oldCertID
      Src: /src/openssl/crypto/cmp/cmp_msg.c:380,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:381,1
    - Dst: OSSL_CRMF_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:389,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:393,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:394,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: 396
      start: 287
    functionDepth: 13
    functionLinenumber: 287
    functionLinenumberEnd: 396
    functionName: OSSL_CMP_CTX_setup_CRM
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_CERTID_gen
    - OSSL_CRMF_MSG_set0_extensions
    - IS_NULL_DN
    - X509_PUBKEY_set0_public_key
    - add1_extension
    - ossl_cmp_ctx_get0_newPubkey
    - sk_GENERAL_NAME_num
    - X509_REQ_get_extensions
    - OSSL_CRMF_CERTID_free
    - HAS_SAN
    - sk_GENERAL_NAME_pop_free
    - OSSL_CRMF_MSG_new
    - OSSL_CRMF_MSG_set0_validity
    - ERR_raise
    - OSSL_CRMF_CERTTEMPLATE_fill
    - determine_subj
    - STACK_OF
    - X509_get_subject_name
    - ASN1_TIME_free
    - X509_get0_extensions
    - OSSL_CRMF_MSG_set1_regCtrl_oldCertID
    - OSSL_CRMF_MSG_get0_tmpl
    - ASN1_TIME_adj
    - X509_get_issuer_name
    - X509V3_get_d2i
    - X509v3_add_extensions
    - OSSL_CMP_CTX_get_option
    - X509_get0_serialNumber
    - sk_X509_EXTENSION_num
    - OSSL_CRMF_MSG_set_certReqId
    - OSSL_CRMF_MSG_free
    - OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    - time
    - sk_X509_EXTENSION_pop_free
    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:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:413,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:417,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_msg.c:421,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:431,1
    - Dst: OSSL_CMP_CTX_setup_CRM
      Src: /src/openssl/crypto/cmp/cmp_msg.c:435,1
    - Dst: OSSL_CRMF_MSG_create_popo
      Src: /src/openssl/crypto/cmp/cmp_msg.c:439,1
    - Dst: OSSL_CRMF_MSG_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:444,1
    - Dst: sk_OSSL_CRMF_MSG_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:449,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:454,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:460,1
    - Dst: OSSL_CRMF_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:461,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:462,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: 464
      start: 398
    functionDepth: 14
    functionLinenumber: 398
    functionLinenumberEnd: 464
    functionName: ossl_cmp_certreq_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_setup_CRM
    - ossl_cmp_msg_protect
    - OSSL_CMP_CTX_get0_newPkey
    - OSSL_CRMF_MSG_dup
    - sk_OSSL_CRMF_MSG_push
    - OSSL_CMP_MSG_free
    - ERR_raise
    - ossl_cmp_msg_create
    - ossl_cmp_hdr_set_implicitConfirm
    - OSSL_CRMF_MSG_create_popo
    - OSSL_CRMF_MSG_free
    - ossl_assert
    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:474,1
    - Dst: sk_X509_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_msg.c:474,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:477,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:480,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cmp/cmp_msg.c:480,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/crypto/cmp/cmp_msg.c:481,1
    - Dst: ossl_cmp_set_own_chain
      Src: /src/openssl/crypto/cmp/cmp_msg.c:483,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cmp/cmp_msg.c:484,1
    - Dst: ossl_cms_sign_encrypt
      Src: /src/openssl/crypto/cmp/cmp_msg.c:485,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:488,1
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_init_envdata
      Src: /src/openssl/crypto/cmp/cmp_msg.c:491,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:494,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:495,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cmp/cmp_msg.c:497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 467
    functionDepth: 5
    functionLinenumber: 467
    functionLinenumberEnd: 500
    functionName: enc_privkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - M_ASN1_free_of
    - BIO_new
    - sk_X509_pop_free
    - sk_X509_new_reserve
    - ossl_cmp_set_own_chain
    - BIO_free
    - ossl_cms_sign_encrypt
    - X509_add_cert
    - EVP_CIPHER_fetch
    - OSSL_CRMF_ENCRYPTEDKEY_init_envdata
    - EVP_CIPHER_free
    - STACK_OF
    - i2d_PrivateKey_bio
    - BIO_s_mem
    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:515,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:518,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_msg.c:523,1
    - Dst: OSSL_CMP_CERTRESPONSE_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:527,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:529,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:530,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:531,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:538,1
    - Dst: OSSL_CMP_CERTIFIEDKEYPAIR_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:542,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_msg.c:546,1
    - Dst: enc_privkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:555,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:561,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/crypto/cmp/cmp_msg.c:566,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:568,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:569,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:574,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:575,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:581,1
    - Dst: OSSL_CMP_CERTRESPONSE_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:582,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:583,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: 585
      start: 503
    functionDepth: 13
    functionLinenumber: 503
    functionLinenumberEnd: 585
    functionName: ossl_cmp_certrep_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CERTRESPONSE_free
    - enc_privkey
    - OSSL_CMP_CERTRESPONSE_new
    - sk_X509_num
    - ossl_cmp_hdr_set_implicitConfirm
    - X509_chain_up_ref
    - ERR_raise
    - OSSL_CMP_CERTIFIEDKEYPAIR_new
    - ossl_cmp_msg_protect
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_MSG_free
    - sk_OSSL_CMP_CERTRESPONSE_push
    - ASN1_INTEGER_set
    - ossl_assert
    - X509_up_ref
    - OSSL_CMP_PKISI_free
    - ossl_x509_add_certs_new
    - ossl_cmp_msg_create
    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    const 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:597,1
    - Dst: OSSL_CMP_REVDETAILS_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:602,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:609,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_msg.c:610,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:612,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:613,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/openssl/crypto/cmp/cmp_msg.c:619,1
    - Dst: add_crl_reason_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:626,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:630,1
    - Dst: sk_OSSL_CMP_REVDETAILS_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:633,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:644,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:645,1
    - Dst: OSSL_CMP_REVDETAILS_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:646,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 587
    functionDepth: 13
    functionLinenumber: 587
    functionLinenumberEnd: 648
    functionName: ossl_cmp_rr_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_REVDETAILS_new
    - ossl_cmp_msg_protect
    - X509_get0_serialNumber
    - OSSL_CMP_REVDETAILS_free
    - X509_REQ_get_subject_name
    - sk_OSSL_CMP_REVDETAILS_push
    - OSSL_CMP_MSG_free
    - ERR_raise
    - OSSL_CRMF_CERTTEMPLATE_fill
    - ossl_cmp_msg_create
    - add_crl_reason_extension
    - ossl_assert
    - X509_get_issuer_name
    - X509_REQ_get0_pubkey
    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:658,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:661,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:665,1
    - Dst: sk_OSSL_CMP_PKISI_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:666,1
    - Dst: sk_OSSL_CRMF_CERTID_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:671,1
    - Dst: OSSL_CRMF_CERTID_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:674,1
    - Dst: sk_OSSL_CRMF_CERTID_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:675,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:682,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:683,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:689,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:690,1
    - Dst: OSSL_CRMF_CERTID_free
      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: 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: 694
      start: 650
    functionDepth: 13
    functionLinenumber: 650
    functionLinenumberEnd: 694
    functionName: ossl_cmp_rp_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - sk_OSSL_CMP_PKISI_push
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_PKISI_free
    - OSSL_CRMF_CERTID_dup
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_MSG_free
    - ERR_raise
    - sk_OSSL_CRMF_CERTID_new_null
    - ossl_cmp_msg_create
    - sk_OSSL_CRMF_CERTID_push
    - OSSL_CRMF_CERTID_free
    - ossl_assert
    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:700,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:703,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:705,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:709,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 13
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: ossl_cmp_pkiconf_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - OSSL_CMP_MSG_free
    - ERR_raise
    - ossl_cmp_msg_create
    - ossl_assert
    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:718,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:721,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:724,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_msg.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - itav
    argTypes:
    - OSSL_CMP_MSG*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 730
    functionName: ossl_cmp_msg_gen_push0_ITAV
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_CMP_MSG_get_bodytype
    - ERR_raise
    - 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:738,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:741,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:742,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:742,1
    - Dst: ossl_cmp_msg_gen_push0_ITAV
      Src: /src/openssl/crypto/cmp/cmp_msg.c:744,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - itavs
    argTypes:
    - OSSL_CMP_MSG*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: ossl_cmp_msg_gen_push1_ITAVs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_gen_push0_ITAV
    - sk_OSSL_CMP_ITAV_value
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_ITAV_dup
    - sk_OSSL_CMP_ITAV_num
    - ossl_assert
    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:762,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:765,1
    - Dst: ossl_cmp_msg_gen_push1_ITAVs
      Src: /src/openssl/crypto/cmp/cmp_msg.c:768,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:771,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:777,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:778,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: 780
      start: 756
    functionDepth: 13
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: gen_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - ossl_cmp_msg_gen_push1_ITAVs
    - OSSL_CMP_MSG_free
    - ERR_raise
    - ossl_cmp_msg_create
    - ossl_assert
    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:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 14
    functionLinenumber: 782
    functionLinenumberEnd: 786
    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:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - itavs
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 14
    functionLinenumber: 788
    functionLinenumberEnd: 793
    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:803,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:806,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:809,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:810,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:813,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/cmp/cmp_msg.c:815,1
    - Dst: ERR_lib_error_string
      Src: /src/openssl/crypto/cmp/cmp_msg.c:819,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_msg.c:820,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:823,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_msg.c:827,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_msg.c:830,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_msg.c:833,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:837,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:842,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:843,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: 845
      start: 795
    functionDepth: 13
    functionLinenumber: 795
    functionLinenumberEnd: 845
    functionName: ossl_cmp_error_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - ASN1_INTEGER_new
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_set_int64
    - ERR_raise
    - ERR_lib_error_string
    - ERR_reason_error_string
    - ossl_cmp_sk_ASN1_UTF8STRING_push_str
    - ossl_cmp_msg_create
    - sk_ASN1_UTF8STRING_new_null
    - ossl_assert
    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:855,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - certStatus
    - hash
    argTypes:
    - OSSL_CMP_CERTSTATUS*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 860
    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:872,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:878,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:882,1
    - Dst: OSSL_CMP_CERTSTATUS_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:885,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:888,1
    - Dst: OSSL_CMP_CERTSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:889,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:894,1
    - Dst: X509_digest_sig
      Src: /src/openssl/crypto/cmp/cmp_msg.c:903,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/openssl/crypto/cmp/cmp_msg.c:906,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:908,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cmp/cmp_msg.c:910,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:912,1
    - Dst: ossl_cmp_certstatus_set0_certHash
      Src: /src/openssl/crypto/cmp/cmp_msg.c:914,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:924,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:924,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:929,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:935,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:936,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:937,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: 939
      start: 862
    functionDepth: 13
    functionLinenumber: 862
    functionLinenumberEnd: 939
    functionName: ossl_cmp_certConf_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - ossl_cmp_certstatus_set0_certHash
    - ASN1_OCTET_STRING_free
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_MSG_free
    - X509_digest_sig
    - ossl_cmp_hdr_set_pvno
    - ERR_raise
    - X509_ALGOR_set_md
    - X509_ALGOR_new
    - ossl_cmp_msg_create
    - EVP_MD_free
    - OSSL_CMP_CERTSTATUS_free
    - OSSL_CMP_CERTSTATUS_new
    - ASN1_INTEGER_set
    - ossl_assert
    - sk_OSSL_CMP_CERTSTATUS_push
    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:946,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:949,1
    - Dst: OSSL_CMP_POLLREQ_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:952,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:953,1
    - Dst: sk_OSSL_CMP_POLLREQ_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:954,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:958,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:964,1
    - Dst: OSSL_CMP_POLLREQ_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:965,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:966,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - crid
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 941
    functionDepth: 13
    functionLinenumber: 941
    functionLinenumberEnd: 968
    functionName: ossl_cmp_pollReq_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - sk_OSSL_CMP_POLLREQ_push
    - OSSL_CMP_MSG_free
    - ERR_raise
    - OSSL_CMP_POLLREQ_free
    - ossl_cmp_msg_create
    - ASN1_INTEGER_set
    - ossl_assert
    - OSSL_CMP_POLLREQ_new
    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:976,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:979,1
    - Dst: OSSL_CMP_POLLREP_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:981,1
    - Dst: sk_OSSL_CMP_POLLREP_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:983,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:985,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/cmp/cmp_msg.c:987,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:990,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:995,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:996,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: 998
      start: 970
    functionDepth: 13
    functionLinenumber: 970
    functionLinenumberEnd: 998
    functionName: ossl_cmp_pollRep_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_set_int64
    - ERR_raise
    - ossl_cmp_msg_create
    - OSSL_CMP_POLLREP_new
    - sk_OSSL_CMP_POLLREP_push
    - ASN1_INTEGER_set
    - ossl_assert
    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:1012,1
    - Dst: sk_OSSL_CMP_PKISI_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1015,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rrep
    - rsid
    argTypes:
    - OSSL_CMP_REVREPCONTENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1020
    functionName: ossl_cmp_revrepcontent_get_pkisi
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CMP_PKISI_value
    - ossl_assert
    - ERR_raise
    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:1034,1
    - Dst: sk_OSSL_CRMF_CERTID_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1037,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rrep
    - rsid
    argTypes:
    - OSSL_CMP_REVREPCONTENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: ossl_cmp_revrepcontent_get_CertId
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - sk_OSSL_CRMF_CERTID_value
    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:1051,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - certReqId
    - rid
    argTypes:
    - ASN1_INTEGER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1057
    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:1071,1
    - Dst: sk_OSSL_CMP_POLLREP_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1074,1
    - Dst: sk_OSSL_CMP_POLLREP_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1075,1
    - Dst: suitable_rid
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1076,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - prc
    - rid
    argTypes:
    - OSSL_CMP_POLLREPCONTENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1083
    functionName: ossl_cmp_pollrepcontent_get0_pollrep
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - sk_OSSL_CMP_POLLREP_num
    - suitable_rid
    - sk_OSSL_CMP_POLLREP_value
    - ossl_assert
    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:1097,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1100,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1101,1
    - Dst: suitable_rid
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1102,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - crm
    - rid
    argTypes:
    - OSSL_CMP_CERTREPMESSAGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1109
    functionName: ossl_cmp_certrepmessage_get0_certresponse
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - sk_OSSL_CMP_CERTRESPONSE_value
    - suitable_rid
    - ossl_assert
    - sk_OSSL_CMP_CERTRESPONSE_num
    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:1123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1137,1
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_get1_pkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1147,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1150,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1153,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1159,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1166,1
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_get1_encCert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1178,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1180,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - ctx
    - crep
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_CERTRESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1117
    functionDepth: 9
    functionLinenumber: 1117
    functionLinenumberEnd: 1182
    functionName: ossl_cmp_certresponse_get1_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_CTX_get0_newPkey
    - OSSL_CMP_CTX_get_option
    - ossl_x509_set0_libctx
    - OSSL_CRMF_ENCRYPTEDKEY_get1_pkey
    - OSSL_CMP_CTX_set0_newPkey
    - X509_dup
    - ERR_raise
    - ossl_assert
    - OSSL_CRMF_ENCRYPTEDKEY_get1_encCert
    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:1187,1
    - Dst: ossl_cmp_hdr_set_transactionID
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1190,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1184
    functionDepth: 13
    functionLinenumber: 1184
    functionLinenumberEnd: 1194
    functionName: OSSL_CMP_MSG_update_transactionID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - ossl_cmp_hdr_set_transactionID
    - ERR_raise
    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:1199,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1204,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1196
    functionDepth: 13
    functionLinenumber: 1196
    functionLinenumberEnd: 1208
    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:1217,1
    - Dst: OSSL_CMP_MSG_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1223,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1227,1
    - Dst: d2i_OSSL_CMP_MSG_bio
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1228,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1229,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - file
    - libctx
    - propq
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1210
    functionDepth: 3
    functionLinenumber: 1210
    functionLinenumberEnd: 1234
    functionName: OSSL_CMP_MSG_read
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - d2i_OSSL_CMP_MSG_bio
    - BIO_free
    - OSSL_CMP_MSG_free
    - OSSL_CMP_MSG_new
    - ERR_raise
    - BIO_new_file
    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:1242,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1246,1
    - Dst: i2d_OSSL_CMP_MSG_bio
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1249,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - file
    - msg
    argTypes:
    - char*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1236
    functionDepth: 3
    functionLinenumber: 1236
    functionLinenumberEnd: 1252
    functionName: OSSL_CMP_MSG_write
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - i2d_OSSL_CMP_MSG_bio
    - ERR_raise
    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:1265,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1266,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: 1268
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1268
    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:1272,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - out
    argTypes:
    - OSSL_CMP_MSG*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    functionName: i2d_OSSL_CMP_MSG
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - ASN1_ITEM_rptr
    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:1286,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - msg
    argTypes:
    - BIO*
    - OSSL_CMP_MSG**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1288
    functionName: d2i_OSSL_CMP_MSG_bio
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio_ex
    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:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - msg
    argTypes:
    - BIO*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    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:1297,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1300,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1295
    functionDepth: 2
    functionLinenumber: 1295
    functionLinenumberEnd: 1303
    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
    - ASN1_BIT_STRING_get_bit
    - ERR_raise
    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:170,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:179,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:187,1
    - Dst: CMP_PKIFAILUREINFO_to_string
      Src: /src/openssl/crypto/cmp/cmp_status.c:191,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:193,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:204,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/cmp/cmp_status.c:209,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:211,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/cmp/cmp_status.c:215,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:216,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cmp/cmp_status.c:217,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cmp/cmp_status.c:218,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: 225
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 225
    functionName: snprint_PKIStatusInfo_parts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_PKIStatus_to_string
    - CMP_PKIFAILUREINFO_to_string
    - sk_ASN1_UTF8STRING_num
    - BIO_snprintf
    - ASN1_STRING_length
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_get0_data
    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:233,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/openssl/crypto/cmp/cmp_status.c:237,1
    - Dst: snprint_PKIStatusInfo_parts
      Src: /src/openssl/crypto/cmp/cmp_status.c:239,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/cmp/cmp_status.c:239,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: 242
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: OSSL_CMP_snprint_PKIStatusInfo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - snprint_PKIStatusInfo_parts
    - ASN1_INTEGER_get
    - ossl_cmp_pkisi_get_pkifailureinfo
    - ERR_raise
    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:248,1
    - Dst: snprint_PKIStatusInfo_parts
      Src: /src/openssl/crypto/cmp/cmp_status.c:252,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_status.c:252,1
    - Dst: OSSL_CMP_CTX_get_failInfoCode
      Src: /src/openssl/crypto/cmp/cmp_status.c:253,1
    - Dst: OSSL_CMP_CTX_get0_statusString
      Src: /src/openssl/crypto/cmp/cmp_status.c:254,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: 256
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: OSSL_CMP_CTX_snprint_PKIStatus
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get_failInfoCode
    - ERR_raise
    - OSSL_CMP_CTX_get0_statusString
    - snprint_PKIStatusInfo_parts
    - OSSL_CMP_CTX_get_status
    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:267,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_status.c:273,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/cmp/cmp_status.c:277,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cmp/cmp_status.c:278,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_status.c:280,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/cmp/cmp_status.c:282,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_status.c:291,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/cmp/cmp_status.c:293,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_status.c:300,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/cmp/cmp_status.c:301,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - status
    - fail_info
    - text
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 303
    functionName: OSSL_CMP_STATUSINFO_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 1
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ASN1_STRING_set
    - OSSL_CMP_PKISI_free
    - ASN1_BIT_STRING_new
    - sk_ASN1_UTF8STRING_push
    - OSSL_CMP_PKISI_new
    - ASN1_UTF8STRING_new
    - ASN1_INTEGER_set
    - ASN1_BIT_STRING_set_bit
    - 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:
    - OSSL_trace_set_channel
    - BIO_free
    - ERR_raise
    - BIO_new_fp
    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:62,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:62,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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: parse_level
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - strcmp
    - strlen
    - OPENSSL_strlcpy
    - 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:77,1
    - Dst: strchr
      Src: /src/openssl/crypto/cmp/cmp_util.c:87,1
    - Dst: parse_level
      Src: /src/openssl/crypto/cmp/cmp_util.c:89,1
    - Dst: strtol
      Src: /src/openssl/crypto/cmp/cmp_util.c:92,1
    - Dst: parse_level
      Src: /src/openssl/crypto/cmp/cmp_util.c:96,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/cmp/cmp_util.c:97,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/cmp/cmp_util.c:98,1
    - Dst: strchr
      Src: /src/openssl/crypto/cmp/cmp_util.c:101,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: 109
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 109
    functionName: ossl_cmp_log_parse_metadata
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - parse_level
    - OPENSSL_strndup
    - strtol
    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:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - func
    - fallback
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    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:139,1
    - Dst: improve_location_name
      Src: /src/openssl/crypto/cmp/cmp_util.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/cmp/cmp_util.c:144,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: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: OSSL_CMP_print_to_bio
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - improve_location_name
    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:159,1
    - Dst: ERR_lib_error_string
      Src: /src/openssl/crypto/cmp/cmp_util.c:159,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/cmp/cmp_util.c:160,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/cmp/cmp_util.c:165,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/cmp/cmp_util.c:166,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_util.c:169,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_util.c:173,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_util.c:177,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_util.c:179,1
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/cmp/cmp_util.c:183,1
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/openssl/crypto/cmp/cmp_util.c:186,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:188,1
    - Dst: log_fn
      Src: /src/openssl/crypto/cmp/cmp_util.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - log_fn
    argTypes:
    - OSSL_CMP_log_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 151
    functionDepth: 6
    functionLinenumber: 151
    functionLinenumberEnd: 198
    functionName: OSSL_CMP_print_errors_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - ERR_get_error_all
    - BIO_free
    - ERR_GET_REASON
    - ERR_SYSTEM_ERROR
    - BIO_snprintf
    - ERR_lib_error_string
    - improve_location_name
    - ERR_reason_error_string
    - openssl_strerror_r
    - OSSL_CMP_print_to_bio
    - 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:247,1
    - Dst: ASN1_OCTET_STRING_dup::ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/cmp/cmp_util.c:254,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - tgt
    - src
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 263
    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
    - ASN1_OCTET_STRING_free
    - ERR_raise
    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:271,1
    - Dst: ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_util.c:275,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:282,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: 285
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: ossl_cmp_asn1_octet_string_set1_bytes
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ERR_raise
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:84,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:88,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:91,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:95,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - pmd
    - nid
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_MD**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 10
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: cmp_ctx_set_md
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OBJ_nid2sn
    - EVP_MD_fetch
    - ERR_raise_data
    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:109,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:115,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:128,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:137,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:147,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 107
    functionDepth: 11
    functionLinenumber: 107
    functionLinenumberEnd: 158
    functionName: OSSL_CMP_CTX_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - sk_X509_new_null
    - ERR_raise
    - cmp_ctx_set_md
    - 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: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    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: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    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: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    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:171,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:177,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:178,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:185,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:188,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:189,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:190,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:191,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:192,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:193,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:194,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:195,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:196,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:197,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 198
    functionName: OSSL_CMP_CTX_reinit
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_ctx_set1_caPubs
    - ossl_cmp_ctx_set1_recipNonce
    - ossl_cmp_ctx_set1_first_senderNonce
    - ossl_cmp_ctx_set0_newCert
    - OSSL_CMP_CTX_set1_transactionID
    - ERR_raise
    - ossl_cmp_ctx_set0_statusString
    - ossl_cmp_debug
    - ossl_cmp_ctx_set1_newChain
    - ossl_cmp_ctx_set1_extraCertsIn
    - OSSL_CMP_ITAVs_free
    - OSSL_CMP_CTX_set1_senderNonce
    - ossl_cmp_ctx_set1_validatedSrvCert
    - OSSL_HTTP_close
    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:208,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:214,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:215,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:216,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:218,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:219,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:220,1
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:221,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:222,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:224,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:225,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:226,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:227,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:229,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:230,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:231,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:233,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:234,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:235,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:236,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:237,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:238,1
    - Dst: OSSL_CMP_ITAVs_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: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:242,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:243,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:244,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:245,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:246,1
    - Dst: X509_EXTENSIONS_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:247,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:248,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:249,1
    - Dst: X509_REQ_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:250,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:252,1
    - Dst: OSSL_CMP_PKIFREETEXT_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:254,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:255,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:256,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:257,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 261
    functionName: OSSL_CMP_CTX_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 1
    functionsReached:
    - sk_POLICYINFO_pop_free
    - X509_REQ_free
    - ASN1_OCTET_STRING_free
    - sk_GENERAL_NAME_pop_free
    - X509_NAME_free
    - OPENSSL_free
    - X509_free
    - OSSL_STACK_OF_X509_free
    - ASN1_INTEGER_free
    - ossl_cmp_debug
    - EVP_MD_free
    - X509_EXTENSIONS_free
    - EVP_PKEY_free
    - X509_STORE_free
    - OSSL_CMP_PKIFREETEXT_free
    - OPENSSL_cleanse
    - OSSL_CMP_ITAVs_free
    - OSSL_HTTP_close
    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: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    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: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    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:332,1
    - Dst: OSSL_CMP_CTX*::log_cb
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:344,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: 346
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 346
    functionName: DEFINE_OSSL_get
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_log_parse_metadata
    - OSSL_CMP_CTX*::log_cb
    - OPENSSL_free
    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     */\n    DEFINE_OSSL_CMP_CTX_get0(statusString,
      OSSL_CMP_PKIFREETEXT)\n\n        DEFINE_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 */\n    DEFINE_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     */\n    DEFINE_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     */\n    DEFINE_OSSL_get(OSSL_CMP_CTX,
      certConf_cb_arg, void *, NULL)\n\n#ifndef OPENSSL_NO_TRACE\n        static 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:367,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:377,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:380,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:384,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:387,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:390,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:394,1
    - Dst: OSSL_CMP_CTX*::log_cb
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:395,1
    - Dst: va_end
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:398,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: 400
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 400
    functionName: ossl_cmp_print_log
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_vsnprintf
    - OSSL_TRACE_END
    - BIO_snprintf
    - OSSL_TRACE_ENABLED
    - va_start
    - va_end
    - OSSL_CMP_CTX*::log_cb
    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:380,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:384,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_snprintf
    - 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:406,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:413,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: 419
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 419
    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:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 7
    functionLinenumber: 422
    functionLinenumberEnd: 427
    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:437,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:440,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: 441
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: OSSL_CMP_CTX_set1_referenceValue
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1_bytes
    - ERR_raise
    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:450,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:453,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:456,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:457,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: 461
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: OSSL_CMP_CTX_set1_secretValue
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1_bytes
    - OPENSSL_cleanse
    - ASN1_OCTET_STRING_free
    - ERR_raise
    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: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    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: 487
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 487
    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:516,1
    - Dst: CERTIFICATEPOLICIES_new
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:521,1
    - Dst: sk_POLICYINFO_push
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pinfo
    argTypes:
    - OSSL_CMP_CTX*
    - POLICYINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: OSSL_CMP_CTX_push0_policy
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - CERTIFICATEPOLICIES_new
    - sk_POLICYINFO_push
    - ERR_raise
    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:531,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - itav
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: OSSL_CMP_CTX_push0_geninfo_ITAV
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_push0_stack_item
    - ERR_raise
    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:540,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: OSSL_CMP_CTX_reset_geninfo_ITAVs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAVs_free
    - ERR_raise
    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:554,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - itav
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: OSSL_CMP_CTX_push0_genm_ITAV
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_push0_stack_item
    - ERR_raise
    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: 591
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 591
    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: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    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: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    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: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    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:645,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:649,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:650,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:651,1
    - Dst: X509_EXTENSIONS_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - exts
    argTypes:
    - OSSL_CMP_CTX*
    - X509_EXTENSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: OSSL_CMP_CTX_set0_reqExtensions
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_num
    - X509v3_get_ext_by_NID
    - ERR_raise
    - X509_EXTENSIONS_free
    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:663,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: OSSL_CMP_CTX_reqExtensions_have_SAN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    - ERR_raise
    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:683,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:687,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:688,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:693,1
    - Dst: GENERAL_NAME_dup
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:695,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:697,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_CMP_CTX*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 702
    functionName: OSSL_CMP_CTX_push1_subjectAltName
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_dup
    - GENERAL_NAME_free
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - ERR_raise
    - sk_GENERAL_NAME_new_null
    - sk_GENERAL_NAME_push
    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:769,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:773,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: 777
      start: 766
    functionDepth: 4
    functionLinenumber: 766
    functionLinenumberEnd: 777
    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:784,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - priv
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 793
    functionName: OSSL_CMP_CTX_get0_newPkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - X509_REQ_get0_pubkey
    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:797,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:802,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:804,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: ossl_cmp_ctx_get0_newPubkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 1
    functionsReached:
    - X509_get0_pubkey
    - ossl_assert
    - X509_REQ_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: 819
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 819
    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:888,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:904,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:911,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:948,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:954,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:958,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:981,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:987,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 1
    argNames:
    - OSSL_CMP_CTX_set_option
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 880
    functionDepth: 11
    functionLinenumber: 880
    functionLinenumberEnd: 992
    functionName: DEFINE_OSSL_get
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - cmp_ctx_set_md
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: void
    signature: "void DEFINE_OSSL_get(OSSL_CMP_CTX, failInfoCode, int, -1)\n\n    /*
      Set a Boolean or integer option of the context to the \"val\" arg */\n    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:1001,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:1031,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:1033,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - opt
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1052
    functionName: OSSL_CMP_CTX_get_option
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 2
    functionsReached:
    - EVP_MD_get_type
    - ERR_raise
    - ERR_raise_data
    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: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    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:28,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:31,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/openssl/crypto/cmp/cmp_client.c:42,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:47,1
    - Dst: IS_CREP
      Src: /src/openssl/crypto/cmp/cmp_client.c:55,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_client.c:58,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:60,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:64,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_client.c:71,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: 74
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 74
    functionName: unprotected_exception
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_pkisi_get_status
    - ossl_cmp_certrepmessage_get0_certresponse
    - IS_CREP
    - ossl_cmp_revrepcontent_get_pkisi
    - ossl_assert
    - ossl_cmp_log2
    - sk_OSSL_CMP_CERTRESPONSE_num
    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:82,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:85,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:89,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/openssl/crypto/cmp/cmp_client.c:91,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_client.c:91,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:96,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/cmp/cmp_client.c:97,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/cmp/cmp_client.c:98,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/cmp/cmp_client.c:100,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - si
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: save_statusInfo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_pkisi_get_status
    - sk_ASN1_UTF8STRING_num
    - ASN1_UTF8STRING_free
    - ossl_cmp_ctx_set0_statusString
    - ASN1_STRING_dup
    - sk_ASN1_UTF8STRING_value
    - sk_ASN1_UTF8STRING_new_null
    - sk_ASN1_UTF8STRING_push
    - ossl_assert
    - ossl_cmp_pkisi_get_pkifailureinfo
    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:112,1
    - Dst: IS_CREP
      Src: /src/openssl/crypto/cmp/cmp_client.c:114,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_client.c:118,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - resp
    - rid
    argTypes:
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: is_crep_with_waiting
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - IS_CREP
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_pkisi_get_status
    - 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:136,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:136,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:137,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_client.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:155,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:160,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_client.c:169,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_client.c:172,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:178,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_client.c:179,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:186,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_client.c:192,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:192,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:193,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/openssl/crypto/cmp/cmp_client.c:197,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/crypto/cmp/cmp_client.c:200,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:218,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:221,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:222,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:228,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/crypto/cmp/cmp_client.c:229,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:232,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:234,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/cmp/cmp_client.c:235,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:237,1
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/openssl/crypto/cmp/cmp_client.c:239,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:243,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:247,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 4
    argNames:
    - ctx
    - req
    - rep
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - OSSL_CMP_MSG**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 131
    functionDepth: 19
    functionLinenumber: 131
    functionLinenumberEnd: 253
    functionName: send_receive_check
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - ASN1_INTEGER_get
    - OSSL_CMP_MSG_get_bodytype
    - ERR_raise_data
    - ossl_sk_ASN1_UTF8STRING2text
    - OPENSSL_free
    - ERR_raise
    - ossl_cmp_is_error_with_waiting
    - save_statusInfo
    - ossl_cmp_ctx_set1_extraCertsIn
    - ERR_add_error_data
    - ossl_cmp_bodytype_to_string
    - ossl_cmp_msg_check_update
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ossl_cmp_log1
    - OSSL_CMP_CTX_print_errors
    - ossl_assert
    - ossl_cmp_log2
    - time
    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:277,1
    - Dst: ossl_cmp_pollReq_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:284,1
    - Dst: send_receive_check
      Src: /src/openssl/crypto/cmp/cmp_client.c:287,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:292,1
    - Dst: sk_OSSL_CMP_POLLREP_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:300,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/openssl/crypto/cmp/cmp_client.c:303,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/cmp/cmp_client.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:308,1
    - Dst: check_after < 0 || (uint64_t)check_after >
      Src: /src/openssl/crypto/cmp/cmp_client.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:312,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:313,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:316,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:321,1
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/openssl/crypto/cmp/cmp_client.c:326,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:334,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_client.c:336,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_client.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:346,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:354,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:356,1
    - Dst: OSSL_sleep
      Src: /src/openssl/crypto/cmp/cmp_client.c:359,1
    - Dst: is_crep_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:365,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:366,1
    - Dst: ossl_cmp_exchange_error
      Src: /src/openssl/crypto/cmp/cmp_client.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:372,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:375,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_client.c:376,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:384,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_client.c:389,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:390,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:391,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 5
    argNames:
    - ctx
    - sleep
    - rid
    - rep
    - checkAfter
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_MSG**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 271
    functionDepth: 20
    functionLinenumber: 271
    functionLinenumberEnd: 393
    functionName: poll_for_response
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - check_after < 0 || (uint64_t)check_after >
    - BIO_snprintf
    - is_crep_with_waiting
    - ASN1_INTEGER_get_int64
    - OSSL_CMP_MSG_get_bodytype
    - ossl_sk_ASN1_UTF8STRING2text
    - OPENSSL_free
    - ERR_raise
    - ossl_cmp_is_error_with_waiting
    - ossl_cmp_info
    - send_receive_check
    - OSSL_sleep
    - ossl_cmp_pollReq_new
    - ERR_add_error_data
    - ossl_cmp_exchange_error
    - sk_OSSL_CMP_POLLREP_num
    - OSSL_CMP_MSG_free
    - ossl_cmp_ctx_set1_first_senderNonce
    - ossl_cmp_log2
    - ossl_cmp_pollrepcontent_get0_pollrep
    - time
    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:403,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:404,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_client.c:405,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: 409
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 409
    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:419,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:422,1
    - Dst: save_senderNonce_if_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:423,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:427,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:430,1
    - Dst: poll_for_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:436,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:441,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: 446
      start: 415
    functionDepth: 21
    functionLinenumber: 415
    functionLinenumberEnd: 446
    functionName: send_receive_also_delayed
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - save_senderNonce_if_waiting
    - poll_for_response
    - OSSL_CMP_MSG_free
    - ossl_cmp_is_error_with_waiting
    - ERR_raise
    - send_receive_check
    - save_statusInfo
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_certConf_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:461,1
    - Dst: send_receive_also_delayed
      Src: /src/openssl/crypto/cmp/cmp_client.c:465,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:472,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - certReqId
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 451
    functionDepth: 22
    functionLinenumber: 451
    functionLinenumberEnd: 475
    functionName: ossl_cmp_exchange_certConf
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - send_receive_also_delayed
    - ossl_cmp_certConf_new
    - OSSL_CMP_MSG_free
    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:488,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:491,1
    - Dst: send_receive_also_delayed
      Src: /src/openssl/crypto/cmp/cmp_client.c:494,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:499,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:500,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - status
    - fail_info
    - txt
    - errorCode
    - details
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 478
    functionDepth: 22
    functionLinenumber: 478
    functionLinenumberEnd: 503
    functionName: ossl_cmp_exchange_error
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_MSG_free
    - send_receive_also_delayed
    - ossl_cmp_error_new
    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:516,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:519,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_client.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:523,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:526,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_client.c:532,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:533,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:536,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:545,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_client.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:553,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/openssl/crypto/cmp/cmp_client.c:556,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:558,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/crypto/cmp/cmp_client.c:563,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:564,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: 566
      start: 510
    functionDepth: 10
    functionLinenumber: 510
    functionLinenumberEnd: 566
    functionName: get1_cert_status
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ERR_raise
    - ossl_cmp_certresponse_get1_cert
    - ossl_cmp_log1
    - ossl_assert
    - ossl_cmp_err
    - ossl_cmp_warn
    - ERR_add_error_data
    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:588,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_client.c:589,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:597,1
    - Dst: X509_build_chain
      Src: /src/openssl/crypto/cmp/cmp_client.c:598,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/cmp/cmp_client.c:601,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:603,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_client.c:606,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/crypto/cmp/cmp_client.c:609,1
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/openssl/crypto/cmp/cmp_client.c:609,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/cmp/cmp_client.c:614,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:617,1
    - Dst: X509_STORE_CTX_get0_chain
      Src: /src/openssl/crypto/cmp/cmp_client.c:617,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:620,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:624,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:627,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:628,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/cmp/cmp_client.c:628,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_client.c:631,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:634,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:638,1
    - Dst: OSSL_CMP_CTX_get1_extraCertsIn
      Src: /src/openssl/crypto/cmp/cmp_client.c:639,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:641,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/openssl/crypto/cmp/cmp_client.c:644,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:645,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: 648
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 648
    functionName: OSSL_CMP_certConf_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - X509_free
    - X509_STORE_CTX_free
    - sk_X509_num
    - ossl_cmp_err
    - X509_build_chain
    - X509_STORE_CTX_new_ex
    - ossl_cmp_ctx_set1_newChain
    - STACK_OF
    - X509_STORE_CTX_get0_chain
    - ossl_cmp_debug
    - X509_verify_cert
    - ossl_cmp_warn
    - X509_STORE_CTX_get0_param
    - OSSL_STACK_OF_X509_free
    - ossl_x509_add_certs_new
    - sk_X509_free
    - OSSL_CMP_CTX_get_certConf_cb_arg
    - X509_VERIFY_PARAM_clear_flags
    - OSSL_CMP_CTX_get1_extraCertsIn
    - sk_X509_shift
    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:675,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:679,1
    - Dst: IS_CREP
      Src: /src/openssl/crypto/cmp/cmp_client.c:680,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:682,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:683,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_client.c:686,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_client.c:693,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:695,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:702,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:706,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:709,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:715,1
    - Dst: poll_for_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:717,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:722,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:734,1
    - Dst: get1_cert_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:738,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:740,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/crypto/cmp/cmp_client.c:743,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:744,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/openssl/crypto/cmp/cmp_client.c:753,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_client.c:756,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_client.c:756,1
    - Dst: ossl_cmp_ctx_get0_newPubkey
      Src: /src/openssl/crypto/cmp/cmp_client.c:757,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/cmp/cmp_client.c:760,1
    - Dst: cb
      Src: /src/openssl/crypto/cmp/cmp_client.c:778,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_client.c:782,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_client.c:789,1
    - Dst: ossl_cmp_exchange_certConf
      Src: /src/openssl/crypto/cmp/cmp_client.c:790,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:796,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:802,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: 804
      start: 658
    functionDepth: 23
    functionLinenumber: 658
    functionLinenumberEnd: 804
    functionName: cert_response
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - X509_free
    - ossl_cmp_ctx_get0_newPubkey
    - ossl_cmp_hdr_has_implicitConfirm
    - cb
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_ctx_set1_caPubs
    - poll_for_response
    - ERR_raise_data
    - OPENSSL_free
    - ERR_raise
    - ossl_cmp_certrepmessage_get0_certresponse
    - X509_get_subject_name
    - save_statusInfo
    - ERR_add_error_data
    - sk_OSSL_CMP_CERTRESPONSE_num
    - ossl_cmp_pkisi_get_status
    - ossl_cmp_asn1_get_int
    - OSSL_CMP_MSG_free
    - IS_CREP
    - ossl_cmp_log1
    - ossl_assert
    - X509_NAME_oneline
    - ossl_cmp_ctx_set0_newCert
    - X509_check_private_key
    - get1_cert_status
    - ossl_cmp_exchange_certConf
    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:814,1
    - Dst: ossl_cmp_certreq_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:818,1
    - Dst: send_receive_check
      Src: /src/openssl/crypto/cmp/cmp_client.c:821,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    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: 824
      start: 806
    functionDepth: 20
    functionLinenumber: 806
    functionLinenumberEnd: 824
    functionName: initial_certreq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - send_receive_check
    - ossl_cmp_ctx_set0_newCert
    - OSSL_CMP_MSG_free
    - ossl_cmp_certreq_new
    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:836,1
    - Dst: initial_certreq
      Src: /src/openssl/crypto/cmp/cmp_client.c:841,1
    - Dst: save_senderNonce_if_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:844,1
    - Dst: ossl_cmp_exchange_error
      Src: /src/openssl/crypto/cmp/cmp_client.c:848,1
    - Dst: poll_for_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:851,1
    - Dst: cert_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:855,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:859,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - req_type
    - crm
    - checkAfter
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 826
    functionDepth: 24
    functionLinenumber: 826
    functionLinenumberEnd: 861
    functionName: OSSL_CMP_try_certreq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - save_senderNonce_if_waiting
    - poll_for_response
    - OSSL_CMP_MSG_free
    - ERR_raise
    - initial_certreq
    - cert_response
    - ossl_cmp_exchange_error
    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:880,1
    - Dst: initial_certreq
      Src: /src/openssl/crypto/cmp/cmp_client.c:884,1
    - Dst: save_senderNonce_if_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:887,1
    - Dst: cert_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:890,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - req_type
    - crm
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 870
    functionDepth: 24
    functionLinenumber: 870
    functionLinenumberEnd: 898
    functionName: OSSL_CMP_exec_certreq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - save_senderNonce_if_waiting
    - OSSL_CMP_MSG_free
    - ERR_raise
    - initial_certreq
    - cert_response
    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:912,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:918,1
    - Dst: ossl_cmp_rr_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:923,1
    - Dst: send_receive_also_delayed
      Src: /src/openssl/crypto/cmp/cmp_client.c:926,1
    - Dst: sk_OSSL_CMP_PKISI_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:931,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:932,1
    - Dst: sk_OSSL_CMP_PKISI_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:936,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:937,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/openssl/crypto/cmp/cmp_client.c:943,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:944,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:946,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:948,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:952,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:956,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:959,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:964,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:970,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:973,1
    - Dst: sk_OSSL_CRMF_CERTID_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:978,1
    - Dst: sk_OSSL_CMP_REVDETAILS_value
      Src: /src/openssl/crypto/cmp/cmp_client.c:980,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_issuer
      Src: /src/openssl/crypto/cmp/cmp_client.c:981,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_client.c:982,1
    - Dst: sk_OSSL_CRMF_CERTID_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:984,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:985,1
    - Dst: ossl_cmp_revrepcontent_get_CertId
      Src: /src/openssl/crypto/cmp/cmp_client.c:989,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:990,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/cmp/cmp_client.c:994,1
    - Dst: OSSL_CRMF_CERTID_get0_issuer
      Src: /src/openssl/crypto/cmp/cmp_client.c:994,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:996,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/cmp/cmp_client.c:1001,1
    - Dst: OSSL_CRMF_CERTID_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_client.c:1002,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:1005,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:1013,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:1014,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/crypto/cmp/cmp_client.c:1021,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:1022,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:1025,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:1026,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 103
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 900
    functionDepth: 22
    functionLinenumber: 900
    functionLinenumberEnd: 1028
    functionName: OSSL_CMP_exec_RR_ses
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_revrepcontent_get_CertId
    - ossl_cmp_rr_new
    - OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    - sk_OSSL_CMP_PKISI_num
    - X509_NAME_cmp
    - OSSL_CRMF_CERTID_get0_issuer
    - ERR_raise
    - ossl_cmp_info
    - ossl_cmp_revrepcontent_get_pkisi
    - sk_X509_CRL_num
    - save_statusInfo
    - ERR_add_error_data
    - ossl_cmp_pkisi_get_status
    - ASN1_INTEGER_cmp
    - OSSL_CMP_MSG_free
    - sk_OSSL_CRMF_CERTID_num
    - OSSL_CRMF_CERTID_get0_serialNumber
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ossl_cmp_warn
    - sk_OSSL_CMP_REVDETAILS_value
    - send_receive_also_delayed
    - OSSL_CRMF_CERTTEMPLATE_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: 4
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/openssl/crypto/cmp/cmp_genm.c:38,1
    - Dst: X509_check_certificate_times
      Src: /src/openssl/crypto/cmp/cmp_genm.c:42,1
    - Dst: cert_msg
      Src: /src/openssl/crypto/cmp/cmp_genm.c:63,1
    - Dst: cert_msg
      Src: /src/openssl/crypto/cmp/cmp_genm.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - source
    - cert
    - type_CA
    - vpm
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - X509*
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 77
    functionName: ossl_X509_check
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - X509_check_certificate_times
    - X509_get_extension_flags
    - cert_msg
    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:86,1
    - Dst: ossl_X509_check
      Src: /src/openssl/crypto/cmp/cmp_genm.c:87,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:88,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: 91
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: ossl_X509_check_all
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - ossl_X509_check
    - sk_X509_num
    - sk_X509_value
    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:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:101,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_genm.c:104,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:105,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/crypto/cmp/cmp_genm.c:110,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/crypto/cmp/cmp_genm.c:113,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_genm.c:115,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_genm.c:116,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:117,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:122,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:123,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:125,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_genm.c:130,1
    - Dst: sk_OSSL_CMP_ITAV_shift
      Src: /src/openssl/crypto/cmp/cmp_genm.c:134,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/crypto/cmp/cmp_genm.c:135,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_genm.c:138,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:140,1
    - Dst: sk_OSSL_CMP_ITAV_shift
      Src: /src/openssl/crypto/cmp/cmp_genm.c:140,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:141,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cmp/cmp_genm.c:145,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_genm.c:147,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:150,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:152,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:156,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:157,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - req
    - expected
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 159
    functionName: get_genm_itav
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_exec_GENM_ses
    - ERR_raise
    - OBJ_obj2nid
    - sk_OSSL_CMP_ITAV_free
    - sk_OSSL_CMP_ITAV_num
    - OSSL_CMP_CTX_get_status
    - STACK_OF
    - sk_OSSL_CMP_ITAV_shift
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_get0_type
    - OBJ_obj2txt
    - ossl_cmp_log2
    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:204,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/crypto/cmp/cmp_genm.c:205,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:209,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:210,1
    - Dst: X509_STORE_CTX_get0_chain
      Src: /src/openssl/crypto/cmp/cmp_genm.c:210,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:211,1
    - Dst: X509_STORE_CTX_get0_untrusted
      Src: /src/openssl/crypto/cmp/cmp_genm.c:211,1
    - Dst: X509_STORE_CTX_get_check_issued
      Src: /src/openssl/crypto/cmp/cmp_genm.c:212,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:213,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:216,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:217,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:218,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/crypto/cmp/cmp_genm.c:222,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/cmp/cmp_genm.c:222,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:223,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:224,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:226,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:231,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/cmp/cmp_genm.c:234,1
    - Dst: X509_STORE_get_verify_cb
      Src: /src/openssl/crypto/cmp/cmp_genm.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ok
    - store_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 241
    functionName: selfsigned_verify_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_check_issued
    - X509_STORE_get1_all_certs
    - X509_STORE_CTX_get0_store
    - X509_STORE_get_verify_cb
    - sk_X509_pop_free
    - X509_STORE_CTX_get0_chain
    - X509_STORE_CTX_get_error_depth
    - X509_add_cert
    - sk_X509_num
    - sk_X509_value
    - STACK_OF
    - X509_STORE_CTX_get0_untrusted
    - X509_STORE_CTX_get_error
    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:252,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/cmp/cmp_genm.c:256,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_genm.c:257,1
    - Dst: X509_STORE_CTX_set_verify_cb
      Src: /src/openssl/crypto/cmp/cmp_genm.c:259,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:260,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:263,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: 265
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: verify_ss_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - X509_STORE_CTX_set_verify_cb
    - X509_STORE_CTX_free
    - ERR_raise
    - X509_STORE_CTX_new_ex
    - X509_verify_cert
    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:272,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:273,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/cmp/cmp_genm.c:277,1
    - Dst: X509_STORE_new
      Src: /src/openssl/crypto/cmp/cmp_genm.c:279,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/crypto/cmp/cmp_genm.c:281,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:282,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/cmp/cmp_genm.c:287,1
    - Dst: verify_ss_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:290,1
    - Dst: OSSL_CMP_CTX_get0_libctx
      Src: /src/openssl/crypto/cmp/cmp_genm.c:290,1
    - Dst: OSSL_CMP_CTX_get0_propq
      Src: /src/openssl/crypto/cmp/cmp_genm.c:291,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:294,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:299,1
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:301,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: 303
      start: 267
    functionDepth: 8
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: verify_ss_cert_trans
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_trusted
    - X509_STORE_free
    - ERR_raise_data
    - sk_X509_pop_free
    - X509_STORE_get0_param
    - X509_STORE_add_cert
    - OSSL_CMP_CTX_get0_libctx
    - X509_STORE_set1_param
    - X509_STORE_new
    - OSSL_CMP_CTX_get0_propq
    - verify_ss_cert
    - STACK_OF
    - ossl_x509_add_cert_new
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:314,1
    - Dst: OSSL_CMP_ITAV_new_rootCaCert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:319,1
    - Dst: get_genm_itav
      Src: /src/openssl/crypto/cmp/cmp_genm.c:321,1
    - Dst: OSSL_CMP_ITAV_get0_rootCaKeyUpdate
      Src: /src/openssl/crypto/cmp/cmp_genm.c:325,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_genm.c:333,1
    - Dst: verify_ss_cert_trans
      Src: /src/openssl/crypto/cmp/cmp_genm.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:337,1
    - Dst: ossl_cmp_log
      Src: /src/openssl/crypto/cmp/cmp_genm.c:342,1
    - Dst: verify_ss_cert_trans
      Src: /src/openssl/crypto/cmp/cmp_genm.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:345,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:350,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:352,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:354,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:359,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:361,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:364,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:365,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 5
    argNames:
    - ctx
    - oldWithOld
    - newWithNew
    - newWithOld
    - oldWithNew
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - X509**
    - X509**
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 305
    functionDepth: 9
    functionLinenumber: 305
    functionLinenumberEnd: 367
    functionName: OSSL_CMP_get1_rootCaKeyUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_get0_rootCaKeyUpdate
    - ossl_cmp_log
    - verify_ss_cert_trans
    - X509_up_ref
    - X509_free
    - OSSL_CMP_ITAV_free
    - X509_dup
    - ERR_raise
    - get_genm_itav
    - OSSL_CMP_ITAV_new_rootCaCert
    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:374,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:376,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:380,1
    - Dst: OSSL_CMP_CRLSTATUS_create
      Src: /src/openssl/crypto/cmp/cmp_genm.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:386,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_genm.c:389,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:390,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_push
      Src: /src/openssl/crypto/cmp/cmp_genm.c:393,1
    - Dst: OSSL_CMP_ITAV_new0_crlStatusList
      Src: /src/openssl/crypto/cmp/cmp_genm.c:395,1
    - Dst: get_genm_itav
      Src: /src/openssl/crypto/cmp/cmp_genm.c:400,1
    - Dst: OSSL_CMP_ITAV_get0_crls
      Src: /src/openssl/crypto/cmp/cmp_genm.c:403,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:410,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:411,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:413,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:417,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:417,1
    - Dst: OSSL_CMP_CRLSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:423,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:424,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:425,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: 427
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 427
    functionName: OSSL_CMP_get1_crlUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_CRLSTATUS_create
    - sk_OSSL_CMP_CRLSTATUS_new_reserve
    - sk_OSSL_CMP_CRLSTATUS_push
    - ERR_raise
    - X509_CRL_up_ref
    - OSSL_CMP_ITAV_get0_crls
    - OSSL_CMP_CRLSTATUS_free
    - sk_OSSL_CMP_CRLSTATUS_free
    - sk_X509_CRL_num
    - get_genm_itav
    - STACK_OF
    - sk_X509_CRL_value
    - OSSL_CMP_ITAV_new0_crlStatusList
    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:439,1
    - Dst: OSSL_CMP_ITAV_new0_certReqTemplate
      Src: /src/openssl/crypto/cmp/cmp_genm.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:445,1
    - Dst: get_genm_itav
      Src: /src/openssl/crypto/cmp/cmp_genm.c:449,1
    - Dst: OSSL_CMP_ITAV_get1_certReqTemplate
      Src: /src/openssl/crypto/cmp/cmp_genm.c:454,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:459,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: 461
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 461
    functionName: OSSL_CMP_get1_certReqTemplate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_new0_certReqTemplate
    - OSSL_CMP_ITAV_free
    - ERR_raise
    - OSSL_CMP_ITAV_get1_certReqTemplate
    - get_genm_itav
    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:176,1
    - Dst: OSSL_CMP_ITAV_set0
      Src: /src/openssl/crypto/cmp/cmp_asn.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: OSSL_CMP_ITAV_create
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_new
    - OSSL_CMP_ITAV_set0
    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: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    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: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    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: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    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:246,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: OSSL_CMP_ITAV_get0_certProfile
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    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:259,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:263,1
    - Dst: sk_X509_deep_copy
      Src: /src/openssl/crypto/cmp/cmp_asn.c:264,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:265,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - caCerts
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: OSSL_CMP_ITAV_new_caCerts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - sk_X509_deep_copy
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_new
    - OSSL_CMP_ITAV_free
    - 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:275,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:279,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: OSSL_CMP_ITAV_get0_caCerts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - sk_X509_num
    - ERR_raise
    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:290,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:295,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:296,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rootCaCert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: OSSL_CMP_ITAV_new_rootCaCert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_ITAV_free
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_new
    - X509_dup
    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:306,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: OSSL_CMP_ITAV_get0_rootCaCert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    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:324,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:328,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:331,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:334,1
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:338,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:340,1
    - Dst: OSSL_CMP_ROOTCAKEYUPDATE_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - newWithNew
    - newWithOld
    - oldWithNew
    argTypes:
    - X509*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 347
    functionName: OSSL_CMP_ITAV_new_rootCaKeyUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ROOTCAKEYUPDATE_free
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_new
    - X509_dup
    - 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:357,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:361,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: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: OSSL_CMP_ITAV_get0_rootCaKeyUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    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:381,1
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:384,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:386,1
    - Dst: OSSL_CMP_CERTREQTEMPLATE_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:390,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - certTemplate
    - keySpec
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    - OSSL_CMP_ATAVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 398
    functionName: OSSL_CMP_ITAV_new0_certReqTemplate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_new
    - OSSL_CMP_ITAV_free
    - ERR_raise
    - 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:407,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:415,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:416,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:423,1
    - Dst: sk_OSSL_CMP_ATAV_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:426,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_asn.c:428,1
    - Dst: sk_OSSL_CMP_ATAV_value
      Src: /src/openssl/crypto/cmp/cmp_asn.c:432,1
    - Dst: OSSL_CMP_ATAV_get0_type
      Src: /src/openssl/crypto/cmp/cmp_asn.c:433,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_asn.c:438,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:443,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/cmp/cmp_asn.c:447,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/cmp/cmp_asn.c:449,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_asn.c:452,1
    - Dst: OSSL_CMP_ATAV_push1
      Src: /src/openssl/crypto/cmp/cmp_asn.c:457,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:463,1
    - Dst: sk_OSSL_CMP_ATAV_pop_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:465,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: 469
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 469
    functionName: OSSL_CMP_ITAV_get1_certReqTemplate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2sn
    - sk_OSSL_CMP_ATAV_value
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_reserve
    - ERR_raise_data
    - OSSL_CMP_ATAV_push1
    - ERR_raise
    - OSSL_CMP_ATAV_get0_type
    - OBJ_nid2ln
    - OBJ_obj2nid
    - sk_OSSL_CMP_ATAV_pop_free
    - OSSL_CRMF_CERTTEMPLATE_free
    - OSSL_CRMF_CERTTEMPLATE_dup
    - sk_OSSL_CMP_ATAV_num
    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:475,1
    - Dst: OSSL_CMP_ATAV_set0
      Src: /src/openssl/crypto/cmp/cmp_asn.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 479
    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: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    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: 493
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 493
    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:501,1
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:504,1
    - Dst: OSSL_CMP_ATAV_create
      Src: /src/openssl/crypto/cmp/cmp_asn.c:506,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:506,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 511
    functionName: OSSL_CMP_ATAV_new_algId
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - OSSL_CMP_ATAV_create
    - ERR_raise
    - X509_ALGOR_dup
    - X509_ALGOR_free
    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:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - atav
    argTypes:
    - OSSL_CMP_ATAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 518
    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:526,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:529,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_asn.c:531,1
    - Dst: OSSL_CMP_ATAV_create
      Src: /src/openssl/crypto/cmp/cmp_asn.c:532,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:532,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: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 537
    functionName: OSSL_CMP_ATAV_new_rsaKeyLen
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - OBJ_nid2obj
    - OSSL_CMP_ATAV_create
    - ASN1_INTEGER_free
    - ERR_raise
    - ASN1_INTEGER_set
    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:
    - OBJ_obj2nid
    - ASN1_INTEGER_get_int64
    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:
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE_dup
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    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:
    - OBJ_obj2nid
    - ERR_raise
    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:641,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:
    - DIST_POINT_NAME_dup
    - ASN1_TIME_dup
    - sk_GENERAL_NAME_deep_copy
    - ERR_raise
    - OSSL_CMP_CRLSTATUS_free
    - OSSL_CMP_CRLSTATUS_new
    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:
    - sk_GENERAL_NAME_free
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_new_reserve
    - GENERAL_NAME_set1_X509_NAME
    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_num
    - sk_GENERAL_NAME_value
    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:
    - X509_get_ext_d2i
    - gennames_new
    - X509_CRL_get_issuer
    - sk_DIST_POINT_pop_free
    - ISSUING_DIST_POINT_free
    - ERR_raise
    - X509_CRL_get_ext_d2i
    - AUTHORITY_KEYID_free
    - sk_DIST_POINT_value
    - gennames_allowed
    - STACK_OF
    - OSSL_CMP_CRLSTATUS_new1
    - sk_DIST_POINT_num
    - sk_GENERAL_NAME_pop_free
    - X509_get_issuer_name
    - X509_CRL_get0_lastUpdate
    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:
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_new
    - sk_X509_CRL_free
    - OPENSSL_free
    - OSSL_CMP_ITAV_free
    - sk_X509_CRL_push
    - sk_X509_CRL_new_reserve
    - STACK_OF
    - X509_CRL_dup
    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:
    - OBJ_obj2nid
    - ERR_raise
    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:860,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: 878
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 878
    functionName: ossl_cmp_msg_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_set0_libctx
    - OPENSSL_free
    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: 5
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: ossl_cmp_hdr_set_pvno
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_set
    - ossl_assert
    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:
    - ASN1_INTEGER_get_int64
    - ossl_assert
    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:
    - OBJ_obj2nid
    - ossl_assert
    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:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    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 OSSL_CMP_PKIHEADER
      *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    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:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    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:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    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:92,1
    - Dst: GENERAL_NAME_set1_X509_NAME
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - nm
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 95
    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:99,1
    - Dst: GENERAL_NAME_set1_X509_NAME
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - nm
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 102
    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:106,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:109,1
    - Dst: ASN1_GENERALIZEDTIME_set
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:111,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: ossl_cmp_hdr_update_messageTime
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - time
    - ASN1_GENERALIZEDTIME_set
    - ossl_assert
    - ASN1_GENERALIZEDTIME_new
    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:117,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:121,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:124,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: 126
      start: 115
    functionDepth: 7
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: set_random
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1_bytes
    - OPENSSL_free
    - ERR_raise
    - 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:131,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - senderKID
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 134
    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:139,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:143,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - text
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_UTF8STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: ossl_cmp_hdr_push0_freeText
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - sk_ASN1_UTF8STRING_push
    - ossl_assert
    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:151,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:155,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - text
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_UTF8STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: ossl_cmp_hdr_push1_freeText
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ossl_cmp_sk_ASN1_UTF8STRING_push_str
    - ossl_assert
    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:165,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - itav
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    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:176,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:179,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:180,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:180,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:184,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - hdr
    - itavs
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: ossl_cmp_hdr_generalInfo_push1_items
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_hdr_generalInfo_push0_item
    - sk_OSSL_CMP_ITAV_value
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_ITAV_dup
    - sk_OSSL_CMP_ITAV_num
    - ossl_assert
    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:197,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:199,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:202,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:202,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:206,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:211,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: ossl_cmp_hdr_set_implicitConfirm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 2
    functionsReached:
    - OBJ_nid2obj
    - ossl_cmp_hdr_generalInfo_push0_item
    - ASN1_TYPE_free
    - OSSL_CMP_ITAV_free
    - ASN1_NULL_new
    - OSSL_CMP_ITAV_create
    - ossl_assert
    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:223,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:226,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:228,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: ossl_cmp_hdr_has_implicitConfirm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - sk_OSSL_CMP_ITAV_value
    - OBJ_obj2nid
    - ossl_assert
    - sk_OSSL_CMP_ITAV_num
    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:251,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:254,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:258,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 8
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: ossl_cmp_hdr_set_transactionID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - set_random
    - i2s_ASN1_OCTET_STRING
    - ossl_cmp_asn1_octet_string_set1
    - ossl_cmp_log1
    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:271,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:275,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:282,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:282,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:283,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:285,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:292,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:296,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:298,1
    - Dst: ossl_cmp_hdr_set1_recipient
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:299,1
    - Dst: ossl_cmp_hdr_update_messageTime
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:303,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:307,1
    - Dst: ossl_cmp_hdr_set_transactionID
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:311,1
    - Dst: set_random
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:326,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:330,1
    - Dst: ossl_cmp_hdr_push1_freeText
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:339,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 266
    functionDepth: 9
    functionLinenumber: 266
    functionLinenumberEnd: 343
    functionName: ossl_cmp_hdr_init
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - set_random
    - ossl_cmp_hdr_push1_freeText
    - ossl_cmp_hdr_update_messageTime
    - X509_REQ_get_subject_name
    - ossl_cmp_hdr_set_transactionID
    - ossl_cmp_hdr_set_pvno
    - ossl_cmp_hdr_set1_recipient
    - ossl_cmp_hdr_set1_sender
    - X509_get_subject_name
    - ossl_cmp_asn1_octet_string_set1
    - ossl_assert
    - OSSL_CMP_CTX_set1_senderNonce
    - X509_get_issuer_name
    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:
    - want_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 want_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_CTX_get_http_cb_arg
    - ASN1_item_i2d_mem_bio
    - sk_CONF_VALUE_pop_free
    - X509V3_add_value
    - ossl_cmp_log4
    - BIO_free
    - keep_alive
    - ERR_raise
    - OSSL_CMP_CTX_get_transfer_cb_arg
    - BIO_snprintf
    - ossl_cmp_debug
    - ossl_cmp_log3
    - ASN1_ITEM_rptr
    - STACK_OF
    - ASN1_item_d2i_bio
    - OSSL_HTTP_transfer
    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: 6
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: OSSL_CMP_SRV_CTX_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_free
    - OPENSSL_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:
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_new
    - 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_SRV_CTX*::delayed_delivery
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_PKISI_free
    - ERR_GET_REASON
    - ERR_reason_error_string
    - ERR_peek_error
    - ossl_cmp_error_new
    - ossl_assert
    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:
    - X509_free
    - OSSL_CMP_CTX_set_option
    - ossl_cmp_hdr_has_implicitConfirm
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_MSG_get_bodytype
    - ERR_raise
    - OSSL_CRMF_MSG_get_certReqId
    - ossl_cmp_verify_popo
    - STACK_OF
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_CTX_set0_newPkey
    - sk_OSSL_CRMF_MSG_value
    - ossl_cmp_certrep_new
    - ossl_assert
    - OSSL_CMP_SRV_CTX*::process_cert_request
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_PKISI_free
    - OSSL_STACK_OF_X509_free
    - ERR_reason_error_string
    - OSSL_CRMF_MSG_centralkeygen_requested
    - ERR_peek_error
    - sk_OSSL_CRMF_MSG_num
    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:346,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:349,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:350,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: 352
      start: 310
    functionDepth: 14
    functionLinenumber: 310
    functionLinenumberEnd: 352
    functionName: process_rr
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - OSSL_CRMF_CERTID_gen
    - OSSL_CMP_SRV_CTX*::process_rr
    - OSSL_CMP_PKISI_free
    - sk_OSSL_CMP_REVDETAILS_num
    - ERR_raise
    - ossl_cmp_rp_new
    - OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    - OSSL_CRMF_CERTTEMPLATE_get0_issuer
    - OSSL_CRMF_CERTID_free
    - ossl_assert
    - sk_OSSL_CMP_REVDETAILS_value
    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:364,1
    - Dst: OSSL_CMP_SRV_CTX*::process_genm
      Src: /src/openssl/crypto/cmp/cmp_server.c:367,1
    - Dst: ossl_cmp_genp_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:370,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:371,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: 373
      start: 358
    functionDepth: 15
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: process_genm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_genp_new
    - sk_OSSL_CMP_ITAV_pop_free
    - ossl_assert
    - 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:381,1
    - Dst: OSSL_CMP_SRV_CTX*::process_error
      Src: /src/openssl/crypto/cmp/cmp_server.c:384,1
    - Dst: ossl_cmp_pkiconf_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:388,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: 390
      start: 375
    functionDepth: 14
    functionLinenumber: 375
    functionLinenumberEnd: 390
    functionName: process_error
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ossl_cmp_pkiconf_new
    - ERR_raise
    - 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:401,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_num
      Src: /src/openssl/crypto/cmp/cmp_server.c:406,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:410,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_server.c:415,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_server.c:418,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_value
      Src: /src/openssl/crypto/cmp/cmp_server.c:419,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_server.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:428,1
    - Dst: OSSL_CMP_SRV_CTX*::process_certConf
      Src: /src/openssl/crypto/cmp/cmp_server.c:431,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_server.c:435,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_server.c:436,1
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:437,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_server.c:439,1
    - Dst: ossl_cmp_pkiconf_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:446,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: 448
      start: 392
    functionDepth: 14
    functionLinenumber: 392
    functionLinenumberEnd: 448
    functionName: process_certConf
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_PKIStatus_to_string
    - sk_OSSL_CMP_CERTSTATUS_value
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_CTX_get_option
    - ossl_cmp_asn1_get_int
    - ossl_cmp_log2
    - ERR_raise
    - ossl_cmp_pkiconf_new
    - sk_OSSL_CMP_CERTSTATUS_num
    - ossl_assert
    - OSSL_CMP_SRV_CTX*::process_certConf
    - ossl_cmp_err
    - ossl_cmp_warn
    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:456,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:466,1
    - Dst: process_cert_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:472,1
    - Dst: process_rr
      Src: /src/openssl/crypto/cmp/cmp_server.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:478,1
    - Dst: process_genm
      Src: /src/openssl/crypto/cmp/cmp_server.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:484,1
    - Dst: process_error
      Src: /src/openssl/crypto/cmp/cmp_server.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:490,1
    - Dst: process_certConf
      Src: /src/openssl/crypto/cmp/cmp_server.c:492,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:499,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: 504
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 504
    functionName: process_non_polling_request
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - process_error
    - OSSL_CMP_MSG_get_bodytype
    - process_rr
    - ERR_raise
    - process_genm
    - process_certConf
    - process_cert_request
    - ossl_assert
    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:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:520,1
    - Dst: sk_OSSL_CMP_POLLREQ_num
      Src: /src/openssl/crypto/cmp/cmp_server.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:526,1
    - Dst: sk_OSSL_CMP_POLLREQ_value
      Src: /src/openssl/crypto/cmp/cmp_server.c:530,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_server.c:531,1
    - Dst: OSSL_CMP_SRV_CTX*::process_pollReq
      Src: /src/openssl/crypto/cmp/cmp_server.c:532,1
    - Dst: process_non_polling_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:538,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:539,1
    - Dst: ossl_cmp_pollRep_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:541,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:544,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: 547
      start: 506
    functionDepth: 14
    functionLinenumber: 506
    functionLinenumberEnd: 547
    functionName: process_pollReq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_asn1_get_int
    - OSSL_CMP_MSG_free
    - ossl_cmp_pollRep_new
    - ERR_raise
    - OSSL_CMP_SRV_CTX*::process_pollReq
    - process_non_polling_request
    - sk_OSSL_CMP_POLLREQ_num
    - ossl_assert
    - sk_OSSL_CMP_POLLREQ_value
    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:558,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:562,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:566,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:567,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_server.c:568,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: 572
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 572
    functionName: unprotected_exception
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_CTX_get_option
    - ossl_cmp_log1
    - ossl_assert
    - 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:589,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:590,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:595,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:596,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:597,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:604,1
    - Dst: OSSL_CMP_CTX_set1_recipient
      Src: /src/openssl/crypto/cmp/cmp_server.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:612,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_server.c:625,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:628,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:631,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_server.c:634,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_server.c:635,1
    - Dst: OSSL_CMP_SRV_CTX*::clean_transaction
      Src: /src/openssl/crypto/cmp/cmp_server.c:639,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:649,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/crypto/cmp/cmp_server.c:655,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/openssl/crypto/cmp/cmp_server.c:658,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:665,1
    - Dst: process_pollReq
      Src: /src/openssl/crypto/cmp/cmp_server.c:667,1
    - Dst: delayed_delivery
      Src: /src/openssl/crypto/cmp/cmp_server.c:670,1
    - Dst: process_non_polling_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:673,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/crypto/cmp/cmp_server.c:681,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_server.c:694,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/crypto/cmp/cmp_server.c:695,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:700,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:701,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:704,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:706,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_server.c:709,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:712,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:714,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:715,1
    - Dst: ossl_cmp_log
      Src: /src/openssl/crypto/cmp/cmp_server.c:717,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:725,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_server.c:730,1
    - Dst: OSSL_CMP_SRV_CTX*::clean_transaction
      Src: /src/openssl/crypto/cmp/cmp_server.c:741,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_server.c:742,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_server.c:743,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: 750
      start: 577
    functionDepth: 19
    functionLinenumber: 577
    functionLinenumberEnd: 750
    functionName: OSSL_CMP_SRV_process_request
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_log
    - ERR_peek_error_data
    - OSSL_CMP_MSG_get0_header
    - ossl_cmp_error_new
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_CTX_set1_recipient
    - OPENSSL_free
    - ERR_raise
    - ossl_cmp_is_error_with_waiting
    - OSSL_CMP_CTX_set1_senderNonce
    - ossl_cmp_bodytype_to_string
    - process_pollReq
    - OSSL_CMP_CTX_set1_transactionID
    - process_non_polling_request
    - ossl_cmp_msg_check_update
    - ossl_cmp_log1
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_CTX_get_option
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_PKISI_free
    - delayed_delivery
    - ossl_cmp_hdr_get_protection_nid
    - i2s_ASN1_OCTET_STRING
    - ERR_reason_error_string
    - OSSL_CMP_SRV_CTX*::clean_transaction
    - ossl_cmp_ctx_set1_recipNonce
    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:764,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/crypto/cmp/cmp_server.c:768,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:769,1
    - Dst: OSSL_CMP_SRV_process_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:773,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: 774
      start: 758
    functionDepth: 20
    functionLinenumber: 758
    functionLinenumberEnd: 774
    functionName: OSSL_CMP_CTX_server_perform
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_SRV_process_request
    - ERR_raise
    - OSSL_CMP_CTX_get_transfer_cb_arg
    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: ossl_rcu_lock_free
      Src: /src/openssl/crypto/conf/conf_mod.c:54,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:57,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: module_lists_free
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - sk_CONF_MODULE_free
    - sk_CONF_IMODULE_free
    - ossl_rcu_lock_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:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    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:80,1
    - Dst: NCONF_get_number_e
      Src: /src/openssl/crypto/conf/conf_mod.c:81,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:82,1
    - Dst: OSSL_LIB_CTX_set_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:84,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cnf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: conf_diagnostics
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - OSSL_LIB_CTX_set_conf_diagnostics
    - ERR_set_mark
    - NCONF_get_number_e
    - OSSL_LIB_CTX_get_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:95,1
    - Dst: conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:103,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:109,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_mod.c:111,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_mod.c:114,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:117,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/conf/conf_mod.c:121,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/conf/conf_mod.c:122,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:126,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:127,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:131,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:135,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:137,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/conf/conf_mod.c:138,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:139,1
    - Dst: module_run
      Src: /src/openssl/crypto/conf/conf_mod.c:140,1
    - Dst: OSSL_TRACE3
      Src: /src/openssl/crypto/conf/conf_mod.c:141,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:145,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - cnf
    - appname
    - flags
    argTypes:
    - CONF*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 92
    functionDepth: 6
    functionLinenumber: 92
    functionLinenumberEnd: 152
    functionName: CONF_modules_load
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - NCONF_get_section
    - ERR_raise_data
    - OSSL_TRACE1
    - NCONF_get_string
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - module_run
    - STACK_OF
    - OSSL_TRACE3
    - ERR_set_mark
    - conf_diagnostics
    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:159,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:161,1
    - Dst: CONF_get1_default_config_file
      Src: /src/openssl/crypto/conf/conf_mod.c:164,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/crypto/conf/conf_mod.c:176,1
    - Dst: NCONF_load
      Src: /src/openssl/crypto/conf/conf_mod.c:180,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/conf/conf_mod.c:181,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/conf/conf_mod.c:181,1
    - Dst: CONF_modules_load
      Src: /src/openssl/crypto/conf/conf_mod.c:187,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:193,1
    - Dst: NCONF_free
      Src: /src/openssl/crypto/conf/conf_mod.c:194,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:200,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:202,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: 205
      start: 154
    functionDepth: 7
    functionLinenumber: 154
    functionLinenumberEnd: 205
    functionName: CONF_modules_load_file_ex
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - NCONF_new_ex
    - NCONF_load
    - ERR_clear_last_mark
    - ERR_peek_last_error
    - OPENSSL_free
    - ERR_GET_REASON
    - CONF_modules_load
    - NCONF_free
    - CONF_get1_default_config_file
    - ERR_set_mark
    - OSSL_LIB_CTX_get_conf_diagnostics
    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:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - appname
    - flags
    argTypes:
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 8
    functionLinenumber: 207
    functionLinenumberEnd: 211
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_builtin_modules
    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:225,1
    - Dst: module_find
      Src: /src/openssl/crypto/conf/conf_mod.c:228,1
    - Dst: module_load_dso
      Src: /src/openssl/crypto/conf/conf_mod.c:232,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:236,1
    - Dst: module_init
      Src: /src/openssl/crypto/conf/conf_mod.c:242,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:246,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: 252
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 252
    functionName: module_run
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - module_init
    - ERR_raise_data
    - module_load_dso
    - module_find
    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:266,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/conf/conf_mod.c:270,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/conf/conf_mod.c:275,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/conf/conf_mod.c:280,1
    - Dst: module_add
      Src: /src/openssl/crypto/conf/conf_mod.c:282,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/conf/conf_mod.c:290,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - cnf
    - name
    - value
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 293
    functionName: module_load_dso
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - DSO_bind_func
    - ERR_raise_data
    - _CONF_get_string
    - DSO_load
    - DSO_free
    - module_add
    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:300,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:301,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:303,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:306,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:308,1
    - Dst: sk_CONF_MODULE_new_null
      Src: /src/openssl/crypto/conf/conf_mod.c:311,1
    - Dst: sk_CONF_MODULE_dup
      Src: /src/openssl/crypto/conf/conf_mod.c:313,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/conf/conf_mod.c:318,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:322,1
    - Dst: sk_CONF_MODULE_push
      Src: /src/openssl/crypto/conf/conf_mod.c:328,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:331,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:332,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:333,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:335,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:339,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:342,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:344,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: 346
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 346
    functionName: module_add
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 6
    functionsReached:
    - sk_CONF_MODULE_free
    - OPENSSL_strdup
    - RUN_ONCE
    - OPENSSL_zalloc
    - sk_CONF_MODULE_push
    - ossl_rcu_write_unlock
    - OPENSSL_free
    - sk_CONF_MODULE_dup
    - ossl_rcu_assign_ptr
    - ossl_rcu_deref
    - STACK_OF
    - sk_CONF_MODULE_new_null
    - ossl_rcu_write_lock
    - ossl_synchronize_rcu
    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:360,1
    - Dst: strrchr
      Src: /src/openssl/crypto/conf/conf_mod.c:362,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:367,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:369,1
    - Dst: ossl_rcu_read_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:372,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:375,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:377,1
    - Dst: sk_CONF_MODULE_value
      Src: /src/openssl/crypto/conf/conf_mod.c:378,1
    - Dst: strncmp
      Src: /src/openssl/crypto/conf/conf_mod.c:379,1
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:380,1
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 387
    functionName: module_find
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - strncmp
    - RUN_ONCE
    - strrchr
    - sk_CONF_MODULE_num
    - ossl_rcu_read_lock
    - ossl_rcu_deref
    - STACK_OF
    - strlen
    - sk_CONF_MODULE_value
    - ossl_rcu_read_unlock
    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:396,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:397,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_mod.c:400,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:405,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:406,1
    - Dst: CONF_MODULE*::init
      Src: /src/openssl/crypto/conf/conf_mod.c:415,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:422,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:425,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:427,1
    - Dst: sk_CONF_IMODULE_new_null
      Src: /src/openssl/crypto/conf/conf_mod.c:430,1
    - Dst: sk_CONF_IMODULE_dup
      Src: /src/openssl/crypto/conf/conf_mod.c:432,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:435,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:436,1
    - Dst: sk_CONF_IMODULE_push
      Src: /src/openssl/crypto/conf/conf_mod.c:440,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:441,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:442,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:443,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:449,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:450,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:451,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:452,1
    - Dst: CONF_MODULE*::finish
      Src: /src/openssl/crypto/conf/conf_mod.c:459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:463,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:464,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:465,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 4
    argNames:
    - pmod
    - name
    - value
    - cnf
    argTypes:
    - CONF_MODULE*
    - char*
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 469
    functionName: module_init
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - RUN_ONCE
    - ossl_rcu_write_unlock
    - sk_CONF_IMODULE_push
    - sk_CONF_IMODULE_free
    - OPENSSL_free
    - CONF_MODULE*::finish
    - ERR_raise
    - ossl_rcu_assign_ptr
    - ossl_rcu_deref
    - ossl_synchronize_rcu
    - sk_CONF_IMODULE_dup
    - STACK_OF
    - ossl_rcu_write_lock
    - sk_CONF_IMODULE_new_null
    - OPENSSL_malloc
    - CONF_MODULE*::init
    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:481,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:482,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:483,1
    - Dst: conf_modules_finish_int
      Src: /src/openssl/crypto/conf/conf_mod.c:485,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:488,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:490,1
    - Dst: sk_CONF_MODULE_dup
      Src: /src/openssl/crypto/conf/conf_mod.c:491,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:494,1
    - Dst: sk_CONF_MODULE_new_null
      Src: /src/openssl/crypto/conf/conf_mod.c:498,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:501,1
    - Dst: sk_CONF_MODULE_value
      Src: /src/openssl/crypto/conf/conf_mod.c:502,1
    - Dst: sk_CONF_MODULE_delete
      Src: /src/openssl/crypto/conf/conf_mod.c:507,1
    - Dst: sk_CONF_MODULE_push
      Src: /src/openssl/crypto/conf/conf_mod.c:508,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:511,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:512,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:516,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:517,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:518,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:519,1
    - Dst: sk_CONF_MODULE_pop_free
      Src: /src/openssl/crypto/conf/conf_mod.c:520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - all
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 521
    functionName: CONF_modules_unload
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - sk_CONF_MODULE_free
    - ossl_rcu_write_unlock
    - sk_CONF_MODULE_push
    - sk_CONF_MODULE_num
    - sk_CONF_MODULE_dup
    - ossl_rcu_assign_ptr
    - sk_CONF_MODULE_delete
    - conf_modules_finish_int
    - ossl_rcu_deref
    - STACK_OF
    - sk_CONF_MODULE_new_null
    - ossl_rcu_write_lock
    - ossl_synchronize_rcu
    - sk_CONF_MODULE_value
    - sk_CONF_MODULE_pop_free
    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:526,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:527,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_MODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: module_free
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - DSO_free
    - OPENSSL_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:536,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:537,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:539,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:546,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:547,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:548,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:549,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:550,1
    - Dst: sk_CONF_IMODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:552,1
    - Dst: sk_CONF_IMODULE_pop
      Src: /src/openssl/crypto/conf/conf_mod.c:553,1
    - Dst: module_finish
      Src: /src/openssl/crypto/conf/conf_mod.c:554,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 559
    functionName: conf_modules_finish_int
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - ossl_rcu_write_unlock
    - sk_CONF_IMODULE_pop
    - sk_CONF_IMODULE_free
    - module_finish
    - sk_CONF_IMODULE_num
    - ossl_rcu_assign_ptr
    - ossl_rcu_deref
    - STACK_OF
    - ossl_rcu_write_lock
    - ossl_synchronize_rcu
    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:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 564
    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:573,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:575,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:576,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - imod
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: module_finish
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - CONF_IMODULE*::pmod::finish
    - OPENSSL_free
    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:585,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: 589
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: CONF_module_add
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 5
    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:593,1
    - Dst: module_lists_free
      Src: /src/openssl/crypto/conf/conf_mod.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 595
    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: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: CONF_imodule_get_name
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    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: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: CONF_imodule_get_value
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 5
    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: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    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: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    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: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    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: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    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: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    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: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    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: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    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:651,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:652,1
    - Dst: X509_get_default_cert_area
      Src: /src/openssl/crypto/conf/conf_mod.c:654,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:665,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:670,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:670,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:670,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_mod.c:671,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/conf/conf_mod.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 678
    functionName: CONF_get1_default_config_file
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - BIO_snprintf
    - X509_get_default_cert_area
    - ossl_safe_getenv
    - 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:695,1
    - Dst: isspace
      Src: /src/openssl/crypto/conf/conf_mod.c:702,1
    - Dst: strchr
      Src: /src/openssl/crypto/conf/conf_mod.c:705,1
    - Dst: list_cb
      Src: /src/openssl/crypto/conf/conf_mod.c:707,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:712,1
    - Dst: isspace
      Src: /src/openssl/crypto/conf/conf_mod.c:714,1
    - Dst: list_cb
      Src: /src/openssl/crypto/conf/conf_mod.c:717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - list_
    - sep
    - nospc
    - arg
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 725
    functionName: CONF_parse_list
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 4
    functionsReached:
    - strchr
    - isspace
    - ERR_raise
    - strlen
    - list_cb
    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: CONF_imodule_get_usr_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:28,1
    - Dst: CONF_imodule_set_usr_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:33,1
    - Dst: ossl_lib_ctx_detach_ssl_conf_imodule
      Src: /src/openssl/crypto/conf/conf_ssl.c:34,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 49
    functionName: ssl_module_free
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - CONF_imodule_set_usr_data
    - CONF_imodule_get_usr_data
    - ossl_lib_ctx_detach_ssl_conf_imodule
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ssl_module_free(CONF_IMODULE *md)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_ssl.c:56,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/conf/conf_ssl.c:60,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/conf/conf_ssl.c:61,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:62,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:67,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:70,1
    - Dst: ssl_module_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:71,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/conf/conf_ssl.c:73,1
    - Dst: CONF_imodule_set_usr_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:76,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/conf/conf_ssl.c:78,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/conf/conf_ssl.c:79,1
    - Dst: ossl_lib_ctx_attach_ssl_conf_imodule
      Src: /src/openssl/crypto/conf/conf_ssl.c:83,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:95,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_ssl.c:99,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:102,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/conf/conf_ssl.c:103,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/conf/conf_ssl.c:109,1
    - Dst: strchr
      Src: /src/openssl/crypto/conf/conf_ssl.c:113,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_ssl.c:118,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_ssl.c:119,1
    - Dst: ssl_module_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:127,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 129
    functionName: ssl_module_init
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ossl_lib_ctx_attach_ssl_conf_imodule
    - NCONF_get_section
    - ERR_raise_data
    - ssl_module_free
    - CONF_imodule_get_value
    - CONF_imodule_set_usr_data
    - ossl_lib_ctx_get_concrete
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - OPENSSL_calloc
    linkageType: ''
    returnType: int
    signature: int ssl_module_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF_imodule_get_usr_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - md
    - idx
    - name
    - cnt
    argTypes:
    - CONF_IMODULE*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: conf_ssl_get
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - CONF_imodule_get_usr_data
    linkageType: ''
    returnType: SSL_CONF_CMD
    signature: SSL_CONF_CMD *conf_ssl_get(CONF_IMODULE *md, size_t idx, const char
      **name, size_t *cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONF_imodule_get_usr_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:155,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_ssl.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - md
    - name
    - idx
    argTypes:
    - CONF_IMODULE*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: conf_ssl_name_find
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - CONF_imodule_get_usr_data
    - strcmp
    linkageType: ''
    returnType: int
    signature: int conf_ssl_name_find(CONF_IMODULE *md, 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: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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: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: 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:
    - CONF_METHOD*::create
    - NCONF_default
    - 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:
    - CONF*::meth::load
    - ERR_raise
    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_free
    - NCONF_load_bio
    - ERR_raise
    - BIO_new_fp
    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: 1
    functionsReached:
    - is_number
    - to_int
    - ERR_raise
    - NCONF_get_string
    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:
    - ERR_pop_to_mark
    - ERR_set_mark
    - NCONF_get_number_e
    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:
    - NCONF_dump_bio
    - BIO_free
    - ERR_raise
    - BIO_new_fp
    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:
    - malloc
    - memset
    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:436,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - filename
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 445
    functionName: OPENSSL_INIT_set_config_filename
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    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: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    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:465,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - appname
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: OPENSSL_INIT_set_config_appname
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    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:482,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:483,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - settings
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 485
    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:35,1
    - Dst: strdup
      Src: /src/openssl/crypto/conf/conf_sap.c:37,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/conf/conf_sap.c:39,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_sap.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - appname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: OPENSSL_config
    functionSourceFile: /src/openssl/crypto/conf/conf_sap.c
    functionUses: 0
    functionsReached:
    - free
    - OPENSSL_init_crypto
    - memset
    - strdup
    linkageType: ''
    returnType: void
    signature: void OPENSSL_config(const char *appname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/conf/conf_sap.c:64,1
    - Dst: CONF_modules_load_file_ex
      Src: /src/openssl/crypto/conf/conf_sap.c:69,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/crypto/conf/conf_sap.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - settings
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 45
    functionDepth: 8
    functionLinenumber: 45
    functionLinenumberEnd: 76
    functionName: ossl_config_int
    functionSourceFile: /src/openssl/crypto/conf/conf_sap.c
    functionUses: 2
    functionsReached:
    - OSSL_LIB_CTX_get0_global_default
    - fprintf
    - CONF_modules_load_file_ex
    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: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    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:25,1
    - Dst: ASN1_add_stable_module
      Src: /src/openssl/crypto/conf/conf_mall.c:26,1
    - Dst: EVP_add_alg_module
      Src: /src/openssl/crypto/conf/conf_mall.c:27,1
    - Dst: ossl_config_add_ssl_module
      Src: /src/openssl/crypto/conf/conf_mall.c:28,1
    - Dst: ossl_provider_add_conf_module
      Src: /src/openssl/crypto/conf/conf_mall.c:29,1
    - Dst: ossl_random_add_conf_module
      Src: /src/openssl/crypto/conf/conf_mall.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: OPENSSL_load_builtin_modules
    functionSourceFile: /src/openssl/crypto/conf/conf_mall.c
    functionUses: 1
    functionsReached:
    - EVP_add_alg_module
    - ossl_random_add_conf_module
    - ossl_provider_add_conf_module
    - ASN1_add_stable_module
    - ASN1_add_oid_module
    - ossl_config_add_ssl_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: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    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: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    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: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    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: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    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: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    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: 1
    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:
    - CONF_METHOD*::init
    - OPENSSL_malloc
    - OPENSSL_free
    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:
    - OPENSSL_free
    - def_destroy_data
    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:
    - ERR_peek_last_error
    - BIO_free
    - ERR_GET_REASON
    - ERR_raise
    - BIO_new_file
    - def_load_bio
    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:194,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:195,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:197,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pval
    - flag
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: parsebool
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - ERR_raise
    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:217,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_def.c:223,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/conf/conf_def.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:233,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_def.c:237,1
    - Dst: _CONF_new_data
      Src: /src/openssl/crypto/conf/conf_def.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:242,1
    - Dst: _CONF_new_section
      Src: /src/openssl/crypto/conf/conf_def.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:248,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/conf/conf_def.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:256,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/conf/conf_def.c:262,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:265,1
    - Dst: memcmp
      Src: /src/openssl/crypto/conf/conf_def.c:271,1
    - Dst: memmove
      Src: /src/openssl/crypto/conf/conf_def.c:272,1
    - Dst: get_next_file
      Src: /src/openssl/crypto/conf/conf_def.c:288,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/conf/conf_def.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:293,1
    - Dst: sk_BIO_pop
      Src: /src/openssl/crypto/conf/conf_def.c:299,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/conf/conf_def.c:303,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:338,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:338,1
    - Dst: clear_comments
      Src: /src/openssl/crypto/conf/conf_def.c:348,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:349,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:350,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:356,1
    - Dst: eat_alpha_numeric
      Src: /src/openssl/crypto/conf/conf_def.c:359,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:366,1
    - Dst: str_copy
      Src: /src/openssl/crypto/conf/conf_def.c:370,1
    - Dst: _CONF_get_section
      Src: /src/openssl/crypto/conf/conf_def.c:372,1
    - Dst: _CONF_new_section
      Src: /src/openssl/crypto/conf/conf_def.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:375,1
    - Dst: eat_alpha_numeric
      Src: /src/openssl/crypto/conf/conf_def.c:381,1
    - Dst: eat_alpha_numeric
      Src: /src/openssl/crypto/conf/conf_def.c:387,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:391,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/conf/conf_def.c:392,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:398,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:400,1
    - Dst: strchr
      Src: /src/openssl/crypto/conf/conf_def.c:403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:405,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:410,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:411,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:420,1
    - Dst: parsebool
      Src: /src/openssl/crypto/conf/conf_def.c:421,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:423,1
    - Dst: parsebool
      Src: /src/openssl/crypto/conf/conf_def.c:424,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:426,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:427,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_def.c:428,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/conf/conf_def.c:436,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/conf/conf_def.c:440,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:462,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:464,1
    - Dst: str_copy
      Src: /src/openssl/crypto/conf/conf_def.c:465,1
    - Dst: ossl_is_absolute_path
      Src: /src/openssl/crypto/conf/conf_def.c:468,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:469,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:469,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_def.c:471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:473,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/conf/conf_def.c:477,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/openssl/crypto/conf/conf_def.c:478,1
    - Dst: OPENSSL_strlcat
      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_free
      Src: /src/openssl/crypto/conf/conf_def.c:481,1
    - Dst: ossl_is_absolute_path
      Src: /src/openssl/crypto/conf/conf_def.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:489,1
    - Dst: process_include
      Src: /src/openssl/crypto/conf/conf_def.c:495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:498,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:501,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:502,1
    - Dst: sk_BIO_new_null
      Src: /src/openssl/crypto/conf/conf_def.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:509,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:510,1
    - Dst: sk_BIO_push
      Src: /src/openssl/crypto/conf/conf_def.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:515,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:516,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_def.c:524,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:530,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:531,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_def.c:533,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_def.c:535,1
    - Dst: str_copy
      Src: /src/openssl/crypto/conf/conf_def.c:539,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:542,1
    - Dst: _CONF_get_section
      Src: /src/openssl/crypto/conf/conf_def.c:543,1
    - Dst: _CONF_new_section
      Src: /src/openssl/crypto/conf/conf_def.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:547,1
    - Dst: _CONF_add_string
      Src: /src/openssl/crypto/conf/conf_def.c:553,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:554,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/conf/conf_def.c:560,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:561,1
    - Dst: sk_BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:566,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/conf/conf_def.c:570,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:571,1
    - Dst: sk_BIO_num
      Src: /src/openssl/crypto/conf/conf_def.c:577,1
    - Dst: sk_BIO_pop
      Src: /src/openssl/crypto/conf/conf_def.c:578,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/conf/conf_def.c:579,1
    - Dst: sk_BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:582,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:584,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/crypto/conf/conf_def.c:586,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/conf/conf_def.c:590,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/conf/conf_def.c:591,1
    - Dst: CONF_free
      Src: /src/openssl/crypto/conf/conf_def.c:593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:597,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
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 301
    argCount: 3
    argNames:
    - conf
    - in
    - line
    argTypes:
    - CONF*
    - BIO*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 602
    functionName: def_load_bio
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - parsebool
    - sk_BIO_new_null
    - BUF_MEM_free
    - BIO_snprintf
    - sk_BIO_num
    - ossl_safe_getenv
    - BIO_new_file
    - _CONF_add_string
    - str_copy
    - _CONF_new_section
    - OPENSSL_free
    - ERR_raise_data
    - OPENSSL_strlcat
    - sk_BIO_push
    - ERR_raise
    - ossl_is_absolute_path
    - BIO_gets
    - STACK_OF
    - get_next_file
    - ERR_add_error_data
    - _CONF_get_section
    - OPENSSL_malloc
    - CONF_free
    - ossl_ends_with_dirsep
    - eat_alpha_numeric
    - BIO_vfree
    - BIO_free
    - process_include
    - strcmp
    - DECIMAL_SIZE
    - trim_ws
    - sk_BIO_free
    - clear_comments
    - OPENSSL_strlcpy
    - _CONF_new_data
    - BUF_MEM_new
    - OPENSSL_strdup
    - IS_EOF
    - strchr
    - eat_ws
    - OPENSSL_DIR_end
    - memmove
    - IS_ESC
    - sk_BIO_pop
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - memcmp
    - BUF_MEM_grow
    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:607,1
    - Dst: IS_WS
      Src: /src/openssl/crypto/conf/conf_def.c:611,1
    - Dst: IS_COMMENT
      Src: /src/openssl/crypto/conf/conf_def.c:618,1
    - Dst: IS_DQUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:622,1
    - Dst: scan_dquote
      Src: /src/openssl/crypto/conf/conf_def.c:623,1
    - Dst: IS_QUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:626,1
    - Dst: scan_quote
      Src: /src/openssl/crypto/conf/conf_def.c:627,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:630,1
    - Dst: scan_esc
      Src: /src/openssl/crypto/conf/conf_def.c:631,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:634,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 639
    functionName: clear_comments
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_EOF
    - IS_DQUOTE
    - IS_WS
    - scan_dquote
    - IS_COMMENT
    - scan_quote
    - IS_QUOTE
    - IS_ESC
    - scan_esc
    - IS_FCOMMENT
    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:647,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/conf/conf_def.c:650,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:650,1
    - Dst: IS_QUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:654,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:657,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:658,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:660,1
    - Dst: IS_DQUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:667,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:670,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:682,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:685,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:696,1
    - Dst: IS_ALNUM
      Src: /src/openssl/crypto/conf/conf_def.c:718,1
    - Dst: IS_DOLLAR
      Src: /src/openssl/crypto/conf/conf_def.c:719,1
    - Dst: IS_ALNUM
      Src: /src/openssl/crypto/conf/conf_def.c:728,1
    - Dst: IS_DOLLAR
      Src: /src/openssl/crypto/conf/conf_def.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:737,1
    - Dst: _CONF_get_string
      Src: /src/openssl/crypto/conf/conf_def.c:752,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:757,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:760,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:762,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/conf/conf_def.c:765,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:766,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:786,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/conf/conf_def.c:789,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 125
    argCount: 4
    argNames:
    - conf
    - section
    - pto
    - from
    argTypes:
    - CONF*
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 791
    functionName: str_copy
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_new
    - IS_EOF
    - IS_DOLLAR
    - OPENSSL_free
    - _CONF_get_string
    - IS_DQUOTE
    - BUF_MEM_grow_clean
    - ERR_raise
    - BUF_MEM_free
    - IS_QUOTE
    - IS_ESC
    - strlen
    - BUF_MEM_grow
    - IS_ALNUM
    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:805,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_def.c:806,1
    - Dst: S_ISDIR
      Src: /src/openssl/crypto/conf/conf_def.c:811,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_def.c:813,1
    - Dst: get_next_file
      Src: /src/openssl/crypto/conf/conf_def.c:818,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - include
    - dirctx
    - dirpath
    argTypes:
    - char*
    - OPENSSL_DIR_CTX**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 825
    functionName: process_include
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - S_ISDIR
    - BIO_new_file
    - get_next_file
    - stat
    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:836,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/crypto/conf/conf_def.c:837,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:840,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:843,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:845,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/conf/conf_def.c:851,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/conf/conf_def.c:863,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/conf/conf_def.c:867,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/conf/conf_def.c:868,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/conf/conf_def.c:870,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:872,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:873,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/crypto/conf/conf_def.c:879,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - path
    - dirctx
    argTypes:
    - char*
    - OPENSSL_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 882
    functionName: get_next_file
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_strlcat
    - OPENSSL_DIR_end
    - BIO_new_file
    - OPENSSL_DIR_read
    - OPENSSL_strcasecmp
    - strlen
    - OPENSSL_strlcpy
    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: 907
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 907
    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:911,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 914
    functionName: eat_ws
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_EOF
    - IS_WS
    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:920,1
    - Dst: IS_WS
      Src: /src/openssl/crypto/conf/conf_def.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - start
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 927
    functionName: trim_ws
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_EOF
    - IS_WS
    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:932,1
    - Dst: scan_esc
      Src: /src/openssl/crypto/conf/conf_def.c:933,1
    - Dst: IS_ALNUM_PUNCT
      Src: /src/openssl/crypto/conf/conf_def.c:936,1
    - Dst: IS_DOLLAR
      Src: /src/openssl/crypto/conf/conf_def.c:937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 941
    functionName: eat_alpha_numeric
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_DOLLAR
    - IS_ALNUM_PUNCT
    - IS_ESC
    - scan_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:948,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:949,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 959
    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:966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 979
    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:984,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/conf/conf_def.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - CONF_VALUE*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 987
    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:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    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:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1000
    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: 1005
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1005
    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:
    - OPENSSL_free
    - lh_CONF_VALUE_insert
    - STACK_OF
    - sk_CONF_VALUE_push
    - sk_CONF_VALUE_delete_ptr
    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:
    - ossl_safe_getenv
    - lh_CONF_VALUE_retrieve
    - strcmp
    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_doall_LH_CONF_VALUE
    - OPENSSL_free
    - lh_CONF_VALUE_free
    - lh_CONF_VALUE_set_down_load
    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:
    - OPENSSL_free
    - sk_CONF_VALUE_free
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    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:
    - OPENSSL_free
    - sk_CONF_VALUE_free
    - lh_CONF_VALUE_insert
    - lh_CONF_VALUE_error
    - STACK_OF
    - strlen
    - memcpy
    - OPENSSL_malloc
    - sk_CONF_VALUE_new_null
    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:
    - ebcdic2ascii
    - MD2_Final
    - OPENSSL_cleanse
    - MD2_Init
    - MD2_Update
    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: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    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:74,1
    - Dst: memset
      Src: /src/openssl/crypto/md2/md2_dgst.c:75,1
    - Dst: memset
      Src: /src/openssl/crypto/md2/md2_dgst.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    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:90,1
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:91,1
    - Dst: memcpy
      Src: /src/openssl/crypto/md2/md2_dgst.c:97,1
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:108,1
    - Dst: memcpy
      Src: /src/openssl/crypto/md2/md2_dgst.c:112,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: 115
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: MD2_Update
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 1
    functionsReached:
    - memcpy
    - md2_block
    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:146,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md2/md2_dgst.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - MD2_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 148
    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:163,1
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:167,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md2/md2_dgst.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - MD2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: MD2_Final
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - md2_block
    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: 47
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 47
    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: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    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: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    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: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    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: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    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: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    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: 0
    functionLinenumber: 29
    functionLinenumberEnd: 195
    functionName: ossl_sm3_block_data_order
    functionSourceFile: /src/openssl/crypto/sm3/sm3.c
    functionUses: 0
    functionsReached:
    - R2
    - EXPAND
    - R1
    - HOST_c2l
    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: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    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: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ossl_hwsm3_block_data_order
    functionSourceFile: /src/openssl/crypto/sm3/sm3_riscv.c
    functionUses: 0
    functionsReached:
    - ossl_hwsm3_block_data_order_zvksh
    - RISCV_HAS_ZVKB_AND_ZVKSH
    - RISCV_HAS_ZBB
    - riscv_vlen
    - ossl_sm3_block_data_order_zbb
    - ossl_sm3_block_data_order
    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:
    - EVP_DecodeBlock
    - OPENSSL_free
    - ERR_raise
    - strlen
    - OPENSSL_malloc
    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_set0_extensions
    - SCT_set_log_entry_type
    - OPENSSL_free
    - SCT_set_timestamp
    - SCT_free
    - ERR_raise
    - SCT_new
    - SCT_set0_log_id
    - SCT_set_version
    - 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:
    - OPENSSL_free
    - ERR_raise
    - EVP_PKEY_free
    - CTLOG_new_ex
    - ct_base64_decode
    - d2i_PUBKEY_ex
    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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    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: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    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: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    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: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    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: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:
    - EVP_PKEY_free
    - OPENSSL_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: 12
    BranchProfiles: []
    Callsites:
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:87,1
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:89,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:104,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:104,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:108,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:109,1
    - Dst: X509_EXTENSION_dup::X509_EXTENSION_dup
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:115,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:117,1
    - Dst: X509_EXTENSION_set_data
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:118,1
    - Dst: preextdata::preextdata
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:118,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:120,1
    - Dst: X509_delete_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:120,1
    - Dst: X509_add_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:122,1
    - Dst: certidx::certidx
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:122,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 2
    argNames:
    - cert
    - presigner
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: ct_x509_cert_fixup
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_get_data
    - certidx::certidx
    - X509_delete_ext
    - X509_EXTENSION_dup::X509_EXTENSION_dup
    - preextdata::preextdata
    - X509_add_ext
    - X509_set_issuer_name
    - X509_get_ext
    - ct_x509_get_ext
    - X509_EXTENSION_free
    - X509_EXTENSION_set_data
    - X509_get_issuer_name
    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:138,1
    - Dst: i2d_X509
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:150,1
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:156,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:181,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:185,1
    - Dst: X509_delete_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:185,1
    - Dst: ct_x509_cert_fixup
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:187,1
    - Dst: i2d_re_X509_tbs
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:190,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:195,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:207,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:208,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:209,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - sctx
    - cert
    - presigner
    argTypes:
    - SCT_CTX*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 211
    functionName: SCT_CTX_set1_cert
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_free
    - ct_x509_cert_fixup
    - X509_delete_ext
    - X509_free
    - OPENSSL_free
    - X509_dup
    - i2d_re_X509_tbs
    - ct_x509_get_ext
    - i2d_X509
    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:220,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:229,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:235,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:243,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:251,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:252,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:253,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: 255
      start: 213
    functionDepth: 10
    functionLinenumber: 213
    functionLinenumberEnd: 255
    functionName: ct_public_key_hash
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - OPENSSL_free
    - i2d_X509_PUBKEY
    - EVP_MD_fetch
    - EVP_MD_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: __owur
    signature: "__owur ct_public_key_hash(SCT_CTX *sctx, const 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:259,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - issuer
    argTypes:
    - SCT_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: SCT_CTX_set1_issuer
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - X509_get_X509_PUBKEY
    - SCT_CTX_set1_issuer_pubkey
    linkageType: ''
    returnType: int
    signature: int SCT_CTX_set1_issuer(SCT_CTX *sctx, X509 *issuer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_public_key_hash
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - pubkey
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 11
    functionLinenumber: 262
    functionLinenumberEnd: 265
    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, const X509_PUBKEY *pubkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:269,1
    - Dst: ct_public_key_hash
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:274,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:275,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sctx
    - pubkey
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 267
    functionDepth: 11
    functionLinenumber: 267
    functionLinenumberEnd: 282
    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: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_time_now
    - ossl_time_add
    - ossl_seconds2time
    - ossl_time2ms
    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:
    - s2n
    - l2n8
    - EVP_DigestUpdate
    - l2n3
    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:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:106,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ct/ct_vfy.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:114,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ct/ct_vfy.c:118,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/crypto/ct/ct_vfy.c:122,1
    - Dst: sct_ctx_update
      Src: /src/openssl/crypto/ct/ct_vfy.c:126,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/crypto/ct/ct_vfy.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:133,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ct/ct_vfy.c:136,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - sctx
    - sct
    argTypes:
    - SCT_CTX*
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 138
    functionName: SCT_CTX_verify
    functionSourceFile: /src/openssl/crypto/ct/ct_vfy.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyFinal
    - ERR_raise
    - SCT_is_complete
    - sct_ctx_update
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcmp
    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: 8
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: timestamp_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_print
    - BIO_snprintf
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_STRING_get0_data
    - ASN1_GENERALIZEDTIME_adj
    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: 9
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: SCT_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - SCT_signature_algorithms_print
    - BIO_printf
    - BIO_hex_string
    - timestamp_print
    - CTLOG_get0_name
    - CTLOG_STORE_get0_log_by_id
    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: 10
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: SCT_LIST_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - sk_SCT_value
    - BIO_printf
    - SCT_print
    - sk_SCT_num
    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:
    - ERR_raise
    - OPENSSL_free
    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_memdup
    - ERR_raise
    - OPENSSL_free
    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: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    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:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - sct
    - nid
    argTypes:
    - SCT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 136
    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:140,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: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    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:148,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_sct.c:154,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: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: SCT_set1_extensions
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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:164,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: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    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:172,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_sct.c:178,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: 184
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: SCT_set1_signature
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    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: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    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: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    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: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    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: 222
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 222
    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: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    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: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    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:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    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:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    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:265,1
    - Dst: SCT_set_log_entry_type
      Src: /src/openssl/crypto/ct/ct_sct.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sct
    - source
    argTypes:
    - SCT*
    - sct_source_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 273
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:296,1
    - Dst: SCT_CTX_new
      Src: /src/openssl/crypto/ct/ct_sct.c:305,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/ct/ct_sct.c:309,1
    - Dst: CTLOG_get0_public_key
      Src: /src/openssl/crypto/ct/ct_sct.c:309,1
    - Dst: SCT_CTX_set1_pubkey
      Src: /src/openssl/crypto/ct/ct_sct.c:311,1
    - Dst: SCT_get_log_entry_type
      Src: /src/openssl/crypto/ct/ct_sct.c:314,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/ct/ct_sct.c:322,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/ct/ct_sct.c:324,1
    - Dst: SCT_CTX_set1_issuer_pubkey
      Src: /src/openssl/crypto/ct/ct_sct.c:326,1
    - Dst: SCT_CTX_set_time
      Src: /src/openssl/crypto/ct/ct_sct.c:330,1
    - Dst: SCT_CTX_set1_cert
      Src: /src/openssl/crypto/ct/ct_sct.c:350,1
    - Dst: SCT_CTX_verify
      Src: /src/openssl/crypto/ct/ct_sct.c:353,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/ct/ct_sct.c:358,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/ct/ct_sct.c:359,1
    - Dst: SCT_CTX_free
      Src: /src/openssl/crypto/ct/ct_sct.c:360,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - sct
    - ctx
    argTypes:
    - SCT*
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 280
    functionDepth: 12
    functionLinenumber: 280
    functionLinenumberEnd: 363
    functionName: SCT_validate
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - SCT_CTX_new
    - SCT_CTX_set1_issuer_pubkey
    - SCT_CTX_set1_cert
    - SCT_CTX_verify
    - X509_PUBKEY_free
    - SCT_CTX_free
    - SCT_CTX_set1_pubkey
    - CTLOG_get0_public_key
    - X509_get0_pubkey
    - X509_PUBKEY_set
    - SCT_CTX_set_time
    - SCT_get_log_entry_type
    - CTLOG_STORE_get0_log_by_id
    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:368,1
    - Dst: sk_SCT_value
      Src: /src/openssl/crypto/ct/ct_sct.c:373,1
    - Dst: SCT_validate
      Src: /src/openssl/crypto/ct/ct_sct.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - scts
    - ctx
    argTypes:
    - STACK_OF*
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 365
    functionDepth: 13
    functionLinenumber: 365
    functionLinenumberEnd: 385
    functionName: SCT_LIST_validate
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - sk_SCT_value
    - SCT_validate
    - sk_SCT_num
    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_Digest
    - OPENSSL_free
    - ERR_raise
    - EVP_MD_fetch
    - EVP_MD_free
    - 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_strdup
    - OPENSSL_zalloc
    - ERR_raise
    - sk_CTLOG_new_null
    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:
    - sk_CTLOG_pop_free
    - OPENSSL_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:
    - CTLOG_new_from_base64_ex
    - ERR_raise
    - NCONF_get_string
    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:
    - sk_CTLOG_push
    - OPENSSL_strndup
    - OPENSSL_free
    - ctlog_new_from_conf
    - ERR_raise
    - CTLOG_free
    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:240,1
    - Dst: NCONF_free
      Src: /src/openssl/crypto/ct/ct_log.c:246,1
    - Dst: ctlog_store_load_ctx_free
      Src: /src/openssl/crypto/ct/ct_log.c:247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - store
    - file
    argTypes:
    - CTLOG_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: CTLOG_STORE_load_file
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached:
    - ctlog_store_load_ctx_new
    - NCONF_load
    - ctlog_store_load_ctx_free
    - ERR_raise
    - NCONF_get_string
    - NCONF_free
    - NCONF_new
    - CONF_parse_list
    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:259,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_log.c:266,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_log.c:271,1
    - Dst: ct_v1_log_id_from_pkey
      Src: /src/openssl/crypto/ct/ct_log.c:275,1
    - Dst: CTLOG_free
      Src: /src/openssl/crypto/ct/ct_log.c:281,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: 283
      start: 256
    functionDepth: 13
    functionLinenumber: 256
    functionLinenumberEnd: 283
    functionName: CTLOG_new_ex
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached:
    - CTLOG_free
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ct_v1_log_id_from_pkey
    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:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - public_key
    - name
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 14
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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:294,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_log.c:295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: CTLOG_free
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_free
    - OPENSSL_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: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    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: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    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: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:321,1
    - Dst: sk_CTLOG_push
      Src: /src/openssl/crypto/ct/ct_log.c:325,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - store
    - log
    argTypes:
    - CTLOG_STORE*
    - CTLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: CTLOG_STORE_add0_log
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - sk_CTLOG_push
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int CTLOG_STORE_add0_log(CTLOG_STORE *store, CTLOG *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_CTLOG_num
      Src: /src/openssl/crypto/ct/ct_log.c:342,1
    - Dst: sk_CTLOG_value
      Src: /src/openssl/crypto/ct/ct_log.c:343,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ct/ct_log.c:344,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: 349
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 349
    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:
    - n2s
    - SCT_get_signature_nid
    - ERR_raise
    - SCT_set1_signature
    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:
    - n2l8
    - OPENSSL_memdup
    - SCT_free
    - ERR_raise
    - SCT_new
    - n2s
    - 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:
    - s2n
    - OPENSSL_free
    - ERR_raise
    - memcpy
    - OPENSSL_malloc
    - SCT_signature_is_complete
    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:
    - s2n
    - i2o_SCT_signature
    - OPENSSL_free
    - l2n8
    - ERR_raise
    - memcpy
    - SCT_is_complete
    - 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:
    - s2n
    - i2o_SCT
    - OPENSSL_free
    - ERR_raise
    - sk_SCT_value
    - sk_SCT_num
    - i2o_SCT_LIST
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2o_SCT_LIST
      Src: /src/openssl/crypto/ct/ct_oct.c:397,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ct/ct_oct.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_oct.c:402,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ct/ct_oct.c:405,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/ct/ct_oct.c:406,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ct/ct_oct.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - STACK_OF*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 409
    functionName: i2d_SCT_LIST
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ASN1_STRING_set0
    - OPENSSL_free
    - i2d_ASN1_OCTET_STRING
    - i2o_SCT_LIST
    - ASN1_OCTET_STRING_new
    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_HTTP_strings
      Src: /src/openssl/crypto/err/err_all.c:86,1
    - Dst: ossl_err_load_OCSP_strings
      Src: /src/openssl/crypto/err/err_all.c:89,1
    - Dst: ossl_err_load_UI_strings
      Src: /src/openssl/crypto/err/err_all.c:91,1
    - Dst: ossl_err_load_CMS_strings
      Src: /src/openssl/crypto/err/err_all.c:93,1
    - Dst: ossl_err_load_CRMF_strings
      Src: /src/openssl/crypto/err/err_all.c:96,1
    - Dst: ossl_err_load_CMP_strings
      Src: /src/openssl/crypto/err/err_all.c:97,1
    - Dst: ossl_err_load_CT_strings
      Src: /src/openssl/crypto/err/err_all.c:100,1
    - Dst: ossl_err_load_ESS_strings
      Src: /src/openssl/crypto/err/err_all.c:102,1
    - Dst: ossl_err_load_ASYNC_strings
      Src: /src/openssl/crypto/err/err_all.c:103,1
    - Dst: ossl_err_load_SM2_strings
      Src: /src/openssl/crypto/err/err_all.c:105,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_RAND_strings
    - ossl_err_load_COMP_strings
    - ossl_err_load_PKCS7_strings
    - ossl_err_load_CRMF_strings
    - ossl_err_load_ESS_strings
    - ossl_err_load_RSA_strings
    - ossl_err_load_EVP_strings
    - ossl_err_load_BIO_strings
    - ossl_err_load_EC_strings
    - ossl_err_load_BN_strings
    - ossl_err_load_OBJ_strings
    - ossl_err_load_PEM_strings
    - ossl_err_load_PROP_strings
    - ossl_err_load_X509_strings
    - ossl_err_load_CONF_strings
    - ossl_err_load_CRYPTO_strings
    - ossl_err_load_HTTP_strings
    - ossl_err_load_ERR_strings
    - ossl_err_load_TS_strings
    - ossl_err_load_DSO_strings
    - ossl_err_load_ASN1_strings
    - ossl_err_load_ASYNC_strings
    - ossl_err_load_PROV_strings
    - ossl_err_load_SM2_strings
    - ossl_err_load_X509V3_strings
    - ossl_err_load_DH_strings
    - ossl_err_load_UI_strings
    - ossl_err_load_CT_strings
    - ossl_err_load_PKCS12_strings
    - ossl_err_load_CMS_strings
    - ossl_err_load_BUF_strings
    - ossl_err_load_DSA_strings
    - ossl_err_load_OSSL_STORE_strings
    - ossl_err_load_CMP_strings
    - ossl_err_load_OCSP_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:18,1
    - Dst: err_get_slot
      Src: /src/openssl/crypto/err/err_blocks.c:23,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_blocks.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 25
    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:31,1
    - Dst: err_set_debug
      Src: /src/openssl/crypto/err/err_blocks.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: ERR_set_debug
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 3
    functionsReached:
    - err_set_debug
    - ossl_err_get_state_int
    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:42,1
    - Dst: ERR_vset_error
      Src: /src/openssl/crypto/err/err_blocks.c:43,1
    - Dst: va_end
      Src: /src/openssl/crypto/err/err_blocks.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: ERR_set_error
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 2
    functionsReached:
    - ERR_vset_error
    - va_end
    - 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:55,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/err/err_blocks.c:82,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/err/err_blocks.c:88,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/err/err_blocks.c:101,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err_blocks.c:111,1
    - Dst: err_set_error
      Src: /src/openssl/crypto/err/err_blocks.c:112,1
    - Dst: err_set_data
      Src: /src/openssl/crypto/err/err_blocks.c:114,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: 115
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 115
    functionName: ERR_vset_error
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 2
    functionsReached:
    - ossl_err_get_state_int
    - BIO_vsnprintf
    - err_set_error
    - err_set_data
    - err_clear_data
    - OPENSSL_realloc
    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:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    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: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    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:186,1
    - Dst: lh_ERR_STRING_DATA_retrieve
      Src: /src/openssl/crypto/err/err.c:188,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: int_err_get_item
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - lh_ERR_STRING_DATA_retrieve
    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:202,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/err/err.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    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:209,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/err/err.c:211,1
    - Dst: lh_ERR_STRING_DATA_new
      Src: /src/openssl/crypto/err/err.c:215,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/err/err.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_lock_new
    - lh_ERR_STRING_DATA_new
    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:228,1
    - Dst: lh_ERR_STRING_DATA_free
      Src: /src/openssl/crypto/err/err.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    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:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    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:253,1
    - Dst: lh_ERR_STRING_DATA_insert
      Src: /src/openssl/crypto/err/err.c:256,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    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:266,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:269,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    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:278,1
    - Dst: err_patch
      Src: /src/openssl/crypto/err/err.c:281,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: ERR_load_strings
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - ossl_err_load_ERR_strings
    - err_patch
    - err_load_strings
    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:291,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: ERR_load_strings_const
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 31
    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:302,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/err/err.c:305,1
    - Dst: lh_ERR_STRING_DATA_delete
      Src: /src/openssl/crypto/err/err.c:312,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: ERR_unload_strings
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    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: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    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:331,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 339
    functionName: ERR_clear_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 8
    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:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    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:350,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: 351
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 351
    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:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 357
    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:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 363
    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:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: ERR_peek_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 7
    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:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    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:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 379
    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:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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:390,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: 391
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 391
    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:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    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:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: ERR_peek_last_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 12
    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:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    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:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    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:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 419
    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:425,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: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    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:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 433
    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:445,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:455,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:462,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err.c:500,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: 511
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 511
    functionName: get_error_values
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 16
    functionsReached:
    - ossl_err_get_state_int
    - err_clear_data
    - err_clear
    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:523,1
    - Dst: ERR_lib_error_string
      Src: /src/openssl/crypto/err/err.c:524,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:526,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/err/err.c:536,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/err/err.c:538,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/err/err.c:539,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/err/err.c:542,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:546,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:551,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:552,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:554,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: 556
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 556
    functionName: ossl_err_string_int
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - ERR_SYSTEM_ERROR
    - BIO_snprintf
    - ERR_lib_error_string
    - ERR_reason_error_string
    - openssl_strerror_r
    - strlen
    - ERR_GET_LIB
    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:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - buf
    - len
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 561
    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:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - e
    - ret
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 4
    functionLinenumber: 567
    functionLinenumberEnd: 575
    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:583,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err.c:587,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:588,1
    - Dst: int_err_get_item
      Src: /src/openssl/crypto/err/err.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: ERR_lib_error_string
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 6
    functionsReached:
    - int_err_get_item
    - RUN_ONCE
    - ERR_GET_LIB
    - ERR_PACK
    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: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    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:609,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/err/err.c:618,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err.c:621,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/err/err.c:622,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:623,1
    - Dst: int_err_get_item
      Src: /src/openssl/crypto/err/err.c:624,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:626,1
    - Dst: int_err_get_item
      Src: /src/openssl/crypto/err/err.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 633
    functionName: ERR_reason_error_string
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 40
    functionsReached:
    - RUN_ONCE
    - ERR_PACK
    - ERR_SYSTEM_ERROR
    - ERR_GET_REASON
    - int_err_get_item
    - ERR_GET_LIB
    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:637,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:643,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/crypto/err/err.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 646
    functionName: err_delete_thread_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - OSSL_ERR_STATE_free
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    linkageType: ''
    returnType: void
    signature: void err_delete_thread_state(void *unused)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/err/err.c:654,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:656,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/err/err.c:659,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:665,1
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/crypto/err/err.c:669,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:671,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/err/err.c:676,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:677,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/crypto/err/err.c:679,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:680,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:686,1
    - Dst: set_sys_error
      Src: /src/openssl/crypto/err/err.c:690,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - save_sys_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 692
    functionName: ossl_err_get_state_int
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 5
    functionsReached:
    - set_sys_error
    - CRYPTO_THREAD_set_local_ex
    - ossl_init_thread_start
    - get_last_sys_error
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_get_local_ex
    - OSSL_ERR_STATE_free
    - OSSL_ERR_STATE_new
    linkageType: ''
    returnType: ERR_STATE
    signature: ERR_STATE *ossl_err_get_state_int(int save_sys_error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/err/err.c:700,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:714,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/err/err.c:717,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:719,1
    - Dst: set_sys_error
      Src: /src/openssl/crypto/err/err.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 725
    functionName: err_shelve_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - set_sys_error
    - CRYPTO_THREAD_set_local_ex
    - get_last_sys_error
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_get_local_ex
    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:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: err_unshelve_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    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:742,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/err/err.c:745,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 750
    functionName: ERR_get_next_error_library
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 2
    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:757,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err.c:761,1
    - Dst: err_set_data
      Src: /src/openssl/crypto/err/err.c:762,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: 765
      start: 752
    functionDepth: 4
    functionLinenumber: 752
    functionLinenumberEnd: 765
    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:783,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 784
    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:789,1
    - Dst: ERR_add_error_vdata
      Src: /src/openssl/crypto/err/err.c:790,1
    - Dst: va_end
      Src: /src/openssl/crypto/err/err.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 792
    functionName: ERR_add_error_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 15
    functionsReached:
    - ERR_add_error_vdata
    - va_end
    - 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:803,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/err/err.c:813,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/err/err.c:826,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:831,1
    - Dst: va_arg
      Src: /src/openssl/crypto/err/err.c:834,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:837,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/err/err.c:842,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err.c:844,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/err/err.c:849,1
    - Dst: err_set_error_data_int
      Src: /src/openssl/crypto/err/err.c:851,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err.c:852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - num
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 794
    functionDepth: 5
    functionLinenumber: 794
    functionLinenumberEnd: 853
    functionName: ERR_add_error_vdata
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - err_set_error_data_int
    - ossl_err_get_state_int
    - OPENSSL_free
    - OPENSSL_strlcat
    - OPENSSL_realloc
    - va_arg
    - strlen
    - ossl_assert
    - OPENSSL_malloc
    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:860,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/err/err.c:870,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/err/err.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - clear
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 873
    functionName: err_clear_last_constant_time
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - constant_time_select_int
    - ossl_err_get_state_int
    - constant_time_eq_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:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: ERR_set_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 72
    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:31,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_mark.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 38
    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:44,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_mark.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 64
    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:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: ERR_count_to_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 11
    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:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 47
    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:21,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/crypto/err/err_prn.c:26,1
    - Dst: ossl_buf2hexstr_sep
      Src: /src/openssl/crypto/err/err_prn.c:34,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err_prn.c:35,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:36,1
    - Dst: ossl_err_string_int
      Src: /src/openssl/crypto/err/err_prn.c:37,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:38,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err_prn.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_prn.c:41,1
    - Dst: cb
      Src: /src/openssl/crypto/err/err_prn.c:42,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - u
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 45
    functionName: ERR_print_errors_cb
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ERR_get_error_all
    - ossl_buf2hexstr_sep
    - BIO_snprintf
    - ossl_err_string_int
    - strlen
    - CRYPTO_THREAD_get_current_id
    - cb
    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:51,1
    - Dst: ERR_set_debug
      Src: /src/openssl/crypto/err/err_prn.c:52,1
    - Dst: ERR_set_error
      Src: /src/openssl/crypto/err/err_prn.c:53,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: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: put_error
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 2
    functionsReached:
    - ERR_set_debug
    - ERR_set_error
    - 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:65,1
    - Dst: put_error
      Src: /src/openssl/crypto/err/err_prn.c:70,1
    - Dst: ERR_peek_last_error_all
      Src: /src/openssl/crypto/err/err_prn.c:79,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:84,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:88,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:91,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:95,1
    - Dst: strstr
      Src: /src/openssl/crypto/err/err_prn.c:107,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:109,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:112,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/err/err_prn.c:121,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/err/err_prn.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_prn.c:125,1
    - Dst: put_error
      Src: /src/openssl/crypto/err/err_prn.c:127,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err_prn.c:127,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/err/err_prn.c:131,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:131,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/err/err_prn.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_prn.c:136,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/err/err_prn.c:138,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - separator
    - txt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 143
    functionName: ERR_add_error_txt
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 1
    functionsReached:
    - put_error
    - OPENSSL_strndup
    - ERR_peek_last_error
    - OPENSSL_free
    - ERR_peek_last_error_all
    - strlen
    - ERR_GET_LIB
    - strstr
    - ERR_add_error_data
    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:149,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/err/err_prn.c:153,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/err/err_prn.c:156,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/err/err_prn.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - separator
    - bio
    argTypes:
    - char*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: ERR_add_error_mem_bio
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - ERR_add_error_txt
    - BIO_get_mem_data
    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:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - bp
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 167
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:177,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/crypto/err/err_prn.c:181,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/err/err_prn.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 6
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: ERR_print_errors_fp
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 1
    functionsReached:
    - ERR_print_errors_cb
    - BIO_free
    - BIO_new_fp
    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:21,1
    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_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:33,1
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_save.c:35,1
    - Dst: memcpy
      Src: /src/openssl/crypto/err/err_save.c:39,1
    - Dst: memset
      Src: /src/openssl/crypto/err/err_save.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: OSSL_ERR_STATE_save
    functionSourceFile: /src/openssl/crypto/err/err_save.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - ossl_err_get_state_int
    - 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:53,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:56,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:73,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 109
    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:119,1
    - Dst: err_get_slot
      Src: /src/openssl/crypto/err/err_save.c:130,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:132,1
    - Dst: err_set_debug
      Src: /src/openssl/crypto/err/err_save.c:137,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/err/err_save.c:144,1
    - Dst: memcpy
      Src: /src/openssl/crypto/err/err_save.c:146,1
    - Dst: err_set_data
      Src: /src/openssl/crypto/err/err_save.c:147,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err_save.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: OSSL_ERR_STATE_restore
    functionSourceFile: /src/openssl/crypto/err/err_save.c
    functionUses: 0
    functionsReached:
    - ossl_err_get_state_int
    - err_set_data
    - err_get_slot
    - err_clear_data
    - memcpy
    - err_set_debug
    - CRYPTO_malloc
    - err_clear
    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: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    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: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    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: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    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:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - es
    - i
    - deall
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    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:65,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: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    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:76,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/err/err_local.h:79,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_local.h:79,1
    - Dst: strcpy
      Src: /src/openssl/crypto/err/err_local.h:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:86,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/err/err_local.h:89,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_local.h:89,1
    - Dst: strcpy
      Src: /src/openssl/crypto/err/err_local.h:92,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: 93
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: err_set_debug
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 2
    functionsReached:
    - strlen
    - CRYPTO_malloc
    - strcpy
    - OPENSSL_free
    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:99,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: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    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:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - es
    - i
    - deall
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: err_clear
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 9
    functionsReached:
    - err_clear_data
    - OPENSSL_free
    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:29,1
    - Dst: TS_STATUS_INFO_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:30,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:32,1
    - Dst: TS_TST_INFO_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:34,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: TS_RESP_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - TS_TST_INFO_print_bio
    - TS_STATUS_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:74,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:75,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:79,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:81,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:82,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:84,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:85,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:85,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:91,1
    - Dst: ts_status_map_print
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:95,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_STATUS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 99
    functionName: TS_STATUS_INFO_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ASN1_INTEGER_get
    - ASN1_STRING_print_ex
    - ts_status_map_print
    - sk_ASN1_UTF8STRING_num
    - OSSL_NELEM
    - sk_ASN1_UTF8STRING_value
    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:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:110,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: 115
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 115
    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:124,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:127,1
    - Dst: TS_OBJ_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:128,1
    - Dst: TS_MSG_IMPRINT_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:130,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:132,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:134,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:136,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:137,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:139,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:140,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:143,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:145,1
    - Dst: ts_ACCURACY_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:147,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:150,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:154,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:156,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:157,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:161,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:163,1
    - Dst: i2v_GENERAL_NAME
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:164,1
    - Dst: X509V3_EXT_val_prn
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:165,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:166,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:168,1
    - Dst: TS_ext_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 173
    functionName: TS_TST_INFO_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - ASN1_INTEGER_get
    - TS_ext_print_bio
    - TS_OBJ_print_bio
    - TS_MSG_IMPRINT_print_bio
    - sk_CONF_VALUE_pop_free
    - BIO_write
    - ASN1_GENERALIZEDTIME_print
    - i2v_GENERAL_NAME
    - X509V3_EXT_val_prn
    - TS_ASN1_INTEGER_print_bio
    - STACK_OF
    - ts_ACCURACY_print_bio
    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:178,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:181,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:183,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:185,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:186,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:188,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:190,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_ACCURACY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 194
    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:
    - ASN1_INTEGER_to_BN
    - OPENSSL_free
    - BIO_write
    - BN_free
    - strlen
    - BN_bn2hex
    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:
    - BIO_printf
    - OBJ_obj2txt
    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_printf
    - X509_EXTENSION_get_object
    - i2a_ASN1_OBJECT
    - X509_EXTENSION_get_data
    - BIO_write
    - X509_EXTENSION_get_critical
    - X509v3_get_ext_count
    - X509v3_get_ext
    - ASN1_STRING_print
    - X509V3_EXT_print
    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:
    - BIO_printf
    - BIO_dump_indent
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - TS_X509_ALGOR_print_bio
    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:
    - PKCS7_to_TS_TST_INFO
    - ASN1_INTEGER_get
    - ERR_raise
    - TS_TST_INFO_free
    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_resp_set_tst_info
    - TS_TST_INFO_free
    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: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ts/ts_asn1.c:232,1
    - Dst: d2i_TS_TST_INFO
      Src: /src/openssl/crypto/ts/ts_asn1.c:233,1
    - Dst: ASN1_STRING_length
      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:
    - PKCS7_type_is_signed
    - PKCS7_get_detached
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - d2i_TS_TST_INFO
    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:49,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/ts/ts_conf.c:51,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/openssl/crypto/ts/ts_conf.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_conf.c:57,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ts/ts_conf.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: TS_CONF_load_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - PEM_read_bio_X509_AUX
    - ERR_raise
    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:105,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/ts/ts_conf.c:107,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/crypto/ts/ts_conf.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_conf.c:113,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ts/ts_conf.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - file
    - pass
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: TS_CONF_load_key
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - PEM_read_bio_PrivateKey
    - ERR_raise
    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:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - tag
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    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: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_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:133,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    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:144,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:146,1
    - Dst: TS_RESP_CTX_set_serial_cb
      Src: /src/openssl/crypto/ts/ts_conf.c:149,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: 154
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: TS_CONF_set_serial
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_lookup_fail
    - NCONF_get_string
    - TS_RESP_CTX_set_serial_cb
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb
      cb,\n    TS_RESP_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:163,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:165,1
    - Dst: TS_CONF_load_cert
      Src: /src/openssl/crypto/ts/ts_conf.c:169,1
    - Dst: TS_RESP_CTX_set_signer_cert
      Src: /src/openssl/crypto/ts/ts_conf.c:171,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_conf.c:176,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: 178
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: TS_CONF_set_signer_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_signer_cert
    - TS_CONF_load_cert
    - X509_free
    - ts_CONF_lookup_fail
    - NCONF_get_string
    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:184,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:188,1
    - Dst: TS_CONF_load_certs
      Src: /src/openssl/crypto/ts/ts_conf.c:191,1
    - Dst: TS_RESP_CTX_set_certs
      Src: /src/openssl/crypto/ts/ts_conf.c:193,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ts/ts_conf.c:198,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: 200
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: TS_CONF_set_certs
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - OSSL_STACK_OF_X509_free
    - NCONF_get_string
    - TS_CONF_load_certs
    - STACK_OF
    - 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:209,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:211,1
    - Dst: TS_CONF_load_key
      Src: /src/openssl/crypto/ts/ts_conf.c:214,1
    - Dst: TS_RESP_CTX_set_signer_key
      Src: /src/openssl/crypto/ts/ts_conf.c:216,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ts/ts_conf.c:221,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: 223
      start: 202
    functionDepth: 7
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: TS_CONF_set_signer_key
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_lookup_fail
    - NCONF_get_string
    - TS_RESP_CTX_set_signer_key
    - EVP_PKEY_free
    - TS_CONF_load_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:231,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:233,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ts/ts_conf.c:236,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:238,1
    - Dst: TS_RESP_CTX_set_signer_digest
      Src: /src/openssl/crypto/ts/ts_conf.c:241,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: 247
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 247
    functionName: TS_CONF_set_signer_digest
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - EVP_get_digestbyname
    - ts_CONF_lookup_fail
    - NCONF_get_string
    - TS_RESP_CTX_set_signer_digest
    - ts_CONF_invalid
    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:256,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:258,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/ts/ts_conf.c:261,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:262,1
    - Dst: TS_RESP_CTX_set_def_policy
      Src: /src/openssl/crypto/ts/ts_conf.c:265,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_conf.c:270,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: 272
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 272
    functionName: TS_CONF_set_def_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_def_policy
    - ts_CONF_lookup_fail
    - NCONF_get_string
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    - ts_CONF_invalid
    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:278,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:279,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/ts/ts_conf.c:282,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:283,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:286,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/ts/ts_conf.c:287,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/ts/ts_conf.c:291,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:292,1
    - Dst: TS_RESP_CTX_add_policy
      Src: /src/openssl/crypto/ts/ts_conf.c:295,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_conf.c:296,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_conf.c:299,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_conf.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 306
    functionName: TS_CONF_set_policies
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    - TS_RESP_CTX_add_policy
    - NCONF_get_string
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - OBJ_txt2obj
    - STACK_OF
    - ASN1_OBJECT_free
    - ts_CONF_invalid
    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:312,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:313,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:316,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/ts/ts_conf.c:319,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:320,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:323,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:324,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:327,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/ts/ts_conf.c:328,1
    - Dst: EVP_get_digestbyname
      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: TS_RESP_CTX_add_md
      Src: /src/openssl/crypto/ts/ts_conf.c:336,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_conf.c:342,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 344
    functionName: TS_CONF_set_digests
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    - EVP_get_digestbyname
    - ts_CONF_lookup_fail
    - NCONF_get_string
    - TS_RESP_CTX_add_md
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - ts_CONF_invalid
    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:351,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:352,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/ts/ts_conf.c:354,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:355,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:358,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/ts/ts_conf.c:359,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:360,1
    - Dst: atoi
      Src: /src/openssl/crypto/ts/ts_conf.c:362,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:363,1
    - Dst: atoi
      Src: /src/openssl/crypto/ts/ts_conf.c:365,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:366,1
    - Dst: atoi
      Src: /src/openssl/crypto/ts/ts_conf.c:368,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:370,1
    - Dst: TS_RESP_CTX_set_accuracy
      Src: /src/openssl/crypto/ts/ts_conf.c:374,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_conf.c:379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 381
    functionName: TS_CONF_set_accuracy
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - TS_RESP_CTX_set_accuracy
    - sk_CONF_VALUE_pop_free
    - NCONF_get_string
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - atoi
    - STACK_OF
    - ts_CONF_invalid
    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:392,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:394,1
    - Dst: TS_RESP_CTX_set_clock_precision_digits
      Src: /src/openssl/crypto/ts/ts_conf.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 404
    functionName: TS_CONF_set_clock_precision_digits
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_clock_precision_digits
    - _CONF_get_number
    - ts_CONF_invalid
    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:409,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:412,1
    - Dst: TS_RESP_CTX_add_flags
      Src: /src/openssl/crypto/ts/ts_conf.c:413,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:414,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:415,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: 421
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: ts_CONF_add_flag
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TS_RESP_CTX_add_flags
    - ts_CONF_invalid
    - NCONF_get_string
    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:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 426
    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:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 431
    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:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 438
    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:445,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ts/ts_conf.c:450,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:452,1
    - Dst: TS_RESP_CTX_set_ess_cert_id_digest
      Src: /src/openssl/crypto/ts/ts_conf.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 462
    functionName: TS_CONF_set_ess_cert_id_digest
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_ess_cert_id_digest
    - EVP_get_digestbyname
    - ts_CONF_invalid
    - NCONF_get_string
    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:
    - memset
    - OPENSSL_assert
    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: 5
    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: 5
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: TS_VERIFY_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 1
    functionsReached:
    - X509_STORE_free
    - OPENSSL_free
    - OSSL_STACK_OF_X509_free
    - GENERAL_NAME_free
    - ASN1_INTEGER_free
    - BIO_free_all
    - ASN1_OBJECT_free
    - TS_VERIFY_CTX_init
    - X509_ALGOR_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: 6
    functionLinenumber: 137
    functionLinenumberEnd: 185
    functionName: TS_REQ_to_TS_VERIFY_CTX
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_dup
    - TS_VERIFY_CTX_cleanup
    - TS_VERIFY_CTX_new
    - ASN1_STRING_length
    - X509_ALGOR_dup
    - memcpy
    - ASN1_STRING_get0_data
    - TS_VERIFY_CTX_free
    - OBJ_dup
    - OPENSSL_assert
    - 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:45,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:54,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:55,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - struct TS_resp_ctx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: def_serial_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - TS_RESP_CTX_set_status_info
    - ASN1_INTEGER_free
    - ERR_raise
    - ASN1_INTEGER_set
    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:67,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:69,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:70,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:72,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:75,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: 80
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: def_time_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - ossl_time_is_zero
    - ERR_raise
    - TS_RESP_CTX_add_failure_info
    - ossl_time_now
    - ossl_time_to_timeval
    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:85,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:87,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: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: def_extension_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_add_failure_info
    - TS_RESP_CTX_set_status_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:97,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: TS_RESP_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:125,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:126,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:127,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:128,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:129,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:130,1
    - Dst: sk_EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:131,1
    - Dst: ASN1_INTEGER_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: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: TS_RESP_CTX_free
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_free
    - OSSL_STACK_OF_X509_free
    - sk_ASN1_OBJECT_pop_free
    - ASN1_INTEGER_free
    - sk_EVP_MD_free
    - EVP_PKEY_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:140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:141,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:144,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - signer
    argTypes:
    - TS_RESP_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: TS_RESP_CTX_set_signer_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - X509_free
    - ERR_raise
    - X509_check_purpose
    - 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:155,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - TS_RESP_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 162
    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: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    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:172,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - def_policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    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:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:195,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:199,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:203,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: TS_RESP_CTX_add_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - sk_ASN1_OBJECT_new_null
    - sk_ASN1_OBJECT_push
    - ASN1_OBJECT_free
    - OBJ_dup
    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:216,1
    - Dst: sk_EVP_MD_push
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: TS_RESP_CTX_add_md
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - sk_EVP_MD_push
    - ERR_raise
    - sk_EVP_MD_new_null
    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: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    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:239,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:241,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:242,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:245,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:246,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:249,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:250,1
    - Dst: TS_RESP_CTX_accuracy_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:256,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: 258
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: TS_RESP_CTX_set_accuracy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - TS_RESP_CTX_accuracy_free
    - ASN1_INTEGER_new
    - ERR_raise
    - ASN1_INTEGER_set
    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: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    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: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    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: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    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: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    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:291,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:292,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:296,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:300,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:301,1
    - Dst: strlen
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:302,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:307,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:311,1
    - Dst: TS_RESP_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:317,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:322,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:323,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - status
    - text
    argTypes:
    - TS_RESP_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 325
    functionName: TS_RESP_CTX_set_status_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 3
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ASN1_STRING_set
    - TS_RESP_set_status_info
    - ERR_raise
    - TS_STATUS_INFO_new
    - sk_ASN1_UTF8STRING_push
    - TS_STATUS_INFO_free
    - ASN1_UTF8STRING_new
    - strlen
    - ASN1_INTEGER_set
    - 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:333,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - status
    - text
    argTypes:
    - TS_RESP_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 337
    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:343,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - failure
    argTypes:
    - TS_RESP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 351
    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: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    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: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    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: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    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:379,1
    - Dst: TS_RESP_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:382,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:385,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:386,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:388,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:391,1
    - Dst: ts_RESP_check_request
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:393,1
    - Dst: ts_RESP_get_policy
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:395,1
    - Dst: ts_RESP_create_tst_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:397,1
    - Dst: ts_RESP_process_extensions
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:399,1
    - Dst: ts_RESP_sign
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:407,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:409,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: 373
    functionDepth: 7
    functionLinenumber: 373
    functionLinenumberEnd: 423
    functionName: TS_RESP_create_response
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - d2i_TS_REQ_bio
    - ts_RESP_process_extensions
    - ts_RESP_sign
    - TS_RESP_CTX_set_status_info
    - TS_RESP_CTX_set_status_info_cond
    - TS_RESP_free
    - ERR_raise
    - ts_RESP_create_tst_info
    - ts_RESP_check_request
    - ts_RESP_CTX_init
    - TS_RESP_CTX_add_failure_info
    - ts_RESP_get_policy
    - TS_RESP_new
    - ts_RESP_CTX_cleanup
    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_RESP_free
    - TS_TST_INFO_free
    - TS_REQ_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: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:490,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:
    - sk_EVP_MD_num
    - TS_RESP_CTX_set_status_info
    - EVP_MD_is_a
    - EVP_MD_get_size
    - TS_RESP_CTX_add_failure_info
    - ASN1_STRING_length
    - sk_EVP_MD_value
    - TS_REQ_get_version
    - OBJ_obj2txt
    - 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:525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 501
    functionDepth: 6
    functionLinenumber: 501
    functionLinenumberEnd: 528
    functionName: ts_RESP_get_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - TS_RESP_CTX_set_status_info
    - ERR_raise
    - TS_RESP_CTX_add_failure_info
    - sk_ASN1_OBJECT_num
    - sk_ASN1_OBJECT_value
    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:543,1
    - Dst: TS_TST_INFO_set_version
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:545,1
    - Dst: TS_TST_INFO_set_policy_id
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:547,1
    - Dst: TS_TST_INFO_set_msg_imprint
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:549,1
    - Dst: TS_RESP_CTX*::serial_cb
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:551,1
    - Dst: TS_TST_INFO_set_serial
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:552,1
    - Dst: TS_RESP_CTX*::time_cb
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:554,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:558,1
    - Dst: TS_ACCURACY_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:562,1
    - Dst: TS_ACCURACY_set_seconds
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:564,1
    - Dst: TS_ACCURACY_set_millis
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:566,1
    - Dst: TS_ACCURACY_set_micros
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:568,1
    - Dst: TS_TST_INFO_set_accuracy
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:570,1
    - Dst: TS_TST_INFO_set_ordering
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:574,1
    - Dst: TS_TST_INFO_set_nonce
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:578,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:582,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: 531
    functionDepth: 7
    functionLinenumber: 531
    functionLinenumberEnd: 608
    functionName: ts_RESP_create_tst_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - TS_TST_INFO_set_time
    - TS_ACCURACY_set_millis
    - TS_TST_INFO_new
    - GENERAL_NAME_free
    - TS_RESP_CTX_set_status_info_cond
    - TS_TST_INFO_set_version
    - X509_NAME_dup
    - TS_ACCURACY_new
    - TS_TST_INFO_set_accuracy
    - TS_RESP_set_genTime_with_precision
    - TS_TST_INFO_set_tsa
    - TS_ACCURACY_free
    - TS_ACCURACY_set_seconds
    - TS_TST_INFO_free
    - ERR_raise
    - X509_get_subject_name
    - TS_TST_INFO_set_serial
    - TS_ACCURACY_set_micros
    - ASN1_GENERALIZEDTIME_free
    - GENERAL_NAME_new
    - TS_RESP_CTX*::serial_cb
    - TS_TST_INFO_set_policy_id
    - TS_RESP_CTX*::time_cb
    - TS_TST_INFO_set_msg_imprint
    - ASN1_INTEGER_free
    - TS_TST_INFO_set_nonce
    - TS_TST_INFO_set_ordering
    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
    - sk_X509_EXTENSION_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int ts_RESP_process_extensions(TS_RESP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:639,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:642,1
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:647,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:648,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:648,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:649,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:650,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:654,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:655,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ESS_SIGNING_CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 661
    functionName: ossl_ess_add1_signing_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_free
    - PKCS7_add_signed_attribute
    - i2d_ESS_SIGNING_CERT
    - ASN1_STRING_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_ess_add1_signing_cert(PKCS7_SIGNER_INFO *si,\n    const ESS_SIGNING_CERT
      *sc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:670,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:673,1
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:678,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:679,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:679,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:680,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:681,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:685,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:686,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ESS_SIGNING_CERT_V2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 692
    functionName: ossl_ess_add1_signing_cert_v2
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OPENSSL_free
    - i2d_ESS_SIGNING_CERT_V2
    - PKCS7_add_signed_attribute
    - ASN1_STRING_new
    - 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:699,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:707,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:708,1
    - Dst: PKCS7_new_ex
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:713,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:716,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:718,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:722,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:724,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:725,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:726,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:732,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:733,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:734,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:734,1
    - Dst: PKCS7_add_signature
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:739,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:742,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:746,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:749,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:755,1
    - Dst: OSSL_ESS_signing_cert_new_init
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:756,1
    - Dst: ossl_ess_add1_signing_cert
      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: OSSL_ESS_signing_cert_v2_new_init
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:766,1
    - Dst: ossl_ess_add1_signing_cert_v2
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:771,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:772,1
    - Dst: ts_TST_INFO_content_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:777,1
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:779,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:780,1
    - Dst: i2d_TS_TST_INFO_bio
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:783,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:784,1
    - Dst: PKCS7_dataFinal
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:787,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:788,1
    - Dst: TS_RESP_set_tst_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:791,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:798,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:801,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:804,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:805,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:806,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:807,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 694
    functionDepth: 10
    functionLinenumber: 694
    functionLinenumberEnd: 809
    functionName: ts_RESP_sign
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - ESS_SIGNING_CERT_free
    - EVP_MD_get0_provider
    - TS_RESP_CTX_set_status_info_cond
    - ossl_ess_add1_signing_cert
    - PKCS7_add_signed_attribute
    - sk_X509_num
    - TS_RESP_set_tst_info
    - ts_TST_INFO_content_new
    - OSSL_ESS_signing_cert_new_init
    - OBJ_nid2obj
    - PKCS7_dataInit
    - PKCS7_dataFinal
    - ERR_raise
    - EVP_MD_get0_name
    - OSSL_ESS_signing_cert_v2_new_init
    - i2d_TS_TST_INFO_bio
    - STACK_OF
    - PKCS7_free
    - PKCS7_add_certificate
    - EVP_MD_is_a
    - EVP_MD_fetch
    - ossl_ess_add1_signing_cert_v2
    - EVP_MD_free
    - PKCS7_new_ex
    - ASN1_INTEGER_set
    - PKCS7_set_type
    - BIO_free_all
    - X509_check_private_key
    - PKCS7_add_signature
    - sk_X509_value
    - ESS_SIGNING_CERT_V2_free
    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:817,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:819,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:821,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:822,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:824,1
    - Dst: PKCS7_set_content
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:828,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:833,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 836
    functionName: ts_TST_INFO_content_new
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - PKCS7_new
    - ASN1_TYPE_new
    - PKCS7_set_content
    - PKCS7_free
    - ASN1_OCTET_STRING_new
    - ASN1_TYPE_set
    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:851,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:861,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:866,1
    - Dst: strlen
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:867,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:893,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:895,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:896,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:902,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: 904
      start: 838
    functionDepth: 8
    functionLinenumber: 838
    functionLinenumberEnd: 904
    functionName: TS_RESP_set_genTime_with_precision
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - OPENSSL_gmtime
    - ASN1_GENERALIZEDTIME_new
    - BIO_snprintf
    - ERR_raise
    - ASN1_GENERALIZEDTIME_set_string
    - strlen
    - ASN1_GENERALIZEDTIME_free
    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: 910
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 910
    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: 5
    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_dup
    - TS_MSG_IMPRINT_free
    - ERR_raise
    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_free
    - X509_ALGOR_dup
    - 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_dup
    - ASN1_INTEGER_free
    - 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_extension
      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_extension
    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_free
    - TS_STATUS_INFO_dup
    - 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: 5
    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_dup
    - TS_MSG_IMPRINT_free
    - ERR_raise
    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_dup
    - ASN1_INTEGER_free
    - 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_STRING_dup
    - ASN1_GENERALIZEDTIME_free
    - 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
    - ERR_raise
    - TS_ACCURACY_dup
    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_dup
    - ASN1_INTEGER_free
    - 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_dup
    - ASN1_INTEGER_free
    - 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_dup
    - ASN1_INTEGER_free
    - 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_dup
    - ASN1_INTEGER_free
    - 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
    - GENERAL_NAME_dup
    - ERR_raise
    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_extension
      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_extension
    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: 5
    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_printf
    - TS_ext_print_bio
    - TS_OBJ_print_bio
    - TS_REQ_get_policy_id
    - TS_MSG_IMPRINT_print_bio
    - BIO_write
    - TS_ASN1_INTEGER_print_bio
    - TS_REQ_get_version
    linkageType: ''
    returnType: int
    signature: int TS_REQ_print_bio(BIO *bio, TS_REQ *a)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:90,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:92,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:93,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:102,1
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:106,1
    - Dst: PKCS7_get_signer_info
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:109,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:111,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:114,1
    - Dst: PKCS7_get_detached
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:116,1
    - Dst: PKCS7_get0_signers
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:124,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:125,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:127,1
    - Dst: sk_X509_new_reserve
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:129,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:129,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:129,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:131,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:132,1
    - Dst: ts_verify_cert
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:134,1
    - Dst: ts_check_signing_certs
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:136,1
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:138,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:141,1
    - Dst: PKCS7_signatureVerify
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:146,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:151,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:159,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:160,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:161,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:162,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 4
    argNames:
    - token
    - certs
    - store
    - signer_out
    argTypes:
    - PKCS7*
    - STACK_OF*
    - X509_STORE*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 165
    functionName: TS_RESP_verify_signature
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - PKCS7_type_is_signed
    - sk_X509_new_reserve
    - sk_X509_num
    - PKCS7_get_signer_info
    - PKCS7_dataInit
    - BIO_read
    - PKCS7_get_detached
    - ERR_raise
    - ts_check_signing_certs
    - STACK_OF
    - ts_verify_cert
    - X509_add_certs
    - X509_up_ref
    - PKCS7_get0_signers
    - PKCS7_signatureVerify
    - OSSL_STACK_OF_X509_free
    - BIO_free_all
    - sk_X509_free
    - sk_X509_value
    - sk_PKCS7_SIGNER_INFO_num
    linkageType: ''
    returnType: int
    signature: "int TS_RESP_verify_signature(PKCS7 *token, const STACK_OF(X509) *certs,\n
      \   X509_STORE *store, X509 **signer_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:211,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:214,1
    - Dst: d2i_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:215,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: ossl_ess_get_signing_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - 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:223,1
    - Dst: ASN1_STRING_get0_data
      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:227,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: ossl_ess_get_signing_cert_v2
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - 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:233,1
    - Dst: ossl_ess_get_signing_cert_v2
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:234,1
    - Dst: OSSL_ESS_check_signing_certs
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:235,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:237,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - PKCS7_SIGNER_INFO*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 13
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: ts_check_signing_certs
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - ESS_SIGNING_CERT_free
    - ossl_ess_get_signing_cert
    - ossl_ess_get_signing_cert_v2
    - ESS_SIGNING_CERT_V2_free
    - OSSL_ESS_check_signing_certs
    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:254,1
    - Dst: int_ts_RESP_verify_token
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - response
    argTypes:
    - TS_VERIFY_CTX*
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 262
    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:270,1
    - Dst: int_ts_RESP_verify_token
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:273,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - token
    argTypes:
    - TS_VERIFY_CTX*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: TS_RESP_verify_token
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - PKCS7_to_TS_TST_INFO
    - TS_TST_INFO_free
    - int_ts_RESP_verify_token
    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:309,1
    - Dst: TS_TST_INFO_get_version
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:313,1
    - Dst: ts_check_policy
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:317,1
    - Dst: ts_check_imprints
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:320,1
    - Dst: ts_compute_imprint
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:324,1
    - Dst: ts_check_imprints
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:326,1
    - Dst: ts_check_nonces
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:329,1
    - Dst: ts_check_signer_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:333,1
    - Dst: ts_check_signer_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:338,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:344,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:346,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: 348
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 348
    functionName: int_ts_RESP_verify_token
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 2
    functionsReached:
    - ts_check_imprints
    - ts_compute_imprint
    - OPENSSL_free
    - TS_RESP_verify_signature
    - X509_free
    - ts_check_policy
    - ERR_raise
    - X509_ALGOR_free
    - ts_check_nonces
    - TS_TST_INFO_get_version
    - ts_check_signer_name
    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:353,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:362,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:367,1
    - Dst: ts_get_status_text
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:368,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:375,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:376,1
    - Dst: strcat
      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: strcpy
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:387,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:389,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - response
    argTypes:
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 397
    functionName: ts_check_status_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_get
    - strcat
    - ERR_raise_data
    - OPENSSL_free
    - sk_ASN1_UTF8STRING_num
    - ASN1_BIT_STRING_get_bit
    - OSSL_NELEM
    - strcpy
    - ts_get_status_text
    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:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 402
    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:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:410,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: 415
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 415
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:432,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:435,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:437,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:442,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:446,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:451,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:454,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:456,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:458,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:459,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:462,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:464,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:468,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:469,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:472,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    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: 476
      start: 417
    functionDepth: 10
    functionLinenumber: 417
    functionLinenumberEnd: 476
    functionName: ts_compute_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BIO_read
    - EVP_DigestFinal
    - EVP_MD_get_size
    - ERR_raise
    - EVP_MD_fetch
    - X509_ALGOR_dup
    - EVP_MD_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - X509_ALGOR_free
    - OBJ_obj2txt
    - OPENSSL_malloc
    - EVP_DigestInit
    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:487,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:492,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:494,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:498,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:498,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:498,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:501,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: 503
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 503
    functionName: ts_check_imprints
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - ERR_raise
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - memcmp
    - 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:510,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - tst_info
    argTypes:
    - ASN1_INTEGER*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 521
    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:529,1
    - Dst: X509_name_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:534,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:534,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:536,1
    - Dst: ts_find_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:538,1
    - Dst: GENERAL_NAMES_free
      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:546,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - tsa_name
    - signer
    argTypes:
    - GENERAL_NAME*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 551
    functionName: ts_check_signer_name
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - X509_get_ext_d2i
    - STACK_OF
    - X509_get_subject_name
    - GENERAL_NAMES_free
    - X509_name_cmp
    - 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: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sk
    - c
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_compfunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_STACK*::free_thunk
      Src: /src/openssl/crypto/stack/stack.c:56,1
    - Dst: free_func
      Src: /src/openssl/crypto/stack/stack.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sk
    - free_func
    - data
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_freefunc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: free_with_thunk
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - free_func
    - OPENSSL_STACK*::free_thunk
    linkageType: ''
    returnType: void
    signature: void free_with_thunk(OPENSSL_STACK *sk, OPENSSL_sk_freefunc free_func,
      const void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_new_null
      Src: /src/openssl/crypto/stack/stack.c:68,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/stack/stack.c:83,1
    - Dst: memcpy
      Src: /src/openssl/crypto/stack/stack.c:87,1
    - Dst: OPENSSL_STACK*::copy_thunk
      Src: /src/openssl/crypto/stack/stack.c:93,1
    - Dst: copy_func
      Src: /src/openssl/crypto/stack/stack.c:95,1
    - Dst: free_with_thunk
      Src: /src/openssl/crypto/stack/stack.c:99,1
    - Dst: OPENSSL_sk_free
      Src: /src/openssl/crypto/stack/stack.c:109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - sk
    - copy_func
    - free_func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_copyfunc
    - OPENSSL_sk_freefunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 111
    functionName: internal_copy
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - free_with_thunk
    - OPENSSL_STACK*::copy_thunk
    - copy_func
    - OPENSSL_sk_new_null
    - OPENSSL_sk_free
    - OPENSSL_calloc
    - memcpy
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: "OPENSSL_STACK *internal_copy(const OPENSSL_STACK *sk,\n    OPENSSL_sk_copyfunc
      copy_func,\n    OPENSSL_sk_freefunc free_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_copy
      Src: /src/openssl/crypto/stack/stack.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sk
    - copy_func
    - free_func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_copyfunc
    - OPENSSL_sk_freefunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: OPENSSL_sk_deep_copy
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_copy
    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: internal_copy
      Src: /src/openssl/crypto/stack/stack.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sk
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: OPENSSL_sk_dup
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_copy
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/openssl/crypto/stack/stack.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: OPENSSL_sk_new_null
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 1
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - OPENSSL_sk_compfunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    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:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    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:179,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/stack/stack.c:194,1
    - Dst: compute_growth
      Src: /src/openssl/crypto/stack/stack.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:205,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/crypto/stack/stack.c:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - st
    - n
    - exact
    argTypes:
    - OPENSSL_STACK*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 219
    functionName: sk_reserve
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc_array
    - OPENSSL_calloc
    - ERR_raise
    - compute_growth
    linkageType: ''
    returnType: int
    signature: int sk_reserve(OPENSSL_STACK *st, int n, int exact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_STACK*::comp
      Src: /src/openssl/crypto/stack/stack.c:223,1
    - Dst: OPENSSL_STACK*::cmp_thunk
      Src: /src/openssl/crypto/stack/stack.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - a
    - b
    argTypes:
    - OPENSSL_STACK*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: cmp_with_thunk
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_STACK*::comp
    - OPENSSL_STACK*::cmp_thunk
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline cmp_with_thunk(const OPENSSL_STACK *st, const void *a,
      const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/stack/stack.c:228,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: 12
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - OPENSSL_sk_compfunc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: OPENSSL_sk_new_reserve
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - sk_reserve
    - OPENSSL_sk_free
    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:
    - sk_reserve
    - ERR_raise
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: OPENSSL_sk_set_cmp_thunks
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_set_cmp_thunks(OPENSSL_STACK *st, int (*c_thunk)(int
      (*)(const void *, const void *), const void *, const void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - cp_thunk
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_copyfunc_thunk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: OPENSSL_sk_set_copy_thunks
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_set_copy_thunks(OPENSSL_STACK *st, OPENSSL_sk_copyfunc_thunk
      cp_thunk)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:292,1
    - Dst: sk_reserve
      Src: /src/openssl/crypto/stack/stack.c:296,1
    - Dst: memmove
      Src: /src/openssl/crypto/stack/stack.c:303,1
    - Dst: cmp_with_thunk
      Src: /src/openssl/crypto/stack/stack.c:311,1
    - Dst: cmp_with_thunk
      Src: /src/openssl/crypto/stack/stack.c:316,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - st
    - data
    - loc
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 325
    functionName: OPENSSL_sk_insert
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - memmove
    - sk_reserve
    - cmp_with_thunk
    - ERR_raise
    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:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - OPENSSL_STACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 338
    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:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - st
    - p
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 351
    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:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - OPENSSL_STACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    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: cmp_with_thunk
      Src: /src/openssl/crypto/stack/stack.c:392,1
    - Dst: ossl_bsearch
      Src: /src/openssl/crypto/stack/stack.c:409,1
    - Dst: cmp_with_thunk
      Src: /src/openssl/crypto/stack/stack.c:418,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - st
    - data
    - ret_val_options
    - pnum_matched
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 428
    functionName: internal_find
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - ossl_bsearch
    - cmp_with_thunk
    linkageType: ''
    returnType: int
    signature: "int internal_find(const 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:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: OPENSSL_sk_find
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_find(const OPENSSL_STACK *st, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/openssl/crypto/stack/stack.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 438
    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(const OPENSSL_STACK *st, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/openssl/crypto/stack/stack.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - data
    - pnum
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 443
    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(const OPENSSL_STACK *st, const void *data,
      int *pnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_insert
      Src: /src/openssl/crypto/stack/stack.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 450
    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:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 455
    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:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 462
    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:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 469
    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:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_with_thunk
      Src: /src/openssl/crypto/stack/stack.c:487,1
    - Dst: OPENSSL_sk_free
      Src: /src/openssl/crypto/stack/stack.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_freefunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 490
    functionName: OPENSSL_sk_pop_free
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - free_with_thunk
    - OPENSSL_sk_free
    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:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/stack/stack.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: OPENSSL_sk_free
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 3
    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: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    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: 510
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 510
    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:515,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/stack/stack.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - st
    - i
    - data
    argTypes:
    - OPENSSL_STACK*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 526
    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:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    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: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    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_remaining
    - PACKET_get_net_4_len_u32
    - PACKET_get_bytes
    - HASH_NOT_MATCHED
    - ossl_lms_sig_new
    - ossl_lms_sig_free
    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:
    - PACKET_remaining
    - ossl_lms_sig_from_pkt
    - PACKET_buf_init
    - ossl_lms_sig_free
    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: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    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: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    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: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: ossl_lms_key_get_pub
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ossl_lms_key_get_pub(const LMS_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ossl_lms_key_get_pub_len
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_lms_key_get_pub_len(const LMS_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ossl_lms_key_get_collision_strength_bits
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_lms_key_get_collision_strength_bits(const LMS_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: ossl_lms_key_get_sig_len
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_lms_key_get_sig_len(const LMS_KEY *key)
  - 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:
    - OPENSSL_store_u16_be
    - EVP_MD_CTX_copy_ex
    - lm_ots_compute_pubkey_final
    - EVP_DigestUpdate
    - OPENSSL_store_u32_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:
    - EVP_MD_CTX_create
    - OPENSSL_store_u16_be
    - INC16
    - EVP_DigestFinal
    - ossl_lm_ots_params_checksum
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_free
    - lms_ots_coef
    - EVP_DigestUpdate
    - memcpy
    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:49,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/lms/lms_verify.c:63,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:70,1
    - Dst: EVP_DigestUpdate
      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:76,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:80,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:81,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:88,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: 95
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 95
    functionName: lms_sig_compute_tc_from_path
    functionSourceFile: /src/openssl/crypto/lms/lms_verify.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u16_be
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_copy_ex
    - EVP_DigestUpdate
    - OPENSSL_store_u32_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:123,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/crypto/lms/lms_verify.c:124,1
    - Dst: lms_evp_md_ctx_init
      Src: /src/openssl/crypto/lms/lms_verify.c:128,1
    - Dst: ossl_lm_ots_compute_pubkey
      Src: /src/openssl/crypto/lms/lms_verify.c:135,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/lms/lms_verify.c:144,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/lms/lms_verify.c:148,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/crypto/lms/lms_verify.c:149,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/lms/lms_verify.c:157,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:158,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:159,1
    - Dst: EVP_DigestUpdate
      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_DigestFinal_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:163,1
    - Dst: lms_sig_compute_tc_from_path
      Src: /src/openssl/crypto/lms/lms_verify.c:164,1
    - Dst: memcmp
      Src: /src/openssl/crypto/lms/lms_verify.c:168,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/lms/lms_verify.c:170,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/lms/lms_verify.c:171,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: 173
      start: 108
    functionDepth: 9
    functionLinenumber: 108
    functionLinenumberEnd: 173
    functionName: ossl_lms_sig_verify
    functionSourceFile: /src/openssl/crypto/lms/lms_verify.c
    functionUses: 0
    functionsReached:
    - lms_sig_compute_tc_from_path
    - ossl_lm_ots_compute_pubkey
    - EVP_MD_CTX_create
    - OPENSSL_store_u16_be
    - memcmp
    - EVP_DigestFinal_ex
    - lms_evp_md_ctx_init
    - EVP_MD_CTX_copy_ex
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_free
    - ossl_assert
    - OPENSSL_store_u32_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:
    - ossl_lms_params_get
    - PACKET_buf_init
    - PACKET_get_net_4_len_u32
    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:56,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:58,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:59,1
    - Dst: ossl_lms_params_get
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:61,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:63,1
    - Dst: ossl_lm_ots_params_get
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:65,1
    - Dst: HASH_NOT_MATCHED
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:70,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:71,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:73,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:76,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:77,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: 80
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: lms_pubkey_from_pkt
    functionSourceFile: /src/openssl/crypto/lms/lms_pubkey_decode.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - PACKET_get_net_4_len_u32
    - PACKET_get_bytes
    - ossl_lm_ots_params_get
    - ossl_lms_params_get
    - PACKET_data
    - HASH_NOT_MATCHED
    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:99,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:102,1
    - Dst: lms_pubkey_from_pkt
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:106,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:111,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: 114
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: ossl_lms_pubkey_decode
    functionSourceFile: /src/openssl/crypto/lms/lms_pubkey_decode.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - lms_pubkey_from_pkt
    - OPENSSL_free
    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:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pub
    - lmskey
    argTypes:
    - OSSL_PARAM*
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 132
    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:114,1
    - Dst: BrotliEncoderCreateInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:119,1
    - Dst: BrotliDecoderCreateInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:123,1
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:130,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: brotli_stateful_init
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderCreateInstance
    - OPENSSL_zalloc
    - BrotliEncoderCreateInstance
    - OPENSSL_free
    - BrotliDecoderDestroyInstance
    - BrotliEncoderDestroyInstance
    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:141,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: brotli_stateful_finish
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderDestroyInstance
    - BrotliEncoderDestroyInstance
    - OPENSSL_free
    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:170,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:175,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: 181
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 181
    functionName: brotli_stateful_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliEncoderHasMoreOutput
    - BrotliEncoderCompressStream
    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:198,1
    - Dst: BrotliDecoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:203,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: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: brotli_stateful_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderHasMoreOutput
    - BrotliDecoderDecompressStream
    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: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    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: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    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:239,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: 229
    functionDepth: 0
    functionLinenumber: 229
    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:
    - BrotliDecoderCreateInstance
    - RUN_ONCE
    - OPENSSL_zalloc
    - BrotliEncoderCreateInstance
    - BIO_set_init
    - OPENSSL_free
    - BrotliDecoderDestroyInstance
    - ERR_raise
    - BrotliEncoderDestroyInstance
    - BIO_set_data
    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:
    - BIO_set_init
    - OPENSSL_free
    - BrotliDecoderDestroyInstance
    - BIO_get_data
    - BrotliEncoderDestroyInstance
    - BIO_set_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:
    - BrotliDecoderGetErrorCode
    - BrotliDecoderErrorString
    - BIO_clear_retry_flags
    - BIO_read
    - BIO_copy_next_retry
    - ERR_raise
    - BrotliDecoderHasMoreOutput
    - BrotliDecoderIsFinished
    - BIO_next
    - BIO_get_data
    - ERR_add_error_data
    - OPENSSL_malloc
    - BrotliDecoderDecompressStream
    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_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - BrotliEncoderCompressStream
    - ERR_raise
    - BIO_next
    - BIO_get_data
    - BrotliEncoderHasMoreOutput
    - ERR_add_error_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_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - BrotliEncoderCompressStream
    - ERR_raise
    - BIO_next
    - BIO_get_data
    - BrotliEncoderHasMoreOutput
    - ERR_add_error_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: 789
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 789
    functionName: bio_brotli_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - BIO_copy_next_retry
    - OPENSSL_realloc
    - BIO_flush
    - BrotliDecoderIsFinished
    - BIO_next
    - BIO_get_data
    - bio_brotli_flush
    - BrotliEncoderHasMoreOutput
    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:793,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/comp/c_brotli.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 797
    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:120,1
    - Dst: inflateInit_
      Src: /src/openssl/crypto/comp/c_zlib.c:130,1
    - Dst: deflateInit_
      Src: /src/openssl/crypto/comp/c_zlib.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 149
    functionName: zlib_stateful_init
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - deflateInit_
    - inflateInit_
    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:154,1
    - Dst: deflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: zlib_stateful_finish
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    - deflateEnd
    - OPENSSL_free
    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:174,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: 180
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 180
    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:197,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: 203
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 203
    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: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    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: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    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:230,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: 236
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 236
    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:252,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: 258
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 258
    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:284,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:286,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: 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: 306
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 306
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - ossl_comp_zlib_cleanup
    - DSO_bind_func
    - DSO_load
    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:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 319
    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:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 340
    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:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 391
    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:399,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zlib.c:400,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zlib.c:404,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zlib.c:414,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zlib.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: bio_zlib_new
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - OPENSSL_zalloc
    - BIO_set_init
    - ERR_raise
    - 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:426,1
    - Dst: inflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:430,1
    - Dst: deflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:434,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:437,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zlib.c:438,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zlib.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 442
    functionName: bio_zlib_free
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - OPENSSL_free
    - deflateEnd
    - BIO_get_data
    - inflateEnd
    - BIO_set_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:449,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:453,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:455,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zlib.c:457,1
    - Dst: inflateInit
      Src: /src/openssl/crypto/comp/c_zlib.c:460,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:461,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:462,1
    - Dst: inflate
      Src: /src/openssl/crypto/comp/c_zlib.c:475,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:477,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:478,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/comp/c_zlib.c:490,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 502
    functionName: bio_zlib_read
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - inflate
    - ERR_raise_data
    - inflateInit
    - zError
    - BIO_read
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    - OPENSSL_malloc
    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:509,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:513,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:517,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zlib.c:519,1
    - Dst: deflateInit
      Src: /src/openssl/crypto/comp/c_zlib.c:525,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:526,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:527,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zlib.c:539,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:543,1
    - Dst: deflate
      Src: /src/openssl/crypto/comp/c_zlib.c:563,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:565,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:566,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 571
    functionName: bio_zlib_write
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - deflateInit
    - ERR_raise_data
    - zError
    - BIO_write
    - BIO_copy_next_retry
    - deflate
    - BIO_next
    - BIO_get_data
    - OPENSSL_malloc
    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:578,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:580,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:585,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zlib.c:592,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:594,1
    - Dst: deflate
      Src: /src/openssl/crypto/comp/c_zlib.c:610,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:614,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:615,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 620
    functionName: bio_zlib_flush
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise_data
    - BIO_write
    - BIO_copy_next_retry
    - zError
    - deflate
    - BIO_next
    - BIO_get_data
    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:627,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:631,1
    - Dst: bio_zlib_flush
      Src: /src/openssl/crypto/comp/c_zlib.c:641,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/comp/c_zlib.c:643,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:663,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:669,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:677,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:678,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:679,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:695,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:701,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:705,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 710
    functionName: bio_zlib_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - OPENSSL_free
    - BIO_copy_next_retry
    - bio_zlib_flush
    - BIO_flush
    - BIO_next
    - BIO_get_data
    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:714,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 719
    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:
    - OPENSSL_zalloc
    - ZSTD_initDStream
    - OPENSSL_free
    - ZSTD_createDStream
    - ZSTD_createDStream_advanced
    - ZSTD_freeDStream
    - ZSTD_freeCStream
    - ZSTD_initCStream
    - ZSTD_createCStream
    - ZSTD_createCStream_advanced
    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:
    - ZSTD_freeCStream
    - ZSTD_freeDStream
    - OPENSSL_free
    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_flushStream
    - ZSTD_isError
    - ZSTD_endStream
    - 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: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    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:315,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:316,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: 325
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 325
    functionName: zstd_oneshot_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_compress
    - ZSTD_isError
    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:338,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:339,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: 348
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 348
    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:369,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:371,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: ossl_comp_zstd_cleanup
      Src: /src/openssl/crypto/comp/c_zstd.c:395,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 400
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - DSO_bind_func
    - DSO_load
    - ossl_comp_zstd_cleanup
    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:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 412
    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:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    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:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 448
    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:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 503
    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:511,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:513,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zstd.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:519,1
    - Dst: ZSTD_createDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:524,1
    - Dst: ZSTD_createDStream_advanced
      Src: /src/openssl/crypto/comp/c_zstd.c:526,1
    - Dst: ZSTD_initDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:530,1
    - Dst: ZSTD_DStreamInSize
      Src: /src/openssl/crypto/comp/c_zstd.c:531,1
    - Dst: ZSTD_createCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:534,1
    - Dst: ZSTD_createCStream_advanced
      Src: /src/openssl/crypto/comp/c_zstd.c:536,1
    - Dst: ZSTD_initCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:540,1
    - Dst: ZSTD_CStreamInSize
      Src: /src/openssl/crypto/comp/c_zstd.c:541,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zstd.c:543,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zstd.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:548,1
    - Dst: ZSTD_freeDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:549,1
    - Dst: ZSTD_freeCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:550,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 553
    functionName: bio_zstd_new
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_DStreamInSize
    - OPENSSL_zalloc
    - BIO_set_init
    - ZSTD_initDStream
    - OPENSSL_free
    - ZSTD_createDStream
    - ZSTD_createDStream_advanced
    - ZSTD_CStreamInSize
    - ERR_raise
    - ZSTD_freeDStream
    - COMP_zstd
    - ZSTD_freeCStream
    - ZSTD_initCStream
    - ZSTD_createCStream
    - ZSTD_createCStream_advanced
    - BIO_set_data
    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:562,1
    - Dst: ZSTD_freeDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:564,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:565,1
    - Dst: ZSTD_freeCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:566,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:567,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:568,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zstd.c:570,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zstd.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: bio_zstd_free
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - OPENSSL_free
    - ZSTD_freeDStream
    - ZSTD_freeCStream
    - BIO_get_data
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int bio_zstd_free(BIO *bi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:582,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:585,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:591,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:592,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zstd.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:596,1
    - Dst: ZSTD_decompressStream
      Src: /src/openssl/crypto/comp/c_zstd.c:611,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:613,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_zstd.c:614,1
    - Dst: ZSTD_getErrorName
      Src: /src/openssl/crypto/comp/c_zstd.c:614,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/comp/c_zstd.c:626,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 636
    functionName: bio_zstd_read
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - ZSTD_decompressStream
    - BIO_read
    - BIO_copy_next_retry
    - ERR_raise
    - ZSTD_isError
    - ZSTD_getErrorName
    - BIO_next
    - BIO_get_data
    - ERR_add_error_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:645,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:650,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:652,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zstd.c:654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:656,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zstd.c:670,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:673,1
    - Dst: ZSTD_compressStream2
      Src: /src/openssl/crypto/comp/c_zstd.c:690,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:691,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:692,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_zstd.c:693,1
    - Dst: ZSTD_getErrorName
      Src: /src/openssl/crypto/comp/c_zstd.c:693,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 638
    functionDepth: 4
    functionLinenumber: 638
    functionLinenumberEnd: 699
    functionName: bio_zstd_write
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - ERR_raise
    - ZSTD_isError
    - ZSTD_compressStream2
    - ZSTD_getErrorName
    - BIO_next
    - BIO_get_data
    - ERR_add_error_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:706,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:708,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:714,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zstd.c:722,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:725,1
    - Dst: ZSTD_flushStream
      Src: /src/openssl/crypto/comp/c_zstd.c:736,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:737,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:738,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_zstd.c:739,1
    - Dst: ZSTD_getErrorName
      Src: /src/openssl/crypto/comp/c_zstd.c:739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 701
    functionDepth: 4
    functionLinenumber: 701
    functionLinenumberEnd: 745
    functionName: bio_zstd_flush
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_write
    - BIO_copy_next_retry
    - ZSTD_flushStream
    - ZSTD_isError
    - ERR_raise
    - ZSTD_getErrorName
    - BIO_next
    - BIO_get_data
    - ERR_add_error_data
    linkageType: ''
    returnType: int
    signature: int bio_zstd_flush(BIO *b)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:753,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:757,1
    - Dst: ZSTD_initDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:765,1
    - Dst: ZSTD_initCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:771,1
    - Dst: bio_zstd_flush
      Src: /src/openssl/crypto/comp/c_zstd.c:778,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/comp/c_zstd.c:780,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:781,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/comp/c_zstd.c:800,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/comp/c_zstd.c:812,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:823,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:824,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:825,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:832,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:839,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:843,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 747
    functionDepth: 5
    functionLinenumber: 747
    functionLinenumberEnd: 848
    functionName: bio_zstd_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_clear_retry_flags
    - ZSTD_initDStream
    - BIO_copy_next_retry
    - bio_zstd_flush
    - OPENSSL_realloc
    - BIO_flush
    - ZSTD_initCStream
    - BIO_next
    - 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:852,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 856
    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:
    - COMP_CTX*::meth::init
    - OPENSSL_zalloc
    - OPENSSL_free
    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:
    - COMP_CTX*::meth::finish
    - OPENSSL_free
    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
    - n2l
    - l2n
    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
    - n2l
    - l2n
    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: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    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: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    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: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    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: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    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: 130
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 130
    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: 152
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 152
    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: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    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:60,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:62,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:64,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:66,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:74,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:76,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:78,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:80,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:88,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:90,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:92,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:94,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:102,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:104,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:106,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - CAST_KEY*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 123
    functionName: CAST_set_key
    functionSourceFile: /src/openssl/crypto/cast/c_skey.c
    functionUses: 0
    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
    - CAST_decrypt
    - n2l
    - l2n
    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_libctx
    - OBJ_obj2nid
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_ITEM_rptr
    - STACK_OF
    - ossl_pkcs7_get0_ctx
    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:
    - SMIME_read_ASN1_ex
    - ossl_pkcs7_resolve_libctx
    - 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: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: pk7_cb
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - PKCS7_stream
    - PKCS7_dataFinal
    - 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:76,1
    - Dst: PKCS7_it
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:76,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - PKCS7**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: d2i_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_ex
    - ossl_pkcs7_resolve_libctx
    - PKCS7_it
    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:85,1
    - Dst: PKCS7_it
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - PKCS7*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: i2d_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - PKCS7_it
    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:90,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 91
    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:95,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:95,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:102,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: PKCS7_new_ex
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strdup
    - PKCS7_free
    - ASN1_ITEM_rptr
    - ASN1_item_new_ex
    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:115,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:116,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: PKCS7_free
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 6
    functionsReached:
    - ASN1_item_free
    - ASN1_ITEM_rptr
    - OPENSSL_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:141,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: 144
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 144
    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:184,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: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    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:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 47
    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:51,1
    - Dst: PKCS7_type_is_other
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 57
    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:61,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:65,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:69,1
    - Dst: PKCS7_type_is_other
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:74,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:77,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:78,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:82,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:85,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:86,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:88,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:89,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: pkcs7_get1_data
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ASN1_STRING_set0
    - ASN1_STRING_get0_data
    - ASN1_OCTET_STRING_set
    - PKCS7_get_octet_string
    - ASN1_STRING_length
    - PKCS7_type_is_other
    - ASN1_OCTET_STRING_new
    - ASN1_get_object
    - ASN1_OCTET_STRING_dup
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *pkcs7_get1_data(PKCS7 *p7)
  - BBCount: 6
    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: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:110,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:110,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:114,1
    - Dst: BIO_set_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:119,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:120,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:123,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:127,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - pbio
    - alg
    - ctx
    argTypes:
    - BIO**
    - X509_ALGOR*
    - PKCS7_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 96
    functionDepth: 10
    functionLinenumber: 96
    functionLinenumberEnd: 137
    functionName: pkcs7_bio_add_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - BIO_f_md
    - BIO_new
    - BIO_free
    - ossl_pkcs7_ctx_get0_libctx
    - ERR_raise
    - EVP_MD_fetch
    - ossl_pkcs7_ctx_get0_propq
    - EVP_MD_free
    - BIO_push
    - BIO_set_md
    - OBJ_obj2txt
    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:149,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:153,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:153,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:154,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:158,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:161,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:164,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:168,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:171,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:178,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: 180
      start: 139
    functionDepth: 6
    functionLinenumber: 139
    functionLinenumberEnd: 180
    functionName: pkcs7_encode_rinfo
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encrypt
    - ASN1_STRING_set0
    - OPENSSL_free
    - ossl_pkcs7_ctx_get0_libctx
    - ossl_pkcs7_ctx_get0_propq
    - X509_get0_pubkey
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:192,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:192,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:193,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:197,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:200,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:205,1
    - Dst: evp_pkey_decrypt_alloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:207,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:208,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:208,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:214,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:221,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: 224
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 224
    functionName: pkcs7_decrypt_rinfo
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl_str
    - OPENSSL_free
    - evp_pkey_decrypt_alloc
    - OPENSSL_clear_free
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_PKEY_decrypt_init
    - ASN1_STRING_length
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_STRING_get0_data
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_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:234,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:244,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:247,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:248,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:262,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:266,1
    - Dst: pkcs7_get1_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:289,1
    - Dst: pkcs7_get1_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:300,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:304,1
    - Dst: pkcs7_bio_add_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:305,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:305,1
    - Dst: pkcs7_bio_add_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:308,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:317,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:318,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:321,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:322,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:323,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:324,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:324,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:326,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:329,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:330,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:331,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:333,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:339,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:342,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:345,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:347,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:352,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:356,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:357,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:364,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:365,1
    - Dst: pkcs7_encode_rinfo
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:366,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:369,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:374,1
    - Dst: PKCS7_is_detached
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:379,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:380,1
    - Dst: BIO_s_null
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:380,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:381,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:386,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:386,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:388,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:389,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:390,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:391,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:392,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:397,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:397,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:400,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:406,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:410,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:414,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:415,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:416,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:417,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 153
    argCount: 2
    argNames:
    - p7
    - bio
    argTypes:
    - PKCS7*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 226
    functionDepth: 11
    functionLinenumber: 226
    functionLinenumberEnd: 419
    functionName: PKCS7_dataInit
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_get_key_length
    - RAND_bytes_ex
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_CTX_rand_key
    - OPENSSL_cleanse
    - EVP_CipherInit_ex
    - ERR_pop_to_mark
    - OBJ_nid2obj
    - EVP_CIPHER_get0_name
    - ASN1_OCTET_STRING_free
    - BIO_new
    - ASN1_TYPE_free
    - pkcs7_bio_add_digest
    - BIO_write
    - sk_PKCS7_RECIP_INFO_value
    - PKCS7_is_detached
    - ERR_raise
    - ASN1_STRING_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - BIO_s_mem
    - pkcs7_get1_data
    - EVP_CIPHER_get_type
    - BIO_s_null
    - ASN1_TYPE_new
    - ossl_pkcs7_ctx_get0_libctx
    - sk_PKCS7_RECIP_INFO_num
    - OBJ_obj2nid
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - BIO_get_cipher_ctx
    - pkcs7_encode_rinfo
    - BIO_push
    - sk_X509_ALGOR_num
    - ERR_set_mark
    - ossl_pkcs7_get0_ctx
    - BIO_set_mem_eof_return
    - BIO_free_all
    - ossl_pkcs7_ctx_get0_propq
    - BIO_f_cipher
    - EVP_CIPHER_param_to_asn1
    - sk_X509_ALGOR_value
    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:424,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:425,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:428,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ri
    - pcert
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: pkcs7_cmp_ri
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    - X509_get_issuer_name
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int pkcs7_cmp_ri(PKCS7_RECIP_INFO *ri, X509 *pcert)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:443,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:454,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:458,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:459,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:463,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:467,1
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:478,1
    - Dst: PKCS7_is_detached
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:479,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:480,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:492,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:494,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:497,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:506,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:511,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:522,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:528,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:529,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:530,1
    - Dst: BIO_f_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:530,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:531,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:535,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:537,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:540,1
    - Dst: BIO_set_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:544,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:546,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:549,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:553,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:559,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:560,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:575,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:576,1
    - Dst: pkcs7_cmp_ri
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:582,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:594,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:595,1
    - Dst: pkcs7_decrypt_rinfo
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:597,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:598,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:601,1
    - Dst: pkcs7_decrypt_rinfo
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:606,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:608,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:612,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:613,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:615,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:618,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:622,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:625,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:633,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:639,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:641,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:648,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:649,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:652,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:654,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:660,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:666,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:668,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:668,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:671,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:671,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:674,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:679,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:681,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:685,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:686,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:687,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:688,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:689,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:690,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:691,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 199
    argCount: 4
    argNames:
    - p7
    - pkey
    - in_bio
    - pcert
    argTypes:
    - PKCS7*
    - EVP_PKEY*
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 433
    functionDepth: 10
    functionLinenumber: 433
    functionLinenumberEnd: 693
    functionName: PKCS7_dataDecode
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_CTX_rand_key
    - OBJ_obj2txt
    - EVP_CipherInit_ex
    - ERR_clear_error
    - BIO_f_md
    - pkcs7_decrypt_rinfo
    - BIO_new
    - sk_PKCS7_RECIP_INFO_value
    - PKCS7_is_detached
    - EVP_CIPHER_asn1_to_param
    - ERR_raise
    - ASN1_STRING_length
    - EVP_CIPHER_CTX_set_key_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - OPENSSL_malloc
    - BIO_s_mem
    - OPENSSL_clear_free
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_MD_fetch
    - sk_PKCS7_RECIP_INFO_num
    - OBJ_obj2nid
    - EVP_CIPHER_fetch
    - EVP_MD_free
    - EVP_CIPHER_free
    - BIO_get_cipher_ctx
    - BIO_push
    - sk_X509_ALGOR_num
    - BIO_set_md
    - ossl_pkcs7_get0_ctx
    - BIO_set_mem_eof_return
    - PKCS7_get_octet_string
    - BIO_free_all
    - BIO_new_mem_buf
    - EVP_CIPHER_CTX_get_key_length
    - ossl_pkcs7_ctx_get0_propq
    - BIO_f_cipher
    - pkcs7_cmp_ri
    - sk_X509_ALGOR_value
    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:698,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:700,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:703,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:705,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:708,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pmd
    - bio
    - nid
    argTypes:
    - EVP_MD_CTX**
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 713
    functionName: PKCS7_find_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_get_md_ctx
    - BIO_next
    - EVP_MD_CTX_get_type
    - 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:721,1
    - Dst: PKCS7_add0_attrib_signing_time
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:722,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:723,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:730,1
    - Dst: PKCS7_add1_attrib_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:733,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:734,1
    - Dst: PKCS7_SIGNER_INFO_sign
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - si
    - mctx
    argTypes:
    - PKCS7_SIGNER_INFO*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 743
    functionName: do_pkcs7_signed_attrib
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - PKCS7_add1_attrib_digest
    - EVP_DigestFinal_ex
    - ERR_raise
    - PKCS7_SIGNER_INFO_sign
    - PKCS7_add0_attrib_signing_time
    - PKCS7_get_signed_attribute
    linkageType: ''
    returnType: int
    signature: int do_pkcs7_signed_attrib(PKCS7_SIGNER_INFO *si, EVP_MD_CTX *mctx)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:752,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:758,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:762,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:765,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:769,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:771,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:775,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:787,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:789,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:799,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:801,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:810,1
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:813,1
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:815,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:816,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:824,1
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:827,1
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:829,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:830,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:837,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:842,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:843,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:847,1
    - Dst: PKCS7_find_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:851,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:859,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:868,1
    - Dst: do_pkcs7_signed_attrib
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:869,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:873,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:875,1
    - Dst: EVP_SignFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:878,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:879,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:880,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:881,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:882,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:885,1
    - Dst: PKCS7_find_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:891,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:892,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:894,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:896,1
    - Dst: PKCS7_is_detached
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:900,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:910,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:912,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:915,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:920,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:921,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:922,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:927,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 146
    argCount: 2
    argNames:
    - p7
    - bio
    argTypes:
    - PKCS7*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 745
    functionDepth: 8
    functionLinenumber: 745
    functionLinenumberEnd: 929
    functionName: PKCS7_dataFinal
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 2
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - PKCS7_find_digest
    - EVP_MD_CTX_new
    - BIO_set_flags
    - ASN1_OCTET_STRING_free
    - ASN1_STRING_set0
    - OPENSSL_free
    - PKCS7_type_is_data
    - do_pkcs7_signed_attrib
    - PKCS7_is_detached
    - ERR_raise
    - EVP_PKEY_get_size
    - STACK_OF
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - sk_X509_ATTRIBUTE_num
    - ASN1_OCTET_STRING_set
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_MD_CTX_copy_ex
    - OBJ_obj2nid
    - ASN1_OCTET_STRING_new
    - ossl_pkcs7_get0_ctx
    - BIO_set_mem_eof_return
    - BIO_find_type
    - EVP_SignFinal_ex
    - PKCS7_get_octet_string
    - EVP_DigestFinal_ex
    - BIO_get_mem_data
    - ossl_pkcs7_ctx_get0_propq
    - sk_PKCS7_SIGNER_INFO_num
    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:941,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:945,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:947,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:951,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:951,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:952,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:953,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:958,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:959,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:962,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:964,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:966,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:968,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:971,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:974,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:976,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:981,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:982,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 931
    functionDepth: 8
    functionLinenumber: 931
    functionLinenumberEnd: 984
    functionName: PKCS7_SIGNER_INFO_sign
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 1
    functionsReached:
    - ASN1_item_i2d
    - EVP_DigestSignFinal
    - EVP_get_digestbyobj
    - ASN1_STRING_set0
    - OPENSSL_free
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_DigestSignInit_ex
    - ERR_raise
    - EVP_MD_get0_name
    - EVP_DigestSignUpdate
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_ITEM_rptr
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:992,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:993,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:997,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1002,1
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1006,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1009,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1013,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1016,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1021,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1025,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1030,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1031,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1034,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1035,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1037,1
    - Dst: PKCS7_signatureVerify
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1041,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    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: 1046
      start: 987
    functionDepth: 4
    functionLinenumber: 987
    functionLinenumberEnd: 1046
    functionName: PKCS7_dataVerify
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - X509_find_by_issuer_and_serial
    - PKCS7_type_is_signed
    - X509_STORE_CTX_set_purpose
    - PKCS7_signatureVerify
    - ERR_raise
    - PKCS7_type_is_signedAndEnveloped
    - STACK_OF
    - X509_verify_cert
    - X509_STORE_CTX_set0_crls
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1056,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1060,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1061,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1062,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1064,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1066,1
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1070,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1070,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1071,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1075,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1079,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1080,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1083,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1085,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1088,1
    - Dst: EVP_MD_get_pkey_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1094,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1094,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1096,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1103,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1107,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1113,1
    - Dst: PKCS7_digest_from_attributes
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1117,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1120,1
    - Dst: memcmp
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1121,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1122,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1127,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1127,1
    - Dst: EVP_VerifyInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1129,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1133,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1136,1
    - Dst: EVP_VerifyUpdate
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1140,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1145,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1151,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1152,1
    - Dst: EVP_VerifyFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1161,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1162,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1163,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 90
    argCount: 4
    argNames:
    - bio
    - p7
    - si
    - signer
    argTypes:
    - BIO*
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1048
    functionDepth: 10
    functionLinenumber: 1048
    functionLinenumberEnd: 1165
    functionName: PKCS7_signatureVerify
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 2
    functionsReached:
    - PKCS7_type_is_signed
    - EVP_MD_CTX_get0_md
    - BIO_next
    - EVP_MD_CTX_new
    - EVP_VerifyFinal_ex
    - OPENSSL_free
    - ERR_raise
    - PKCS7_digest_from_attributes
    - ASN1_STRING_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - EVP_MD_CTX_get_type
    - EVP_VerifyUpdate
    - EVP_MD_CTX_free
    - sk_X509_ATTRIBUTE_num
    - EVP_VerifyInit_ex
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_MD_CTX_copy_ex
    - EVP_MD_fetch
    - OBJ_obj2nid
    - EVP_MD_free
    - BIO_get_md_ctx
    - ASN1_ITEM_rptr
    - X509_get0_pubkey
    - ossl_pkcs7_get0_ctx
    - ASN1_item_i2d
    - OBJ_nid2sn
    - EVP_DigestFinal_ex
    - PKCS7_type_is_signedAndEnveloped
    - ossl_pkcs7_ctx_get0_propq
    - memcmp
    - BIO_find_type
    - EVP_MD_get_pkey_type
    linkageType: ''
    returnType: int
    signature: "int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,\n
      \   const X509 *signer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1169,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1173,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1181,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p7
    - idx
    argTypes:
    - PKCS7*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1185
    functionName: PKCS7_get_issuer_and_serial
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - sk_PKCS7_RECIP_INFO_value
    - STACK_OF
    - sk_PKCS7_RECIP_INFO_num
    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:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - nid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1190
    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:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - nid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1195
    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:1199,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1203,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - nid
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1204
    functionName: get_attribute
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 2
    functionsReached:
    - X509at_get_attr_by_NID
    - X509at_get_attr
    - X509_ATTRIBUTE_get0_type
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *get_attribute(const STACK_OF(X509_ATTRIBUTE) *sk, int nid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sk
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1214
    functionName: PKCS7_digest_from_attributes
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 1
    functionsReached:
    - get_attribute
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE)
      *sk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1239,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: 1240
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1240
    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:1245,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: 1246
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1246
    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:101,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:104,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - si
    - coid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: PKCS7_add_attrib_content_type
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: 0
    functionsReached:
    - PKCS7_add_signed_attribute
    - OBJ_nid2obj
    - PKCS7_get_signed_attribute
    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:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:114,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:117,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - si
    - t
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: PKCS7_add0_attrib_signing_time
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_free
    - PKCS7_add_signed_attribute
    - ERR_raise
    - X509_gmtime_adj
    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:129,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:132,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:133,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:135,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: 139
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: PKCS7_add1_attrib_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - PKCS7_add_signed_attribute
    linkageType: ''
    returnType: int
    signature: "int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si,\n    const unsigned
      char *md, int mdlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:29,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:30,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:34,1
    - Dst: PKCS7_content_new
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:37,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:41,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:46,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:47,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:47,1
    - Dst: PKCS7_set_detached
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:53,1
    - Dst: PKCS7_final
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:58,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:62,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 7
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    - libctx
    - propq
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF*
    - BIO*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 64
    functionName: PKCS7_sign_ex
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - PKCS7_set_type
    - PKCS7_sign_add_signer
    - PKCS7_add_certificate
    - ERR_raise
    - PKCS7_free
    - sk_X509_num
    - sk_X509_value
    - PKCS7_final
    - PKCS7_new_ex
    - PKCS7_content_new
    - PKCS7_set_detached
    linkageType: ''
    returnType: PKCS7
    signature: "PKCS7 *PKCS7_sign_ex(X509 *signcert, EVP_PKEY *pkey, const STACK_OF(X509)
      *certs,\n    BIO *data, int flags, OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_sign_ex
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - signcert
    - pkey
    - certs
    - data
    - flags
    argTypes:
    - X509*
    - EVP_PKEY*
    - STACK_OF*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: PKCS7_sign
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - PKCS7_sign_ex
    linkageType: ''
    returnType: PKCS7
    signature: "PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, const STACK_OF(X509)
      *certs,\n    BIO *data, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:78,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:82,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:85,1
    - Dst: PKCS7_dataFinal
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:88,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - p7
    - data
    - flags
    argTypes:
    - PKCS7*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 12
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: PKCS7_final
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 1
    functionsReached:
    - PKCS7_dataInit
    - PKCS7_dataFinal
    - SMIME_crlf_copy
    - ERR_raise
    - BIO_free_all
    - BIO_flush
    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:119,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:122,1
    - Dst: PKCS7_add_signature
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:128,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:132,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:134,1
    - Dst: PKCS7_add_attrib_content_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:139,1
    - Dst: sk_X509_ALGOR_new_null
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:144,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:147,1
    - Dst: add_digest_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:148,1
    - Dst: add_digest_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:149,1
    - Dst: add_digest_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:150,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:151,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:152,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:153,1
    - Dst: add_cipher_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: PKCS7_add_attrib_smimecap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:159,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:161,1
    - Dst: pkcs7_copy_existing_digest
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:165,1
    - Dst: PKCS7_SIGNER_INFO_sign
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:168,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:174,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: 176
      start: 114
    functionDepth: 9
    functionLinenumber: 114
    functionLinenumberEnd: 176
    functionName: PKCS7_sign_add_signer
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 1
    functionsReached:
    - sk_X509_ALGOR_new_null
    - add_digest_smcap
    - PKCS7_add_certificate
    - sk_X509_ALGOR_pop_free
    - ERR_raise
    - X509_check_private_key
    - pkcs7_copy_existing_digest
    - PKCS7_add_signature
    - PKCS7_SIGNER_INFO_sign
    - STACK_OF
    - PKCS7_add_attrib_content_type
    - ossl_pkcs7_get0_ctx
    - PKCS7_add_attrib_smimecap
    - add_cipher_smcap
    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:186,1
    - Dst: PKCS7_get_signer_info
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:189,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:190,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:191,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:194,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:196,1
    - Dst: PKCS7_digest_from_attributes
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:197,1
    - Dst: PKCS7_add1_attrib_digest
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:203,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:203,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - p7
    - si
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: pkcs7_copy_existing_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 1
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - sk_PKCS7_SIGNER_INFO_value
    - OBJ_cmp
    - PKCS7_get_signer_info
    - PKCS7_add1_attrib_digest
    - PKCS7_digest_from_attributes
    - ERR_raise
    - ASN1_STRING_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - sk_PKCS7_SIGNER_INFO_num
    linkageType: ''
    returnType: int
    signature: int pkcs7_copy_existing_digest(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:213,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:214,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:215,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:227,1
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:232,1
    - Dst: PKCS7_get_detached
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:238,1
    - Dst: PKCS7_get_detached
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:251,1
    - Dst: PKCS7_get_signer_info
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:256,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:259,1
    - Dst: PKCS7_get0_signers
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:263,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:268,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:269,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:269,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:270,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:274,1
    - Dst: pkcs7_get0_certificates
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:276,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:278,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:282,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:283,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:285,1
    - Dst: X509_STORE_CTX_set_default
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:289,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:292,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:293,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:295,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:296,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:298,1
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:305,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:309,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:310,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:313,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:318,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:321,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:325,1
    - Dst: SMIME_text
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:329,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:330,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:337,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:338,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:339,1
    - Dst: PKCS7_signatureVerify
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:342,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:351,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:352,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:353,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:355,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:356,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:357,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:358,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 118
    argCount: 6
    argNames:
    - p7
    - certs
    - store
    - indata
    - out
    - flags
    argTypes:
    - PKCS7*
    - STACK_OF*
    - X509_STORE*
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 210
    functionDepth: 12
    functionLinenumber: 210
    functionLinenumberEnd: 360
    functionName: PKCS7_verify
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - sk_PKCS7_SIGNER_INFO_value
    - X509_STORE_CTX_init
    - PKCS7_type_is_signed
    - X509_STORE_CTX_free
    - sk_X509_num
    - PKCS7_get_signer_info
    - PKCS7_dataInit
    - BIO_new
    - ERR_raise_data
    - BIO_read
    - PKCS7_get_detached
    - BIO_write
    - OPENSSL_free
    - ERR_raise
    - X509_STORE_CTX_new_ex
    - STACK_OF
    - X509_STORE_CTX_set0_crls
    - BIO_s_mem
    - OPENSSL_malloc
    - BIO_free
    - ossl_pkcs7_ctx_get0_libctx
    - pkcs7_get0_certificates
    - X509_verify_cert
    - X509_STORE_CTX_set_default
    - ossl_pkcs7_get0_ctx
    - BIO_set_mem_eof_return
    - X509_verify_cert_error_string
    - SMIME_text
    - PKCS7_get0_signers
    - ossl_x509_add_certs_new
    - PKCS7_signatureVerify
    - BIO_pop
    - BIO_free_all
    - sk_X509_free
    - ossl_pkcs7_ctx_get0_propq
    - sk_X509_value
    - X509_STORE_CTX_get_error
    - sk_PKCS7_SIGNER_INFO_num
    linkageType: ''
    returnType: int
    signature: "int PKCS7_verify(PKCS7 *p7, const STACK_OF(X509) *certs, X509_STORE
      *store,\n    BIO *indata, BIO *out, int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:432,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:436,1
    - Dst: PKCS7_set_cipher
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:439,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:443,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:444,1
    - Dst: PKCS7_add_recipient
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:446,1
    - Dst: PKCS7_final
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:454,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:459,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:460,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 6
    argNames:
    - certs
    - in
    - cipher
    - flags
    - libctx
    - propq
    argTypes:
    - STACK_OF*
    - BIO*
    - EVP_CIPHER*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 422
    functionDepth: 13
    functionLinenumber: 422
    functionLinenumberEnd: 462
    functionName: PKCS7_encrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - PKCS7_set_type
    - PKCS7_set_cipher
    - PKCS7_add_recipient
    - BIO_free_all
    - ERR_raise
    - PKCS7_free
    - sk_X509_num
    - sk_X509_value
    - PKCS7_final
    - PKCS7_new_ex
    linkageType: ''
    returnType: PKCS7
    signature: "PKCS7 *PKCS7_encrypt_ex(const STACK_OF(X509) *certs, BIO *in,\n    const
      EVP_CIPHER *cipher, int flags,\n    OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_encrypt_ex
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - certs
    - in
    - cipher
    - flags
    argTypes:
    - STACK_OF*
    - BIO*
    - EVP_CIPHER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 14
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: PKCS7_encrypt
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - PKCS7_encrypt_ex
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *PKCS7_encrypt(const STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER
      *cipher, int flags)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:476,1
    - Dst: PKCS7_type_is_enveloped
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:480,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:482,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:487,1
    - Dst: PKCS7_dataDecode
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:492,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:493,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:500,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:500,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:501,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:502,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:506,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:507,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:508,1
    - Dst: SMIME_text
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:511,1
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:512,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:513,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:516,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:519,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:522,1
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:525,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:526,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:532,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:537,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:538,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: 540
      start: 469
    functionDepth: 11
    functionLinenumber: 469
    functionLinenumberEnd: 540
    functionName: PKCS7_decrypt
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - BIO_f_buffer
    - SMIME_text
    - PKCS7_dataDecode
    - BIO_new
    - OPENSSL_free
    - OPENSSL_malloc
    - BIO_read
    - BIO_write
    - BIO_free_all
    - ERR_raise
    - X509_check_private_key
    - PKCS7_type_is_signedAndEnveloped
    - BIO_get_cipher_status
    - PKCS7_type_is_enveloped
    - BIO_push
    - BIO_method_type
    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:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - p7
    - cmd
    - larg
    - parg
    argTypes:
    - PKCS7*
    - int
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 70
    functionName: PKCS7_ctrl
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - 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:76,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:78,1
    - Dst: PKCS7_set_content
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:80,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p7
    - type
    argTypes:
    - PKCS7*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: PKCS7_content_new
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - PKCS7_set_type
    - PKCS7_new
    - PKCS7_set_content
    - PKCS7_free
    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:93,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:96,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p7
    - p7_data
    argTypes:
    - PKCS7*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: PKCS7_set_content
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 2
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    - PKCS7_free
    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:123,1
    - Dst: PKCS7_SIGNED_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:128,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:130,1
    - Dst: PKCS7_SIGNED_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:131,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:138,1
    - Dst: PKCS7_SIGN_ENVELOPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:143,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:146,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:149,1
    - Dst: PKCS7_ENVELOPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:153,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:156,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:158,1
    - Dst: PKCS7_ENCRYPT_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:162,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:165,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:167,1
    - Dst: PKCS7_DIGEST_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:172,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:179,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 2
    argNames:
    - p7
    - type
    argTypes:
    - PKCS7*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 185
    functionName: PKCS7_set_type
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 5
    functionsReached:
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_new
    - PKCS7_SIGNED_new
    - ERR_raise
    - PKCS7_ENVELOPE_new
    - ASN1_INTEGER_set
    - PKCS7_SIGNED_free
    - PKCS7_DIGEST_new
    - PKCS7_ENCRYPT_new
    - PKCS7_SIGN_ENVELOPE_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:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p7
    - type
    - other
    argTypes:
    - PKCS7*
    - int
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    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:199,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:200,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:213,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:220,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:221,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:222,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:230,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:231,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:233,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:240,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:241,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:243,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:245,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:246,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:251,1
    - Dst: sk_PKCS7_SIGNER_INFO_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:252,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - p7
    - psi
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 255
    functionName: PKCS7_add_signer
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    - OBJ_nid2obj
    - ASN1_TYPE_new
    - sk_X509_ALGOR_push
    - ERR_raise
    - X509_ALGOR_new
    - OBJ_obj2nid
    - STACK_OF
    - sk_X509_ALGOR_num
    - OBJ_dup
    - X509_ALGOR_free
    - ossl_pkcs7_get0_ctx
    - sk_PKCS7_SIGNER_INFO_push
    - sk_X509_ALGOR_value
    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:260,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:271,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p7
    - x509
    argTypes:
    - PKCS7*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: PKCS7_add_certificate
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 3
    functionsReached:
    - ossl_x509_add_cert_new
    - OBJ_obj2nid
    - ERR_raise
    - STACK_OF
    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:281,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:292,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:299,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:303,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:305,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - p7
    - crl
    argTypes:
    - PKCS7*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: PKCS7_add_crl
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509_CRL_new_null
    - X509_CRL_free
    - X509_CRL_up_ref
    - ERR_raise
    - sk_X509_CRL_push
    - OBJ_obj2nid
    - STACK_OF
    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:320,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:323,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:326,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:326,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:328,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: pkcs7_ecdsa_or_dsa_sign_verify_setup
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - OBJ_find_sigid_by_algs
    - EVP_PKEY_get_id
    - OBJ_obj2nid
    - X509_ALGOR_set0
    - PKCS7_SIGNER_INFO_get0_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:338,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:340,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: pkcs7_rsa_sign_verify_setup
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - PKCS7_SIGNER_INFO_get0_algs
    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:352,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:354,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:355,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:362,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: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 394
    functionName: PKCS7_SIGNER_INFO_set
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_dup
    - OBJ_nid2obj
    - X509_get0_serialNumber
    - EVP_MD_get_type
    - EVP_PKEY_up_ref
    - ASN1_INTEGER_free
    - pkcs7_ecdsa_or_dsa_sign_verify_setup
    - EVP_PKEY*::ameth::pkey_ctrl
    - ERR_raise
    - X509_NAME_set
    - X509_ALGOR_set0
    - pkcs7_rsa_sign_verify_setup
    - EVP_PKEY_is_a
    - ASN1_INTEGER_set
    - X509_get_issuer_name
    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:
    - PKCS7_SIGNER_INFO_set
    - EVP_PKEY_get_default_digest_nid
    - EVP_get_digestbynid
    - PKCS7_SIGNER_INFO_free
    - ERR_raise
    - PKCS7_SIGNER_INFO_new
    - PKCS7_add_signer
    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:
    - sk_PKCS7_SIGNER_INFO_value
    - PKCS7_get_signer_info
    - pkcs7_get_recipient_info
    - ossl_x509_set0_libctx
    - sk_PKCS7_RECIP_INFO_value
    - ossl_pkcs7_ctx_get0_libctx
    - sk_PKCS7_RECIP_INFO_num
    - sk_X509_num
    - ossl_pkcs7_ctx_get0_propq
    - pkcs7_get0_certificates
    - sk_X509_value
    - STACK_OF
    - ossl_pkcs7_get0_ctx
    - sk_PKCS7_SIGNER_INFO_num
    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: 9
    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_strdup
    - OPENSSL_free
    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_resolve_libctx
    - ossl_pkcs7_set0_libctx
    - ossl_pkcs7_set1_propq
    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: 13
    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: 13
    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:
    - OBJ_nid2obj
    - ASN1_TYPE_new
    - ERR_raise
    - 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: 1
    functionsReached:
    - PKCS7_RECIP_INFO_set
    - PKCS7_RECIP_INFO_free
    - PKCS7_RECIP_INFO_new
    - PKCS7_add_recipient_info
    - 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:
    - OBJ_obj2nid
    - sk_PKCS7_RECIP_INFO_push
    - ERR_raise
    - STACK_OF
    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:
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - PKCS7_RECIP_INFO_get0_alg
    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:636,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:636,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:639,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:643,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:645,1
    - Dst: pkcs7_rsa_encrypt_decrypt_setup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:646,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:652,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:657,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:659,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:664,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:668,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - p7i
    - x509
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 625
    functionDepth: 5
    functionLinenumber: 625
    functionLinenumberEnd: 677
    functionName: PKCS7_RECIP_INFO_set
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_dup
    - X509_get0_serialNumber
    - X509_up_ref
    - pkcs7_rsa_encrypt_decrypt_setup
    - ASN1_INTEGER_free
    - EVP_PKEY*::ameth::pkey_ctrl
    - ERR_raise
    - X509_NAME_set
    - X509_get0_pubkey
    - EVP_PKEY_is_a
    - ASN1_INTEGER_set
    - X509_get_issuer_name
    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:681,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p7
    - si
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: PKCS7_cert_from_signer_info
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - X509_find_by_issuer_and_serial
    - PKCS7_type_is_signed
    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:694,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:703,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:708,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:710,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - p7
    - cipher
    argTypes:
    - PKCS7*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 717
    functionName: PKCS7_set_cipher
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get_type
    - OBJ_obj2nid
    - ossl_pkcs7_get0_ctx
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:724,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:732,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:740,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - boundary
    - p7
    argTypes:
    - unsigned char***
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 765
    functionName: PKCS7_stream
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    - ASN1_OCTET_STRING_new
    - ERR_raise
    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:
    - BIO_new_NDEF
    - ASN1_ITEM_rptr
    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:
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - ossl_crypto_condvar_new
    - ossl_crypto_thread_native_spawn
    - ossl_crypto_condvar_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_mutex_lock
    - ossl_crypto_condvar_signal
    - ossl_crypto_thread_native_perform_join
    - CRYPTO_THREAD_SET_ERROR
    - ossl_crypto_condvar_wait
    - CRYPTO_THREAD_GET_STATE
    - CRYPTO_THREAD_SET_STATE
    - CRYPTO_THREAD_UNSET_STATE
    - CRYPTO_THREAD_UNSET_ERROR
    - ossl_crypto_mutex_unlock
    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_lock
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - CRYPTO_THREAD_GET_STATE
    - ossl_crypto_condvar_free
    - ossl_crypto_mutex_unlock
    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_lock
    - ossl_crypto_mutex_unlock
    - _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_mutex_lock
    - _ossl_get_avail_threads
    - OSSL_LIB_CTX_GET_THREADS
    - ossl_crypto_condvar_wait
    - ossl_crypto_thread_native_start
    - ossl_crypto_mutex_unlock
    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_mutex_lock
    - ossl_crypto_thread_native_join
    - OSSL_LIB_CTX_GET_THREADS
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_signal
    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_threads_ctx_free
    - OPENSSL_zalloc
    - ossl_crypto_mutex_new
    - ossl_crypto_condvar_new
    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_lock
    - ossl_crypto_mutex_unlock
    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_lock
    - ossl_crypto_mutex_unlock
    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:
    - ossl_crypto_mutex_lock
    - ossl_crypto_mutex_unlock
    - CRYPTO_THREAD_SET_STATE
    - ossl_crypto_condvar_signal
    - CRYPTO_THREAD*::routine
    - GetCurrentThreadId
    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:
    - OPENSSL_zalloc
    - _beginthreadex
    - 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:
    - CloseHandle
    - GetExitCodeThread
    - WaitForSingleObject
    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:
    - DeleteCriticalSection
    - OPENSSL_free
    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_subtract
    - ossl_time_is_infinite
    - ossl_time_is_zero
    - ossl_time_now
    - ossl_time2ms
    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:
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - CreateSemaphoreA
    - CloseHandle
    - ossl_crypto_mutex_new
    - OPENSSL_malloc
    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
    - CloseHandle
    - OPENSSL_free
    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:
    - determine_timeout
    - WaitForSingleObject
    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:
    - ossl_crypto_mutex_lock
    - obj_wait
    - ReleaseSemaphore
    - assert
    - ossl_crypto_mutex_unlock
    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: 1
    functionsReached:
    - ossl_crypto_mutex_lock
    - ReleaseSemaphore
    - ossl_crypto_mutex_unlock
    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: 5
    functionsReached:
    - ossl_crypto_mutex_lock
    - ReleaseSemaphore
    - ossl_crypto_mutex_unlock
    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: 1
    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: 5
    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: 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:
    - ossl_crypto_mutex_lock
    - ossl_crypto_condvar_broadcast
    - CRYPTO_THREAD_SET_STATE
    - CRYPTO_THREAD*::routine
    - ossl_crypto_mutex_unlock
    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:
    - pthread_attr_setdetachstate
    - OPENSSL_zalloc
    - pthread_create
    - pthread_attr_destroy
    - OPENSSL_free
    - pthread_attr_init
    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_self
    - pthread_equal
    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:
    - pthread_mutex_init
    - OPENSSL_zalloc
    - OPENSSL_free
    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:
    - OPENSSL_assert
    - pthread_mutex_lock
    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:
    - pthread_mutex_destroy
    - OPENSSL_free
    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_zalloc
    - pthread_cond_init
    - OPENSSL_free
    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_wait
    - ossl_time2seconds
    - ossl_time_is_infinite
    - pthread_cond_timedwait
    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: 2
    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: 5
    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:
    - pthread_cond_destroy
    - OPENSSL_free
    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: 2
    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: 5
    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:55,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/obj_dat.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:65,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/objects/obj_dat.c:70,1
    - Dst: objs_free_locks
      Src: /src/openssl/crypto/objects/obj_dat.c:72,1
    - Dst: lh_ADDED_OBJ_new
      Src: /src/openssl/crypto/objects/obj_dat.c:76,1
    - Dst: objs_free_locks
      Src: /src/openssl/crypto/objects/obj_dat.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - objs_free_locks
    - lh_ADDED_OBJ_new
    - CRYPTO_THREAD_lock_new
    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:89,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/objects/obj_dat.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    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:96,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 99
    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:103,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 106
    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:110,1
    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: 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:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    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:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    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:143,1
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/objects/obj_dat.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ca
    argTypes:
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 158
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/objects/obj_dat.c:165,1
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:167,1
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: obj_equivalent
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: int obj_equivalent(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/objects/obj_dat.c:184,1
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:191,1
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ca
    - cb
    argTypes:
    - ADDED_OBJ*
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 205
    functionName: added_obj_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    - strcmp
    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: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    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: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    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:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    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:228,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/openssl/crypto/objects/obj_dat.c:229,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/openssl/crypto/objects/obj_dat.c:230,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/openssl/crypto/objects/obj_dat.c:231,1
    - Dst: lh_ADDED_OBJ_free
      Src: /src/openssl/crypto/objects/obj_dat.c:232,1
    - Dst: objs_free_locks
      Src: /src/openssl/crypto/objects/obj_dat.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: ossl_obj_cleanup_int
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 1
    functionsReached:
    - objs_free_locks
    - lh_ADDED_OBJ_doall
    - lh_ADDED_OBJ_free
    - lh_ADDED_OBJ_set_down_load
    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:244,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:247,1
    - Dst: tsan_add
      Src: /src/openssl/crypto/objects/obj_dat.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: OBJ_new_nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - ossl_obj_write_lock
    - tsan_add
    - ossl_obj_unlock
    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:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:267,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:270,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:271,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: OBJ_nid2obj
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 103
    functionsReached:
    - ossl_obj_unlock
    - ossl_obj_read_lock
    - ERR_raise
    - lh_ADDED_OBJ_retrieve
    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:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 284
    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:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 291
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/objects/obj_dat.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: obj_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    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:313,1
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:317,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:322,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: ossl_obj_obj2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_bsearch_obj
    - ossl_obj_unlock
    - ossl_obj_read_lock
    - lh_ADDED_OBJ_retrieve
    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:345,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:346,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:347,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/objects/obj_dat.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:350,1
    - Dst: a2d_ASN1_OBJECT
      Src: /src/openssl/crypto/objects/obj_dat.c:356,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/objects/obj_dat.c:361,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:365,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/objects/obj_dat.c:370,1
    - Dst: a2d_ASN1_OBJECT
      Src: /src/openssl/crypto/objects/obj_dat.c:372,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/openssl/crypto/objects/obj_dat.c:375,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - s
    - no_name
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 378
    functionName: OBJ_txt2obj
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 16
    functionsReached:
    - OBJ_sn2nid
    - OBJ_nid2obj
    - OBJ_ln2nid
    - OPENSSL_free
    - ASN1_put_object
    - ASN1_object_size
    - ERR_raise
    - ossl_isdigit
    - a2d_ASN1_OBJECT
    - d2i_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:386,1
    - Dst: DECIMAL_SIZE
      Src: /src/openssl/crypto/objects/obj_dat.c:386,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:396,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/objects/obj_dat.c:397,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/objects/obj_dat.c:399,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/objects/obj_dat.c:402,1
    - Dst: strlen
      Src: /src/openssl/crypto/objects/obj_dat.c:403,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/objects/obj_dat.c:442,1
    - Dst: BN_new
      Src: /src/openssl/crypto/objects/obj_dat.c:450,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/objects/obj_dat.c:452,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/objects/obj_dat.c:457,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/objects/obj_dat.c:469,1
    - Dst: BN_bn2dec
      Src: /src/openssl/crypto/objects/obj_dat.c:488,1
    - Dst: strlen
      Src: /src/openssl/crypto/objects/obj_dat.c:491,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/objects/obj_dat.c:498,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:509,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/objects/obj_dat.c:511,1
    - Dst: strlen
      Src: /src/openssl/crypto/objects/obj_dat.c:512,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/objects/obj_dat.c:514,1
    - Dst: BN_free
      Src: /src/openssl/crypto/objects/obj_dat.c:528,1
    - Dst: BN_free
      Src: /src/openssl/crypto/objects/obj_dat.c:532,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: 534
      start: 380
    functionDepth: 6
    functionLinenumber: 380
    functionLinenumberEnd: 534
    functionName: OBJ_obj2txt
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 38
    functionsReached:
    - OBJ_nid2sn
    - BN_set_word
    - BN_bn2dec
    - OPENSSL_free
    - BN_sub_word
    - BIO_snprintf
    - DECIMAL_SIZE
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BN_free
    - strlen
    - BN_new
    - BN_lshift
    - BN_add_word
    - OPENSSL_strlcpy
    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:538,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:542,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 7
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: OBJ_txt2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 7
    functionsReached:
    - OBJ_obj2nid
    - OBJ_txt2obj
    - 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:557,1
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:561,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:566,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 571
    functionName: OBJ_ln2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 4
    functionsReached:
    - OBJ_bsearch_ln
    - ERR_raise
    - ossl_obj_unlock
    - ossl_obj_read_lock
    - lh_ADDED_OBJ_retrieve
    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:582,1
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:586,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:591,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 596
    functionName: OBJ_sn2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 7
    functionsReached:
    - OBJ_bsearch_sn
    - ERR_raise
    - ossl_obj_unlock
    - ossl_obj_read_lock
    - lh_ADDED_OBJ_retrieve
    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:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - base
    - num
    - size
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    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:609,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: 632
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 632
    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:646,1
    - Dst: ossl_isalnum
      Src: /src/openssl/crypto/objects/obj_dat.c:650,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/objects/obj_dat.c:653,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/objects/obj_dat.c:657,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/objects/obj_dat.c:663,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/objects/obj_dat.c:667,1
    - Dst: OBJ_create
      Src: /src/openssl/crypto/objects/obj_dat.c:681,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 685
    functionName: OBJ_create_objects
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - ossl_isalnum
    - OBJ_create
    - ossl_isdigit
    - BIO_gets
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: int OBJ_create_objects(BIO *in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:694,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:699,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:700,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:701,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:707,1
    - Dst: ossl_asn1_object_new
      Src: /src/openssl/crypto/objects/obj_dat.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:714,1
    - Dst: ossl_obj_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:721,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:722,1
    - Dst: add_object
      Src: /src/openssl/crypto/objects/obj_dat.c:730,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:736,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - oid
    - sn
    - ln
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 687
    functionDepth: 7
    functionLinenumber: 687
    functionLinenumberEnd: 738
    functionName: OBJ_create
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 3
    functionsReached:
    - OBJ_sn2nid
    - OBJ_ln2nid
    - ossl_asn1_object_new
    - ERR_raise
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    - 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: 745
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 745
    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: 752
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 752
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_new_nid
      Src: /src/openssl/crypto/objects/obj_dat.c:768,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/objects/obj_dat.c:769,1
    - Dst: OBJ_bsearch_obj
      Src: /src/openssl/crypto/objects/obj_dat.c:774,1
    - Dst: OBJ_bsearch_sn
      Src: /src/openssl/crypto/objects/obj_dat.c:776,1
    - Dst: OBJ_bsearch_ln
      Src: /src/openssl/crypto/objects/obj_dat.c:778,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/objects/obj_dat.c:779,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:783,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:786,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:788,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:790,1
    - Dst: ossl_obj_write_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:793,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:794,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:803,1
    - Dst: obj_equivalent
      Src: /src/openssl/crypto/objects/obj_dat.c:818,1
    - Dst: lh_ADDED_OBJ_insert
      Src: /src/openssl/crypto/objects/obj_dat.c:826,1
    - Dst: lh_ADDED_OBJ_error
      Src: /src/openssl/crypto/objects/obj_dat.c:827,1
    - Dst: lh_ADDED_OBJ_delete
      Src: /src/openssl/crypto/objects/obj_dat.c:830,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:832,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:838,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:842,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:845,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:846,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 57
    argCount: 2
    argNames:
    - obj
    - indirect
    argTypes:
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 754
    functionDepth: 5
    functionLinenumber: 754
    functionLinenumberEnd: 848
    functionName: add_object
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 1
    functionsReached:
    - OBJ_bsearch_ln
    - OBJ_bsearch_sn
    - obj_equivalent
    - OBJ_new_nid
    - OPENSSL_free
    - ERR_raise
    - OBJ_bsearch_obj
    - lh_ADDED_OBJ_delete
    - ossl_obj_unlock
    - lh_ADDED_OBJ_error
    - ASN1_OBJECT_free
    - ossl_obj_write_lock
    - OBJ_dup
    - lh_ADDED_OBJ_insert
    - OPENSSL_malloc
    - lh_ADDED_OBJ_retrieve
    linkageType: ''
    returnType: int
    signature: int add_object(const ASN1_OBJECT *obj, int indirect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_object
      Src: /src/openssl/crypto/objects/obj_dat.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 6
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: OBJ_add_object
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - add_object
    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:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 5
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: OBJ_obj2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 143
    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:
    - OBJ_bsearch_sig
    - CRYPTO_THREAD_unlock
    - ERR_raise
    - sk_nid_triple_find
    - CRYPTO_THREAD_read_lock
    - obj_sig_init
    - OSSL_NELEM
    - sk_nid_triple_value
    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:
    - CRYPTO_THREAD_unlock
    - ERR_raise
    - sk_nid_triple_find
    - CRYPTO_THREAD_read_lock
    - obj_sig_init
    - OSSL_NELEM
    - OBJ_bsearch_sigx
    - sk_nid_triple_value
    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:
    - sk_nid_triple_new
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - ERR_raise
    - ossl_obj_find_sigid_algs
    - CRYPTO_THREAD_write_lock
    - sk_nid_triple_sort
    - obj_sig_init
    - sk_nid_triple_push
    - 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_pop_free
    - CRYPTO_THREAD_lock_free
    - sk_nid_triple_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:47,1
    - Dst: lh_OBJ_NAME_new
      Src: /src/openssl/crypto/objects/o_names.c:49,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/o_names.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    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: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: 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:69,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/o_names.c:72,1
    - Dst: sk_NAME_FUNCS_new_null
      Src: /src/openssl/crypto/objects/o_names.c:76,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:83,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/objects/o_names.c:84,1
    - Dst: sk_NAME_FUNCS_push
      Src: /src/openssl/crypto/objects/o_names.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/o_names.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:95,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:100,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 111
    functionName: OBJ_NAME_new_index
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_num
    - OPENSSL_zalloc
    - CRYPTO_THREAD_unlock
    - sk_NAME_FUNCS_new_null
    - OPENSSL_free
    - sk_NAME_FUNCS_value
    - ERR_raise
    - sk_NAME_FUNCS_push
    - CRYPTO_THREAD_write_lock
    - OBJ_NAME_init
    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:120,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:121,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/objects/o_names.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OBJ_NAME*
    - OBJ_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: obj_name_cmp
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_value
    - sk_NAME_FUNCS_num
    - OPENSSL_strcasecmp
    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:135,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:136,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/objects/o_names.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - OBJ_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: obj_name_hash
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_value
    - sk_NAME_FUNCS_num
    - ossl_lh_strcasehash
    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:154,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/objects/o_names.c:156,1
    - Dst: lh_OBJ_NAME_retrieve
      Src: /src/openssl/crypto/objects/o_names.c:166,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 181
    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:188,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/o_names.c:194,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/o_names.c:203,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:204,1
    - Dst: lh_OBJ_NAME_insert
      Src: /src/openssl/crypto/objects/o_names.c:208,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:212,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:222,1
    - Dst: lh_OBJ_NAME_error
      Src: /src/openssl/crypto/objects/o_names.c:224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:226,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - name
    - type
    - data
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 236
    functionName: OBJ_NAME_add
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 2
    functionsReached:
    - sk_NAME_FUNCS_num
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - sk_NAME_FUNCS_value
    - lh_OBJ_NAME_insert
    - CRYPTO_THREAD_write_lock
    - OBJ_NAME_init
    - lh_OBJ_NAME_error
    - OPENSSL_malloc
    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:243,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/o_names.c:246,1
    - Dst: lh_OBJ_NAME_delete
      Src: /src/openssl/crypto/objects/o_names.c:252,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:256,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:266,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 272
    functionName: OBJ_NAME_remove
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_num
    - CRYPTO_THREAD_unlock
    - OPENSSL_free
    - sk_NAME_FUNCS_value
    - CRYPTO_THREAD_write_lock
    - OBJ_NAME_init
    - lh_OBJ_NAME_delete
    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:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - name
    - d
    argTypes:
    - OBJ_NAME*
    - OBJ_DOALL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    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: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    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:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n1_
    - n2_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 322
    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:332,1
    - Dst: lh_OBJ_NAME_num_items
      Src: /src/openssl/crypto/objects/o_names.c:332,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/objects/o_names.c:336,1
    - Dst: qsort
      Src: /src/openssl/crypto/objects/o_names.c:338,1
    - Dst: fn
      Src: /src/openssl/crypto/objects/o_names.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - type
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 345
    functionName: OBJ_NAME_do_all_sorted
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 2
    functionsReached:
    - OBJ_NAME_do_all
    - OPENSSL_free
    - lh_OBJ_NAME_num_items
    - fn
    - qsort
    - OPENSSL_malloc_array
    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:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - onp
    argTypes:
    - OBJ_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 356
    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:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - NAME_FUNCS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    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:371,1
    - Dst: lh_OBJ_NAME_set_down_load
      Src: /src/openssl/crypto/objects/o_names.c:372,1
    - Dst: lh_OBJ_NAME_doall
      Src: /src/openssl/crypto/objects/o_names.c:374,1
    - Dst: lh_OBJ_NAME_free
      Src: /src/openssl/crypto/objects/o_names.c:376,1
    - Dst: sk_NAME_FUNCS_pop_free
      Src: /src/openssl/crypto/objects/o_names.c:377,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/o_names.c:378,1
    - Dst: lh_OBJ_NAME_set_down_load
      Src: /src/openssl/crypto/objects/o_names.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: OBJ_NAME_cleanup
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 1
    functionsReached:
    - lh_OBJ_NAME_set_down_load
    - lh_OBJ_NAME_free
    - CRYPTO_THREAD_lock_free
    - sk_NAME_FUNCS_pop_free
    - lh_OBJ_NAME_get_down_load
    - lh_OBJ_NAME_doall
    linkageType: ''
    returnType: void
    signature: void OBJ_NAME_cleanup(int type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_object_new
      Src: /src/openssl/crypto/objects/obj_lib.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_lib.c:29,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/objects/obj_lib.c:37,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/objects/obj_lib.c:43,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/objects/obj_lib.c:46,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_lib.c:51,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - o
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 53
    functionName: OBJ_dup
    functionSourceFile: /src/openssl/crypto/objects/obj_lib.c
    functionUses: 18
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - ossl_asn1_object_new
    - ERR_raise
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/objects/obj_lib.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: OBJ_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_lib.c
    functionUses: 23
    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: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: 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: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    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:52,1
    - Dst: RSA_METHOD*::init
      Src: /src/openssl/crypto/rsa/rsa_lib.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rsa
    - meth
    argTypes:
    - RSA*
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: RSA_set_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - RSA_METHOD*::init
    - RSA_METHOD*::finish
    linkageType: ''
    returnType: int
    signature: int RSA_set_method(RSA *rsa, const RSA_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/rsa/rsa_lib.c:61,1
    - Dst: rsa_new_intern
      Src: /src/openssl/crypto/rsa/rsa_lib.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: RSA_new_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - rsa_new_intern
    - ossl_assert
    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: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: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_lib.c:74,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rsa/rsa_lib.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:82,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:86,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:88,1
    - Dst: ossl_rsa_alloc_blinding
      Src: /src/openssl/crypto/rsa/rsa_lib.c:92,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/crypto/rsa/rsa_lib.c:97,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/rsa/rsa_lib.c:100,1
    - Dst: RSA*::meth::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: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 115
    functionName: rsa_new_intern
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 3
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - RSA_get_default_method
    - RSA*::meth::init
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - ERR_raise
    - RSA_free
    - CRYPTO_THREAD_lock_new
    - ossl_rsa_alloc_blinding
    linkageType: ''
    returnType: RSA
    signature: RSA *rsa_new_intern(OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:124,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:125,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:128,1
    - Dst: RSA*::meth::finish
      Src: /src/openssl/crypto/rsa/rsa_lib.c:131,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/rsa/rsa_lib.c:134,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:137,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:138,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:141,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:142,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:144,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:145,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:147,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:148,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:149,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:150,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:151,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:152,1
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:155,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:159,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:160,1
    - Dst: ossl_rsa_free_blinding
      Src: /src/openssl/crypto/rsa/rsa_lib.c:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 164
    functionName: RSA_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 6
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - ossl_rsa_free_blinding
    - ossl_rsa_acvp_test_free
    - BN_free
    - RSA*::meth::finish
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - RSA_PSS_PARAMS_free
    - sk_RSA_PRIME_INFO_pop_free
    - BN_clear_free
    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:170,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:173,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: RSA_up_ref
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    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: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - RSA*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: RSA_set_ex_data
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    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:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: RSA_get_ex_data
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    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: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    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: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    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:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 280
    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:351,1
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:352,1
    - Dst: icbrt64
      Src: /src/openssl/crypto/rsa/rsa_lib.c:352,1
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:352,1
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 358
    functionName: ossl_ifc_ffc_compute_security_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - ilog_e
    - mul2
    - icbrt64
    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:362,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:367,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/openssl/crypto/rsa/rsa_lib.c:369,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 374
    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
    - ossl_rsa_multip_cap
    - BN_num_bits
    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:387,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:391,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:395,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - r
    - n
    - e
    - d
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: RSA_set0_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - BN_free
    - BN_set_flags
    - BN_clear_free
    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:414,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:416,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:419,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: RSA_set0_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - BN_set_flags
    - BN_clear_free
    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:439,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:441,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:444,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:446,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:449,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - r
    - dmp1
    - dmq1
    - iqmp
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 456
    functionName: RSA_set0_crt_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - BN_set_flags
    - BN_clear_free
    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:466,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/openssl/crypto/rsa/rsa_lib.c:473,1
    - Dst: ossl_rsa_multip_info_new
      Src: /src/openssl/crypto/rsa/rsa_lib.c:481,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:485,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:486,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:487,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:491,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:492,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:493,1
    - Dst: ossl_rsa_multip_info_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:495,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/openssl/crypto/rsa/rsa_lib.c:498,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/openssl/crypto/rsa/rsa_lib.c:503,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:515,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:524,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: 526
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 526
    functionName: RSA_set0_multi_prime_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - sk_RSA_PRIME_INFO_push
    - sk_RSA_PRIME_INFO_new_reserve
    - ossl_rsa_multip_calc_product
    - ossl_rsa_multip_info_new
    - ossl_rsa_multip_info_free
    - STACK_OF
    - BN_clear_free
    - BN_set_flags
    - sk_RSA_PRIME_INFO_pop_free
    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: 538
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 538
    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: 546
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 546
    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:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 557
    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:564,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - primes
    argTypes:
    - RSA*
    - BIGNUM*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 577
    functionName: RSA_get0_multi_prime_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - sk_RSA_PRIME_INFO_value
    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: 590
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 590
    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:598,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - r
    - exps
    - coeffs
    argTypes:
    - RSA*
    - BIGNUM*[]
    - BIGNUM*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 617
    functionName: RSA_get0_multi_prime_crt_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - sk_RSA_PRIME_INFO_value
    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: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    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: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    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: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    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: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    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: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    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: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    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: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    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: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    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: 667
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 667
    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:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - pss
    argTypes:
    - RSA*
    - RSA_PSS_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 679
    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: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    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: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    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: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    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: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    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: 706
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 706
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 717
    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: 880
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 880
    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:884,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_lib.c:884,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:885,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_lib.c:885,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:886,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_lib.c:886,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/openssl/crypto/rsa/rsa_lib.c:895,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:896,1
    - Dst: RSA_get0_n
      Src: /src/openssl/crypto/rsa/rsa_lib.c:896,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:898,1
    - Dst: RSA_get0_d
      Src: /src/openssl/crypto/rsa/rsa_lib.c:898,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:901,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:902,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:902,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:907,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:908,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:908,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:913,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:914,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:914,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:922,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:923,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:924,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 927
    functionName: ossl_rsa_check_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_get0_all_params
    - sk_BIGNUM_const_new_null
    - sk_BIGNUM_const_value
    - safe_BN_num_bits
    - STACK_OF
    - sk_BIGNUM_const_free
    - sk_BIGNUM_const_num
    - RSA_get0_n
    - RSA_get0_d
    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:941,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:949,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:950,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:954,1
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:954,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:960,1
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/openssl/crypto/rsa/rsa_lib.c:961,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:963,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:965,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:967,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: 968
      start: 931
    functionDepth: 4
    functionLinenumber: 931
    functionLinenumberEnd: 968
    functionName: int_set_rsa_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - ERR_raise
    - OSSL_PARAM_construct_end
    - evp_pkey_type2name
    - evp_pkey_ctx_is_provided
    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:981,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:989,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:990,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:994,1
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:994,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1000,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1001,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1003,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: 1004
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 1004
    functionName: int_get_rsa_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_is_a
    - ERR_raise
    - OSSL_PARAM_construct_end
    - evp_pkey_type2name
    - 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:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pad_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1010
    functionDepth: 5
    functionLinenumber: 1010
    functionLinenumberEnd: 1014
    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:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pad_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1020
    functionDepth: 5
    functionLinenumber: 1020
    functionLinenumberEnd: 1024
    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:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    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:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 5
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    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:1052,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1057
    functionName: EVP_PKEY_CTX_set_rsa_oaep_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_is_a
    - EVP_PKEY_CTX_ctrl
    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:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1059
    functionDepth: 5
    functionLinenumber: 1059
    functionLinenumberEnd: 1065
    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:1070,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: 1073
      start: 1067
    functionDepth: 5
    functionLinenumber: 1067
    functionLinenumberEnd: 1073
    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:1082,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1079
    functionDepth: 4
    functionLinenumber: 1079
    functionLinenumberEnd: 1087
    functionName: EVP_PKEY_CTX_get_rsa_oaep_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_is_a
    - EVP_PKEY_CTX_ctrl
    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:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 5
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    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:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1099
    functionDepth: 5
    functionLinenumber: 1099
    functionLinenumberEnd: 1106
    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:1111,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: 1114
      start: 1108
    functionDepth: 5
    functionLinenumber: 1108
    functionLinenumberEnd: 1114
    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:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1120
    functionDepth: 4
    functionLinenumber: 1120
    functionLinenumberEnd: 1124
    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:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - mdname
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1126
    functionDepth: 5
    functionLinenumber: 1126
    functionLinenumberEnd: 1132
    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:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1138
    functionDepth: 5
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    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:1155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1156,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1162,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1170,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1172,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1174,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - label
    - llen
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1144
    functionDepth: 4
    functionLinenumber: 1144
    functionLinenumberEnd: 1181
    functionName: EVP_PKEY_CTX_set0_rsa_oaep_label
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_is_a
    - OPENSSL_free
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - ERR_raise
    - OSSL_PARAM_construct_end
    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:1188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1189,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1195,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1198,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1200,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - label
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1210
    functionName: EVP_PKEY_CTX_get0_rsa_oaep_label
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_is_a
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_get_params
    - 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:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1216
    functionDepth: 5
    functionLinenumber: 1216
    functionLinenumberEnd: 1230
    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:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1236
    functionDepth: 5
    functionLinenumber: 1236
    functionLinenumberEnd: 1249
    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:1255,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1256,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1261,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1264,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1266,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1251
    functionDepth: 4
    functionLinenumber: 1251
    functionLinenumberEnd: 1269
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_is_a
    - ERR_raise
    - 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:1276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1277,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1283,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1284,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1287,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1288,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - bits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1271
    functionDepth: 4
    functionLinenumber: 1271
    functionLinenumberEnd: 1291
    functionName: EVP_PKEY_CTX_set_rsa_keygen_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_GEN_OP
    - OSSL_PARAM_construct_size_t
    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:1295,1
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1303,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pubexp
    argTypes:
    - EVP_PKEY_CTX*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1309
    functionName: EVP_PKEY_CTX_set_rsa_keygen_pubexp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - BN_free
    - RSA_pkey_ctx_ctrl
    - evp_pkey_ctx_is_provided
    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:1319,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1320,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1324,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1326,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pubexp
    argTypes:
    - EVP_PKEY_CTX*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1329
    functionName: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - BN_free
    - EVP_PKEY_CTX_ctrl
    - BN_dup
    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:1336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1337,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1343,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1344,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1347,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1348,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - primes
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1331
    functionDepth: 4
    functionLinenumber: 1331
    functionLinenumberEnd: 1351
    functionName: EVP_PKEY_CTX_set_rsa_keygen_primes
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_GEN_OP
    - OSSL_PARAM_construct_size_t
    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_end
    - BN_clear
    - BN_CTX_start
    - BN_is_one
    - BN_copy
    - BN_CTX_get
    - BN_mod_mul
    - BN_cmp
    - BN_value_one
    - BN_set_flags
    - BN_sub_word
    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_end
    - BN_CTX_start
    - BN_copy
    - BN_CTX_get
    - BN_num_bits
    - BN_rshift
    - BN_cmp
    - 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_end
    - BN_clear
    - BN_CTX_start
    - BN_is_one
    - ossl_rsa_check_prime_factor_range
    - BN_copy
    - BN_CTX_get
    - BN_gcd
    - BN_set_flags
    - BN_sub_word
    - 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:208,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:210,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:211,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_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:217,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - rsa
    - nbits
    - ctx
    argTypes:
    - RSA*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 220
    functionName: ossl_rsa_check_private_exponent
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_clear
    - BN_CTX_start
    - BN_is_one
    - BN_CTX_get
    - BN_mod_mul
    - BN_num_bits
    - BN_cmp
    - ossl_rsa_get_lcm
    - BN_set_flags
    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:231,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:232,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:235,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:235,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: ossl_rsa_check_public_exponent
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_is_odd
    - BN_num_bits
    - BN_value_one
    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:248,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:250,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:252,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:255,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - diff
    - p
    - q
    - nbits
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: ossl_rsa_check_pminusq_diff
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_sub
    - BN_set_negative
    - BN_num_bits
    - BN_sub_word
    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:270,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:270,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:271,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:271,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:272,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:273,1
    - Dst: BN_div
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:274,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: 275
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: ossl_rsa_get_lcm
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 1
    functionsReached:
    - BN_sub
    - BN_div
    - BN_gcd
    - BN_value_one
    - BN_mul
    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:359,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:359,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 360
    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:385,1
    - Dst: ossl_rsa_sp800_56b_validate_strength
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:389,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:395,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:396,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:403,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:407,1
    - Dst: ERR_raise
      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:413,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:417,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:421,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:422,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:423,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:426,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:427,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:432,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:433,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:434,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:436,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:440,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:443,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:444,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:445,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 4
    argNames:
    - rsa
    - efixed
    - strength
    - nbits
    argTypes:
    - RSA*
    - BIGNUM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 373
    functionDepth: 7
    functionLinenumber: 373
    functionLinenumberEnd: 447
    functionName: ossl_rsa_sp800_56b_check_keypair
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - ossl_rsa_check_prime_factor
    - BN_CTX_start
    - ossl_rsa_check_private_exponent
    - BN_clear
    - ossl_rsa_check_pminusq_diff
    - ossl_rsa_sp800_56b_validate_strength
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - ossl_rsa_check_public_exponent
    - BN_num_bits
    - BN_cmp
    - ossl_rsa_check_crt_components
    - BN_mul
    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:265,1
    - Dst: ossl_rsa_digestinfo_encoding
      Src: /src/openssl/crypto/rsa/rsa_sign.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:270,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_sign.c:275,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:278,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:279,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: 284
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 284
    functionName: encode_pkcs1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_rsa_digestinfo_encoding
    - ERR_raise
    - OPENSSL_malloc
    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:296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:307,1
    - Dst: encode_pkcs1
      Src: /src/openssl/crypto/rsa/rsa_sign.c:313,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_sign.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:319,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_sign.c:322,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sign.c:331,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: 333
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 333
    functionName: RSA_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - RSA*::meth::rsa_sign
    - OPENSSL_clear_free
    - encode_pkcs1
    - RSA_size
    - RSA_private_encrypt
    - ERR_raise
    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:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:353,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_sign.c:358,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_sign.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:376,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:385,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_sign.c:389,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:390,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:405,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_sign.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:410,1
    - Dst: digest_sz_from_nid
      Src: /src/openssl/crypto/rsa/rsa_sign.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:429,1
    - Dst: encode_pkcs1
      Src: /src/openssl/crypto/rsa/rsa_sign.c:436,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_sign.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:441,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:447,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sign.c:455,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sign.c:456,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: 458
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 458
    functionName: ossl_rsa_verify
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - RSA_size
    - encode_pkcs1
    - digest_sz_from_nid
    - ERR_raise
    - RSA_public_decrypt
    - memcpy
    - memcmp
    - OPENSSL_malloc
    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:465,1
    - Dst: ossl_rsa_verify
      Src: /src/openssl/crypto/rsa/rsa_sign.c:467,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: 468
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 468
    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:
    - OPENSSL_free
    - BN_clear_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:
    - ossl_rsa_multip_info_free_ex
    - BN_clear_free
    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_zalloc
    - BN_free
    - BN_secure_new
    - OPENSSL_free
    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_CTX_new
    - BN_CTX_free
    - sk_RSA_PRIME_INFO_num
    - sk_RSA_PRIME_INFO_value
    - BN_mul
    - BN_secure_new
    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: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    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: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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: 0
    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:
    - OPENSSL_strdup
    - memcpy
    - OPENSSL_malloc
    - OPENSSL_free
    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_strdup
    - OPENSSL_free
    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: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "(*RSA_meth_get_pub_enc(const RSA_METHOD *meth))(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))(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: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: RSA_meth_set_pub_enc
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: "(*RSA_meth_get_pub_dec(const RSA_METHOD *meth))(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))(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: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: RSA_meth_set_pub_dec
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: "(*RSA_meth_get_priv_enc(const RSA_METHOD *meth))(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))(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: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: RSA_meth_set_priv_enc
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: "(*RSA_meth_get_priv_dec(const RSA_METHOD *meth))(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))(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: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: RSA_meth_set_priv_dec
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))(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))(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: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: RSA_meth_set_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: "(*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))(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))(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: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: RSA_meth_set_bn_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    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: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: RSA_meth_set_finish
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: "(*RSA_meth_get_sign(const RSA_METHOD *meth))(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))(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: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: RSA_meth_set_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    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: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: "(*RSA_meth_get_verify(const RSA_METHOD *meth))(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))(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: 252
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 252
    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: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: (*RSA_meth_get_keygen(const RSA_METHOD *meth))(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))(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: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    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: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth))(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))(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: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    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: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: RSA_get_default_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 1
    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: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: RSA_PKCS1_OpenSSL
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    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: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    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:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:115,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:120,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:125,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:127,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:132,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:134,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:135,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:136,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:137,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:138,1
    - Dst: ossl_rsa_padding_add_PKCS1_type_2_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:144,1
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:148,1
    - Dst: RSA_padding_add_none
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:156,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:162,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:172,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:174,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:175,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:179,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:180,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:183,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:191,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:197,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:201,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:209,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:211,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:212,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:213,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: 215
      start: 106
    functionDepth: 8
    functionLinenumber: 106
    functionLinenumberEnd: 215
    functionName: rsa_ossl_public_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_ucmp
    - BN_copy
    - RSA*::meth::bn_mod_exp
    - BN_CTX_start
    - ossl_rsa_padding_add_PKCS1_type_2_ex
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - OPENSSL_malloc
    - BN_CTX_end
    - OPENSSL_clear_free
    - BN_CTX_free
    - RSA_padding_add_none
    - BN_num_bits
    - BN_bn2binpad
    - BN_num_bytes
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    - BN_value_one
    - BN_MONT_CTX_set_locked
    - BN_sub_word
    linkageType: ''
    returnType: int
    signature: "int rsa_ossl_public_encrypt(int flen, const unsigned char *from,\n
      \   unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:224,1
    - Dst: tsan_counter
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:228,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:229,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: get_unique_thread_id
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - tsan_counter
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_get_local_ex
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t get_unique_thread_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:239,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: 240
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 240
    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:244,1
    - Dst: ossl_sa_BN_BLINDING_doall_arg
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:246,1
    - Dst: ossl_sa_BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: ossl_rsa_free_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 1
    functionsReached:
    - SPARSE_ARRAY_OF
    - ossl_sa_BN_BLINDING_doall_arg
    - 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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    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:257,1
    - Dst: get_unique_thread_id
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:258,1
    - Dst: ossl_sa_BN_BLINDING_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: ossl_rsa_get_thread_bn_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - SPARSE_ARRAY_OF
    - get_unique_thread_id
    - 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:265,1
    - Dst: get_unique_thread_id
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:266,1
    - Dst: ossl_sa_BN_BLINDING_set
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rsa
    - b
    argTypes:
    - RSA*
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: ossl_rsa_set_thread_bn_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - SPARSE_ARRAY_OF
    - get_unique_thread_id
    - ossl_sa_BN_BLINDING_set
    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:275,1
    - Dst: ossl_rsa_get_thread_bn_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:278,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:279,1
    - Dst: RSA_setup_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:282,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:283,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:284,1
    - Dst: ossl_rsa_set_thread_bn_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:287,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:288,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 296
    functionName: rsa_get_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - BN_BLINDING_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - RSA_setup_blinding
    - ossl_rsa_set_thread_bn_blinding
    - ossl_rsa_get_thread_bn_blinding
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - f
    - ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 5
    functionLinenumber: 298
    functionLinenumberEnd: 304
    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:316,1
    - Dst: BN_BLINDING_invert_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - f
    - ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 318
    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:330,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:332,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:333,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:334,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:335,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:336,1
    - Dst: RSA_padding_add_PKCS1_type_1
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:342,1
    - Dst: RSA_padding_add_X931
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:345,1
    - Dst: RSA_padding_add_none
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:351,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:357,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:362,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:367,1
    - Dst: rsa_get_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:374,1
    - Dst: rsa_blinding_convert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:378,1
    - Dst: RSA*::meth::rsa_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:383,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:392,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:393,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:396,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:398,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:400,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:404,1
    - Dst: rsa_blinding_invert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:408,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:412,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:414,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:426,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:428,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:429,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:430,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: 432
      start: 321
    functionDepth: 8
    functionLinenumber: 321
    functionLinenumberEnd: 432
    functionName: rsa_ossl_private_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_ucmp
    - RSA_padding_add_X931
    - rsa_get_blinding
    - RSA*::meth::rsa_mod_exp
    - RSA*::meth::bn_mod_exp
    - BN_CTX_start
    - BN_sub
    - BN_CTX_new_ex
    - BN_CTX_get
    - ERR_raise
    - BN_MONT_CTX_set_locked
    - rsa_blinding_invert
    - OPENSSL_malloc
    - BN_CTX_end
    - OPENSSL_clear_free
    - BN_CTX_free
    - RSA_padding_add_none
    - rsa_blinding_convert
    - BN_cmp
    - BN_new
    - BN_bn2binpad
    - BN_num_bytes
    - RSA_padding_add_PKCS1_type_1
    - BN_free
    - BN_with_flags
    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:446,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:453,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:454,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:457,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:459,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:460,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:463,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:474,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:479,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:485,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:489,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:490,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:495,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:497,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:502,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:507,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:508,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:514,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:515,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: 517
      start: 434
    functionDepth: 12
    functionLinenumber: 434
    functionLinenumberEnd: 517
    functionName: derive_kdk
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - HMAC_CTX_free
    - HMAC_Update
    - ERR_raise
    - EVP_MD_fetch
    - HMAC_Init_ex
    - memset
    - BN_free
    - EVP_MD_free
    - HMAC_Final
    - BN_with_flags
    - BN_new
    - HMAC_CTX_new
    - 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:535,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:537,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:538,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:541,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:544,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:554,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:559,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:564,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:574,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:576,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:576,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:577,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:581,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:582,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:584,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:585,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:591,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:592,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:597,1
    - Dst: rsa_get_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:602,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:604,1
    - Dst: rsa_blinding_convert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:608,1
    - Dst: RSA*::meth::rsa_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:614,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:617,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:619,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:623,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:624,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:627,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:628,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:630,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:634,1
    - Dst: rsa_blinding_invert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:638,1
    - Dst: derive_kdk
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:646,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:650,1
    - Dst: RSA_padding_check_PKCS1_type_2
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:656,1
    - Dst: ossl_rsa_padding_check_PKCS1_type_2
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:659,1
    - Dst: RSA_padding_check_PKCS1_OAEP
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:662,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:665,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:677,1
    - Dst: err_clear_last_constant_time
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:678,1
    - Dst: constant_time_msb
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:678,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:682,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:683,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:684,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: 686
      start: 519
    functionDepth: 13
    functionLinenumber: 519
    functionLinenumberEnd: 686
    functionName: rsa_ossl_private_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_ucmp
    - RSA_padding_check_PKCS1_OAEP
    - BN_copy
    - rsa_get_blinding
    - RSA*::meth::rsa_mod_exp
    - memcpy
    - RSA*::meth::bn_mod_exp
    - BN_CTX_start
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_with_flags
    - derive_kdk
    - RSA_padding_check_PKCS1_type_2
    - constant_time_msb
    - rsa_blinding_invert
    - OPENSSL_malloc
    - BN_CTX_end
    - ossl_rsa_padding_check_PKCS1_type_2
    - OPENSSL_clear_free
    - BN_CTX_free
    - rsa_blinding_convert
    - BN_new
    - BN_bn2binpad
    - err_clear_last_constant_time
    - BN_num_bytes
    - BN_free
    - BN_value_one
    - BN_MONT_CTX_set_locked
    - BN_sub_word
    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:697,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:698,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:702,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:703,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:708,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:710,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:715,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:717,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:718,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:719,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:721,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:724,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:725,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:734,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:738,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:741,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:742,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:747,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:751,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:756,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:757,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:760,1
    - Dst: RSA_padding_check_PKCS1_type_1
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:766,1
    - Dst: RSA_padding_check_X931
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:769,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:772,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:775,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:779,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:782,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:783,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:784,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: 786
      start: 689
    functionDepth: 8
    functionLinenumber: 689
    functionLinenumberEnd: 786
    functionName: rsa_ossl_public_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_ucmp
    - memcpy
    - RSA*::meth::bn_mod_exp
    - BN_CTX_start
    - BN_sub
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - OPENSSL_malloc
    - BN_CTX_end
    - OPENSSL_clear_free
    - BN_CTX_free
    - bn_get_words
    - RSA_padding_check_PKCS1_type_1
    - BN_num_bits
    - RSA_padding_check_X931
    - BN_bn2binpad
    - BN_num_bytes
    - BN_MONT_CTX_set_locked
    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:798,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:800,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:802,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:804,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:805,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:811,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:817,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:826,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:827,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:829,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:830,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:832,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:837,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:838,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:839,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:840,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:848,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:858,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:871,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:872,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:874,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:875,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:882,1
    - Dst: bn_mod_sub_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:894,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:897,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:898,1
    - Dst: bn_mul_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:901,1
    - Dst: bn_mod_add_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:902,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:910,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:913,1
    - Dst: BN_mod
      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_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:921,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:923,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:926,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:929,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:931,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:932,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:936,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:940,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:949,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:952,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:955,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:957,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:961,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:966,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:966,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:969,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:970,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:976,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:977,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:978,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:982,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:985,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:986,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:988,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:989,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:990,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:994,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:995,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:996,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1001,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1002,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1006,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1012,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1013,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1016,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1020,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1023,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1025,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1026,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1030,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1040,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1041,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1043,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1045,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1051,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1057,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1058,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1059,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1063,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1064,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1068,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1070,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1071,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1075,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1076,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1077,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1080,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1081,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1084,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1085,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1089,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1096,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1100,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1101,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1111,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1113,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1114,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1118,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1120,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1121,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1123,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1130,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1133,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1135,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1137,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1141,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1152,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1155,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: 1157
      start: 788
    functionDepth: 8
    functionLinenumber: 788
    functionLinenumberEnd: 1157
    functionName: rsa_ossl_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - sk_RSA_PRIME_INFO_value
    - RSA*::meth::bn_mod_exp
    - BN_CTX_start
    - BN_sub
    - bn_mul_fixed_top
    - BN_CTX_get
    - sk_RSA_PRIME_INFO_num
    - BN_mod_exp_mont_consttime_x2
    - BN_MONT_CTX_set_locked
    - BN_mul
    - bn_from_mont_fixed_top
    - BN_CTX_end
    - BN_mod_exp_mont
    - bn_mul_mont_fixed_top
    - bn_mod_add_fixed_top
    - BN_new
    - BN_mod
    - BN_is_negative
    - BN_add
    - bn_to_mont_fixed_top
    - bn_mod_sub_fixed_top
    - BN_free
    - bn_correct_top
    - BN_with_flags
    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: 1163
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1163
    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:1171,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1172,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1173,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1177,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1178,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1165
    functionDepth: 4
    functionLinenumber: 1165
    functionLinenumberEnd: 1181
    functionName: rsa_ossl_finish
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - sk_RSA_PRIME_INFO_num
    - sk_RSA_PRIME_INFO_value
    - BN_MONT_CTX_free
    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:1188,1
    - Dst: rsa_ossl_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1191,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: 1192
      start: 1184
    functionDepth: 9
    functionLinenumber: 1184
    functionLinenumberEnd: 1192
    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: 4
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: RSA_generate_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_depr.c
    functionUses: 0
    functionsReached:
    - BN_set_bit
    - RSA_new
    - BN_GENCB_new
    - RSA_free
    - BN_GENCB_set_old
    - BN_free
    - BN_new
    - RSA_generate_key_ex
    - BN_GENCB_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:38,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:49,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:52,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: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    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:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:116,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:119,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: 122
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 122
    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:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:135,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:147,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:152,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:160,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: 162
      start: 124
    functionDepth: 7
    functionLinenumber: 124
    functionLinenumberEnd: 162
    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:167,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: 168
      start: 164
    functionDepth: 8
    functionLinenumber: 164
    functionLinenumberEnd: 168
    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:189,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:193,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:203,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:209,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:210,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:215,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:217,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:227,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:239,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:251,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:251,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:254,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:256,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:259,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:260,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:270,1
    - Dst: err_clear_last_constant_time
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:271,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:274,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: 275
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 275
    functionName: RSA_padding_check_PKCS1_type_2
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - err_clear_last_constant_time
    - constant_time_eq
    - OPENSSL_clear_free
    - constant_time_select_int
    - ERR_raise
    - constant_time_is_zero
    - constant_time_ge
    - constant_time_select_8
    - constant_time_lt
    - 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:294,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:303,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:316,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:321,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:327,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:335,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:339,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:343,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:355,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:358,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:361,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:370,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:371,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: 373
      start: 277
    functionDepth: 12
    functionLinenumber: 277
    functionLinenumberEnd: 373
    functionName: ossl_rsa_prf
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    - HMAC_Update
    - ERR_raise
    - EVP_MD_fetch
    - memcpy
    - EVP_MD_free
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    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:419,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:424,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:426,1
    - Dst: ossl_rsa_prf
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:430,1
    - Dst: ossl_rsa_prf
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:434,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:460,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:461,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:468,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:469,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:474,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:475,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:485,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:498,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:500,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:520,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:521,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: 523
      start: 387
    functionDepth: 13
    functionLinenumber: 387
    functionLinenumberEnd: 523
    functionName: ossl_rsa_padding_check_PKCS1_type_2
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - constant_time_eq
    - OPENSSL_free
    - constant_time_select_int
    - ERR_raise
    - constant_time_is_zero
    - constant_time_ge
    - constant_time_select_8
    - constant_time_lt
    - ossl_rsa_prf
    - 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:561,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:569,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:592,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:610,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:612,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:624,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: 639
      start: 546
    functionDepth: 7
    functionLinenumber: 546
    functionLinenumberEnd: 639
    functionName: ossl_rsa_padding_check_PKCS1_type_2_TLS
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 0
    functionsReached:
    - constant_time_eq
    - ERR_raise
    - RAND_priv_bytes_ex
    - constant_time_is_zero
    - constant_time_select_8
    - 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:
    - RSA_print
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - 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_print_private
    - EVP_PKEY_new
    - EVP_PKEY_set1_RSA
    - EVP_PKEY_free
    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_Digest
    - OPENSSL_cleanse
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_MD_get_size
    - PKCS1_MGF1
    - EVP_MD_xof
    - EVP_sha1
    - memset
    - RAND_bytes_ex
    - memcpy
    - 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:
    - CRYPTO_memcmp
    - EVP_Digest
    - err_clear_last_constant_time
    - constant_time_eq
    - OPENSSL_cleanse
    - OPENSSL_clear_free
    - constant_time_select_int
    - ERR_raise
    - EVP_MD_get_size
    - PKCS1_MGF1
    - EVP_MD_xof
    - EVP_sha1
    - constant_time_is_zero
    - constant_time_ge
    - constant_time_select_8
    - constant_time_lt
    - 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: 4
    functionsReached:
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    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:120,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rsa/rsa_pss.c:126,1
    - Dst: EVP_DigestInit_ex
      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:135,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:138,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/rsa/rsa_pss.c:141,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_pss.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pss.c:152,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_pss.c:153,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:
    - ERR_raise_data
    - OPENSSL_free
    - RSA_size
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_get_size
    - PKCS1_MGF1
    - EVP_DigestUpdate
    - BN_num_bits
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - memcmp
    - 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: 290
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 290
    functionName: ossl_rsa_padding_add_PKCS1_PSS_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - RSA_size
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_get_size
    - PKCS1_MGF1
    - RAND_bytes_ex
    - EVP_DigestUpdate
    - BN_num_bits
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - 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: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    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:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    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:347,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: 349
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 349
    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: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    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: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    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: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    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: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    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: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    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: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    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: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    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: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    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: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    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:45,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/crypto/rsa/rsa_gen.c:47,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: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: RSA_generate_key_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 2
    functionsReached:
    - RSA*::meth::rsa_keygen
    - RSA_generate_multi_prime_key
    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:58,1
    - Dst: RSA*::meth::rsa_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:68,1
    - Dst: rsa_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - rsa
    - bits
    - primes
    - e_value
    - cb
    - a
    - b
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: ossl_rsa_generate_multi_prime_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 0
    functionsReached:
    - RSA*::meth::rsa_keygen
    - rsa_keygen
    - RSA*::meth::rsa_multi_prime_keygen
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_generate_multi_prime_key(RSA *rsa, int bits, int primes,\n
      \   BIGNUM *e_value, BN_GENCB *cb,\n    uint32_t a, uint32_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_generate_multi_prime_key
      Src: /src/openssl/crypto/rsa/rsa_gen.c:79,1
    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: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: RSA_generate_multi_prime_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_generate_multi_prime_key
    linkageType: ''
    returnType: int
    signature: "int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes,\n
      \   BIGNUM *e, BN_GENCB *cb)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:96,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_gen.c:107,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_gen.c:111,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:113,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:117,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:121,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:122,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:123,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:128,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:129,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:130,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:132,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:135,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:136,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:139,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:143,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:143,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:145,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:146,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:151,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:153,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:156,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:156,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:161,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:163,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:165,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:168,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:168,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:177,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:177,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:179,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:179,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:181,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:183,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:184,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:185,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:188,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:189,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:189,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:191,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:193,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:193,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:199,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:202,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_gen.c:206,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:208,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:208,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_gen.c:212,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:214,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:214,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:218,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:219,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:220,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_gen.c:223,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:225,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:225,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:231,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:235,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:235,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:236,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:239,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:239,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:243,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:244,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:245,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:248,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:248,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:252,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:252,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:259,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:260,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:261,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:262,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:263,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:264,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_gen.c:265,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:266,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:267,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:268,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:269,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: 271
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 271
    functionName: ossl_rsa_multiprime_derive
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 0
    functionsReached:
    - BN_copy
    - BN_CTX_start
    - BN_sub
    - sk_BIGNUM_pop_free
    - BN_CTX_new_ex
    - BN_CTX_get
    - sk_BIGNUM_insert
    - STACK_OF
    - BN_mul
    - BN_set_flags
    - BN_secure_new
    - BN_CTX_end
    - BN_CTX_free
    - BN_new
    - sk_BIGNUM_value
    - BN_mod
    - sk_BIGNUM_new_null
    - BN_clear_free
    - BN_mod_inverse
    - BN_free
    - BN_value_one
    - sk_BIGNUM_num
    - BN_dup
    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:280,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:281,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:282,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:290,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:294,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/crypto/rsa/rsa_gen.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:299,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/openssl/crypto/rsa/rsa_gen.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:304,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:308,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:312,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:316,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_gen.c:320,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_gen.c:323,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:324,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:325,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:326,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:340,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:342,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:344,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:345,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:347,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:349,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:350,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:352,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/openssl/crypto/rsa/rsa_gen.c:357,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:362,1
    - Dst: ossl_rsa_multip_info_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:369,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/openssl/crypto/rsa/rsa_gen.c:372,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:376,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:389,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:392,1
    - Dst: BN_generate_prime_ex2
      Src: /src/openssl/crypto/rsa/rsa_gen.c:396,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:414,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_gen.c:418,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:423,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:423,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/rsa/rsa_gen.c:425,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:426,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:427,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/rsa/rsa_gen.c:431,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/rsa/rsa_gen.c:432,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/rsa/rsa_gen.c:433,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/rsa/rsa_gen.c:435,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:439,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:448,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:452,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:456,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:458,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:461,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:461,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/rsa/rsa_gen.c:480,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/rsa/rsa_gen.c:482,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:497,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:512,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:513,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:522,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:524,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:526,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:528,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:531,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:531,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_gen.c:535,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:540,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:540,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:547,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:547,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:550,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:550,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:553,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:557,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:559,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:559,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:561,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:565,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:566,1
    - Dst: ossl_rsa_multiprime_derive
      Src: /src/openssl/crypto/rsa/rsa_gen.c:571,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:583,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:583,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:584,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:584,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:585,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:586,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:587,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:589,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:590,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:591,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:592,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:593,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:594,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:595,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:598,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:599,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:600,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:606,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:607,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:610,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_gen.c:613,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:614,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: 616
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 616
    functionName: rsa_multiprime_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - BN_copy
    - sk_RSA_PRIME_INFO_value
    - BN_generate_prime_ex2
    - sk_RSA_PRIME_INFO_pop_free
    - ERR_pop_to_mark
    - sk_RSA_PRIME_INFO_push
    - BN_CTX_start
    - sk_BIGNUM_delete
    - ossl_rsa_multiprime_derive
    - ERR_peek_last_error
    - BN_sub
    - sk_BIGNUM_pop_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - sk_BIGNUM_free
    - sk_BIGNUM_insert
    - ossl_rsa_check_public_exponent
    - STACK_OF
    - ERR_GET_LIB
    - BN_mul
    - BN_set_flags
    - BN_secure_new
    - BN_CTX_end
    - BN_CTX_free
    - BN_cmp
    - BN_rshift
    - BN_new
    - ERR_set_mark
    - sk_RSA_PRIME_INFO_new_reserve
    - sk_BIGNUM_new_null
    - ossl_rsa_multip_info_new
    - BN_get_word
    - BN_GENCB_call
    - ossl_rsa_multip_cap
    - BN_clear_free
    - BN_mod_inverse
    - BN_value_one
    - sk_BIGNUM_num
    - BN_dup
    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:626,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_gen.c:635,1
    - Dst: ossl_rsa_sp800_56b_generate_key
      Src: /src/openssl/crypto/rsa/rsa_gen.c:636,1
    - Dst: rsa_multiprime_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:638,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/rsa/rsa_gen.c:645,1
    - Dst: rsa_keygen_pairwise_test
      Src: /src/openssl/crypto/rsa/rsa_gen.c:646,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/crypto/rsa/rsa_gen.c:648,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:650,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:651,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:652,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:653,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:654,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 9
    argNames:
    - libctx
    - rsa
    - bits
    - primes
    - e_value
    - cb
    - pairwise_test
    - a
    - b
    argTypes:
    - OSSL_LIB_CTX*
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    - int
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 619
    functionDepth: 6
    functionLinenumber: 619
    functionLinenumberEnd: 665
    functionName: rsa_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 2
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - rsa_multiprime_keygen
    - ossl_rsa_sp800_56b_generate_key
    - ossl_set_error_state
    - rsa_keygen_pairwise_test
    - BN_num_bits
    - BN_clear_free
    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,\n    uint32_t a, uint32_t
      b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:705,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/rsa/rsa_gen.c:708,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_gen.c:717,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/rsa/rsa_gen.c:718,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/crypto/rsa/rsa_gen.c:727,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/rsa/rsa_gen.c:732,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/crypto/rsa/rsa_gen.c:734,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_gen.c:737,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/rsa/rsa_gen.c:742,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:743,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:744,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - rsa
    - cb
    - cbarg
    argTypes:
    - RSA*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 747
    functionName: rsa_keygen_pairwise_test
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OSSL_SELF_TEST_new
    - RSA_size
    - OSSL_SELF_TEST_onend
    - RSA_public_encrypt
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - OPENSSL_calloc
    - RSA_private_decrypt
    - memcmp
    linkageType: ''
    returnType: int
    signature: int rsa_keygen_pairwise_test(RSA *rsa, OSSL_CALLBACK *cb, void *cbarg)
  - 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:
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_free
    - rsa_param_encode
    - i2d_RSAPublicKey
    - X509_PUBKEY_set0_param
    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: 4
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: rsa_pub_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - RSA_clear_flags
    - ossl_rsa_param_decode
    - RSA_set_flags
    - RSA_free
    - EVP_PKEY_assign
    - 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:
    - OBJ_nid2obj
    - ASN1_STRING_free
    - OPENSSL_clear_free
    - ERR_raise
    - rsa_param_encode
    - PKCS8_pkey_set0
    - i2d_RSAPrivateKey
    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:
    - ossl_rsa_key_from_pkcs8
    - EVP_PKEY_assign
    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: 4
    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: 297
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 297
    functionName: rsa_pss_param_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - ossl_x509_algor_mgf1_decode
    - BIO_indent
    - i2a_ASN1_INTEGER
    - X509_ALGOR_free
    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:307,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:308,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:310,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:313,1
    - Dst: pkey_is_pss
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:317,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: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 387
    functionName: pkey_rsa_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - rsa_pss_param_print
    - BIO_printf
    - pkey_is_pss
    - sk_RSA_PRIME_INFO_num
    - sk_RSA_PRIME_INFO_value
    - BIO_indent
    - BN_num_bits
    - ASN1_bn_print
    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:
    - rsa_pss_param_print
    - BIO_puts
    - X509_signature_dump
    - ossl_rsa_pss_decode
    - OBJ_obj2nid
    - RSA_PSS_PARAMS_free
    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_get0_pkey
    - EVP_PKEY_get_bits
    - ossl_rsa_pss_params_create
    - EVP_MD_get_size
    - EVP_PKEY_CTX_get_rsa_pss_saltlen
    - EVP_PKEY_CTX_get_signature_md
    - EVP_PKEY_CTX_get_rsa_mgf1_md
    - EVP_PKEY_get_size
    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:
    - ASN1_INTEGER_new
    - ossl_x509_algor_md_to_mgf1
    - RSA_PSS_PARAMS_new
    - ossl_x509_algor_new_from_md
    - RSA_PSS_PARAMS_free
    - ASN1_INTEGER_set
    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_PSS_PARAMS_free
    - ASN1_ITEM_rptr
    - rsa_ctx_to_pss
    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
    - ossl_rsa_pss_decode
    - EVP_MD_get_type
    - ERR_raise
    - EVP_PKEY_CTX_get_signature_md
    - OBJ_obj2nid
    - EVP_DigestVerifyInit
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_CTX_set_rsa_mgf1_md
    - ossl_rsa_pss_get_param
    - RSA_PSS_PARAMS_free
    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:
    - OBJ_obj2nid
    - ossl_rsa_pss_to_ctx
    - ERR_raise
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:657,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:660,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:669,1
    - Dst: ossl_rsa_ctx_to_pss_string
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:673,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:678,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:681,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:684,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:684,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:686,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:687,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:691,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:691,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:693,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:699,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:701,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:703,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:711,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:717,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    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: 724
      start: 649
    functionDepth: 8
    functionLinenumber: 649
    functionLinenumberEnd: 724
    functionName: rsa_item_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_is_legacy
    - OBJ_nid2obj
    - OSSL_PARAM_construct_octet_string
    - ASN1_STRING_free
    - ERR_raise
    - OSSL_PARAM_construct_end
    - ossl_rsa_ctx_to_pss_string
    - EVP_PKEY_CTX_get_params
    - ASN1_STRING_dup
    - X509_ALGOR_set0
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_PKEY_CTX_get_rsa_padding
    - d2i_X509_ALGOR
    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:737,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:740,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:741,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:743,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:746,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:752,1
    - Dst: X509_SIG_INFO_set
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:775,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:779,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: 781
      start: 726
    functionDepth: 6
    functionLinenumber: 726
    functionLinenumberEnd: 781
    functionName: rsa_sig_info_set
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_pss_decode
    - EVP_MD_get_type
    - EVP_MD_get_size
    - OBJ_obj2nid
    - ossl_rsa_pss_get_param
    - RSA_PSS_PARAMS_free
    - X509_SIG_INFO_set
    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:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 786
    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: 791
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 791
    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:803,1
    - Dst: RSA_get0_n
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:811,1
    - Dst: RSA_get0_e
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:811,1
    - Dst: ossl_rsa_todata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:814,1
    - Dst: RSA_get0_d
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:818,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:826,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:829,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:830,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:831,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:832,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:833,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:835,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:836,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:841,1
    - Dst: importer
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:845,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:848,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:849,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: 851
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 851
    functionName: rsa_int_export_to
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ossl_rsa_todata
    - ossl_rsa_pss_get_param_unverified
    - EVP_MD_get_type
    - ossl_rsa_pss_params_30_set_hashalg
    - RSA_get0_e
    - ossl_rsa_pss_params_30_set_saltlen
    - importer
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - OSSL_PARAM_free
    - ossl_rsa_pss_params_30_set_defaults
    - OSSL_PARAM_BLD_new
    - ossl_rsa_pss_params_30_todata
    - OSSL_PARAM_BLD_to_param
    - RSA_get0_n
    - RSA_get0_d
    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:857,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:858,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:866,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:870,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:871,1
    - Dst: ossl_rsa_pss_params_30_fromdata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:873,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:883,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:891,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:893,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:894,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:895,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:896,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:897,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:899,1
    - Dst: ossl_rsa_fromdata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:910,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:915,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:918,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:924,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - params
    - vpctx
    - rsa_type
    argTypes:
    - OSSL_PARAM[]
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 853
    functionDepth: 12
    functionLinenumber: 853
    functionLinenumberEnd: 926
    functionName: rsa_int_import_from
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_pss_params_30_fromdata
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_CTX_get0_pkey
    - ossl_rsa_fromdata
    - ossl_rsa_pss_params_30_saltlen
    - RSA_clear_flags
    - EVP_get_digestbynid
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_pss_params_create
    - RSA_set_flags
    - ERR_raise
    - ossl_rsa_pss_params_30_hashalg
    - RSA_free
    - EVP_PKEY_assign
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_new_with_ctx
    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:932,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: 934
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 934
    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:940,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: 942
      start: 936
    functionDepth: 4
    functionLinenumber: 936
    functionLinenumberEnd: 942
    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:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 944
    functionDepth: 13
    functionLinenumber: 944
    functionLinenumberEnd: 947
    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:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 13
    functionLinenumber: 949
    functionLinenumberEnd: 952
    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:961,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:966,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 954
    functionDepth: 4
    functionLinenumber: 954
    functionLinenumberEnd: 970
    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: 4
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: rsa_cb
    functionSourceFile: /src/openssl/crypto/rsa/rsa_asn1.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_multip_calc_product
    - RSA_new
    - RSA_free
    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:81,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: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    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:102,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: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    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:121,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 122
    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:126,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 127
    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: 8
    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_end
    - BN_CTX_start
    - BN_sub
    - BN_CTX_get
    - BN_mod_inverse
    - BN_value_one
    - BN_mul
    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_end
    - BN_CTX_start
    - BN_CTX_free
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_free
    - BN_BLINDING_create_param
    - BN_with_flags
    - BN_new
    - rsa_get_public_exp
    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:
    - sk_RSA_PRIME_INFO_value
    - BN_sub
    - ERR_raise
    - BN_CTX_new_ex
    - sk_RSA_PRIME_INFO_num
    - BN_gcd
    - BN_mul
    - BN_is_one
    - BN_CTX_free
    - BN_is_odd
    - BN_mod_mul
    - BN_num_bits
    - BN_cmp
    - BN_new
    - BN_mod
    - BN_div
    - ossl_rsa_multip_cap
    - BN_mod_inverse
    - BN_free
    - BN_value_one
    - BN_check_prime
    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_bits
    - rsa_validate_keypair_multiprime
    - ossl_rsa_sp800_56b_check_keypair
    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:
    - ossl_rsa_validate_private
    - ossl_rsa_validate_pairwise
    - rsa_validate_keypair_multiprime
    - 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:37,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_saos.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_saos.c:40,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_saos.c:43,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/rsa/rsa_saos.c:47,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_saos.c:48,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_saos.c:54,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: 56
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 56
    functionName: RSA_sign_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/rsa/rsa_saos.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - RSA_size
    - RSA_private_encrypt
    - ERR_raise
    - i2d_ASN1_OCTET_STRING
    - 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:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_saos.c:69,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_saos.c:73,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_saos.c:76,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/rsa/rsa_saos.c:82,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: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: RSA_verify_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/rsa/rsa_saos.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - OPENSSL_clear_free
    - RSA_size
    - d2i_ASN1_OCTET_STRING
    - ERR_raise
    - RSA_public_decrypt
    - memcmp
    - 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:97,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:103,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:113,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:114,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:115,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:116,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:119,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:120,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:123,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:125,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:128,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:129,1
    - Dst: ossl_bn_rsa_fips186_5_gen_prob_primes
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:132,1
    - Dst: ossl_bn_rsa_fips186_5_gen_prob_primes
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:137,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:142,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:149,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:160,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:161,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:162,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:164,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:166,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:170,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 8
    argNames:
    - rsa
    - test
    - nbits
    - e
    - ctx
    - cb
    - a
    - b
    argTypes:
    - RSA*
    - RSA_ACVP_TEST*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 62
    functionDepth: 8
    functionLinenumber: 62
    functionLinenumberEnd: 172
    functionName: ossl_rsa_fips186_5_gen_prob_primes
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_clear
    - BN_CTX_start
    - ossl_bn_rsa_fips186_5_gen_prob_primes
    - ossl_rsa_check_pminusq_diff
    - ERR_raise
    - BN_CTX_get
    - ossl_rsa_check_public_exponent
    - BN_clear_free
    - BN_set_flags
    - BN_secure_new
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_fips186_5_gen_prob_primes(RSA *rsa, RSA_ACVP_TEST *test,\n
      \   int nbits, const BIGNUM *e, BN_CTX *ctx,\n    BN_GENCB *cb, uint32_t a,
      uint32_t b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nbits
    - strength
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: ossl_rsa_sp800_56b_validate_strength
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 1
    functionsReached:
    - ossl_ifc_ffc_compute_security_bits
    - ERR_raise
    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:214,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rng
    - nbits
    argTypes:
    - EVP_RAND_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 221
    functionName: rsa_validate_rng_strength
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get_strength
    - ossl_ifc_ffc_compute_security_bits
    - ERR_raise
    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:252,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:253,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:254,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:255,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:256,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:257,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:261,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:262,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:263,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:264,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:265,1
    - Dst: ossl_rsa_get_lcm
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:268,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:276,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:277,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:281,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:283,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:286,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:287,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:291,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:298,1
    - Dst: BN_mul
      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:305,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:308,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:309,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:314,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:317,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:318,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:322,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:323,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:326,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:327,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:334,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:336,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:338,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:340,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:342,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:344,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:347,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:348,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:349,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:350,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:351,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:353,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: 355
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 355
    functionName: ossl_rsa_sp800_56b_derive_params_from_pq
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_clear
    - BN_CTX_start
    - BN_mul
    - BN_CTX_get
    - BN_mod_inverse
    - BN_free
    - BN_num_bits
    - BN_clear_free
    - ossl_rsa_get_lcm
    - BN_new
    - BN_mod
    - BN_set_flags
    - BN_secure_new
    - BN_dup
    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:396,1
    - Dst: rsa_validate_rng_strength
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:400,1
    - Dst: RAND_get0_private
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:400,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:403,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:409,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:410,1
    - Dst: ossl_rsa_fips186_5_gen_prob_primes
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:419,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:423,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:430,1
    - Dst: ossl_rsa_sp800_56b_pairwise_test
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:439,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:442,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:443,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 6
    argNames:
    - rsa
    - nbits
    - efixed
    - cb
    - a
    - b
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 381
    functionDepth: 14
    functionLinenumber: 381
    functionLinenumberEnd: 445
    functionName: ossl_rsa_sp800_56b_generate_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 1
    functionsReached:
    - BN_set_word
    - ossl_rsa_sp800_56b_validate_strength
    - RAND_get0_private
    - BN_CTX_new_ex
    - BN_CTX_free
    - rsa_validate_rng_strength
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - BN_free
    - ossl_rsa_fips186_5_gen_prob_primes
    - BN_cmp
    - BN_new
    - ossl_rsa_sp800_56b_pairwise_test
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_sp800_56b_generate_key(RSA *rsa, int nbits, const BIGNUM
      *efixed,\n    BN_GENCB *cb, uint32_t a, uint32_t b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:458,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:459,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:460,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:463,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:465,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:466,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:467,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:470,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 474
    functionName: ossl_rsa_sp800_56b_pairwise_test
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_word
    - ERR_raise
    - BN_CTX_get
    - BN_mod_exp
    - BN_cmp
    - 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_end
    - BN_CTX_start
    - BN_sub
    - BN_X931_derive_prime_ex
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_mul
    - BN_div
    - BN_CTX_new
    - BN_mod_inverse
    - BN_gcd
    - BN_value_one
    - BN_new
    - BN_mod
    - BN_dup
    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: 204
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 204
    functionName: RSA_X931_generate_key_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_x931g.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_free
    - BN_CTX_new_ex
    - BN_CTX_get
    - BN_X931_generate_prime_ex
    - RSA_X931_derive_ex
    - BN_new
    - BN_X931_generate_Xpq
    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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: pkey_is_pss
    functionSourceFile: /src/openssl/crypto/rsa/rsa_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pkey_is_pss(pkey)
  - 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:
    - meth2nid
    - OSSL_NELEM
    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:
    - nid2name
    - OSSL_NELEM
    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:69,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:77,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:78,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:80,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:82,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:88,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/rsa/rsa_backend.c:91,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:94,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:96,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_backend.c:101,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:106,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:108,1
    - Dst: RSA_set0_key
      Src: /src/openssl/crypto/rsa/rsa_backend.c:116,1
    - Dst: collect_numbers
      Src: /src/openssl/crypto/rsa/rsa_backend.c:121,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:121,1
    - Dst: collect_numbers
      Src: /src/openssl/crypto/rsa/rsa_backend.c:123,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:123,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: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:129,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:130,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:136,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:146,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:151,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/crypto/rsa/rsa_backend.c:153,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_backend.c:153,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_backend.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:155,1
    - Dst: sk_BIGNUM_pop
      Src: /src/openssl/crypto/rsa/rsa_backend.c:162,1
    - Dst: sk_BIGNUM_pop
      Src: /src/openssl/crypto/rsa/rsa_backend.c:163,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/openssl/crypto/rsa/rsa_backend.c:171,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/rsa/rsa_backend.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:174,1
    - Dst: ossl_rsa_multiprime_derive
      Src: /src/openssl/crypto/rsa/rsa_backend.c:183,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/rsa/rsa_backend.c:183,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:187,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:202,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:212,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:213,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:217,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:218,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:219,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rsa/rsa_backend.c:220,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:222,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:223,1
    - Dst: ossl_rsa_check_factors
      Src: /src/openssl/crypto/rsa/rsa_backend.c:228,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rsa/rsa_backend.c:229,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:234,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:235,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:236,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:237,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:241,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:242,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:243,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:244,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:245,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:246,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:247,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 113
    argCount: 3
    argNames:
    - rsa
    - params
    - include_private
    argTypes:
    - RSA*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 249
    functionName: ossl_rsa_fromdata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_int
    - ossl_rsa_set0_all_params
    - ossl_rsa_multiprime_derive
    - ERR_raise_data
    - sk_BIGNUM_pop_free
    - ERR_raise
    - OSSL_PARAM_locate_const
    - BN_CTX_new_ex
    - sk_BIGNUM_free
    - STACK_OF
    - OSSL_PARAM_get_BN
    - sk_BIGNUM_pop
    - ossl_rsa_check_factors
    - BN_CTX_free
    - RSA_set0_key
    - collect_numbers
    - sk_BIGNUM_value
    - sk_BIGNUM_new_null
    - RSA_set0_factors
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - BN_free
    - RSA_bits
    - sk_BIGNUM_num
    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:258,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:258,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_backend.c:259,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:259,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_backend.c:260,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:260,1
    - Dst: RSA_get0_key
      Src: /src/openssl/crypto/rsa/rsa_backend.c:265,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:266,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:268,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:269,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:275,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:277,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:280,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:282,1
    - Dst: ossl_rsa_acvp_test_get_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:291,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:295,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:296,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:297,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: 299
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 299
    functionName: ossl_rsa_todata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_get0_all_params
    - RSA_get0_key
    - sk_BIGNUM_const_new_null
    - ossl_param_build_set_bn
    - ossl_param_build_set_multi_key_bn
    - STACK_OF
    - 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:304,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:305,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:306,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:307,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:308,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:309,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:310,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:311,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:314,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:317,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:320,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_backend.c:332,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_backend.c:334,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_backend.c:337,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/rsa/rsa_backend.c:339,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: 343
      start: 301
    functionDepth: 6
    functionLinenumber: 301
    functionLinenumberEnd: 343
    functionName: ossl_rsa_pss_params_30_todata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_int
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_oaeppss_nid2name
    - ossl_rsa_pss_params_30_is_unrestricted
    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:359,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:360,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:361,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:362,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:363,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_backend.c:377,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:383,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:388,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rsa/rsa_backend.c:391,1
    - Dst: ossl_rsa_mgf_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:392,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:407,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_backend.c:410,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:411,1
    - Dst: ossl_rsa_oaeppss_md2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:412,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:421,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_backend.c:424,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:425,1
    - Dst: ossl_rsa_oaeppss_md2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:426,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/rsa/rsa_backend.c:431,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:432,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:439,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:440,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: 442
      start: 345
    functionDepth: 10
    functionLinenumber: 345
    functionLinenumberEnd: 442
    functionName: ossl_rsa_pss_params_30_fromdata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_int
    - ossl_rsa_mgf_nid2name
    - ossl_rsa_pss_params_30_set_hashalg
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_pss_params_30_set_saltlen
    - OSSL_PARAM_locate_const
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - EVP_MD_fetch
    - ossl_rsa_pss_params_30_set_defaults
    - OSSL_PARAM_get_utf8_ptr
    - EVP_MD_free
    - ossl_rsa_oaeppss_md2nid
    - OPENSSL_strcasecmp
    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:447,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/openssl/crypto/rsa/rsa_backend.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: ossl_rsa_is_foreign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - RSA_PKCS1_OpenSSL
    - RSA_get_method
    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:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 458
    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:468,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/crypto/rsa/rsa_backend.c:471,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:476,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:478,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:485,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:491,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:493,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:495,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:497,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:509,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/openssl/crypto/rsa/rsa_backend.c:510,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_backend.c:517,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/openssl/crypto/rsa/rsa_backend.c:520,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_backend.c:522,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:523,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:525,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:527,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/openssl/crypto/rsa/rsa_backend.c:530,1
    - Dst: RSA_PSS_PARAMS_dup
      Src: /src/openssl/crypto/rsa/rsa_backend.c:535,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:538,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/rsa/rsa_backend.c:543,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:551,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 78
    argCount: 2
    argNames:
    - rsa
    - selection
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 553
    functionName: ossl_rsa_dup
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - sk_RSA_PRIME_INFO_push
    - sk_RSA_PRIME_INFO_new_reserve
    - OPENSSL_zalloc
    - ossl_rsa_multip_calc_product
    - rsa_bn_dup_check
    - RSA_free
    - ossl_x509_algor_mgf1_decode
    - sk_RSA_PRIME_INFO_num
    - sk_RSA_PRIME_INFO_value
    - RSA_PSS_PARAMS_dup
    - ossl_rsa_new_with_ctx
    - CRYPTO_dup_ex_data
    - ossl_rsa_is_foreign
    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:560,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:560,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:567,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 575
    functionName: ossl_rsa_pss_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 4
    functionsReached:
    - ossl_x509_algor_mgf1_decode
    - RSA_PSS_PARAMS_free
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    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:583,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/crypto/rsa/rsa_backend.c:584,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/rsa/rsa_backend.c:598,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_backend.c:601,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_backend.c:602,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_backend.c:603,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:604,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:605,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:607,1
    - Dst: ossl_rsa_pss_params_30_set_trailerfield
      Src: /src/openssl/crypto/rsa/rsa_backend.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 614
    functionName: ossl_rsa_sync_to_pss_params_30
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_pss_get_param_unverified
    - EVP_MD_get_type
    - ossl_rsa_pss_params_30_set_hashalg
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_trailerfield
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_pss_params_30_set_defaults
    - 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:623,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/rsa/rsa_backend.c:627,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/rsa/rsa_backend.c:630,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/rsa/rsa_backend.c:634,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:636,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/rsa/rsa_backend.c:638,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/crypto/rsa/rsa_backend.c:640,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: 643
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 643
    functionName: ossl_rsa_pss_get_param_unverified
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 4
    functionsReached:
    - ASN1_INTEGER_get
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_rsa_pss_params_30_set_defaults
    - ossl_x509_algor_get_md
    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:652,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:653,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:658,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:661,1
    - Dst: ossl_rsa_set0_pss_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:662,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:663,1
    - Dst: ossl_rsa_sync_to_pss_params_30
      Src: /src/openssl/crypto/rsa/rsa_backend.c:666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - rsa
    - alg
    argTypes:
    - RSA*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 645
    functionDepth: 6
    functionLinenumber: 645
    functionLinenumberEnd: 669
    functionName: ossl_rsa_param_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_sync_to_pss_params_30
    - ossl_rsa_pss_decode
    - ERR_raise
    - OBJ_obj2nid
    - ossl_rsa_set0_pss_params
    - X509_ALGOR_get0
    - RSA_PSS_PARAMS_free
    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:679,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/crypto/rsa/rsa_backend.c:681,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:683,1
    - Dst: ossl_rsa_param_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:686,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:687,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/crypto/rsa/rsa_backend.c:691,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:692,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_backend.c:694,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_backend.c:697,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: 705
      start: 671
    functionDepth: 7
    functionLinenumber: 671
    functionLinenumberEnd: 705
    functionName: ossl_rsa_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - RSA_clear_flags
    - ossl_rsa_param_decode
    - RSA_set_flags
    - ERR_raise
    - RSA_free
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - d2i_RSAPrivateKey
    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_memdup
    - OPENSSL_zalloc
    - OSSL_PARAM_locate_const
    - 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:
    - OPENSSL_zalloc
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_locate_const
    - ossl_rsa_acvp_test_free
    - 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:
    - BN_free
    - OPENSSL_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:160,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/rsa/rsa_err.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 164
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/des/ecb_enc.c:27,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/des/ecb_enc.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 33
    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:43,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ecb_enc.c:45,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ecb_enc.c:47,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ecb_enc.c:49,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ecb_enc.c:51,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: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: DES_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/des/ecb_enc.c
    functionUses: 0
    functionsReached:
    - DES_encrypt1
    - l2c
    - c2l
    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: 0
    functionsReached:
    - DES_decrypt3
    - l2c
    - DES_encrypt3
    - c2l
    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: 0
    functionsReached:
    - DES_encrypt1
    - l2c
    - c2l
    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:
    - FP
    - IP
    - D_ENCRYPT
    - ROTATE
    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:
    - D_ENCRYPT
    - ROTATE
    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
    - FP
    - DES_encrypt2
    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
    - FP
    - DES_encrypt2
    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:220,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:221,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:223,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:224,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/des_enc.c:230,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:234,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:235,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/des_enc.c:238,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/des_enc.c:244,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:248,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:249,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:252,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:253,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:257,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:258,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:260,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:261,1
    - Dst: DES_decrypt3
      Src: /src/openssl/crypto/des/des_enc.c:268,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:274,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:275,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:280,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:281,1
    - Dst: DES_decrypt3
      Src: /src/openssl/crypto/des/des_enc.c:288,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/des_enc.c:294,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:300,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:301,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: 305
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 305
    functionName: DES_ede3_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/des/des_enc.c
    functionUses: 0
    functionsReached:
    - l2c
    - l2cn
    - c2ln
    - DES_decrypt3
    - DES_encrypt3
    - c2l
    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:
    - DES_encrypt1
    - c2ln
    - l2c
    - c2l
    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
    - l2c
    - l2cn
    - c2ln
    - DES_encrypt1
    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: 0
    functionsReached:
    - c2l
    - l2c
    - l2cn
    - c2ln
    - DES_encrypt1
    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: 1
    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:
    - CRYPTO_memcmp
    - constant_time_is_zero
    - OSSL_NELEM
    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:686,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/crypto/des/set_key.c:688,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/set_key.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 692
    functionName: DES_set_key
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - DES_is_weak_key
    - DES_check_key_parity
    - DES_set_key_unchecked
    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:701,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/crypto/des/set_key.c:703,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/set_key.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 707
    functionName: DES_set_key_checked
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - DES_is_weak_key
    - DES_check_key_parity
    - DES_set_key_unchecked
    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:720,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/set_key.c:726,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/set_key.c:727,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:733,1
    - Dst: HPERM_OP
      Src: /src/openssl/crypto/des/set_key.c:734,1
    - Dst: HPERM_OP
      Src: /src/openssl/crypto/des/set_key.c:735,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:736,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:737,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:738,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/set_key.c:761,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/set_key.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 766
    functionName: DES_set_key_unchecked
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 3
    functionsReached:
    - HPERM_OP
    - ROTATE
    - memcpy
    - PERM_OP
    - c2l
    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:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 3
    functionLinenumber: 768
    functionLinenumberEnd: 771
    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: 0
    functionsReached:
    - DES_encrypt1
    - l2c
    - c2l
    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: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    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:
    - PERM_OP
    - D_ENCRYPT
    - ROTATE
    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: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    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: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    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: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    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: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    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: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    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: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    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: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    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: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    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: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    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: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    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: 239
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 239
    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: 0
    functionsReached:
    - l2c
    - DES_encrypt3
    - c2l
    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: 0
    functionsReached:
    - c2l
    - l2c
    - l2cn
    - c2ln
    - DES_encrypt1
    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:
    - RAND_priv_bytes
    - DES_set_odd_parity
    - DES_is_weak_key
    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
    - l2c
    - l2cn
    - c2ln
    - DES_encrypt1
    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: 0
    functionsReached:
    - l2c
    - DES_encrypt3
    - c2l
    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: 0
    functionsReached:
    - l2c
    - memmove
    - l2cn
    - c2ln
    - DES_encrypt3
    - c2l
    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:46,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:54,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:55,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cfb_enc.c:61,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cfb_enc.c:62,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/cfb_enc.c:66,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:81,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: memmove
      Src: /src/openssl/crypto/des/cfb_enc.c:89,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:97,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:98,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cfb_enc.c:107,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cfb_enc.c:108,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:123,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:124,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: memmove
      Src: /src/openssl/crypto/des/cfb_enc.c:131,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:139,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:140,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/cfb_enc.c:145,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:150,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:151,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: 45
        line_start: 45
        source_file: /src/openssl/crypto/des/cfb_enc.c
    constantsTouched: []
    func_position:
      end: 153
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 153
    functionName: DES_cfb_encrypt
    functionSourceFile: /src/openssl/crypto/des/cfb_enc.c
    functionUses: 0
    functionsReached:
    - c2l
    - l2c
    - memmove
    - l2cn
    - assert
    - c2ln
    - DES_encrypt1
    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:47,1
    - Dst: Q_B0
      Src: /src/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B1
      Src: /src/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B2
      Src: /src/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B3
      Src: /src/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B1
      Src: /src/openssl/crypto/des/qud_cksm.c:56,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: 81
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 81
    functionName: DES_quad_cksum
    functionSourceFile: /src/openssl/crypto/des/qud_cksm.c
    functionUses: 0
    functionsReached:
    - Q_B0
    - Q_B2
    - Q_B1
    - Q_B3
    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:
    - DES_set_odd_parity
    - DES_set_key_unchecked
    - memset
    - 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:
    - DES_set_odd_parity
    - DES_set_key_unchecked
    - OPENSSL_cleanse
    - memset
    - DES_cbc_cksum
    - strlen
    - memcpy
    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:66,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/des/fcrypt.c:79,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/des/fcrypt.c:82,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/des/fcrypt.c:83,1
    - Dst: DES_fcrypt
      Src: /src/openssl/crypto/des/fcrypt.c:86,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/crypto/des/fcrypt.c:88,1
    - Dst: strlen
      Src: /src/openssl/crypto/des/fcrypt.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - salt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 92
    functionName: DES_crypt
    functionSourceFile: /src/openssl/crypto/des/fcrypt.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - DES_fcrypt
    - ascii2ebcdic
    - strlen
    - OPENSSL_strlcpy
    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:126,1
    - Dst: fcrypt_body
      Src: /src/openssl/crypto/des/fcrypt.c:127,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/fcrypt.c:130,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/fcrypt.c:132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - salt
    - ret
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 152
    functionName: DES_fcrypt
    functionSourceFile: /src/openssl/crypto/des/fcrypt.c
    functionUses: 1
    functionsReached:
    - DES_set_key_unchecked
    - l2c
    - fcrypt_body
    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:35,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_skey.c:37,1
    - Dst: c2ln
      Src: /src/openssl/crypto/rc5/rc5_skey.c:43,1
    - Dst: ROTATE_l32
      Src: /src/openssl/crypto/rc5/rc5_skey.c:60,1
    - Dst: ROTATE_l32
      Src: /src/openssl/crypto/rc5/rc5_skey.c:63,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: 71
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 71
    functionName: RC5_32_set_key
    functionSourceFile: /src/openssl/crypto/rc5/rc5_skey.c
    functionUses: 0
    functionsReached:
    - c2ln
    - ROTATE_l32
    - c2l
    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:
    - RC5_32_decrypt
    - l2c
    - l2cn
    - c2ln
    - RC5_32_encrypt
    - c2l
    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:
    - RC5_32_encrypt
    - l2c
    - c2l
    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:
    - RC5_32_decrypt
    - RC5_32_encrypt
    - l2c
    - c2l
    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: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    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: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    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: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    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: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    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: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    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: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    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: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    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: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    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:
    - RC5_32_encrypt
    - l2c
    - c2l
    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:38,1
    - Dst: TerminateProcess
      Src: /src/openssl/ms/uplink.c:39,1
    - Dst: GetCurrentProcess
      Src: /src/openssl/ms/uplink.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 40
    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:66,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:67,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:68,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:68,1
    - Dst: GetModuleHandle
      Src: /src/openssl/ms/uplink.c:71,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:73,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:73,1
    - Dst: GetProcAddress
      Src: /src/openssl/ms/uplink.c:83,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:86,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:86,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:92,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:92,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: OPENSSL_Uplink
    functionSourceFile: /src/openssl/ms/uplink.c
    functionUses: 0
    functionsReached:
    - _T
    - GetProcAddress
    - GetModuleHandle
    - _tcscpy
    - _sntprintf
    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: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    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:195,1
    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: 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: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    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: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    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:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    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:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    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:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    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:99,1
    - Dst: _fileno
      Src: /src/openssl/ms/applink.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mod
    argTypes:
    - FILE*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: app_fsetmod
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached:
    - _setmode
    - _fileno
    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: 152
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 152
    functionName: (void)
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_Applink
    signature: 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: 5
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: check_time
    functionSourceFile: /src/openssl/test/gmdifftest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_gmtime
    - TEST_true
    - TEST_int_eq
    - TEST_long_eq
    - OPENSSL_gmtime_diff
    - OPENSSL_gmtime_adj
    - time
    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: 6
    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: 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:57,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:62,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:64,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:64,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:73,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:81,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:82,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:85,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:86,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:88,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:90,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:91,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/provider_test.c:92,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_test.c:93,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/provider_test.c:97,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_test.c:99,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/provider_test.c:99,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:107,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:107,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_test.c:108,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:116,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:119,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_test.c:119,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:123,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_test.c:124,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_test.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:125,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:126,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:132,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:135,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:135,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:143,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/provider_test.c:147,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:150,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:154,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:155,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: 158
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 158
    functionName: test_provider
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - EVP_set_default_properties
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_load
    - TEST_ptr
    - ERR_peek_last_error
    - TEST_false
    - OSSL_PROVIDER_available
    - ERR_GET_REASON
    - ERR_print_errors_fp
    - TEST_true
    - BIO_snprintf
    - TEST_int_gt
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - TEST_str_eq
    - TEST_size_t_gt
    - OSSL_PROVIDER_unload
    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:171,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/provider_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:172,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/provider_test.c:172,1
    - Dst: strlen
      Src: /src/openssl/test/provider_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:174,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/provider_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:178,1
    - Dst: OSSL_PROVIDER_load_ex
      Src: /src/openssl/test/provider_test.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:181,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:182,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/provider_test.c:183,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_test.c:184,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/provider_test.c:188,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_test.c:189,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_test.c:190,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/provider_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:193,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:193,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:201,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/provider_test.c:205,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/provider_test.c:208,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_test.c:209,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:210,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:211,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 161
    functionDepth: 7
    functionLinenumber: 161
    functionLinenumberEnd: 214
    functionName: test_provider_ex
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PROVIDER_get_params
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - TEST_size_t_gt
    - ERR_peek_last_error
    - OSSL_LIB_CTX_free
    - TEST_int_gt
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - OSSL_PROVIDER_unload
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PROVIDER_load_ex
    - OSSL_PARAM_free
    - ERR_print_errors_fp
    - strlen
    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:219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:223,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:224,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/provider_test.c:224,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_test.c:226,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: test_builtin_provider
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_free
    - 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:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:241,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:244,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:254,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/provider_test.c:254,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:256,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:257,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_test.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 263
    functionName: test_builtin_provider_with_child
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    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:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:273,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_test.c:277,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_test.c:279,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:280,1
    - Dst: test_provider_ex
      Src: /src/openssl/test/provider_test.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 267
    functionDepth: 8
    functionLinenumber: 267
    functionLinenumberEnd: 287
    functionName: test_loaded_provider
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - test_provider_ex
    - OSSL_LIB_CTX_new
    - TEST_ptr
    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: 305
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 305
    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:312,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_test.c:325,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_test.c:327,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_test.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 336
    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:
    - OBJ_nid2sn
    - EVP_PBE_find
    - TEST_true
    - TEST_note
    - EVP_PBE_get
    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:
    - EVP_PKEY_get_octet_string_param
    - TEST_true
    - TEST_mem_eq
    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_CTX_get_seq
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_HPKE_encap
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_open
    - OSSL_HPKE_CTX_set1_psk
    - TEST_false
    - OSSL_HPKE_CTX_set1_authpriv
    - cmpkey
    - OSSL_HPKE_seal
    - memset
    - EVP_PKEY_free
    - OSSL_HPKE_decap
    - OSSL_HPKE_export
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_keygen
    - OSSL_HPKE_CTX_set1_authpub
    - OSSL_HPKE_CTX_set1_ikme
    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:409,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 370
    functionDepth: 8
    functionLinenumber: 370
    functionLinenumberEnd: 411
    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:529,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:529,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 495
    functionDepth: 8
    functionLinenumber: 495
    functionLinenumberEnd: 531
    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:658,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:658,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 624
    functionDepth: 8
    functionLinenumber: 624
    functionLinenumberEnd: 660
    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:748,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 723
    functionDepth: 8
    functionLinenumber: 723
    functionLinenumberEnd: 750
    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:889,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:909,1
    - Dst: strcpy
      Src: /src/openssl/test/hpke_test.c:910,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:911,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:920,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:926,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:933,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:935,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:941,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:952,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:952,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:963,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:970,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:983,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:983,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:987,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:987,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:993,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:993,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:999,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:999,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1003,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1003,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1010,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1010,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1016,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1016,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1020,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1021,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1022,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1025,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1029,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1029,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1038,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1038,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1043,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1043,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1048,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1048,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1054,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1054,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1060,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1060,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1064,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1065,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1068,1
    - Dst: TEST_note
      Src: /src/openssl/test/hpke_test.c:1075,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1086,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 880
    functionDepth: 7
    functionLinenumber: 880
    functionLinenumberEnd: 1090
    functionName: test_hpke_modes_suites
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_HPKE_encap
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_open
    - OSSL_HPKE_CTX_set1_psk
    - TEST_note
    - TEST_false
    - OSSL_HPKE_CTX_set1_authpriv
    - OSSL_HPKE_seal
    - memset
    - strcpy
    - EVP_PKEY_free
    - OSSL_HPKE_decap
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_keygen
    - OSSL_NELEM
    - OSSL_HPKE_CTX_set1_authpub
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_hpke_modes_suites(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1120,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1123,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1123,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1128,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1128,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1129,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1132,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1132,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1133,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1135,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1135,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1137,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1137,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1141,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1141,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1142,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1145,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1145,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1146,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1150,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1150,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1154,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1154,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1156,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1156,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1159,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1159,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1160,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1163,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1163,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1164,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1166,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1168,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1172,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1173,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1174,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1096
    functionDepth: 7
    functionLinenumber: 1096
    functionLinenumberEnd: 1176
    functionName: test_hpke_export
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_HPKE_open
    - OSSL_HPKE_CTX_free
    - TEST_true
    - OSSL_HPKE_export
    - OSSL_HPKE_keygen
    - OSSL_HPKE_seal
    - OSSL_HPKE_encap
    - EVP_PKEY_free
    - strlen
    - OSSL_HPKE_decap
    - OSSL_HPKE_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_hpke_export(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1193,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1194,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1195,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/hpke_test.c:1196,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1198,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1198,1
    - Dst: TEST_note
      Src: /src/openssl/test/hpke_test.c:1200,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1207,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1208,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1208,1
    - Dst: TEST_note
      Src: /src/openssl/test/hpke_test.c:1212,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1218,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1218,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1220,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1220,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1222,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1222,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1224,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1226,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1182
    functionDepth: 6
    functionLinenumber: 1182
    functionLinenumberEnd: 1230
    functionName: test_hpke_suite_strs
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_true
    - BIO_snprintf
    - TEST_note
    - memset
    - OSSL_NELEM
    - OSSL_HPKE_str2suite
    linkageType: ''
    returnType: int
    signature: int test_hpke_suite_strs(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1249,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1253,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1253,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1262,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1262,1
    - Dst: OSSL_HPKE_get_ciphertext_size
      Src: /src/openssl/test/hpke_test.c:1270,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/hpke_test.c:1271,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/test/hpke_test.c:1274,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/hpke_test.c:1275,1
    - Dst: OSSL_HPKE_get_recommended_ikmelen
      Src: /src/openssl/test/hpke_test.c:1278,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/hpke_test.c:1279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1236
    functionDepth: 4
    functionLinenumber: 1236
    functionLinenumberEnd: 1283
    functionName: test_hpke_grease
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_get_grease_value
    - TEST_false
    - OSSL_HPKE_get_recommended_ikmelen
    - TEST_size_t_ne
    - TEST_true
    - OSSL_HPKE_get_public_encap_size
    - memset
    - OSSL_HPKE_get_ciphertext_size
    - TEST_size_t_gt
    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:1317,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1318,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1318,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1320,1
    - Dst: OSSL_HPKE_CTX_get_seq
      Src: /src/openssl/test/hpke_test.c:1320,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1322,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1322,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1324,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1324,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1326,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:1326,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1328,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1328,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1333,1
    - Dst: OSSL_HPKE_suite_check
      Src: /src/openssl/test/hpke_test.c:1333,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1336,1
    - Dst: OSSL_HPKE_suite_check
      Src: /src/openssl/test/hpke_test.c:1336,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1338,1
    - Dst: OSSL_HPKE_get_recommended_ikmelen
      Src: /src/openssl/test/hpke_test.c:1338,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1340,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/test/hpke_test.c:1340,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1342,1
    - Dst: OSSL_HPKE_get_ciphertext_size
      Src: /src/openssl/test/hpke_test.c:1342,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1344,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1344,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1347,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1347,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1353,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1353,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1357,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1357,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1361,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1361,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:1370,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1370,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1376,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1376,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1378,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1378,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1386,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1386,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1391,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1391,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1396,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1396,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1400,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1402,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1402,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1406,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1406,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1408,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hpke_test.c:1411,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1411,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hpke_test.c:1416,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1421,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1421,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1426,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:1426,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1429,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:1429,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1432,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1432,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1435,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1435,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1438,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1438,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1441,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1441,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1445,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1445,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1449,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1449,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1452,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1452,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1455,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1455,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1458,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1458,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1461,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1461,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1464,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1464,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:1471,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1471,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1476,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1482,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1482,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1486,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1486,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1489,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1492,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1492,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1497,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1497,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1501,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1501,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1504,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1504,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1507,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1507,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1511,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1511,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1516,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1516,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1518,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1518,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1521,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1521,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1523,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1523,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1526,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1530,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1531,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1532,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1288
    functionDepth: 7
    functionLinenumber: 1288
    functionLinenumberEnd: 1534
    functionName: test_hpke_oddcalls
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_CTX_get_seq
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_HPKE_get_public_encap_size
    - TEST_ptr_null
    - OSSL_HPKE_encap
    - OSSL_HPKE_get_ciphertext_size
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_open
    - OSSL_HPKE_suite_check
    - OSSL_HPKE_CTX_set1_psk
    - TEST_false
    - OSSL_HPKE_CTX_set1_authpriv
    - OSSL_HPKE_seal
    - memset
    - EVP_PKEY_free
    - OSSL_HPKE_decap
    - OSSL_HPKE_get_recommended_ikmelen
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_keygen
    - OSSL_HPKE_CTX_set_seq
    - OSSL_HPKE_CTX_set1_authpub
    - OSSL_HPKE_CTX_set1_ikme
    linkageType: ''
    returnType: int
    signature: int test_hpke_oddcalls(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1638,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1638,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1643,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1643,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1650,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1650,1
    - Dst: TEST_true
      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_true
      Src: /src/openssl/test/hpke_test.c:1664,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1664,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1670,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1670,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1680,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1680,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1687,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1687,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1694,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1694,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1627
    functionDepth: 4
    functionLinenumber: 1627
    functionLinenumberEnd: 1699
    functionName: test_hpke_random_suites
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_get_grease_value
    - TEST_false
    - 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:1724,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1724,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1727,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1729,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1730,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: 1733
      start: 1714
    functionDepth: 4
    functionLinenumber: 1714
    functionLinenumberEnd: 1733
    functionName: test_hpke_one_ikm_gen
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_HPKE_keygen
    - EVP_PKEY_free
    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:1743,1
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1750,1
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1756,1
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1738
    functionDepth: 5
    functionLinenumber: 1738
    functionLinenumberEnd: 1769
    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:1801,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1801,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1805,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/test/hpke_test.c:1805,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1809,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/hpke_test.c:1809,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1817,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1817,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1820,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1820,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1824,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1824,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1826,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1826,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1828,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1828,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1833,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1833,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1837,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1837,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1839,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1839,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1841,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1841,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1847,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1848,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1849,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1850,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1776
    functionDepth: 7
    functionLinenumber: 1776
    functionLinenumberEnd: 1852
    functionName: test_hpke_compressed
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_set_utf8_string_param
    - TEST_ptr
    - OSSL_HPKE_CTX_set1_authpriv
    - OSSL_HPKE_open
    - OSSL_HPKE_CTX_free
    - TEST_true
    - OSSL_HPKE_seal
    - OSSL_HPKE_keygen
    - OSSL_HPKE_encap
    - EVP_PKEY_free
    - OSSL_HPKE_CTX_set1_authpub
    - OSSL_HPKE_decap
    - OSSL_HPKE_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_hpke_compressed(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1878,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1878,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1881,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1881,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1886,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1886,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1888,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1888,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1891,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1891,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1893,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1893,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1898,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1898,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1903,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1903,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1905,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1905,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1908,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1908,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1911,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1911,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1915,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1915,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1917,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1917,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1923,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1924,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1925,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1857
    functionDepth: 7
    functionLinenumber: 1857
    functionLinenumberEnd: 1927
    functionName: test_hpke_noncereuse
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - OSSL_HPKE_open
    - OSSL_HPKE_CTX_free
    - TEST_true
    - OSSL_HPKE_seal
    - OSSL_HPKE_keygen
    - OSSL_HPKE_CTX_set_seq
    - OSSL_HPKE_encap
    - EVP_PKEY_free
    - OSSL_HPKE_decap
    - OSSL_HPKE_CTX_new
    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: 1945
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1945
    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:1951,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/hpke_test.c:1963,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1966,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1967,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1968,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1970,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1971,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1972,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1973,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1974,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1975,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1976,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1977,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1978,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1981
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_TEST
    - 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:1985,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/hpke_test.c:1986,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/hpke_test.c:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1983
    functionDepth: 4
    functionLinenumber: 1983
    functionLinenumberEnd: 1988
    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:
    - i2d
    - TEST_perror
    - TEST_ptr
    - d2i
    - test_get_argument
    - OPENSSL_free
    - X509_free
    - BIO_free
    - X509_cmp
    - ERR_GET_REASON
    - strcmp
    - TEST_error
    - ERR_peek_last_error
    - ERR_clear_error
    - BIO_new_file
    - memcmp
    - OPENSSL_malloc
    - PEM_read_bio
    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:
    - OPENSSL_load_u16_le
    - OPENSSL_store_u32_le
    - OPENSSL_store_u32_be
    - OPENSSL_load_u64_be
    - OPENSSL_store_u16_le
    - OPENSSL_store_u16_be
    - OPENSSL_store_u64_le
    - TEST_true
    - OPENSSL_load_u32_le
    - memset
    - OPENSSL_load_u32_be
    - OPENSSL_load_u64_le
    - TEST_info
    - memcmp
    - OPENSSL_store_u64_be
    - 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:
    - BN_free
    - OPENSSL_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:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - TEST_ptr
    - cleanup_object
    - TEST_true
    - BN_hex2bn
    - strcpy
    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:155,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/params_test.c:157,1
    - Dst: strncpy
      Src: /src/openssl/test/params_test.c:159,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:161,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 168
    functionName: raw_set_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strndup
    - TEST_ptr
    - OPENSSL_strnlen
    - OPENSSL_free
    - TEST_size_t_lt
    - strcmp
    - strncpy
    - BN_free
    - BN_native2bn
    - strlen
    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:175,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:178,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:181,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/params_test.c:182,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/params_test.c:183,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/test/params_test.c:185,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:186,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:187,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/params_test.c:188,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:190,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:191,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:192,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/params_test.c:193,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:195,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:196,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: raw_get_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - TEST_size_t_ge
    - strcmp
    - strcpy
    - strlen
    - BN_bn2nativepad
    - TEST_size_t_gt
    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:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:214,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_test.c:214,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:217,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_test.c:217,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:220,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_test.c:220,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:223,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:226,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_test.c:226,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:231,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_test.c:231,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:233,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:236,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/test/params_test.c:236,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 242
    functionName: api_set_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_int
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - TEST_true
    - OSSL_PARAM_get_double
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_utf8_ptr
    - strlen
    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:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:250,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/params_test.c:250,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:253,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_test.c:253,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:256,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_test.c:256,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:259,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/params_test.c:259,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:262,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/params_test.c:262,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:265,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/params_test.c:265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: api_get_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_int
    - TEST_true
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_double
    - OSSL_PARAM_set_utf8_ptr
    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:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 326
    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:332,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:336,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/test/params_test.c:337,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:339,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: init_app_variables
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    - cleanup_app_variables
    - BN_bn2nativepad
    - strcpy
    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:385,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/test/params_test.c:386,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/params_test.c:387,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/params_test.c:389,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/params_test.c:392,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/params_test.c:394,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_test.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: construct_api_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_BN
    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:446,1
    - Dst: init_object
      Src: /src/openssl/test/params_test.c:446,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:447,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:447,1
    - Dst: init_app_variables
      Src: /src/openssl/test/params_test.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:458,1
    - Dst: struct provider_dispatch_st*::get_params
      Src: /src/openssl/test/params_test.c:458,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_test.c:459,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_test.c:460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:461,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:462,1
    - Dst: BN_native2bn
      Src: /src/openssl/test/params_test.c:462,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_test.c:463,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:465,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:465,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:466,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:469,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:469,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:470,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:472,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/params_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:474,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:474,1
    - Dst: init_app_variables
      Src: /src/openssl/test/params_test.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:483,1
    - Dst: struct provider_dispatch_st*::set_params
      Src: /src/openssl/test/params_test.c:483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_test.c:488,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_test.c:489,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_test.c:490,1
    - Dst: TEST_str_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: BN_free
      Src: /src/openssl/test/params_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:504,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:504,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:509,1
    - Dst: struct provider_dispatch_st*::get_params
      Src: /src/openssl/test/params_test.c:509,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_test.c:510,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_test.c:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:512,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:513,1
    - Dst: BN_native2bn
      Src: /src/openssl/test/params_test.c:513,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_test.c:514,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:516,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:516,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:517,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:520,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:520,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:521,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:523,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/params_test.c:524,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:525,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:525,1
    - Dst: BN_free
      Src: /src/openssl/test/params_test.c:529,1
    - Dst: cleanup_app_variables
      Src: /src/openssl/test/params_test.c:531,1
    - Dst: cleanup_object
      Src: /src/openssl/test/params_test.c:532,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 32
    argCount: 2
    argNames:
    - params
    - prov
    argTypes:
    - OSSL_PARAM*
    - struct provider_dispatch_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 436
    functionDepth: 7
    functionLinenumber: 436
    functionLinenumberEnd: 535
    functionName: test_case_variant
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - TEST_BN_eq
    - cleanup_app_variables
    - TEST_ptr
    - TEST_double_eq
    - init_app_variables
    - init_object
    - cleanup_object
    - TEST_true
    - BN_hex2bn
    - TEST_int_eq
    - BN_free
    - BN_native2bn
    - struct provider_dispatch_st*::set_params
    - TEST_str_eq
    - TEST_char_eq
    - struct provider_dispatch_st*::get_params
    - TEST_size_t_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:539,1
    - Dst: test_case_variant
      Src: /src/openssl/test/params_test.c:541,1
    - Dst: test_case_variant
      Src: /src/openssl/test/params_test.c:544,1
    - Dst: app::constructed_params
      Src: /src/openssl/test/params_test.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 8
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: test_case
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - app::constructed_params
    - TEST_info
    - test_case_variant
    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:621,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:624,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:631,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:632,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/test/params_test.c:636,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:637,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:640,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: 615
    functionDepth: 5
    functionLinenumber: 615
    functionLinenumberEnd: 658
    functionName: check_int_from_text
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - OSSL_PARAM_get_long
    - 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:675,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/params_test.c:675,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_test.c:680,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/params_test.c:680,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:685,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 692
    functionName: check_octetstr_from_hexstr
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - TEST_true
    - TEST_error
    - memset
    - strlen
    - ERR_clear_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:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 6
    functionLinenumber: 694
    functionLinenumberEnd: 697
    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:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 702
    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:706,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_test.c:706,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_test.c:707,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_test.c:707,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_test.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_new
      Src: /src/openssl/test/tls-provider.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    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:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    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:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    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:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    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:177,1
    - Dst: xor_prov_get_keymgmt_free
      Src: /src/openssl/test/tls-provider.c:178,1
    - Dst: xor_prov_get_keymgmt_import
      Src: /src/openssl/test/tls-provider.c:179,1
    - Dst: kmgmt_new
      Src: /src/openssl/test/tls-provider.c:183,1
    - Dst: kmgmt_import
      Src: /src/openssl/test/tls-provider.c:184,1
    - Dst: kmgmt_free
      Src: /src/openssl/test/tls-provider.c:185,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: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    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
    - xor_prov_get_keymgmt_import
    - kmgmt_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:194,1
    - Dst: kmgmt_free
      Src: /src/openssl/test/tls-provider.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fns
    - key
    argTypes:
    - OSSL_DISPATCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: xor_prov_free_key
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_prov_get_keymgmt_free
    - kmgmt_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:385,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:387,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/tls-provider.c:389,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:391,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:392,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls-provider.c:401,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:404,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:408,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/tls-provider.c:411,1
    - Dst: strlen
      Src: /src/openssl/test/tls-provider.c:416,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:420,1
    - Dst: strcmp
      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
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:427,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: 430
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 430
    functionName: tls_prov_get_capabilities
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_snprintf
    - strcmp
    - OSSL_NELEM
    - strlen
    - memcpy
    - OPENSSL_assert
    - cb
    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:438,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 449
    functionName: xor_newprovctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - OPENSSL_free
    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: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    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:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    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: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    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: 495
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 495
    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: 517
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 517
    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:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pxorctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    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:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vpxorctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 536
    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:592,1
    - Dst: xor_gen
      Src: /src/openssl/test/tls-provider.c:595,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:600,1
    - Dst: xor_newkemkexctx
      Src: /src/openssl/test/tls-provider.c:604,1
    - Dst: xor_init
      Src: /src/openssl/test/tls-provider.c:606,1
    - Dst: xor_set_peer
      Src: /src/openssl/test/tls-provider.c:607,1
    - Dst: xor_derive
      Src: /src/openssl/test/tls-provider.c:608,1
    - Dst: xor_gen_cleanup
      Src: /src/openssl/test/tls-provider.c:614,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:615,1
    - Dst: xor_freectx
      Src: /src/openssl/test/tls-provider.c:616,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: 618
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 618
    functionName: xor_encapsulate
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_init
    - xor_set_peer
    - xor_gen
    - xor_newkemkexctx
    - xor_gen_init
    - xor_freekey
    - xor_derive
    - xor_gen_cleanup
    - memcpy
    - xor_freectx
    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:645,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:648,1
    - Dst: xor_newkemkexctx
      Src: /src/openssl/test/tls-provider.c:651,1
    - Dst: xor_init
      Src: /src/openssl/test/tls-provider.c:653,1
    - Dst: xor_set_peer
      Src: /src/openssl/test/tls-provider.c:654,1
    - Dst: xor_derive
      Src: /src/openssl/test/tls-provider.c:655,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:661,1
    - Dst: xor_freectx
      Src: /src/openssl/test/tls-provider.c:662,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: 664
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: xor_decapsulate
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_init
    - xor_set_peer
    - xor_newkemkexctx
    - xor_newkey
    - xor_freekey
    - xor_derive
    - memcpy
    - xor_freectx
    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:690,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/test/tls-provider.c:695,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 701
    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:711,1
    - Dst: assert
      Src: /src/openssl/test/tls-provider.c:716,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:718,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/test/tls-provider.c:720,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts:
    - condition: (refcnt == 0)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/openssl/test/tls-provider.c
    constantsTouched: []
    func_position:
      end: 722
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 722
    functionName: xor_freekey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 2
    functionsReached:
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - 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:728,1
    - Dst: assert
      Src: /src/openssl/test/tls-provider.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - XORKEY*
    assertStmts:
    - condition: (refcnt > 1)
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/openssl/test/tls-provider.c
    constantsTouched: []
    func_position:
      end: 733
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 733
    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: 749
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 749
    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:753,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:762,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:770,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:777,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - vfromkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 784
    functionName: xor_dup
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_freekey
    - OPENSSL_strdup
    - memcpy
    - xor_newkey
    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:791,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/tls-provider.c:792,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:795,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/tls-provider.c:796,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:799,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: 786
    functionDepth: 5
    functionLinenumber: 786
    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: 870
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 870
    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:879,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/test/tls-provider.c:884,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: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 910
    functionName: xor_match
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_recreate
    - CRYPTO_memcmp
    - strcmp
    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:930,1
    - Dst: PROV_XOR_LIBCTX_OF
      Src: /src/openssl/test/tls-provider.c:934,1
    - Dst: xor_gen_set_params
      Src: /src/openssl/test/tls-provider.c:936,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 941
    functionName: xor_gen_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - xor_gen_set_params
    - PROV_XOR_LIBCTX_OF
    - OPENSSL_free
    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:951,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:954,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 943
    functionDepth: 3
    functionLinenumber: 943
    functionLinenumberEnd: 960
    functionName: xor_gen_set_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_locate_const
    - strcmp
    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:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 970
    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:975,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/tls-provider.c:982,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 972
    functionDepth: 7
    functionLinenumber: 972
    functionLinenumberEnd: 993
    functionName: xor_gen
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - RAND_bytes_ex
    - xor_newkey
    - OPENSSL_free
    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:1010,1
    - Dst: memset
      Src: /src/openssl/test/tls-provider.c:1011,1
    - Dst: OSSL_PARAM_locate_const
      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_get_octet_string
      Src: /src/openssl/test/tls-provider.c:1016,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/tls-provider.c:1019,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1024,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1028,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - vkey
    - select
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1034
    functionName: xor_import
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - memcpy
    - memset
    - OSSL_PARAM_locate_const
    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:1045,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/tls-provider.c:1048,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/tls-provider.c:1050,1
    - Dst: param_cb
      Src: /src/openssl/test/tls-provider.c:1052,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: 1053
      start: 1036
    functionDepth: 2
    functionLinenumber: 1036
    functionLinenumberEnd: 1053
    functionName: xor_export
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - param_cb
    - OSSL_PARAM_construct_end
    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: 1064
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1064
    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:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - select
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    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: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    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:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - select
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1085
    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:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    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:1119,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:1123,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1117
    functionDepth: 8
    functionLinenumber: 1117
    functionLinenumberEnd: 1129
    functionName: xor_xorhmacsig_gen
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_freekey
    - OPENSSL_strdup
    - 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:1133,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:1137,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1131
    functionDepth: 8
    functionLinenumber: 1131
    functionLinenumberEnd: 1143
    functionName: xor_xorhmacsha2sig_gen
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_freekey
    - OPENSSL_strdup
    - 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:1212,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1214,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/tls-provider.c:1217,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1221,1
    - Dst: xor_newkey
      Src: /src/openssl/test/tls-provider.c:1225,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1227,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1232,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1237,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1240,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:1244,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/tls-provider.c:1244,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:1250,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: 1252
      start: 1200
    functionDepth: 6
    functionLinenumber: 1200
    functionLinenumberEnd: 1252
    functionName: xor_key_op
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OBJ_nid2sn
    - ERR_raise
    - xor_newkey
    - xor_freekey
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - memcpy
    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:1261,1
    - Dst: xor_key_op
      Src: /src/openssl/test/tls-provider.c:1264,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: 1265
      start: 1254
    functionDepth: 7
    functionLinenumber: 1254
    functionLinenumberEnd: 1265
    functionName: xor_key_from_x509pubkey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - xor_key_op
    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:1276,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/test/tls-provider.c:1279,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/tls-provider.c:1284,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/tls-provider.c:1285,1
    - Dst: xor_key_op
      Src: /src/openssl/test/tls-provider.c:1288,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/tls-provider.c:1290,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: 1292
      start: 1267
    functionDepth: 7
    functionLinenumber: 1267
    functionLinenumberEnd: 1292
    functionName: xor_key_from_pkcs8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - d2i_ASN1_OCTET_STRING
    - PKCS8_pkey_get0
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - xor_key_op
    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:1338,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/tls-provider.c:1341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1334
    functionDepth: 2
    functionLinenumber: 1334
    functionLinenumberEnd: 1344
    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:1356,1
    - Dst: k2d
      Src: /src/openssl/test/tls-provider.c:1357,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/test/tls-provider.c:1358,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/tls-provider.c:1358,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1361,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1363,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: 1368
      start: 1346
    functionDepth: 5
    functionLinenumber: 1346
    functionLinenumberEnd: 1368
    functionName: key_to_p8info
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - OBJ_nid2obj
    - OPENSSL_free
    - ERR_raise
    - PKCS8_pkey_set0
    - k2d
    - PKCS8_PRIV_KEY_INFO_new
    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:1376,1
    - Dst: struct key2any_ctx_st*::pwcb
      Src: /src/openssl/test/tls-provider.c:1381,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1382,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/test/tls-provider.c:1386,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/tls-provider.c:1388,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: 1390
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1390
    functionName: p8info_to_encp8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - struct key2any_ctx_st*::pwcb
    - PKCS8_encrypt_ex
    - ERR_raise
    - PROV_XOR_LIBCTX_OF
    - OPENSSL_cleanse
    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:1396,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1400,1
    - Dst: p8info_to_encp8
      Src: /src/openssl/test/tls-provider.c:1402,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1403,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: 1406
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1406
    functionName: key_to_encp8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - key_to_p8info
    - PKCS8_PRIV_KEY_INFO_free
    - p8info_to_encp8
    - free_asn1_data
    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:1418,1
    - Dst: k2d
      Src: /src/openssl/test/tls-provider.c:1419,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/test/tls-provider.c:1420,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/tls-provider.c:1420,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1423,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:1424,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1425,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: 1430
      start: 1408
    functionDepth: 5
    functionLinenumber: 1408
    functionLinenumberEnd: 1430
    functionName: xorx_key_to_pubkey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - OPENSSL_free
    - X509_PUBKEY_free
    - ERR_raise
    - k2d
    - X509_PUBKEY_set0_param
    - X509_PUBKEY_new
    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:1466,1
    - Dst: key_to_encp8
      Src: /src/openssl/test/tls-provider.c:1469,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/test/tls-provider.c:1471,1
    - Dst: X509_SIG_free
      Src: /src/openssl/test/tls-provider.c:1473,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: 1476
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1476
    functionName: key_to_epki_der_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - i2d_PKCS8_bio
    - p2s
    - key_to_encp8
    - X509_SIG_free
    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:1493,1
    - Dst: key_to_encp8
      Src: /src/openssl/test/tls-provider.c:1496,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/test/tls-provider.c:1498,1
    - Dst: X509_SIG_free
      Src: /src/openssl/test/tls-provider.c:1500,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: 1503
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1503
    functionName: key_to_epki_pem_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_PKCS8
    - p2s
    - key_to_encp8
    - X509_SIG_free
    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:1518,1
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1521,1
    - Dst: key_to_p8info
      Src: /src/openssl/test/tls-provider.c:1524,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/test/tls-provider.c:1527,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1529,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1531,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: 1534
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1534
    functionName: key_to_pki_der_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_p8info
    - p2s
    - key_to_epki_der_priv_bio
    - free_asn1_data
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    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:1549,1
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1552,1
    - Dst: key_to_p8info
      Src: /src/openssl/test/tls-provider.c:1555,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/tls-provider.c:1558,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1560,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1562,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: 1565
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1565
    functionName: key_to_pki_pem_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - key_to_epki_pem_priv_bio
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_p8info
    - p2s
    - free_asn1_data
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    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:1579,1
    - Dst: xorx_key_to_pubkey
      Src: /src/openssl/test/tls-provider.c:1582,1
    - Dst: i2d_X509_PUBKEY_bio
      Src: /src/openssl/test/tls-provider.c:1585,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:1587,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: 1589
      start: 1567
    functionDepth: 6
    functionLinenumber: 1567
    functionLinenumberEnd: 1589
    functionName: key_to_spki_der_pub_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - i2d_X509_PUBKEY_bio
    - p2s
    - xorx_key_to_pubkey
    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:1603,1
    - Dst: xorx_key_to_pubkey
      Src: /src/openssl/test/tls-provider.c:1606,1
    - Dst: PEM_write_bio_X509_PUBKEY
      Src: /src/openssl/test/tls-provider.c:1609,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1611,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:1614,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: 1616
      start: 1591
    functionDepth: 6
    functionLinenumber: 1591
    functionLinenumberEnd: 1616
    functionName: key_to_spki_pem_pub_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - p2s
    - free_asn1_data
    - PEM_write_bio_X509_PUBKEY
    - 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:1626,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1627,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1632,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/tls-provider.c:1636,1
    - Dst: OBJ_length
      Src: /src/openssl/test/tls-provider.c:1638,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1640,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/tls-provider.c:1641,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: 1647
      start: 1620
    functionDepth: 5
    functionLinenumber: 1620
    functionLinenumberEnd: 1647
    functionName: prepare_xorx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - OBJ_nid2obj
    - ERR_raise
    - 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:1656,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/tls-provider.c:1660,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - vecxkey
    - pder
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1668
    functionName: xorx_spki_pub_to_der
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ERR_raise
    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:1678,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/tls-provider.c:1682,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1683,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/test/tls-provider.c:1689,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1691,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/test/tls-provider.c:1695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - vecxkey
    - pder
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1697
    functionName: xorx_pki_priv_to_der
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ERR_raise
    - OPENSSL_secure_clear_free
    - i2d_ASN1_OCTET_STRING
    - memcpy
    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:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1730
    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:1736,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1732
    functionDepth: 4
    functionLinenumber: 1732
    functionLinenumberEnd: 1738
    functionName: key2any_freectx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - OPENSSL_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:1743,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/tls-provider.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1749
    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:1754,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1755,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1756,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1757,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/test/tls-provider.c:1763,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/test/tls-provider.c:1765,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/tls-provider.c:1768,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/tls-provider.c:1772,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/tls-provider.c:1778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1751
    functionDepth: 5
    functionLinenumber: 1751
    functionLinenumberEnd: 1783
    functionName: key2any_set_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - PROV_XOR_LIBCTX_OF
    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:1802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - selection_mask
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1816
    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:1826,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1829,1
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/tls-provider.c:1831,1
    - Dst: writer
      Src: /src/openssl/test/tls-provider.c:1837,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls-provider.c:1840,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1842,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: 1845
      start: 1818
    functionDepth: 5
    functionLinenumber: 1818
    functionLinenumberEnd: 1845
    functionName: key2any_encode
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - writer
    - OBJ_sn2nid
    - BIO_free
    - ERR_raise
    - BIO_new_from_core_bio
    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: 1855
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1855
    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: 1864
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1864
    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: 1873
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1873
    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: 1910
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1910
    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: 1914
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1914
    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: 1919
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1919
    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: 1972
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1972
    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: 2057
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2057
    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: 2063
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2063
    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:2169,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/test/tls-provider.c:2173,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/tls-provider.c:2174,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: 2176
      start: 2167
    functionDepth: 3
    functionLinenumber: 2167
    functionLinenumberEnd: 2176
    functionName: xorx_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_ex
    - OPENSSL_zalloc
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *xorx_d2i_X509_PUBKEY_INTERNAL(const unsigned char **pp,
      long len, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/tls-provider.c:2195,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/test/tls-provider.c:2196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2201,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls-provider.c:2203,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: 2205
      start: 2191
    functionDepth: 5
    functionLinenumber: 2191
    functionLinenumberEnd: 2205
    functionName: xor_read_der
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_new_from_core_bio
    - asn1_d2i_read_bio
    - OPENSSL_free
    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:2217,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/test/tls-provider.c:2218,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/tls-provider.c:2219,1
    - Dst: key_from_pkcs8
      Src: /src/openssl/test/tls-provider.c:2220,1
    - Dst: PROV_XOR_LIBCTX_OF
      Src: /src/openssl/test/tls-provider.c:2220,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:2221,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: 2224
      start: 2209
    functionDepth: 6
    functionLinenumber: 2209
    functionLinenumberEnd: 2224
    functionName: xor_der2key_decode_p8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - PROV_XOR_LIBCTX_OF
    - key_from_pkcs8
    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:2232,1
    - Dst: xor_key_from_x509pubkey
      Src: /src/openssl/test/tls-provider.c:2234,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:2240,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:2245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - XORKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2226
    functionDepth: 8
    functionLinenumber: 2226
    functionLinenumberEnd: 2247
    functionName: xor_d2i_PUBKEY
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_freekey
    - xor_key_from_x509pubkey
    - X509_PUBKEY_free
    - 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:2258,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/tls-provider.c:2264,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: 2268
      start: 2255
    functionDepth: 5
    functionLinenumber: 2255
    functionLinenumberEnd: 2268
    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:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2275
    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:2295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - desc
    argTypes:
    - int
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2309
    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:2334,1
    - Dst: xor_read_der
      Src: /src/openssl/test/tls-provider.c:2338,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PKCS8
      Src: /src/openssl/test/tls-provider.c:2347,1
    - Dst: struct der2key_ctx_st*::desc::d2i_private_key
      Src: /src/openssl/test/tls-provider.c:2351,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PUBKEY
      Src: /src/openssl/test/tls-provider.c:2359,1
    - Dst: struct der2key_ctx_st*::desc::d2i_public_key
      Src: /src/openssl/test/tls-provider.c:2361,1
    - Dst: struct der2key_ctx_st*::desc::d2i_key_params
      Src: /src/openssl/test/tls-provider.c:2368,1
    - Dst: struct der2key_ctx_st*::desc::check_key
      Src: /src/openssl/test/tls-provider.c:2382,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/tls-provider.c:2383,1
    - Dst: struct der2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/test/tls-provider.c:2388,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2402,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/tls-provider.c:2409,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/tls-provider.c:2410,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/tls-provider.c:2414,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/tls-provider.c:2416,1
    - Dst: data_cb
      Src: /src/openssl/test/tls-provider.c:2418,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/tls-provider.c:2422,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2423,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: 2426
      start: 2311
    functionDepth: 7
    functionLinenumber: 2311
    functionLinenumberEnd: 2426
    functionName: xor_der2key_decode
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - struct der2key_ctx_st*::desc::d2i_key_params
    - struct der2key_ctx_st*::desc::adjust_key
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - xor_read_der
    - OPENSSL_free
    - struct der2key_ctx_st*::desc::d2i_public_key
    - struct der2key_ctx_st*::desc::check_key
    - ERR_raise
    - OSSL_PARAM_construct_end
    - struct der2key_ctx_st*::desc::free_key
    - struct der2key_ctx_st*::desc::d2i_PUBKEY
    - data_cb
    - struct der2key_ctx_st*::desc::d2i_PKCS8
    - struct der2key_ctx_st*::desc::d2i_private_key
    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:2433,1
    - Dst: export
      Src: /src/openssl/test/tls-provider.c:2440,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: 2443
      start: 2428
    functionDepth: 1
    functionLinenumber: 2428
    functionLinenumberEnd: 2443
    functionName: der2key_export_object
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_prov_get_keymgmt_export
    - 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:2450,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: 2452
      start: 2447
    functionDepth: 7
    functionLinenumber: 2447
    functionLinenumberEnd: 2452
    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: 2456
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2456
    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: 2471
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2471
    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: 2483
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2483
    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: 2532
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2532
    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: 2558
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2558
    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:2594,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/test/tls-provider.c:2597,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/tls-provider.c:2597,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/test/tls-provider.c:2599,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/tls-provider.c:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - oidbuf
    - tls_name
    argTypes:
    - unsigned char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2592
    functionDepth: 7
    functionLinenumber: 2592
    functionLinenumberEnd: 2602
    functionName: xor_get_aid
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - i2d_X509_ALGOR
    - X509_ALGOR_new
    - OBJ_txt2obj
    - X509_ALGOR_set0
    - X509_ALGOR_free
    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:2636,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:2642,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2643,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2632
    functionDepth: 0
    functionLinenumber: 2632
    functionLinenumberEnd: 2648
    functionName: xor_sig_newctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_free
    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:2658,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/test/tls-provider.c:2660,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/tls-provider.c:2662,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2664,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/tls-provider.c:2668,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2670,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2673,1
    - Dst: xor_get_aid
      Src: /src/openssl/test/tls-provider.c:2675,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2677,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/test/tls-provider.c:2683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_XORSIG_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2650
    functionDepth: 10
    functionLinenumber: 2650
    functionLinenumberEnd: 2685
    functionName: xor_sig_setup_md
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - OPENSSL_free
    - EVP_MD_fetch
    - xor_get_aid
    - EVP_MD_free
    - EVP_MD_CTX_free
    - EVP_MD_nid
    - OPENSSL_strlcpy
    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:2694,1
    - Dst: xor_key_up_ref
      Src: /src/openssl/test/tls-provider.c:2695,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - vpxor_sigctx
    - vxorsig
    - operation
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2687
    functionDepth: 2
    functionLinenumber: 2687
    functionLinenumberEnd: 2705
    functionName: xor_sig_signverify_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_freekey
    - xor_key_up_ref
    - ERR_raise
    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:2710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpxor_sigctx
    - vxorsig
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2707
    functionDepth: 3
    functionLinenumber: 2707
    functionLinenumberEnd: 2711
    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:2716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpxor_sigctx
    - vxorsig
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2713
    functionDepth: 3
    functionLinenumber: 2713
    functionLinenumberEnd: 2717
    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:2730,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2739,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/test/tls-provider.c:2747,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2750,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: 2759
      start: 2719
    functionDepth: 7
    functionLinenumber: 2719
    functionLinenumberEnd: 2759
    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:2772,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/test/tls-provider.c:2785,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2788,1
    - Dst: memcmp
      Src: /src/openssl/test/tls-provider.c:2793,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2794,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: 2798
      start: 2761
    functionDepth: 7
    functionLinenumber: 2761
    functionLinenumberEnd: 2798
    functionName: xor_sig_verify
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_Q_mac
    - memcmp
    - ERR_raise
    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:2810,1
    - Dst: xor_sig_setup_md
      Src: /src/openssl/test/tls-provider.c:2813,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/tls-provider.c:2816,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/tls-provider.c:2820,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/tls-provider.c:2826,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2827,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: 2831
      start: 2800
    functionDepth: 11
    functionLinenumber: 2800
    functionLinenumberEnd: 2831
    functionName: xor_sig_digest_signverify_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_sig_setup_md
    - xor_sig_signverify_init
    - EVP_MD_free
    - 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:2836,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: 2838
      start: 2833
    functionDepth: 12
    functionLinenumber: 2833
    functionLinenumberEnd: 2838
    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:2842,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: 2844
      start: 2840
    functionDepth: 12
    functionLinenumber: 2840
    functionLinenumberEnd: 2844
    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:2855,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: 2856
      start: 2846
    functionDepth: 3
    functionLinenumber: 2846
    functionLinenumberEnd: 2856
    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:2870,1
    - Dst: xor_sig_sign
      Src: /src/openssl/test/tls-provider.c:2876,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: 2877
      start: 2858
    functionDepth: 8
    functionLinenumber: 2858
    functionLinenumberEnd: 2877
    functionName: xor_sig_digest_sign_final
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - xor_sig_sign
    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:2889,1
    - Dst: xor_sig_verify
      Src: /src/openssl/test/tls-provider.c:2894,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: 2895
      start: 2879
    functionDepth: 8
    functionLinenumber: 2879
    functionLinenumberEnd: 2895
    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:2901,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/tls-provider.c:2902,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2903,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:2907,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2909,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2897
    functionDepth: 8
    functionLinenumber: 2897
    functionLinenumberEnd: 2911
    functionName: xor_sig_freectx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_freekey
    - EVP_MD_CTX_free
    - EVP_MD_free
    - OPENSSL_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:2918,1
    - Dst: xor_key_up_ref
      Src: /src/openssl/test/tls-provider.c:2928,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/test/tls-provider.c:2932,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/tls-provider.c:2937,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/test/tls-provider.c:2939,1
    - Dst: xor_sig_freectx
      Src: /src/openssl/test/tls-provider.c:2945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2913
    functionDepth: 9
    functionLinenumber: 2913
    functionLinenumberEnd: 2947
    functionName: xor_sig_dupctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - xor_key_up_ref
    - xor_sig_freectx
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    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:2957,1
    - Dst: xor_get_aid
      Src: /src/openssl/test/tls-provider.c:2960,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/test/tls-provider.c:2963,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:2966,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/tls-provider.c:2967,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2949
    functionDepth: 8
    functionLinenumber: 2949
    functionLinenumberEnd: 2971
    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: 2982
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2982
    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:2992,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:2999,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/tls-provider.c:3002,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/tls-provider.c:3005,1
    - Dst: xor_sig_setup_md
      Src: /src/openssl/test/tls-provider.c:3007,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2984
    functionDepth: 11
    functionLinenumber: 2984
    functionLinenumberEnd: 3012
    functionName: xor_sig_set_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - 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: 3024
      start: 3020
    functionDepth: 0
    functionLinenumber: 3020
    functionLinenumberEnd: 3024
    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:3033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 3026
    functionDepth: 1
    functionLinenumber: 3026
    functionLinenumberEnd: 3034
    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:3043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3036
    functionDepth: 2
    functionLinenumber: 3036
    functionLinenumberEnd: 3044
    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: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: 2
    functionLinenumber: 3046
    functionLinenumberEnd: 3054
    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: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_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: 3136
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3136
    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:3143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:3146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:3149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3138
    functionDepth: 4
    functionLinenumber: 3138
    functionLinenumberEnd: 3150
    functionName: tls_prov_teardown
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OPENSSL_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:3172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3160
    functionDepth: 7
    functionLinenumber: 3160
    functionLinenumberEnd: 3191
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/openssl/test/tls-provider.c:3198,1
    - Dst: xor_newprovctx
      Src: /src/openssl/test/tls-provider.c:3201,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3212,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3213,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3214,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3215,1
    - Dst: OSSL_FUNC_core_obj_create
      Src: /src/openssl/test/tls-provider.c:3221,1
    - Dst: OSSL_FUNC_core_obj_add_sigid
      Src: /src/openssl/test/tls-provider.c:3224,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3233,1
    - Dst: c_obj_create
      Src: /src/openssl/test/tls-provider.c:3242,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3243,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/tls-provider.c:3247,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3248,1
    - Dst: c_obj_create
      Src: /src/openssl/test/tls-provider.c:3251,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3252,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/tls-provider.c:3256,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:3265,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/tls-provider.c:3267,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3193
    functionDepth: 8
    functionLinenumber: 3193
    functionLinenumberEnd: 3269
    functionName: tls_provider_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_core_obj_add_sigid
    - OPENSSL_free
    - c_obj_create
    - c_obj_add_sigid
    - OSSL_LIB_CTX_new_from_dispatch
    - ERR_raise
    - OSSL_LIB_CTX_free
    - randomize_tls_alg_id
    - OSSL_FUNC_core_obj_create
    - xor_newprovctx
    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:251,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/endecoder_legacy_test.c:252,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/endecoder_legacy_test.c:254,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/endecoder_legacy_test.c:255,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:257,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/endecoder_legacy_test.c:264,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/endecoder_legacy_test.c:265,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/endecoder_legacy_test.c:268,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/endecoder_legacy_test.c:269,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:272,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - type
    - gen_template_params
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 242
    functionDepth: 8
    functionLinenumber: 242
    functionLinenumberEnd: 275
    functionName: make_key
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_new
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    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:281,1
    - Dst: strcmp
      Src: /src/openssl/test/endecoder_legacy_test.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    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:291,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/endecoder_legacy_test.c:292,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/endecoder_legacy_test.c:294,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/endecoder_legacy_test.c:295,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:296,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - bio_provided
    - bio_legacy
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: test_membio_str_eq
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_strn_eq
    - TEST_size_t_eq
    - BIO_get_mem_data
    - TEST_long_ge
    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:319,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecoder_legacy_test.c:319,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecoder_legacy_test.c:319,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:320,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecoder_legacy_test.c:320,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecoder_legacy_test.c:320,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:323,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:323,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:326,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:327,1
    - Dst: pem_write_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:327,1
    - Dst: test_membio_str_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:335,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/endecoder_legacy_test.c:335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:336,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:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:342,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/test/endecoder_legacy_test.c:342,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:346,1
    - Dst: evp_pkey_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:346,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: 300
    functionDepth: 12
    functionLinenumber: 300
    functionLinenumberEnd: 364
    functionName: test_protected_PEM
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_ENCODER_to_bio
    - pem_read_bio
    - TEST_true
    - EVP_PKEY_new
    - OSSL_DECODER_CTX_new_for_pkey
    - test_membio_str_eq
    - BIO_new
    - TEST_int_gt
    - evp_pkey_eq
    - BIO_s_mem
    - BIO_free
    - pem_write_bio
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - OSSL_ENCODER_CTX_free
    - OSSL_DECODER_from_bio
    - EVP_PKEY_assign
    - evp_pkey_print
    - TEST_info
    - OSSL_ENCODER_CTX_new_for_pkey
    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:389,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:392,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:393,1
    - Dst: pem_write_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:393,1
    - Dst: test_membio_str_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:394,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:400,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/endecoder_legacy_test.c:400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:401,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:405,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:406,1
    - Dst: pem_read_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:407,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/test/endecoder_legacy_test.c:407,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:411,1
    - Dst: evp_pkey_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:411,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:414,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:415,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: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:422,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:423,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:424,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:425,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecoder_legacy_test.c:426,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecoder_legacy_test.c:427,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: 429
      start: 366
    functionDepth: 12
    functionLinenumber: 366
    functionLinenumberEnd: 429
    functionName: test_unprotected_PEM
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_ENCODER_to_bio
    - pem_read_bio
    - TEST_true
    - EVP_PKEY_new
    - OSSL_DECODER_CTX_new_for_pkey
    - test_membio_str_eq
    - BIO_new
    - TEST_int_gt
    - evp_pkey_eq
    - BIO_s_mem
    - BIO_free
    - pem_write_bio
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - OSSL_ENCODER_CTX_free
    - OSSL_DECODER_from_bio
    - EVP_PKEY_assign
    - evp_pkey_print
    - TEST_info
    - OSSL_ENCODER_CTX_new_for_pkey
    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:452,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:455,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/endecoder_legacy_test.c:455,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:457,1
    - Dst: i2d
      Src: /src/openssl/test/endecoder_legacy_test.c:457,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:458,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:465,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/endecoder_legacy_test.c:465,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:466,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:470,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/endecoder_legacy_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:474,1
    - Dst: d2i
      Src: /src/openssl/test/endecoder_legacy_test.c:475,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:477,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/test/endecoder_legacy_test.c:477,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:481,1
    - Dst: evp_pkey_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:481,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:484,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:485,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:486,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:487,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:492,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:493,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:494,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecoder_legacy_test.c:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecoder_legacy_test.c:497,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: 499
      start: 431
    functionDepth: 12
    functionLinenumber: 431
    functionLinenumberEnd: 499
    functionName: test_DER
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_DECODER_from_data
    - TEST_size_t_gt
    - EVP_PKEY_new
    - i2d
    - OSSL_DECODER_CTX_new_for_pkey
    - OPENSSL_free
    - TEST_int_gt
    - evp_pkey_eq
    - d2i
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_free
    - EVP_PKEY_assign
    - evp_pkey_print
    - TEST_info
    - OSSL_ENCODER_CTX_new_for_pkey
    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:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:512,1
    - Dst: lookup_key
      Src: /src/openssl/test/endecoder_legacy_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:516,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:517,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/test/endecoder_legacy_test.c:517,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:518,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:519,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/endecoder_legacy_test.c:519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:520,1
    - Dst: EVP_PKEY_get0
      Src: /src/openssl/test/endecoder_legacy_test.c:520,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:529,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:532,1
    - Dst: test_protected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:534,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:548,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:551,1
    - Dst: test_unprotected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:553,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:566,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:569,1
    - Dst: test_unprotected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:571,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:587,1
    - Dst: test_unprotected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:589,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:601,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:604,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:606,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:620,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:623,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:625,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:638,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:641,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:643,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:657,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:659,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:666,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 501
    functionDepth: 13
    functionLinenumber: 501
    functionLinenumberEnd: 668
    functionName: test_key
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - evp_pkey_copy_downgraded
    - lookup_key
    - test_unprotected_PEM
    - EVP_PKEY_get_id
    - test_protected_PEM
    - TEST_true
    - TEST_int_eq
    - OSSL_NELEM
    - test_DER
    - EVP_PKEY_free
    - TEST_info
    - EVP_PKEY_get0
    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:677,1
    - Dst: TEST_error
      Src: /src/openssl/test/endecoder_legacy_test.c:678,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/endecoder_legacy_test.c:681,1
    - Dst: TEST_error
      Src: /src/openssl/test/endecoder_legacy_test.c:682,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:686,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:688,1
    - Dst: strcmp
      Src: /src/openssl/test/endecoder_legacy_test.c:690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:691,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecoder_legacy_test.c:691,1
    - Dst: test_get_argument
      Src: /src/openssl/test/endecoder_legacy_test.c:691,1
    - Dst: strcmp
      Src: /src/openssl/test/endecoder_legacy_test.c:697,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:698,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecoder_legacy_test.c:698,1
    - Dst: test_get_argument
      Src: /src/openssl/test/endecoder_legacy_test.c:698,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:703,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:704,1
    - Dst: make_key
      Src: /src/openssl/test/endecoder_legacy_test.c:704,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:708,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/endecoder_legacy_test.c:710,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:710,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 712
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - test_get_argument_count
    - TEST_error
    - strcmp
    - make_key
    - OSSL_NELEM
    - TEST_info
    - load_pkey_pem
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:718,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - OSSL_NELEM
    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:
    - CRYPTO_THREAD_unlock
    - tsan_counter
    - 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_unlock
    - TEST_ptr
    - CRYPTO_THREAD_lock_free
    - TEST_true
    - CRYPTO_THREAD_lock_new
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    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: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/test/threadstest.c:128,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/threadstest.c:129,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/threadstest.c:131,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/threadstest.c:132,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:133,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:141,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:142,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/threadstest.c:144,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:145,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:146,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - id
    - iterations
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: rwwriter_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_time2seconds
    - CRYPTO_THREAD_write_lock
    - OSSL_sleep
    - ossl_time_now
    - OPENSSL_zalloc::OPENSSL_zalloc
    - abort
    - CRYPTO_free
    - OPENSSL_assert
    linkageType: ''
    returnType: void
    signature: void rwwriter_fn(int id, int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:157,1
    - Dst: rwwriter_fn
      Src: /src/openssl/test/threadstest.c:158,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: rwwriter1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_atomic_add
    - rwwriter_fn
    linkageType: ''
    returnType: void
    signature: void rwwriter1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:166,1
    - Dst: rwwriter_fn
      Src: /src/openssl/test/threadstest.c:167,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: rwwriter2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_atomic_add
    - rwwriter_fn
    linkageType: ''
    returnType: void
    signature: void rwwriter2_fn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/threadstest.c:179,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:180,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:183,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:184,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:189,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:195,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:196,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/threadstest.c:201,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:202,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:205,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 207
    functionName: rwreader_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_atomic_add
    - CRYPTO_THREAD_read_lock
    - abort
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void rwreader_fn(int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:211,1
    - Dst: rwreader_fn
      Src: /src/openssl/test/threadstest.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 213
    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:217,1
    - Dst: rwreader_fn
      Src: /src/openssl/test/threadstest.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 219
    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:234,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:236,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:236,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:247,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:248,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:249,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:250,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:252,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:254,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:255,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:256,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:257,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:258,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:259,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:260,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:261,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:261,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:264,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/threadstest.c:265,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/threadstest.c:265,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:267,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:268,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:273,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:278,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:281,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:284,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:285,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 288
    functionName: _torture_rw
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_time_subtract
    - CRYPTO_THREAD_lock_free
    - run_thread
    - TEST_true
    - TEST_int_eq
    - CRYPTO_THREAD_lock_new
    - ossl_time_now
    - memset
    - wait_for_thread
    - ossl_time_to_timeval
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int _torture_rw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rw
      Src: /src/openssl/test/threadstest.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 294
    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:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 300
    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:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:325,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/test/threadstest.c:328,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/threadstest.c:329,1
    - Dst: ossl_rcu_cb_item_new
      Src: /src/openssl/test/threadstest.c:333,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/threadstest.c:334,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/threadstest.c:338,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/test/threadstest.c:339,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/test/threadstest.c:340,1
    - Dst: TSAN_ACQUIRE
      Src: /src/openssl/test/threadstest.c:341,1
    - Dst: global_ctr::global_ctr
      Src: /src/openssl/test/threadstest.c:342,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/test/threadstest.c:343,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/test/threadstest.c:345,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/test/threadstest.c:346,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/test/threadstest.c:348,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/threadstest.c:349,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:351,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:352,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - id
    - iterations
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 357
    functionName: writer_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 2
    functionsReached:
    - ossl_rcu_write_unlock
    - ossl_time2seconds
    - ossl_rcu_cb_item_new
    - global_ctr::global_ctr
    - ossl_rcu_assign_ptr
    - ossl_rcu_call
    - ossl_time_now
    - OSSL_sleep
    - OPENSSL_zalloc::OPENSSL_zalloc
    - ossl_rcu_deref
    - TSAN_ACQUIRE
    - ossl_rcu_write_lock
    - ossl_synchronize_rcu
    - CRYPTO_free
    - OPENSSL_assert
    linkageType: ''
    returnType: void
    signature: void writer_fn(int id, int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:363,1
    - Dst: writer_fn
      Src: /src/openssl/test/threadstest.c:364,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: writer1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_atomic_add
    - writer_fn
    linkageType: ''
    returnType: void
    signature: void writer1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:372,1
    - Dst: writer_fn
      Src: /src/openssl/test/threadstest.c:373,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: writer2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_atomic_add
    - writer_fn
    linkageType: ''
    returnType: void
    signature: void writer2_fn(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:387,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:388,1
    - Dst: ossl_rcu_read_lock
      Src: /src/openssl/test/threadstest.c:390,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:391,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/test/threadstest.c:397,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:401,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:403,1
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/test/threadstest.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 414
    functionName: reader_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 2
    functionsReached:
    - CRYPTO_atomic_add
    - ossl_rcu_read_lock
    - ossl_rcu_deref
    - TEST_info
    - 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:418,1
    - Dst: reader_fn
      Src: /src/openssl/test/threadstest.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: reader1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - reader_fn
    linkageType: ''
    returnType: void
    signature: void reader1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:424,1
    - Dst: reader_fn
      Src: /src/openssl/test/threadstest.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: reader2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - reader_fn
    linkageType: ''
    returnType: void
    signature: void reader2_fn(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:442,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:445,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:446,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:447,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:448,1
    - Dst: ossl_rcu_lock_new
      Src: /src/openssl/test/threadstest.c:458,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:462,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:463,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:464,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:464,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:465,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:465,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:466,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:467,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:468,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:469,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:470,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:471,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:471,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:474,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/threadstest.c:475,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/threadstest.c:475,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:477,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:478,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:483,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:488,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:489,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:491,1
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/test/threadstest.c:496,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:497,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:498,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 502
    functionName: _torture_rcu
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_lock_free
    - TEST_ptr
    - ossl_time_subtract
    - ossl_rcu_lock_new
    - CRYPTO_THREAD_lock_free
    - run_thread
    - TEST_true
    - TEST_int_eq
    - CRYPTO_THREAD_lock_new
    - memset
    - ossl_time_now
    - wait_for_thread
    - ossl_time_to_timeval
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int _torture_rcu(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rcu
      Src: /src/openssl/test/threadstest.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 508
    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:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 514
    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:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 520
    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: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    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:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    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:540,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:540,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:541,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:541,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/test/threadstest.c:542,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: test_once
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - run_thread
    - TEST_true
    - TEST_int_eq
    - CRYPTO_THREAD_run_once
    - 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: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    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:568,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadstest.c:569,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:570,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/threadstest.c:570,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:574,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/threadstest.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: thread_local_thread_cb
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - TEST_true
    - CRYPTO_THREAD_set_local
    - TEST_ptr_null
    - TEST_ptr_eq
    linkageType: ''
    returnType: void
    signature: void thread_local_thread_cb(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:586,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/threadstest.c:586,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:590,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadstest.c:591,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:592,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:592,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:593,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:593,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:594,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:599,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadstest.c:600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:604,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:609,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/test/threadstest.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 612
    functionName: test_thread_local
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - run_thread
    - TEST_true
    - CRYPTO_THREAD_cleanup_local
    - CRYPTO_THREAD_init_local
    - TEST_ptr_null
    - wait_for_thread
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_thread_local(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:624,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/threadstest.c:624,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:628,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/threadstest.c:628,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:631,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/test/threadstest.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 635
    functionName: test_thread_local_multi_key
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_init_local
    - TEST_true
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_cleanup_local
    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:641,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:643,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:646,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:648,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:648,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:652,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:652,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:658,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:658,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:660,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:660,1
    - Dst: CRYPTO_atomic_or
      Src: /src/openssl/test/threadstest.c:663,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:665,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:666,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:670,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:671,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:677,1
    - Dst: CRYPTO_atomic_or
      Src: /src/openssl/test/threadstest.c:677,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:680,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:681,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/test/threadstest.c:685,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: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:692,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:693,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:698,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/test/threadstest.c:698,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:701,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:702,1
    - Dst: CRYPTO_atomic_and
      Src: /src/openssl/test/threadstest.c:707,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:709,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:710,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:714,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:715,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:721,1
    - Dst: CRYPTO_atomic_and
      Src: /src/openssl/test/threadstest.c:721,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:724,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:725,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/test/threadstest.c:730,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:732,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:733,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:738,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:744,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/test/threadstest.c:744,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:747,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:748,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:753,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 755
    functionName: test_atomic
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - CRYPTO_atomic_or
    - TEST_ptr
    - CRYPTO_atomic_add
    - CRYPTO_THREAD_lock_free
    - TEST_true
    - TEST_int_eq
    - CRYPTO_THREAD_lock_new
    - CRYPTO_atomic_and
    - CRYPTO_atomic_load
    - CRYPTO_atomic_add64
    linkageType: ''
    returnType: int
    signature: int test_atomic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:768,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 770
    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:774,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ok
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 783
    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:790,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/threadstest.c:791,1
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: thead_teardown_libctx
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - multi_intialise
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void thead_teardown_libctx(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:799,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/threadstest.c:799,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/threadstest.c:804,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:805,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:805,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - providers
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 811
    functionName: thread_setup_libctx
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_size_t_lt
    - TEST_true
    - thead_teardown_libctx
    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:818,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 821
    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:827,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:831,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 834
    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:843,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:844,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:845,1
    - Dst: main_func
      Src: /src/openssl/test/threadstest.c:849,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:851,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:852,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - num_threads
    - libctx
    - providers
    argTypes:
    - size_t
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 837
    functionDepth: 6
    functionLinenumber: 837
    functionLinenumberEnd: 858
    functionName: thread_run_test
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_setup_libctx
    - start_threads
    - main_func
    - TEST_true
    - thead_teardown_libctx
    - teardown_threads
    - multi_intialise
    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:862,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest.c:863,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/threadstest.c:864,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/threadstest.c:865,1
    - Dst: strlen
      Src: /src/openssl/test/threadstest.c:867,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/threadstest.c:884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:886,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:887,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:888,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:889,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:894,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/threadstest.c:894,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:895,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/threadstest.c:895,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:896,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/threadstest.c:896,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:900,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/threadstest.c:900,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:901,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/threadstest.c:901,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:904,1
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/test/threadstest.c:904,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/threadstest.c:913,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:914,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/threadstest.c:919,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest.c:920,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/threadstest.c:921,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/threadstest.c:922,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:923,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:925,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 860
    functionDepth: 10
    functionLinenumber: 860
    functionLinenumberEnd: 926
    functionName: thread_general_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptFinal
    - TEST_ptr
    - OSSL_PROVIDER_available
    - EVP_DigestFinal
    - TEST_true
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex
    - multi_set_success
    - EVP_CIPHER_CTX_free
    - EVP_MD_CTX_free
    - EVP_MD_fetch
    - EVP_PKEY_Q_keygen
    - EVP_CIPHER_fetch
    - EVP_MD_free
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - strlen
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: void
    signature: void thread_general_worker(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest.c:930,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest.c:933,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 928
    functionDepth: 10
    functionLinenumber: 928
    functionLinenumberEnd: 936
    functionName: thread_multi_simple_fetch
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - multi_set_success
    - EVP_MD_free
    - EVP_MD_fetch
    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: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:956,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/threadstest.c:959,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/threadstest.c:959,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/threadstest.c:960,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/threadstest.c:960,1
    - Dst: strlen
      Src: /src/openssl/test/threadstest.c:961,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/threadstest.c:965,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/threadstest.c:966,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:968,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/threadstest.c:972,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/threadstest.c:972,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/threadstest.c:973,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/threadstest.c:973,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/threadstest.c:975,1
    - Dst: strlen
      Src: /src/openssl/test/threadstest.c:975,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/threadstest.c:982,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:984,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 940
    functionDepth: 6
    functionLinenumber: 940
    functionLinenumberEnd: 985
    functionName: thread_shared_evp_pkey
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encrypt
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_decrypt
    - EVP_PKEY_decrypt_init
    - TEST_int_gt
    - multi_set_success
    - TEST_int_ge
    - strlen
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: void
    signature: void thread_shared_evp_pkey(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:989,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:991,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:992,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/threadstest.c:992,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:993,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 987
    functionDepth: 10
    functionLinenumber: 987
    functionLinenumberEnd: 996
    functionName: thread_provider_load_unload
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_PROVIDER_available
    - TEST_true
    - multi_set_success
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void thread_provider_load_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 7
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    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:1007,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1004
    functionDepth: 7
    functionLinenumber: 1004
    functionLinenumberEnd: 1010
    functionName: test_multi_general_worker_fips_provider
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    - TEST_skip
    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:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1012
    functionDepth: 7
    functionLinenumber: 1012
    functionLinenumberEnd: 1016
    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:1022,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:1023,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1024,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/threadstest.c:1024,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1025,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1026,1
    - Dst: thread_shared_evp_pkey
      Src: /src/openssl/test/threadstest.c:1029,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:1031,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1032,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1036,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1018
    functionDepth: 7
    functionLinenumber: 1018
    functionLinenumberEnd: 1039
    functionName: test_multi_shared_pkey_common
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_setup_libctx
    - TEST_ptr
    - start_threads
    - TEST_true
    - thead_teardown_libctx
    - EVP_PKEY_free
    - thread_shared_evp_pkey
    - teardown_threads
    - load_pkey_pem
    - multi_intialise
    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:1048,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1042
    functionDepth: 9
    functionLinenumber: 1042
    functionLinenumberEnd: 1050
    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:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1052
    functionDepth: 8
    functionLinenumber: 1052
    functionLinenumberEnd: 1055
    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:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 8
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    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:1065,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    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:1074,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:1076,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1077,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/threadstest.c:1077,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1080,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/threadstest.c:1080,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1084,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:1088,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1089,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1094,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:1097,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1069
    functionDepth: 6
    functionLinenumber: 1069
    functionLinenumberEnd: 1099
    functionName: test_multi_shared_pkey_release
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_setup_libctx
    - TEST_ptr
    - start_threads
    - EVP_PKEY_up_ref
    - TEST_true
    - thead_teardown_libctx
    - EVP_PKEY_free
    - teardown_threads
    - load_pkey_pem
    - multi_intialise
    linkageType: ''
    returnType: int
    signature: int test_multi_shared_pkey_release(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:1107,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:1108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1109,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:1109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1110,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest.c:1110,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1111,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1111,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1115,1
    - Dst: thread_provider_load_unload
      Src: /src/openssl/test/threadstest.c:1118,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:1120,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1121,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1125,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest.c:1126,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:1127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1101
    functionDepth: 11
    functionLinenumber: 1101
    functionLinenumberEnd: 1129
    functionName: test_multi_load_unload_provider
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_setup_libctx
    - OSSL_PROVIDER_load
    - TEST_ptr
    - start_threads
    - OSSL_PROVIDER_unload
    - thread_provider_load_unload
    - TEST_true
    - EVP_MD_fetch
    - EVP_MD_free
    - thead_teardown_libctx
    - teardown_threads
    - multi_intialise
    linkageType: ''
    returnType: int
    signature: int test_multi_load_unload_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1141,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:1141,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1142,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1142,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1144
    functionName: test_multi_load_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_true
    - multi_set_success
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void test_multi_load_worker(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/threadstest.c:1150,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1146
    functionDepth: 7
    functionLinenumber: 1146
    functionLinenumberEnd: 1157
    functionName: test_multi_default
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int test_multi_default(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:1166,1
    - Dst: test_multi_default
      Src: /src/openssl/test/threadstest.c:1167,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:1176,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:1178,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1181,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1159
    functionDepth: 8
    functionLinenumber: 1159
    functionLinenumberEnd: 1186
    functionName: test_multi_load
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    - OSSL_PROVIDER_load
    - test_multi_default
    - TEST_info
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int test_multi_load(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_new_uid
      Src: /src/openssl/test/threadstest.c:1191,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1193,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1194,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1195,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1196,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/threadstest.c:1197,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1198,1
    - Dst: OBJ_create
      Src: /src/openssl/test/threadstest.c:1198,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1199,1
    - Dst: OBJ_add_sigid
      Src: /src/openssl/test/threadstest.c:1199,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1188
    functionDepth: 8
    functionLinenumber: 1188
    functionLinenumberEnd: 1201
    functionName: test_obj_create_one
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - get_new_uid
    - OBJ_create
    - BIO_snprintf
    - TEST_true
    - OBJ_add_sigid
    - multi_set_success
    - TEST_int_ne
    linkageType: ''
    returnType: void
    signature: void test_obj_create_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1203
    functionDepth: 7
    functionLinenumber: 1203
    functionLinenumberEnd: 1208
    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:1222,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/threadstest.c:1222,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/threadstest.c:1233,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/threadstest.c:1236,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1213
    functionDepth: 7
    functionLinenumber: 1213
    functionLinenumberEnd: 1243
    functionName: test_bio_dgram_pair_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - TEST_int_eq
    - RAND_bytes_ex
    - multi_set_success
    - BIO_recvmmsg
    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:1250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:1251,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1257,1
    - Dst: BIO_free
      Src: /src/openssl/test/threadstest.c:1262,1
    - Dst: BIO_free
      Src: /src/openssl/test/threadstest.c:1263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1245
    functionDepth: 7
    functionLinenumber: 1245
    functionLinenumberEnd: 1265
    functionName: test_bio_dgram_pair
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - BIO_new_bio_dgram_pair
    - BIO_free
    - TEST_int_eq
    - 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:1288,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1290,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/threadstest.c:1294,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1296,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/threadstest.c:1300,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1302,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1305,1
    - Dst: BIO_free
      Src: /src/openssl/test/threadstest.c:1306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/threadstest.c:1307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1281
    functionDepth: 6
    functionLinenumber: 1281
    functionLinenumberEnd: 1308
    functionName: test_pem_read_one
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free
    - BIO_new_mem_buf
    - glue_strings
    - multi_set_success
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void test_pem_read_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1311
    functionDepth: 7
    functionLinenumber: 1311
    functionLinenumberEnd: 1315
    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:1326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1327,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1330,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/threadstest.c:1330,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/threadstest.c:1333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1334,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1336,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/threadstest.c:1336,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/openssl/test/threadstest.c:1340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1341,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/test/threadstest.c:1346,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/threadstest.c:1347,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/threadstest.c:1348,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1351
    functionName: test_x509_store_by_subject
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_free
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_NAME_free
    - X509_STORE_CTX_new
    - X509_STORE_CTX_free
    - TEST_true
    - multi_set_success
    - X509_NAME_add_entry_by_txt
    - X509_STORE_CTX_get_obj_by_subject
    - X509_NAME_new
    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:1358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1359,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1361,1
    - Dst: X509_STORE_load_store
      Src: /src/openssl/test/threadstest.c:1361,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1364,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/threadstest.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1354
    functionDepth: 7
    functionLinenumber: 1354
    functionLinenumberEnd: 1371
    functionName: test_x509_store
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    - TEST_ptr
    - X509_STORE_load_store
    - TEST_true
    - X509_STORE_new
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: int test_x509_store(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/threadstest.c:1381,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1382,1
    - Dst: time
      Src: /src/openssl/test/threadstest.c:1383,1
    - Dst: OBJ_create
      Src: /src/openssl/test/threadstest.c:1385,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/threadstest.c:1386,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:1389,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1390,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:1395,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1374
    functionDepth: 8
    functionLinenumber: 1374
    functionLinenumberEnd: 1401
    functionName: test_obj_create_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OBJ_ln2nid
    - OBJ_create
    - BIO_snprintf
    - multi_set_success
    - TEST_info
    - time
    linkageType: ''
    returnType: void
    signature: void test_obj_create_worker(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1403
    functionDepth: 7
    functionLinenumber: 1403
    functionLinenumberEnd: 1407
    functionName: test_obj_stress
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_obj_stress(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1427
    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:1434,1
    - Dst: opt_arg
      Src: /src/openssl/test/threadstest.c:1440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1449,1
    - Dst: test_get_argument
      Src: /src/openssl/test/threadstest.c:1449,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/threadstest.c:1452,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1453,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/threadstest.c:1456,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1457,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1460,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:1460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1464,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:1464,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1469,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1471,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1473,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1474,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1475,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1476,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1477,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1479,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1480,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1481,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1482,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1483,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1484,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1485,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1486,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1487,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1489,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1491,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1492,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1493,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1495,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1497,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1498,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1499,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1501
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - opt_arg
    - CRYPTO_THREAD_lock_new
    - test_mk_file_path
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/threadstest.c:1505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/threadstest.c:1506,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:1508,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1511
    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:
    - OPENSSL_malloc
    - RAND_bytes
    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:
    - memout
    - test_random
    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:102,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:104,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:111,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:124,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:132,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:140,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:144,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: 148
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 148
    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:154,1
    - Dst: strlen
      Src: /src/openssl/test/bio_base64_test.c:155,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:159,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_base64_test.c:159,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:164,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:164,1
    - Dst: encode
      Src: /src/openssl/test/bio_base64_test.c:165,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:166,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:166,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_base64_test.c:167,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_base64_test.c:172,1
    - Dst: BIO_set_close
      Src: /src/openssl/test/bio_base64_test.c:176,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_base64_test.c:177,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/bio_base64_test.c:178,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: 181
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: genb64
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - BIO_set_close
    - BIO_new
    - BIO_write
    - encode
    - BIO_free
    - BUF_MEM_free
    - strlen
    - BIO_s_mem
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/bio_base64_test.c:199,1
    - Dst: genbytes
      Src: /src/openssl/test/bio_base64_test.c:201,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:204,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_base64_test.c:209,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:211,1
    - Dst: genb64
      Src: /src/openssl/test/bio_base64_test.c:216,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:218,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_base64_test.c:218,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:219,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_base64_test.c:224,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_base64_test.c:226,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_base64_test.c:239,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:239,1
    - Dst: BIO_f_base64
      Src: /src/openssl/test/bio_base64_test.c:239,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_base64_test.c:244,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_base64_test.c:245,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:247,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:251,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:253,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:257,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_base64_test.c:267,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:271,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:274,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:292,1
    - Dst: memcmp
      Src: /src/openssl/test/bio_base64_test.c:295,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:296,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_base64_test.c:301,1
    - Dst: BIO_free
      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: 34
    EdgeCount: 34
    ICount: 76
    argCount: 3
    argNames:
    - t
    - llen
    - wscnt
    argTypes:
    - test_case*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 183
    functionDepth: 9
    functionLinenumber: 183
    functionLinenumberEnd: 307
    functionName: test_bio_base64_run
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_f_base64
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - BIO_set_flags
    - genb64
    - BIO_set_mem_eof_return
    - BIO_write
    - BIO_read
    - BIO_free
    - OPENSSL_free
    - TEST_error
    - genbytes
    - BIO_push
    - memcmp
    - OPENSSL_malloc
    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:323,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:327,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:329,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:331,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:333,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:335,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:337,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:341,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:343,1
    - Dst: fputc
      Src: /src/openssl/test/bio_base64_test.c:344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - t
    - verbose
    argTypes:
    - test_case*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 309
    functionDepth: 10
    functionLinenumber: 309
    functionLinenumberEnd: 359
    functionName: generic_case
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - fputc
    - fprintf
    - 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: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    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:375,1
    - 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: fprintf
      Src: /src/openssl/test/bio_base64_test.c:382,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:397,1
    - Dst: generic_case
      Src: /src/openssl/test/bio_base64_test.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 367
    functionDepth: 11
    functionLinenumber: 367
    functionLinenumberEnd: 402
    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:409,1
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:410,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:413,1
    - Dst: generic_case
      Src: /src/openssl/test/bio_base64_test.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 404
    functionDepth: 11
    functionLinenumber: 404
    functionLinenumberEnd: 429
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_base64_test.c:444,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:446,1
    - Dst: BIO_f_base64
      Src: /src/openssl/test/bio_base64_test.c:446,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_base64_test.c:447,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:450,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_base64_test.c:450,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_base64_test.c:451,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_base64_test.c:454,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_base64_test.c:455,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_base64_test.c:458,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_base64_test.c:460,1
    - Dst: BIO_flush
      Src: /src/openssl/test/bio_base64_test.c:460,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_base64_test.c:462,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_base64_test.c:463,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_base64_test.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 435
    functionDepth: 5
    functionLinenumber: 435
    functionLinenumberEnd: 468
    functionName: test_bio_base64_no_nl
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - BIO_set_flags
    - BIO_f_base64
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_write
    - BIO_free_all
    - TEST_true
    - BIO_flush
    - memset
    - BIO_push
    - TEST_ptr_eq
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_bio_base64_no_nl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_base64_test.c:474,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_base64_test.c:514,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_base64_test.c:523,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_base64_test.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 527
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - memset
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_memfail.c:38,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_memfail.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_memfail.c:39,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/x509_memfail.c:39,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_memfail.c:40,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/x509_memfail.c:40,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_memfail.c:45,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/test/x509_memfail.c:45,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_memfail.c:48,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/test/x509_memfail.c:48,1
    - Dst: X509_get0_signature
      Src: /src/openssl/test/x509_memfail.c:52,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_memfail.c:54,1
    - Dst: ASN1_item_verify
      Src: /src/openssl/test/x509_memfail.c:54,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/x509_memfail.c:54,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/x509_memfail.c:60,1
    - Dst: ASN1_item_verify
      Src: /src/openssl/test/x509_memfail.c:60,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/x509_memfail.c:60,1
    - Dst: X509_issuer_name_hash
      Src: /src/openssl/test/x509_memfail.c:66,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_memfail.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_memfail.c:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - allow_failure
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 26
    functionDepth: 9
    functionLinenumber: 26
    functionLinenumberEnd: 77
    functionName: do_x509
    functionSourceFile: /src/openssl/test/x509_memfail.c
    functionUses: 0
    functionsReached:
    - TEST_int_lt
    - TEST_ptr
    - X509_free
    - BIO_free
    - TEST_int_gt
    - X509_get0_signature
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_set1_RSA
    - X509_issuer_name_hash
    - X509_get0_pubkey
    - ASN1_ITEM_rptr
    - BIO_new_file
    - PEM_read_bio_X509
    - ASN1_item_verify
    linkageType: ''
    returnType: int
    signature: int do_x509(int allow_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509
      Src: /src/openssl/test/x509_memfail.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 10
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: test_record_alloc_counts
    functionSourceFile: /src/openssl/test/x509_memfail.c
    functionUses: 0
    functionsReached:
    - do_x509
    linkageType: ''
    returnType: int
    signature: int test_record_alloc_counts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509
      Src: /src/openssl/test/x509_memfail.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 10
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: test_alloc_failures
    functionSourceFile: /src/openssl/test/x509_memfail.c
    functionUses: 0
    functionsReached:
    - do_x509
    linkageType: ''
    returnType: int
    signature: int test_alloc_failures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/x509_memfail.c:91,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_memfail.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: test_report_alloc_counts
    functionSourceFile: /src/openssl/test/x509_memfail.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_get_alloc_counts
    linkageType: ''
    returnType: int
    signature: int test_report_alloc_counts(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_memfail.c:112,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_memfail.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_memfail.c:115,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_memfail.c:115,1
    - Dst: strcmp
      Src: /src/openssl/test/x509_memfail.c:118,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/x509_memfail.c:119,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_memfail.c:120,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_memfail.c:121,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_memfail.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_memfail.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - strcmp
    - CRYPTO_get_alloc_counts
    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: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/x509_memfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_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:
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - TEST_true
    - ossl_rsa_check_public_exponent
    - BN_free
    - BN_value_one
    - BN_new
    - BN_lshift
    - BN_add
    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
    - TEST_false
    - TEST_ptr
    - ossl_rsa_check_prime_factor_range
    - BN_CTX_new
    - TEST_true
    - BN_CTX_free
    - BN_free
    - bn_load_new
    - BN_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:
    - ossl_rsa_check_prime_factor
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - BN_CTX_new
    - TEST_true
    - BN_CTX_free
    - BN_free
    - bn_load_new
    - BN_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: 4
    functionLinenumber: 221
    functionLinenumberEnd: 272
    functionName: test_check_private_exponent
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - ossl_rsa_check_private_exponent
    - RSA_new
    - BN_CTX_new
    - TEST_true
    - RSA_set0_factors
    - RSA_free
    - BN_CTX_free
    - BN_free
    - RSA_set0_key
    - BN_new
    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:
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - RSA_new
    - BN_CTX_new
    - TEST_true
    - RSA_set0_factors
    - RSA_free
    - BN_CTX_free
    - TEST_int_eq
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - BN_free
    - TEST_BN_eq_word
    - ossl_rsa_check_crt_components
    - BN_new
    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: 5
    functionLinenumber: 356
    functionLinenumberEnd: 384
    functionName: test_derive_params_from_pq_fail
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - TEST_int_le
    - RSA_new
    - BN_CTX_new
    - TEST_true
    - RSA_set0_factors
    - RSA_free
    - BN_CTX_free
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - BN_free
    - BN_new
    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
    - TEST_ptr
    - ossl_rsa_check_pminusq_diff
    - TEST_true
    - BN_free
    - BN_new
    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:
    - TEST_false
    - TEST_ptr
    - ossl_rsa_sp800_56b_check_keypair
    - RSA_new
    - BN_rshift1
    - BN_CTX_new
    - TEST_true
    - RSA_set0_factors
    - RSA_free
    - BN_lshift1
    - BN_CTX_free
    - BN_free
    - RSA_set0_key
    - BN_value_one
    - bn_load_new
    - BN_mul
    - BN_add_word
    - BN_sub_word
    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:
    - TEST_ptr
    - ossl_rsa_sp800_56b_check_keypair
    - ossl_rsa_sp800_56b_generate_key
    - RSA_new
    - ossl_rsa_sp800_56b_check_public
    - TEST_true
    - RSA_free
    - 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:
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - RSA_new
    - BN_copy
    - TEST_true
    - RSA_free
    - BN_free
    - RSA_set0_key
    - ossl_rsa_sp800_56b_check_private
    - 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:
    - TEST_false
    - TEST_ptr
    - RSA_new
    - BN_rshift1
    - ossl_rsa_sp800_56b_check_public
    - TEST_true
    - RSA_free
    - BN_lshift1
    - BN_free
    - RSA_set0_key
    - bn_load_new
    - BN_add_word
    - BN_sub_word
    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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_format_test.c:403,1
    - Dst: OBJ_create
      Src: /src/openssl/test/pkcs12_format_test.c:403,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/pkcs12_format_test.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 8
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: get_custom_oid
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - OBJ_create
    - 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:414,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:417,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:419,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:421,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:423,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:425,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:428,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:430,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:432,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:434,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:436,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 439
    functionName: test_single_cert_no_attrs
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - add_certbag
    - start_check_contentinfo
    - end_pkcs12
    - check_certbag
    - new_pkcs12_builder
    - start_pkcs12
    - start_contentinfo
    - end_check_pkcs12
    - end_contentinfo
    - start_check_pkcs12
    - end_check_contentinfo
    - end_pkcs12_builder
    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:446,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pkcs12_format_test.c:447,1
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:449,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:452,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:454,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:456,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:458,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:460,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:463,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:465,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:467,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:469,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:471,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 441
    functionDepth: 6
    functionLinenumber: 441
    functionLinenumberEnd: 474
    functionName: test_single_key
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - check_keybag
    - OBJ_nid2sn
    - start_check_contentinfo
    - end_pkcs12
    - new_pkcs12_builder
    - start_pkcs12
    - BIO_snprintf
    - start_contentinfo
    - end_check_pkcs12
    - end_contentinfo
    - add_keybag
    - start_check_pkcs12
    - end_check_contentinfo
    - end_pkcs12_builder
    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:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 476
    functionDepth: 7
    functionLinenumber: 476
    functionLinenumberEnd: 488
    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:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 490
    functionDepth: 7
    functionLinenumber: 490
    functionLinenumberEnd: 499
    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:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 7
    functionLinenumber: 501
    functionLinenumberEnd: 510
    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:514,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:517,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:519,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:521,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:523,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:525,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:528,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:530,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:532,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:534,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:536,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 539
    functionName: test_single_key_with_attrs
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - check_keybag
    - start_check_contentinfo
    - end_pkcs12
    - new_pkcs12_builder
    - start_pkcs12
    - start_contentinfo
    - end_check_pkcs12
    - end_contentinfo
    - add_keybag
    - start_check_pkcs12
    - end_check_contentinfo
    - end_pkcs12_builder
    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:546,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pkcs12_format_test.c:547,1
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:549,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:552,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:554,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:556,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:558,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:560,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:563,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:565,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:567,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:569,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:571,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - mac
    argTypes:
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 541
    functionDepth: 6
    functionLinenumber: 541
    functionLinenumberEnd: 574
    functionName: test_single_cert_mac
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - add_certbag
    - start_check_contentinfo
    - check_certbag
    - new_pkcs12_builder
    - end_check_contentinfo
    - start_pkcs12
    - BIO_snprintf
    - start_contentinfo
    - end_check_pkcs12
    - end_contentinfo
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - end_pkcs12_builder
    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:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 585
    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:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 587
    functionDepth: 7
    functionLinenumber: 587
    functionLinenumberEnd: 596
    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:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 7
    functionLinenumber: 598
    functionLinenumberEnd: 607
    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:611,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:614,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:616,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:618,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:619,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:621,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:623,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:626,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:628,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:630,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:631,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:633,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:635,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 638
    functionName: test_cert_key_with_attrs_and_mac
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - check_keybag
    - add_certbag
    - start_check_contentinfo
    - check_certbag
    - new_pkcs12_builder
    - end_check_contentinfo
    - start_pkcs12
    - start_contentinfo
    - end_check_pkcs12
    - end_contentinfo
    - add_keybag
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - end_pkcs12_builder
    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:642,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:645,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:647,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:649,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:650,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:652,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:654,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:657,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:659,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:661,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:662,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:664,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:666,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 669
    functionName: test_cert_key_encrypted_content
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - check_keybag
    - add_certbag
    - check_certbag
    - new_pkcs12_builder
    - end_check_contentinfo
    - start_pkcs12
    - start_contentinfo
    - start_check_contentinfo_encrypted
    - end_check_pkcs12
    - end_contentinfo_encrypted
    - add_keybag
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - end_pkcs12_builder
    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:673,1
    - Dst: get_custom_oid
      Src: /src/openssl/test/pkcs12_format_test.c:674,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:677,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:679,1
    - Dst: add_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:681,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:683,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:685,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:688,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:690,1
    - Dst: check_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:692,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:694,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:696,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 671
    functionDepth: 9
    functionLinenumber: 671
    functionLinenumberEnd: 699
    functionName: test_single_secret_encrypted_content
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - new_pkcs12_builder
    - end_check_contentinfo
    - start_pkcs12
    - add_secretbag
    - check_secretbag
    - start_contentinfo
    - get_custom_oid
    - start_check_contentinfo_encrypted
    - end_check_pkcs12
    - end_contentinfo_encrypted
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - end_pkcs12_builder
    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:707,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pkcs12_format_test.c:708,1
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:709,1
    - Dst: get_custom_oid
      Src: /src/openssl/test/pkcs12_format_test.c:710,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:713,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:715,1
    - Dst: add_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:717,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:719,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:721,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:724,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:726,1
    - Dst: check_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:728,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:730,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:732,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 701
    functionDepth: 9
    functionLinenumber: 701
    functionLinenumberEnd: 735
    functionName: test_single_secret
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - new_pkcs12_builder
    - end_check_contentinfo
    - start_pkcs12
    - BIO_snprintf
    - add_secretbag
    - check_secretbag
    - start_contentinfo
    - get_custom_oid
    - start_check_contentinfo_encrypted
    - end_check_pkcs12
    - end_contentinfo_encrypted
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - end_pkcs12_builder
    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:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 737
    functionDepth: 10
    functionLinenumber: 737
    functionLinenumberEnd: 749
    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:753,1
    - Dst: get_custom_oid
      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:761,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:762,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:763,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:764,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:766,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:768,1
    - Dst: add_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:770,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:772,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:774,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:777,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:779,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:781,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:782,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:783,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:784,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:786,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:788,1
    - Dst: check_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:790,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:792,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:794,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 751
    functionDepth: 9
    functionLinenumber: 751
    functionLinenumberEnd: 797
    functionName: test_multiple_contents
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - check_keybag
    - add_certbag
    - end_contentinfo_encrypted
    - add_keybag
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - add_secretbag
    - start_contentinfo
    - end_check_pkcs12
    - end_check_contentinfo
    - new_pkcs12_builder
    - start_pkcs12
    - start_check_contentinfo_encrypted
    - start_check_contentinfo
    - end_contentinfo
    - end_pkcs12_builder
    - check_certbag
    - check_secretbag
    - get_custom_oid
    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:801,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:804,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:806,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:808,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:810,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:812,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:815,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:817,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:819,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:821,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:823,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 826
    functionName: test_jdk_trusted_attr
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - add_certbag
    - start_check_contentinfo
    - check_certbag
    - new_pkcs12_builder
    - end_check_contentinfo
    - start_pkcs12
    - start_contentinfo
    - end_check_pkcs12
    - end_contentinfo
    - end_pkcs12_with_mac
    - start_check_pkcs12_with_mac
    - end_pkcs12_builder
    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:830,1
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_format_test.c:832,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:835,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:837,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:840,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/pkcs12_format_test.c:842,1
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_format_test.c:843,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/pkcs12_format_test.c:843,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/openssl/test/pkcs12_format_test.c:846,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/pkcs12_format_test.c:846,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/test/pkcs12_format_test.c:847,1
    - Dst: PKCS12_SAFEBAG_set0_attrs
      Src: /src/openssl/test/pkcs12_format_test.c:848,1
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_format_test.c:849,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/pkcs12_format_test.c:849,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/test/pkcs12_format_test.c:850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:851,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:855,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:857,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:860,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:862,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:865,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:867,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:869,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:871,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 828
    functionDepth: 7
    functionLinenumber: 828
    functionLinenumberEnd: 876
    functionName: test_set0_attrs
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - add_certbag
    - end_pkcs12
    - TEST_ptr
    - sk_PKCS12_SAFEBAG_value
    - PKCS12_SAFEBAG_set0_attrs
    - start_contentinfo
    - PKCS12_SAFEBAG_get0_attrs
    - end_check_pkcs12
    - STACK_OF
    - X509_ATTRIBUTE_create
    - start_check_pkcs12
    - end_check_contentinfo
    - X509at_add1_attr
    - new_pkcs12_builder
    - start_pkcs12
    - OBJ_txt2obj
    - start_check_contentinfo
    - end_contentinfo
    - end_pkcs12_builder
    - check_certbag
    - X509_ATTRIBUTE_free
    linkageType: ''
    returnType: int
    signature: int test_set0_attrs(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:951,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/test/pkcs12_format_test.c:951,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:954,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:954,1
    - Dst: PKCS12_create
      Src: /src/openssl/test/pkcs12_format_test.c:956,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:959,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:962,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:962,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:966,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_format_test.c:967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 879
    functionDepth: 14
    functionLinenumber: 879
    functionLinenumberEnd: 969
    functionName: pkcs12_create_test
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - PKCS12_create
    - TEST_int_eq
    - d2i_PrivateKey_ex
    - EVP_PKEY_free
    - ERR_peek_error
    - PKCS12_free
    linkageType: ''
    returnType: int
    signature: int pkcs12_create_test(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/openssl/test/pkcs12_format_test.c:986,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:987,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/openssl/test/pkcs12_format_test.c:989,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:990,1
    - Dst: PKCS12_create
      Src: /src/openssl/test/pkcs12_format_test.c:992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:994,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:996,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:996,1
    - Dst: BIO_new
      Src: /src/openssl/test/pkcs12_format_test.c:999,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/pkcs12_format_test.c:999,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1000,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:1002,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/test/pkcs12_format_test.c:1002,1
    - Dst: PKCS12_init_ex
      Src: /src/openssl/test/pkcs12_format_test.c:1004,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1005,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/pkcs12_format_test.c:1007,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1008,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:1010,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_format_test.c:1010,1
    - Dst: PKCS12_create
      Src: /src/openssl/test/pkcs12_format_test.c:1016,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1019,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:1021,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:1021,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs12_format_test.c:1026,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:1027,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:1028,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:1029,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_format_test.c:1030,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_format_test.c:1031,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_format_test.c:1032,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_format_test.c:1033,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 972
    functionDepth: 15
    functionLinenumber: 972
    functionLinenumberEnd: 1035
    functionName: pkcs12_recreate_test
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - d2i_PKCS12_bio
    - PKCS12_parse
    - d2i_X509
    - TEST_ptr
    - BIO_new
    - X509_free
    - BIO_free
    - PKCS12_create
    - TEST_int_eq
    - d2i_AutoPrivateKey
    - PKCS12_init_ex
    - EVP_PKEY_free
    - ERR_peek_error
    - PKCS12_free
    - i2d_PKCS12_bio
    - BIO_s_mem
    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: 1056
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1056
    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:1062,1
    - Dst: PKCS12_helper_set_write_files
      Src: /src/openssl/test/pkcs12_format_test.c:1065,1
    - Dst: PKCS12_helper_set_legacy
      Src: /src/openssl/test/pkcs12_format_test.c:1068,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/pkcs12_format_test.c:1081,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1082,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pkcs12_format_test.c:1084,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1085,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pkcs12_format_test.c:1089,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1090,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pkcs12_format_test.c:1092,1
    - Dst: PKCS12_helper_set_libctx
      Src: /src/openssl/test/pkcs12_format_test.c:1094,1
    - Dst: TEST_false
      Src: /src/openssl/test/pkcs12_format_test.c:1101,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/pkcs12_format_test.c:1101,1
    - Dst: TEST_false
      Src: /src/openssl/test/pkcs12_format_test.c:1102,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/pkcs12_format_test.c:1102,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1106,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1108,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1108,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1109,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1109,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1111,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1111,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1112,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1112,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1116,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1119,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1120,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1120,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1121,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1121,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1122,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1123,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1123,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1124,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1124,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1125,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1125,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1126,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1127,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1128,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1129,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1130,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1131,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1058
    functionDepth: 10
    functionLinenumber: 1058
    functionLinenumberEnd: 1133
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_helper_set_write_files
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_PROVIDER_load
    - TEST_false
    - OSSL_PROVIDER_available
    - ADD_ALL_TESTS
    - ADD_TEST
    - PKCS12_helper_set_legacy
    - PKCS12_helper_set_libctx
    - OSSL_NELEM
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_format_test.c:1137,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_format_test.c:1138,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_format_test.c:1139,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/pkcs12_format_test.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1135
    functionDepth: 4
    functionLinenumber: 1135
    functionLinenumberEnd: 1141
    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
    - ossl_assert
    - swap_copy
    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:85,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:87,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_api_test.c:93,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:95,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:97,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_api_test.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - param
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 116
    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_uint64
    - OSSL_PARAM_get_double
    - OSSL_PARAM_get_int32
    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:135,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/params_api_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:136,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:140,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_api_test.c:140,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:141,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:141,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:142,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/params_api_test.c:142,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:145,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:145,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:150,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:152,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:155,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:157,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:160,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:169,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:170,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:170,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:174,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_api_test.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:175,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:175,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:179,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:179,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: 183
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 183
    functionName: test_param_type_extra
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_false
    - TEST_mem_eq
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_int64
    - TEST_true
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_modified
    - TEST_size_t_eq
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_set_int32
    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:202,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:204,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:204,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:207,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:208,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:211,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/params_api_test.c:211,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:213,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:217,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:217,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:219,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:220,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 7
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: test_param_int
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_int
    - le_copy
    - OSSL_PARAM_get_int
    - OSSL_PARAM_set_int
    - TEST_mem_eq
    - TEST_true
    - TEST_int_eq
    - memset
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    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:233,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:235,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:235,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:238,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:239,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:242,1
    - Dst: OSSL_PARAM_set_long
      Src: /src/openssl/test/params_api_test.c:242,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:244,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:248,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/test/params_api_test.c:248,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:250,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:251,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 226
    functionDepth: 7
    functionLinenumber: 226
    functionLinenumberEnd: 255
    functionName: test_param_long
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - OSSL_PARAM_get_long
    - OSSL_PARAM_long
    - TEST_true
    - TEST_int_eq
    - memset
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    - OSSL_PARAM_set_long
    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:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:264,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:264,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:267,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:268,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:271,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/test/params_api_test.c:271,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:273,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:277,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/test/params_api_test.c:277,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:279,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:280,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 257
    functionDepth: 7
    functionLinenumber: 257
    functionLinenumberEnd: 284
    functionName: test_param_uint
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - OSSL_PARAM_set_uint
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_get_uint
    - TEST_int_eq
    - memset
    - OSSL_PARAM_uint
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    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:293,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:295,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:295,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:298,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:299,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:302,1
    - Dst: OSSL_PARAM_set_ulong
      Src: /src/openssl/test/params_api_test.c:302,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:304,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:308,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/openssl/test/params_api_test.c:308,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:310,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:311,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 286
    functionDepth: 7
    functionLinenumber: 286
    functionLinenumberEnd: 315
    functionName: test_param_ulong
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - OSSL_PARAM_set_ulong
    - TEST_mem_eq
    - OSSL_PARAM_get_ulong
    - TEST_true
    - TEST_int_eq
    - memset
    - test_param_type_null
    - OSSL_PARAM_ulong
    - memcpy
    - test_param_type_extra
    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: 317
    functionDepth: 7
    functionLinenumber: 317
    functionLinenumberEnd: 346
    functionName: test_param_int32
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - OSSL_PARAM_int32
    - TEST_true
    - OSSL_PARAM_get_int32
    - TEST_int_eq
    - memset
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    - OSSL_PARAM_set_int32
    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:355,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:357,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:357,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:360,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:361,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:362,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:364,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_api_test.c:364,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:366,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:370,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_api_test.c:370,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:372,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:373,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 348
    functionDepth: 7
    functionLinenumber: 348
    functionLinenumberEnd: 377
    functionName: test_param_uint32
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - OSSL_PARAM_get_uint32
    - TEST_true
    - OSSL_PARAM_set_uint32
    - TEST_int_eq
    - memset
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    - OSSL_PARAM_uint32
    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:386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:388,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:388,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:391,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:392,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:395,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/openssl/test/params_api_test.c:395,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:397,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:398,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:401,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:401,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:403,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:404,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 379
    functionDepth: 7
    functionLinenumber: 379
    functionLinenumberEnd: 408
    functionName: test_param_int64
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - OSSL_PARAM_get_int64
    - TEST_true
    - OSSL_PARAM_set_int64
    - TEST_int_eq
    - memset
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    - OSSL_PARAM_int64
    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:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:419,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:419,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:422,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:423,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:426,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/openssl/test/params_api_test.c:426,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:428,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:432,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:432,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:434,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:435,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 410
    functionDepth: 7
    functionLinenumber: 410
    functionLinenumberEnd: 439
    functionName: test_param_uint64
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - OSSL_PARAM_get_uint64
    - TEST_true
    - TEST_int_eq
    - memset
    - OSSL_PARAM_uint64
    - test_param_type_null
    - test_param_type_extra
    - OSSL_PARAM_set_uint64
    - memcpy
    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:448,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:450,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:450,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:453,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:454,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:457,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/params_api_test.c:457,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:459,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:460,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:463,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/params_api_test.c:463,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:465,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:466,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 441
    functionDepth: 7
    functionLinenumber: 441
    functionLinenumberEnd: 470
    functionName: test_param_size_t
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - TEST_true
    - TEST_int_eq
    - memset
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_get_size_t
    - test_param_type_null
    - test_param_type_extra
    - memcpy
    - OSSL_PARAM_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:479,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:481,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:481,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:484,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:485,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:486,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:488,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/openssl/test/params_api_test.c:488,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:490,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:491,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:494,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/openssl/test/params_api_test.c:494,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:496,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:497,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 472
    functionDepth: 7
    functionLinenumber: 472
    functionLinenumberEnd: 501
    functionName: test_param_time_t
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - TEST_mem_eq
    - TEST_true
    - TEST_int_eq
    - OSSL_PARAM_time_t
    - memset
    - OSSL_PARAM_set_time_t
    - test_param_type_null
    - OSSL_PARAM_get_time_t
    - memcpy
    - test_param_type_extra
    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:508,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:512,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:518,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/test/params_api_test.c:518,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:521,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_api_test.c:521,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:523,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:527,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:527,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_api_test.c:528,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:533,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 536
    functionName: test_param_bignum
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_set_BN
    - TEST_int_eq
    - BN_free
    - test_param_type_null
    - BN_lebin2bn
    - OSSL_PARAM_DEFN
    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:543,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:546,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:552,1
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/test/params_api_test.c:552,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:556,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/params_api_test.c:556,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:558,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_api_test.c:558,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:560,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:561,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:564,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:564,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_api_test.c:565,1
    - Dst: BN_print_fp
      Src: /src/openssl/test/params_api_test.c:566,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:572,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 538
    functionDepth: 6
    functionLinenumber: 538
    functionLinenumberEnd: 575
    functionName: test_param_signed_bignum
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - le_copy
    - BN_print_fp
    - OSSL_PARAM_get_BN
    - TEST_false
    - TEST_ptr
    - TEST_mem_eq
    - TEST_BN_eq
    - BN_signed_lebin2bn
    - TEST_true
    - OSSL_PARAM_set_BN
    - TEST_int_eq
    - BN_free
    - test_param_type_null
    - OSSL_PARAM_DEFN
    - BN_is_negative
    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:580,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:582,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:586,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_api_test.c:586,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_api_test.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 577
    functionDepth: 6
    functionLinenumber: 577
    functionLinenumberEnd: 588
    functionName: test_param_real
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_double
    - TEST_double_eq
    - TEST_true
    - TEST_int_eq
    - test_param_type_null
    - OSSL_PARAM_set_double
    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:623,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/params_api_test.c:624,1
    - Dst: OSSL_PARAM_construct_long
      Src: /src/openssl/test/params_api_test.c:625,1
    - Dst: OSSL_PARAM_construct_ulong
      Src: /src/openssl/test/params_api_test.c:626,1
    - Dst: OSSL_PARAM_construct_int32
      Src: /src/openssl/test/params_api_test.c:627,1
    - Dst: OSSL_PARAM_construct_int64
      Src: /src/openssl/test/params_api_test.c:628,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/test/params_api_test.c:629,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/params_api_test.c:630,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/params_api_test.c:631,1
    - Dst: OSSL_PARAM_construct_double
      Src: /src/openssl/test/params_api_test.c:632,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/test/params_api_test.c:633,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/params_api_test.c:634,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/params_api_test.c:635,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/params_api_test.c:636,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/params_api_test.c:637,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/params_api_test.c:638,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/params_api_test.c:639,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:640,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:647,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:650,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:653,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:654,1
    - Dst: TEST_ptr_null
      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: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:663,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:664,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:664,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:665,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:665,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:666,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:666,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:667,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:668,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_api_test.c:669,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:675,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:675,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:676,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_api_test.c:676,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:677,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:677,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:678,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:679,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_api_test.c:680,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:685,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:685,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:686,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_api_test.c:686,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:687,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_api_test.c:687,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:688,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_api_test.c:689,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_api_test.c:690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:694,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:694,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:695,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/params_api_test.c:695,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:696,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:697,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_api_test.c:697,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_api_test.c:698,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:699,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:702,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:704,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_api_test.c:704,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_api_test.c:705,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:710,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:710,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:711,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/params_api_test.c:711,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:712,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:713,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/test/params_api_test.c:713,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_api_test.c:714,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:718,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:718,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:719,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/test/params_api_test.c:719,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:721,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:725,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:725,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:726,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:727,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:731,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:731,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:732,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:733,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:737,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:737,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:738,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/test/params_api_test.c:738,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:740,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:744,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:744,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:745,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:746,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:750,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:750,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:751,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:752,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:757,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:757,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:758,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/test/params_api_test.c:758,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:759,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:760,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:764,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/test/params_api_test.c:764,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:765,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:766,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:772,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:772,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:773,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/test/params_api_test.c:773,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:774,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:775,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:779,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/test/params_api_test.c:779,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:780,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:781,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:784,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:784,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:785,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/test/params_api_test.c:785,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:786,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_api_test.c:786,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:787,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:791,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:791,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_api_test.c:792,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:797,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:798,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:799,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:800,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:801,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:802,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 127
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 590
    functionDepth: 5
    functionLinenumber: 590
    functionLinenumberEnd: 804
    functionName: test_param_construct
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_double_eq
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_construct_uint
    - TEST_ptr_null
    - TEST_str_eq
    - TEST_ptr_eq
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_merge
    - OSSL_PARAM_set_octet_string_or_ptr
    - OSSL_PARAM_set_octet_ptr
    - OPENSSL_free
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_dup
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_construct_end
    - TEST_note
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_construct_ulong
    - OSSL_PARAM_get_octet_string
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_construct_BN
    - OSSL_PARAM_construct_int64
    - OSSL_PARAM_construct_uint32
    - OSSL_PARAM_construct_long
    - OSSL_PARAM_construct_uint64
    - OSSL_PARAM_set_double
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_locate
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_double
    - TEST_BN_eq
    - OSSL_PARAM_get_double
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_construct_int32
    - OSSL_PARAM_get_utf8_ptr
    - OSSL_PARAM_get_octet_ptr
    - BN_free
    - OSSL_NELEM
    - TEST_size_t_eq
    - BN_lebin2bn
    - OSSL_PARAM_construct_octet_ptr
    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:808,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/test/params_api_test.c:809,1
    - Dst: TEST_false
      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: TEST_true
      Src: /src/openssl/test/params_api_test.c:816,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:816,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:817,1
    - Dst: OSSL_PARAM_modified
      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: OSSL_PARAM_set_all_unmodified
      Src: /src/openssl/test/params_api_test.c:822,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:823,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:823,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:824,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:824,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:825,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:825,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:826,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:826,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:827,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:827,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:828,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:828,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 806
    functionDepth: 5
    functionLinenumber: 806
    functionLinenumberEnd: 831
    functionName: test_param_modified
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_set_all_unmodified
    - TEST_false
    - TEST_true
    - OSSL_PARAM_modified
    - OSSL_PARAM_set_int32
    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:840,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:841,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:842,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/params_api_test.c:844,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:844,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:845,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:845,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:846,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:846,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:847,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:847,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:849,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:849,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:850,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:850,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:851,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:852,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:852,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:853,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:853,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:854,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:854,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:855,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:856,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:856,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:857,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:857,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:858,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/params_api_test.c:859,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:859,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/params_api_test.c:860,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/params_api_test.c:861,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 833
    functionDepth: 5
    functionLinenumber: 833
    functionLinenumberEnd: 863
    functionName: test_param_copy_null
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_get_int
    - TEST_ptr
    - OSSL_PARAM_dup
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - TEST_ptr_null
    - OSSL_PARAM_merge
    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:871,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:872,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:873,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:874,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:875,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:876,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:878,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:878,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:879,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:879,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:880,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:880,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:881,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:882,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:882,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:883,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:883,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:885,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:885,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:886,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:886,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:887,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/params_api_test.c:888,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 890
    functionName: test_param_merge
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_get_int
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - OSSL_PARAM_merge
    linkageType: ''
    returnType: int
    signature: int test_param_merge(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:898,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:899,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:900,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:902,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:902,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/test/params_api_test.c:905,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:907,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/params_api_test.c:907,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:910,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:911,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:912,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/test/params_api_test.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 920
    functionName: test_param_clear_free
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - OPENSSL_zalloc
    - TEST_ptr
    - OSSL_PARAM_dup
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_clear_free
    linkageType: ''
    returnType: int
    signature: int test_param_clear_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:924,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:924,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:925,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:925,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:926,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:926,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:927,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:927,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:928,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:928,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:929,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:929,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:930,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:930,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:931,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:931,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:932,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:932,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:933,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:933,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:934,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:934,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:935,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:935,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:936,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:937,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:938,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:939,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:940,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 943
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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_tserver_read
    - qtest_create_quic_objects
    - TEST_ptr
    - SSL_write
    - ossl_quic_tserver_tick
    - TEST_mem_eq
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_new
    - TEST_int_eq
    - SSL_CTX_free
    - strlen
    - SSL_free
    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:
    - SSL_handle_events
    - TEST_ptr
    - TEST_uint64_t_eq
    - qtest_check_server_frame_encoding_err
    - ERR_GET_REASON
    - ERR_peek_error
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_free
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - TEST_int_le
    - TEST_int_eq
    - SSL_read
    - qtest_fault_free
    - SSL_get_error
    - SSL_free
    - qtest_create_quic_objects
    - ossl_quic_tserver_write
    - OSSL_QUIC_client_method
    - qtest_fault_set_packet_plain_listener
    - SSL_CTX_new
    - ossl_quic_tserver_stream_new
    - TEST_size_t_eq
    - strlen
    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:
    - qtest_create_quic_objects
    - TEST_ptr
    - qtest_fault_set_hand_enc_ext_listener
    - TEST_false
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_new
    - SSL_CTX_free
    - qtest_fault_free
    - SSL_free
    - qtest_check_server_transport_err
    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:
    - SSL_handle_events
    - TEST_ptr
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_true
    - qtest_create_quic_connection
    - SSL_read_ex
    - SSL_CTX_free
    - qtest_add_time
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - qtest_fault_free
    - SSL_free
    - qtest_create_quic_objects
    - TEST_false
    - qtest_fault_set_datagram_listener
    - ossl_quic_tserver_write
    - qtest_fault_set_packet_cipher_listener
    - OSSL_QUIC_client_method
    - SSL_CTX_new
    - ossl_quic_tserver_stream_new
    - TEST_size_t_eq
    - strlen
    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:
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - test_mk_file_path
    - test_skip_common_options
    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: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:33,1
    - Dst: load_dsa_params
      Src: /src/openssl/test/dsa_no_digest_size_test.c:33,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:36,1
    - Dst: DSA_generate_key
      Src: /src/openssl/test/dsa_no_digest_size_test.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: genkeys
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - DSA_generate_key
    - TEST_int_eq
    - load_dsa_params
    - TEST_ptr
    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:50,1
    - Dst: DSA_get0_q
      Src: /src/openssl/test/dsa_no_digest_size_test.c:50,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dsa_no_digest_size_test.c:53,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dsa_no_digest_size_test.c:54,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:59,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:59,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/dsa_no_digest_size_test.c:59,1
    - Dst: memset
      Src: /src/openssl/test/dsa_no_digest_size_test.c:62,1
    - Dst: memcpy
      Src: /src/openssl/test/dsa_no_digest_size_test.c:64,1
    - Dst: memcpy
      Src: /src/openssl/test/dsa_no_digest_size_test.c:66,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:68,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/dsa_no_digest_size_test.c:68,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/openssl/test/dsa_no_digest_size_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:72,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/dsa_no_digest_size_test.c:72,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:74,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/dsa_no_digest_size_test.c:74,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/dsa_no_digest_size_test.c:77,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:82,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dsa_no_digest_size_test.c:82,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/dsa_no_digest_size_test.c:85,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:91,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/dsa_no_digest_size_test.c:91,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:95,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:96,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:101,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:102,1
    - Dst: DSA_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:107,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:108,1
    - Dst: DSA_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:112,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:113,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:119,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:124,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 127
    functionName: sign_and_verify
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_DSA
    - TEST_ptr
    - EVP_PKEY_verify_init
    - TEST_error
    - memcpy
    - EVP_PKEY_new
    - OPENSSL_free
    - TEST_int_eq
    - OPENSSL_malloc
    - RAND_bytes
    - memset
    - DSA_verify
    - EVP_PKEY_CTX_new
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - BN_num_bytes
    - EVP_PKEY_verify
    - DSA_get0_q
    - EVP_PKEY_sign_init
    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:136,1
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 12
    functionLinenumber: 129
    functionLinenumberEnd: 137
    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:141,1
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 12
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:146,1
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 12
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 152
    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:159,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsa_no_digest_size_test.c:162,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsa_no_digest_size_test.c:163,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsa_no_digest_size_test.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - genkeys
    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_init
    - TEST_mem_eq
    - TEST_true
    - ossl_sm3_final
    - ossl_sm3_update
    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:677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:681,1
    - Dst: ASN1_TIME_check
      Src: /src/openssl/test/asn1_time_test.c:681,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:682,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:688,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:688,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:689,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:693,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:693,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:694,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:697,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:697,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:698,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:702,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:702,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:703,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:705,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:705,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:705,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:706,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:710,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:710,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:711,1
    - Dst: ASN1_TIME_set
      Src: /src/openssl/test/asn1_time_test.c:715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:716,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:717,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:721,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:721,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:722,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:726,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:727,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:731,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:732,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/asn1_time_test.c:735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:736,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:741,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_time_test.c:741,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:742,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:745,1
    - Dst: ASN1_TIME_normalize
      Src: /src/openssl/test/asn1_time_test.c:745,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:746,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:749,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:750,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:754,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:754,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:754,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:754,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:755,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:758,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:758,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:759,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:763,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:764,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/asn1_time_test.c:767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:768,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:769,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:773,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_time_test.c:773,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:774,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:778,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:778,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:778,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:778,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:779,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:782,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:782,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:783,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:787,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:788,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/test/asn1_time_test.c:792,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:793,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:794,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_time_test.c:796,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:797,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:800,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:800,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:801,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:804,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_time_test.c:809,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 123
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - struct testdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 668
    functionDepth: 7
    functionLinenumber: 668
    functionLinenumberEnd: 812
    functionName: test_table
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_cmp_time_t
    - TEST_ptr
    - ASN1_TIME_to_generalizedtime
    - TEST_true
    - ASN1_TIME_set
    - ASN1_TIME_set_string
    - TEST_error
    - ASN1_TIME_check
    - TEST_int_eq
    - TEST_ptr_null
    - ASN1_TIME_new
    - ASN1_TIME_diff
    - strlen
    - TEST_info
    - ASN1_TIME_free
    - ASN1_TIME_normalize
    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:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 8
    functionLinenumber: 814
    functionLinenumberEnd: 817
    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:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 8
    functionLinenumber: 819
    functionLinenumberEnd: 822
    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:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 8
    functionLinenumber: 824
    functionLinenumberEnd: 827
    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:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 8
    functionLinenumber: 829
    functionLinenumberEnd: 832
    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:876,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 872
    functionDepth: 8
    functionLinenumber: 872
    functionLinenumberEnd: 877
    functionName: test_table_compare
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ASN1_TIME_compare
    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:886,1
    - Dst: time
      Src: /src/openssl/test/asn1_time_test.c:886,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:888,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/test/asn1_time_test.c:892,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:894,1
    - Dst: ASN1_TIME_dup
      Src: /src/openssl/test/asn1_time_test.c:898,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/asn1_time_test.c:899,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:900,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:903,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:903,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:904,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:907,1
    - Dst: ASN1_UTCTIME_dup
      Src: /src/openssl/test/asn1_time_test.c:909,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/asn1_time_test.c:910,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:911,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:914,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:914,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:915,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:918,1
    - Dst: ASN1_GENERALIZEDTIME_dup
      Src: /src/openssl/test/asn1_time_test.c:920,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/asn1_time_test.c:921,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:922,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:925,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:925,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:926,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:932,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:933,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:934,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 879
    functionDepth: 8
    functionLinenumber: 879
    functionLinenumberEnd: 936
    functionName: test_time_dup
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_generalizedtime
    - ASN1_TIME_dup
    - ASN1_TIME_compare
    - ASN1_STRING_free
    - ASN1_UTCTIME_dup
    - ASN1_GENERALIZEDTIME_dup
    - TEST_int_eq
    - ASN1_TIME_adj
    - TEST_info
    - time
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: int test_time_dup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_asn1_string_to_time_t
      Src: /src/openssl/test/asn1_time_test.c:942,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/asn1_time_test.c:943,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:944,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/asn1_time_test.c:953,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 961
    functionName: convert_asn1_to_time_t
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_time_t_eq
    - TEST_info
    - test_asn1_string_to_time_t
    linkageType: ''
    returnType: int
    signature: int convert_asn1_to_time_t(int idx)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:982,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/test/asn1_time_test.c:982,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:984,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/test/asn1_time_test.c:984,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:986,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_time_test.c:986,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:988,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_time_test.c:988,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:990,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/asn1_time_test.c:990,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:992,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/asn1_time_test.c:992,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:994,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:994,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:998,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1000,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1003,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1003,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1007,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1009,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1026,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1026,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1029,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1030,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1033,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1035,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1043,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1043,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1046,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1047,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1050,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1052,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1060,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1060,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1063,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1064,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1067,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_time_test.c:1069,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1077,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1077,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1078,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1085,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1085,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1086,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1093,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1093,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1094,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1101,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1101,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1102,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1109,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1109,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1110,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1117,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1117,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1118,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1125,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1125,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1126,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1133,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1133,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1134,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1141,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1141,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1142,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1149,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1149,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1150,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1158,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1158,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1165,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/asn1_time_test.c:1165,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:1172,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:1173,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 197
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 970
    functionDepth: 6
    functionLinenumber: 970
    functionLinenumberEnd: 1175
    functionName: test_gmtime_diff_limits
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - TEST_false
    - TEST_ptr
    - ASN1_STRING_free
    - TEST_int64_t_eq
    - TEST_true
    - ASN1_TIME_set_string
    - OPENSSL_gmtime_diff
    - TEST_info
    - ASN1_STRING_new
    linkageType: ''
    returnType: int
    signature: int test_gmtime_diff_limits(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_time_test.c:1183,1
    - Dst: INT64_C
      Src: /src/openssl/test/asn1_time_test.c:1184,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_time_test.c:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1191
    functionName: time_t_min
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - INT64_C
    - OPENSSL_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t time_t_min(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_time_test.c:1199,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_time_test.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1207
    functionName: time_t_max
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: int64_t
    signature: int64_t time_t_max(void)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: time_t_min
      Src: /src/openssl/test/asn1_time_test.c:1223,1
    - Dst: time_t_min
      Src: /src/openssl/test/asn1_time_test.c:1223,1
    - Dst: time_t_max
      Src: /src/openssl/test/asn1_time_test.c:1224,1
    - Dst: time_t_max
      Src: /src/openssl/test/asn1_time_test.c:1224,1
    - Dst: memset
      Src: /src/openssl/test/asn1_time_test.c:1228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:1229,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/asn1_time_test.c:1229,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:1235,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/asn1_time_test.c:1235,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1236,1
    - Dst: time_t_min
      Src: /src/openssl/test/asn1_time_test.c:1240,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:1242,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/asn1_time_test.c:1242,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1243,1
    - Dst: time_t_min
      Src: /src/openssl/test/asn1_time_test.c:1247,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:1249,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/asn1_time_test.c:1249,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1250,1
    - Dst: time_t_max
      Src: /src/openssl/test/asn1_time_test.c:1255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:1257,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/asn1_time_test.c:1257,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1258,1
    - Dst: time_t_min
      Src: /src/openssl/test/asn1_time_test.c:1263,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:1265,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/asn1_time_test.c:1265,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1266,1
    - Dst: memset
      Src: /src/openssl/test/asn1_time_test.c:1272,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_time_test.c:1275,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1278,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1278,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1279,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_time_test.c:1283,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1285,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1285,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1286,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_time_test.c:1290,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1293,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1293,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1294,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1299,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1299,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1300,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_time_test.c:1305,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1306,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1315,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1315,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1316,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1321,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1321,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1322,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_time_test.c:1327,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1328,1
    - Dst: memset
      Src: /src/openssl/test/asn1_time_test.c:1335,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_time_test.c:1342,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1347,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1347,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1348,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1353,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1353,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1354,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_time_test.c:1359,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1360,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1372,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1372,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1373,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1378,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1378,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1379,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_time_test.c:1384,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1385,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:1392,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1392,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1393,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1398,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1398,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1399,1
    - Dst: memset
      Src: /src/openssl/test/asn1_time_test.c:1404,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_time_test.c:1407,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1410,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1410,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1411,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1415,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1415,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1416,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1422,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1422,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1423,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1427,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1427,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1428,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1434,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1434,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1435,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1439,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1439,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1440,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1446,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1446,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1447,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1451,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1451,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1452,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1458,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1458,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1459,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1463,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1463,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1464,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_time_test.c:1479,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_time_test.c:1481,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/asn1_time_test.c:1481,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_time_test.c:1482,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1483,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 236
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1209
    functionDepth: 5
    functionLinenumber: 1209
    functionLinenumberEnd: 1493
    functionName: test_gmtime_range
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - time_t_max
    - OPENSSL_gmtime
    - TEST_false
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - time_t_min
    - memset
    - memcpy
    - OPENSSL_gmtime_adj
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_gmtime_range(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_set
      Src: /src/openssl/test/asn1_time_test.c:1508,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1499
    functionDepth: 2
    functionLinenumber: 1499
    functionLinenumberEnd: 1517
    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: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:1539,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:1539,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1541,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:1542,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:1542,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1545,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:1546,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:1546,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:1548,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:1549,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:1549,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:1552,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:1552,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_time_test.c:1553,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:1554,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:1554,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_time_test.c:1555,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_time_test.c:1556,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_time_test.c:1557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1559
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - TEST_info
    - ADD_TEST
    - OSSL_NELEM
    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:
    - BN_set_word
    - TEST_ptr
    - TEST_mem_eq
    - DH_size
    - BN_copy
    - TEST_true
    - DH_free
    - DH_set0_key
    - TEST_ptr_eq
    - ERR_clear_error
    - OPENSSL_free
    - TEST_int_gt
    - DH_get0_key
    - DH_get0_pub_key
    - BN_lshift
    - OPENSSL_malloc
    - DH_compute_key
    - DH_get0_pqg
    - TEST_false
    - DH_get0_q
    - DH_new
    - DH_get0_priv_key
    - DHparams_dup
    - DH_check
    - DH_generate_key
    - BN_new
    - DH_get0_g
    - BN_GENCB_free
    - BN_add
    - DH_set0_pqg
    - DH_generate_parameters_ex
    - BN_GENCB_set
    - BN_GENCB_new
    - DH_get0_p
    - BN_free
    - BN_value_one
    - BN_dup
    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: 220
    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:
    - BN_set_word
    - TEST_ptr
    - DH_size
    - BN_copy
    - TEST_true
    - DH_free
    - DH_set0_key
    - ossl_dh_compute_key
    - OPENSSL_free
    - TEST_int_le
    - TEST_int_gt
    - TEST_int_eq
    - OPENSSL_malloc
    - DH_new
    - BN_new
    - DH_set0_pqg
    - DH_get0_p
    - BN_free
    - BN_sub_word
    - BN_dup
    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:
    - BN_bin2bn
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - DH_size
    - TEST_true
    - TEST_int_gt
    - DH_free
    - TEST_error
    - DH_get0_key
    - DH_set0_key
    - OSSL_NELEM
    - TEST_size_t_eq
    - BN_free
    - TEST_int_ne
    - DH_compute_key
    - OPENSSL_malloc
    - rfc5114_td*::get_param
    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:
    - TEST_false
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - DH_size
    - TEST_true
    - TEST_int_gt
    - DH_free
    - DH_get0_key
    - DH_check
    - DH_generate_key
    - DH_compute_key
    - OPENSSL_malloc
    - DH_new_by_nid
    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_get0_pqg
    - TEST_ptr
    - DH_free
    - TEST_int_eq
    - DH_get_length
    - DH_get_nid
    - DH_new_by_nid
    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:
    - TEST_ptr
    - EVP_PKEY_CTX_set_dhx_rfc5114
    - TEST_int_eq
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    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_ptr
    - EVP_PKEY_CTX_set_dh_nid
    - TEST_int_eq
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    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_set0_pqg
    - DH_get0_pqg
    - BN_add_word
    - TEST_ptr
    - DH_new_by_nid
    - DH_get0_q
    - DH_new
    - TEST_true
    - DH_free
    - TEST_int_eq
    - BN_free
    - BN_value_one
    - DH_get_nid
    - BN_dup
    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_ptr
    - TEST_true
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - d2i_PUBKEY_ex
    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
    - ADD_TEST
    - OSSL_NELEM
    - 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: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    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:24,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_fifd_test.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    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:33,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: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    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:42,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: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    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: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    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: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    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: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    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: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    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: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    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:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:132,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/test/quic_fifd_test.c:132,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:137,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_fifd_test.c:137,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:140,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/test/quic_fifd_test.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:146,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_fifd_test.c:146,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fifd_test.c:148,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:149,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:150,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:151,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_fifd_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:152,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_fifd_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:157,1
    - Dst: ossl_quic_sstream_mark_transmitted_fin
      Src: /src/openssl/test/quic_fifd_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:162,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/test/quic_fifd_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:167,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/test/quic_fifd_test.c:167,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_fifd_test.c:173,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_fifd_test.c:173,1
    - Dst: ossl_quic_txpim_pkt_add_cfq_item
      Src: /src/openssl/test/quic_fifd_test.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:198,1
    - Dst: ossl_quic_fifd_pkt_commit
      Src: /src/openssl/test/quic_fifd_test.c:198,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_fifd_test.c:202,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_fifd_test.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:207,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_fifd_test.c:207,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:213,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_fifd_test.c:213,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fifd_test.c:217,1
    - Dst: ossl_quic_sstream_mark_lost_fin
      Src: /src/openssl/test/quic_fifd_test.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:221,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:232,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/test/quic_fifd_test.c:232,1
    - Dst: step_time
      Src: /src/openssl/test/quic_fifd_test.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:249,1
    - Dst: ossl_quic_fifd_pkt_commit
      Src: /src/openssl/test/quic_fifd_test.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:250,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_fifd_test.c:250,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:260,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_fifd_test.c:260,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:262,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:263,1
    - Dst: TEST_size_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_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:279,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:280,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:281,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:282,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_fifd_test.c:286,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_fifd_test.c:286,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:291,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_fifd_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:293,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:300,1
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/test/quic_fifd_test.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:304,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:314,1
    - Dst: ossl_quic_txpim_get_in_use
      Src: /src/openssl/test/quic_fifd_test.c:314,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 130
    argCount: 2
    argNames:
    - info
    - kind
    argTypes:
    - INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 320
    functionName: test_generic
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_txpim_pkt_append_chunk
    - TEST_ptr_null
    - TEST_ptr_eq
    - ossl_quic_sstream_mark_transmitted_fin
    - ossl_ackm_on_pkt_space_discarded
    - ossl_quic_cfq_add_frame
    - ossl_quic_sstream_fin
    - TEST_int_eq
    - ossl_quic_sstream_mark_lost_fin
    - ossl_quic_txpim_get_in_use
    - ossl_quic_sstream_mark_transmitted
    - ossl_quic_fifd_pkt_commit
    - TEST_false
    - ossl_quic_sstream_get_buffer_used
    - ossl_seconds2time
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_sstream_append
    - ossl_ackm_on_rx_ack_frame
    - ossl_quic_txpim_pkt_add_cfq_item
    - OSSL_NELEM
    - TEST_size_t_eq
    - ossl_quic_txpim_pkt_alloc
    - step_time
    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:331,1
    - Dst: ossl_statm_init
      Src: /src/openssl/test/quic_fifd_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:332,1
    - Dst: new
      Src: /src/openssl/test/quic_fifd_test.c:332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:333,1
    - Dst: ossl_ackm_new
      Src: /src/openssl/test/quic_fifd_test.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:338,1
    - Dst: ossl_ackm_on_handshake_confirmed
      Src: /src/openssl/test/quic_fifd_test.c:338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:339,1
    - Dst: ossl_quic_cfq_new
      Src: /src/openssl/test/quic_fifd_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:340,1
    - Dst: ossl_quic_txpim_new
      Src: /src/openssl/test/quic_fifd_test.c:340,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:341,1
    - Dst: ossl_quic_fifd_init
      Src: /src/openssl/test/quic_fifd_test.c:341,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:351,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_fifd_test.c:351,1
    - Dst: ossl_statm_update_rtt
      Src: /src/openssl/test/quic_fifd_test.c:354,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_fifd_test.c:354,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_fifd_test.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:356,1
    - Dst: test_generic
      Src: /src/openssl/test/quic_fifd_test.c:356,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fifd_test.c:357,1
    - Dst: ossl_quic_fifd_cleanup
      Src: /src/openssl/test/quic_fifd_test.c:362,1
    - Dst: ossl_quic_cfq_free
      Src: /src/openssl/test/quic_fifd_test.c:363,1
    - Dst: ossl_quic_txpim_free
      Src: /src/openssl/test/quic_fifd_test.c:364,1
    - Dst: ossl_ackm_free
      Src: /src/openssl/test/quic_fifd_test.c:365,1
    - Dst: ossl_statm_destroy
      Src: /src/openssl/test/quic_fifd_test.c:366,1
    - Dst: free
      Src: /src/openssl/test/quic_fifd_test.c:368,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:369,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_fifd_test.c:370,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 373
    functionName: test_fifd
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txpim_new
    - TEST_ptr
    - TEST_true
    - ossl_quic_cfq_free
    - ossl_quic_sstream_new
    - ossl_quic_fifd_init
    - ossl_time_zero
    - ossl_ackm_free
    - test_generic
    - ossl_quic_cfq_new
    - ossl_ackm_on_handshake_confirmed
    - TEST_false
    - ossl_quic_sstream_free
    - ossl_quic_txpim_free
    - free
    - ossl_ms2time
    - ossl_quic_fifd_cleanup
    - ossl_statm_destroy
    - ossl_statm_update_rtt
    - new
    - ossl_ackm_new
    - OSSL_NELEM
    - ossl_statm_init
    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:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 379
    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_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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:
    - OPENSSL_zalloc
    - BIO_set_init
    - 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:
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    - OPENSSL_free
    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_should_read
    - BIO_read
    - BIO_set_retry_read
    - BIO_next
    - 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:
    - PACKET_remaining
    - BIO_clear_retry_flags
    - PACKET_forward
    - BIO_set_retry_write
    - PACKET_buf_init
    - BIO_write
    - PACKET_get_1
    - PACKET_get_net_2
    - BIO_should_write
    - PACKET_get_length_prefixed_2
    - BIO_next
    - BIO_get_data
    - PACKET_get_length_prefixed_1
    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:314,1
    - Dst: bio_f_async_filter
      Src: /src/openssl/test/asynciotest.c:314,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: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:317,1
    - Dst: BIO_free
      Src: /src/openssl/test/asynciotest.c:318,1
    - Dst: BIO_free
      Src: /src/openssl/test/asynciotest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/asynciotest.c:324,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/asynciotest.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/asynciotest.c:326,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/asynciotest.c:326,1
    - Dst: SSL_write
      Src: /src/openssl/test/asynciotest.c:343,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/asynciotest.c:348,1
    - Dst: TEST_false
      Src: /src/openssl/test/asynciotest.c:350,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/asynciotest.c:354,1
    - Dst: SSL_read
      Src: /src/openssl/test/asynciotest.c:363,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/asynciotest.c:367,1
    - Dst: TEST_false
      Src: /src/openssl/test/asynciotest.c:369,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asynciotest.c:373,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:378,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:379,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:385,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:386,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/asynciotest.c:387,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/asynciotest.c:388,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 391
    functionName: test_asyncio
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_client_method
    - TEST_false
    - TEST_ptr
    - BIO_new
    - SSL_write
    - TEST_mem_eq
    - BIO_free
    - TEST_true
    - SSL_read
    - TLS_server_method
    - SSL_CTX_free
    - SSL_free
    - SSL_get_error
    - create_ssl_ctx_pair
    - create_ssl_objects
    - bio_f_async_filter
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_asyncio(int test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/asynciotest.c:397,1
    - Dst: TEST_error
      Src: /src/openssl/test/asynciotest.c:398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:402,1
    - Dst: test_get_argument
      Src: /src/openssl/test/asynciotest.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:403,1
    - Dst: test_get_argument
      Src: /src/openssl/test/asynciotest.c:403,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asynciotest.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/asynciotest.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 413
    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:586,1
    - Dst: EVP_shake256
      Src: /src/openssl/test/curve448_internal_test.c:586,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/curve448_internal_test.c:587,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/curve448_internal_test.c:588,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: 592
      start: 581
    functionDepth: 5
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: dohash
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    - EVP_shake256
    - EVP_DigestFinalXOF
    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:597,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/curve448_internal_test.c:599,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:600,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:602,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:602,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:603,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:603,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:605,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:605,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:606,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:606,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:612,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:613,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:613,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:615,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:615,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:616,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:616,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:618,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:619,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:619,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:621,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:621,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:622,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:622,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:624,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:624,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:625,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:625,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:627,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:627,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:628,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:628,1
    - Dst: dohash
      Src: /src/openssl/test/curve448_internal_test.c:629,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:633,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:633,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:634,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:634,1
    - Dst: dohash
      Src: /src/openssl/test/curve448_internal_test.c:635,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:640,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:640,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/curve448_internal_test.c:641,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/curve448_internal_test.c:645,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 594
    functionDepth: 13
    functionLinenumber: 594
    functionLinenumberEnd: 647
    functionName: test_ed448
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    - dohash
    - ossl_ed448_sign
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcmp
    linkageType: ''
    returnType: int
    signature: int test_ed448(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:657,1
    - Dst: ossl_x448
      Src: /src/openssl/test/curve448_internal_test.c:657,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:658,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:658,1
    - 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: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:663,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:664,1
    - Dst: printf
      Src: /src/openssl/test/curve448_internal_test.c:667,1
    - Dst: fflush
      Src: /src/openssl/test/curve448_internal_test.c:668,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:671,1
    - Dst: ossl_x448
      Src: /src/openssl/test/curve448_internal_test.c:671,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:676,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:676,1
    - Dst: TEST_info
      Src: /src/openssl/test/curve448_internal_test.c:677,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:681,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:682,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 649
    functionDepth: 7
    functionLinenumber: 649
    functionLinenumberEnd: 686
    functionName: test_x448
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - TEST_true
    - TEST_int_eq
    - ossl_x448
    - memcpy
    - memcmp
    - TEST_info
    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:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 706
    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:712,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/curve448_internal_test.c:732,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/curve448_internal_test.c:733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 735
    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: 6
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_free
    - OPENSSL_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
    - OPENSSL_zalloc
    - TEST_ptr
    - X509_STORE_get0_param
    - OSSL_CMP_CTX_new
    - tear_down
    - X509_STORE_new
    - OSSL_CMP_CTX_set0_trusted
    - X509_STORE_free
    - OSSL_CMP_CTX_set_log_cb
    - 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: 3
    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: 19
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: execute_validate_msg_test
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_ptr_eq
    - ossl_cmp_msg_check_update
    - OSSL_CMP_CTX_get0_validatedSrvCert
    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:
    - TEST_int_eq
    - OSSL_CMP_CTX_get0_trusted
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_validate_cert_path
    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:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_CTX_set0_trusted
    - 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:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - load_pkimsg
    - OSSL_CMP_CTX_set1_secretValue
    - 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: 8
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: add_trusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_trusted
    - X509_STORE_add_cert
    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:
    - X509_add_cert
    - OSSL_CMP_CTX_get0_untrusted
    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: 9
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: test_validate_msg_signature_partial_chain
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_trusted
    - X509_VERIFY_PARAM_set_flags
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - X509_STORE_get0_param
    - tear_down
    - load_pkimsg
    - add_trusted
    - EXECUTE_TEST
    - X509_VERIFY_PARAM_set_time
    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: 10
    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: 10
    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: 4
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: test_validate_msg_signature_srvcert
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - flip_bit
    - OSSL_CMP_CTX_set1_srvCert
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_secretValue
    - 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: 5
    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: 5
    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: 5
    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: 5
    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: 9
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: test_validate_msg_signature_sender_cert_untrusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - load_pkimsg
    - add_untrusted
    - add_trusted
    - EXECUTE_TEST
    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: 9
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: test_validate_msg_signature_sender_cert_trusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - load_pkimsg
    - add_trusted
    - EXECUTE_TEST
    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: 9
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: test_validate_msg_signature_sender_cert_extracert
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - load_pkimsg
    - sk_X509_value
    - add_trusted
    - EXECUTE_TEST
    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:351,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:352,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: test_validate_msg_signature_sender_cert_absent
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - 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:362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:365,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_vfy_test.c:366,1
    - Dst: OSSL_CMP_CTX_set1_expected_sender
      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_srvCert
      Src: /src/openssl/test/cmp_vfy_test.c:367,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:368,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - expected
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: test_validate_with_sender
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_srvCert
    - tear_down
    - TEST_true
    - load_pkimsg
    - EXECUTE_TEST
    - 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:377,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/cmp_vfy_test.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: test_validate_msg_signature_expected_sender
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_with_sender
    - X509_get_subject_name
    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:382,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/cmp_vfy_test.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: test_validate_msg_signature_unexpected_sender
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_with_sender
    - X509_get_subject_name
    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:388,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:390,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:390,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:391,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: test_validate_msg_unprotected_request
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - 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:404,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_vfy_test.c:405,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/cmp_vfy_test.c:407,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:409,1
    - Dst: add_untrusted
      Src: /src/openssl/test/cmp_vfy_test.c:410,1
    - Dst: add_untrusted
      Src: /src/openssl/test/cmp_vfy_test.c:411,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:412,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: 415
      start: 399
    functionDepth: 9
    functionLinenumber: 399
    functionLinenumberEnd: 415
    functionName: setup_path
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_trusted
    - X509_STORE_get0_param
    - tear_down
    - add_untrusted
    - add_trusted
    - X509_VERIFY_PARAM_set_time
    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:419,1
    - Dst: setup_path
      Src: /src/openssl/test/cmp_vfy_test.c:420,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 10
    functionLinenumber: 417
    functionLinenumberEnd: 423
    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:427,1
    - Dst: setup_path
      Src: /src/openssl/test/cmp_vfy_test.c:428,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 10
    functionLinenumber: 425
    functionLinenumberEnd: 431
    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:435,1
    - Dst: setup_path
      Src: /src/openssl/test/cmp_vfy_test.c:436,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 10
    functionLinenumber: 433
    functionLinenumberEnd: 439
    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:443,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/openssl/test/cmp_vfy_test.c:444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:446,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:447,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:455,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_vfy_test.c:456,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/openssl/test/cmp_vfy_test.c:456,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:458,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_vfy_test.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 19
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: execute_msg_check_test
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - ossl_cmp_hdr_get0_senderNonce
    - TEST_int_eq
    - ossl_cmp_msg_check_update
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_HDR_get0_transactionID
    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: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    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:480,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/test/cmp_vfy_test.c:483,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:485,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_vfy_test.c:488,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_vfy_test.c:491,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/test/cmp_vfy_test.c:493,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:494,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_vfy_test.c:497,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: 499
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 499
    functionName: setup_check_update
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1_bytes
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - tear_down
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_MSG_dup
    - 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:504,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:505,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: test_msg_check_no_protection_no_cb
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:512,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:513,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: test_msg_check_no_protection_restrictive_cb
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:521,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:522,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: test_msg_check_no_protection_permissive_cb
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:535,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:536,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 539
    functionName: test_msg_check_transaction_id
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:544,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:545,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: test_msg_check_transaction_id_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:559,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:560,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 563
    functionName: test_msg_check_recipient_nonce
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:568,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:569,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 572
    functionName: test_msg_check_recipient_nonce_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_check_update
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:577,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:578,1
    - 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: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_vfy_test.c:585,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_vfy_test.c:586,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_vfy_test.c:587,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_vfy_test.c:588,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_vfy_test.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 4
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - X509_free
    - OSSL_CMP_MSG_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/openssl/test/cmp_vfy_test.c:611,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_vfy_test.c:613,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_vfy_test.c:615,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_vfy_test.c:616,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_vfy_test.c:620,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:621,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:621,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:622,1
    - Dst: test_get_argument
      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_error
      Src: /src/openssl/test/cmp_vfy_test.c:635,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_vfy_test.c:639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:643,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:643,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:644,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:644,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:649,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:649,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:650,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:650,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:654,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:654,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:655,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:655,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:657,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_vfy_test.c:657,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:659,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:660,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:660,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:665,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:672,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:679,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: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:686,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:693,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:698,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:699,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:703,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:704,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:707,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: cleanup_tests
      Src: /src/openssl/test/cmp_vfy_test.c:719,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 603
    functionDepth: 8
    functionLinenumber: 603
    functionLinenumberEnd: 721
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - TEST_ptr
    - RAND_bytes
    - mktime
    - test_get_argument
    - load_cert_pem
    - ADD_TEST
    - TEST_error
    - TEST_int_eq
    - load_pkimsg
    - test_arg_libctx
    - test_skip_common_options
    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_utf8_string
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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_utf8_string
      Src: /src/openssl/test/ml_dsa_test.c:71,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:74,1
    - Dst: EVP_PKEY_CTX_new_from_name
      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_init
      Src: /src/openssl/test/ml_dsa_test.c:75,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:76,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_dsa_test.c:76,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    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: 85
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: ml_dsa_create_keypair
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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:96,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:96,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_true
      Src: /src/openssl/test/ml_dsa_test.c:101,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ml_dsa_test.c:101,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:103,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:104,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:105,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:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:109,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ml_dsa_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:112,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ml_dsa_test.c:112,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ml_dsa_test.c:114,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 120
    functionName: ml_dsa_keygen_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - TEST_int_eq
    - TEST_int_ge
    - do_gen_key
    - EVP_PKEY_free
    - EVP_PKEY_get_int_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:136,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:137,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:139,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:148,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:150,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:151,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:152,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/ml_dsa_test.c:152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:153,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:156,1
    - Dst: EVP_PKEY_get_size_t_param
      Src: /src/openssl/test/ml_dsa_test.c:156,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_dsa_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:159,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:159,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:160,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:163,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/ml_dsa_test.c:163,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:166,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:170,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:171,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 122
    functionDepth: 10
    functionLinenumber: 122
    functionLinenumberEnd: 175
    functionName: ml_dsa_siggen_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_get_size_t_param
    - TEST_true
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_zalloc
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_SIGNATURE_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign
    - EVP_Q_digest
    - OSSL_PARAM_construct_int
    - ml_dsa_create_keypair
    - EVP_PKEY_sign_message_init
    - TEST_size_t_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:187,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:190,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:194,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:196,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:198,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/ml_dsa_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:199,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/ml_dsa_test.c:199,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:205,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:206,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 209
    functionName: ml_dsa_sigver_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - ml_dsa_create_keypair
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_PKEY_verify
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    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:225,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:226,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:228,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:237,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:239,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:240,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:241,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/ml_dsa_test.c:241,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:242,1
    - Dst: EVP_PKEY_sign_message_update
      Src: /src/openssl/test/ml_dsa_test.c:242,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:243,1
    - Dst: EVP_PKEY_sign_message_update
      Src: /src/openssl/test/ml_dsa_test.c:243,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:246,1
    - Dst: EVP_PKEY_sign_message_final
      Src: /src/openssl/test/ml_dsa_test.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:247,1
    - Dst: EVP_PKEY_get_size_t_param
      Src: /src/openssl/test/ml_dsa_test.c:247,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_dsa_test.c:249,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:250,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:251,1
    - Dst: EVP_PKEY_sign_message_final
      Src: /src/openssl/test/ml_dsa_test.c:251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:252,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/ml_dsa_test.c:252,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:255,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:259,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:260,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:262,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 211
    functionDepth: 10
    functionLinenumber: 211
    functionLinenumberEnd: 264
    functionName: ml_dsa_siggen_upd_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_get_size_t_param
    - TEST_true
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_zalloc
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_SIGNATURE_free
    - EVP_PKEY_sign_message_final
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_Q_digest
    - OSSL_PARAM_construct_int
    - EVP_PKEY_sign_message_update
    - ml_dsa_create_keypair
    - EVP_PKEY_sign_message_init
    - TEST_size_t_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:276,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:279,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:279,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:283,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:285,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:285,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:287,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/ml_dsa_test.c:287,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:288,1
    - Dst: EVP_PKEY_CTX_set_signature
      Src: /src/openssl/test/ml_dsa_test.c:288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:291,1
    - Dst: EVP_PKEY_verify_message_update
      Src: /src/openssl/test/ml_dsa_test.c:291,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:294,1
    - Dst: EVP_PKEY_verify_message_final
      Src: /src/openssl/test/ml_dsa_test.c:294,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:298,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:299,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 266
    functionDepth: 7
    functionLinenumber: 266
    functionLinenumberEnd: 302
    functionName: ml_dsa_sigver_upd_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - ml_dsa_create_keypair
    - TEST_ptr
    - EVP_PKEY_CTX_set_signature
    - EVP_PKEY_verify_message_final
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_verify_message_update
    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:311,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:312,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/ml_dsa_test.c:312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:313,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:314,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:315,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/ml_dsa_test.c:315,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:319,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:320,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 304
    functionDepth: 5
    functionLinenumber: 304
    functionLinenumberEnd: 323
    functionName: ml_dsa_key_dup_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_eq
    - EVP_PKEY_check
    - EVP_PKEY_dup
    - TEST_int_eq
    - do_gen_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:331,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:334,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_test.c:334,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:336,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_test.c:336,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:338,1
    - Dst: ossl_ml_dsa_key_dup
      Src: /src/openssl/test/ml_dsa_test.c:338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:339,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:341,1
    - Dst: ossl_ml_dsa_key_dup
      Src: /src/openssl/test/ml_dsa_test.c:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:342,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/test/ml_dsa_test.c:342,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_dsa_test.c:343,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/test/ml_dsa_test.c:343,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:344,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/test/ml_dsa_test.c:344,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_dsa_test.c:345,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/test/ml_dsa_test.c:345,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/test/ml_dsa_test.c:350,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/test/ml_dsa_test.c:351,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 353
    functionName: ml_dsa_key_internal_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - ossl_ml_dsa_key_free
    - TEST_ptr
    - ossl_ml_dsa_key_pub_alloc
    - TEST_true
    - ossl_ml_dsa_key_priv_alloc
    - TEST_ptr_null
    - ossl_ml_dsa_key_new
    - ossl_ml_dsa_key_dup
    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:363,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ml_dsa_test.c:363,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: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:369,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:371,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:371,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:373,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:373,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:375,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:377,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:377,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:383,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 355
    functionDepth: 7
    functionLinenumber: 355
    functionLinenumberEnd: 386
    functionName: from_data_invalid_public_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ml_dsa_create_keypair
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    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:396,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ml_dsa_test.c:396,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:397,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ml_dsa_test.c:397,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:398,1
    - Dst: EVP_PKEY_fromdata_settable
      Src: /src/openssl/test/ml_dsa_test.c:398,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:399,1
    - Dst: EVP_PKEY_fromdata_settable
      Src: /src/openssl/test/ml_dsa_test.c:399,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/test/ml_dsa_test.c:402,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:403,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ml_dsa_test.c:404,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_dsa_test.c:404,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/test/ml_dsa_test.c:408,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:409,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ml_dsa_test.c:410,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_dsa_test.c:410,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:416,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 388
    functionDepth: 6
    functionLinenumber: 388
    functionLinenumberEnd: 419
    functionName: from_data_bad_input_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_fromdata_settable
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - TEST_ptr_null
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_uint32
    - EVP_PKEY_free
    - TEST_int_ne
    - EVP_PKEY_CTX_free
    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:428,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:429,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:429,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:430,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:431,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:431,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:432,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:432,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:433,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/ml_dsa_test.c:433,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_dsa_test.c:434,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:435,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_dsa_test.c:435,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:436,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/ml_dsa_test.c:436,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:437,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/ml_dsa_test.c:437,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_dsa_test.c:438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:439,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_dsa_test.c:439,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:440,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/ml_dsa_test.c:440,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:442,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:445,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:445,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:449,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:450,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:451,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:452,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:453,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 421
    functionDepth: 7
    functionLinenumber: 421
    functionLinenumberEnd: 456
    functionName: ml_dsa_keygen_drbg_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - ml_dsa_create_keypair
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_eq
    - EVP_PKEY_get_raw_private_key
    - EVP_PKEY_get_raw_public_key
    - TEST_true
    - TEST_int_eq
    - do_gen_key
    - EVP_PKEY_free
    - TEST_size_t_gt
    - OPENSSL_malloc
    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:498,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:498,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:501,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:504,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:508,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:509,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:509,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:510,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/ml_dsa_test.c:510,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:516,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:517,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:517,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:520,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:520,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:523,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:524,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:524,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:525,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/ml_dsa_test.c:525,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:526,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/ml_dsa_test.c:526,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:530,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:531,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:532,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:533,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:534,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - alg
    - tstid
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 536
    functionName: do_ml_dsa_sign_verify
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_verify
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - do_gen_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    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:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 7
    functionLinenumber: 537
    functionLinenumberEnd: 540
    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:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 7
    functionLinenumber: 541
    functionLinenumberEnd: 544
    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:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 7
    functionLinenumber: 545
    functionLinenumberEnd: 548
    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:561,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:561,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:564,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:567,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:569,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:571,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/ml_dsa_test.c:571,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:572,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:572,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:576,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:576,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:584,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ml_dsa_test.c:584,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:585,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:585,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:588,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ml_dsa_test.c:588,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:591,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:591,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:594,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ml_dsa_test.c:594,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:597,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:597,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:601,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:601,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:605,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ml_dsa_test.c:605,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:611,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:612,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:613,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 550
    functionDepth: 8
    functionLinenumber: 550
    functionLinenumberEnd: 615
    functionName: ml_dsa_digest_sign_verify_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_zalloc
    - TEST_ptr
    - EVP_DigestVerify
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - OSSL_PARAM_construct_end
    - EVP_DigestSign
    - TEST_int_eq
    - do_gen_key
    - EVP_DigestVerifyInit_ex
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:624,1
    - Dst: memcpy
      Src: /src/openssl/test/ml_dsa_test.c:626,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:632,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:632,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:637,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:642,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 617
    functionDepth: 7
    functionLinenumber: 617
    functionLinenumberEnd: 645
    functionName: ml_dsa_priv_pub_bad_t0_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ml_dsa_create_keypair
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_free
    - memcpy
    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: 656
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 656
    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:663,1
    - Dst: opt_arg
      Src: /src/openssl/test/ml_dsa_test.c:666,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/ml_dsa_test.c:675,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:678,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:678,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:679,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:679,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:680,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:680,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/ml_dsa_test.c:681,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:682,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:682,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:683,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:683,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:685,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:686,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:687,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:688,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:688,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:689,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:689,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:690,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:690,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:691,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:692,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:693,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 696
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_ALL_TESTS
    - ADD_TEST
    - opt_arg
    - OSSL_NELEM
    - opt_next
    - fips_provider_version_ge
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ml_dsa_test.c:700,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ml_dsa_test.c:701,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 4
    functionLinenumber: 698
    functionLinenumberEnd: 703
    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:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:119,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/test/punycode_test.c:119,1
    - Dst: strlen
      Src: /src/openssl/test/punycode_test.c:119,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:122,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/punycode_test.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: test_punycode
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_true
    - ossl_punycode_decode
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_punycode(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:146,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: test_a2ulabel_bad_decode
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_a2ulabel
    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:158,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:159,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:159,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:162,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:163,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:163,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/punycode_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:168,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:168,1
    - Dst: strcpy
      Src: /src/openssl/test/punycode_test.c:172,1
    - Dst: memset
      Src: /src/openssl/test/punycode_test.c:173,1
    - Dst: memcpy
      Src: /src/openssl/test/punycode_test.c:174,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:175,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 179
    functionName: test_a2ulabel
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - ossl_a2ulabel
    - TEST_int_eq
    - memset
    - strcpy
    - TEST_str_eq
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_a2ulabel(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:187,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:188,1
    - Dst: TEST_false
      Src: /src/openssl/test/punycode_test.c:190,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/test/punycode_test.c:190,1
    - Dst: strlen
      Src: /src/openssl/test/punycode_test.c:190,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/punycode_test.c:191,1
    - Dst: TEST_error
      Src: /src/openssl/test/punycode_test.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: test_puny_overrun
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_mem_eq
    - TEST_error
    - ossl_punycode_decode
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_puny_overrun(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/punycode_test.c:209,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/punycode_test.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:211,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/punycode_test.c:211,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/punycode_test.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:216,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/punycode_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:218,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/punycode_test.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:221,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/punycode_test.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/punycode_test.c:223,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/punycode_test.c:223,1
    - Dst: memset
      Src: /src/openssl/test/punycode_test.c:227,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/punycode_test.c:228,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:229,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/punycode_test.c:233,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:233,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/punycode_test.c:234,1
    - Dst: strlen
      Src: /src/openssl/test/punycode_test.c:234,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/punycode_test.c:239,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/punycode_test.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/punycode_test.c:241,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 243
    functionName: test_dotted_overflow
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - WPACKET_init_len
    - TEST_ptr
    - WPACKET_cleanup
    - OPENSSL_free
    - TEST_int_le
    - ossl_a2ulabel
    - TEST_true
    - BUF_MEM_free
    - TEST_int_gt
    - WPACKET_put_bytes_u8
    - TEST_int_eq
    - memset
    - OSSL_NELEM
    - TEST_size_t_eq
    - strlen
    - WPACKET_memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_dotted_overflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/punycode_test.c:247,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:247,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/punycode_test.c:248,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/punycode_test.c:249,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/punycode_test.c:250,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/punycode_test.c:251,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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
    - TEST_ptr
    - ossl_crypto_thread_native_clean
    - TEST_int_eq
    - ossl_crypto_thread_native_start
    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:
    - TEST_uint_eq
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - TEST_uint64_t_eq
    - ossl_crypto_thread_clean
    - OSSL_get_thread_support_flags
    - OSSL_get_max_threads
    - OSSL_LIB_CTX_free
    - ossl_crypto_thread_start
    - TEST_int_eq
    - TEST_ptr_null
    - ossl_crypto_thread_join
    - OSSL_NELEM
    - OSSL_set_max_threads
    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
    - TEST_ptr
    - ossl_crypto_thread_native_clean
    - TEST_int_eq
    - ossl_crypto_thread_native_start
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - timer_us
    argTypes:
    - SSL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: infinite_timer_cb
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int infinite_timer_cb(SSL *s, unsigned int timer_us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: verify_accept_cb
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_accept_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:57,1
    - Dst: memset
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:65,1
    - Dst: memset
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:66,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:67,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:69,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:71,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:72,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    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: 79
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 79
    functionName: tick_key_renew_cb
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_CIPHER_fetch
    - memset
    - EVP_CIPHER_free
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int tick_key_renew_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,\n    int
      enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:86,1
    - Dst: SSL_write
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:87,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:87,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - writer
    - reader
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: verify_data_transfer
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - SSL_read
    - SSL_write
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int verify_data_transfer(SSL *writer, SSL *reader)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:100,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:100,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:106,1
    - Dst: mempacket_split_packet_at
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:109,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:114,1
    - Dst: mempacket_split_packet_at
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:117,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:122,1
    - Dst: mempacket_split_packet_at
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:125,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:135,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:139,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:139,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:145,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:145,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:147,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:152,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 2
    argNames:
    - bio
    - before_hs_msg
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 156
    functionName: reorder_ccs
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - mempacket_split_packet_at
    - TEST_true
    - mempacket_move_packet
    - TEST_int_eq
    - mempacket_find_record
    linkageType: ''
    returnType: int
    signature: int reorder_ccs(BIO *bio, int before_hs_msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:193,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:193,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:193,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:194,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:200,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:201,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:209,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:211,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:216,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:216,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:219,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:220,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:222,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:222,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:225,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:225,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:228,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:228,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:232,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:233,1
    - Dst: reorder_ccs
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:233,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:236,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:237,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:238,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:239,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:240,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:244,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:245,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:246,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:247,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:248,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:258,1
    - Dst: verify_data_transfer
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:258,1
    - Dst: X509_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:263,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:264,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:265,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:266,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:267,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 269
    functionName: test_dtls_ccs_full_hs
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_free
    - SSL_CTX_use_certificate_file
    - TEST_true
    - SSL_CTX_free
    - SSL_get_wbio
    - SSL_CTX_set_verify
    - TEST_int_le
    - SSL_CTX_set_security_level
    - DTLS_server_method
    - TEST_int_gt
    - SSL_get_error
    - SSL_free
    - DTLS_client_method
    - SSL_accept
    - SSL_get1_peer_certificate
    - SSL_state_string_long
    - DTLS_set_timer_cb
    - verify_data_transfer
    - create_ssl_ctx_pair
    - reorder_ccs
    - SSL_connect
    - SSL_CTX_use_PrivateKey_file
    - TEST_info
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_dtls_ccs_full_hs(int idx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:289,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:289,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:289,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:290,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:296,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:300,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:300,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:303,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:304,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:306,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:306,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:309,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:309,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:312,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:312,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:315,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:316,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:317,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:318,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:319,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:323,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:325,1
    - Dst: reorder_ccs
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:325,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:328,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:329,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:330,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:331,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:332,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:336,1
    - Dst: verify_data_transfer
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:336,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:341,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:342,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:343,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:344,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 346
    functionName: test_dtls_ccs_before_nst
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - SSL_get_wbio
    - TEST_int_le
    - SSL_CTX_set_security_level
    - DTLS_server_method
    - TEST_int_gt
    - SSL_get_error
    - SSL_free
    - DTLS_client_method
    - SSL_accept
    - SSL_state_string_long
    - DTLS_set_timer_cb
    - verify_data_transfer
    - create_ssl_ctx_pair
    - reorder_ccs
    - SSL_connect
    - TEST_info
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_dtls_ccs_before_nst(int idx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:379,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:379,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:379,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:380,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:386,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:391,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:391,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:398,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:398,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:401,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:401,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:404,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:405,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:408,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:411,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:411,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:414,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:415,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:417,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:417,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:420,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:420,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:423,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:423,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:427,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:428,1
    - Dst: reorder_ccs
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:428,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:431,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:432,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:433,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:434,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:435,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:439,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:440,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:441,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:442,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:443,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:447,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:450,1
    - Dst: verify_data_transfer
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:450,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:455,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:456,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:457,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:458,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:459,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 461
    functionName: test_dtls_ccs_resume
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_options
    - SSL_get1_session
    - SSL_CTX_free
    - create_ssl_connection
    - SSL_get_wbio
    - TEST_int_le
    - SSL_CTX_set_security_level
    - DTLS_server_method
    - TEST_int_gt
    - SSL_get_error
    - SSL_free
    - DTLS_client_method
    - SSL_accept
    - SSL_state_string_long
    - shutdown_ssl_connection
    - SSL_set_session
    - SSL_SESSION_free
    - DTLS_set_timer_cb
    - verify_data_transfer
    - SSL_session_reused
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - create_ssl_ctx_pair
    - reorder_ccs
    - SSL_connect
    - TEST_info
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_dtls_ccs_resume(int idx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:472,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:472,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:472,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:473,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:478,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:478,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:481,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:482,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:484,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:484,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:487,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:487,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:490,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:490,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:495,1
    - Dst: reorder_ccs
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:495,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:498,1
    - Dst: mempacket_find_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:502,1
    - Dst: mempacket_append_to_record
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:502,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:506,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:507,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:509,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:509,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:511,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:511,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:511,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:516,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:517,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:518,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:519,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 521
    functionName: test_dtls_data_after_ccs
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - mempacket_find_record
    - SSL_CTX_free
    - SSL_get_wbio
    - TEST_int_le
    - DTLS_server_method
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - DTLS_client_method
    - SSL_accept
    - DTLS_set_timer_cb
    - ERR_get_error
    - mempacket_append_to_record
    - create_ssl_ctx_pair
    - reorder_ccs
    - SSL_connect
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_dtls_data_after_ccs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:526,1
    - Dst: TEST_error
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:531,1
    - Dst: test_get_argument
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:531,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:532,1
    - Dst: test_get_argument
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:532,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:535,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:535,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:536,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:536,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:537,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:537,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 543
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/dtls_ccs_reorder_test.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/dtls_ccs_reorder_test.c
    functionUses: 1
    functionsReached:
    - bio_s_mempacket_test_free
    linkageType: ''
    returnType: void
    signature: void cleanup_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_ecb_encrypt
    - RC2_set_key
    - TEST_mem_eq
    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:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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:304,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:309,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - privtag
    - use_octstring
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: pkey_has_private
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - BN_free
    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:321,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test2.c:322,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:328,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:328,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:329,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:329,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:335,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:336,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:343,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:343,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:344,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:345,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:345,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:348,1
    - Dst: pkey_has_private
      Src: /src/openssl/test/evp_extra_test2.c:348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:354,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:357,1
    - Dst: pkey_has_private
      Src: /src/openssl/test/evp_extra_test2.c:357,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:361,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:362,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:363,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:364,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - key
    - keytype
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 367
    functionName: do_pkey_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - TEST_false
    - TEST_ptr
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - strcmp
    - EVP_PKEY_fromdata
    - TEST_true
    - TEST_int_eq
    - TEST_ptr_null
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - pkey_has_private
    - EVP_PKEY_todata
    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:381,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:382,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:383,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:383,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:384,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test2.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:385,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test2.c:385,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:386,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_extra_test2.c:386,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:387,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:387,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:389,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/test/evp_extra_test2.c:389,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:390,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/test/evp_extra_test2.c:390,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test2.c:391,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/evp_extra_test2.c:391,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:393,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 370
    functionDepth: 7
    functionLinenumber: 370
    functionLinenumberEnd: 396
    functionName: test_dh_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_int_le
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - DH_get0_priv_key
    - EVP_PKEY_generate
    - EVP_PKEY_get0_DH
    - EVP_PKEY_CTX_new_from_name
    - BN_num_bits
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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:406,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:407,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:409,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:411,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:411,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:412,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test2.c:412,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:413,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test2.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:414,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test2.c:414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:415,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:420,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:421,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test2.c:421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:422,1
    - Dst: EVP_PKEY_param_check_quick
      Src: /src/openssl/test/evp_extra_test2.c:422,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:424,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 398
    functionDepth: 9
    functionLinenumber: 398
    functionLinenumberEnd: 427
    functionName: test_dh_paramgen
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_param_check
    - TEST_ptr
    - EVP_PKEY_param_check_quick
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - TEST_int_eq
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_paramgen
    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:435,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:437,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:438,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:439,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 442
    functionName: set_fromdata_string
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_free
    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:451,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_extra_test2.c:453,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:454,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:455,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 6
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: set_fromdata_uint
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_free
    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:466,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:466,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:467,1
    - Dst: set_fromdata_uint
      Src: /src/openssl/test/evp_extra_test2.c:467,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:468,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:468,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:469,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:469,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:470,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:470,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:471,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:471,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:472,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:472,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:473,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:474,1
    - Dst: set_fromdata_uint
      Src: /src/openssl/test/evp_extra_test2.c:474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:475,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:476,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:476,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:477,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:477,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:478,1
    - Dst: set_fromdata_uint
      Src: /src/openssl/test/evp_extra_test2.c:478,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:480,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 460
    functionDepth: 7
    functionLinenumber: 460
    functionLinenumberEnd: 482
    functionName: test_dh_paramfromdata
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - set_fromdata_uint
    - EVP_PKEY_CTX_free
    - set_fromdata_string
    linkageType: ''
    returnType: int
    signature: int test_dh_paramfromdata(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:497,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:500,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/evp_extra_test2.c:500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:502,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:505,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:505,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:508,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:508,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:509,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_extra_test2.c:509,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:510,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_extra_test2.c:510,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:512,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:513,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:514,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:516,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_extra_test2.c:516,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:517,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_extra_test2.c:517,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:518,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_extra_test2.c:518,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test2.c:519,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:521,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:524,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:525,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:526,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:527,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:528,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 487
    functionDepth: 12
    functionLinenumber: 487
    functionLinenumberEnd: 530
    functionName: test_new_keytype
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_true
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - OSSL_PROVIDER_add_builtin
    - EVP_PKEY_decapsulate
    - OSSL_PROVIDER_unload
    - 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:541,1
    - Dst: fopen
      Src: /src/openssl/test/evp_extra_test2.c:541,1
    - 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: i2d_PUBKEY_fp
      Src: /src/openssl/test/evp_extra_test2.c:543,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:544,1
    - Dst: fclose
      Src: /src/openssl/test/evp_extra_test2.c:544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:548,1
    - Dst: fopen
      Src: /src/openssl/test/evp_extra_test2.c:548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:549,1
    - Dst: d2i_PUBKEY_ex_fp
      Src: /src/openssl/test/evp_extra_test2.c:549,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:550,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test2.c:550,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:556,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:557,1
    - Dst: fclose
      Src: /src/openssl/test/evp_extra_test2.c:558,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 534
    functionDepth: 9
    functionLinenumber: 534
    functionLinenumberEnd: 560
    functionName: test_ec_d2i_i2d_pubkey
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - fopen
    - EVP_PKEY_eq
    - TEST_true
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - d2i_PUBKEY_ex_fp
    - EVP_PKEY_free
    - i2d_PUBKEY_fp
    - 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:567,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:568,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:568,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 9
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: test_ec_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    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:579,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:579,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:580,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:580,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 9
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: test_ecx_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    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:593,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:593,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:594,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:594,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 9
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: test_sm2_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    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:607,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:607,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:609,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:609,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 14
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: test_rsa_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    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:629,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:629,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test2.c:631,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:632,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test2.c:632,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:636,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:636,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:643,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test2.c:643,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:649,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:649,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:655,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:655,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:656,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:656,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:663,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:664,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:665,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:666,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 615
    functionDepth: 14
    functionLinenumber: 615
    functionLinenumberEnd: 668
    functionName: test_d2i_AutoPrivateKey_ex
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - TEST_ptr
    - EVP_PKEY_get_id
    - TEST_true
    - EVP_PKEY_get_bn_param
    - TEST_int_eq
    - BN_free
    - EVP_PKEY_free
    - TEST_ptr_eq
    - d2i_AutoPrivateKey_ex
    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:682,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:682,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:683,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test2.c:683,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test2.c:683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:684,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test2.c:684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:686,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/test/evp_extra_test2.c:686,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:687,1
    - Dst: i2d_PKCS8PrivateKey_nid_bio
      Src: /src/openssl/test/evp_extra_test2.c:687,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:691,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_extra_test2.c:691,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:692,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test2.c:692,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:694,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test2.c:694,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:696,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:697,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:698,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:699,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 702
    functionName: test_pkcs8key_nid_bio
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - BIO_new
    - BIO_free
    - EVP_PKEY_eq
    - TEST_true
    - BIO_new_mem_buf
    - i2d_PKCS8PrivateKey_nid_bio
    - TEST_int_gt
    - BIO_get_mem_data
    - TEST_int_eq
    - d2i_PKCS8PrivateKey_bio
    - d2i_PrivateKey_ex_bio
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - BIO_s_mem
    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:715,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:722,1
    - Dst: OSSL_LIB_CTX_set0_default
      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: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:725,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test2.c:732,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_extra_test2.c:732,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:733,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:733,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 705
    functionDepth: 10
    functionLinenumber: 705
    functionLinenumberEnd: 740
    functionName: test_alternative_default
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_MD_fetch
    - OSSL_LIB_CTX_set0_default
    - TEST_ptr_null
    - EVP_MD_free
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_alternative_default(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:748,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:748,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:749,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:749,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:753,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:755,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:758,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:760,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:768,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:768,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:773,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 742
    functionDepth: 10
    functionLinenumber: 742
    functionLinenumberEnd: 776
    functionName: test_provider_unload_effective
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - EVP_MD_fetch
    - TEST_ptr_null
    - EVP_MD_free
    - OSSL_PROVIDER_unload
    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:786,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:786,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:788,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test2.c:788,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:790,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:790,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:793,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test2.c:794,1
    - Dst: BIO_seek
      Src: /src/openssl/test/evp_extra_test2.c:794,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:796,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test2.c:796,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:797,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test2.c:797,1
    - Dst: test_openssl_errors
      Src: /src/openssl/test/evp_extra_test2.c:798,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:801,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:802,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 778
    functionDepth: 6
    functionLinenumber: 778
    functionLinenumberEnd: 806
    functionName: test_d2i_PrivateKey_ex
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - d2i_PrivateKey_bio
    - BIO_free
    - BIO_new_mem_buf
    - TEST_int_eq
    - TEST_ptr_null
    - PEM_read_bio_PrivateKey
    - TEST_int_ge
    - BIO_seek
    - ERR_peek_error
    - test_openssl_errors
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - ERR_clear_error
    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:815,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test2.c:815,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:818,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:819,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:819,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test2.c:821,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test2.c:821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:823,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:823,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test2.c:825,1
    - Dst: BIO_seek
      Src: /src/openssl/test/evp_extra_test2.c:825,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:827,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:828,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:828,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test2.c:830,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test2.c:830,1
    - Dst: test_openssl_errors
      Src: /src/openssl/test/evp_extra_test2.c:836,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:837,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:838,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:839,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 808
    functionDepth: 6
    functionLinenumber: 808
    functionLinenumberEnd: 842
    functionName: test_PEM_read_bio_negative
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_PROVIDER_load
    - BIO_free
    - BIO_new_mem_buf
    - TEST_ptr_null
    - PEM_read_bio_PrivateKey
    - TEST_int_ge
    - BIO_seek
    - ERR_peek_error
    - test_openssl_errors
    - TEST_int_ne
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - ERR_clear_error
    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:847,1
    - Dst: EVP_RSA_gen
      Src: /src/openssl/test/evp_extra_test2.c:849,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test2.c:850,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test2.c:850,1
    - Dst: UI_null
      Src: /src/openssl/test/evp_extra_test2.c:854,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:856,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:858,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:860,1
    - Dst: UI_get_default_method
      Src: /src/openssl/test/evp_extra_test2.c:862,1
    - Dst: UI_set_default_method
      Src: /src/openssl/test/evp_extra_test2.c:863,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:866,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:866,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test2.c:866,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:870,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:871,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:872,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:875,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_extra_test2.c:875,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_extra_test2.c:875,1
    - Dst: test_openssl_errors
      Src: /src/openssl/test/evp_extra_test2.c:880,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:881,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:882,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:883,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:884,1
    - Dst: UI_set_default_method
      Src: /src/openssl/test/evp_extra_test2.c:885,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 844
    functionDepth: 6
    functionLinenumber: 844
    functionLinenumberEnd: 888
    functionName: test_PEM_read_bio_negative_wrong_password
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - UI_set_default_method
    - ERR_GET_REASON
    - TEST_true
    - TEST_ptr_null
    - ERR_clear_error
    - EVP_aes_256_cbc
    - PEM_write_bio_PrivateKey
    - OSSL_PROVIDER_load
    - BIO_new
    - EVP_RSA_gen
    - TEST_int_eq
    - PEM_read_bio_PrivateKey
    - OSSL_PROVIDER_unload
    - BIO_s_mem
    - BIO_free
    - ERR_get_error
    - test_openssl_errors
    - EVP_PKEY_free
    - UI_get_default_method
    - UI_null
    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:897,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:897,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:898,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:898,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:899,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:899,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:903,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test2.c:903,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:904,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - params
    - expected
    - type
    argTypes:
    - OSSL_PARAM[]
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 890
    functionDepth: 6
    functionLinenumber: 890
    functionLinenumberEnd: 907
    functionName: do_fromdata_key_is_equal
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_eq
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - TEST_true
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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:1080,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:1080,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1081,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:1081,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1082,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:1082,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1085,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:1085,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1087,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test2.c:1087,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1088,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1089,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - key_params
    - expected
    argTypes:
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1074
    functionDepth: 9
    functionLinenumber: 1074
    functionLinenumberEnd: 1092
    functionName: do_check_params
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:1102,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:1102,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1103,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/evp_extra_test2.c:1103,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1104,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/evp_extra_test2.c:1104,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test2.c:1105,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:1106,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: 1108
      start: 1094
    functionDepth: 5
    functionLinenumber: 1094
    functionLinenumberEnd: 1108
    functionName: do_check_bn
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - TEST_int_gt
    - BN_free
    - BN_bn2binpad
    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:1115,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:1115,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1116,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/evp_extra_test2.c:1116,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - params
    - key
    - expected
    argTypes:
    - OSSL_PARAM[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1110
    functionDepth: 5
    functionLinenumber: 1110
    functionLinenumberEnd: 1118
    functionName: do_check_int
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_int
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    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:1126,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1126,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1128,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:1128,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1120
    functionDepth: 14
    functionLinenumber: 1120
    functionLinenumberEnd: 1132
    functionName: test_dsa_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    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:1150,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1153,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1155,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:1157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1159,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1159,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1161,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:1161,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1162,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1163,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1164,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1165,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1167,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1169,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1170,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1171,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1172,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1173,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1174,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:1175,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:1175,1
    - Dst: do_fromdata_key_is_equal
      Src: /src/openssl/test/evp_extra_test2.c:1178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1181,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/evp_extra_test2.c:1181,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1182,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1184,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1186,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1194,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1198,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1202,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1207,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:1208,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:1209,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1134
    functionDepth: 14
    functionLinenumber: 1134
    functionLinenumberEnd: 1211
    functionName: test_dsa_todata
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - do_check_bn
    - do_check_params
    - TEST_ptr
    - do_fromdata_key_is_equal
    - OSSL_PARAM_free
    - OSSL_PARAM_construct_end
    - do_check_int
    - TEST_int_eq
    - TEST_ptr_null
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - OSSL_PARAM_merge
    - EVP_PKEY_todata
    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:1228,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:1229,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:1231,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:1233,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1235,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:1235,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1236,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:1236,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1237,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:1237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1240,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:1240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1241,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test2.c:1241,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1242,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test2.c:1242,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1247,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1248,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1249,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1219
    functionDepth: 8
    functionLinenumber: 1219
    functionLinenumberEnd: 1252
    functionName: test_dsa_fromdata_digest_prop
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_paramgen
    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:1262,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1264,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:1264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1265,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:1265,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1255
    functionDepth: 14
    functionLinenumber: 1255
    functionLinenumberEnd: 1268
    functionName: test_pkey_todata_null
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - EVP_PKEY_todata
    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:1276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1272
    functionDepth: 7
    functionLinenumber: 1272
    functionLinenumberEnd: 1277
    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:1285,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1285,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1287,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1287,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1290,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1290,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1279
    functionDepth: 14
    functionLinenumber: 1279
    functionLinenumberEnd: 1293
    functionName: test_pkey_export_null
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_export
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    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:1305,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1305,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1307,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1307,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:1309,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1309,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1312,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1318,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test2.c:1318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1319,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:1319,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1320,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/test/evp_extra_test2.c:1320,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1321,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1321,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:1323,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1323,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test2.c:1326,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1295
    functionDepth: 14
    functionLinenumber: 1295
    functionLinenumberEnd: 1330
    functionName: test_pkey_export
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_export
    - TEST_ptr
    - TEST_false
    - TEST_true
    - RSA_free
    - EVP_PKEY_set1_RSA
    - EVP_PKEY_free
    - d2i_RSAPrivateKey
    - EVP_PKEY_new
    - d2i_AutoPrivateKey_ex
    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:1345,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:1347,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:1349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1351,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1353,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:1353,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1354,1
    - Dst: EVP_PKEY_sign_init_ex
      Src: /src/openssl/test/evp_extra_test2.c:1354,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1355,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test2.c:1355,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test2.c:1358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1359,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:1359,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1360,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test2.c:1360,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:1365,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1332
    functionDepth: 14
    functionLinenumber: 1332
    functionLinenumberEnd: 1369
    functionName: test_rsa_pss_sign
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_PKEY_sign_init_ex
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - TEST_size_t_gt
    - EVP_PKEY_sign
    - d2i_AutoPrivateKey_ex
    - OPENSSL_malloc
    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:1378,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1379,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_extra_test2.c:1379,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1381,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1371
    functionDepth: 9
    functionLinenumber: 1371
    functionLinenumberEnd: 1384
    functionName: test_evp_md_ctx_dup
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_ptr
    - EVP_MD_CTX_dup
    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:1393,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1394,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1394,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1395,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/test/evp_extra_test2.c:1395,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1397,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1386
    functionDepth: 8
    functionLinenumber: 1386
    functionLinenumberEnd: 1400
    functionName: test_evp_md_ctx_copy
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:1410,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1411,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:1411,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1414,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1415,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1417,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1421,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_extra_test2.c:1421,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1423,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_extra_test2.c:1423,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1431,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/test/evp_extra_test2.c:1431,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1432,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:1435,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1436,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1437,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1402
    functionDepth: 10
    functionLinenumber: 1402
    functionLinenumberEnd: 1440
    functionName: test_evp_md_ctx_copy2
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - TEST_true
    - EVP_MD_CTX_copy_ex
    - EVP_MD_fetch
    - OSSL_LIB_CTX_free
    - EVP_MD_free
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_evp_md_ctx_copy2(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1462,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1462,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1463,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:1463,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1466,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1467,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1470,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1470,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1471,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_extra_test2.c:1471,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1472,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test2.c:1472,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test2.c:1472,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1476,1
    - Dst: EVP_MD_CTX_serialize
      Src: /src/openssl/test/evp_extra_test2.c:1476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1477,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:1477,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1478,1
    - Dst: EVP_MD_CTX_serialize
      Src: /src/openssl/test/evp_extra_test2.c:1478,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1482,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_extra_test2.c:1482,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1483,1
    - Dst: EVP_MD_CTX_deserialize
      Src: /src/openssl/test/evp_extra_test2.c:1483,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1487,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test2.c:1487,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test2.c:1487,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1488,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test2.c:1488,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test2.c:1488,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1489,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test2.c:1489,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1490,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test2.c:1490,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_extra_test2.c:1491,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test2.c:1492,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:1496,1
    - Dst: EVP_MD_CTX_serialize
      Src: /src/openssl/test/evp_extra_test2.c:1496,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:1497,1
    - Dst: EVP_MD_CTX_deserialize
      Src: /src/openssl/test/evp_extra_test2.c:1497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:1503,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1504,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1505,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:1506,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1507,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 30
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1442
    functionDepth: 10
    functionLinenumber: 1442
    functionLinenumberEnd: 1509
    functionName: test_evp_md_ctx_serialize
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - EVP_MD_CTX_serialize
    - TEST_true
    - EVP_DigestUpdate
    - EVP_MD_CTX_deserialize
    - EVP_MD_CTX_new
    - OSSL_LIB_CTX_new
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - TEST_uint_eq
    - TEST_false
    - EVP_MD_fetch
    - EVP_MD_free
    - EVP_DigestFinal_ex
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_evp_md_ctx_serialize(int tstid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1519,1
    - Dst: EVP_PBE_alg_add
      Src: /src/openssl/test/evp_extra_test2.c:1519,1
    - Dst: EVP_des_cbc
      Src: /src/openssl/test/evp_extra_test2.c:1519,1
    - Dst: EVP_md5
      Src: /src/openssl/test/evp_extra_test2.c:1519,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1523,1
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/test/evp_extra_test2.c:1523,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1527,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1512
    functionDepth: 2
    functionLinenumber: 1512
    functionLinenumberEnd: 1536
    functionName: test_evp_pbe_alg_add
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_des_cbc
    - TEST_true
    - EVP_md5
    - EVP_PBE_find_ex
    - EVP_PBE_alg_add
    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:1549,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:1549,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1545
    functionDepth: 10
    functionLinenumber: 1545
    functionLinenumberEnd: 1555
    functionName: evp_test_name_parsing
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - EVP_MD_free
    - EVP_MD_fetch
    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:1559,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1560,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1565,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1566,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1567,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test2.c:1567,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1568,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1570,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1573,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1575,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1577,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1580,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1583,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1584,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1588,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1589,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1590,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1594,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1595,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1596,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1598,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1600,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test2.c:1600,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1601,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1602,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1603,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1604,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1605,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1606,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1607,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1557
    functionDepth: 4
    functionLinenumber: 1557
    functionLinenumberEnd: 1612
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_LIB_CTX_free
    - OSSL_NELEM
    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:1616,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1614
    functionDepth: 4
    functionLinenumber: 1614
    functionLinenumberEnd: 1618
    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
    - OSSL_LIB_CTX_free
    - OPENSSL_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
    - TEST_ptr
    - tear_down
    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_true
    - TEST_int_ge
    - BN_free
    - BN_bn2nativepad
    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
    - TEST_true
    - OSSL_PARAM_locate_const
    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:179,1
    - Dst: RSA_new
      Src: /src/openssl/test/keymgmt_internal_test.c:179,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_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:186,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:187,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:188,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/keymgmt_internal_test.c:188,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_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:193,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:194,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:195,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/keymgmt_internal_test.c:195,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_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:202,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:203,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:204,1
    - Dst: RSA_set0_crt_params
      Src: /src/openssl/test/keymgmt_internal_test.c:204,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_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:212,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:213,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:214,1
    - Dst: RSA_set0_multi_prime_params
      Src: /src/openssl/test/keymgmt_internal_test.c:214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:218,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/keymgmt_internal_test.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:219,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/keymgmt_internal_test.c:219,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
      Src: /src/openssl/test/keymgmt_internal_test.c:224,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:224,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:225,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:225,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/keymgmt_internal_test.c:226,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/keymgmt_internal_test.c:233,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:238,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:240,1
    - Dst: evp_keymgmt_export
      Src: /src/openssl/test/keymgmt_internal_test.c:240,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/keymgmt_internal_test.c:250,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/keymgmt_internal_test.c:251,1
    - Dst: TEST_info
      Src: /src/openssl/test/keymgmt_internal_test.c:254,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/keymgmt_internal_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:264,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/keymgmt_internal_test.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/keymgmt_internal_test.c:267,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/keymgmt_internal_test.c:267,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/keymgmt_internal_test.c:268,1
    - Dst: RSA_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: BN_free
      Src: /src/openssl/test/keymgmt_internal_test.c:277,1
    - Dst: BN_free
      Src: /src/openssl/test/keymgmt_internal_test.c:278,1
    - Dst: EVP_PKEY_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
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:281,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:282,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 62
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 142
    functionDepth: 10
    functionLinenumber: 142
    functionLinenumberEnd: 285
    functionName: test_pass_rsa
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - TEST_uint64_t_eq
    - TEST_true
    - EVP_KEYMGMT_fetch
    - TEST_ptr_null
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - RSA_free
    - EVP_KEYMGMT_free
    - TEST_int_eq
    - RSA_new
    - RSA_set0_crt_params
    - RSA_set0_multi_prime_params
    - RSA_set0_key
    - EVP_PKEY_free
    - evp_keymgmt_export
    - BN_new
    - TEST_ptr_ne
    - EVP_PKEY_assign_RSA
    - RSA_set0_factors
    - EVP_PKEY_dup
    - evp_pkey_export_to_provider
    - BN_free
    - OSSL_NELEM
    - TEST_info
    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:293,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/keymgmt_internal_test.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    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:310,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/keymgmt_internal_test.c:310,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:311,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/keymgmt_internal_test.c:311,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/keymgmt_internal_test.c:314,1
    - Dst: TEST_error
      Src: /src/openssl/test/keymgmt_internal_test.c:315,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/keymgmt_internal_test.c:316,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/keymgmt_internal_test.c:320,1
    - Dst: TEST_error
      Src: /src/openssl/test/keymgmt_internal_test.c:321,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/keymgmt_internal_test.c:323,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/keymgmt_internal_test.c:327,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/keymgmt_internal_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:331,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:335,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:335,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:341,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:341,1
    - Dst: BIO_free
      Src: /src/openssl/test/keymgmt_internal_test.c:348,1
    - Dst: X509_free
      Src: /src/openssl/test/keymgmt_internal_test.c:349,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:350,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/keymgmt_internal_test.c:351,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/keymgmt_internal_test.c:352,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 298
    functionDepth: 10
    functionLinenumber: 298
    functionLinenumberEnd: 354
    functionName: test_evp_pkey_export_to_provider
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_get_X509_PUBKEY
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - X509_free
    - BIO_free
    - OSSL_LIB_CTX_free
    - TEST_error
    - EVP_KEYMGMT_free
    - evp_pkey_export_to_provider
    - EVP_KEYMGMT_fetch
    - X509_PUBKEY_get0
    - BIO_new_file
    - PEM_read_bio_X509
    - OSSL_PROVIDER_unload
    - TEST_openssl_errors
    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:358,1
    - Dst: test_get_argument
      Src: /src/openssl/test/keymgmt_internal_test.c:358,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/keymgmt_internal_test.c:361,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/keymgmt_internal_test.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_ptr
    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
    - ASN1_STRING_TABLE_cleanup
    - TEST_true
    - ASN1_STRING_TABLE_add
    - TEST_ptr_null
    - ASN1_STRING_TABLE_get
    - TEST_info
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:135,1
    - Dst: d2i_ASN1_BIT_STRING
      Src: /src/openssl/test/asn1_string_test.c:135,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:136,1
    - Dst: ASN1_BIT_STRING_get_length
      Src: /src/openssl/test/asn1_string_test.c:140,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_string_test.c:141,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:142,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/asn1_string_test.c:149,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_string_test.c:150,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:151,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_string_test.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - struct abs_get_length_test*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: abs_get_length_test
    functionSourceFile: /src/openssl/test/asn1_string_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ASN1_STRING_free
    - d2i_ASN1_BIT_STRING
    - TEST_int_eq
    - TEST_size_t_eq
    - TEST_info
    - ASN1_BIT_STRING_get_length
    linkageType: ''
    returnType: int
    signature: int abs_get_length_test(const struct abs_get_length_test *tbl, int
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs_get_length_test
      Src: /src/openssl/test/asn1_string_test.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: asn1_bit_string_get_length_test
    functionSourceFile: /src/openssl/test/asn1_string_test.c
    functionUses: 0
    functionsReached:
    - abs_get_length_test
    linkageType: ''
    returnType: int
    signature: int asn1_bit_string_get_length_test(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:347,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/test/asn1_string_test.c:347,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:348,1
    - Dst: ASN1_BIT_STRING_set1
      Src: /src/openssl/test/asn1_string_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_string_test.c:353,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:354,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_string_test.c:363,1
    - Dst: i2d_ASN1_BIT_STRING
      Src: /src/openssl/test/asn1_string_test.c:363,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:364,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:371,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_test.c:372,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/asn1_string_test.c:380,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/asn1_string_test.c:381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - struct abs_set1_test*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 384
    functionName: abs_set1_test
    functionSourceFile: /src/openssl/test/asn1_string_test.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_free
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_clear_free
    - TEST_int_eq
    - i2d_ASN1_BIT_STRING
    - ASN1_BIT_STRING_set1
    - ASN1_BIT_STRING_new
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int abs_set1_test(const struct abs_set1_test *tbl, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs_set1_test
      Src: /src/openssl/test/asn1_string_test.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: asn1_bit_string_set1_test
    functionSourceFile: /src/openssl/test/asn1_string_test.c
    functionUses: 0
    functionsReached:
    - abs_set1_test
    linkageType: ''
    returnType: int
    signature: int asn1_bit_string_set1_test(int idx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:401,1
    - Dst: ASN1_STRING_new_not_owned
      Src: /src/openssl/test/asn1_string_test.c:401,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/test/asn1_string_test.c:404,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:410,1
    - Dst: ASN1_STRING_new_not_owned
      Src: /src/openssl/test/asn1_string_test.c:410,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_string_test.c:413,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/asn1_string_test.c:413,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:413,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_string_test.c:419,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/asn1_string_test.c:419,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:419,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:422,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/asn1_string_test.c:422,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:422,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:422,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/test/asn1_string_test.c:425,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:428,1
    - Dst: ASN1_STRING_new_not_owned
      Src: /src/openssl/test/asn1_string_test.c:428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:431,1
    - Dst: strdup
      Src: /src/openssl/test/asn1_string_test.c:431,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/test/asn1_string_test.c:434,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:436,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_string_test.c:439,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/asn1_string_test.c:439,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:442,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/asn1_string_test.c:442,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:442,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:442,1
    - Dst: memset
      Src: /src/openssl/test/asn1_string_test.c:445,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/asn1_string_test.c:445,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/asn1_string_test.c:445,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:447,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:450,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:450,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_string_test.c:450,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/test/asn1_string_test.c:453,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:457,1
    - Dst: ASN1_STRING_new_not_owned
      Src: /src/openssl/test/asn1_string_test.c:457,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:460,1
    - Dst: ASN1_STRING_new_not_owned
      Src: /src/openssl/test/asn1_string_test.c:460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_test.c:463,1
    - Dst: ASN1_STRING_new_not_owned
      Src: /src/openssl/test/asn1_string_test.c:463,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asn1_string_test.c:466,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/test/asn1_string_test.c:472,1
    - Dst: free
      Src: /src/openssl/test/asn1_string_test.c:473,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 476
    functionName: asn1_string_new_not_owned_test
    functionSourceFile: /src/openssl/test/asn1_string_test.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - TEST_ptr
    - TEST_mem_eq
    - ASN1_STRING_set0
    - ASN1_STRING_new_not_owned
    - ASN1_STRING_clear_free
    - TEST_true
    - strdup
    - ASN1_STRING_length
    - TEST_int_eq
    - memset
    - ASN1_STRING_get0_data
    - strlen
    - free
    linkageType: ''
    returnType: int
    signature: int asn1_string_new_not_owned_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_string_test.c:480,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_string_test.c:480,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_string_test.c:481,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_string_test.c:481,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_string_test.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_string_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:31,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/v3ext.c:31,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:32,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/v3ext.c:32,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:33,1
    - Dst: X509_get_pathlen
      Src: /src/openssl/test/v3ext.c:33,1
    - Dst: BIO_free
      Src: /src/openssl/test/v3ext.c:39,1
    - Dst: X509_free
      Src: /src/openssl/test/v3ext.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: test_pathlen
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_free
    - BIO_free
    - TEST_int_eq
    - X509_get_pathlen
    - BIO_new_file
    - 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:48,1
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:48,1
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:49,1
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:54,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:57,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:58,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:61,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/test/v3ext.c:61,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:65,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:66,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:66,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:69,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/test/v3ext.c:69,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_ptr
      Src: /src/openssl/test/v3ext.c:75,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:76,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:83,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/test/v3ext.c:83,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_true
      Src: /src/openssl/test/v3ext.c:96,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:97,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:97,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: TEST_false
      Src: /src/openssl/test/v3ext.c:107,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:107,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:108,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:108,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/v3ext.c:113,1
    - Dst: ASN1_INTEGER_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
    - Dst: ASIdentifiers_free
      Src: /src/openssl/test/v3ext.c:117,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/test/v3ext.c:118,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 120
    functionName: test_asid
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - TEST_false
    - TEST_ptr
    - X509v3_asid_add_id_or_range
    - ASN1_INTEGER_free
    - ASN1_INTEGER_set_int64
    - TEST_true
    - ASIdentifiers_free
    - X509v3_asid_subset
    - ASIdentifiers_new
    linkageType: ''
    returnType: int
    signature: int test_asid(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:153,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/test/v3ext.c:153,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/test/v3ext.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:157,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:163,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/test/v3ext.c:163,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/test/v3ext.c:166,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:167,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - addr
    - type
    argTypes:
    - IPAddrBlocks*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: check_addr
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressOrRange_value
    - TEST_ptr
    - sk_IPAddressOrRange_num
    - sk_IPAddressFamily_num
    - TEST_int_eq
    - sk_IPAddressFamily_value
    linkageType: ''
    returnType: int
    signature: int check_addr(IPAddrBlocks *addr, int type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3ext.c:183,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:184,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:191,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/test/v3ext.c:191,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:197,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:200,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:204,1
    - Dst: memcmp
      Src: /src/openssl/test/v3ext.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:207,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/test/v3ext.c:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:210,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/test/v3ext.c:210,1
    - Dst: check_addr
      Src: /src/openssl/test/v3ext.c:213,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:216,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:218,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:219,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:225,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:226,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:227,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 176
    functionDepth: 5
    functionLinenumber: 176
    functionLinenumberEnd: 229
    functionName: test_addr_ranges
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - check_addr
    - X509v3_addr_canonize
    - X509v3_addr_add_range
    - TEST_ptr
    - ASN1_OCTET_STRING_free
    - TEST_true
    - X509v3_addr_is_canonical
    - TEST_int_eq
    - OSSL_NELEM
    - sk_IPAddressFamily_new_null
    - sk_IPAddressFamily_pop_free
    - memcmp
    - 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:242,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:243,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:246,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:248,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:251,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/test/v3ext.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:253,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/test/v3ext.c:253,1
    - Dst: IPAddressFamily_new
      Src: /src/openssl/test/v3ext.c:264,1
    - Dst: IPAddressChoice_new
      Src: /src/openssl/test/v3ext.c:266,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:292,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/v3ext.c:294,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/v3ext.c:296,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/openssl/test/v3ext.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:308,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/test/v3ext.c:308,1
    - Dst: IPAddressFamily_free
      Src: /src/openssl/test/v3ext.c:314,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:315,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:317,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:318,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 320
    functionName: test_addr_fam_len
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressFamily_pop
    - X509v3_addr_add_range
    - TEST_false
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - X509v3_addr_canonize
    - IPAddressFamily_free
    - IPAddressFamily_new
    - ASN1_OCTET_STRING_new
    - sk_IPAddressFamily_push
    - ASN1_OCTET_STRING_free
    - TEST_true
    - X509v3_addr_is_canonical
    - sk_IPAddressFamily_new_null
    - IPAddressChoice_new
    - sk_IPAddressFamily_pop_free
    - a2i_IPADDRESS
    linkageType: ''
    returnType: int
    signature: int test_addr_fam_len(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3ext.c:374,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/v3ext.c:376,1
    - Dst: strlen
      Src: /src/openssl/test/v3ext.c:377,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:381,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/test/v3ext.c:384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:385,1
    - Dst: BIO_free
      Src: /src/openssl/test/v3ext.c:386,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/v3ext.c:389,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/v3ext.c:389,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/test/v3ext.c:392,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/test/v3ext.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:396,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/test/v3ext.c:396,1
    - Dst: TEST_info
      Src: /src/openssl/test/v3ext.c:398,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/v3ext.c:402,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:403,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/test/v3ext.c:403,1
    - Dst: TEST_info
      Src: /src/openssl/test/v3ext.c:406,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/v3ext.c:407,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/v3ext.c:409,1
    - Dst: BIO_free
      Src: /src/openssl/test/v3ext.c:413,1
    - Dst: NCONF_free
      Src: /src/openssl/test/v3ext.c:414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 418
    functionName: test_ext_syntax
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - TEST_long_gt
    - NCONF_new_ex
    - TEST_ptr
    - NCONF_load_bio
    - TEST_false
    - ERR_clear_last_mark
    - BIO_free
    - X509V3_EXT_add_nconf
    - TEST_true
    - BIO_new_mem_buf
    - OSSL_NELEM
    - X509V3_set_nconf
    - NCONF_free
    - strlen
    - TEST_info
    - ERR_set_mark
    - 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:428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:432,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:432,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:433,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:433,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:434,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:434,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:435,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/test/v3ext.c:435,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:440,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:440,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:441,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:441,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:442,1
    - Dst: X509v3_addr_subset
      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_false
      Src: /src/openssl/test/v3ext.c:448,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:448,1
    - Dst: TEST_false
      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: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:453,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:455,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:456,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:457,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 460
    functionName: test_addr_subset
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - X509v3_addr_add_range
    - TEST_false
    - TEST_ptr
    - ASN1_OCTET_STRING_free
    - X509v3_addr_subset
    - TEST_true
    - OSSL_NELEM
    - sk_IPAddressFamily_new_null
    - sk_IPAddressFamily_pop_free
    - 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:468,1
    - Dst: TEST_error
      Src: /src/openssl/test/v3ext.c:469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:473,1
    - Dst: test_get_argument
      Src: /src/openssl/test/v3ext.c:473,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:476,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:478,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:479,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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/p_ossltest.c:71,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/test/p_ossltest.c:71,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/test/p_ossltest.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: ossltest_teardown
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_prov_ctx_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void ossltest_teardown(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: ossltest_gettable_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossltest_gettable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:113,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/p_ossltest.c:114,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:116,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/p_ossltest.c:117,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:119,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/p_ossltest.c:120,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:122,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/p_ossltest.c:123,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/test/p_ossltest.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: ossltest_get_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ossltest_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: fill_known_data
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_known_data(unsigned char *md, unsigned int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: ossltest_dgst_init
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossltest_dgst_init(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: ossltest_dgst_update
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossltest_dgst_update(void *ctx, const void *data,\n    size_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/openssl/test/p_ossltest.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: ossltest_MD5_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: int ossltest_MD5_final(unsigned char *md, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/openssl/test/p_ossltest.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: ossltest_SHA1_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: int ossltest_SHA1_final(unsigned char *md, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/openssl/test/p_ossltest.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: ossltest_SHA256_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: int ossltest_SHA256_final(unsigned char *md, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/openssl/test/p_ossltest.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: ossltest_SHA384_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: int ossltest_SHA384_final(unsigned char *md, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_known_data
      Src: /src/openssl/test/p_ossltest.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ossltest_SHA512_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    linkageType: ''
    returnType: int
    signature: int ossltest_SHA512_final(unsigned char *md, void *ctx)
  - 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: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: ALG
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(NAMES, FUNC)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/test/p_ossltest.c:323,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/test/p_ossltest.c:326,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/p_ossltest.c:329,1
    - Dst: sub_ctx::sub_ctx
      Src: /src/openssl/test/p_ossltest.c:330,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/test/p_ossltest.c:333,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/p_ossltest.c:335,1
    - Dst: libctx::libctx
      Src: /src/openssl/test/p_ossltest.c:335,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/p_ossltest.c:339,1
    - Dst: sub_ctx::sub_ctx
      Src: /src/openssl/test/p_ossltest.c:339,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/p_ossltest.c:341,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/p_ossltest.c:348,1
    - Dst: sub_ctx::sub_ctx
      Src: /src/openssl/test/p_ossltest.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 351
    functionName: ossl_testaes128_cbc_newctx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - sub_ctx::sub_ctx
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit_ex2
    - libctx::libctx
    - OPENSSL_zalloc::OPENSSL_zalloc
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - PROV_LIBCTX_OF
    - EVP_CIPHER_CTX_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ossl_testaes128_cbc_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/p_ossltest.c:364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: ossl_test_aes128cbc_freectx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_test_aes128cbc_freectx(void *vprovctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/p_ossltest.c:380,1
    - Dst: EVP_CIPHER_CTX_dup
      Src: /src/openssl/test/p_ossltest.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 390
    functionName: ossl_test_aes128cbc_dupctx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - EVP_CIPHER_CTX_dup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *ossl_test_aes128cbc_dupctx(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/p_ossltest.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 5
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: ossl_test_aes128cbc_einit
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbc_einit(void *vprovctx, const unsigned char
      *key,\n    size_t keylen, const unsigned char *iv,\n    size_t ivlen, const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/p_ossltest.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 5
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: ossl_test_aes128cbc_dinit
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbc_dinit(void *vprovctx, const unsigned char
      *key,\n    size_t keylen, const unsigned char *iv,\n    size_t ivlen, const
      OSSL_PARAM params[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/test/p_ossltest.c:461,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/p_ossltest.c:483,1
    - Dst: memcpy
      Src: /src/openssl/test/p_ossltest.c:487,1
    - Dst: EVP_Cipher
      Src: /src/openssl/test/p_ossltest.c:489,1
    - Dst: memcpy
      Src: /src/openssl/test/p_ossltest.c:497,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/test/p_ossltest.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:531,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 533
    functionName: ossl_test_aes128cbc_update
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_CIPHER_CTX_is_encrypting
    - OPENSSL_free
    - memcpy
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbc_update(void *vprovctx, char *out, size_t *outl,\n
      \   size_t outsize, const unsigned char *in,\n    size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/p_ossltest.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: ossl_test_aes128cbc_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CipherFinal_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbc_final(void *vprovctx, unsigned char *out,
      size_t *outl,\n    size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Cipher
      Src: /src/openssl/test/p_ossltest.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 3
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: ossl_test_aes128cbc_cipher
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbc_cipher(void *vprovctx, unsigned char *out,
      size_t *outl,\n    size_t outsize, const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/test/p_ossltest.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: ossl_test_aes128cbc_get_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128cbc_get_params(OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/p_ossltest.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprovctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: ossl_test_aes128cbc_get_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128cbc_get_ctx_params(void *vprovctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprovctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: ossl_test_aes128cbc_set_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128cbc_set_ctx_params(void *vprovctx, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_gettable_params
      Src: /src/openssl/test/p_ossltest.c:639,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/test/p_ossltest.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: ossl_test_aes128cbc_gettable_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_gettable_params
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128cbc_gettable_params(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_gettable_ctx_params
      Src: /src/openssl/test/p_ossltest.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - vprovctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: ossl_test_aes128cbc_gettable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128cbc_gettable_ctx_params(void *cctx, void
      *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_settable_params
      Src: /src/openssl/test/p_ossltest.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - vprovctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: ossl_test_aes128cbc_settable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_settable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128cbc_settable_ctx_params(void *cctx, void
      *vprovctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/test/p_ossltest.c:713,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/test/p_ossltest.c:716,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/p_ossltest.c:720,1
    - Dst: sub_ctx::sub_ctx
      Src: /src/openssl/test/p_ossltest.c:721,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/test/p_ossltest.c:724,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/p_ossltest.c:726,1
    - Dst: libctx::libctx
      Src: /src/openssl/test/p_ossltest.c:726,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/p_ossltest.c:730,1
    - Dst: sub_ctx::sub_ctx
      Src: /src/openssl/test/p_ossltest.c:730,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/p_ossltest.c:731,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/p_ossltest.c:738,1
    - Dst: sub_ctx::sub_ctx
      Src: /src/openssl/test/p_ossltest.c:738,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 707
    functionDepth: 6
    functionLinenumber: 707
    functionLinenumberEnd: 741
    functionName: ossl_testaes128_gcm_newctx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - sub_ctx::sub_ctx
    - EVP_CIPHER_CTX_new
    - libctx::libctx
    - EVP_EncryptInit_ex2
    - OPENSSL_zalloc::OPENSSL_zalloc
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - PROV_LIBCTX_OF
    - EVP_CIPHER_CTX_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ossl_testaes128_gcm_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/p_ossltest.c:754,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: ossl_test_aes128gcm_freectx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_test_aes128gcm_freectx(void *vprovctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/p_ossltest.c:770,1
    - Dst: EVP_CIPHER_CTX_dup
      Src: /src/openssl/test/p_ossltest.c:773,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 780
    functionName: ossl_test_aes128gcm_dupctx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - EVP_CIPHER_CTX_dup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *ossl_test_aes128gcm_dupctx(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/p_ossltest.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 794
    functionDepth: 6
    functionLinenumber: 794
    functionLinenumberEnd: 801
    functionName: ossl_test_aes128gcm_einit
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128gcm_einit(void *vprovctx, const unsigned char
      *key,\n    size_t keylen, const unsigned char *iv,\n    size_t ivlen, const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/test/p_ossltest.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 815
    functionDepth: 6
    functionLinenumber: 815
    functionLinenumberEnd: 822
    functionName: ossl_test_aes128gcm_dinit
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptInit_ex2
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128gcm_dinit(void *vprovctx, const unsigned char
      *key,\n    size_t keylen, const unsigned char *iv,\n    size_t ivlen, const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/p_ossltest.c:844,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/test/p_ossltest.c:846,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/p_ossltest.c:847,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/p_ossltest.c:850,1
    - Dst: memcpy
      Src: /src/openssl/test/p_ossltest.c:859,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 863
    functionName: ossl_test_aes128gcm_update
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_is_encrypting
    - OPENSSL_free
    - memcpy
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128gcm_update(void *vprovctx, 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: 4
    argCount: 4
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: ossl_test_aes128gcm_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128gcm_final(void *vprovctx, unsigned char *out,
      size_t *outl,\n    size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Cipher
      Src: /src/openssl/test/p_ossltest.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 903
    functionName: ossl_test_aes128gcm_cipher
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128gcm_cipher(void *vprovctx, unsigned char *out,
      size_t *outl,\n    size_t outsize, const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/test/p_ossltest.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: ossl_test_aes128gcm_get_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128gcm_get_params(OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:935,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/test/p_ossltest.c:937,1
    - Dst: memset
      Src: /src/openssl/test/p_ossltest.c:938,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/p_ossltest.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - vprovctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 945
    functionName: ossl_test_aes128gcm_get_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_octet_string_ptr
    - memset
    - EVP_CIPHER_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128gcm_get_ctx_params(void *vprovctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/p_ossltest.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprovctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 6
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: ossl_test_aes128gcm_set_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128gcm_set_ctx_params(void *vprovctx, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_gettable_params
      Src: /src/openssl/test/p_ossltest.c:973,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/test/p_ossltest.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 974
    functionName: ossl_test_aes128gcm_gettable_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_gettable_params
    - EVP_CIPHER_CTX_get0_cipher
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128gcm_gettable_params(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_gettable_ctx_params
      Src: /src/openssl/test/p_ossltest.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - vprovctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: ossl_test_aes128gcm_gettable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128gcm_gettable_ctx_params(void *cctx, void
      *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_settable_params
      Src: /src/openssl/test/p_ossltest.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - vprovctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1002
    functionName: ossl_test_aes128gcm_settable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_settable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128gcm_settable_ctx_params(void *cctx, void
      *vprovctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/test/p_ossltest.c:1050,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/test/p_ossltest.c:1053,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/test/p_ossltest.c:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1061
    functionName: ossl_testaes128cbchmacsha1_newctx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc::OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ossl_testaes128cbchmacsha1_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1076
    functionName: ossl_test_aes128cbchmacsha1_freectx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_test_aes128cbchmacsha1_freectx(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/p_ossltest.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    functionName: ossl_test_aes128cbchmacsha1_dupctx
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *ossl_test_aes128cbchmacsha1_dupctx(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - vprovctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1113
    functionName: ossl_test_aes128cbchmacsha1_einit
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbchmacsha1_einit(void *vprovctx, 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: 4
    argCount: 6
    argNames:
    - vprovctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: ossl_test_aes128cbchmacsha1_dinit
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbchmacsha1_dinit(void *vprovctx, const unsigned
      char *key,\n    size_t keylen, const unsigned char *iv,\n    size_t ivlen, const
      OSSL_PARAM params[])"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/test/p_ossltest.c:1166,1
    - Dst: fill_known_data
      Src: /src/openssl/test/p_ossltest.c:1170,1
    - Dst: memmove
      Src: /src/openssl/test/p_ossltest.c:1179,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1217
    functionName: ossl_test_aes128cbchmacsha1_update
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    - memmove
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbchmacsha1_update(void *vprovctx, 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: 2
    argCount: 4
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1237
    functionName: ossl_test_aes128cbchmacsha1_final
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbchmacsha1_final(void *vprovctx, unsigned char
      *out, size_t *outl,\n    size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vprovctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1256
    functionName: ossl_test_aes128cbchmacsha1_cipher
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_test_aes128cbchmacsha1_cipher(void *vprovctx,\n    unsigned
      char *out, size_t *outl,\n    size_t outsize, const unsigned char *in, size_t
      inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/test/p_ossltest.c:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1274
    functionName: ossl_test_aes128cbchmacsha1_get_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128cbchmacsha1_get_params(OSSL_PARAM params[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1293,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1298,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1302,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1304,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1308,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1310,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1314,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1316,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1321,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/p_ossltest.c:1322,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1323,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1326,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/p_ossltest.c:1327,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1328,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1331,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/p_ossltest.c:1332,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1333,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1336,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1338,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1341,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - vprovctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1284
    functionDepth: 6
    functionLinenumber: 1284
    functionLinenumberEnd: 1348
    functionName: ossl_test_aes128cbchmacsha1_get_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128cbchmacsha1_get_ctx_params(void *vprovctx, OSSL_PARAM
      params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1366,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/test/p_ossltest.c:1368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - vprovctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1358
    functionDepth: 3
    functionLinenumber: 1358
    functionLinenumberEnd: 1390
    functionName: ossl_test_aes128cbchmacsha1_set_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_octet_string_ptr
    linkageType: ''
    returnType: int
    signature: int ossl_test_aes128cbchmacsha1_set_ctx_params(void *vprovctx, const
      OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vprovctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1402
    functionName: ossl_test_aes128cbchmacsha1_gettable_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128cbchmacsha1_gettable_params(void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_gettable_ctx_params
      Src: /src/openssl/test/p_ossltest.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - vprovctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1415
    functionName: ossl_test_aes128cbchmacsha1_gettable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128cbchmacsha1_gettable_ctx_params(void *cctx,
      void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - vprovctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1428
    functionName: ossl_test_aes128cbchmacsha1_settable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_test_aes128cbchmacsha1_settable_ctx_params(void *cctx,
      void *vprovctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/p_ossltest.c:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1479
    functionName: drbg_ctr_new_wrapper
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: "void *drbg_ctr_new_wrapper(void *provctx, void *parent,\n    const
      OSSL_DISPATCH *parent_dispatch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/p_ossltest.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1491
    functionName: drbg_ctr_free
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void drbg_ctr_free(void *vdrbg)
  - 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: 1512
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1512
    functionName: drbg_ctr_instantiate_wrapper
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_instantiate_wrapper(void *vdrbg, unsigned int strength,\n
      \   int prediction_resistance,\n    const unsigned char *pstr,\n    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: 1524
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1524
    functionName: drbg_ctr_uninstantiate_wrapper
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_uninstantiate_wrapper(void *vdrbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - vdrbg
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1553
    functionName: drbg_ctr_generate_wrapper
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_generate_wrapper(void *vdrbg, unsigned char *out,\n    size_t
      outlen, unsigned int strength,\n    int prediction_resistance,\n    const unsigned
      char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vdrbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1572
    functionName: drbg_ctr_reseed_wrapper
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_reseed_wrapper(void *vdrbg, int prediction_resistance,\n
      \   const unsigned char *ent, size_t ent_len,\n    const unsigned char *adin,
      size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1584
    functionName: ossl_drbg_enable_locking
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_drbg_enable_locking(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: ossl_drbg_lock
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_drbg_lock(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: ossl_drbg_unlock
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_drbg_unlock(void *vctx)
  - 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: 1622
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1622
    functionName: drbg_ctr_settable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_ctr_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: 1635
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1635
    functionName: drbg_ctr_set_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_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: 1649
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1649
    functionName: drbg_ctr_gettable_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_ctr_gettable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/p_ossltest.c:1661,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/p_ossltest.c:1663,1
    - Dst: ERR_raise
      Src: /src/openssl/test/p_ossltest.c:1664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1659
    functionDepth: 6
    functionLinenumber: 1659
    functionLinenumberEnd: 1669
    functionName: drbg_ctr_get_ctx_params
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_get_ctx_params(void *vdrbg, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1681
    functionName: drbg_ctr_verify_zeroization
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_verify_zeroization(void *vdrbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    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: 1709
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1709
    functionName: ossl_drbg_get_seed
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdrbg
    - out
    - outlen
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1724
    functionName: ossl_drbg_clear_seed
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_drbg_clear_seed(ossl_unused void *vdrbg,\n    unsigned char
      *out, size_t outlen)"
  - 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: 1778
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1778
    functionName: ossltest_query
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *ossltest_query(void *provctx, int operation_id,\n
      \   int *no_cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/test/p_ossltest.c:1805,1
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/openssl/test/p_ossltest.c:1806,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/p_ossltest.c:1807,1
    - Dst: ossltest_teardown
      Src: /src/openssl/test/p_ossltest.c:1808,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/test/p_ossltest.c:1813,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/test/p_ossltest.c:1814,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: 1819
      start: 1798
    functionDepth: 6
    functionLinenumber: 1798
    functionLinenumberEnd: 1819
    functionName: OSSL_provider_init
    functionSourceFile: /src/openssl/test/p_ossltest.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_set0_handle
    - OSSL_LIB_CTX_free
    - ossltest_teardown
    - OSSL_LIB_CTX_new_child
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_ctx_new
    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: 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:85,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/openssl/test/bio_tfo_test.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:87,1
    - Dst: BIO_set_nbio_accept
      Src: /src/openssl/test/bio_tfo_test.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:88,1
    - Dst: BIO_set_tfo_accept
      Src: /src/openssl/test/bio_tfo_test.c:88,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_tfo_test.c:89,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:90,1
    - Dst: BIO_get_accept_port
      Src: /src/openssl/test/bio_tfo_test.c:90,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:98,1
    - Dst: BIO_new_connect
      Src: /src/openssl/test/bio_tfo_test.c:98,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:100,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/openssl/test/bio_tfo_test.c:100,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:102,1
    - Dst: BIO_set_conn_port
      Src: /src/openssl/test/bio_tfo_test.c:102,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:103,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/bio_tfo_test.c:103,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:104,1
    - Dst: BIO_set_tfo
      Src: /src/openssl/test/bio_tfo_test.c:104,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:105,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:110,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/bio_tfo_test.c:111,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:113,1
    - Dst: BIO_pop
      Src: /src/openssl/test/bio_tfo_test.c:117,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:118,1
    - Dst: BIO_do_connect
      Src: /src/openssl/test/bio_tfo_test.c:123,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:129,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:135,1
    - Dst: BIO_wait
      Src: /src/openssl/test/bio_tfo_test.c:135,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:135,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:136,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:137,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:142,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/bio_tfo_test.c:143,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:150,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:156,1
    - Dst: BIO_pop
      Src: /src/openssl/test/bio_tfo_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:162,1
    - Dst: BIO_write_ex
      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: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:168,1
    - Dst: BIO_wait
      Src: /src/openssl/test/bio_tfo_test.c:168,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:168,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:170,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:175,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:176,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:180,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:181,1
    - Dst: BIO_pop
      Src: /src/openssl/test/bio_tfo_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:182,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_tfo_test.c:182,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_tfo_test.c:183,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/bio_tfo_test.c:184,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:185,1
    - Dst: strerror
      Src: /src/openssl/test/bio_tfo_test.c:195,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:198,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_tfo_test.c:200,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_tfo_test.c:201,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_tfo_test.c:202,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 115
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 204
    functionName: test_bio_tfo
    functionSourceFile: /src/openssl/test/bio_tfo_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_accept_port
    - TEST_ptr
    - BIO_do_connect
    - strerror
    - TEST_true
    - BIO_read_ex
    - BIO_set_conn_ip_family
    - BIO_should_retry
    - TEST_strn_eq
    - TEST_int_gt
    - get_last_socket_error
    - BIO_do_accept
    - BIO_set_tfo
    - BIO_new_accept
    - BIO_new_connect
    - BIO_free
    - BIO_set_tfo_accept
    - BIO_write_ex
    - TEST_long_gt
    - BIO_printf
    - BIO_set_nbio_accept
    - BIO_set_nbio
    - BIO_pop
    - BIO_set_accept_ip_family
    - BIO_set_conn_port
    - BIO_wait
    - TEST_int_ge
    - TEST_size_t_eq
    - time
    linkageType: ''
    returnType: int
    signature: int test_bio_tfo(int idx)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_tfo_test.c:244,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_tfo_test.c:251,1
    - Dst: getaddrinfo
      Src: /src/openssl/test/bio_tfo_test.c:251,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:259,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:266,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:274,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_tfo_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:275,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_tfo_test.c:275,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:280,1
    - Dst: BIO_socket
      Src: /src/openssl/test/bio_tfo_test.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:281,1
    - Dst: BIO_listen
      Src: /src/openssl/test/bio_tfo_test.c:281,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:286,1
    - Dst: getsockname
      Src: /src/openssl/test/bio_tfo_test.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:306,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_tfo_test.c:306,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:310,1
    - Dst: BIO_socket
      Src: /src/openssl/test/bio_tfo_test.c:310,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/bio_tfo_test.c:314,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:316,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:319,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:323,1
    - Dst: BIO_connect
      Src: /src/openssl/test/bio_tfo_test.c:328,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:329,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:331,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:336,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:343,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/test/bio_tfo_test.c:343,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:343,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:345,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/bio_tfo_test.c:350,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:355,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:362,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:364,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:366,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:372,1
    - Dst: sendto
      Src: /src/openssl/test/bio_tfo_test.c:372,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:375,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:379,1
    - Dst: writesocket
      Src: /src/openssl/test/bio_tfo_test.c:379,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:380,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:386,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/test/bio_tfo_test.c:386,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:386,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:387,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:388,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/bio_tfo_test.c:393,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:395,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:396,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:399,1
    - Dst: readsocket
      Src: /src/openssl/test/bio_tfo_test.c:400,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_tfo_test.c:401,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/bio_tfo_test.c:402,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:403,1
    - Dst: strerror
      Src: /src/openssl/test/bio_tfo_test.c:413,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:416,1
    - Dst: freeaddrinfo
      Src: /src/openssl/test/bio_tfo_test.c:419,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_tfo_test.c:420,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_tfo_test.c:421,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_tfo_test.c:422,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_tfo_test.c:423,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 172
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 425
    functionName: test_fd_tfo
    functionSourceFile: /src/openssl/test/bio_tfo_test.c
    functionUses: 0
    functionsReached:
    - freeaddrinfo
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - strerror
    - BIO_accept_ex
    - BIO_ADDR_new
    - TEST_true
    - BIO_connect
    - TEST_strn_eq
    - getsockname
    - sendto
    - get_last_socket_error
    - writesocket
    - TEST_int_eq
    - BIO_listen
    - BIO_closesocket
    - memset
    - BIO_printf
    - readsocket
    - getaddrinfo
    - BIO_socket_wait
    - BIO_socket
    - TEST_int_ge
    - time
    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:431,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_tfo_test.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 435
    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
    - TEST_ptr
    - EVP_CIPHER_CTX_get_block_size
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_get_iv_length
    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:
    - getname
    - TEST_ptr
    - DSA_set0_pqg
    - TEST_true
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_eq
    - DSA_new
    - TEST_int_gt
    - TEST_note
    - TEST_int_eq
    - EVP_PKEY_keygen
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_free
    - DSA_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_dup
    - BN_free
    - BN_dup
    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:
    - getname
    - TEST_ptr
    - TEST_true
    - DH_free
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_eq
    - TEST_int_gt
    - TEST_note
    - TEST_int_eq
    - EVP_PKEY_keygen
    - DH_new
    - EVP_PKEY_free
    - EVP_PKEY_assign_DH
    - EVP_PKEY_CTX_free
    - DH_set0_pqg
    - EVP_PKEY_keygen_init
    - EVP_PKEY_dup
    - BN_free
    - BN_dup
    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:
    - TEST_ptr
    - d2i_X509_bio
    - X509_free
    - BIO_free
    - BIO_new_mem_buf
    - X509_new_ex
    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:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:380,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:380,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_libctx_test.c:383,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:384,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:384,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:388,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:391,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_libctx_test.c:397,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:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:403,1
    - Dst: EVP_EncryptInit_ex
      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_EncryptUpdate
      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_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:405,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:406,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:409,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:410,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:410,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_libctx_test.c:416,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_eq
      Src: /src/openssl/test/evp_libctx_test.c:421,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:422,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:428,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:429,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 348
    functionDepth: 9
    functionLinenumber: 348
    functionLinenumberEnd: 431
    functionName: test_cipher_reinit
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - TEST_note
    - sk_OPENSSL_STRING_value
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - TEST_mem_ne
    - EVP_CIPHER_free
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - EVP_CIPHER_is_a
    - EVP_EncryptUpdate
    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:471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:473,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:473,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_libctx_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:477,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:477,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/evp_libctx_test.c:480,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:481,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_libctx_test.c:487,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:490,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:491,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:492,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:497,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:498,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:498,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: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_libctx_test.c:503,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:504,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:507,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:508,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:509,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:509,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_libctx_test.c:512,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:513,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:518,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:519,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 41
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 439
    functionDepth: 6
    functionLinenumber: 439
    functionLinenumberEnd: 521
    functionName: test_cipher_reinit_partialupdate
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CIPHER_get_block_size
    - EVP_CIPHER_get_flags
    - TEST_true
    - TEST_int_gt
    - TEST_note
    - sk_OPENSSL_STRING_value
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_free
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - EVP_EncryptUpdate
    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:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 526
    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:530,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_libctx_test.c:531,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_libctx_test.c:535,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_libctx_test.c:536,1
    - Dst: assert
      Src: /src/openssl/test/evp_libctx_test.c:538,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_libctx_test.c:540,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/evp_libctx_test.c:541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_libctx_test.c:542,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: 537
        line_start: 537
        source_file: /src/openssl/test/evp_libctx_test.c
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 10
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: collect_cipher_names
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - strncmp
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - EVP_CIPHER_get0_name
    - OSSL_PROVIDER_available
    - OPENSSL_free
    - assert
    - STACK_OF
    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:553,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_libctx_test.c:553,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:554,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_libctx_test.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:558,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/evp_libctx_test.c:558,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:561,1
    - Dst: d2i_PublicKey
      Src: /src/openssl/test/evp_libctx_test.c:561,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:565,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_libctx_test.c:566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - bits
    - pub
    - priv
    argTypes:
    - int
    - EVP_PKEY**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 545
    functionDepth: 11
    functionLinenumber: 545
    functionLinenumberEnd: 568
    functionName: rsa_keygen
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 2
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - d2i_PublicKey
    - TEST_true
    - EVP_PKEY_Q_keygen
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_data
    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:588,1
    - Dst: rsa_keygen
      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_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:590,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:591,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:591,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:592,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_libctx_test.c:592,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:594,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:594,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:595,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:595,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_libctx_test.c:598,1
    - Dst: TEST_size_t_eq
      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_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:600,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:603,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:603,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:604,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:604,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:605,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:605,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:607,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:607,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:608,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:608,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:611,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:611,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:614,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/evp_libctx_test.c:617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:619,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:619,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:624,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:624,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:630,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:631,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:632,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:633,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:634,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 570
    functionDepth: 12
    functionLinenumber: 570
    functionLinenumberEnd: 636
    functionName: kem_rsa_gen_recover
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_match
    - TEST_ptr
    - TEST_mem_eq
    - rsa_keygen
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_true
    - EVP_PKEY_CTX_dup
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_set_kem_op
    - TEST_size_t_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    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:652,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_libctx_test.c:653,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:654,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:654,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:655,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_libctx_test.c:655,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:656,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:656,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_libctx_test.c:657,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_libctx_test.c:657,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:658,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:658,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:659,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_libctx_test.c:659,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:661,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/test/evp_libctx_test.c:661,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:663,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:664,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 643
    functionDepth: 5
    functionLinenumber: 643
    functionLinenumberEnd: 667
    functionName: test_cipher_tdes_randkey
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_new
    - TEST_ptr
    - EVP_CipherInit_ex2
    - EVP_CIPHER_get_flags
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_rand_key
    - EVP_CIPHER_CTX_free
    - TEST_int_ne
    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:684,1
    - Dst: rsa_keygen
      Src: /src/openssl/test/evp_libctx_test.c:684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:685,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:686,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:686,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:688,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:688,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:690,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:690,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:691,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:691,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:692,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:692,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:693,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:693,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:695,1
    - Dst: EVP_PKEY_encapsulate
      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_decapsulate
      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_decapsulate_init
      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_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:700,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/evp_libctx_test.c:703,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:705,1
    - Dst: EVP_PKEY_encapsulate_init
      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_true
      Src: /src/openssl/test/evp_libctx_test.c:706,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:706,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_CTX_set_kem_op
      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_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:709,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:710,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:710,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:711,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:711,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:713,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      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:715,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:715,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:719,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:719,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:721,1
    - Dst: EVP_PKEY_encapsulate
      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_encapsulate
      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_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:723,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:724,1
    - Dst: EVP_PKEY_encapsulate
      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_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:726,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:728,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:728,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:730,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:730,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:731,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:731,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:732,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:732,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:733,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:733,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_libctx_test.c:734,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:736,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:736,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:737,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:738,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:738,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:739,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:739,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:741,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:742,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:743,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:744,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 670
    functionDepth: 12
    functionLinenumber: 670
    functionLinenumberEnd: 746
    functionName: kem_rsa_params
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - rsa_keygen
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_true
    - TEST_uchar_eq
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_set_kem_op
    - TEST_size_t_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    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:755,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_libctx_test.c:756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:758,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_libctx_test.c:758,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:759,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_libctx_test.c:759,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:760,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_libctx_test.c:760,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:761,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_libctx_test.c:761,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 766
    functionName: gen_dh_key
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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:775,1
    - Dst: gen_dh_key
      Src: /src/openssl/test/evp_libctx_test.c:775,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:778,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:778,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:780,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:780,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:785,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 769
    functionDepth: 12
    functionLinenumber: 769
    functionLinenumberEnd: 788
    functionName: kem_invalid_keytype
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - gen_dh_key
    - EVP_PKEY_encapsulate_init
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: int kem_invalid_keytype(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/evp_libctx_test.c:797,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_libctx_test.c:800,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_libctx_test.c:803,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_libctx_test.c:813,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:816,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_libctx_test.c:818,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/evp_libctx_test.c:821,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/evp_libctx_test.c:824,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:825,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:828,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:832,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/openssl/test/evp_libctx_test.c:832,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/openssl/test/evp_libctx_test.c:834,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:836,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_libctx_test.c:836,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:837,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_libctx_test.c:838,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:839,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:840,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:842,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:845,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 848
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - strcmp
    - opt_arg
    - opt_next
    - sk_OPENSSL_STRING_new
    - fips_provider_version_lt
    - EVP_CIPHER_do_all_provided
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_libctx_test.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 854
    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:858,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_libctx_test.c:859,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:860,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_libctx_test.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 4
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - sk_OPENSSL_STRING_pop_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: 3
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: opt_printf_stderr
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 0
    functionsReached:
    - BIO_vprintf
    - va_end
    - 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_read_ex
    - BIO_eof
    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_new
    - OPENSSL_free
    - BIO_f_prefix
    - BIO_free_all
    - BIO_up_ref
    - BIO_push
    - OPENSSL_calloc
    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: 53
    functionsReached:
    - BIO_free_all
    - OPENSSL_free
    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:161,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_prefix_text.c:164,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:173,1
    - Dst: setup_bio_chain
      Src: /src/openssl/test/bio_prefix_text.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:178,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:185,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_prefix_text.c:188,1
    - Dst: strchr
      Src: /src/openssl/test/bio_prefix_text.c:189,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:192,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:194,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:203,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:205,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:211,1
    - Dst: BIO_set_indent
      Src: /src/openssl/test/bio_prefix_text.c:215,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:216,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:223,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_prefix_text.c:226,1
    - Dst: strchr
      Src: /src/openssl/test/bio_prefix_text.c:227,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:232,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:242,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/bio_prefix_text.c:246,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:247,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 258
    functionName: setup
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 70
    functionsReached:
    - strchr
    - BIO_set_indent
    - strtoul
    - BIO_printf
    - BIO_new
    - BIO_new_fp
    - BIO_set_prefix
    - OPENSSL_assert
    - opt_arg
    - opt_next
    - BIO_push
    - setup_bio_chain
    - BIO_f_linebuffer
    - opt_getprog
    linkageType: ''
    returnType: int
    signature: int setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/test/bio_prefix_text.c:264,1
    - Dst: setup
      Src: /src/openssl/test/bio_prefix_text.c:265,1
    - Dst: run_pipe
      Src: /src/openssl/test/bio_prefix_text.c:265,1
    - Dst: cleanup
      Src: /src/openssl/test/bio_prefix_text.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 7
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 4
    functionsReached:
    - opt_init
    - setup
    - run_pipe
    - cleanup
    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: 13
    functionLinenumber: 129
    functionLinenumberEnd: 172
    functionName: pkcs7_verify_test
    functionSourceFile: /src/openssl/test/pkcs7_test.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - TEST_ptr
    - d2i_X509_bio
    - SMIME_read_PKCS7
    - X509_free
    - TEST_true
    - BIO_new
    - TEST_int_eq
    - X509_STORE_free
    - PKCS7_free
    - BIO_s_mem
    - BIO_free
    - PKCS7_verify
    - X509_STORE_add_cert
    - BIO_new_mem_buf
    - X509_STORE_new
    - OSSL_NELEM
    - ERR_peek_error
    - strlen
    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: 13
    functionLinenumber: 221
    functionLinenumberEnd: 387
    functionName: pkcs7_inner_content_verify_test
    functionSourceFile: /src/openssl/test/pkcs7_test.c
    functionUses: 0
    functionsReached:
    - d2i_X509_bio
    - TEST_ptr
    - d2i_PKCS7_bio
    - X509_STORE_free
    - X509_free
    - X509_STORE_get0_param
    - X509_VERIFY_PARAM_set_purpose
    - X509_STORE_add_cert
    - TEST_true
    - BIO_new_mem_buf
    - PKCS7_free
    - BIO_free
    - X509_STORE_set1_param
    - TEST_int_eq
    - X509_STORE_new
    - ERR_peek_error
    - PKCS7_verify
    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:39,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_readbuffer_test.c:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_readbuffer_test.c:45,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_readbuffer_test.c:45,1
    - Dst: BIO_f_readbuffer
      Src: /src/openssl/test/bio_readbuffer_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_readbuffer_test.c:46,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/bio_readbuffer_test.c:46,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_readbuffer_test.c:49,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:52,1
    - Dst: BIO_tell
      Src: /src/openssl/test/bio_readbuffer_test.c:52,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:57,1
    - Dst: BIO_gets
      Src: /src/openssl/test/bio_readbuffer_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_readbuffer_test.c:60,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:60,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_readbuffer_test.c:63,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bio_readbuffer_test.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_readbuffer_test.c:66,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_readbuffer_test.c:71,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:78,1
    - Dst: BIO_seek
      Src: /src/openssl/test/bio_readbuffer_test.c:78,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:83,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_readbuffer_test.c:83,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:85,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:90,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_readbuffer_test.c:94,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_readbuffer_test.c:95,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_readbuffer_test.c:96,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 60
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 98
    functionName: test_readbuffer_file_bio
    functionSourceFile: /src/openssl/test/bio_readbuffer_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - BIO_seek
    - BIO_read_ex
    - BIO_new_file
    - BIO_new
    - TEST_size_t_lt
    - TEST_int_le
    - BIO_f_readbuffer
    - TEST_int_gt
    - TEST_int_eq
    - BIO_gets
    - BIO_free
    - BIO_push
    - BIO_eof
    - BIO_tell
    - BIO_free_all
    - TEST_size_t_eq
    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:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    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:120,1
    - Dst: test_get_argument
      Src: /src/openssl/test/bio_readbuffer_test.c:128,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_readbuffer_test.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_readbuffer_test.c
    functionUses: 0
    functionsReached:
    - test_get_argument
    - ADD_ALL_TESTS
    - 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: 6
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 14
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - sk_X509_free
    - ossl_cmp_mock_srv_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/test/cmp_client_test.c:56,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/cmp_client_test.c:64,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_client_test.c:67,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/cmp_client_test.c:68,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/test/cmp_client_test.c:69,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/cmp_client_test.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - trusted
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: set_simple_trust
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_flags
    - X509_STORE_get0_param
    - X509_STORE_add_cert
    - X509_STORE_new
    - OSSL_CMP_CTX_set0_trusted
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: int set_simple_trust(OSSL_CMP_CTX *ctx, X509 *trusted)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:84,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_client_test.c:84,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:87,1
    - Dst: ossl_cmp_mock_srv_new
      Src: /src/openssl/test/cmp_client_test.c:87,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/openssl/test/cmp_client_test.c:88,1
    - Dst: ossl_cmp_mock_srv_set1_refCert
      Src: /src/openssl/test/cmp_client_test.c:89,1
    - Dst: ossl_cmp_mock_srv_set1_certOut
      Src: /src/openssl/test/cmp_client_test.c:90,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/test/cmp_client_test.c:91,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/test/cmp_client_test.c:92,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_client_test.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:95,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_client_test.c:95,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_client_test.c:96,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/openssl/test/cmp_client_test.c:98,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:99,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:100,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_client_test.c:101,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_client_test.c:102,1
    - Dst: set_simple_trust
      Src: /src/openssl/test/cmp_client_test.c:104,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_client_test.c:105,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:111,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 16
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 12
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_set1_oldCert
    - set_simple_trust
    - TEST_ptr
    - OSSL_CMP_CTX_set1_referenceValue
    - ossl_cmp_mock_srv_set1_refCert
    - OSSL_CMP_CTX_new
    - tear_down
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_CTX_set1_pkey
    - ossl_cmp_mock_srv_set1_certOut
    - OSSL_CMP_CTX_set_transfer_cb
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - ossl_cmp_mock_srv_new
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_set_log_cb
    - OSSL_CMP_CTX_set1_cert
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    linkageType: ''
    returnType: CMP_SES_TEST_FIXTURE
    signature: CMP_SES_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:117,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/test/cmp_client_test.c:119,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_client_test.c:121,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/test/cmp_client_test.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 8
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: print_errors_PKIStatusInfo
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_log1
    - OSSL_CMP_CTX_snprint_PKIStatus
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_CTX_get_status
    linkageType: ''
    returnType: void
    signature: void print_errors_PKIStatusInfo(OSSL_CMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:128,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:128,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:130,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/openssl/test/cmp_client_test.c:130,1
    - Dst: print_errors_PKIStatusInfo
      Src: /src/openssl/test/cmp_client_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:134,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fixt
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 23
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: execute_exec_RR_ses_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_exec_RR_ses
    - TEST_int_eq
    - print_errors_PKIStatusInfo
    - OSSL_CMP_CTX_get_status
    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:140,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/test/cmp_client_test.c:141,1
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_client_test.c:142,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/test/cmp_client_test.c:144,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/test/cmp_client_test.c:145,1
    - Dst: print_errors_PKIStatusInfo
      Src: /src/openssl/test/cmp_client_test.c:146,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/test/cmp_client_test.c:148,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:149,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:151,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_client_test.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: execute_exec_GENM_ses_test_single
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - print_errors_PKIStatusInfo
    - OSSL_CMP_exec_GENM_ses
    - TEST_int_eq
    - OBJ_txt2obj
    - TEST_ptr_null
    - STACK_OF
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_create
    - sk_OSSL_CMP_ITAV_pop_free
    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:157,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/openssl/test/cmp_client_test.c:158,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/test/cmp_client_test.c:159,1
    - Dst: execute_exec_GENM_ses_test_single
      Src: /src/openssl/test/cmp_client_test.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 10
    functionLinenumber: 155
    functionLinenumberEnd: 161
    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_info
    - 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:166,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:167,1
    - Dst: print_errors_PKIStatusInfo
      Src: /src/openssl/test/cmp_client_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:170,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_client_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:175,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:175,1
    - Dst: X509_cmp
      Src: /src/openssl/test/cmp_client_test.c:175,1
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_client_test.c:178,1
    - Dst: OSSL_CMP_CTX_get1_caPubs
      Src: /src/openssl/test/cmp_client_test.c:178,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:179,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_client_test.c:179,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_client_test.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 25
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: execute_exec_certrequest_ses_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - print_errors_PKIStatusInfo
    - OSSL_CMP_exec_certreq
    - STACK_OF_X509_cmp
    - OSSL_STACK_OF_X509_free
    - X509_cmp
    - OSSL_CMP_CTX_get1_caPubs
    - TEST_int_eq
    - TEST_ptr_null
    - OSSL_CMP_CTX_get_status
    - STACK_OF
    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:189,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_client_test.c:191,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: test_exec_RR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set1_oldCert
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    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:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 206
    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:210,1
    - Dst: ossl_cmp_mock_srv_set_statusInfo
      Src: /src/openssl/test/cmp_client_test.c:211,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/openssl/test/cmp_client_test.c:215,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    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
    - SETUP_TEST_FIXTURE
    - ossl_cmp_mock_srv_set_sendError
    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:223,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_client_test.c:226,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_client_test.c:227,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_client_test.c:228,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:229,1
    - Dst: ossl_cmp_mock_srv_set1_caPubsOut
      Src: /src/openssl/test/cmp_client_test.c:232,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: test_exec_IR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_mock_srv_set1_caPubsOut
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - sk_X509_push
    - EXECUTE_TEST
    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:241,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/test/cmp_client_test.c:244,1
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/openssl/test/cmp_client_test.c:245,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:246,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:250,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:252,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: 255
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: test_exec_REQ_ses_poll
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set_option
    - ossl_cmp_mock_srv_set_pollCount
    - ossl_cmp_mock_srv_set_checkAfterTime
    - EXECUTE_TEST
    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:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 262
    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:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    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:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 277
    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:281,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:283,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/openssl/test/cmp_client_test.c:285,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/openssl/test/cmp_client_test.c:286,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - implicit_confirm
    - granted
    - reject
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 292
    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:296,1
    - Dst: test_exec_CR_ses
      Src: /src/openssl/test/cmp_client_test.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 298
    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:302,1
    - Dst: test_exec_CR_ses
      Src: /src/openssl/test/cmp_client_test.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 304
    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:310,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:315,1
    - Dst: ossl_cmp_mock_srv_set_useBadProtection
      Src: /src/openssl/test/cmp_client_test.c:316,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/cmp_client_test.c:321,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/test/cmp_client_test.c:324,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/openssl/test/cmp_client_test.c:325,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:328,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - transfer_error
    - server_use_bad_protection
    - pubkey
    - raverified
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 335
    functionName: test_exec_KUR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set0_newPkey
    - EVP_PKEY_up_ref
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - ossl_cmp_mock_srv_set_useBadProtection
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: "int test_exec_KUR_ses(int transfer_error, int server_use_bad_protection,\n
      \   int pubkey, int raverified)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 6
    functionLinenumber: 342
    functionLinenumberEnd: 345
    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:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 6
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: test_exec_KUR_bad_pkiConf_protection
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_bad_pkiConf_protection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 6
    functionLinenumber: 352
    functionLinenumberEnd: 359
    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:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 6
    functionLinenumber: 361
    functionLinenumberEnd: 364
    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:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 369
    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:374,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: 381
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 381
    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:388,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:393,1
    - Dst: load_csr_der
      Src: /src/openssl/test/cmp_client_test.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_client_test.c:394,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/test/cmp_client_test.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_client_test.c:395,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb
      Src: /src/openssl/test/cmp_client_test.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_client_test.c:396,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:396,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:397,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/cmp_client_test.c:400,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 403
    functionName: test_exec_P10CR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - load_csr_der
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set_certConf_cb
    - OSSL_CMP_CTX_set1_p10CSR
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set_certConf_cb_arg
    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:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 408
    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:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 413
    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:422,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/test/cmp_client_test.c:423,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:424,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:424,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:426,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:426,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:427,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:427,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:429,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:430,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:431,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:432,1
    - Dst: X509_cmp
      Src: /src/openssl/test/cmp_client_test.c:433,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 25
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: execute_try_certreq_poll_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_newCert
    - X509_cmp
    - OSSL_CMP_try_certreq
    - TEST_int_eq
    - ossl_cmp_mock_srv_set_pollCount
    - ossl_cmp_mock_srv_set_checkAfterTime
    - TEST_ptr_eq
    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:438,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    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:451,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/test/cmp_client_test.c:452,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:453,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:453,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:455,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:455,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:456,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:457,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:458,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 25
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: execute_try_certreq_poll_abort_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_newCert
    - OSSL_CMP_try_certreq
    - TEST_int_eq
    - ossl_cmp_mock_srv_set_pollCount
    - ossl_cmp_mock_srv_set_checkAfterTime
    - TEST_ptr_eq
    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:463,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 467
    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:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 473
    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:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 480
    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:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 487
    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:491,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:493,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - transfer_error
    - total_timeout
    - expect
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 502
    functionName: test_exec_GENM_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - EXECUTE_TEST
    - 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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 512
    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:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 517
    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:521,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 23
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: execute_exchange_certConf_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_exchange_certConf
    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:530,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 23
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: execute_exchange_error_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_exchange_error
    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:540,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_client_test.c:542,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_client_test.c:542,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:543,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 548
    functionName: test_exchange_certConf
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    - X509_dup
    - 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:552,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 556
    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:560,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_client_test.c:561,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_client_test.c:562,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_client_test.c:563,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_client_test.c:564,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_client_test.c:565,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_client_test.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 568
    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:575,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_client_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:580,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:580,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:581,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:581,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:582,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:582,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:583,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:583,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:584,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:584,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_client_test.c:585,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_client_test.c:589,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:592,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_client_test.c:592,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:593,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_client_test.c:593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:594,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_client_test.c:594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:595,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_client_test.c:595,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:596,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/cmp_client_test.c:596,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/cmp_client_test.c:597,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:601,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:602,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:603,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:604,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:605,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:606,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:607,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:608,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:609,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:610,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:611,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:612,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:613,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:614,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:615,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:616,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:617,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:618,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:619,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:620,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:621,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:622,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:623,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:624,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:625,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:626,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:627,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 629
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - TEST_ptr
    - test_get_argument
    - load_cert_pem
    - ADD_TEST
    - TEST_error
    - TEST_int_eq
    - RAND_bytes_ex
    - test_arg_libctx
    - load_pkey_pem
    - test_skip_common_options
    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:45,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/test/ec_internal_test.c:45,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:47,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/test/ec_internal_test.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:48,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/test/ec_internal_test.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:49,1
    - Dst: BN_is_one
      Src: /src/openssl/test/ec_internal_test.c:49,1
    - Dst: BN_zero
      Src: /src/openssl/test/ec_internal_test.c:53,1
    - Dst: TEST_false
      Src: /src/openssl/test/ec_internal_test.c:54,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/test/ec_internal_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:55,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/ec_internal_test.c:55,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:56,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ec_internal_test.c:56,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:56,1
    - Dst: TEST_false
      Src: /src/openssl/test/ec_internal_test.c:58,1
    - Dst: EC_GROUP*::meth::field_inv
      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_LIB
      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_true
      Src: /src/openssl/test/ec_internal_test.c:60,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ec_internal_test.c:60,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:60,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/ec_internal_test.c:63,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:66,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 19
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 26
    functionDepth: 7
    functionLinenumber: 26
    functionLinenumberEnd: 68
    functionName: group_field_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - EC_GROUP*::meth::field_inv
    - EC_GROUP*::meth::field_decode
    - BN_rand
    - ERR_clear_error
    - BN_CTX_start
    - ERR_peek_last_error
    - BN_zero
    - BN_CTX_get
    - ERR_GET_LIB
    - BN_CTX_end
    - TEST_false
    - BN_is_one
    - EC_GROUP*::meth::field_encode
    - BN_num_bits
    - EC_GROUP*::meth::field_mul
    - BN_value_one
    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:79,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:79,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:82,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:83,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:84,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:85,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:85,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:86,1
    - Dst: EC_GROUP_new
      Src: /src/openssl/test/ec_internal_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:87,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ec_internal_test.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:88,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ec_internal_test.c:88,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:89,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ec_internal_test.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:90,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ec_internal_test.c:90,1
    - Dst: group_field_tests
      Src: /src/openssl/test/ec_internal_test.c:91,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:96,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:97,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:99,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - meth
    - params
    - len
    argTypes:
    - EC_METHOD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: field_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 1
    functionsReached:
    - BN_CTX_end
    - BN_bin2bn
    - BN_CTX_start
    - TEST_ptr
    - EC_GROUP_set_curve
    - BN_CTX_new
    - TEST_true
    - BN_CTX_get
    - BN_CTX_free
    - group_field_tests
    - EC_GROUP_new
    - EC_GROUP_free
    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:140,1
    - Dst: field_tests
      Src: /src/openssl/test/ec_internal_test.c:141,1
    - Dst: EC_GFp_simple_method
      Src: /src/openssl/test/ec_internal_test.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 9
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: field_tests_ecp_simple
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_GFp_simple_method
    - TEST_info
    - field_tests
    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:148,1
    - Dst: field_tests
      Src: /src/openssl/test/ec_internal_test.c:149,1
    - Dst: EC_GFp_mont_method
      Src: /src/openssl/test/ec_internal_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 9
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: field_tests_ecp_mont
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - EC_GFp_mont_method
    - field_tests
    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:158,1
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:162,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:164,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:165,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:166,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:167,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:168,1
    - Dst: BN_one
      Src: /src/openssl/test/ec_internal_test.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:169,1
    - Dst: BN_one
      Src: /src/openssl/test/ec_internal_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:173,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ec_internal_test.c:173,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:175,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ec_internal_test.c:175,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:179,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ec_internal_test.c:179,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:181,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ec_internal_test.c:181,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:185,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ec_internal_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:186,1
    - Dst: BN_set_bit
      Src: /src/openssl/test/ec_internal_test.c:186,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:188,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ec_internal_test.c:188,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:189,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:195,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:196,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:197,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:198,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:199,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 202
    functionName: ec2m_field_sanity
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_word
    - TEST_ptr
    - BN_set_bit
    - BN_CTX_new
    - TEST_true
    - BN_CTX_get
    - TEST_error
    - BN_CTX_free
    - TEST_ptr_null
    - TEST_info
    - EC_GROUP_new_curve_GF2m
    - BN_one
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int ec2m_field_sanity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:207,1
    - Dst: field_tests
      Src: /src/openssl/test/ec_internal_test.c:208,1
    - Dst: EC_GF2m_simple_method
      Src: /src/openssl/test/ec_internal_test.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 9
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: field_tests_ec2_simple
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - EC_GF2m_simple_method
    - field_tests
    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:221,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ec_internal_test.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:223,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:224,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:224,1
    - Dst: group_field_tests
      Src: /src/openssl/test/ec_internal_test.c:225,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:231,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 8
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: field_tests_default
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - TEST_ptr
    - BN_CTX_new
    - BN_CTX_free
    - group_field_tests
    - EC_GROUP_new_by_curve_name
    - TEST_info
    - EC_GROUP_free
    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:255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:256,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:259,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:260,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:261,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:262,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:263,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:264,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:266,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:269,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ec_internal_test.c:270,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ec_internal_test.c:271,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ec_internal_test.c:272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:273,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:276,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:276,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:277,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:277,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:278,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:278,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:279,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:280,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/test/ec_internal_test.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:282,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ec_internal_test.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:283,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ec_internal_test.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:284,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ec_internal_test.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:285,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ec_internal_test.c:285,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:288,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ec_internal_test.c:288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:289,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ec_internal_test.c:289,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:295,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ec_internal_test.c:296,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ec_internal_test.c:297,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ec_internal_test.c:298,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:299,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:300,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 242
    functionDepth: 8
    functionLinenumber: 242
    functionLinenumberEnd: 303
    functionName: underflow_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - BN_hex2bn
    - EC_POINT_get_affine_coordinates
    - BN_CTX_start
    - BN_CTX_get
    - TEST_int_gt
    - TEST_int_eq
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_dbl
    - BN_cmp
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - EC_POINT_mul
    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:314,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:317,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:318,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ec_internal_test.c:318,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:319,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ec_internal_test.c:319,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:323,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/ec_internal_test.c:323,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:327,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/ec_internal_test.c:327,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:328,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ec_internal_test.c:334,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ec_internal_test.c:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 337
    functionName: set_private_key
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 2
    functionsReached:
    - EC_KEY_generate_key
    - TEST_ptr
    - EC_KEY_set_private_key
    - TEST_int_eq
    - TEST_ptr_null
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    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:355,1
    - Dst: EC_GFp_simple_method
      Src: /src/openssl/test/ec_internal_test.c:355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:356,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:357,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:359,1
    - Dst: EC_GROUP_new_by_curve_name
      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: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:368,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ec_internal_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:369,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ec_internal_test.c:369,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:370,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:372,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:374,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:378,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:379,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:380,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:380,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:381,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:382,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/ec_internal_test.c:382,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:384,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/test/ec_internal_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:385,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ec_internal_test.c:385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:387,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/test/ec_internal_test.c:387,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:389,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:391,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:395,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:395,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:396,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:397,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:397,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:398,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ec_internal_test.c:402,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:406,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:407,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:408,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:408,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:409,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:410,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:412,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:416,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:418,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:419,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:419,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:421,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ec_internal_test.c:421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:423,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/test/ec_internal_test.c:423,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ec_internal_test.c:429,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:430,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:431,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:432,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ec_internal_test.c:434,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 342
    functionDepth: 9
    functionLinenumber: 342
    functionLinenumberEnd: 437
    functionName: decoded_flag_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EC_GROUP_get_ecpkparameters
    - ECPARAMETERS_free
    - EC_KEY_decoded_from_explicit_params
    - d2i_ECPKParameters
    - EC_GFp_simple_method
    - EC_KEY_free
    - ECPKPARAMETERS_free
    - EC_KEY_new
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_get_ecparameters
    - OPENSSL_free
    - TEST_int_gt
    - TEST_int_eq
    - EC_GROUP_new
    - EC_KEY_set_group
    - EC_GROUP_new_from_ecparameters
    - i2d_ECPKParameters
    - EC_GROUP_get_asn1_flag
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    - EC_GROUP_new_from_ecpkparameters
    linkageType: ''
    returnType: int
    signature: int decoded_flag_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:447,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:451,1
    - Dst: fopen
      Src: /src/openssl/test/ec_internal_test.c:451,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:452,1
    - Dst: i2d_ECPKParameters_fp
      Src: /src/openssl/test/ec_internal_test.c:452,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:456,1
    - Dst: fclose
      Src: /src/openssl/test/ec_internal_test.c:456,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:463,1
    - Dst: fopen
      Src: /src/openssl/test/ec_internal_test.c:463,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:464,1
    - Dst: d2i_ECPKParameters_fp
      Src: /src/openssl/test/ec_internal_test.c:464,1
    - Dst: fclose
      Src: /src/openssl/test/ec_internal_test.c:471,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:473,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 439
    functionDepth: 8
    functionLinenumber: 439
    functionLinenumberEnd: 477
    functionName: ecpkparams_i2d2i_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - i2d_ECPKParameters_fp
    - TEST_ptr
    - fopen
    - TEST_true
    - d2i_ECPKParameters_fp
    - TEST_int_eq
    - EC_GROUP_new_by_curve_name
    - fclose
    - EC_GROUP_free
    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:482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:486,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:489,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/ec_internal_test.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:492,1
    - Dst: ossl_bn_mont_ctx_eq
      Src: /src/openssl/test/ec_internal_test.c:492,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:498,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: 500
      start: 479
    functionDepth: 7
    functionLinenumber: 479
    functionLinenumberEnd: 500
    functionName: check_bn_mont_ctx
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_set
    - TEST_ptr
    - BN_MONT_CTX_new
    - TEST_true
    - ossl_bn_mont_ctx_eq
    - BN_MONT_CTX_free
    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:507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:510,1
    - Dst: check_bn_mont_ctx
      Src: /src/openssl/test/ec_internal_test.c:510,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:511,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:515,1
    - Dst: check_bn_mont_ctx
      Src: /src/openssl/test/ec_internal_test.c:515,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 502
    functionDepth: 8
    functionLinenumber: 502
    functionLinenumberEnd: 522
    functionName: montgomery_correctness_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BN_CTX_new
    - TEST_true
    - check_bn_mont_ctx
    - TEST_error
    - BN_CTX_free
    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:529,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:530,1
    - Dst: montgomery_correctness_test
      Src: /src/openssl/test/ec_internal_test.c:530,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 9
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: named_group_creation_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - montgomery_correctness_test
    - TEST_ptr
    - TEST_true
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    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:542,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:543,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/ec_internal_test.c:543,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:544,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ec_internal_test.c:544,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:547,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:548,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:550,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:551,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ec_internal_test.c:553,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:555,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:558,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ec_internal_test.c:559,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 563
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EC_get_builtin_curves
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_true
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ec_internal_test.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: ech_test_cb
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ech_test_cb(SSL *s, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:47,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/openssl/test/ech_test.c:48,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:49,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:51,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/openssl/test/ech_test.c:54,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/ech_test.c:58,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/ech_test.c:59,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/ech_test.c:60,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/ech_test.c:62,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/ech_test.c:63,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/test/ech_test.c:64,1
    - Dst: PACKET_strndup
      Src: /src/openssl/test/ech_test.c:65,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:69,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - ssl
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: ch_test_cb
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSL_client_hello_get0_ext
    - PACKET_buf_init
    - OPENSSL_free
    - PACKET_strndup
    - PACKET_as_length_prefixed_2
    - PACKET_contains_zero_byte
    - PACKET_get_1
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int ch_test_cb(SSL *ssl, int *al, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/ech_test.c:119,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ech_test.c:122,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_test.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    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: 141
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 141
    functionName: new_add_cb
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    - OPENSSL_memdup
    - 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/ech_test.c:146,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: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: new_free_cb
    functionSourceFile: /src/openssl/test/ech_test.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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/ech_test.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: new_parse_cb
    functionSourceFile: /src/openssl/test/ech_test.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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 883
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:904,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:904,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:905,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:906,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:906,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:907,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:910,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:913,1
    - Dst: time
      Src: /src/openssl/test/ech_test.c:916,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:918,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:918,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:922,1
    - Dst: OSSL_ECHSTORE_read_echconfiglist
      Src: /src/openssl/test/ech_test.c:922,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:929,1
    - Dst: OSSL_ECHSTORE_num_keys
      Src: /src/openssl/test/ech_test.c:929,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:930,1
    - Dst: OSSL_ECHSTORE_num_entries
      Src: /src/openssl/test/ech_test.c:930,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:931,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:932,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:933,1
    - Dst: OSSL_ECHSTORE_get1_info
      Src: /src/openssl/test/ech_test.c:933,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:937,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:939,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:942,1
    - Dst: OSSL_ECHSTORE_get1_info
      Src: /src/openssl/test/ech_test.c:942,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:945,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:947,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:951,1
    - Dst: OSSL_ECHSTORE_downselect
      Src: /src/openssl/test/ech_test.c:951,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:952,1
    - Dst: OSSL_ECHSTORE_downselect
      Src: /src/openssl/test/ech_test.c:952,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:953,1
    - Dst: OSSL_ECHSTORE_num_keys
      Src: /src/openssl/test/ech_test.c:953,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:954,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:955,1
    - Dst: OSSL_ECHSTORE_num_entries
      Src: /src/openssl/test/ech_test.c:955,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:956,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:957,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/test/ech_test.c:957,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:958,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/test/ech_test.c:958,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:959,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/test/ech_test.c:959,1
    - Dst: time
      Src: /src/openssl/test/ech_test.c:961,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:970,1
    - Dst: OSSL_ECHSTORE_flush_keys
      Src: /src/openssl/test/ech_test.c:970,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:971,1
    - Dst: OSSL_ECHSTORE_num_keys
      Src: /src/openssl/test/ech_test.c:971,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:972,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:973,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:974,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:975,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:981,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:982,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:983,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:984,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:985,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 57
    argCount: 1
    argNames:
    - run
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 895
    functionDepth: 5
    functionLinenumber: 895
    functionLinenumberEnd: 987
    functionName: ech_ingest_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_downselect
    - TEST_true
    - OSSL_ECHSTORE_num_keys
    - BIO_new
    - OPENSSL_free
    - BIO_write
    - TEST_int_eq
    - BIO_s_mem
    - TEST_false
    - OSSL_ECHSTORE_num_entries
    - OSSL_ECHSTORE_flush_keys
    - OSSL_ECHSTORE_free
    - OSSL_ECHSTORE_read_pem
    - OSSL_ECHSTORE_get1_info
    - OSSL_ECHSTORE_read_echconfiglist
    - OSSL_ECHSTORE_write_pem
    - BIO_free_all
    - OSSL_ECHSTORE_new
    - TEST_info
    - time
    linkageType: ''
    returnType: int
    signature: int ech_ingest_test(int run)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:993,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:995,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:995,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ech_test.c:996,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1000,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1001,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1001,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1003,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1003,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1005,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1005,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1009,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1009,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1011,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/test/ech_test.c:1011,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1012,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/test/ech_test.c:1012,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1013,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/test/ech_test.c:1013,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1014,1
    - Dst: OSSL_ECHSTORE_read_echconfiglist
      Src: /src/openssl/test/ech_test.c:1014,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1015,1
    - Dst: OSSL_ECHSTORE_read_echconfiglist
      Src: /src/openssl/test/ech_test.c:1015,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1016,1
    - Dst: OSSL_ECHSTORE_get1_info
      Src: /src/openssl/test/ech_test.c:1016,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1018,1
    - Dst: OSSL_ECHSTORE_downselect
      Src: /src/openssl/test/ech_test.c:1018,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1019,1
    - Dst: OSSL_ECHSTORE_downselect
      Src: /src/openssl/test/ech_test.c:1019,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1020,1
    - Dst: OSSL_ECHSTORE_set1_key_and_read_pem
      Src: /src/openssl/test/ech_test.c:1020,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1022,1
    - Dst: OSSL_ECHSTORE_set1_key_and_read_pem
      Src: /src/openssl/test/ech_test.c:1022,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1023,1
    - Dst: OSSL_ECHSTORE_set1_key_and_read_pem
      Src: /src/openssl/test/ech_test.c:1023,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1024,1
    - Dst: OSSL_ECHSTORE_set1_key_and_read_pem
      Src: /src/openssl/test/ech_test.c:1024,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1027,1
    - Dst: OSSL_ECHSTORE_set1_key_and_read_pem
      Src: /src/openssl/test/ech_test.c:1027,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1029,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1029,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1030,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1030,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1031,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1031,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1032,1
    - Dst: OSSL_ECHSTORE_num_keys
      Src: /src/openssl/test/ech_test.c:1032,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1033,1
    - Dst: OSSL_ECHSTORE_num_keys
      Src: /src/openssl/test/ech_test.c:1033,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1034,1
    - Dst: OSSL_ECHSTORE_flush_keys
      Src: /src/openssl/test/ech_test.c:1034,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1035,1
    - Dst: OSSL_ECHSTORE_flush_keys
      Src: /src/openssl/test/ech_test.c:1035,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1036,1
    - Dst: OSSL_ECHSTORE_num_entries
      Src: /src/openssl/test/ech_test.c:1036,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1040,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1041,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ech_test.c:1042,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 990
    functionDepth: 5
    functionLinenumber: 990
    functionLinenumberEnd: 1044
    functionName: ech_store_null_calls
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_free
    - OSSL_ECHSTORE_num_keys
    - TEST_false
    - OSSL_ECHSTORE_read_pem
    - BIO_new
    - OSSL_ECHSTORE_write_pem
    - OSSL_ECHSTORE_read_echconfiglist
    - OSSL_ECHSTORE_get1_info
    - OSSL_ECHSTORE_downselect
    - OSSL_ECHSTORE_num_entries
    - BIO_free_all
    - OSSL_ECHSTORE_new_config
    - OSSL_ECHSTORE_set1_key_and_read_pem
    - EVP_PKEY_free
    - OSSL_ECHSTORE_new
    - OSSL_ECHSTORE_flush_keys
    - EVP_PKEY_new
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int ech_store_null_calls(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:1056,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1059,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1059,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ech_test.c:1060,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ech_test.c:1063,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1065,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ech_test.c:1066,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1068,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1071,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1071,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1076,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1077,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - run
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1080
    functionName: ech_test_file_read
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_free
    - OSSL_ECHSTORE_read_pem
    - OPENSSL_free
    - BIO_free_all
    - BIO_snprintf
    - TEST_int_eq
    - OSSL_ECHSTORE_new
    - BIO_new_file
    - strlen
    - TEST_info
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ech_test_file_read(int run)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1100,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_test.c:1100,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1101,1
    - Dst: SSL_set1_echstore
      Src: /src/openssl/test/ech_test.c:1101,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/ech_test.c:1102,1
    - Dst: SSL_CTX_get1_echstore
      Src: /src/openssl/test/ech_test.c:1102,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/ech_test.c:1103,1
    - Dst: SSL_get1_echstore
      Src: /src/openssl/test/ech_test.c:1103,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1104,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1104,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1105,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/test/ech_test.c:1105,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1106,1
    - Dst: SSL_CTX_ech_set1_outer_alpn_protos
      Src: /src/openssl/test/ech_test.c:1106,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1107,1
    - Dst: SSL_ech_set1_outer_alpn_protos
      Src: /src/openssl/test/ech_test.c:1107,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1108,1
    - Dst: SSL_ech_set1_grease_suite
      Src: /src/openssl/test/ech_test.c:1108,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1109,1
    - Dst: SSL_ech_set_grease_type
      Src: /src/openssl/test/ech_test.c:1109,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/openssl/test/ech_test.c:1111,1
    - Dst: SSL_ech_set_callback
      Src: /src/openssl/test/ech_test.c:1112,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1113,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/test/ech_test.c:1113,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1114,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1119,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:1119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1120,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:1120,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:1120,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ech_test.c:1121,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:1121,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1122,1
    - Dst: OSSL_ECHSTORE_read_echconfiglist
      Src: /src/openssl/test/ech_test.c:1122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1123,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ech_test.c:1123,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_test.c:1123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1126,1
    - Dst: SSL_new
      Src: /src/openssl/test/ech_test.c:1126,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1127,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1127,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1129,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1129,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/ech_test.c:1132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1133,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1133,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1136,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1138,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_test.c:1138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1140,1
    - Dst: SSL_CTX_get1_echstore
      Src: /src/openssl/test/ech_test.c:1140,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1142,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1144,1
    - Dst: SSL_set1_echstore
      Src: /src/openssl/test/ech_test.c:1144,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1147,1
    - Dst: SSL_CTX_ech_set1_outer_alpn_protos
      Src: /src/openssl/test/ech_test.c:1147,1
    - Dst: SSL_new
      Src: /src/openssl/test/ech_test.c:1149,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1150,1
    - Dst: SSL_set1_echstore
      Src: /src/openssl/test/ech_test.c:1150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1152,1
    - Dst: SSL_get1_echstore
      Src: /src/openssl/test/ech_test.c:1152,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1154,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1156,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1156,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1157,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/test/ech_test.c:1157,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1158,1
    - Dst: SSL_ech_set1_outer_alpn_protos
      Src: /src/openssl/test/ech_test.c:1158,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1159,1
    - Dst: SSL_ech_set1_grease_suite
      Src: /src/openssl/test/ech_test.c:1159,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1160,1
    - Dst: SSL_ech_set_grease_type
      Src: /src/openssl/test/ech_test.c:1160,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1161,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/test/ech_test.c:1161,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1162,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/ech_test.c:1163,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/openssl/test/ech_test.c:1165,1
    - Dst: SSL_ech_set_callback
      Src: /src/openssl/test/ech_test.c:1166,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1171,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1172,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1173,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1174,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1175,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:1176,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1177,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1083
    functionDepth: 5
    functionLinenumber: 1083
    functionLinenumberEnd: 1179
    functionName: ech_api_basic_calls
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - SSL_ech_set_grease_type
    - TEST_ptr
    - SSL_ech_set1_outer_server_name
    - TEST_true
    - SSL_CTX_free
    - SSL_ech_set1_grease_suite
    - TEST_ptr_eq
    - TLS_server_method
    - SSL_ech_get1_status
    - BIO_new
    - OPENSSL_free
    - BIO_write
    - TEST_int_gt
    - SSL_get1_echstore
    - TEST_int_eq
    - SSL_CTX_get1_echstore
    - SSL_ech_get1_retry_config
    - SSL_CTX_set1_echstore
    - BIO_s_mem
    - SSL_set1_echstore
    - SSL_free
    - TEST_false
    - SSL_CTX_ech_set1_outer_alpn_protos
    - SSL_ech_set_callback
    - SSL_ech_set1_outer_alpn_protos
    - SSL_ech_set1_server_names
    - SSL_CTX_new_ex
    - OSSL_ECHSTORE_free
    - SSL_new
    - OSSL_ECHSTORE_read_echconfiglist
    - BIO_free_all
    - OSSL_ECHSTORE_new
    - SSL_set_options
    - SSL_CTX_ech_set_callback
    linkageType: ''
    returnType: int
    signature: int ech_api_basic_calls(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1192,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1192,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1193,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ech_test.c:1193,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_test.c:1193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1194,1
    - Dst: SSL_new
      Src: /src/openssl/test/ech_test.c:1194,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1195,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1195,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1196,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1196,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1198,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1198,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1201,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1201,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:1206,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1209
    functionName: ech_boring_compat
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TEST_false
    - TEST_ptr
    - SSL_set1_ech_config_list
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int ech_boring_compat(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1244,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:1244,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:1246,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1248,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1249,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1249,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1252,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:1256,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1258,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1259,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1259,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1262,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1268,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1270
    functionName: ech_bad_public_names
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_free
    - TEST_false
    - TEST_ptr
    - TEST_true
    - OSSL_ECHSTORE_new_config
    - OSSL_NELEM
    - OSSL_ECHSTORE_new
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int ech_bad_public_names(void)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:1315,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:1316,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:1317,1
    - Dst: memset
      Src: /src/openssl/test/ech_test.c:1322,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ech_test.c:1323,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1326,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1333,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/ech_test.c:1333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1334,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:1334,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1335,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/test/ech_test.c:1335,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1337,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_test.c:1337,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_test.c:1337,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_test.c:1338,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1344,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ech_test.c:1344,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1346,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/ech_test.c:1346,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1350,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ech_test.c:1350,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1351,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/ech_test.c:1351,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1353,1
    - Dst: SSL_CTX_set_recv_max_early_data
      Src: /src/openssl/test/ech_test.c:1353,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1359,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/ech_test.c:1359,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1362,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/ech_test.c:1362,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1365,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/ech_test.c:1365,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1368,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/ech_test.c:1368,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/openssl/test/ech_test.c:1374,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/ech_test.c:1375,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1378,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_test.c:1378,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/openssl/test/ech_test.c:1381,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1382,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_test.c:1382,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1383,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_test.c:1383,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1387,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/ech_test.c:1387,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1390,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1390,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1393,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1393,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1399,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1399,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_test.c:1404,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1405,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1407,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1408,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1410,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1412,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1415,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1423,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/ech_test.c:1436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1438,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1439,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1440,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/ech_test.c:1442,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/ech_test.c:1443,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1444,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1445,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1448,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_test.c:1448,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1450,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1450,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1451,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/ech_test.c:1451,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1452,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/ech_test.c:1452,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ech_test.c:1453,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1454,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/ech_test.c:1454,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ech_test.c:1457,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1463,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/ech_test.c:1463,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ech_test.c:1464,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1465,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/ech_test.c:1465,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ech_test.c:1466,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_test.c:1469,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1470,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1472,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1473,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1477,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1480,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1486,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1491,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1492,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1494,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1495,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/ech_test.c:1496,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1497,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1498,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:1499,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:1500,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 145
    argCount: 2
    argNames:
    - idx
    - combo
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1297
    functionDepth: 6
    functionLinenumber: 1297
    functionLinenumberEnd: 1503
    functionName: test_ech_roundtrip_helper
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - TEST_ptr
    - TEST_mem_eq
    - SSL_CTX_set_max_early_data
    - TEST_true
    - BIO_snprintf
    - SSL_CTX_set_options
    - SSL_set_verify_result
    - SSL_get1_session
    - SSL_CTX_set_min_proto_version
    - SSL_read_ex
    - TEST_size_t_eq
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_ech_get1_status
    - OPENSSL_free
    - SSL_set1_groups_list
    - OSSL_ECHSTORE_new_config
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - OSSL_HPKE_str2suite
    - SSL_CTX_add_custom_ext
    - SSL_CTX_set1_echstore
    - SSL_free
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - memset
    - SSL_CTX_set_recv_max_early_data
    - create_ssl_ctx_pair
    - SSL_CTX_set_client_hello_cb
    - OSSL_ECHSTORE_free
    - TLS_client_method
    - SSL_write_early_data
    - SSL_shutdown
    - SSL_CTX_set_max_proto_version
    - OSSL_NELEM
    - OSSL_ECHSTORE_new
    - TEST_info
    - create_ssl_objects
    - SSL_CTX_ech_set_callback
    linkageType: ''
    returnType: int
    signature: int test_ech_roundtrip_helper(int idx, int combo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1509,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 7
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: test_ech_suites
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int test_ech_suites(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1517,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1514
    functionDepth: 7
    functionLinenumber: 1514
    functionLinenumberEnd: 1519
    functionName: test_ech_hrr
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int test_ech_hrr(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1525,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1522
    functionDepth: 7
    functionLinenumber: 1522
    functionLinenumberEnd: 1527
    functionName: test_ech_no_inner
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int test_ech_no_inner(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1533,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1530
    functionDepth: 7
    functionLinenumber: 1530
    functionLinenumberEnd: 1535
    functionName: test_ech_early
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int test_ech_early(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1541,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1538
    functionDepth: 7
    functionLinenumber: 1538
    functionLinenumberEnd: 1543
    functionName: ech_custom_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int ech_custom_test(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1549,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1546
    functionDepth: 7
    functionLinenumber: 1546
    functionLinenumberEnd: 1551
    functionName: ech_enoe_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int ech_enoe_test(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1557,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1554
    functionDepth: 7
    functionLinenumber: 1554
    functionLinenumberEnd: 1559
    functionName: ech_cb_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int ech_cb_test(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1565,1
    - Dst: test_ech_roundtrip_helper
      Src: /src/openssl/test/ech_test.c:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1562
    functionDepth: 7
    functionLinenumber: 1562
    functionLinenumberEnd: 1567
    functionName: ech_v12_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_ech_roundtrip_helper
    linkageType: ''
    returnType: int
    signature: int ech_v12_test(int idx)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:1636,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:1636,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:1637,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1637,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1638,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:1638,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1639,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1639,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1640,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_test.c:1640,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_test.c:1640,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_test.c:1641,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1644,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_test.c:1644,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1645,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/ech_test.c:1645,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1647,1
    - Dst: SSL_CTX_ech_set1_outer_alpn_protos
      Src: /src/openssl/test/ech_test.c:1647,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1649,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_test.c:1649,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1651,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1651,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1656,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1656,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1662,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1662,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1663,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/test/ech_test.c:1663,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1669,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1669,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1670,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/test/ech_test.c:1670,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1676,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1676,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1677,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/test/ech_test.c:1677,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1679,1
    - Dst: SSL_ech_set1_outer_alpn_protos
      Src: /src/openssl/test/ech_test.c:1679,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1686,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1686,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1693,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1693,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1700,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1700,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1707,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1707,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1708,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1708,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1715,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1715,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1716,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1716,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1723,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1723,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1724,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1724,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1731,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1731,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1733,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1733,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1739,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1739,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1741,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1741,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1747,1
    - Dst: SSL_ech_set1_server_names
      Src: /src/openssl/test/ech_test.c:1747,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1749,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1749,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1755,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1755,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1756,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/test/ech_test.c:1756,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1761,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1761,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1764,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1765,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_test.c:1767,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1768,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1769,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1774,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1774,1
    - Dst: strcmp
      Src: /src/openssl/test/ech_test.c:1775,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1777,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1781,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1781,1
    - Dst: strcmp
      Src: /src/openssl/test/ech_test.c:1782,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1784,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1789,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1789,1
    - Dst: strcmp
      Src: /src/openssl/test/ech_test.c:1790,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1792,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1796,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1796,1
    - Dst: strcmp
      Src: /src/openssl/test/ech_test.c:1797,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1799,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:1803,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1804,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1805,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1806,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1807,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1808,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1809,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1810,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:1811,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:1812,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 150
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1610
    functionDepth: 5
    functionLinenumber: 1610
    functionLinenumberEnd: 1814
    functionName: ech_in_out_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_ech_set1_outer_server_name
    - TEST_true
    - SSL_set_verify_result
    - SSL_CTX_free
    - SSL_CTX_set_alpn_protos
    - TLS_server_method
    - create_ssl_connection
    - SSL_ech_get1_status
    - BIO_new
    - OPENSSL_free
    - BIO_write
    - SSL_set1_ech_config_list
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_CTX_set1_echstore
    - BIO_s_mem
    - SSL_free
    - TEST_false
    - SSL_CTX_ech_set1_outer_alpn_protos
    - strcmp
    - create_ssl_ctx_pair
    - SSL_ech_set1_outer_alpn_protos
    - SSL_ech_set1_server_names
    - OSSL_ECHSTORE_free
    - TLS_client_method
    - OSSL_ECHSTORE_read_pem
    - BIO_free_all
    - OSSL_ECHSTORE_new
    - strlen
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int ech_in_out_test(int idx)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:1830,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:1830,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:1831,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1831,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1832,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_test.c:1832,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1833,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1833,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1841,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:1843,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:1843,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:1844,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1844,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1845,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1845,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1847,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:1849,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:1849,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:1850,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1850,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1851,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1851,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1853,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_test.c:1855,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_test.c:1855,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_test.c:1856,1
    - Dst: strlen
      Src: /src/openssl/test/ech_test.c:1856,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1857,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_test.c:1857,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:1860,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1863,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_test.c:1863,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_test.c:1863,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_test.c:1864,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1868,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_test.c:1868,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1872,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ech_test.c:1872,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1874,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_test.c:1874,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1877,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1877,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1881,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/ech_test.c:1881,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1884,1
    - Dst: SSL_ech_set1_grease_suite
      Src: /src/openssl/test/ech_test.c:1884,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1886,1
    - Dst: SSL_ech_set1_grease_suite
      Src: /src/openssl/test/ech_test.c:1886,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1890,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1890,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_test.c:1894,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1894,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1899,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1899,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1903,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1905,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1907,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_test.c:1910,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1911,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1913,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1915,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1917,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1919,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/test/ech_test.c:1919,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_test.c:1922,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ech_test.c:1924,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1927,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ech_test.c:1929,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ech_test.c:1931,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1934,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1935,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1936,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1937,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/ech_test.c:1939,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/ech_test.c:1940,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1941,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1942,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1946,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_test.c:1946,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1950,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1950,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1953,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1953,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1955,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1955,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1958,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1960,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1961,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_test.c:1964,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1965,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:1967,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:1968,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1971,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1972,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1973,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:1974,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/ech_test.c:1976,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/ech_test.c:1977,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1978,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:1979,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1981,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_test.c:1981,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1985,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/ech_test.c:1985,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1988,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_test.c:1988,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1991,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/ech_test.c:1991,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1993,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_test.c:1993,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_test.c:1995,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_test.c:1995,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:1998,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:2000,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:2001,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_test.c:2004,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_test.c:2005,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_test.c:2007,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_test.c:2008,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2013,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2014,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2015,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2016,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2017,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:2018,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_test.c:2019,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/ech_test.c:2020,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:2021,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_test.c:2022,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_test.c:2023,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_test.c:2024,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 184
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1817
    functionDepth: 5
    functionLinenumber: 1817
    functionLinenumberEnd: 2026
    functionName: ech_grease_test
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_options
    - TEST_int_ne
    - SSL_set_verify_result
    - SSL_CTX_free
    - SSL_ech_set1_grease_suite
    - TEST_size_t_eq
    - TLS_server_method
    - create_ssl_connection
    - SSL_ech_get1_status
    - BIO_new
    - OPENSSL_free
    - BIO_write
    - SSL_set1_groups_list
    - SSL_set1_ech_config_list
    - TEST_int_eq
    - X509_STORE_free
    - SSL_set_tlsext_host_name
    - SSL_ech_get1_retry_config
    - SSL_CTX_set1_echstore
    - BIO_s_mem
    - SSL_free
    - TEST_false
    - create_ssl_ctx_pair
    - OSSL_ECHSTORE_free
    - TLS_client_method
    - OSSL_ECHSTORE_read_pem
    - BIO_free_all
    - SSL_shutdown
    - OSSL_ECHSTORE_new
    - strlen
    - TEST_info
    - SSL_set_options
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int ech_grease_test(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/ech_test.c:2036,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ech_test.c:2047,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ech_test.c:2050,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ech_test.c:2053,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ech_test.c:2056,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2059,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:2059,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ech_test.c:2060,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2061,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:2061,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ech_test.c:2062,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ech_test.c:2063,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ech_test.c:2064,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:2065,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:2065,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_test.c:2066,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2067,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2068,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2069,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2070,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2071,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2072,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2073,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2074,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2075,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_test.c:2076,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2082
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ech_test.c
    functionUses: 0
    functionsReached:
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - test_mk_file_path
    - OSSL_NELEM
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2087,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2088,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_test.c:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2091
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ech_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
    - OSSL_FUNC_core_obj_add_sigid
    - c_obj_add_sigid
    - OSSL_FUNC_core_obj_create
    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:135,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:135,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:139,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:140,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/upcallstest.c:141,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/test/upcallstest.c:142,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/test/upcallstest.c:146,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/upcallstest.c:151,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/upcallstest.c:152,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 154
    functionName: obj_create_test
    functionSourceFile: /src/openssl/test/upcallstest.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OBJ_ln2nid
    - OBJ_find_sigid_by_algs
    - TEST_true
    - TEST_int_ne
    - OSSL_LIB_CTX_free
    - OBJ_txt2nid
    - OBJ_find_sigid_algs
    - TEST_int_eq
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int obj_create_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/upcallstest.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    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:
    - BIO_printf
    - OSSL_PARAM_locate_const
    - strcmp
    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_gettable_params
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PROVIDER_get_params
    - TEST_ptr
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - TEST_true
    - OSSL_PARAM_modified
    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_PROVIDER_get_params
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_construct_uint
    - TEST_ptr_null
    - OSSL_SELF_TEST_set_callback
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PROVIDER_load
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - OSSL_PROVIDER_unload
    - TEST_uint_eq
    - TEST_false
    - EVP_PKEY_keygen
    - EVP_MD_fetch
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_PROVIDER_self_test
    - EVP_PKEY_keygen_init
    - get_provider_params
    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:
    - get_provider_params
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_ptr
    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:
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - OSSL_LIB_CTX_load_config
    - strcmp
    - opt_arg
    - OSSL_SELF_TEST_set_callback
    - opt_printf_stderr
    - opt_next
    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:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: size_t_compare
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int size_t_compare(const void *av, const void *bv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_t_compare
      Src: /src/openssl/test/priority_queue_test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    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: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: free_checker
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_checker(ossl_unused void *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/priority_queue_test.c:58,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/priority_queue_test.c:63,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:66,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:67,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:68,1
    - Dst: test_random
      Src: /src/openssl/test/priority_queue_test.c:71,1
    - Dst: memcpy
      Src: /src/openssl/test/priority_queue_test.c:72,1
    - Dst: qsort
      Src: /src/openssl/test/priority_queue_test.c:73,1
    - Dst: memcpy
      Src: /src/openssl/test/priority_queue_test.c:76,1
    - Dst: qsort
      Src: /src/openssl/test/priority_queue_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:80,1
    - Dst: ossl_pqueue_size_t_new
      Src: /src/openssl/test/priority_queue_test.c:80,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:81,1
    - Dst: ossl_pqueue_size_t_num
      Src: /src/openssl/test/priority_queue_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:84,1
    - Dst: ossl_pqueue_size_t_reserve
      Src: /src/openssl/test/priority_queue_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:88,1
    - Dst: ossl_pqueue_size_t_push
      Src: /src/openssl/test/priority_queue_test.c:88,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:91,1
    - Dst: ossl_pqueue_size_t_peek
      Src: /src/openssl/test/priority_queue_test.c:91,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:92,1
    - Dst: ossl_pqueue_size_t_num
      Src: /src/openssl/test/priority_queue_test.c:92,1
    - Dst: test_random
      Src: /src/openssl/test/priority_queue_test.c:97,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/priority_queue_test.c:99,1
    - Dst: ossl_pqueue_size_t_remove
      Src: /src/openssl/test/priority_queue_test.c:99,1
    - Dst: memcpy
      Src: /src/openssl/test/priority_queue_test.c:105,1
    - Dst: qsort
      Src: /src/openssl/test/priority_queue_test.c:106,1
    - Dst: ossl_pqueue_size_t_peek
      Src: /src/openssl/test/priority_queue_test.c:108,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:109,1
    - Dst: ossl_pqueue_size_t_peek
      Src: /src/openssl/test/priority_queue_test.c:109,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:110,1
    - Dst: ossl_pqueue_size_t_pop
      Src: /src/openssl/test/priority_queue_test.c:110,1
    - Dst: ossl_pqueue_size_t_num
      Src: /src/openssl/test/priority_queue_test.c:115,1
    - Dst: ossl_pqueue_size_t_pop_free
      Src: /src/openssl/test/priority_queue_test.c:116,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:118,1
    - Dst: ossl_pqueue_size_t_free
      Src: /src/openssl/test/priority_queue_test.c:123,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: 125
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 125
    functionName: test_size_t_priority_queue_int
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - ossl_pqueue_size_t_remove
    - memcpy
    - TEST_ptr_eq
    - ossl_pqueue_size_t_pop_free
    - ossl_pqueue_size_t_num
    - ossl_pqueue_size_t_reserve
    - ossl_pqueue_size_t_peek
    - ossl_pqueue_size_t_pop
    - test_random
    - memset
    - qsort
    - ossl_pqueue_size_t_push
    - TEST_size_t_le
    - TEST_size_t_eq
    - ossl_pqueue_size_t_free
    - TEST_info
    - ossl_pqueue_size_t_new
    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:135,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/priority_queue_test.c:136,1
    - Dst: test_size_t_priority_queue_int
      Src: /src/openssl/test/priority_queue_test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 150
    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:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    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:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: cmp
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 562
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp(const void *av, const void *bv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PRIORITY_QUEUE_OF
      Src: /src/openssl/test/priority_queue_test.c:186,1
    - Dst: ossl_pqueue_INFO_new
      Src: /src/openssl/test/priority_queue_test.c:186,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:193,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:193,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:195,1
    - Dst: ossl_pqueue_INFO_remove
      Src: /src/openssl/test/priority_queue_test.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:199,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:199,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:201,1
    - Dst: ossl_pqueue_INFO_remove
      Src: /src/openssl/test/priority_queue_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:205,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:205,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:210,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:210,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:215,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:215,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:220,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:220,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:221,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:225,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:225,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:230,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:230,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:235,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:235,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:236,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: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:240,1
    - Dst: ossl_pqueue_INFO_pop
      Src: /src/openssl/test/priority_queue_test.c:240,1
    - Dst: ossl_pqueue_INFO_free
      Src: /src/openssl/test/priority_queue_test.c:245,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 247
    functionName: test_22644
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_INFO_pop
    - ossl_pqueue_INFO_free
    - ossl_pqueue_INFO_new
    - TEST_ptr
    - TEST_true
    - ossl_pqueue_INFO_remove
    - ossl_pqueue_INFO_push
    - memset
    - TEST_size_t_eq
    - PRIORITY_QUEUE_OF
    linkageType: ''
    returnType: int
    signature: int test_22644(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/priority_queue_test.c:251,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/priority_queue_test.c:252,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/priority_queue_test.c:258,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/priority_queue_test.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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: 12
    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:
    - TEST_ptr
    - TEST_mem_eq
    - QLOG_BIN
    - TEST_true
    - ossl_qlog_flush
    - TEST_size_t_gt
    - QLOG_BOOL
    - QLOG_END
    - BIO_new
    - QLOG_I64
    - QLOG_U64
    - ossl_qlog_new
    - QLOG_EVENT_END
    - QLOG_STR_LEN
    - ossl_qlog_free
    - BIO_s_mem
    - ossl_time_from_time_t
    - ossl_qlog_set_event_type_enabled
    - QLOG_BEGIN
    - QLOG_END_ARRAY
    - QLOG_BEGIN_ARRAY
    - ossl_qlog_set_sink_bio
    - QLOG_EVENT_BEGIN
    - BIO_get_mem_data
    - QLOG_STR
    - QLOG_CID
    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:
    - TEST_ptr
    - ossl_qlog_enabled
    - TEST_int_eq
    - ossl_qlog_new
    - ossl_qlog_free
    - ossl_qlog_set_filter
    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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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: 1
    functionLinenumber: 149
    functionLinenumberEnd: 189
    functionName: test_ige_vectors
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - test_output_memory
    - TEST_mem_eq
    - AES_ige_encrypt
    - TEST_size_t_le
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    - TEST_info
    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:
    - test_output_memory
    - TEST_mem_eq
    - TEST_size_t_le
    - AES_bi_ige_encrypt
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    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: 1
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: test_ige_enc_dec
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - AES_ige_encrypt
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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: 1
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: test_ige_enc_chaining
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - AES_ige_encrypt
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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: 1
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: test_ige_dec_chaining
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - AES_ige_encrypt
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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: 1
    functionLinenumber: 289
    functionLinenumberEnd: 325
    functionName: test_ige_garble_forwards
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_ige_encrypt
    - TEST_size_t_le
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    - TEST_size_t_gt
    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:
    - TEST_mem_eq
    - AES_bi_ige_encrypt
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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: 1
    functionLinenumber: 348
    functionLinenumberEnd: 377
    functionName: test_bi_ige_garble1
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_ige_encrypt
    - TEST_size_t_le
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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: 1
    functionLinenumber: 379
    functionLinenumberEnd: 408
    functionName: test_bi_ige_garble2
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_ige_encrypt
    - TEST_size_t_le
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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: 1
    functionLinenumber: 410
    functionLinenumberEnd: 439
    functionName: test_bi_ige_garble3
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_ige_encrypt
    - TEST_size_t_le
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - memcpy
    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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/tls13tickettest.c:79,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/test/tls13tickettest.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: sess_new_cb
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_is_init_finished
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int sess_new_cb(SSL *ssl, SSL_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/tls13tickettest.c:89,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:90,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13tickettest.c:91,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13tickettest.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: handshake_finished
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_session_reused
    - SSL_is_server
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void handshake_finished(const SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/tls13tickettest.c:98,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13tickettest.c:103,1
    - Dst: SSL_alert_type_string_long
      Src: /src/openssl/test/tls13tickettest.c:104,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/test/tls13tickettest.c:105,1
    - Dst: handshake_finished
      Src: /src/openssl/test/tls13tickettest.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - type
    - val
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: info_cb
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_alert_desc_string_long
    - SSL_is_server
    - TEST_info
    - handshake_finished
    - SSL_alert_type_string_long
    linkageType: ''
    returnType: void
    signature: void info_cb(const SSL *ssl, int type, int val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/tls13tickettest.c:116,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13tickettest.c:117,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/tls13tickettest.c:118,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13tickettest.c:119,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/tls13tickettest.c:120,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13tickettest.c:121,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/tls13tickettest.c:122,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13tickettest.c:123,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/tls13tickettest.c:124,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13tickettest.c:127,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/tls13tickettest.c:128,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/tls13tickettest.c:128,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13tickettest.c:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - len
    - x
    argTypes:
    - unsigned char*
    - size_t
    - struct stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: parse_ch_exts
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - PACKET_buf_init
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - PACKET_get_length_prefixed_2
    - PACKET_get_1
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void parse_ch_exts(const unsigned char *buf, size_t len, struct stats
      *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/tls13tickettest.c:151,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13tickettest.c:152,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/tls13tickettest.c:153,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13tickettest.c:154,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/tls13tickettest.c:155,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13tickettest.c:158,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/tls13tickettest.c:159,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/tls13tickettest.c:159,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13tickettest.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - len
    - x
    argTypes:
    - unsigned char*
    - size_t
    - struct stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: parse_sh_exts
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - PACKET_buf_init
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - PACKET_get_length_prefixed_2
    - PACKET_get_1
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void parse_sh_exts(const unsigned char *buf, size_t len, struct stats
      *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/tls13tickettest.c:177,1
    - Dst: parse_ch_exts
      Src: /src/openssl/test/tls13tickettest.c:185,1
    - Dst: parse_sh_exts
      Src: /src/openssl/test/tls13tickettest.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    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: 189
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: msg_cb
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - parse_ch_exts
    - parse_sh_exts
    - SSL_get_ex_data
    linkageType: ''
    returnType: void
    signature: "void msg_cb(int write_p, int version, int content_type,\n    const
      void *buf, size_t len, SSL *ssl, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/tls13tickettest.c:193,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/tls13tickettest.c:194,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/tls13tickettest.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: set_ctx_callbacks
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_sess_set_new_cb
    linkageType: ''
    returnType: int
    signature: int set_ctx_callbacks(SSL_CTX *c, SSL_CTX *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/tls13tickettest.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:206,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13tickettest.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:207,1
    - Dst: SSL_set_ex_data
      Src: /src/openssl/test/tls13tickettest.c:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:208,1
    - Dst: SSL_set_ex_data
      Src: /src/openssl/test/tls13tickettest.c:208,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/tls13tickettest.c:211,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/tls13tickettest.c:212,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/tls13tickettest.c:213,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/tls13tickettest.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - c_ctx
    - s_ctx
    - ch
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - struct tls13_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: tls_channel_init
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_set_msg_callback
    - SSL_set_info_callback
    - TEST_true
    - memset
    - SSL_set_ex_data
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int tls_channel_init(SSL_CTX *c_ctx, SSL_CTX *s_ctx, struct tls13_channel
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/test/tls13tickettest.c:223,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13tickettest.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - struct tls13_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: tls_channel_fini
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void tls_channel_fini(struct tls13_channel *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_shutdown
      Src: /src/openssl/test/tls13tickettest.c:229,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/test/tls13tickettest.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - struct tls13_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: tls_shutdown
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_set_shutdown
    linkageType: ''
    returnType: int
    signature: int tls_shutdown(struct tls13_channel *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_is_server
      Src: /src/openssl/test/tls13tickettest.c:237,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls13tickettest.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: ticket_enable
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_is_server
    - SSL_CTX_set_session_cache_mode
    linkageType: ''
    returnType: int
    signature: int ticket_enable(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/tls13tickettest.c:248,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls13tickettest.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: ticket_disable
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set_options
    linkageType: ''
    returnType: int
    signature: int ticket_disable(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:267,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:267,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:267,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:269,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:270,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:270,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:271,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:272,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:273,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:274,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:274,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:275,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:276,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:277,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:278,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:279,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:280,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:281,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:282,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:283,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:285,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:286,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:287,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:288,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:289,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:289,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:290,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:291,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:292,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:293,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:294,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:295,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:296,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:297,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:298,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:299,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:301,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:302,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:303,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:304,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:305,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 307
    functionName: test_tls12_ticket_enable
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - tls_channel_fini
    - TLS_client_method
    - TEST_uint_eq
    - TEST_ptr
    - tls_channel_init
    - TEST_true
    - SSL_set_session
    - SSL_SESSION_free
    - ticket_enable
    - tls_shutdown
    - TLS_server_method
    - SSL_get1_session
    - SSL_CTX_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - set_ctx_callbacks
    - create_ssl_connection
    linkageType: ''
    returnType: int
    signature: int test_tls12_ticket_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:315,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:315,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:315,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:317,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:318,1
    - Dst: ticket_disable
      Src: /src/openssl/test/tls13tickettest.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:319,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:320,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:321,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:322,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:322,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:323,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:324,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:325,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:326,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:327,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:328,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:329,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:330,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:331,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:332,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:334,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:335,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:336,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: test_tls12_ticket_disable_server
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - ticket_disable
    - tls_channel_fini
    - TLS_client_method
    - TEST_uint_eq
    - tls_channel_init
    - TEST_true
    - ticket_enable
    - tls_shutdown
    - TLS_server_method
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - set_ctx_callbacks
    - create_ssl_connection
    linkageType: ''
    returnType: int
    signature: int test_tls12_ticket_disable_server(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:354,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:354,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:354,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:356,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:357,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:358,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:358,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:359,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/tls13tickettest.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:360,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/tls13tickettest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:361,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:361,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:362,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:362,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/tls13tickettest.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:364,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:365,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:366,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/tls13tickettest.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:367,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/tls13tickettest.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:368,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:368,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:369,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:370,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:370,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13tickettest.c:371,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:371,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:372,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:373,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:374,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:376,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:377,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:378,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:379,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:380,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: test_tls13_ticket_ciphersuite_mismatch
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - tls_shutdown
    - tls_channel_fini
    - TEST_uint_eq
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_uint_ge
    - tls_channel_init
    - ticket_enable
    - set_ctx_callbacks
    linkageType: ''
    returnType: int
    signature: int test_tls13_ticket_ciphersuite_mismatch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:400,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:400,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:400,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:402,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:403,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:404,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:405,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:406,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:407,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:407,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:408,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:409,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:410,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:411,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:412,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:413,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:414,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:415,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:416,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:416,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:417,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:417,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:418,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:419,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:419,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:420,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:420,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:421,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:422,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:423,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:424,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:425,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:426,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:427,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:428,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:430,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:431,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:432,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:433,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:434,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 436
    functionName: test_tls13_ticket_enable
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - tls_channel_fini
    - TLS_client_method
    - TEST_uint_eq
    - TEST_ptr
    - tls_channel_init
    - TEST_true
    - SSL_set_session
    - SSL_SESSION_free
    - ticket_enable
    - tls_shutdown
    - TLS_server_method
    - SSL_get1_session
    - SSL_CTX_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - set_ctx_callbacks
    - create_ssl_connection
    linkageType: ''
    returnType: int
    signature: int test_tls13_ticket_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:450,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:450,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:450,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:450,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:452,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:453,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/openssl/test/tls13tickettest.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:454,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:454,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:455,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:456,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:457,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:457,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:458,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:458,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:459,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:460,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:461,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:462,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:463,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:464,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:465,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:467,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:468,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:469,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:470,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:470,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13tickettest.c:471,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:471,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:472,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:473,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:474,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:475,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:476,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:477,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:478,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:479,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:481,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:482,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:483,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:484,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:485,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 487
    functionName: test_tls13_ticket_initial_set_num_tickets_zero
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - tls_shutdown
    - tls_channel_fini
    - TEST_uint_eq
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_CTX_set_num_tickets
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - tls_channel_init
    - ticket_enable
    - set_ctx_callbacks
    linkageType: ''
    returnType: int
    signature: int test_tls13_ticket_initial_set_num_tickets_zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:497,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:497,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:497,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:499,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:500,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:501,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:502,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:503,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:503,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:504,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:504,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:505,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:506,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:507,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:508,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:509,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:510,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:511,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:513,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:514,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/openssl/test/tls13tickettest.c:514,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:515,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:516,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:516,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:517,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:518,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:518,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:519,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:520,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:521,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:522,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:523,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:524,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:525,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:526,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:528,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:529,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:530,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:531,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:532,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 534
    functionName: test_tls13_ticket_resumed_set_num_tickets_zero
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - tls_channel_fini
    - TLS_client_method
    - TEST_uint_eq
    - TEST_ptr
    - tls_channel_init
    - TEST_true
    - SSL_set_session
    - SSL_SESSION_free
    - ticket_enable
    - SSL_CTX_set_num_tickets
    - tls_shutdown
    - TLS_server_method
    - SSL_get1_session
    - SSL_CTX_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - set_ctx_callbacks
    - create_ssl_connection
    linkageType: ''
    returnType: int
    signature: int test_tls13_ticket_resumed_set_num_tickets_zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:551,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:551,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:551,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:553,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:553,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:554,1
    - Dst: ticket_disable
      Src: /src/openssl/test/tls13tickettest.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:555,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:555,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:556,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:556,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:557,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:557,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:558,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:558,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:559,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:560,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:561,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:562,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:563,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:564,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:565,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:566,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:567,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:569,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:569,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:570,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:570,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:571,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:572,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:572,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13tickettest.c:573,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:573,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:574,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:575,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:576,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:577,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:578,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:579,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:580,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:581,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:582,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:583,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:585,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:586,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:587,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:588,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:589,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 591
    functionName: test_tls13_ticket_disable_server
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - ticket_disable
    - TEST_ptr
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - tls_shutdown
    - tls_channel_fini
    - TEST_uint_eq
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - tls_channel_init
    - ticket_enable
    - set_ctx_callbacks
    linkageType: ''
    returnType: int
    signature: int test_tls13_ticket_disable_server(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/tls13tickettest.c:610,1
    - Dst: memset
      Src: /src/openssl/test/tls13tickettest.c:611,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:613,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13tickettest.c:613,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13tickettest.c:613,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13tickettest.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:615,1
    - Dst: set_ctx_callbacks
      Src: /src/openssl/test/tls13tickettest.c:615,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:616,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:617,1
    - Dst: ticket_enable
      Src: /src/openssl/test/tls13tickettest.c:617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13tickettest.c:618,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/openssl/test/tls13tickettest.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:619,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:620,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:620,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:621,1
    - Dst: tls_shutdown
      Src: /src/openssl/test/tls13tickettest.c:621,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:622,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:623,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:624,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:625,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:626,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:627,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:628,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:629,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:630,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:631,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:632,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13tickettest.c:632,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13tickettest.c:633,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/openssl/test/tls13tickettest.c:633,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:634,1
    - Dst: tls_channel_init
      Src: /src/openssl/test/tls13tickettest.c:634,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:635,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13tickettest.c:635,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13tickettest.c:636,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13tickettest.c:636,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13tickettest.c:637,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls13tickettest.c:637,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:638,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:639,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:640,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:641,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:642,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:643,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:644,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls13tickettest.c:645,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13tickettest.c:647,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:648,1
    - Dst: tls_channel_fini
      Src: /src/openssl/test/tls13tickettest.c:649,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:650,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13tickettest.c:651,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 653
    functionName: test_tls13_ticket_no_decrypt
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_tlsext_ticket_keys
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - TEST_int_eq
    - tls_shutdown
    - tls_channel_fini
    - TEST_uint_eq
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - memset
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - tls_channel_init
    - ticket_enable
    - set_ctx_callbacks
    linkageType: ''
    returnType: int
    signature: int test_tls13_ticket_no_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/tls13tickettest.c:659,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13tickettest.c:660,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:664,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13tickettest.c:664,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13tickettest.c:665,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13tickettest.c:665,1
    - Dst: SSL_get_ex_new_index
      Src: /src/openssl/test/tls13tickettest.c:668,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:669,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:670,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:671,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:672,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:673,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:674,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:675,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13tickettest.c:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 679
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13tickettest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - SSL_get_ex_new_index
    - test_skip_common_options
    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_rawaddress
    - TEST_mem_eq
    - TEST_int_eq
    - BIO_ADDR_rawport
    - BIO_ADDR_family
    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_dgram_get_local_addr_cap
    - TEST_ptr
    - TEST_mem_eq
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - TEST_true
    - BIO_write
    - BIO_read
    - BIO_new_dgram
    - TEST_int_gt
    - TEST_ulong_eq
    - TEST_int_eq
    - BIO_ADDR_rawport
    - BIO_dgram_get_peer
    - BIO_closesocket
    - TEST_false
    - do_recvmmsg
    - BIO_free
    - BIO_bind
    - htonl
    - compare_addr
    - memset
    - BIO_dgram_set_local_addr_enable
    - do_sendmmsg
    - TEST_skip
    - BIO_socket
    - TEST_int_ge
    - BIO_dgram_set_peer
    - OSSL_NELEM
    - TEST_size_t_eq
    - TEST_info
    - BIO_sock_info
    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_CIPHER_CTX_new
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptUpdate
    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:640,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:641,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:644,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_dgram_test.c:644,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:649,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:650,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:653,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:654,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_dgram_test.c:660,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:660,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:661,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:662,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:665,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/bio_dgram_test.c:665,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:668,1
    - Dst: BIO_dgram_get_caps
      Src: /src/openssl/test/bio_dgram_test.c:668,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:671,1
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/test/bio_dgram_test.c:671,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:674,1
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/test/bio_dgram_test.c:674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:677,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/bio_dgram_test.c:677,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:681,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:681,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:682,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:686,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/test/bio_dgram_test.c:686,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:693,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:693,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:693,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:695,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:698,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:702,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:702,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:705,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:705,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:708,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:708,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:714,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/test/bio_dgram_test.c:714,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:717,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:717,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:718,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:723,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:723,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:723,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:724,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:727,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:731,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:731,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:734,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:734,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:737,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:740,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:740,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_dgram_test.c:744,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:745,1
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:748,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:749,1
    - Dst: BIO_dgram_set_no_trunc
      Src: /src/openssl/test/bio_dgram_test.c:749,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:752,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:752,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:755,1
    - Dst: BIO_pending
      Src: /src/openssl/test/bio_dgram_test.c:755,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:758,1
    - Dst: BIO_dgram_set_no_trunc
      Src: /src/openssl/test/bio_dgram_test.c:758,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:761,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:761,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:764,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_dgram_test.c:770,1
    - Dst: BIO_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
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:774,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:775,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 224
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 493
    functionDepth: 7
    functionLinenumber: 493
    functionLinenumberEnd: 777
    functionName: test_bio_dgram_pair
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - BIO_s_dgram_mem
    - TEST_true
    - BIO_dgram_set_caps
    - BIO_ADDR_family
    - BIO_sendmmsg
    - BIO_dgram_get_effective_caps
    - BIO_new
    - TEST_size_t_lt
    - BIO_write
    - TEST_int_le
    - TEST_size_t_ge
    - BIO_read
    - BIO_set_write_buf_size
    - BIO_dgram_get_caps
    - BIO_pending
    - TEST_int_eq
    - BIO_ADDR_rawport
    - BIO_dgram_get_mtu
    - TEST_false
    - BIO_recvmmsg
    - BIO_new_bio_dgram_pair
    - BIO_free
    - random_data
    - test_random
    - memset
    - BIO_dgram_set_local_addr_enable
    - BIO_dgram_set_no_trunc
    - ntohl
    - TEST_int_ge
    - OSSL_NELEM
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_bio_dgram_pair(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MFAIL_start
      Src: /src/openssl/test/bio_dgram_test.c:784,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_dgram_test.c:785,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/test/bio_dgram_test.c:785,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/bio_dgram_test.c:786,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_dgram_test.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 780
    functionDepth: 5
    functionLinenumber: 780
    functionLinenumberEnd: 793
    functionName: test_bio_dgram_mfail
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - BIO_new
    - BIO_free
    - MFAIL_end
    - BIO_s_dgram_mem
    linkageType: ''
    returnType: int
    signature: int test_bio_dgram_mfail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/bio_dgram_test.c:799,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_dgram_test.c:800,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_dgram_test.c:805,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:805,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_dgram_test.c:807,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/bio_dgram_test.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 813
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - ADD_MFAIL_TEST
    - ADD_ALL_TESTS
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/time_offset_test.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/time_offset_test.c:80,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/time_offset_test.c:80,1
    - Dst: TEST_info
      Src: /src/openssl/test/time_offset_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/time_offset_test.c:95,1
    - Dst: TEST_info
      Src: /src/openssl/test/time_offset_test.c:96,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/time_offset_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/time_offset_test.c:102,1
    - Dst: TEST_info
      Src: /src/openssl/test/time_offset_test.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 68
    functionDepth: 7
    functionLinenumber: 68
    functionLinenumberEnd: 108
    functionName: test_offset
    functionSourceFile: /src/openssl/test/time_offset_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_cmp_time_t
    - TEST_true
    - TEST_int_eq
    - strlen
    - ASN1_TIME_diff
    - TEST_info
    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:112,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/time_offset_test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/time_offset_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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_statm_destroy
    - ossl_quic_stream_map_cleanup
    - ossl_ackm_free
    - ossl_ackm_on_pkt_space_discarded
    - ossl_qrx_free
    - BIO_free
    - ossl_qtx_free
    - ossl_quic_sstream_free
    - ossl_quic_txpim_free
    - ossl_quic_tx_packetiser_free
    - ossl_quic_cfq_free
    - ossl_quic_channel_free
    - ossl_qrx_pkt_release
    - struct helper*::cc_method::free
    - 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_txpim_new
    - TEST_ptr
    - ossl_quic_channel_alloc
    - ossl_quic_rxfc_init
    - TEST_true
    - ossl_qrx_new
    - ossl_quic_sstream_new
    - ossl_qtx_new
    - helper_cleanup
    - ossl_quic_tx_packetiser_set_validated
    - ossl_quic_tx_packetiser_new
    - ossl_quic_cfq_new
    - ossl_qrx_allow_1rtt_processing
    - struct helper*::cc_method::new
    - BIO_new_bio_dgram_pair
    - ossl_quic_demux_set_default_handler
    - memset
    - ossl_quic_stream_map_init
    - ossl_quic_txfc_init
    - ossl_quic_demux_new
    - ossl_ackm_new
    - ossl_statm_init
    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_retire
    - TEST_true
    - ossl_quic_rxfc_on_rx_stream_frame
    - 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:
    - BUF_MEM_new
    - ossl_quic_wire_encode_frame_new_conn_id
    - WPACKET_get_total_written
    - TEST_ptr
    - WPACKET_cleanup
    - TEST_true
    - ossl_quic_cfq_add_frame
    - BUF_MEM_free
    - WPACKET_finish
    - WPACKET_init
    - memcpy
    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:
    - BUF_MEM_new
    - WPACKET_get_total_written
    - TEST_ptr
    - WPACKET_cleanup
    - TEST_true
    - ossl_quic_cfq_add_frame
    - BUF_MEM_free
    - WPACKET_finish
    - WPACKET_init
    - ossl_quic_wire_encode_frame_new_token
    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:
    - fake_now
    - TEST_true
    - ossl_ackm_on_rx_packet
    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_uint64_t_ge
    - TEST_mem_eq
    - TEST_uint64_t_le
    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_uint64_t_ge
    - TEST_mem_eq
    - TEST_uint64_t_le
    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_uint64_t_ge
    - TEST_mem_eq
    - TEST_uint64_t_le
    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_uint64_t_ge
    - TEST_mem_eq
    - TEST_uint64_t_le
    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:
    - strlen
    - ossl_quic_tx_packetiser_schedule_conn_close
    - 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_int_eq
    - TEST_mem_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:
    - TEST_size_t_gt
    - ossl_quic_tx_packetiser_set_initial_token
    - 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:1489,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_txp_test.c:1489,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1500,1
    - Dst: ossl_quic_stream_map_alloc
      Src: /src/openssl/test/quic_txp_test.c:1500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1504,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_txp_test.c:1504,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1505,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/test/quic_txp_test.c:1505,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1506,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_txp_test.c:1506,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1510,1
    - Dst: ossl_quic_rstream_new
      Src: /src/openssl/test/quic_txp_test.c:1510,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_txp_test.c:1512,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/test/quic_txp_test.c:1513,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1521,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1521,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1525,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_txp_test.c:1525,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1529,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1532,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1537,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1537,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/test/quic_txp_test.c:1541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1546,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1546,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1550,1
    - Dst: ossl_quic_stream_map_stop_sending_recv_part
      Src: /src/openssl/test/quic_txp_test.c:1550,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1554,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1556,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1562,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1562,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1566,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/test/quic_txp_test.c:1566,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1570,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1572,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1576,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_txp_test.c:1576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1583,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1583,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1587,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_txp_test.c:1587,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1590,1
    - Dst: ossl_quic_tx_packetiser_notify_handshake_complete
      Src: /src/openssl/test/quic_txp_test.c:1593,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1598,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1606,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_txp_test.c:1608,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 262
    argCount: 2
    argNames:
    - script_idx
    - script
    argTypes:
    - int
    - struct script_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1610
    functionName: run_script
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_new
    - ossl_qtx_provide_secret
    - ossl_quic_wire_decode_frame_handshake_done
    - PACKET_buf_init
    - TEST_uint64_t_eq
    - TEST_mem_eq
    - ossl_quic_wire_decode_frame_new_token
    - ossl_quic_demux_pump
    - TEST_ptr
    - ossl_quic_rxfc_init
    - TEST_true
    - ossl_quic_stream_map_get_by_id
    - TEST_error
    - ossl_quic_stream_map_stop_sending_recv_part
    - ossl_quic_sstream_new
    - ossl_qrx_pkt_release
    - TEST_size_t_gt
    - ossl_quic_wire_decode_frame_reset_stream
    - helper_cleanup
    - ossl_quic_wire_decode_frame_new_conn_id
    - ossl_quic_tx_packetiser_notify_handshake_complete
    - cmp_pkt_hdr
    - TEST_size_t_ge
    - struct script_op*::check_func
    - ossl_quic_wire_peek_frame_header
    - ossl_quic_sstream_fin
    - ossl_quic_wire_decode_frame_conn_close
    - skip_padding
    - ossl_quic_stream_map_release
    - ossl_qtx_flush_net
    - ossl_quic_wire_decode_frame_crypto
    - TEST_false
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_tx_packetiser_generate
    - ossl_quic_sstream_free
    - helper_init
    - ossl_quic_stream_map_reset_stream_send_part
    - ossl_qrx_provide_secret
    - ossl_quic_txfc_init
    - PACKET_remaining
    - ossl_quic_sstream_append
    - ossl_qtx_finish_dgram
    - ossl_quic_wire_decode_frame_max_data
    - ossl_quic_wire_decode_frame_ack
    - TEST_size_t_le
    - ossl_quic_stream_map_alloc
    - ossl_quic_tx_packetiser_discard_enc_level
    - ossl_quic_stream_map_update_state
    - ossl_qrx_read_pkt
    - TEST_size_t_eq
    - OSSL_NELEM
    - ossl_quic_wire_decode_frame_stop_sending
    - ossl_quic_wire_decode_frame_stream
    - ossl_quic_wire_decode_frame_ping
    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:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1615
    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: 1647
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1647
    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: 1652
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    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:1690,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1696
    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:1700,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txp_test.c:1700,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_txp_test.c:1701,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txp_test.c:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1705
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/x509_time_test.c:413,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:416,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:422,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 5
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: test_x509_cmp_time
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - X509_cmp_time
    - TEST_int_eq
    - memset
    - strlen
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_x509_cmp_time(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/x509_time_test.c:432,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:437,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:438,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:439,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:443,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:444,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:447,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:448,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:452,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:457,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 430
    functionDepth: 6
    functionLinenumber: 430
    functionLinenumberEnd: 461
    functionName: test_x509_cmp_time_current
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - X509_cmp_time
    - TEST_int_eq
    - ASN1_TIME_adj
    - ASN1_TIME_free
    - time
    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:469,1
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/test/x509_time_test.c:470,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:474,1
    - Dst: X509_cmp_timeframe
      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: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:476,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:476,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:477,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:477,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:478,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:478,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:480,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:480,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:482,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:482,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: 485
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 485
    functionName: test_X509_cmp_timeframe_vpm
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - X509_VERIFY_PARAM_get_flags
    - 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:489,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:490,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:492,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:493,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_time_test.c:494,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:499,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:500,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/x509_time_test.c:502,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:504,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/x509_time_test.c:505,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:506,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/x509_time_test.c:508,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:510,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:511,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 487
    functionDepth: 7
    functionLinenumber: 487
    functionLinenumberEnd: 515
    functionName: test_X509_cmp_timeframe
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_flags
    - test_X509_cmp_timeframe_vpm
    - ASN1_TIME_adj
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - time
    - ASN1_TIME_free
    - 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:525,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:527,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/test/x509_time_test.c:532,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:534,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:535,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:542,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:543,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/x509_time_test.c:551,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:553,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:554,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:564,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 518
    functionDepth: 6
    functionLinenumber: 518
    functionLinenumberEnd: 566
    functionName: test_x509_time
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_int_eq
    - ASN1_TIME_new
    - ASN1_TIME_set_string_X509
    - strlen
    - TEST_info
    - ASN1_TIME_free
    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:631,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_time_test.c:635,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/x509_time_test.c:635,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_time_test.c:638,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/x509_time_test.c:638,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_time_test.c:639,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/x509_time_test.c:639,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:640,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:641,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 624
    functionDepth: 6
    functionLinenumber: 624
    functionLinenumberEnd: 645
    functionName: test_days
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - TEST_ptr
    - TEST_true
    - BIO_snprintf
    - ASN1_TIME_set_string
    - TEST_int_eq
    - ASN1_TIME_new
    - ASN1_TIME_free
    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: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    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:711,1
    - Dst: BIO_new
      Src: /src/openssl/test/x509_time_test.c:711,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/x509_time_test.c:711,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/test/x509_time_test.c:714,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/x509_time_test.c:717,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/x509_time_test.c:721,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/x509_time_test.c:721,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:722,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:722,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/x509_time_test.c:723,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_time_test.c:728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 704
    functionDepth: 5
    functionLinenumber: 704
    functionLinenumberEnd: 730
    functionName: test_x509_time_print_rfc_822
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_print_ex
    - TEST_ptr
    - BIO_new
    - TEST_strn_eq
    - BIO_free
    - BIO_get_mem_data
    - TEST_int_eq
    - strlen
    - TEST_str_eq
    - TEST_int_ne
    - BIO_s_mem
    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:739,1
    - Dst: BIO_new
      Src: /src/openssl/test/x509_time_test.c:739,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/x509_time_test.c:739,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/test/x509_time_test.c:742,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/x509_time_test.c:745,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/x509_time_test.c:749,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/x509_time_test.c:749,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:750,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:750,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/x509_time_test.c:751,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_time_test.c:756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 732
    functionDepth: 5
    functionLinenumber: 732
    functionLinenumberEnd: 758
    functionName: test_x509_time_print_iso_8601
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_print_ex
    - TEST_ptr
    - BIO_new
    - TEST_strn_eq
    - BIO_free
    - BIO_get_mem_data
    - TEST_int_eq
    - strlen
    - TEST_str_eq
    - TEST_int_ne
    - BIO_s_mem
    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:763,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_time_test.c:764,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:765,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:765,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:767,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:767,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:768,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:768,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:769,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:769,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:770,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 772
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/handshake-memfail.c:57,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/handshake-memfail.c:57,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/handshake-memfail.c:57,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/handshake-memfail.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/handshake-memfail.c:64,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/handshake-memfail.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/handshake-memfail.c:66,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/handshake-memfail.c:66,1
    - Dst: SSL_free
      Src: /src/openssl/test/handshake-memfail.c:73,1
    - Dst: SSL_free
      Src: /src/openssl/test/handshake-memfail.c:74,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:75,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: do_handshake
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 4
    functionsReached:
    - TLS_client_method
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:95,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:96,1
    - Dst: do_handshake
      Src: /src/openssl/test/handshake-memfail.c:99,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: test_record_alloc_counts
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - do_handshake
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - 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:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:123,1
    - Dst: do_handshake
      Src: /src/openssl/test/handshake-memfail.c:126,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: test_alloc_failures
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - do_handshake
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - 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:136,1
    - Dst: TEST_info
      Src: /src/openssl/test/handshake-memfail.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: test_report_alloc_counts
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_get_alloc_counts
    linkageType: ''
    returnType: int
    signature: int test_report_alloc_counts(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:157,1
    - Dst: test_get_argument
      Src: /src/openssl/test/handshake-memfail.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:160,1
    - Dst: test_get_argument
      Src: /src/openssl/test/handshake-memfail.c:160,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/handshake-memfail.c:163,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/handshake-memfail.c:167,1
    - Dst: strcmp
      Src: /src/openssl/test/handshake-memfail.c:171,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/handshake-memfail.c:172,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/handshake-memfail.c:173,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/handshake-memfail.c:174,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/handshake-memfail.c:176,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 184
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - ADD_TEST
    - strcmp
    - CRYPTO_get_alloc_counts
    - test_mk_file_path
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:188,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:835,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/test/crltest.c:835,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/test/crltest.c:838,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/test/crltest.c:840,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:841,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/test/crltest.c:847,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/test/crltest.c:849,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:850,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/test/crltest.c:858,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 860
    functionName: make_CRL_stack
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - sk_X509_CRL_pop_free
    - sk_X509_CRL_new_null
    - X509_CRL_free
    - X509_CRL_up_ref
    - sk_X509_CRL_push
    - STACK_OF
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *make_CRL_stack(X509_CRL *x1, X509_CRL *x2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:864,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:865,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:866,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:867,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:872,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:873,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:874,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:875,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:875,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:876,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:879,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:879,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:880,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:883,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:883,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:884,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:887,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:887,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:888,1
    - Dst: X509_CRL_get0_signature
      Src: /src/openssl/test/crltest.c:893,1
    - Dst: X509_CRL_get0_tbs_sigalg
      Src: /src/openssl/test/crltest.c:894,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:895,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:896,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:897,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/test/crltest.c:897,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:900,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:901,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:902,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:903,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 905
    functionName: test_crl_basic
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_CRL_get0_tbs_sigalg
    - X509_free
    - verify
    - make_CRL_stack
    - X509_CRL_get0_signature
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - X509_ALGOR_cmp
    linkageType: ''
    returnType: int
    signature: int test_crl_basic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:909,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:910,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:913,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:914,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:915,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:915,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:919,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 922
    functionName: test_no_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - verify
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_no_crl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:926,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:927,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:928,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:931,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:932,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:933,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:934,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:934,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:935,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:938,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:939,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: test_crl_bad_issuer
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - verify
    - make_CRL_stack
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_bad_issuer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:946,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:947,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:948,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:951,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:952,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:953,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:954,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:954,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:955,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:959,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:960,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 963
    functionName: test_crl_empty_idp
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - verify
    - make_CRL_stack
    - X509_CRL_free
    - TEST_int_eq
    - 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:967,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:970,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:971,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:972,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:973,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 977
    functionName: test_crl_critical_known
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_critical_known(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:981,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:982,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:983,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:986,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:987,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:988,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:989,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:989,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:990,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:994,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:995,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 979
    functionDepth: 3
    functionLinenumber: 979
    functionLinenumberEnd: 998
    functionName: test_crl_critical_unknown1
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - verify
    - make_CRL_stack
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_critical_unknown1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1005,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1005,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1006,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1007,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1011
    functionName: test_crl_critical_unknown2
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_r
    - TEST_ptr_null
    - TEST_err_s
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_critical_unknown2(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1015,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1021,1
    - Dst: TEST_true
      Src: /src/openssl/test/crltest.c:1025,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/test/crltest.c:1025,1
    - Dst: glue2bio
      Src: /src/openssl/test/crltest.c:1031,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1033,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/test/crltest.c:1036,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1040,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1041,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1045,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1046,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1050,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1051,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/crltest.c:1052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/crltest.c:1060,1
    - Dst: BIO_free
      Src: /src/openssl/test/crltest.c:1061,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1062,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1063,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1013
    functionDepth: 3
    functionLinenumber: 1013
    functionLinenumberEnd: 1065
    functionName: test_reuse_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_X509_CRL
    - TEST_ptr
    - OPENSSL_free
    - BIO_free
    - X509_CRL_free
    - X509_CRL_up_ref
    - TEST_true
    - TEST_ptr_null
    - CRL_from_strings
    - glue2bio
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_reuse_crl(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1075,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1076,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1080
    functionName: test_crl_cert_issuer_ext
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_CRL_free
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_cert_issuer_ext(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1087,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1087,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1088,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1089,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1090,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1091,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1091,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1092,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1093,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1094,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1095,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1095,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1096,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1097,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1098,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1100,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1101,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1104
    functionName: test_crl_date_invalid
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_date_invalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - crl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: get_crl_fn
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int get_crl_fn(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1119,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1120,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/crltest.c:1121,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/crltest.c:1122,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/crltest.c:1123,1
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1124,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/crltest.c:1124,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1128,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1132,1
    - Dst: TEST_true
      Src: /src/openssl/test/crltest.c:1136,1
    - Dst: X509_up_ref
      Src: /src/openssl/test/crltest.c:1136,1
    - Dst: TEST_true
      Src: /src/openssl/test/crltest.c:1138,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/crltest.c:1138,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1139,1
    - Dst: TEST_true
      Src: /src/openssl/test/crltest.c:1143,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/crltest.c:1143,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/crltest.c:1146,1
    - Dst: X509_STORE_CTX_set_get_crl
      Src: /src/openssl/test/crltest.c:1147,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/crltest.c:1148,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/crltest.c:1149,1
    - Dst: X509_VERIFY_PARAM_get_time
      Src: /src/openssl/test/crltest.c:1149,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/test/crltest.c:1151,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/crltest.c:1152,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/test/crltest.c:1153,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/crltest.c:1156,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/crltest.c:1157,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/crltest.c:1158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1160,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/crltest.c:1163,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/crltest.c:1164,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/crltest.c:1165,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/crltest.c:1166,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1167,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1168,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1117
    functionDepth: 5
    functionLinenumber: 1117
    functionLinenumberEnd: 1170
    functionName: test_crl_get_fn_score
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - X509_STORE_CTX_set_get_crl
    - sk_X509_push
    - X509_STORE_CTX_set0_param
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ERR_clear_error
    - X509_VERIFY_PARAM_set_flags
    - TEST_int_eq
    - STACK_OF
    - X509_STORE_free
    - X509_STORE_CTX_new
    - sk_X509_new_null
    - X509_verify_cert
    - X509_VERIFY_PARAM_get_time
    - X509_VERIFY_PARAM_set_depth
    - X509_VERIFY_PARAM_set_time
    - X509_from_strings
    - X509_STORE_CTX_set0_trusted_stack
    - X509_up_ref
    - OSSL_STACK_OF_X509_free
    - TEST_long_eq
    - X509_STORE_new
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int test_crl_get_fn_score(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1177,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1177,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1178,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1179,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1180,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1184
    functionName: test_crl_delta_indicator
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_delta_indicator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1191,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1191,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1192,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1193,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1194,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1198
    functionName: test_crl_number
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1205,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1205,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1206,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1207,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1208,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1212
    functionName: test_crl_idp_asn1_wrong_tag
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_asn1_wrong_tag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1219,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1219,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1220,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1221,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1222,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1226
    functionName: test_crl_idp_asn1_wrong_tag2
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_asn1_wrong_tag2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1243,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1244,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1244,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1245,1
    - Dst: PKEY_from_strings
      Src: /src/openssl/test/crltest.c:1245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1246,1
    - Dst: PKEY_from_strings
      Src: /src/openssl/test/crltest.c:1246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1247,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/test/crltest.c:1247,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1248,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/test/crltest.c:1248,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1249,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/crltest.c:1249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1250,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/crltest.c:1250,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/crltest.c:1252,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/crltest.c:1253,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/crltest.c:1254,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/crltest.c:1255,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1256,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1233
    functionDepth: 4
    functionLinenumber: 1233
    functionLinenumberEnd: 1259
    functionName: test_private_keys
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - EVP_PKEY_eq
    - TEST_int_eq
    - EVP_PKEY_free
    - X509_get_pubkey
    - PKEY_from_strings
    linkageType: ''
    returnType: int
    signature: int test_private_keys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1271,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1272,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1273,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1274,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1274,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1275,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1275,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1277,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1278,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1261
    functionDepth: 3
    functionLinenumber: 1261
    functionLinenumberEnd: 1281
    functionName: test_crl_idp_onlyca_onlyattr
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_onlyca_onlyattr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1288,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1293,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1293,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1294,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1294,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1295,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1295,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1296,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1296,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1297,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1297,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1299,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1300,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1283
    functionDepth: 3
    functionLinenumber: 1283
    functionLinenumberEnd: 1303
    functionName: test_crl_idp_onlyuser_onlyattr
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_onlyuser_onlyattr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1310,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1315,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1316,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1317,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1318,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1318,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1319,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1319,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1321,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1322,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1325
    functionName: test_crl_idp_onlyuser_onlyca
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_onlyuser_onlyca(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1337,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1338,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1339,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1340,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1340,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1341,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1341,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1343,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1344,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1347
    functionName: test_crl_idp_onlyuser_onlyca_onlyattr
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_onlyuser_onlyca_onlyattr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1354,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1354,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/crltest.c:1355,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1356,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1360
    functionName: test_crl_idp_cert_issuer_no_indirect_flag
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_err_s
    - X509_CRL_free
    - TEST_err_r
    - TEST_ptr_null
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_idp_cert_issuer_no_indirect_flag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1367,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1371,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1372,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1373,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1373,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1374,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1374,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1375,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1375,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1377,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1378,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1381
    functionName: test_crl_revocation
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_revocation(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:1388,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1388,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/crltest.c:1389,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1393
    functionName: test_crl_extension_duplicate
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_CRL_free
    - TEST_ptr_null
    - TEST_err_s
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_extension_duplicate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1405,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1406,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1406,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1407,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1408,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1408,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1409,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1409,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1411,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1412,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1415
    functionName: test_crl_extension_duplicate_entry
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_extension_duplicate_entry(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:1422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1427,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1427,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1428,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:1428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1429,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1429,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1430,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:1430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:1431,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:1431,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1433,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1434,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1417
    functionDepth: 3
    functionLinenumber: 1417
    functionLinenumberEnd: 1437
    functionName: test_crl_extension_duplicate_serial
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - make_CRL_stack
    - verify
    - X509_CRL_free
    - TEST_int_eq
    - CRL_from_strings
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int test_crl_extension_duplicate_serial(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1444,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:1445,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1446,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:1446,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/crltest.c:1449,1
    - Dst: X509_CRL_diff
      Src: /src/openssl/test/crltest.c:1450,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/crltest.c:1451,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1458,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1459,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:1460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1439
    functionDepth: 4
    functionLinenumber: 1439
    functionLinenumberEnd: 1462
    functionName: test_crl_diff_mfail
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - TEST_ptr
    - X509_CRL_free
    - X509_CRL_diff
    - MFAIL_end
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_diff_mfail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1466,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1467,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1468,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1469,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1470,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1471,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1472,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1473,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1474,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1475,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1476,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1477,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1478,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1479,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1480,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1481,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1482,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1483,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1484,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1485,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1486,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1487,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1488,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:1489,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/crltest.c:1490,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/crltest.c:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1493
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - ADD_MFAIL_TEST
    linkageType: ''
    returnType: int
    signature: int setup_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:
    - strlen
    - strcpy
    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:
    - TEST_ptr
    - BIO_free
    - TEST_ptr_null
    - PEM_read_bio_PrivateKey_ex
    - EVP_PKEY_free
    - BIO_new_file
    - EVP_default_properties_enable_fips
    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:
    - test_get_libctx
    - test_get_argument
    - ADD_TEST
    - opt_arg
    - opt_next
    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:1110,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1113,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1114,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1115,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1117,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1118,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1123,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1124,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1125,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1126,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1128,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1129,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1137,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1138,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1139,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1140,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1142,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1143,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1148,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1149,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1150,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1151,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1153,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1162
    functionName: test_poly1305
    functionSourceFile: /src/openssl/test/poly1305_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - Poly1305_Update
    - Poly1305_Init
    - TEST_size_t_eq
    - TEST_info
    - Poly1305_Final
    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:1166,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/poly1305_internal_test.c:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1168
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/poly1305_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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: 6
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 18
    functionsReached:
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_MSG_free
    - OPENSSL_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
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - tear_down
    - TEST_true
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_CTX_set1_referenceValue
    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: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    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:88,1
    - Dst: ossl_cmp_certreq_new
      Src: /src/openssl/test/cmp_msg_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 15
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: execute_certreq_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_certreq_new
    - EXECUTE_MSG_CREATION_TEST
    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:95,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/test/cmp_msg_test.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 14
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: execute_errormsg_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_error_new
    - EXECUTE_MSG_CREATION_TEST
    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:102,1
    - Dst: ossl_cmp_rr_new
      Src: /src/openssl/test/cmp_msg_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 14
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: execute_rr_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_rr_new
    - EXECUTE_MSG_CREATION_TEST
    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:107,1
    - Dst: ossl_cmp_certConf_new
      Src: /src/openssl/test/cmp_msg_test.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 14
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: execute_certconf_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_certConf_new
    - EXECUTE_MSG_CREATION_TEST
    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:113,1
    - Dst: ossl_cmp_genm_new
      Src: /src/openssl/test/cmp_msg_test.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 15
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: execute_genm_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_genm_new
    - EXECUTE_MSG_CREATION_TEST
    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:118,1
    - Dst: ossl_cmp_pollReq_new
      Src: /src/openssl/test/cmp_msg_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 14
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: execute_pollreq_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_pollReq_new
    - EXECUTE_MSG_CREATION_TEST
    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:123,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/test/cmp_msg_test.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: execute_pkimessage_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_create
    - EXECUTE_MSG_CREATION_TEST
    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:128,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:131,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_msg_test.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 136
    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:143,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_msg_test.c:149,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/cmp_msg_test.c:149,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:150,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_msg_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:151,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:152,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_msg_test.c:152,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:154,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 7
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: test_cmp_create_ir_protection_set
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - TEST_int_eq
    - SET_OPT_UNPROTECTED_SEND
    - RAND_bytes_ex
    - OSSL_CMP_CTX_set1_secretValue
    - EXECUTE_TEST
    - set1_newPkey
    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:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:167,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_msg_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:168,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_msg_test.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:170,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/test/cmp_msg_test.c:170,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:171,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: test_cmp_create_ir_protection_fails
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_pkey
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_CTX_set1_cert
    - EXECUTE_TEST
    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:180,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    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:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:194,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:194,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:195,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 6
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: test_cmp_create_cr
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - set1_newPkey
    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:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:208,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:208,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:209,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: test_cmp_create_certreq_with_invalid_bodytype
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - set1_newPkey
    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:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:226,1
    - Dst: load_csr_der
      Src: /src/openssl/test/cmp_msg_test.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:227,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:227,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:228,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/test/cmp_msg_test.c:228,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:229,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/cmp_msg_test.c:232,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: test_cmp_create_p10cr
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - load_csr_der
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_p10CSR
    - EXECUTE_TEST
    - set1_newPkey
    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:239,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:243,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:243,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:244,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: test_cmp_create_p10cr_null
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - set1_newPkey
    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:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:257,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:258,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_msg_test.c:258,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:259,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: test_cmp_create_kur
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set1_oldCert
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - set1_newPkey
    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:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:272,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:272,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:273,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: test_cmp_create_kur_without_oldcert
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - set1_newPkey
    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:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:285,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_msg_test.c:285,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:286,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:287,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: test_cmp_create_certconf
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    - X509_dup
    - 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:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:299,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_msg_test.c:299,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:300,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:301,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: test_cmp_create_certconf_badAlg
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    - X509_dup
    - 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:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:313,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_msg_test.c:313,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:314,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:315,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: test_cmp_create_certconf_fail_info_max
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ossl_cmp_ctx_set0_newCert
    - tear_down
    - X509_dup
    - 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:324,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/test/cmp_msg_test.c:325,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:330,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:330,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:331,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 6
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: test_cmp_create_error_msg
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_STATUSINFO_new
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - set1_newPkey
    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:340,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 344
    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:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:350,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_msg_test.c:350,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:351,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: test_cmp_create_rr
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set1_oldCert
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    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:362,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/test/cmp_msg_test.c:364,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/cmp_msg_test.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:366,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/test/cmp_msg_test.c:366,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/test/cmp_msg_test.c:367,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:368,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionName: test_cmp_create_genm
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_ITAV_free
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_create
    - EXECUTE_TEST
    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:379,1
    - Dst: OSSL_CMP_CERTRESPONSE_new
      Src: /src/openssl/test/cmp_msg_test.c:380,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_msg_test.c:386,1
    - Dst: OSSL_CMP_CERTIFIEDKEYPAIR_new
      Src: /src/openssl/test/cmp_msg_test.c:388,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:391,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_push
      Src: /src/openssl/test/cmp_msg_test.c:392,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/test/cmp_msg_test.c:395,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:396,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_msg_test.c:398,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/test/cmp_msg_test.c:398,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/openssl/test/cmp_msg_test.c:400,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_msg_test.c:401,1
    - Dst: X509_cmp
      Src: /src/openssl/test/cmp_msg_test.c:401,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_msg_test.c:406,1
    - Dst: OSSL_CMP_CERTRESPONSE_free
      Src: /src/openssl/test/cmp_msg_test.c:407,1
    - Dst: OSSL_CMP_CERTREPMESSAGE_free
      Src: /src/openssl/test/cmp_msg_test.c:408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 376
    functionDepth: 10
    functionLinenumber: 376
    functionLinenumberEnd: 410
    functionName: execute_certrep_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CERTRESPONSE_free
    - TEST_ptr
    - X509_free
    - X509_dup
    - X509_cmp
    - ossl_cmp_certrepmessage_get0_certresponse
    - OSSL_CMP_CERTIFIEDKEYPAIR_new
    - OSSL_CMP_CERTRESPONSE_new
    - sk_OSSL_CMP_CERTRESPONSE_push
    - TEST_ptr_null
    - ossl_cmp_certresponse_get1_cert
    - OSSL_CMP_CERTREPMESSAGE_new
    - TEST_int_eq
    - OSSL_CMP_CERTREPMESSAGE_free
    - ASN1_INTEGER_set
    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:414,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    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:421,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_msg_test.c:422,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/cmp_msg_test.c:423,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/cmp_msg_test.c:431,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_msg_test.c:433,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/openssl/test/cmp_msg_test.c:434,1
    - Dst: ossl_cmp_rp_new
      Src: /src/openssl/test/cmp_msg_test.c:435,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:438,1
    - Dst: ossl_cmp_revrepcontent_get_CertId
      Src: /src/openssl/test/cmp_msg_test.c:438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:441,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/openssl/test/cmp_msg_test.c:441,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/cmp_msg_test.c:446,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_msg_test.c:447,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/test/cmp_msg_test.c:448,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/test/cmp_msg_test.c:449,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_msg_test.c:450,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 419
    functionDepth: 14
    functionLinenumber: 419
    functionLinenumberEnd: 452
    functionName: execute_rp_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_CERTID_gen
    - ASN1_INTEGER_new
    - TEST_ptr
    - ossl_cmp_revrepcontent_get_CertId
    - X509_NAME_free
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_MSG_free
    - ASN1_INTEGER_free
    - ossl_cmp_rp_new
    - ossl_cmp_revrepcontent_get_pkisi
    - X509_NAME_add_entry_by_txt
    - OSSL_CRMF_CERTID_free
    - ASN1_INTEGER_set
    - 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:456,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 459
    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:466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:467,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:469,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/openssl/test/cmp_msg_test.c:469,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_msg_test.c:471,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/openssl/test/cmp_msg_test.c:471,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_msg_test.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 14
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: execute_pollrep_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_pollrepcontent_get0_pollrep
    - TEST_ptr
    - OSSL_CMP_MSG_free
    - ossl_cmp_pollRep_new
    - TEST_ptr_null
    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:482,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 485
    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:491,1
    - Dst: load_csr_der
      Src: /src/openssl/test/cmp_msg_test.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:497,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/test/cmp_msg_test.c:497,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:498,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/cmp_msg_test.c:501,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - bodytype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 527
    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
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_p10CSR
    - 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:531,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_msg_test.c:532,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_msg_test.c:533,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_msg_test.c:534,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_msg_test.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 536
    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:543,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_msg_test.c:544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:548,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_msg_test.c:548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:549,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_msg_test.c:549,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:550,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_msg_test.c:550,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_msg_test.c:551,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_msg_test.c:555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:558,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_msg_test.c:558,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:559,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_msg_test.c:559,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_msg_test.c:560,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/cmp_msg_test.c:560,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/cmp_msg_test.c:561,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:566,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:567,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:569,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:570,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:572,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:573,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_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/cmp_msg_test.c:585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 541
    functionDepth: 7
    functionLinenumber: 541
    functionLinenumberEnd: 588
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - TEST_ptr
    - test_get_argument
    - load_cert_pem
    - ADD_TEST
    - TEST_error
    - TEST_int_eq
    - RAND_bytes_ex
    - ADD_ALL_TESTS_NOSUBTEST
    - test_arg_libctx
    - load_pkey_pem
    - test_skip_common_options
    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_ptr
    - TEST_mem_eq
    - strlen
    - TEST_ptr_eq
    - TEST_ptr_ne
    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:99,1
    - Dst: d2i_X509
      Src: /src/openssl/test/x509_test.c:99,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:100,1
    - Dst: X509_sign
      Src: /src/openssl/test/x509_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:101,1
    - Dst: X509_verify
      Src: /src/openssl/test/x509_test.c:101,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: test_x509_tbs_cache
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - d2i_X509
    - TEST_ptr
    - X509_verify
    - X509_free
    - TEST_int_gt
    - TEST_int_eq
    - X509_sign
    linkageType: ''
    returnType: int
    signature: int test_x509_tbs_cache(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:112,1
    - Dst: X509_new
      Src: /src/openssl/test/x509_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:113,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/x509_test.c:113,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:114,1
    - Dst: X509_verify
      Src: /src/openssl/test/x509_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:115,1
    - Dst: X509_verify
      Src: /src/openssl/test/x509_test.c:115,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:116,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_test.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: test_x509_verify_with_new
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_verify
    - X509_new
    - X509_free
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_new
    linkageType: ''
    returnType: int
    signature: int test_x509_verify_with_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:132,1
    - Dst: d2i_X509_CRL
      Src: /src/openssl/test/x509_test.c:132,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:133,1
    - Dst: X509_CRL_sign
      Src: /src/openssl/test/x509_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:134,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/test/x509_test.c:134,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/x509_test.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: test_x509_crl_tbs_cache
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_CRL_free
    - TEST_int_gt
    - TEST_int_eq
    - X509_CRL_sign
    - X509_CRL_verify
    - d2i_X509_CRL
    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:153,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_test.c:153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:154,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_test.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:155,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/x509_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:156,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/x509_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:161,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/test/x509_test.c:161,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:164,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/test/x509_test.c:164,1
    - Dst: X509_get0_signature
      Src: /src/openssl/test/x509_test.c:168,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:170,1
    - Dst: ASN1_item_verify
      Src: /src/openssl/test/x509_test.c:170,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/x509_test.c:170,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/x509_test.c:176,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/x509_test.c:177,1
    - Dst: ASN1_item_verify
      Src: /src/openssl/test/x509_test.c:177,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/x509_test.c:177,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/x509_test.c:181,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/x509_test.c:184,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:192,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_test.c:193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 140
    functionDepth: 9
    functionLinenumber: 140
    functionLinenumberEnd: 195
    functionName: test_asn1_item_verify
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - TEST_int_lt
    - TEST_ptr
    - ERR_clear_last_mark
    - test_get_argument
    - X509_free
    - BIO_free
    - TEST_int_gt
    - X509_get0_signature
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_set1_RSA
    - X509_get0_pubkey
    - ASN1_ITEM_rptr
    - BIO_new_file
    - ERR_set_mark
    - PEM_read_bio_X509
    - ASN1_item_verify
    linkageType: ''
    returnType: int
    signature: int test_asn1_item_verify(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:204,1
    - Dst: X509_new
      Src: /src/openssl/test/x509_test.c:204,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:206,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:208,1
    - Dst: X509_EXTENSION_new
      Src: /src/openssl/test/x509_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:209,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/x509_test.c:209,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:210,1
    - Dst: X509_EXTENSION_set_object
      Src: /src/openssl/test/x509_test.c:210,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:211,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:213,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:213,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:214,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/test/x509_test.c:214,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:214,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:218,1
    - Dst: X509_delete_ext
      Src: /src/openssl/test/x509_test.c:218,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:221,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:221,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:227,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:228,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 230
    functionName: test_x509_delete_last_extension
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - X509_EXTENSION_set_object
    - TEST_ptr
    - X509_EXTENSION_free
    - X509_new
    - X509_get0_extensions
    - X509_delete_ext
    - X509_free
    - X509_add_ext
    - sk_X509_EXTENSION_num
    - TEST_int_eq
    - TEST_ptr_null
    - X509_EXTENSION_new
    linkageType: ''
    returnType: int
    signature: int test_x509_delete_last_extension(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:239,1
    - Dst: X509_CRL_new
      Src: /src/openssl/test/x509_test.c:239,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:241,1
    - Dst: X509_CRL_get0_extensions
      Src: /src/openssl/test/x509_test.c:241,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:243,1
    - Dst: X509_EXTENSION_new
      Src: /src/openssl/test/x509_test.c:243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:244,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/x509_test.c:244,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:245,1
    - Dst: X509_EXTENSION_set_object
      Src: /src/openssl/test/x509_test.c:245,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:246,1
    - Dst: X509_CRL_add_ext
      Src: /src/openssl/test/x509_test.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:248,1
    - Dst: X509_CRL_get0_extensions
      Src: /src/openssl/test/x509_test.c:248,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:249,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/test/x509_test.c:249,1
    - Dst: X509_CRL_get0_extensions
      Src: /src/openssl/test/x509_test.c:249,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:254,1
    - Dst: X509_CRL_delete_ext
      Src: /src/openssl/test/x509_test.c:254,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:257,1
    - Dst: X509_CRL_get0_extensions
      Src: /src/openssl/test/x509_test.c:257,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/x509_test.c:263,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 266
    functionName: test_x509_crl_delete_last_extension
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - X509_EXTENSION_set_object
    - TEST_ptr
    - X509_CRL_new
    - X509_CRL_add_ext
    - X509_EXTENSION_free
    - X509_CRL_get0_extensions
    - X509_CRL_free
    - sk_X509_EXTENSION_num
    - TEST_int_eq
    - TEST_ptr_null
    - X509_EXTENSION_new
    - X509_CRL_delete_ext
    linkageType: ''
    returnType: int
    signature: int test_x509_crl_delete_last_extension(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:275,1
    - Dst: X509_REVOKED_new
      Src: /src/openssl/test/x509_test.c:275,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:277,1
    - Dst: X509_REVOKED_get0_extensions
      Src: /src/openssl/test/x509_test.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:279,1
    - Dst: X509_EXTENSION_new
      Src: /src/openssl/test/x509_test.c:279,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:280,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/x509_test.c:280,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:281,1
    - Dst: X509_EXTENSION_set_object
      Src: /src/openssl/test/x509_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:282,1
    - Dst: X509_REVOKED_add_ext
      Src: /src/openssl/test/x509_test.c:282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:284,1
    - Dst: X509_REVOKED_get0_extensions
      Src: /src/openssl/test/x509_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:285,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/test/x509_test.c:285,1
    - Dst: X509_REVOKED_get0_extensions
      Src: /src/openssl/test/x509_test.c:285,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:289,1
    - Dst: X509_REVOKED_delete_ext
      Src: /src/openssl/test/x509_test.c:289,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:292,1
    - Dst: X509_REVOKED_get0_extensions
      Src: /src/openssl/test/x509_test.c:292,1
    - Dst: X509_REVOKED_free
      Src: /src/openssl/test/x509_test.c:298,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:299,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 301
    functionName: test_x509_revoked_delete_last_extension
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - X509_EXTENSION_set_object
    - TEST_ptr
    - X509_EXTENSION_free
    - X509_REVOKED_delete_ext
    - X509_REVOKED_get0_extensions
    - sk_X509_EXTENSION_num
    - TEST_int_eq
    - TEST_ptr_null
    - X509_REVOKED_free
    - X509_EXTENSION_new
    - X509_REVOKED_add_ext
    - X509_REVOKED_new
    linkageType: ''
    returnType: int
    signature: int test_x509_revoked_delete_last_extension(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:316,1
    - Dst: X509_new
      Src: /src/openssl/test/x509_test.c:316,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:317,1
    - Dst: X509_set_version
      Src: /src/openssl/test/x509_test.c:317,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:318,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/x509_test.c:318,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/test/x509_test.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:319,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/x509_test.c:319,1
    - Dst: X509_NAME_ENTRY_create_by_NID
      Src: /src/openssl/test/x509_test.c:322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:324,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:325,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/test/x509_test.c:325,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:326,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/test/x509_test.c:326,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:327,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/test/x509_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:328,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/x509_test.c:328,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/test/x509_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:329,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/x509_test.c:329,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/test/x509_test.c:329,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:330,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/test/x509_test.c:330,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/test/x509_test.c:337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:338,1
    - Dst: X509V3_EXT_conf
      Src: /src/openssl/test/x509_test.c:338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:339,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_test.c:339,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:340,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:344,1
    - Dst: BIO_new
      Src: /src/openssl/test/x509_test.c:344,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/x509_test.c:344,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/x509_test.c:345,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:345,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:346,1
    - Dst: NCONF_new
      Src: /src/openssl/test/x509_test.c:346,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:347,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/x509_test.c:347,1
    - Dst: BIO_reset
      Src: /src/openssl/test/x509_test.c:349,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/test/x509_test.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_test.c:352,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/test/x509_test.c:352,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:353,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:353,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:354,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/test/x509_test.c:354,1
    - Dst: NCONF_free
      Src: /src/openssl/test/x509_test.c:358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:359,1
    - Dst: NCONF_new
      Src: /src/openssl/test/x509_test.c:359,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/x509_test.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:360,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:361,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/x509_test.c:361,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/test/x509_test.c:364,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_test.c:365,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/test/x509_test.c:365,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:366,1
    - Dst: X509_sign
      Src: /src/openssl/test/x509_test.c:366,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_test.c:367,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:367,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:374,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:375,1
    - Dst: X509V3_EXT_conf
      Src: /src/openssl/test/x509_test.c:375,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:376,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_test.c:376,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:377,1
    - Dst: X509_sign
      Src: /src/openssl/test/x509_test.c:377,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:378,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/test/x509_test.c:378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:379,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/test/x509_test.c:379,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_test.c:384,1
    - Dst: NCONF_free
      Src: /src/openssl/test/x509_test.c:385,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/test/x509_test.c:386,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/x509_test.c:387,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:388,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:389,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 391
    functionName: test_drop_empty_cert_keyids
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - NCONF_load_bio
    - TEST_ptr
    - X509_gmtime_adj
    - X509_free
    - X509V3_EXT_add_nconf
    - X509V3_EXT_conf
    - TEST_true
    - TEST_ptr_null
    - NCONF_free
    - X509_set_subject_name
    - BIO_new
    - X509_NAME_ENTRY_create_by_NID
    - X509_add_ext
    - X509_set_pubkey
    - TEST_int_gt
    - TEST_int_eq
    - X509V3_set_nconf
    - X509_get_serialNumber
    - X509_getm_notBefore
    - BIO_s_mem
    - NCONF_new
    - X509_getm_notAfter
    - X509_get0_extensions
    - BIO_free
    - BIO_reset
    - X509_sign
    - ASN1_INTEGER_set
    - X509_EXTENSION_free
    - X509_NAME_new
    - X509_set_version
    - BIO_printf
    - X509_NAME_free
    - X509_new
    - X509_NAME_add_entry
    - X509_set_issuer_name
    - X509V3_set_ctx
    - sk_X509_EXTENSION_num
    - TEST_int_ge
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: int test_drop_empty_cert_keyids(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_test.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:406,1
    - Dst: X509_REQ_new
      Src: /src/openssl/test/x509_test.c:406,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:407,1
    - Dst: X509_REQ_set_version
      Src: /src/openssl/test/x509_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:408,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/x509_test.c:408,1
    - Dst: X509_NAME_ENTRY_create_by_NID
      Src: /src/openssl/test/x509_test.c:411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:413,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:414,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/test/x509_test.c:414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:415,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/test/x509_test.c:415,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:416,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/openssl/test/x509_test.c:416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:420,1
    - Dst: BIO_new
      Src: /src/openssl/test/x509_test.c:420,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/x509_test.c:420,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/x509_test.c:421,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:421,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:422,1
    - Dst: NCONF_new
      Src: /src/openssl/test/x509_test.c:422,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:423,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/x509_test.c:423,1
    - Dst: BIO_reset
      Src: /src/openssl/test/x509_test.c:425,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/test/x509_test.c:427,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/test/x509_test.c:428,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_test.c:429,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/openssl/test/x509_test.c:429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:430,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/openssl/test/x509_test.c:430,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:431,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/test/x509_test.c:431,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:432,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/test/x509_test.c:432,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/test/x509_test.c:434,1
    - Dst: NCONF_free
      Src: /src/openssl/test/x509_test.c:438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:439,1
    - Dst: NCONF_new
      Src: /src/openssl/test/x509_test.c:439,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/x509_test.c:440,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:440,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:441,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/x509_test.c:441,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/test/x509_test.c:444,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_test.c:445,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/openssl/test/x509_test.c:445,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:446,1
    - Dst: X509_REQ_sign
      Src: /src/openssl/test/x509_test.c:446,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:447,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/openssl/test/x509_test.c:447,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_test.c:453,1
    - Dst: NCONF_free
      Src: /src/openssl/test/x509_test.c:454,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/test/x509_test.c:455,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/x509_test.c:456,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_test.c:457,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/test/x509_test.c:458,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/x509_test.c:459,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 461
    functionName: test_drop_empty_csr_keyids
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_new
    - NCONF_load_bio
    - TEST_ptr
    - X509_REQ_get_attr_count
    - TEST_true
    - NCONF_free
    - X509_REQ_get_extensions
    - X509_REQ_sign
    - BIO_new
    - X509_NAME_ENTRY_create_by_NID
    - TEST_int_gt
    - TEST_int_eq
    - STACK_OF
    - X509V3_set_nconf
    - BIO_s_mem
    - NCONF_new
    - X509_REQ_set_subject_name
    - BIO_free
    - X509_REQ_set_pubkey
    - BIO_reset
    - X509_EXTENSION_free
    - X509_NAME_new
    - BIO_printf
    - X509_REQ_free
    - X509_NAME_free
    - X509_NAME_add_entry
    - X509V3_set_ctx
    - sk_X509_EXTENSION_num
    - TEST_int_ge
    - X509_NAME_ENTRY_free
    - X509_REQ_set_version
    - sk_X509_EXTENSION_pop_free
    - X509V3_EXT_REQ_add_nconf
    linkageType: ''
    returnType: int
    signature: int test_drop_empty_csr_keyids(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:517,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_test.c:517,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:518,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/x509_test.c:518,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:519,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/test/x509_test.c:519,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/x509_test.c:520,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/x509_test.c:520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:530,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/x509_test.c:530,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:531,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/test/x509_test.c:531,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:532,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/x509_test.c:532,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:535,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/test/x509_test.c:535,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:538,1
    - Dst: d2i_RSA_PUBKEY
      Src: /src/openssl/test/x509_test.c:538,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/x509_test.c:539,1
    - Dst: RSA_bits
      Src: /src/openssl/test/x509_test.c:539,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509_test.c:547,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:549,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 503
    functionDepth: 10
    functionLinenumber: 503
    functionLinenumberEnd: 551
    functionName: test_rsaesoaep_spki
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - X509_get_X509_PUBKEY
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_get_bits
    - X509_free
    - TEST_int_gt
    - i2d_X509_PUBKEY
    - d2i_RSA_PUBKEY
    - TEST_int_eq
    - TEST_int_ge
    - X509_get0_pubkey
    - RSA_bits
    - EVP_PKEY_get_base_id
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_rsaesoaep_spki(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509_test.c:560,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_test.c:562,1
    - Dst: d2i_PUBKEY
      Src: /src/openssl/test/x509_test.c:567,1
    - Dst: d2i_PrivateKey
      Src: /src/openssl/test/x509_test.c:570,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:573,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/x509_test.c:578,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:580,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:584,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:586,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:587,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:588,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:589,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:590,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:591,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 555
    functionDepth: 15
    functionLinenumber: 555
    functionLinenumberEnd: 595
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - d2i_PUBKEY
    - ADD_TEST
    - TEST_error
    - EVP_MD_fetch
    - d2i_PrivateKey
    - test_get_argument_count
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/test/x509_test.c:599,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_test.c:600,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_test.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 4
    functionLinenumber: 597
    functionLinenumberEnd: 602
    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:
    - parseBN
    - strlen
    - findattr
    - 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:
    - getBN
    - TEST_ptr
    - BN_get_word
    - TEST_uint64_t_le
    - BN_free
    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:
    - TEST_BN_eq
    - BN_cmp
    - 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_bntest_rand
    - equalBN
    - TEST_ptr
    - TEST_false
    - BN_copy
    - TEST_true
    - BN_swap
    - BN_consttime_swap
    - BN_free
    - BN_num_bits
    - BN_get_flags
    - BN_new
    - 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:
    - BN_bntest_rand
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_set_bit
    - BN_sub
    - BN_set_negative
    - rand_neg
    - BN_copy
    - TEST_true
    - BN_free
    - TEST_int_ne
    - BN_new
    - BN_add_word
    - BN_add
    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_bntest_rand
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_sub
    - BN_set_negative
    - rand_neg
    - BN_div_recp
    - BN_copy
    - TEST_true
    - BN_mul
    - BN_RECP_CTX_new
    - BN_RECP_CTX_free
    - BN_free
    - BN_RECP_CTX_set
    - BN_new
    - BN_add_word
    - BN_lshift
    - BN_add
    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_new
    - BN_set_word
    - BN_free
    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
    - TEST_ptr
    - BN_div
    - TEST_true
    - BN_free
    - set_signed_bn
    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
    - TEST_ptr
    - BN_div
    - TEST_true
    - BN_free
    - set_signed_bn
    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:
    - BN_bntest_rand
    - TEST_BN_eq
    - TEST_ptr
    - BN_set_negative
    - rand_neg
    - BN_div
    - TEST_true
    - BN_mul
    - BN_free
    - BN_new
    - BN_mod
    - BN_add
    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:684,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:684,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:685,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:685,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:686,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:686,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:687,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:687,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:688,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:688,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:689,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:694,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:694,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:696,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:697,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:697,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:698,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:706,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:706,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:707,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:707,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:709,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/test/bntest.c:709,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:710,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:710,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:711,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:711,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:712,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:716,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:716,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:717,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:717,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:718,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:718,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:719,1
    - Dst: BN_MONT_CTX_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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:731,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:732,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:733,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 472
    functionDepth: 7
    functionLinenumber: 472
    functionLinenumberEnd: 735
    functionName: test_modexp_mont5
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bntest_rand
    - TEST_ptr
    - TEST_BN_eq_one
    - TEST_true
    - BN_hex2bn
    - BN_from_montgomery
    - BN_mod_exp_simple
    - BN_zero
    - BN_MONT_CTX_free
    - BN_one
    - BN_mod_exp_mont
    - TEST_false
    - TEST_BN_eq_zero
    - BN_mod_exp_mont_consttime
    - BN_mod_mul_montgomery
    - parse_bigBN
    - BN_new
    - TEST_BN_eq
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_free
    - BN_dup
    linkageType: ''
    returnType: int
    signature: int test_modexp_mont5(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:743,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:743,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:744,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:744,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:745,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:745,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:749,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:749,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:750,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:750,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:750,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:752,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:752,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:753,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:753,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:754,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:754,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:756,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:756,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:756,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:757,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:757,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:759,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:759,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:761,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:766,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:767,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:768,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 738
    functionDepth: 7
    functionLinenumber: 738
    functionLinenumberEnd: 770
    functionName: test_gf2m_add
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - TEST_false
    - TEST_ptr
    - TEST_BN_eq_zero
    - BN_set_negative
    - rand_neg
    - BN_copy
    - TEST_true
    - BN_rand
    - BN_is_odd
    - BN_free
    - BN_value_one
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_gf2m_add(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:780,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:781,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:781,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:782,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:782,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:785,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:785,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:786,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:786,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:790,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:790,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:793,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:793,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:794,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:794,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:795,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:795,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:797,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:806,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:807,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:808,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 772
    functionDepth: 7
    functionLinenumber: 772
    functionLinenumberEnd: 810
    functionName: test_gf2m_mod
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_bntest_rand
    - TEST_BN_eq_zero
    - TEST_ptr
    - TEST_true
    - BN_GF2m_mod
    - BN_free
    - BN_GF2m_arr2poly
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_gf2m_mod(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:824,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:824,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:825,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:825,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:826,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:826,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:829,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:829,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:830,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:830,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:834,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:834,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:835,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:835,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:836,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:836,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_mod_mul
      Src: /src/openssl/test/bntest.c:841,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:842,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:842,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:843,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:843,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:844,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:844,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:846,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:859,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:860,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:861,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 812
    functionDepth: 7
    functionLinenumber: 812
    functionLinenumberEnd: 863
    functionName: test_gf2m_mul
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_bntest_rand
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_GF2m_mod_mul
    - TEST_true
    - BN_free
    - BN_GF2m_arr2poly
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_gf2m_mul(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:872,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:872,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:873,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:873,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:874,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:874,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:877,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:877,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:878,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:878,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:882,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:882,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:885,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/openssl/test/bntest.c:885,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:886,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:886,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:887,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:887,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:888,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:888,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:890,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:896,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:897,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:898,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:899,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:900,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 865
    functionDepth: 7
    functionLinenumber: 865
    functionLinenumberEnd: 902
    functionName: test_gf2m_sqr
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_bntest_rand
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_GF2m_mod_mul
    - BN_copy
    - TEST_true
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_arr2poly
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_gf2m_sqr(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:911,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:912,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:912,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:913,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:913,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:917,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:917,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:919,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:919,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:921,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/test/bntest.c:921,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:924,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:924,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:925,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:925,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:929,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:929,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:932,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/test/bntest.c:932,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:933,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:933,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:935,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:941,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:942,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:943,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:944,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:945,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 904
    functionDepth: 8
    functionLinenumber: 904
    functionLinenumberEnd: 947
    functionName: test_gf2m_modinv
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bntest_rand
    - TEST_false
    - TEST_ptr
    - TEST_BN_eq_one
    - BN_GF2m_mod_mul
    - TEST_true
    - BN_free
    - BN_GF2m_arr2poly
    - BN_GF2m_mod_inv
    - BN_new
    - BN_one
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modinv(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:959,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:959,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:960,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:960,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:961,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:961,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:964,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:964,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:965,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:965,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:969,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:969,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:970,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:970,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:973,1
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/test/bntest.c:973,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:974,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:974,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:975,1
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/test/bntest.c:975,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:977,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:987,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:988,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:989,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 949
    functionDepth: 9
    functionLinenumber: 949
    functionLinenumberEnd: 991
    functionName: test_gf2m_moddiv
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_div
    - BN_bntest_rand
    - TEST_ptr
    - TEST_BN_eq_one
    - BN_GF2m_mod_mul
    - TEST_true
    - BN_free
    - BN_GF2m_arr2poly
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_gf2m_moddiv(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:1003,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1003,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1004,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1004,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1005,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1005,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1008,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1008,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1009,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1009,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1013,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1013,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1014,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1014,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1015,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1015,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1018,1
    - Dst: BN_GF2m_mod_exp
      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_mod_mul
      Src: /src/openssl/test/bntest.c:1020,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1021,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1021,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1022,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/openssl/test/bntest.c:1022,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1023,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1023,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1025,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1035,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1036,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1037,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 993
    functionDepth: 8
    functionLinenumber: 993
    functionLinenumberEnd: 1039
    functionName: test_gf2m_modexp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_bntest_rand
    - BN_GF2m_mod_exp
    - TEST_ptr
    - TEST_BN_eq_zero
    - BN_GF2m_mod_mul
    - TEST_true
    - BN_free
    - BN_GF2m_arr2poly
    - BN_new
    - BN_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modexp(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:1051,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1051,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1052,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1052,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1053,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1053,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1056,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1056,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1057,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1057,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1061,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1061,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1065,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:1065,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1066,1
    - Dst: BN_GF2m_mod_sqrt
      Src: /src/openssl/test/bntest.c:1066,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1067,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/openssl/test/bntest.c:1067,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1068,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1068,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1070,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1080,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1081,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1082,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1041
    functionDepth: 9
    functionLinenumber: 1041
    functionLinenumberEnd: 1084
    functionName: test_gf2m_modsqrt
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_bntest_rand
    - BN_GF2m_mod_sqrt
    - TEST_BN_eq_zero
    - TEST_ptr
    - TEST_true
    - BN_GF2m_mod
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_arr2poly
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modsqrt(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - 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_ptr
      Src: /src/openssl/test/bntest.c:1095,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1095,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1096,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1096,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1097,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1097,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1100,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1100,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1101,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1101,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1105,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1105,1
    - Dst: BN_GF2m_mod_solve_quad
      Src: /src/openssl/test/bntest.c:1108,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1111,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/openssl/test/bntest.c:1111,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1112,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1112,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1113,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:1113,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1114,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1114,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1119,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bntest.c:1124,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:1125,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1133,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1134,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1135,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1086
    functionDepth: 9
    functionLinenumber: 1086
    functionLinenumberEnd: 1137
    functionName: test_gf2m_modsolvequad
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - BN_bntest_rand
    - BN_GF2m_mod_solve_quad
    - TEST_BN_eq_zero
    - TEST_ptr
    - TEST_true
    - BN_GF2m_mod
    - TEST_int_ge
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_arr2poly
    - BN_new
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modsolvequad(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1145,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1146,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1147,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1147,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1148,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1148,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1161,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:1161,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1163,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:1163,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1166,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1166,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1168,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:1168,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1171,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1171,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1173,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1174,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/bntest.c:1174,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1176,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1176,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1179,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1181,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/bntest.c:1181,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1183,1
    - Dst: BN_is_word
      Src: /src/openssl/test/bntest.c:1185,1
    - Dst: BN_is_zero
      Src: /src/openssl/test/bntest.c:1187,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1190,1
    - Dst: BN_add_word
      Src: /src/openssl/test/bntest.c:1190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1192,1
    - Dst: BN_ucmp
      Src: /src/openssl/test/bntest.c:1192,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:1193,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bntest.c:1199,1
    - Dst: BN_kronecker
      Src: /src/openssl/test/bntest.c:1199,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1202,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1202,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1205,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1211,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1212,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1213,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1214,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1140
    functionDepth: 7
    functionLinenumber: 1140
    functionLinenumberEnd: 1216
    functionName: test_kronecker
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bntest_rand
    - BN_ucmp
    - TEST_ptr
    - BN_is_zero
    - BN_copy
    - TEST_true
    - BN_is_word
    - BN_set_negative
    - TEST_int_eq
    - BN_kronecker
    - BN_new
    - BN_is_negative
    - rand_neg
    - BN_mod_exp_recp
    - BN_rshift1
    - BN_generate_prime_ex
    - TEST_int_ge
    - BN_free
    - TEST_info
    - BN_add_word
    - BN_sub_word
    linkageType: ''
    returnType: int
    signature: int test_kronecker(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1224,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1224,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1225,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1226,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1227,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1227,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1230,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1230,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1231,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1232,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1232,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1233,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1234,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1234,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1235,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_add
      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: TEST_true
      Src: /src/openssl/test/bntest.c:1258,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1258,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1259,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1259,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1260,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1269,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1269,1
    - Dst: BN_cmp
      Src: /src/openssl/test/bntest.c:1269,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1270,1
    - Dst: BN_uadd
      Src: /src/openssl/test/bntest.c:1270,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1271,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1272,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1272,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1273,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1274,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1274,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1275,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_uadd
      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: TEST_true
      Src: /src/openssl/test/bntest.c:1298,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1298,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1299,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1299,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1300,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:1307,1
    - Dst: BN_is_negative
      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_add_word
      Src: /src/openssl/test/bntest.c:1310,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1311,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1312,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1312,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1313,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/bntest.c:1313,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1314,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1320,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1321,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1322,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1323,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1218
    functionDepth: 7
    functionLinenumber: 1218
    functionLinenumberEnd: 1325
    functionName: file_sum
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - BN_uadd
    - BN_sub
    - BN_get_word
    - BN_usub
    - BN_copy
    - TEST_true
    - BN_free
    - BN_cmp
    - BN_new
    - BN_add_word
    - BN_sub_word
    - BN_is_negative
    - BN_add
    linkageType: ''
    returnType: int
    signature: int file_sum(STANZA *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1333,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1334,1
    - Dst: getBN
      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: TEST_ptr
      Src: /src/openssl/test/bntest.c:1336,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1337,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1338,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1338,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:1341,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1343,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:1343,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1344,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1344,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1345,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1346,1
    - Dst: BN_mul
      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_div
      Src: /src/openssl/test/bntest.c:1348,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1349,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1350,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1351,1
    - Dst: BN_lshift1
      Src: /src/openssl/test/bntest.c:1351,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1352,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1353,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1353,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1354,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1355,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1355,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1356,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1360,1
    - Dst: BN_set_bit
      Src: /src/openssl/test/bntest.c:1360,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1361,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1361,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1362,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1363,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1363,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1364,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1372,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1373,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1374,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1327
    functionDepth: 7
    functionLinenumber: 1327
    functionLinenumberEnd: 1377
    functionName: file_lshift1
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - BN_set_word
    - equalBN
    - TEST_ptr
    - BN_set_bit
    - BN_zero
    - BN_rshift1
    - BN_mul
    - TEST_true
    - BN_div
    - BN_lshift1
    - BN_free
    - BN_new
    - BN_add
    linkageType: ''
    returnType: int
    signature: int file_lshift1(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1384,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1385,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1385,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1386,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1386,1
    - Dst: getint
      Src: /src/openssl/test/bntest.c:1387,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1390,1
    - Dst: BN_lshift
      Src: /src/openssl/test/bntest.c:1390,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1391,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1392,1
    - Dst: BN_rshift
      Src: /src/openssl/test/bntest.c:1392,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1393,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1398,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1399,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1400,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1379
    functionDepth: 8
    functionLinenumber: 1379
    functionLinenumberEnd: 1402
    functionName: file_lshift
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - getint
    - TEST_true
    - BN_free
    - BN_rshift
    - BN_new
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int file_lshift(STANZA *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1409,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1409,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1410,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1411,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1411,1
    - Dst: getint
      Src: /src/openssl/test/bntest.c:1412,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1415,1
    - Dst: BN_rshift
      Src: /src/openssl/test/bntest.c:1415,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1416,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1421,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1421,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1422,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1428,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1429,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1404
    functionDepth: 8
    functionLinenumber: 1404
    functionLinenumberEnd: 1432
    functionName: file_rshift
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - getint
    - BN_rshift1
    - TEST_true
    - BN_free
    - BN_rshift
    - BN_new
    linkageType: ''
    returnType: int
    signature: int file_rshift(STANZA *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1440,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1441,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1442,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1442,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1443,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1444,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1444,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:1447,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1448,1
    - Dst: BN_sqr
      Src: /src/openssl/test/bntest.c:1448,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1449,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1450,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1450,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1451,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1452,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1452,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1453,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1454,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1458,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1459,1
    - Dst: BN_sqrt
      Src: /src/openssl/test/bntest.c:1459,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1460,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1465,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1465,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1466,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1466,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1468,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1470,1
    - Dst: BN_sqrt
      Src: /src/openssl/test/bntest.c:1470,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:1472,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1474,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1475,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:1475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1477,1
    - Dst: BN_sqrt
      Src: /src/openssl/test/bntest.c:1477,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:1479,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1488,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1489,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1490,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1434
    functionDepth: 7
    functionLinenumber: 1434
    functionLinenumberEnd: 1492
    functionName: file_square
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - TEST_BN_eq_zero
    - BN_zero
    - BN_set_negative
    - BN_sqr
    - BN_mul
    - TEST_true
    - BN_div
    - BN_copy
    - TEST_int_eq
    - BN_free
    - BN_value_one
    - BN_new
    - BN_sqrt
    - ERR_clear_error
    - BN_add
    linkageType: ''
    returnType: int
    signature: int file_square(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1500,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1501,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1501,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1502,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1503,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1503,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1504,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1504,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1505,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1505,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:1508,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1510,1
    - Dst: BN_mul
      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: TEST_true
      Src: /src/openssl/test/bntest.c:1515,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1515,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1516,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1517,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1525,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1526,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1527,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1494
    functionDepth: 7
    functionLinenumber: 1494
    functionLinenumberEnd: 1529
    functionName: file_product
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - BN_zero
    - BN_mul
    - TEST_true
    - BN_div
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int file_product(STANZA *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - 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: getBN
      Src: /src/openssl/test/bntest.c:1539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1540,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1540,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1541,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1542,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1542,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1543,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1544,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1544,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1547,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1547,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1548,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1549,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1550,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1550,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1551,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1551,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1552,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:1559,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1560,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:1561,1
    - Dst: assert
      Src: /src/openssl/test/bntest.c:1563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1564,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1564,1
    - Dst: BN_div_word
      Src: /src/openssl/test/bntest.c:1566,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1569,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1573,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1577,1
    - Dst: BN_mod_word
      Src: /src/openssl/test/bntest.c:1580,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1583,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1587,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1594,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1595,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1595,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1596,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1597,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1597,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1598,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1598,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1599,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
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1609,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1610,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1611,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 47
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts:
    - condition: (remainder_word != (BN_ULONG)-1)
      pos:
        line_end: 1562
        line_start: 1562
        source_file: /src/openssl/test/bntest.c
    constantsTouched: []
    func_position:
      end: 1613
      start: 1531
    functionDepth: 7
    functionLinenumber: 1531
    functionLinenumberEnd: 1613
    functionName: file_quotient
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - BN_get_word
    - BN_div
    - TEST_true
    - BN_mul
    - BN_copy
    - TEST_error
    - BN_mod_word
    - BN_nnmod
    - BN_free
    - assert
    - BN_div_word
    - BN_new
    - BN_is_negative
    - BN_add
    linkageType: ''
    returnType: int
    signature: int file_quotient(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - 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: getBN
      Src: /src/openssl/test/bntest.c:1621,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1622,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1623,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1623,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1624,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1624,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1627,1
    - Dst: BN_mod_mul
      Src: /src/openssl/test/bntest.c:1627,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1628,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:1631,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/bntest.c:1633,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1634,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1635,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1638,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:1638,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1639,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1639,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1640,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1640,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1641,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/test/bntest.c:1641,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1642,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/test/bntest.c:1642,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1643,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:1643,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1645,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/test/bntest.c:1645,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1646,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/bntest.c:1650,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1651,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1652,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1659,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1660,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1661,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1662,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1663,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1615
    functionDepth: 7
    functionLinenumber: 1615
    functionLinenumberEnd: 1665
    functionName: file_modmul
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_to_montgomery
    - TEST_true
    - BN_mod_mul_montgomery
    - BN_nnmod
    - BN_is_odd
    - BN_from_montgomery
    - BN_mod_mul
    - BN_MONT_CTX_free
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int file_modmul(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - 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: getBN
      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_sqr
      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: BN_MONT_CTX_new
      Src: /src/openssl/test/bntest.c:1684,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1685,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1688,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:1688,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1689,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1689,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1690,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/test/bntest.c:1690,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1691,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:1691,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1693,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/test/bntest.c:1693,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1694,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/bntest.c:1698,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1699,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1706,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1707,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1708,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1709,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1667
    functionDepth: 7
    functionLinenumber: 1667
    functionLinenumberEnd: 1711
    functionName: file_modsqr
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - BN_MONT_CTX_set
    - BN_MONT_CTX_new
    - BN_to_montgomery
    - TEST_true
    - BN_mod_mul_montgomery
    - BN_nnmod
    - BN_is_odd
    - BN_from_montgomery
    - BN_MONT_CTX_free
    - BN_free
    - BN_new
    - BN_mod_sqr
    linkageType: ''
    returnType: int
    signature: int file_modsqr(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1719,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1719,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1720,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1720,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1721,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1721,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1722,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1722,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1723,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1723,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1724,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1724,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1727,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:1727,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1728,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:1731,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1732,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:1732,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1733,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1734,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:1734,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1736,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:1741,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:1742,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:1743,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1750,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:1750,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1751,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1751,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:1752,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1757,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1758,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1759,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1760,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1761,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1762,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1763,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1764,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1713
    functionDepth: 7
    functionLinenumber: 1713
    functionLinenumberEnd: 1766
    functionName: file_modexp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - BN_mod_exp_mont
    - TEST_BN_eq
    - equalBN
    - TEST_ptr
    - BN_mod_exp_mont_consttime
    - BN_mul
    - TEST_true
    - BN_mod_exp
    - BN_is_odd
    - BN_hex2bn
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int file_modexp(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1773,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1773,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1774,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1774,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1775,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1775,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1776,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1776,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1779,1
    - Dst: BN_exp
      Src: /src/openssl/test/bntest.c:1779,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1780,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1785,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1786,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1787,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1768
    functionDepth: 7
    functionLinenumber: 1768
    functionLinenumberEnd: 1790
    functionName: file_exp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - TEST_true
    - BN_exp
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int file_exp(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1797,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1797,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1798,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1798,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1799,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1799,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1800,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1800,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1801,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1801,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1804,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bntest.c:1806,1
    - Dst: BN_mod_sqrt
      Src: /src/openssl/test/bntest.c:1806,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1814,1
    - Dst: BN_mod_sqrt
      Src: /src/openssl/test/bntest.c:1814,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1815,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1815,1
    - Dst: BN_cmp
      Src: /src/openssl/test/bntest.c:1819,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1820,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1825,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1826,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1827,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1828,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1829,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1792
    functionDepth: 8
    functionLinenumber: 1792
    functionLinenumberEnd: 1831
    functionName: file_modsqrt
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - BN_sub
    - BN_mod_sqrt
    - TEST_true
    - TEST_ptr_null
    - BN_free
    - BN_cmp
    - BN_new
    - BN_is_negative
    linkageType: ''
    returnType: int
    signature: int file_modsqrt(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1838,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1838,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1839,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1839,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1840,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1840,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1841,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1841,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1844,1
    - Dst: BN_gcd
      Src: /src/openssl/test/bntest.c:1844,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1845,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1850,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1851,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1852,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1853,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1833
    functionDepth: 7
    functionLinenumber: 1833
    functionLinenumberEnd: 1855
    functionName: file_gcd
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - getBN
    - equalBN
    - TEST_ptr
    - TEST_true
    - BN_gcd
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int file_gcd(STANZA *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1865,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1865,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1867,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1867,1
    - Dst: memset
      Src: /src/openssl/test/bntest.c:1869,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1870,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1870,1
    - Dst: memset
      Src: /src/openssl/test/bntest.c:1872,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1873,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1880,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:1880,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1882,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/bntest.c:1882,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1883,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/bntest.c:1883,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1886,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1886,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1889,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1889,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1892,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1892,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1893,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1896,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1896,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1897,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1898,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1901,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1901,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1902,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1904,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1911,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1857
    functionDepth: 7
    functionLinenumber: 1857
    functionLinenumberEnd: 1913
    functionName: test_bn2padded
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - BN_num_bytes
    - TEST_true
    - BN_rand
    - TEST_int_eq
    - memset
    - BN_free
    - BN_bn2bin
    - BN_new
    - 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: 1975
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1975
    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:1984,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1984,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1985,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:1985,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1994,1
    - Dst: BN_signed_bn2bin
      Src: /src/openssl/test/bntest.c:1994,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1996,1
    - Dst: copy_reversed
      Src: /src/openssl/test/bntest.c:1996,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1997,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2000,1
    - Dst: BN_signed_bin2bn
      Src: /src/openssl/test/bntest.c:2000,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:2001,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2004,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2008,1
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/test/bntest.c:2008,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:2009,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2012,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2021,1
    - Dst: BN_signed_bn2lebin
      Src: /src/openssl/test/bntest.c:2021,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2023,1
    - Dst: copy_reversed
      Src: /src/openssl/test/bntest.c:2023,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:2024,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2027,1
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/test/bntest.c:2027,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:2028,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2031,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2035,1
    - Dst: BN_signed_bin2bn
      Src: /src/openssl/test/bntest.c:2035,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:2036,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2041,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2042,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 1977
    functionDepth: 7
    functionLinenumber: 1977
    functionLinenumberEnd: 2044
    functionName: test_bn2signed
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_asc2bn
    - TEST_BN_eq
    - TEST_ptr
    - TEST_mem_eq
    - BN_signed_bin2bn
    - BN_signed_lebin2bn
    - TEST_true
    - copy_reversed
    - BN_signed_bn2bin
    - TEST_int_eq
    - BN_signed_bn2lebin
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_bn2signed(int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2051,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2051,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2052,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2053,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2054,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2055,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2056,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2058,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2061,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2061,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2062,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2063,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2064,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2065,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2066,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2068,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2071,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2071,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2072,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2073,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2074,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2075,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2076,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2078,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2081,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2081,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2082,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2083,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2084,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2085,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:2086,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/bntest.c:2087,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2089,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2092,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2092,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2093,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2094,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2095,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2096,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2098,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2101,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2101,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2102,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2103,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2104,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2105,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2106,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2111,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2046
    functionDepth: 7
    functionLinenumber: 2046
    functionLinenumberEnd: 2113
    functionName: test_dec2bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_zero
    - TEST_BN_ne_zero
    - parsedecBN
    - TEST_BN_abs_eq_word
    - TEST_BN_lt_zero
    - TEST_BN_odd
    - TEST_BN_eq_one
    - TEST_BN_ge_zero
    - TEST_BN_even
    - TEST_BN_gt_zero
    - TEST_BN_eq_word
    - TEST_int_eq
    - BN_free
    - TEST_BN_le_zero
    linkageType: ''
    returnType: int
    signature: int test_dec2bn(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2120,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2120,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2121,1
    - Dst: TEST_BN_ge_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:2125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2128,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2128,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2129,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2130,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2131,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2132,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2133,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2135,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2138,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2138,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2139,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2140,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2141,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2142,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2143,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2145,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2148,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2148,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2149,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2150,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2151,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2152,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/bntest.c:2153,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2155,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2158,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2158,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2159,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2160,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2161,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2162,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2164,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2167,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2167,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2168,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2169,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2170,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2171,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2172,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2177,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2115
    functionDepth: 6
    functionLinenumber: 2115
    functionLinenumberEnd: 2179
    functionName: test_hex2bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_zero
    - TEST_BN_ne_zero
    - TEST_BN_abs_eq_word
    - parseBN
    - TEST_BN_lt_zero
    - TEST_BN_odd
    - TEST_BN_ge_zero
    - TEST_BN_even
    - TEST_BN_gt_zero
    - TEST_int_eq
    - TEST_BN_eq_word
    - BN_free
    - TEST_BN_le_zero
    linkageType: ''
    returnType: int
    signature: int test_hex2bn(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2186,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2186,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2189,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2189,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2190,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2191,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2194,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2194,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2195,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2196,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2199,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2199,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2200,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2201,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2204,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2204,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2205,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2206,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2209,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2209,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2210,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2211,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2214,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2214,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2215,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2216,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2219,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2219,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2220,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2221,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2224,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2224,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2225,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2226,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2231,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2181
    functionDepth: 7
    functionLinenumber: 2181
    functionLinenumberEnd: 2233
    functionName: test_asc2bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_asc2bn
    - TEST_BN_eq_zero
    - TEST_ptr
    - TEST_BN_abs_eq_word
    - TEST_BN_lt_zero
    - TEST_BN_ge_zero
    - TEST_true
    - TEST_BN_eq_word
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_asc2bn(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2253,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2253,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2254,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2254,1
    - Dst: BN_bn2mpi
      Src: /src/openssl/test/bntest.c:2256,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/bntest.c:2257,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bntest.c:2260,1
    - Dst: BN_bn2mpi
      Src: /src/openssl/test/bntest.c:2260,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:2261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2264,1
    - Dst: BN_mpi2bn
      Src: /src/openssl/test/bntest.c:2264,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:2267,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2268,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2271,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2244
    functionDepth: 7
    functionLinenumber: 2244
    functionLinenumberEnd: 2277
    functionName: test_mpi
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_asc2bn
    - TEST_BN_eq
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_le
    - TEST_true
    - BN_free
    - TEST_size_t_eq
    - BN_new
    - BN_bn2mpi
    - BN_mpi2bn
    linkageType: ''
    returnType: int
    signature: int test_mpi(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2285,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2285,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2297,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2298,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2299,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2300,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2279
    functionDepth: 3
    functionLinenumber: 2279
    functionLinenumberEnd: 2307
    functionName: test_bin2zero
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - zerotest
    - BN_new
    - BN_free
    - TEST_ptr
    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: 2296
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2296
    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:2316,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2317,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2317,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2318,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2319,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2319,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2320,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2320,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2321,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2321,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2332,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2333,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2334,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2335,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2340,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2341,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2342,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2309
    functionDepth: 3
    functionLinenumber: 2309
    functionLinenumberEnd: 2345
    functionName: test_bin2bn_lengths
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - lengthtest
    - TEST_true
    - BN_free
    - BN_new
    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: 2331
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2331
    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:2352,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2352,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2356,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2356,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2357,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2357,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2358,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2358,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:2359,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2360,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2360,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2361,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2361,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:2362,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2363,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2363,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2364,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2369,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2347
    functionDepth: 7
    functionLinenumber: 2347
    functionLinenumberEnd: 2371
    functionName: test_rand
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 14
    functionsReached:
    - TEST_false
    - TEST_ptr
    - TEST_BN_eq_one
    - TEST_true
    - BN_rand
    - TEST_BN_eq_word
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_rand(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2407,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/bntest.c:2407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2408,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2409,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2409,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2410,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2410,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2413,1
    - Dst: BN_rand_range
      Src: /src/openssl/test/bntest.c:2413,1
    - Dst: TEST_uint_lt
      Src: /src/openssl/test/bntest.c:2414,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:2414,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:2426,1
    - Dst: TEST_note
      Src: /src/openssl/test/bntest.c:2427,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2434,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:2436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2395
    functionDepth: 8
    functionLinenumber: 2395
    functionLinenumberEnd: 2438
    functionName: test_rand_range_single
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - OPENSSL_free
    - BN_get_word
    - TEST_true
    - TEST_uint_lt
    - TEST_note
    - BN_rand_range
    - BN_free
    - OPENSSL_calloc
    - BN_new
    - TEST_info
    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:2445,1
    - Dst: test_rand_range_single
      Src: /src/openssl/test/bntest.c:2446,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bntest.c:2447,1
    - Dst: TEST_note
      Src: /src/openssl/test/bntest.c:2449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2440
    functionDepth: 9
    functionLinenumber: 2440
    functionLinenumberEnd: 2451
    functionName: test_rand_range
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - test_rand_range_single
    - TEST_note
    - OSSL_NELEM
    - TEST_int_ge
    linkageType: ''
    returnType: int
    signature: int test_rand_range(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2459,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2459,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2460,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2461,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2462,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2462,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2466,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2466,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2468,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2469,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2470,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:2470,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2472,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2477,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2477,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2478,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2478,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:2481,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:2482,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2485,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2485,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2486,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2486,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2488,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2489,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:2489,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2490,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2491,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2495,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2495,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2496,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:2496,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2497,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2498,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2500,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2501,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2506,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2507,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:2508,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2513,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2514,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2515,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2516,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2517,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2518,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2453
    functionDepth: 3
    functionLinenumber: 2453
    functionLinenumberEnd: 2520
    functionName: test_negzero
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_zero
    - BN_set_negative
    - TEST_BN_ge_zero
    - BN_mul
    - TEST_true
    - BN_div
    - BN_free
    - BN_new
    - BN_set_flags
    - BN_is_negative
    linkageType: ''
    returnType: int
    signature: int test_negzero(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2528,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2528,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2529,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2530,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2530,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2531,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/bntest.c:2531,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2533,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2535,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:2535,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2535,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2537,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2539,1
    - Dst: BN_mod_mul
      Src: /src/openssl/test/bntest.c:2539,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2539,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2539,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2541,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2543,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:2543,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2543,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2543,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2545,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2547,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2547,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2547,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2547,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2550,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2555,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2557,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:2557,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2559,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2562,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2562,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2565,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:2565,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2567,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2569,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2569,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2569,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2569,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2572,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2574,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2574,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2574,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2574,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2577,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2581,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2582,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2583,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/bntest.c:2584,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2522
    functionDepth: 7
    functionLinenumber: 2522
    functionLinenumberEnd: 2586
    functionName: test_badmod
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - BN_mod_exp_mont_consttime
    - BN_MONT_CTX_set
    - BN_zero
    - BN_MONT_CTX_new
    - BN_div
    - TEST_true
    - BN_mod_exp
    - BN_free
    - BN_mod_mul
    - BN_MONT_CTX_free
    - BN_value_one
    - BN_new
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int test_badmod(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2593,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2594,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2595,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2595,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2597,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2599,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:2599,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2599,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2600,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2601,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2601,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2601,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2603,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2604,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2604,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2605,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2607,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2608,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/openssl/test/bntest.c:2608,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2609,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2610,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2615,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2616,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2617,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2588
    functionDepth: 7
    functionLinenumber: 2588
    functionLinenumberEnd: 2619
    functionName: test_expmodzero
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_mod_exp_mont_consttime
    - BN_zero
    - BN_mod_exp_mont_word
    - TEST_true
    - BN_mod_exp
    - BN_free
    - BN_value_one
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_expmodzero(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2624,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2625,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2626,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2627,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2629,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2630,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2631,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2632,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2633,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2634,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2634,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2635,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2635,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2636,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2636,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2641,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:2641,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2642,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2643,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2643,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2644,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2645,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2645,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2646,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2647,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/openssl/test/bntest.c:2647,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2648,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2649,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:2649,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2650,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2651,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/bntest.c:2651,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2652,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2656,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2661,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2662,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2663,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2664,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2621
    functionDepth: 7
    functionLinenumber: 2621
    functionLinenumberEnd: 2666
    functionName: test_expmodone
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont
    - BN_set_word
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_mod_exp_mont_consttime
    - BN_mod_exp_mont_word
    - BN_set_negative
    - BN_mod_exp_recp
    - TEST_true
    - BN_mod_exp
    - BN_free
    - BN_mod_exp_simple
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_expmodone(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2673,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2673,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2677,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2677,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2681,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2681,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2683,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/bntest.c:2683,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2689,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - kBits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2668
    functionDepth: 4
    functionLinenumber: 2668
    functionLinenumberEnd: 2691
    functionName: test_smallprime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - TEST_true
    - BN_generate_prime_ex
    - TEST_int_eq
    - BN_free
    - BN_num_bits
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_smallprime(int kBits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2698,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2698,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2702,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2702,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2706,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2706,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2708,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/bntest.c:2708,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - kBits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2693
    functionDepth: 4
    functionLinenumber: 2693
    functionLinenumberEnd: 2716
    functionName: test_smallsafeprime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - TEST_true
    - BN_generate_prime_ex
    - TEST_int_eq
    - BN_free
    - BN_num_bits
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_smallsafeprime(int kBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2726,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2726,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2730,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2730,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2731,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/bntest.c:2731,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2720
    functionDepth: 5
    functionLinenumber: 2720
    functionLinenumberEnd: 2740
    functionName: test_is_prime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    - BN_free
    - BN_new
    - 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:2750,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2750,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2754,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2754,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2755,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/bntest.c:2755,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2744
    functionDepth: 5
    functionLinenumber: 2744
    functionLinenumberEnd: 2763
    functionName: test_not_prime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    - BN_free
    - BN_new
    - 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:2771,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:2772,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2773,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/bntest.c:2773,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:2776,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/bntest.c:2781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2765
    functionDepth: 2
    functionLinenumber: 2765
    functionLinenumberEnd: 2783
    functionName: test_ctx_set_ct_flag
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - TEST_ptr
    - BN_CTX_get
    - OSSL_NELEM
    - 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:2791,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:2792,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2793,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/bntest.c:2793,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2795,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:2795,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/bntest.c:2801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2785
    functionDepth: 2
    functionLinenumber: 2785
    functionLinenumberEnd: 2803
    functionName: test_ctx_check_ct_flag
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - TEST_false
    - TEST_ptr
    - BN_CTX_get
    - OSSL_NELEM
    - BN_get_flags
    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:2833,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/bntest.c:2833,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2834,1
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/test/bntest.c:2834,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2839,1
    - Dst: test_ctx_set_ct_flag
      Src: /src/openssl/test/bntest.c:2839,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2840,1
    - Dst: test_ctx_check_ct_flag
      Src: /src/openssl/test/bntest.c:2840,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bntest.c:2846,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bntest.c:2847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2805
    functionDepth: 4
    functionLinenumber: 2805
    functionLinenumberEnd: 2849
    functionName: test_ctx_consttime_flag
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_CTX_secure_new
    - TEST_ptr
    - BN_CTX_new
    - TEST_true
    - BN_CTX_free
    - test_ctx_check_ct_flag
    - test_ctx_set_ct_flag
    linkageType: ''
    returnType: int
    signature: int test_ctx_consttime_flag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2856,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2856,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2857,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2857,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2858,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2858,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2859,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2859,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2860,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2860,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2861,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2861,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2862,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2862,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2863,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2863,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2864,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2864,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2865,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2851
    functionDepth: 5
    functionLinenumber: 2851
    functionLinenumberEnd: 2868
    functionName: test_coprime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    - BN_free
    - BN_new
    - BN_are_coprime
    linkageType: ''
    returnType: int
    signature: int test_coprime(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2875,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2876,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2876,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2877,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2877,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2880,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2880,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2883,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2883,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2885,1
    - Dst: BN_gcd
      Src: /src/openssl/test/bntest.c:2885,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2886,1
    - Dst: BN_is_one
      Src: /src/openssl/test/bntest.c:2886,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2887,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2887,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2893,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2894,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2895,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2870
    functionDepth: 5
    functionLinenumber: 2870
    functionLinenumberEnd: 2897
    functionName: test_gcd_prime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BN_is_one
    - TEST_true
    - BN_generate_prime_ex
    - BN_gcd
    - BN_free
    - BN_new
    - BN_are_coprime
    linkageType: ''
    returnType: int
    signature: int test_gcd_prime(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3099,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3099,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3100,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3100,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3101,1
    - Dst: BN_dec2bn
      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_int_eq
      Src: /src/openssl/test/bntest.c:3105,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:3105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3108,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3108,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:3111,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3111,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3117,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3118,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3119,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3120,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3091
    functionDepth: 6
    functionLinenumber: 3091
    functionLinenumberEnd: 3123
    functionName: test_mod_exp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_ptr
    - BN_dec2bn
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - BN_mod_exp
    - TEST_int_eq
    - BN_free
    - strlen
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_mod_exp(int i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3133,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3133,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3134,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3134,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3135,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3135,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3136,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3136,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:3139,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:3140,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:3141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3143,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:3143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3146,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3146,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:3149,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3149,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3155,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3156,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3157,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3158,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3125
    functionDepth: 6
    functionLinenumber: 3125
    functionLinenumberEnd: 3161
    functionName: test_mod_exp_consttime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_ptr
    - BN_dec2bn
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_true
    - BN_mod_exp
    - TEST_int_eq
    - BN_free
    - strlen
    - BN_new
    - 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:3174,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3175,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3176,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3177,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3178,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3179,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3179,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3182,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3182,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3183,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3183,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3184,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3184,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3185,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3185,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:3188,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3191,1
    - Dst: BN_mod_exp2_mont
      Src: /src/openssl/test/bntest.c:3191,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3199,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3200,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3201,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3202,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3203,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3167
    functionDepth: 4
    functionLinenumber: 3167
    functionLinenumberEnd: 3206
    functionName: test_mod_exp2_mont
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BN_zero
    - TEST_true
    - TEST_int_eq
    - BN_mod_exp2_mont
    - BN_free
    - BN_new
    - BN_one
    linkageType: ''
    returnType: int
    signature: int test_mod_exp2_mont(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3216,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3216,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3218,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3218,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3220,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3220,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bntest.c:3222,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/test/bntest.c:3222,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3224,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3226,1
    - Dst: strcmp
      Src: /src/openssl/test/bntest.c:3226,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bntest.c:3230,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/test/bntest.c:3230,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3236,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3237,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 3208
    functionDepth: 6
    functionLinenumber: 3208
    functionLinenumberEnd: 3241
    functionName: test_mod_inverse
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_ptr
    - BN_dec2bn
    - OPENSSL_free
    - TEST_true
    - strcmp
    - BN_mod_inverse
    - TEST_int_eq
    - TEST_ptr_null
    - BN_free
    - BN_new
    - TEST_ptr_eq
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: int test_mod_inverse(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3252,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3252,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3254,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3254,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3256,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3256,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3258,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3258,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3261,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3265,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3265,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bntest.c:3267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3270,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:3273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3276,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3280,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3280,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bntest.c:3282,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3285,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3290,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:3290,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3293,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/bntest.c:3293,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3295,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3295,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bntest.c:3297,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3304,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3305,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3306,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3308,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3243
    functionDepth: 6
    functionLinenumber: 3243
    functionLinenumberEnd: 3310
    functionName: test_mod_exp_alias
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_ptr
    - BN_dec2bn
    - OPENSSL_free
    - BN_mod_exp_recp
    - BN_copy
    - TEST_true
    - TEST_int_eq
    - BN_free
    - TEST_str_eq
    - BN_mod_exp_simple
    - BN_new
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: int test_mod_exp_alias(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3329,1
    - Dst: findattr
      Src: /src/openssl/test/bntest.c:3333,1
    - Dst: FILETEST*::func
      Src: /src/openssl/test/bntest.c:3334,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:3335,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:3342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3312
    functionDepth: 4
    functionLinenumber: 3312
    functionLinenumberEnd: 3344
    functionName: file_test_run
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - findattr
    - OSSL_NELEM
    - FILETEST*::func
    linkageType: ''
    returnType: int
    signature: int file_test_run(STANZA *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/bntest.c:3349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3352,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/bntest.c:3352,1
    - Dst: test_start_file
      Src: /src/openssl/test/bntest.c:3354,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3355,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bntest.c:3360,1
    - Dst: test_readstanza
      Src: /src/openssl/test/bntest.c:3360,1
    - Dst: file_test_run
      Src: /src/openssl/test/bntest.c:3363,1
    - Dst: test_clearstanza
      Src: /src/openssl/test/bntest.c:3366,1
    - Dst: test_end_file
      Src: /src/openssl/test/bntest.c:3368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3346
    functionDepth: 5
    functionLinenumber: 3346
    functionLinenumberEnd: 3373
    functionName: run_file_tests
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - test_start_file
    - file_test_run
    - TEST_ptr
    - test_clearstanza
    - OPENSSL_free
    - test_get_argument
    - test_readstanza
    - test_end_file
    - BIO_eof
    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:3385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3382
    functionDepth: 1
    functionLinenumber: 3382
    functionLinenumberEnd: 3392
    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:3400,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/bntest.c:3412,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3414,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/bntest.c:3414,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3418,1
    - Dst: ADD_TEST
      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_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3421,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3421,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3422,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3423,1
    - Dst: ADD_ALL_TESTS
      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:3426,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3427,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3428,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3429,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3430,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3431,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3432,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3433,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3434,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3434,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3435,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3435,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3436,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3437,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3438,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3439,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3440,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3441,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3442,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3443,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3445,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3446,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3447,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3448,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3449,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3450,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3451,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3452,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3453,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3455,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3455,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3456,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3456,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3457,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3458,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3459,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3459,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3460,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3460,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3461,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3463,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3394
    functionDepth: 3
    functionLinenumber: 3394
    functionLinenumberEnd: 3468
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - BN_CTX_new
    - OSSL_NELEM
    - opt_next
    - test_get_argument_count
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bntest.c:3472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3470
    functionDepth: 2
    functionLinenumber: 3470
    functionLinenumberEnd: 3473
    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: 272
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 272
    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: 288
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 288
    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:302,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/dtlsv1listentest.c:302,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlsv1listentest.c:302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:303,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/dtlsv1listentest.c:303,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlsv1listentest.c:305,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlsv1listentest.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:309,1
    - Dst: SSL_new
      Src: /src/openssl/test/dtlsv1listentest.c:309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:310,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlsv1listentest.c:310,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/dtlsv1listentest.c:310,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/dtlsv1listentest.c:312,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:315,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/dtlsv1listentest.c:315,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/dtlsv1listentest.c:317,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/dtlsv1listentest.c:318,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/dtlsv1listentest.c:321,1
    - Dst: DTLSv1_listen
      Src: /src/openssl/test/dtlsv1listentest.c:321,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/dtlsv1listentest.c:323,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlsv1listentest.c:326,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dtlsv1listentest.c:327,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlsv1listentest.c:330,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtlsv1listentest.c:334,1
    - Dst: BIO_reset
      Src: /src/openssl/test/dtlsv1listentest.c:337,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/dtlsv1listentest.c:339,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlsv1listentest.c:344,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlsv1listentest.c:345,1
    - Dst: BIO_free
      Src: /src/openssl/test/dtlsv1listentest.c:346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dtlsv1listentest.c:347,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 349
    functionName: dtls_listen_test
    functionSourceFile: /src/openssl/test/dtlsv1listentest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - BIO_ADDR_new
    - SSL_CTX_set_cookie_verify_cb
    - TEST_true
    - SSL_CTX_set_cookie_generate_cb
    - DTLSv1_listen
    - SSL_CTX_free
    - BIO_new
    - OPENSSL_free
    - DTLS_server_method
    - TEST_int_eq
    - BIO_s_mem
    - SSL_free
    - BIO_free
    - SSL_set0_wbio
    - SSL_set0_rbio
    - BIO_reset
    - BIO_set_mem_eof_return
    - SSL_new
    - BIO_new_mem_buf
    - BIO_get_mem_data
    - SSL_CTX_new
    - TEST_int_ge
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int dtls_listen_test(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlsv1listentest.c:355,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dtlsv1listentest.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dtlsv1listentest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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:
    - BN_bin2bn
    - SRP_Calc_u
    - TEST_BN_ne_zero
    - TEST_ptr
    - TEST_true
    - test_output_bignum
    - SRP_Calc_B
    - SRP_Calc_server_key
    - SRP_Calc_x
    - SRP_Calc_client_key
    - SRP_Verify_B_mod_N
    - RAND_bytes
    - SRP_get_default_gN
    - SRP_create_verifier_BN
    - TEST_BN_eq
    - SRP_Verify_A_mod_N
    - SRP_Calc_A
    - BN_free
    - BN_clear_free
    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
    - TEST_true
    - TEST_error
    - BN_hex2bn
    - BN_free
    - BN_cmp
    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:
    - SRP_create_verifier_BN
    - SRP_Calc_client_key
    - SRP_Calc_u
    - TEST_ptr
    - SRP_Verify_B_mod_N
    - SRP_Verify_A_mod_N
    - TEST_true
    - TEST_note
    - SRP_get_default_gN
    - check_bn
    - BN_hex2bn
    - SRP_Calc_B
    - SRP_Calc_A
    - BN_free
    - SRP_Calc_server_key
    - BN_clear_free
    - TEST_info
    - SRP_Calc_x
    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:
    - TEST_info
    - TEST_false
    - TEST_true
    - run_srp
    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:
    - printf
    - ADD_TEST
    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: 7
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 34
    functionsReached:
    - OSSL_CMP_SRV_CTX_free
    - OPENSSL_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:
    - OSSL_CMP_SRV_CTX_new
    - OPENSSL_zalloc
    - tear_down
    - TEST_ptr
    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: 21
    functionLinenumber: 62
    functionLinenumberEnd: 111
    functionName: execute_test_handle_request
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - TEST_ptr
    - ERR_PACK
    - TEST_true
    - ASN1_INTEGER_get
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_CTX_free
    - TEST_int_eq
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_CTX_server_perform
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_new
    - strcmp
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - OSSL_CMP_CTX_set1_referenceValue
    - OSSL_CMP_SRV_CTX_init
    - OSSL_CMP_SRV_CTX_init_trans
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    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_CMP_MSG_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_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:
    - cleanup_tests
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - load_pkimsg
    - test_arg_libctx
    - test_skip_common_options
    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:
    - ossl_sa_char_set
    - TEST_ptr
    - TEST_true
    - TEST_note
    - TEST_ptr_null
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_str_eq
    - ossl_sa_char_get
    - ossl_sa_char_new
    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_set
    - TEST_ptr
    - ossl_sa_char_num
    - TEST_true
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_size_t_eq
    - ossl_sa_char_new
    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:
    - ossl_sa_char_set
    - strcmp
    - 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:160,1
    - Dst: ossl_sa_char_new
      Src: /src/openssl/test/sparse_array_test.c:160,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sparse_array_test.c:162,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sparse_array_test.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/sparse_array_test.c:167,1
    - Dst: ossl_sa_char_set
      Src: /src/openssl/test/sparse_array_test.c:167,1
    - Dst: TEST_note
      Src: /src/openssl/test/sparse_array_test.c:168,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/openssl/test/sparse_array_test.c:172,1
    - Dst: TEST_info
      Src: /src/openssl/test/sparse_array_test.c:174,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_doall_arg
      Src: /src/openssl/test/sparse_array_test.c:184,1
    - Dst: TEST_info
      Src: /src/openssl/test/sparse_array_test.c:186,1
    - Dst: ossl_sa_char_free
      Src: /src/openssl/test/sparse_array_test.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 194
    functionName: test_sparse_array_doall
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - ossl_sa_char_set
    - TEST_ptr
    - ossl_sa_char_doall_arg
    - TEST_true
    - TEST_note
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_info
    - ossl_sa_char_new
    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:198,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sparse_array_test.c:199,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sparse_array_test.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    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:1930,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_record_test.c:1934,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/test/quic_record_test.c:1939,1
    - Dst: ossl_quic_demux_free
      Src: /src/openssl/test/quic_record_test.c:1944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rx_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1947
    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:1953,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_record_test.c:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1954
    functionName: expected_time
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_time_multiply
    - ossl_ticks2time
    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:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1959
    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:1966,1
    - Dst: ossl_qrx_inject_urxe
      Src: /src/openssl/test/quic_record_test.c:1969,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: 1970
      start: 1961
    functionDepth: 1
    functionLinenumber: 1961
    functionLinenumberEnd: 1970
    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:1975,1
    - Dst: ossl_quic_demux_new
      Src: /src/openssl/test/quic_record_test.c:1975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:1986,1
    - Dst: ossl_qrx_new
      Src: /src/openssl/test/quic_record_test.c:1986,1
    - Dst: ossl_quic_demux_set_default_handler
      Src: /src/openssl/test/quic_record_test.c:1989,1
    - Dst: ossl_qrx_allow_1rtt_processing
      Src: /src/openssl/test/quic_record_test.c:1992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rx_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1995
    functionName: rx_state_ensure
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_demux_new
    - TEST_ptr
    - ossl_quic_demux_set_default_handler
    - ossl_qrx_new
    - ossl_qrx_allow_1rtt_processing
    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:2009,1
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:2013,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2018,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2018,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2023,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2023,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2025,1
    - Dst: ossl_qrx_provide_secret
      Src: /src/openssl/test/quic_record_test.c:2025,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2032,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2032,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2034,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/test/quic_record_test.c:2034,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2040,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2040,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2042,1
    - Dst: ossl_qrx_discard_enc_level
      Src: /src/openssl/test/quic_record_test.c:2042,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2046,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2046,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2048,1
    - Dst: ossl_quic_demux_inject
      Src: /src/openssl/test/quic_record_test.c:2048,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2054,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2054,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2057,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/test/quic_record_test.c:2057,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:2060,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:2060,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:2063,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2067,1
    - Dst: cmp_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:2067,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/test/quic_record_test.c:2073,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2077,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2077,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_record_test.c:2080,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/test/quic_record_test.c:2080,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2085,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2085,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test.c:2088,1
    - Dst: ossl_qrx_get_key_epoch
      Src: /src/openssl/test/quic_record_test.c:2088,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2094,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2094,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test.c:2097,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2102,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2102,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2105,1
    - Dst: ossl_qrx_key_update_timeout
      Src: /src/openssl/test/quic_record_test.c:2105,1
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:2111,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2117,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:2117,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/quic_record_test.c:2122,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/test/quic_record_test.c:2128,1
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:2129,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 123
    argCount: 1
    argNames:
    - script
    argTypes:
    - struct rx_test_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 1997
    functionDepth: 2
    functionLinenumber: 1997
    functionLinenumberEnd: 2131
    functionName: rx_run_script
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_qrx_discard_enc_level
    - TEST_ptr
    - TEST_mem_eq
    - cmp_pkt_hdr
    - TEST_false
    - TEST_uint64_t_eq
    - ossl_qrx_get_key_epoch
    - rx_state_teardown
    - ossl_qrx_key_update_timeout
    - TEST_true
    - ossl_quic_demux_inject
    - ossl_qrx_pkt_release
    - ossl_quic_provide_initial_secret
    - ossl_qrx_provide_secret
    - ossl_qrx_read_pkt
    - OPENSSL_assert
    - rx_state_ensure
    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:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2133
    functionDepth: 3
    functionLinenumber: 2133
    functionLinenumberEnd: 2136
    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:2997,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_record_test.c:2997,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3000,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_record_test.c:3000,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3003,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_record_test.c:3003,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test.c:3006,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:3006,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3012,1
    - Dst: cmp_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:3012,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_record_test.c:3015,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_record_test.c:3019,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_record_test.c:3022,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_record_test.c:3027,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_record_test.c:3029,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3034,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:3034,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3037,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/quic_record_test.c:3037,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3040,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_record_test.c:3040,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:3043,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3048,1
    - Dst: ossl_quic_hdr_protector_init
      Src: /src/openssl/test/quic_record_test.c:3048,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_record_test.c:3060,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:3061,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_record_test.c:3064,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3070,1
    - Dst: ossl_quic_hdr_protector_encrypt
      Src: /src/openssl/test/quic_record_test.c:3070,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/quic_record_test.c:3095,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:3095,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test.c:3103,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3108,1
    - Dst: ossl_quic_hdr_protector_decrypt
      Src: /src/openssl/test/quic_record_test.c:3108,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:3111,1
    - Dst: ossl_quic_hdr_protector_cleanup
      Src: /src/openssl/test/quic_record_test.c:3119,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_record_test.c:3120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_record_test.c:3121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_record_test.c:3122,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: 3124
      start: 2946
    functionDepth: 4
    functionLinenumber: 2946
    functionLinenumberEnd: 3124
    functionName: test_wire_pkt_hdr_actual
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_pkt_hdr
    - TEST_ptr
    - PACKET_buf_init
    - TEST_mem_eq
    - TEST_true
    - TEST_ptr_null
    - ossl_quic_wire_encode_pkt_hdr
    - memcpy
    - TEST_ptr_eq
    - cmp_pkt_hdr
    - WPACKET_get_total_written
    - OPENSSL_free
    - TEST_int_eq
    - WPACKET_finish
    - ossl_quic_hdr_protector_encrypt
    - OPENSSL_assert
    - WPACKET_init_static_len
    - OPENSSL_malloc
    - ossl_quic_hdr_protector_decrypt
    - ossl_quic_hdr_protector_cleanup
    - WPACKET_memcpy
    - ossl_quic_hdr_protector_init
    - OSSL_NELEM
    - TEST_size_t_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:3133,1
    - Dst: test_wire_pkt_hdr_actual
      Src: /src/openssl/test/quic_record_test.c:3133,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3139,1
    - Dst: test_wire_pkt_hdr_actual
      Src: /src/openssl/test/quic_record_test.c:3139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - tidx
    - repeat
    - cipher
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3145
      start: 3126
    functionDepth: 5
    functionLinenumber: 3126
    functionLinenumberEnd: 3145
    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:3159,1
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/quic_record_test.c:3160,1
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/quic_record_test.c:3162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3147
    functionDepth: 1
    functionLinenumber: 3147
    functionLinenumberEnd: 3169
    functionName: test_hdr_prot_stats
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_gt
    - OSSL_NELEM
    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:3179,1
    - Dst: test_wire_pkt_hdr_inner
      Src: /src/openssl/test/quic_record_test.c:3189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3174
    functionDepth: 6
    functionLinenumber: 3174
    functionLinenumberEnd: 3190
    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: 3215
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3215
    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: 3220
      start: 3215
    functionDepth: 0
    functionLinenumber: 3215
    functionLinenumberEnd: 3220
    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: 3223
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3223
    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: 3225
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3225
    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: 3230
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3230
    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: 3232
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3232
    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: 3235
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3235
    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: 3237
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3237
    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: 3241
      start: 3238
    functionDepth: 0
    functionLinenumber: 3238
    functionLinenumberEnd: 3241
    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: 3244
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3244
    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:3823,1
    - Dst: ossl_qtx_new
      Src: /src/openssl/test/quic_record_test.c:3823,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3829,1
    - Dst: ossl_qtx_provide_secret
      Src: /src/openssl/test/quic_record_test.c:3829,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3835,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/test/quic_record_test.c:3835,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3842,1
    - Dst: ossl_qtx_discard_enc_level
      Src: /src/openssl/test/quic_record_test.c:3842,1
    - Dst: ossl_quic_pkt_type_to_enc_level
      Src: /src/openssl/test/quic_record_test.c:3847,1
    - Dst: ossl_qtx_get_max_epoch_pkt_count
      Src: /src/openssl/test/quic_record_test.c:3851,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_record_test.c:3853,1
    - Dst: ossl_qtx_get_cur_epoch_pkt_count
      Src: /src/openssl/test/quic_record_test.c:3856,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_record_test.c:3857,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3861,1
    - Dst: ossl_qtx_write_pkt
      Src: /src/openssl/test/quic_record_test.c:3861,1
    - Dst: ossl_qtx_get_cur_epoch_pkt_count
      Src: /src/openssl/test/quic_record_test.c:3865,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test.c:3866,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3871,1
    - Dst: ossl_qtx_pop_net
      Src: /src/openssl/test/quic_record_test.c:3871,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:3874,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_record_test.c:3879,1
    - Dst: ossl_qtx_pop_net
      Src: /src/openssl/test/quic_record_test.c:3879,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3883,1
    - Dst: ossl_qtx_trigger_key_update
      Src: /src/openssl/test/quic_record_test.c:3883,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/quic_record_test.c:3887,1
    - Dst: ossl_qtx_free
      Src: /src/openssl/test/quic_record_test.c:3894,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 1
    argNames:
    - script
    argTypes:
    - struct tx_test_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3813
    functionDepth: 1
    functionLinenumber: 3813
    functionLinenumberEnd: 3897
    functionName: tx_run_script
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_qtx_provide_secret
    - ossl_qtx_pop_net
    - TEST_ptr
    - ossl_qtx_get_cur_epoch_pkt_count
    - TEST_uint64_t_eq
    - TEST_uint64_t_lt
    - ossl_quic_pkt_type_to_enc_level
    - TEST_mem_eq
    - ossl_qtx_get_max_epoch_pkt_count
    - ossl_qtx_discard_enc_level
    - TEST_true
    - ossl_qtx_write_pkt
    - ossl_qtx_free
    - ossl_qtx_new
    - ossl_quic_provide_initial_secret
    - ossl_qtx_trigger_key_update
    - OPENSSL_assert
    - TEST_false
    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:3901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3899
    functionDepth: 2
    functionLinenumber: 3899
    functionLinenumberEnd: 3902
    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:3906,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:3906,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_record_test.c:3916,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_record_test.c:3917,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:3917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3904
    functionDepth: 1
    functionLinenumber: 3904
    functionLinenumberEnd: 3919
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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:48,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/quic_client_test.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:52,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_client_test.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:55,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic_client_test.c:55,1
    - Dst: htonl
      Src: /src/openssl/test/quic_client_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:59,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quic_client_test.c:59,1
    - Dst: htons
      Src: /src/openssl/test/quic_client_test.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:66,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_client_test.c:66,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/quic_client_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:73,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic_client_test.c:73,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic_client_test.c:73,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:76,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic_client_test.c:76,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_client_test.c:80,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic_client_test.c:80,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/quic_client_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:87,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_client_test.c:87,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/quic_client_test.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:95,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic_client_test.c:95,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_client_test.c:98,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_client_test.c:101,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/quic_client_test.c:101,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_client_test.c:101,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_client_test.c:102,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:
    - SSL_handle_events
    - TEST_ptr
    - SSL_write
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - TEST_true
    - htons
    - TEST_error
    - ossl_time_compare
    - SSL_read_ex
    - SSL_CTX_free
    - BIO_up_ref
    - is_want
    - TEST_size_t_lt
    - ossl_time_subtract
    - BIO_new_dgram
    - BIO_socket_nbio
    - TEST_int_eq
    - OSSL_sleep
    - BIO_closesocket
    - SSL_get_error
    - SSL_free
    - SSL_stream_conclude
    - SSL_set_blocking_mode
    - TEST_false
    - BIO_free
    - SSL_set0_wbio
    - htonl
    - SSL_set0_rbio
    - ossl_time_now
    - ossl_ms2time
    - SSL_new
    - SSL_set_alpn_protos
    - OSSL_QUIC_client_method
    - SSL_connect
    - SSL_shutdown
    - SSL_CTX_new
    - BIO_socket
    - BIO_dgram_set_peer
    - TEST_int_ne
    - TEST_info
    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:
    - socket
    - htons
    - TEST_true
    - BIO_socket_nbio
    - htonl
    - TEST_int_eq
    - test_quic_client_ex
    - close
    - connect
    - TEST_int_ne
    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:
    - TEST_ptr
    - do_encap
    - TEST_note
    - EVP_PKEY_free
    - new_raw_private_key
    - new_raw_public_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_ptr
    - do_decap
    - TEST_note
    - EVP_PKEY_free
    - new_raw_private_key
    - new_raw_public_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:
    - TEST_uint_eq
    - TEST_ptr
    - EVP_PKEY_CTX_settable_params
    - EVP_PKEY_encapsulate_init
    - OSSL_PARAM_locate_const
    - TEST_int_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_encapsulate_init
    - TEST_int_eq
    - EVP_PKEY_decapsulate_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:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_PKEY_generate
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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: 181
      start: 168
    functionDepth: 12
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: test_no_operation_set
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    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:194,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:197,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:201,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:201,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:202,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 12
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: test_ikm_small
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    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:217,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:217,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:218,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:225,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:225,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:231,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:231,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:234,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:234,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:238,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:243,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 12
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: test_input_size_small
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    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:254,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:254,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:257,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:257,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 12
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: test_ec_auth_key_curve_mismatch
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_auth_encapsulate_init
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_free
    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:268,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 12
    functionLinenumber: 263
    functionLinenumberEnd: 271
    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:285,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:287,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:287,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:288,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:288,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:289,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 12
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: test_ec_invalid_private_key
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - TEST_int_eq
    - EVP_PKEY_free
    - new_raw_private_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:307,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:309,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:309,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:311,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:312,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:314,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:315,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:320,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:320,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:321,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:321,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:323,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 12
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: test_ec_public_key_infinity
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_auth_encapsulate_init
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - new_raw_private_key
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    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:335,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:335,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:336,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:338,1
    - Dst: EVP_PKEY_decapsulate_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_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:339,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:344,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:345,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 329
    functionDepth: 12
    functionLinenumber: 329
    functionLinenumberEnd: 348
    functionName: test_null_params
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_auth_encapsulate_init
    - TEST_int_eq
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    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:358,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:359,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:360,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:360,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_utf8_string
      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:372,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:373,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:373,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:377,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:379,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:379,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:383,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:385,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:385,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:389,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:390,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:391,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 350
    functionDepth: 12
    functionLinenumber: 350
    functionLinenumberEnd: 394
    functionName: test_set_params
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_encapsulate_init
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_set_params(int tstid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:409,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:409,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:412,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:412,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:416,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:419,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:419,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:424,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 399
    functionDepth: 12
    functionLinenumber: 399
    functionLinenumberEnd: 427
    functionName: test_nopublic
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - TEST_note
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_free
    - new_raw_private_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: int test_nopublic(int tstid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:442,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:443,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:443,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:448,1
    - Dst: EVP_PKEY_auth_encapsulate_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: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:453,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 433
    functionDepth: 12
    functionLinenumber: 433
    functionLinenumberEnd: 462
    functionName: test_noauthpublic
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_auth_encapsulate_init
    - TEST_note
    - TEST_int_eq
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_free
    - new_raw_private_key
    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:480,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:482,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:486,1
    - Dst: EVP_PKEY_CTX_new_from_name
      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_keygen_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:487,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:488,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:488,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:489,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:490,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:490,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:493,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:493,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:495,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:495,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:496,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:497,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:498,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:500,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:501,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 467
    functionDepth: 7
    functionLinenumber: 467
    functionLinenumberEnd: 504
    functionName: test_ec_dhkem_derivekey
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_get_octet_string_param
    - TEST_int_le
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - TEST_int_eq
    - BN_bn2bin
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_generate
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - BN_free
    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:523,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:531,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:537,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:537,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:543,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:548,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:550,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:550,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:554,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:554,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:555,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:555,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:556,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:560,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:560,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:564,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:564,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:565,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:566,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:566,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:569,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:572,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:573,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:574,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 510
    functionDepth: 12
    functionLinenumber: 510
    functionLinenumberEnd: 576
    functionName: test_ec_noikme
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_auth_encapsulate_init
    - TEST_note
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_decapsulate_init
    - OSSL_NELEM
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    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:585,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:585,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:586,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:586,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:587,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:587,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:588,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:588,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:589,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 579
    functionDepth: 12
    functionLinenumber: 579
    functionLinenumberEnd: 592
    functionName: do_ec_curve_failtest
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 13
    functionLinenumber: 594
    functionLinenumberEnd: 597
    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:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 13
    functionLinenumber: 599
    functionLinenumberEnd: 602
    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:616,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:619,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:619,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:623,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:630,1
    - Dst: EVP_PKEY_encapsulate_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_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:632,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:637,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:637,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:639,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:639,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:645,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:645,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:645,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:649,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:650,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 605
    functionDepth: 12
    functionLinenumber: 605
    functionLinenumberEnd: 652
    functionName: test_ec_badpublic
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - ERR_GET_REASON
    - TEST_note
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - ERR_get_error
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - new_raw_private_key
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    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:667,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:670,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:670,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:674,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:677,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:682,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:682,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:683,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:683,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:689,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:689,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:689,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:693,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 654
    functionDepth: 12
    functionLinenumber: 654
    functionLinenumberEnd: 695
    functionName: test_ec_badauth
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate
    - ERR_GET_REASON
    - EVP_PKEY_auth_encapsulate_init
    - TEST_note
    - TEST_int_eq
    - EVP_PKEY_auth_decapsulate_init
    - ERR_get_error
    - EVP_PKEY_free
    - new_raw_private_key
    - EVP_PKEY_decapsulate
    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:705,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:708,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:708,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:709,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 12
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: test_ec_invalid_decap_enc_buffer
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - memcpy
    - EVP_PKEY_decapsulate
    - EVP_PKEY_decapsulate_init
    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:730,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:731,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:744,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:746,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:748,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:748,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:749,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:749,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:750,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:750,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:751,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:751,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:752,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:752,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:756,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:756,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:760,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:761,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:763,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 718
    functionDepth: 8
    functionLinenumber: 718
    functionLinenumberEnd: 766
    functionName: test_ecx_dhkem_derivekey
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_get_octet_string_param
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_keygen
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - OPENSSL_strcasecmp
    - EVP_PKEY_CTX_set_params
    - memcpy
    - EVP_PKEY_CTX_free
    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:774,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:774,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:777,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:777,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 769
    functionDepth: 12
    functionLinenumber: 769
    functionLinenumberEnd: 782
    functionName: test_ecx_auth_key_curve_mismatch
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_auth_encapsulate_init
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_free
    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:791,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:791,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:792,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:792,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:793,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:793,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:794,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:794,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:795,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 785
    functionDepth: 12
    functionLinenumber: 785
    functionLinenumberEnd: 798
    functionName: test_ed_curve_unsupported
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:807,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:809,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:811,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:814,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:814,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:818,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:822,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:826,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:826,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:831,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:831,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:832,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:832,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:834,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:835,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:838,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:845,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:848,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:849,1
    - Dst: ADD_ALL_TESTS
      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: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:853,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:854,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:855,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:856,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:857,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:859,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:863,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:863,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:864,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:865,1
    - Dst: ADD_TEST
      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
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:869,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:870,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:871,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:872,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:873,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:874,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:878,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:878,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:879,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:880,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 801
    functionDepth: 9
    functionLinenumber: 801
    functionLinenumberEnd: 885
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - test_get_libctx
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_PARAM_construct_end
    - EVP_PKEY_Q_keygen
    - OSSL_NELEM
    - EVP_PKEY_CTX_new_from_pkey
    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:889,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:890,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:891,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:892,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:893,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:894,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 5
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 4
    functionsReached:
    - EVP_PKEY_CTX_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_load_builtin_engines
      Src: /src/openssl/test/engine_stubs_test.c:20,1
    - Dst: ENGINE_set_table_flags
      Src: /src/openssl/test/engine_stubs_test.c:21,1
    - Dst: ENGINE_unregister_RSA
      Src: /src/openssl/test/engine_stubs_test.c:22,1
    - Dst: ENGINE_register_all_RSA
      Src: /src/openssl/test/engine_stubs_test.c:23,1
    - Dst: ENGINE_unregister_DSA
      Src: /src/openssl/test/engine_stubs_test.c:24,1
    - Dst: ENGINE_register_all_DSA
      Src: /src/openssl/test/engine_stubs_test.c:25,1
    - Dst: ENGINE_unregister_EC
      Src: /src/openssl/test/engine_stubs_test.c:26,1
    - Dst: ENGINE_register_all_EC
      Src: /src/openssl/test/engine_stubs_test.c:27,1
    - Dst: ENGINE_unregister_DH
      Src: /src/openssl/test/engine_stubs_test.c:28,1
    - Dst: ENGINE_register_all_DH
      Src: /src/openssl/test/engine_stubs_test.c:29,1
    - Dst: ENGINE_unregister_RAND
      Src: /src/openssl/test/engine_stubs_test.c:30,1
    - Dst: ENGINE_register_all_RAND
      Src: /src/openssl/test/engine_stubs_test.c:31,1
    - Dst: ENGINE_unregister_digests
      Src: /src/openssl/test/engine_stubs_test.c:32,1
    - Dst: ENGINE_register_all_digests
      Src: /src/openssl/test/engine_stubs_test.c:33,1
    - Dst: ENGINE_unregister_pkey_meths
      Src: /src/openssl/test/engine_stubs_test.c:34,1
    - Dst: ENGINE_register_all_pkey_meths
      Src: /src/openssl/test/engine_stubs_test.c:35,1
    - Dst: ENGINE_unregister_pkey_asn1_meths
      Src: /src/openssl/test/engine_stubs_test.c:36,1
    - Dst: ENGINE_register_all_pkey_asn1_meths
      Src: /src/openssl/test/engine_stubs_test.c:37,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/openssl/test/engine_stubs_test.c:38,1
    - Dst: ENGINE_register_all_ciphers
      Src: /src/openssl/test/engine_stubs_test.c:39,1
    - Dst: ENGINE_add_conf_module
      Src: /src/openssl/test/engine_stubs_test.c:40,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:42,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/test/engine_stubs_test.c:42,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:44,1
    - Dst: ENGINE_get_last
      Src: /src/openssl/test/engine_stubs_test.c:44,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:46,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/test/engine_stubs_test.c:46,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:48,1
    - Dst: ENGINE_get_prev
      Src: /src/openssl/test/engine_stubs_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:50,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/engine_stubs_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:52,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/engine_stubs_test.c:52,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:54,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/test/engine_stubs_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:56,1
    - Dst: ENGINE_get_table_flags
      Src: /src/openssl/test/engine_stubs_test.c:56,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:58,1
    - Dst: ENGINE_register_RSA
      Src: /src/openssl/test/engine_stubs_test.c:58,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:60,1
    - Dst: ENGINE_register_DSA
      Src: /src/openssl/test/engine_stubs_test.c:60,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:62,1
    - Dst: ENGINE_register_EC
      Src: /src/openssl/test/engine_stubs_test.c:62,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:64,1
    - Dst: ENGINE_register_DH
      Src: /src/openssl/test/engine_stubs_test.c:64,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:66,1
    - Dst: ENGINE_register_RAND
      Src: /src/openssl/test/engine_stubs_test.c:66,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:68,1
    - Dst: ENGINE_register_ciphers
      Src: /src/openssl/test/engine_stubs_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:70,1
    - Dst: ENGINE_register_digests
      Src: /src/openssl/test/engine_stubs_test.c:70,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:72,1
    - Dst: ENGINE_register_pkey_meths
      Src: /src/openssl/test/engine_stubs_test.c:72,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:74,1
    - Dst: ENGINE_register_pkey_asn1_meths
      Src: /src/openssl/test/engine_stubs_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:76,1
    - Dst: ENGINE_register_complete
      Src: /src/openssl/test/engine_stubs_test.c:76,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:78,1
    - Dst: ENGINE_register_all_complete
      Src: /src/openssl/test/engine_stubs_test.c:78,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:80,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/test/engine_stubs_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:82,1
    - Dst: ENGINE_cmd_is_executable
      Src: /src/openssl/test/engine_stubs_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:84,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/openssl/test/engine_stubs_test.c:84,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:86,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/test/engine_stubs_test.c:86,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:88,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/engine_stubs_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:90,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/engine_stubs_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:92,1
    - Dst: ENGINE_up_ref
      Src: /src/openssl/test/engine_stubs_test.c:92,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:94,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/engine_stubs_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:96,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/engine_stubs_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:98,1
    - Dst: ENGINE_set_RSA
      Src: /src/openssl/test/engine_stubs_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:100,1
    - Dst: ENGINE_set_DSA
      Src: /src/openssl/test/engine_stubs_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:102,1
    - Dst: ENGINE_set_EC
      Src: /src/openssl/test/engine_stubs_test.c:102,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:104,1
    - Dst: ENGINE_set_DH
      Src: /src/openssl/test/engine_stubs_test.c:104,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:106,1
    - Dst: ENGINE_set_RAND
      Src: /src/openssl/test/engine_stubs_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:108,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/test/engine_stubs_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:110,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/test/engine_stubs_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:112,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/test/engine_stubs_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:114,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/openssl/test/engine_stubs_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:116,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/openssl/test/engine_stubs_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:118,1
    - Dst: ENGINE_set_load_pubkey_function
      Src: /src/openssl/test/engine_stubs_test.c:118,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:120,1
    - Dst: ENGINE_set_load_ssl_client_cert_function
      Src: /src/openssl/test/engine_stubs_test.c:120,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:122,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/test/engine_stubs_test.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:124,1
    - Dst: ENGINE_set_digests
      Src: /src/openssl/test/engine_stubs_test.c:124,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:126,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/openssl/test/engine_stubs_test.c:126,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:128,1
    - Dst: ENGINE_set_pkey_asn1_meths
      Src: /src/openssl/test/engine_stubs_test.c:128,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:130,1
    - Dst: ENGINE_set_flags
      Src: /src/openssl/test/engine_stubs_test.c:130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:132,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/openssl/test/engine_stubs_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:134,1
    - Dst: ENGINE_get_ex_new_index
      Src: /src/openssl/test/engine_stubs_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:136,1
    - Dst: ENGINE_set_ex_data
      Src: /src/openssl/test/engine_stubs_test.c:136,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:138,1
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/test/engine_stubs_test.c:138,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:140,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/test/engine_stubs_test.c:140,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:142,1
    - Dst: ENGINE_get_name
      Src: /src/openssl/test/engine_stubs_test.c:142,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:144,1
    - Dst: ENGINE_get_RSA
      Src: /src/openssl/test/engine_stubs_test.c:144,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:146,1
    - Dst: ENGINE_get_DSA
      Src: /src/openssl/test/engine_stubs_test.c:146,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:148,1
    - Dst: ENGINE_get_EC
      Src: /src/openssl/test/engine_stubs_test.c:148,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:150,1
    - Dst: ENGINE_get_DH
      Src: /src/openssl/test/engine_stubs_test.c:150,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:152,1
    - Dst: ENGINE_get_RAND
      Src: /src/openssl/test/engine_stubs_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:154,1
    - Dst: ENGINE_get_destroy_function
      Src: /src/openssl/test/engine_stubs_test.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:156,1
    - Dst: ENGINE_get_init_function
      Src: /src/openssl/test/engine_stubs_test.c:156,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:158,1
    - Dst: ENGINE_get_finish_function
      Src: /src/openssl/test/engine_stubs_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:160,1
    - Dst: ENGINE_get_ctrl_function
      Src: /src/openssl/test/engine_stubs_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:162,1
    - Dst: ENGINE_get_load_privkey_function
      Src: /src/openssl/test/engine_stubs_test.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:164,1
    - Dst: ENGINE_get_load_pubkey_function
      Src: /src/openssl/test/engine_stubs_test.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:166,1
    - Dst: ENGINE_get_ssl_client_cert_function
      Src: /src/openssl/test/engine_stubs_test.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:168,1
    - Dst: ENGINE_get_ciphers
      Src: /src/openssl/test/engine_stubs_test.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:170,1
    - Dst: ENGINE_get_digests
      Src: /src/openssl/test/engine_stubs_test.c:170,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:172,1
    - Dst: ENGINE_get_pkey_meths
      Src: /src/openssl/test/engine_stubs_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/engine_stubs_test.c:174,1
    - Dst: ENGINE_get_pkey_asn1_meths
      Src: /src/openssl/test/engine_stubs_test.c:174,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:176,1
    - Dst: ENGINE_get_cipher
      Src: /src/openssl/test/engine_stubs_test.c:176,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:178,1
    - Dst: ENGINE_get_digest
      Src: /src/openssl/test/engine_stubs_test.c:178,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:180,1
    - Dst: ENGINE_get_pkey_meth
      Src: /src/openssl/test/engine_stubs_test.c:180,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:182,1
    - Dst: ENGINE_get_pkey_asn1_meth
      Src: /src/openssl/test/engine_stubs_test.c:182,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:184,1
    - Dst: ENGINE_get_pkey_asn1_meth_str
      Src: /src/openssl/test/engine_stubs_test.c:184,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:186,1
    - Dst: ENGINE_pkey_asn1_find_str
      Src: /src/openssl/test/engine_stubs_test.c:186,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:188,1
    - Dst: ENGINE_get_cmd_defns
      Src: /src/openssl/test/engine_stubs_test.c:188,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:190,1
    - Dst: ENGINE_get_flags
      Src: /src/openssl/test/engine_stubs_test.c:190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:192,1
    - Dst: ENGINE_init
      Src: /src/openssl/test/engine_stubs_test.c:192,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:194,1
    - Dst: ENGINE_finish
      Src: /src/openssl/test/engine_stubs_test.c:194,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:196,1
    - Dst: ENGINE_load_private_key
      Src: /src/openssl/test/engine_stubs_test.c:196,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:198,1
    - Dst: ENGINE_load_public_key
      Src: /src/openssl/test/engine_stubs_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:200,1
    - Dst: ENGINE_load_ssl_client_cert
      Src: /src/openssl/test/engine_stubs_test.c:200,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:202,1
    - Dst: ENGINE_get_default_RSA
      Src: /src/openssl/test/engine_stubs_test.c:202,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:204,1
    - Dst: ENGINE_get_default_DSA
      Src: /src/openssl/test/engine_stubs_test.c:204,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:206,1
    - Dst: ENGINE_get_default_EC
      Src: /src/openssl/test/engine_stubs_test.c:206,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:208,1
    - Dst: ENGINE_get_default_DH
      Src: /src/openssl/test/engine_stubs_test.c:208,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:210,1
    - Dst: ENGINE_get_default_RAND
      Src: /src/openssl/test/engine_stubs_test.c:210,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:212,1
    - Dst: ENGINE_get_cipher_engine
      Src: /src/openssl/test/engine_stubs_test.c:212,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:214,1
    - Dst: ENGINE_get_digest_engine
      Src: /src/openssl/test/engine_stubs_test.c:214,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:216,1
    - Dst: ENGINE_get_pkey_meth_engine
      Src: /src/openssl/test/engine_stubs_test.c:216,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:218,1
    - Dst: ENGINE_get_pkey_asn1_meth_engine
      Src: /src/openssl/test/engine_stubs_test.c:218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:220,1
    - Dst: ENGINE_set_default_RSA
      Src: /src/openssl/test/engine_stubs_test.c:220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:222,1
    - Dst: ENGINE_set_default_string
      Src: /src/openssl/test/engine_stubs_test.c:222,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:224,1
    - Dst: ENGINE_set_default_DSA
      Src: /src/openssl/test/engine_stubs_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:226,1
    - Dst: ENGINE_set_default_EC
      Src: /src/openssl/test/engine_stubs_test.c:226,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:228,1
    - Dst: ENGINE_set_default_DH
      Src: /src/openssl/test/engine_stubs_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:230,1
    - Dst: ENGINE_set_default_RAND
      Src: /src/openssl/test/engine_stubs_test.c:230,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:232,1
    - Dst: ENGINE_set_default_ciphers
      Src: /src/openssl/test/engine_stubs_test.c:232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:234,1
    - Dst: ENGINE_set_default_digests
      Src: /src/openssl/test/engine_stubs_test.c:234,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:236,1
    - Dst: ENGINE_set_default_pkey_meths
      Src: /src/openssl/test/engine_stubs_test.c:236,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:238,1
    - Dst: ENGINE_set_default_pkey_asn1_meths
      Src: /src/openssl/test/engine_stubs_test.c:238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:240,1
    - Dst: ENGINE_set_default
      Src: /src/openssl/test/engine_stubs_test.c:240,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:242,1
    - Dst: ENGINE_get_static_state
      Src: /src/openssl/test/engine_stubs_test.c:242,1
    - Dst: ENGINE_cleanup
      Src: /src/openssl/test/engine_stubs_test.c:247,1
    - Dst: ENGINE_setup_bsd_cryptodev
      Src: /src/openssl/test/engine_stubs_test.c:249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:251,1
    - Dst: ENGINE_load_openssl
      Src: /src/openssl/test/engine_stubs_test.c:251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:253,1
    - Dst: ENGINE_load_dynamic
      Src: /src/openssl/test/engine_stubs_test.c:253,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:255,1
    - Dst: ENGINE_load_cryptodev
      Src: /src/openssl/test/engine_stubs_test.c:255,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:257,1
    - Dst: ENGINE_load_rdrand
      Src: /src/openssl/test/engine_stubs_test.c:257,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:260,1
    - Dst: ENGINE_load_padlock
      Src: /src/openssl/test/engine_stubs_test.c:260,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:262,1
    - Dst: ENGINE_load_capi
      Src: /src/openssl/test/engine_stubs_test.c:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:264,1
    - Dst: ENGINE_load_afalg
      Src: /src/openssl/test/engine_stubs_test.c:264,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 241
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 270
    functionName: test_engine_stubs
    functionSourceFile: /src/openssl/test/engine_stubs_test.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_pkey_meths
    - ENGINE_register_all_DH
    - ENGINE_set_default_pkey_meths
    - ENGINE_load_afalg
    - ENGINE_unregister_ciphers
    - ENGINE_set_default_pkey_asn1_meths
    - ENGINE_remove
    - ENGINE_add_conf_module
    - ENGINE_set_init_function
    - ENGINE_ctrl
    - ENGINE_register_pkey_asn1_meths
    - ENGINE_get_pkey_asn1_meths
    - ENGINE_load_builtin_engines
    - ENGINE_cmd_is_executable
    - ENGINE_get_digest_engine
    - ENGINE_register_complete
    - ENGINE_get_cipher_engine
    - ENGINE_get_destroy_function
    - ENGINE_get_id
    - ENGINE_get_load_pubkey_function
    - ENGINE_load_ssl_client_cert
    - ENGINE_register_RSA
    - ENGINE_unregister_pkey_meths
    - ENGINE_unregister_pkey_asn1_meths
    - ENGINE_set_RAND
    - ENGINE_set_default_RAND
    - ENGINE_up_ref
    - ENGINE_get_pkey_meths
    - ENGINE_load_dynamic
    - ENGINE_set_RSA
    - ENGINE_get_last
    - ENGINE_new
    - ENGINE_get_ex_new_index
    - ENGINE_get_DSA
    - ENGINE_get_default_DSA
    - ENGINE_unregister_DSA
    - ENGINE_get_name
    - ENGINE_get_RSA
    - ENGINE_set_ctrl_function
    - ENGINE_get_finish_function
    - ENGINE_by_id
    - ENGINE_register_all_pkey_meths
    - ENGINE_set_table_flags
    - ENGINE_set_destroy_function
    - ENGINE_register_all_RAND
    - ENGINE_load_public_key
    - ENGINE_set_load_ssl_client_cert_function
    - ENGINE_register_all_complete
    - ENGINE_set_name
    - ENGINE_register_all_EC
    - ENGINE_set_load_pubkey_function
    - ENGINE_register_all_digests
    - ENGINE_get_ctrl_function
    - TEST_int_eq
    - ENGINE_setup_bsd_cryptodev
    - ENGINE_get_default_RAND
    - ENGINE_register_DH
    - ENGINE_register_all_DSA
    - ENGINE_get_RAND
    - ENGINE_set_ex_data
    - ENGINE_get_DH
    - ENGINE_unregister_RSA
    - ENGINE_get_prev
    - ENGINE_add
    - ENGINE_set_flags
    - ENGINE_get_init_function
    - ENGINE_get_table_flags
    - ENGINE_load_openssl
    - ENGINE_unregister_EC
    - ENGINE_unregister_digests
    - ENGINE_set_ciphers
    - ENGINE_ctrl_cmd_string
    - ENGINE_load_cryptodev
    - ENGINE_set_id
    - ENGINE_ctrl_cmd
    - ENGINE_register_RAND
    - ENGINE_get_EC
    - ENGINE_get_digests
    - ENGINE_get_pkey_meth
    - ENGINE_get_load_privkey_function
    - ENGINE_unregister_DH
    - ENGINE_register_digests
    - ENGINE_get_pkey_asn1_meth_engine
    - ENGINE_set_default_EC
    - ENGINE_unregister_RAND
    - ENGINE_get_ssl_client_cert_function
    - ENGINE_set_default_digests
    - ENGINE_get_next
    - ENGINE_get_pkey_meth_engine
    - ENGINE_load_capi
    - ENGINE_register_DSA
    - ENGINE_free
    - ENGINE_register_ciphers
    - ENGINE_set_digests
    - ENGINE_init
    - ENGINE_set_default_RSA
    - ENGINE_register_pkey_meths
    - ENGINE_set_pkey_asn1_meths
    - ENGINE_set_EC
    - ENGINE_register_all_RSA
    - ENGINE_set_DSA
    - ENGINE_set_default
    - ENGINE_finish
    - ENGINE_get_cmd_defns
    - ENGINE_pkey_asn1_find_str
    - ENGINE_get_ex_data
    - ENGINE_set_finish_function
    - ENGINE_set_load_privkey_function
    - ENGINE_get_flags
    - TEST_true
    - ENGINE_register_all_ciphers
    - ENGINE_get_cipher
    - ENGINE_get_digest
    - ENGINE_register_all_pkey_asn1_meths
    - ENGINE_set_default_DH
    - TEST_ptr_null
    - ENGINE_load_private_key
    - ENGINE_get_default_DH
    - ENGINE_get_default_RSA
    - ENGINE_set_cmd_defns
    - ENGINE_get_pkey_asn1_meth
    - ENGINE_get_first
    - ENGINE_get_ciphers
    - ENGINE_get_static_state
    - ENGINE_get_pkey_asn1_meth_str
    - ENGINE_load_padlock
    - ENGINE_load_rdrand
    - ENGINE_set_DH
    - ENGINE_cleanup
    - ENGINE_register_EC
    - ENGINE_get_default_EC
    - ENGINE_set_default_ciphers
    - ENGINE_set_default_string
    - ENGINE_set_default_DSA
    linkageType: ''
    returnType: int
    signature: int test_engine_stubs(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:276,1
    - Dst: ERR_load_ENGINE_strings
      Src: /src/openssl/test/engine_stubs_test.c:276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:279,1
    - Dst: EVP_PKEY_set1_engine
      Src: /src/openssl/test/engine_stubs_test.c:279,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:281,1
    - Dst: EVP_PKEY_get0_engine
      Src: /src/openssl/test/engine_stubs_test.c:281,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:283,1
    - Dst: DH_get0_engine
      Src: /src/openssl/test/engine_stubs_test.c:283,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:285,1
    - Dst: RSA_get0_engine
      Src: /src/openssl/test/engine_stubs_test.c:285,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:287,1
    - Dst: DSA_get0_engine
      Src: /src/openssl/test/engine_stubs_test.c:287,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:289,1
    - Dst: EC_KEY_get0_engine
      Src: /src/openssl/test/engine_stubs_test.c:289,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/engine_stubs_test.c:291,1
    - Dst: OSSL_STORE_LOADER_get0_engine
      Src: /src/openssl/test/engine_stubs_test.c:291,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:293,1
    - Dst: RAND_set_rand_engine
      Src: /src/openssl/test/engine_stubs_test.c:293,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:296,1
    - Dst: TS_CONF_set_crypto_device
      Src: /src/openssl/test/engine_stubs_test.c:296,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:298,1
    - Dst: TS_CONF_set_default_engine
      Src: /src/openssl/test/engine_stubs_test.c:298,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/engine_stubs_test.c:300,1
    - Dst: SSL_CTX_set_client_cert_engine
      Src: /src/openssl/test/engine_stubs_test.c:300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 304
    functionName: test_other_stubs
    functionSourceFile: /src/openssl/test/engine_stubs_test.c
    functionUses: 0
    functionsReached:
    - DSA_get0_engine
    - RSA_get0_engine
    - EVP_PKEY_set1_engine
    - SSL_CTX_set_client_cert_engine
    - OSSL_STORE_LOADER_get0_engine
    - TEST_int_eq
    - TEST_ptr_null
    - EVP_PKEY_get0_engine
    - TS_CONF_set_crypto_device
    - ERR_load_ENGINE_strings
    - RAND_set_rand_engine
    - TS_CONF_set_default_engine
    - EC_KEY_get0_engine
    - DH_get0_engine
    linkageType: ''
    returnType: int
    signature: int test_other_stubs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/engine_stubs_test.c:308,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/engine_stubs_test.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/engine_stubs_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/http_test.c:49,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/test/http_test.c:53,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:57,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/test/http_test.c:57,1
    - Dst: strncpy
      Src: /src/openssl/test/http_test.c:66,1
    - Dst: strchr
      Src: /src/openssl/test/http_test.c:72,1
    - Dst: strlen
      Src: /src/openssl/test/http_test.c:75,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/http_test.c:76,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/http_test.c:80,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/http_test.c:80,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/http_test.c:82,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/http_test.c:82,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/http_test.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:92,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:97,1
    - Dst: strcmp
      Src: /src/openssl/test/http_test.c:99,1
    - Dst: strcmp
      Src: /src/openssl/test/http_test.c:99,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:104,1
    - Dst: strcmp
      Src: /src/openssl/test/http_test.c:109,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:110,1
    - Dst: strlen
      Src: /src/openssl/test/http_test.c:114,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/test/http_test.c:115,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:117,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:123,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/test/http_test.c:124,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/test/http_test.c:126,1
    - Dst: strstr
      Src: /src/openssl/test/http_test.c:128,1
    - Dst: BIO_write
      Src: /src/openssl/test/http_test.c:134,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: 136
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 136
    functionName: mock_http_server
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - BIO_puts
    - BIO_printf
    - ASN1_item_i2d
    - ASN1_item_i2d_bio
    - TEST_strn_eq
    - BIO_write
    - strstr
    - TEST_char_le
    - TEST_true
    - strncpy
    - BIO_get_mem_data
    - strcmp
    - TEST_char_eq
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - HAS_PREFIX
    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:141,1
    - Dst: mock_http_server
      Src: /src/openssl/test/http_test.c:144,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: 148
      start: 138
    functionDepth: 6
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: http_bio_cb_ex
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - mock_http_server
    - BIO_get_callback_arg
    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:158,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:158,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:159,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:159,1
    - Dst: STACK_OF
      Src: /src/openssl/test/http_test.c:163,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/http_test.c:168,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:172,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:172,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:174,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:175,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:176,1
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/openssl/test/http_test.c:182,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/http_test.c:190,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/test/http_test.c:191,1
    - Dst: OSSL_HTTP_get
      Src: /src/openssl/test/http_test.c:193,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/test/http_test.c:202,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:209,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:217,1
    - Dst: BIO_gets
      Src: /src/openssl/test/http_test.c:217,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:223,1
    - Dst: BIO_gets
      Src: /src/openssl/test/http_test.c:223,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:225,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/test/http_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:229,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:229,1
    - Dst: X509_cmp
      Src: /src/openssl/test/http_test.c:229,1
    - Dst: X509_free
      Src: /src/openssl/test/http_test.c:230,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:232,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:236,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:237,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:238,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/test/http_test.c:239,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: 241
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 241
    functionName: test_http_method
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ASN1_item_i2d_mem_bio
    - d2i_X509_bio
    - TEST_ptr
    - X509_free
    - BIO_snprintf
    - TEST_str_eq
    - OSSL_HTTP_transfer
    - sk_CONF_VALUE_pop_free
    - BIO_new
    - OSSL_HTTP_get
    - BIO_set_callback_ex
    - X509_cmp
    - TEST_int_eq
    - BIO_gets
    - STACK_OF
    - BIO_set_callback_arg
    - BIO_s_mem
    - BIO_free
    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:245,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:245,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:246,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:246,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/http_test.c:259,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/test/http_test.c:260,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/test/http_test.c:263,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:274,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/openssl/test/http_test.c:274,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:277,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/openssl/test/http_test.c:277,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:278,1
    - Dst: BIO_reset
      Src: /src/openssl/test/http_test.c:279,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/test/http_test.c:282,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:285,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - version
    - keep_alive
    - kept_alive
    argTypes:
    - char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 243
    functionDepth: 7
    functionLinenumber: 243
    functionLinenumberEnd: 288
    functionName: test_http_keep_alive
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_is_alive
    - BIO_new
    - TEST_ptr
    - BIO_free
    - BIO_set_callback_ex
    - TEST_int_eq
    - TEST_ptr_null
    - BIO_reset
    - BIO_set_callback_arg
    - OSSL_HTTP_transfer
    - BIO_s_mem
    - OSSL_HTTP_close
    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:297,1
    - Dst: sscanf
      Src: /src/openssl/test/http_test.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:299,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:299,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:301,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:302,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:303,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:305,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:307,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:309,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:312,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:315,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:317,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: 319
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 319
    functionName: test_http_url_ok
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - TEST_true
    - sscanf
    - OSSL_HTTP_parse_url
    - TEST_int_eq
    - TEST_str_eq
    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:326,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:326,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:328,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - url
    - exp_path_qu
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 333
    functionName: test_http_url_path_query_ok
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_parse_url
    - OPENSSL_free
    - TEST_true
    - TEST_str_eq
    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_true
      Src: /src/openssl/test/http_test.c:340,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:340,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - url
    - exp_host
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: test_http_url_host_ok
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_parse_url
    - OPENSSL_free
    - TEST_true
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_http_url_host_ok(const char *url, const char *exp_host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 350
    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:354,1
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:356,1
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 360
    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:364,1
    - Dst: test_http_url_path_query_ok
      Src: /src/openssl/test/http_test.c:365,1
    - Dst: test_http_url_path_query_ok
      Src: /src/openssl/test/http_test.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 367
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 372
    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_host_ok
      Src: /src/openssl/test/http_test.c:376,1
    - Dst: test_http_url_host_ok
      Src: /src/openssl/test/http_test.c:377,1
    - Dst: test_http_url_host_ok
      Src: /src/openssl/test/http_test.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: test_http_url_at_sign_outside_authority
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_host_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_at_sign_outside_authority(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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: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_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:397,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:397,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:399,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:400,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:401,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:403,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:404,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: test_http_url_invalid
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_parse_url
    - TEST_ptr_null
    - TEST_false
    - OPENSSL_free
    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:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 413
    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:417,1
    - Dst: test_http_url_invalid
      Src: /src/openssl/test/http_test.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 419
    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:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 424
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:428,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:428,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:429,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:429,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:430,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:430,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:431,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:435,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:438,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:439,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:439,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:440,1
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/openssl/test/http_test.c:440,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/http_test.c:443,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:444,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/test/http_test.c:444,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:446,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/test/http_test.c:446,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:448,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/test/http_test.c:448,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:450,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/test/http_test.c:450,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:452,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/openssl/test/http_test.c:452,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:454,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/openssl/test/http_test.c:454,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:456,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/openssl/test/http_test.c:456,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:460,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/openssl/test/http_test.c:460,1
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:463,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/openssl/test/http_test.c:463,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/http_test.c:468,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/test/http_test.c:469,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:470,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:471,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:472,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:473,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 475
    functionName: test_http_crlf_rejected
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_HTTP_REQ_CTX_set_request_line
    - TEST_false
    - TEST_ptr
    - BIO_new
    - ERR_clear_error
    - BIO_free
    - TEST_true
    - OSSL_HTTP_set1_request
    - TEST_int_eq
    - OSSL_HTTP_REQ_CTX_new
    - OSSL_HTTP_REQ_CTX_free
    - OSSL_HTTP_proxy_connect
    - OSSL_HTTP_REQ_CTX_add1_header
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_http_crlf_rejected(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      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_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: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_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: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_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:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 8
    functionLinenumber: 492
    functionLinenumberEnd: 495
    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:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 8
    functionLinenumber: 497
    functionLinenumberEnd: 500
    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:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 8
    functionLinenumber: 502
    functionLinenumberEnd: 505
    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:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 8
    functionLinenumber: 507
    functionLinenumberEnd: 510
    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:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 8
    functionLinenumber: 512
    functionLinenumberEnd: 515
    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:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 8
    functionLinenumber: 517
    functionLinenumberEnd: 520
    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:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 8
    functionLinenumber: 522
    functionLinenumberEnd: 525
    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:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 8
    functionLinenumber: 527
    functionLinenumberEnd: 530
    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:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 8
    functionLinenumber: 532
    functionLinenumberEnd: 535
    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:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 8
    functionLinenumber: 537
    functionLinenumberEnd: 540
    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:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 8
    functionLinenumber: 542
    functionLinenumberEnd: 545
    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:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 8
    functionLinenumber: 547
    functionLinenumberEnd: 550
    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:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 8
    functionLinenumber: 552
    functionLinenumberEnd: 555
    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: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: 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:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 8
    functionLinenumber: 562
    functionLinenumberEnd: 565
    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:569,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:569,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:570,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:570,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:576,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/http_test.c:584,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/test/http_test.c:585,1
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/openssl/test/http_test.c:587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:588,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:591,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/test/http_test.c:591,1
    - Dst: OSSL_HTTP_REQ_CTX_set_max_response_hdr_lines
      Src: /src/openssl/test/http_test.c:595,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/openssl/test/http_test.c:596,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:603,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:605,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:608,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:609,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/test/http_test.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 567
    functionDepth: 5
    functionLinenumber: 567
    functionLinenumberEnd: 613
    functionName: test_http_resp_hdr_limit
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_REQ_CTX_set_request_line
    - TEST_ptr
    - BIO_new
    - BIO_free
    - BIO_set_callback_ex
    - TEST_true
    - OSSL_HTTP_REQ_CTX_set_max_response_hdr_lines
    - TEST_ptr_null
    - OSSL_HTTP_REQ_CTX_exchange
    - OSSL_HTTP_REQ_CTX_new
    - OSSL_HTTP_REQ_CTX_free
    - BIO_set_callback_arg
    - BIO_s_mem
    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:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 6
    functionLinenumber: 615
    functionLinenumberEnd: 618
    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:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 6
    functionLinenumber: 620
    functionLinenumberEnd: 623
    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:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 628
    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: TEST_str_eq
      Src: /src/openssl/test/http_test.c:634,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/test/http_test.c:634,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:635,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/test/http_test.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 636
    functionName: test_http_adapt_proxy_empty_server
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_adapt_proxy
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_http_adapt_proxy_empty_server(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/http_test.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 641
    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:647,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/http_test.c:650,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:651,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/http_test.c:651,1
    - Dst: test_get_argument
      Src: /src/openssl/test/http_test.c:651,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:654,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:655,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:656,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:657,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:658,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:659,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:660,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:661,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:662,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:663,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:664,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:666,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:667,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:668,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:669,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:670,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:671,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:672,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:673,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:674,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:675,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:677,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:678,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:679,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:680,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:681,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:682,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:683,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:684,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:686,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:687,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:688,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 691
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - load_cert_pem
    - ADD_TEST
    - ASN1_ITEM_rptr
    - test_skip_common_options
    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: TEST_info
      Src: /src/openssl/test/evp_pkey_provided_test.c:101,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:102,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:106,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/evp_pkey_provided_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:107,1
    - Dst: BIO_eof
      Src: /src/openssl/test/evp_pkey_provided_test.c:107,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/evp_pkey_provided_test.c:108,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_pkey_provided_test.c:111,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:112,1
    - Dst: stripcr
      Src: /src/openssl/test/evp_pkey_provided_test.c:117,1
    - Dst: stripcr
      Src: /src/openssl/test/evp_pkey_provided_test.c:118,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:126,1
    - Dst: BIO_reset
      Src: /src/openssl/test/evp_pkey_provided_test.c:127,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:128,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 3
    argNames:
    - alg
    - type
    - membio
    argTypes:
    - char*
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 130
    functionName: compare_with_file
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_lt
    - OPENSSL_free
    - stripcr
    - BIO_free
    - BIO_snprintf
    - TEST_true
    - TEST_error
    - BIO_get_mem_data
    - TEST_int_gt
    - BIO_read_ex
    - test_mk_file_path
    - BIO_reset
    - BIO_new_file
    - TEST_info
    - BIO_eof
    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: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    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: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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:144,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_pkey_provided_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:151,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:151,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:155,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:155,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:156,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:159,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:159,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:162,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:162,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:163,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:165,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:165,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:170,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:170,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:173,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:176,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:176,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:179,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:179,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:184,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/test/evp_pkey_provided_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:185,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:187,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/test/evp_pkey_provided_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:188,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:190,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:192,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:192,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:194,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:194,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:196,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/test/evp_pkey_provided_test.c:196,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:202,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 12
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 204
    functionName: test_print_key_using_pem
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_cbc
    - EVP_PKEY_print_private
    - PEM_write_bio_PrivateKey
    - TEST_ptr
    - BIO_new
    - TEST_false
    - PEM_write_bio_PrivateKey_traditional
    - BIO_free
    - TEST_true
    - TEST_int_gt
    - compare_with_file
    - PEM_write_bio_PUBKEY
    - PEM_write_bio_PKCS8PrivateKey_nid
    - BIO_s_mem
    - PEM_write_bio_PKCS8PrivateKey
    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:212,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_pkey_provided_test.c:212,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_pkey_provided_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:263,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_provided_test.c:267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:268,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:268,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_pkey_provided_test.c:273,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/test/evp_pkey_provided_test.c:273,1
    - Dst: TEST_note
      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: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:279,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:284,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/test/evp_pkey_provided_test.c:284,1
    - Dst: TEST_note
      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_CTX_set_cipher
      Src: /src/openssl/test/evp_pkey_provided_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:292,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:292,1
    - Dst: TEST_note
      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_CTX_set_cipher
      Src: /src/openssl/test/evp_pkey_provided_test.c:297,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:298,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:298,1
    - Dst: TEST_note
      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_CTX_set_cipher
      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: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:305,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:305,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:310,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:311,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 3
    argNames:
    - alg
    - type
    - pk
    argTypes:
    - char*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 206
    functionDepth: 11
    functionLinenumber: 206
    functionLinenumberEnd: 313
    functionName: test_print_key_type_using_encoder
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - TEST_false
    - TEST_ptr
    - BIO_new
    - OSSL_ENCODER_to_bio
    - OSSL_ENCODER_CTX_set_cipher
    - BIO_free
    - TEST_true
    - TEST_note
    - TEST_error
    - OSSL_ENCODER_CTX_set_passphrase
    - TEST_int_ne
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_CTX_new_for_pkey
    - BIO_s_mem
    - compare_with_file
    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:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 12
    functionLinenumber: 315
    functionLinenumberEnd: 324
    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:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 12
    functionLinenumber: 327
    functionLinenumberEnd: 337
    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: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: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:379,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:382,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:383,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:385,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:388,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:388,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:389,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:396,1
    - Dst: EVP_PKEY_get_bits
      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_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:397,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:398,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:398,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:399,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:399,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:400,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:400,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:404,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:404,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:407,1
    - Dst: EVP_PKEY_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_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:408,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:409,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:409,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:410,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:414,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:414,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:415,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:415,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:417,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:420,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:421,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:426,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:426,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:428,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:428,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:437,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_pkey_provided_test.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:438,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:438,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:440,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:443,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:444,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:445,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:446,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:447,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:448,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 350
    functionDepth: 13
    functionLinenumber: 350
    functionLinenumberEnd: 451
    functionName: test_fromdata_rsa
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - test_print_key_using_encoder
    - test_print_key_using_pem
    - TEST_ptr
    - BN_set_word
    - EVP_PKEY_get_bits
    - EVP_PKEY_check
    - TEST_true
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_ulong
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_eq
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - TEST_int_gt
    - TEST_int_eq
    - EVP_PKEY_get_size
    - TEST_false
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - BN_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - TEST_BN_eq
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_PKEY_dup
    - BN_free
    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:471,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:471,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:472,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:472,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:473,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:482,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_pkey_provided_test.c:482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:486,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:486,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:489,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:489,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:491,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_pkey_provided_test.c:492,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:495,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:500,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:501,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:501,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:502,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:502,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:503,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:503,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:504,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:504,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:508,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:508,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:511,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:511,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:512,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:512,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:513,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:513,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:514,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:518,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:518,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:519,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:519,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:521,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:527,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:527,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:529,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:529,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:530,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:533,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:538,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:539,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:540,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:541,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:542,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:543,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: 545
      start: 458
    functionDepth: 9
    functionLinenumber: 458
    functionLinenumberEnd: 545
    functionName: do_fromdata_rsa_derive
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_get_bits
    - EVP_PKEY_check
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_eq
    - EVP_PKEY_pairwise_check
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    - EVP_PKEY_private_check
    - TEST_int_eq
    - EVP_PKEY_get_size
    - OSSL_PARAM_get_BN
    - TEST_false
    - OSSL_PARAM_free
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - EVP_PKEY_todata
    - TEST_BN_eq
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_PKEY_dup
    - BN_free
    - TEST_info
    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:591,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:591,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:592,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:592,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:593,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:594,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:595,1
    - Dst: BN_bin2bn
      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_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:600,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:600,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:601,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:601,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:602,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:602,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:603,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:603,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:607,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:607,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:609,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:609,1
    - Dst: do_fromdata_rsa_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:621,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:624,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:625,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:626,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:627,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: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:632,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 547
    functionDepth: 10
    functionLinenumber: 547
    functionLinenumberEnd: 634
    functionName: test_fromdata_rsa_derive_from_pq_sp800
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - do_fromdata_rsa_derive
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - OSSL_PARAM_BLD_push_int
    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:763,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:763,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:764,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:765,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:765,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:766,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:766,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:767,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:768,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:768,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:769,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:770,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:770,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:771,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:771,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:772,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:772,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:773,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:773,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:774,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:774,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:775,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:775,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:776,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:776,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:777,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:777,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:778,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:778,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:780,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:780,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:782,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:782,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:784,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:784,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:786,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:786,1
    - Dst: do_fromdata_rsa_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:814,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:817,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:818,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:819,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:820,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:821,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:822,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:823,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:824,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:825,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:826,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:827,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:828,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 636
    functionDepth: 10
    functionLinenumber: 636
    functionLinenumberEnd: 830
    functionName: test_fromdata_rsa_derive_from_pq_multiprime
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - do_fromdata_rsa_derive
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - OSSL_PARAM_BLD_push_int
    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:853,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:855,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:855,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:856,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:856,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:857,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:857,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:858,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:858,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:859,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:859,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:860,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:860,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:861,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:861,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:862,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:862,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:863,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:863,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:864,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:864,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:865,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:865,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:868,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:868,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:869,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:869,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:870,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:874,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:875,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:876,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:877,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:878,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:879,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:880,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:881,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:882,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 832
    functionDepth: 6
    functionLinenumber: 832
    functionLinenumberEnd: 884
    functionName: test_evp_pkey_get_bn_param_large
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - OSSL_PARAM_free
    - memset
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_BN_eq
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - BN_free
    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:939,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:940,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:940,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:941,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:941,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:942,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:942,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:945,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/test/evp_pkey_provided_test.c:945,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:947,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:947,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:948,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:948,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:949,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:949,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:952,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:952,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:955,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:955,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:956,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:956,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:966,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:966,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:970,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:972,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:972,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:977,1
    - Dst: TEST_false
      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_false
      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_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:994,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:994,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:995,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:995,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:996,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:996,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:997,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:997,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:998,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:998,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1001,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1001,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1006,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1007,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1007,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1010,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1011,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1011,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1013,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1014,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1014,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1015,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1016,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1016,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1017,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1018,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1018,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1019,1
    - Dst: TEST_false
      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_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1023,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1024,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1024,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1029,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1029,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1031,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1032,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1032,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1034,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1035,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1035,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1038,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1040,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1042,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1044,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1046,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1048,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1050,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1053,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1053,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1056,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1056,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1057,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1057,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1058,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1058,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1059,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1059,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1061,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1064,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1064,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1065,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1065,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1067,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1070,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1071,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1076,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1076,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1078,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1078,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1079,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1085,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1086,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1087,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1088,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1089,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1090,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1091,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1092,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1093,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1094,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1095,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1096,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1097,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1098,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 887
    functionDepth: 13
    functionLinenumber: 887
    functionLinenumberEnd: 1101
    functionName: test_fromdata_dh_named_group
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - test_print_key_using_encoder
    - test_print_key_using_pem
    - TEST_ptr
    - EVP_PKEY_get_bits
    - EVP_PKEY_check
    - TEST_true
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - TEST_ptr_null
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - TEST_str_eq
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_BLD_push_long
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_eq
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - TEST_int_gt
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - EVP_PKEY_get_size
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_false
    - OSSL_PARAM_free
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - TEST_BN_eq
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - EVP_PKEY_dup
    - BN_free
    - TEST_size_t_eq
    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:1155,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1156,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1157,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1157,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1158,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1158,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1161,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/test/evp_pkey_provided_test.c:1161,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1163,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1163,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1164,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1165,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1165,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1168,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1171,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1171,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1172,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1179,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1179,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1180,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1180,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1181,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1181,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1182,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1182,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1183,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1183,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1186,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1186,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1191,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1192,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1192,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1194,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1195,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1195,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1197,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1198,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1198,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1199,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1200,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1201,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1202,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1202,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1203,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1204,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1204,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1207,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1208,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1208,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1213,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1213,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1216,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1217,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1217,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1219,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1220,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1223,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1225,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1227,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1229,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1231,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1233,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1238,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1238,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1241,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1241,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1242,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1242,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1243,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1243,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1244,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1244,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1246,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1249,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1255,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1255,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1257,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1257,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1258,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1264,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1265,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1266,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1267,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1268,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1269,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1270,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1271,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1272,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1273,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1274,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1275,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1276,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1103
    functionDepth: 13
    functionLinenumber: 1103
    functionLinenumberEnd: 1279
    functionName: test_fromdata_dh_fips186_4
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - test_print_key_using_encoder
    - test_print_key_using_pem
    - TEST_ptr
    - EVP_PKEY_get_bits
    - EVP_PKEY_check
    - TEST_true
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - TEST_ptr_null
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - TEST_str_eq
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_BLD_push_long
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_eq
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - TEST_int_gt
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - EVP_PKEY_get_size
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_false
    - OSSL_PARAM_free
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - TEST_BN_eq
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - EVP_PKEY_dup
    - BN_free
    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:1380,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1383,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1389,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1392,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1398,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1401,1
    - 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: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1455,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1456,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1470,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1470,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1471,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1471,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1478,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1478,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1479,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1479,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1480,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1480,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1481,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1481,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1482,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1485,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1485,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1488,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1488,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1490,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1490,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1493,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1496,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1496,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1499,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1505,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1505,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:1506,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1506,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:1507,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1507,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1510,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1513,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1513,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1515,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1517,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1517,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:1519,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1519,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1521,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1523,1
    - Dst: test_print_key_using_encoder_public
      Src: /src/openssl/test/evp_pkey_provided_test.c:1527,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1529,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1530,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1535,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1535,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1537,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1537,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1538,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1545,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1546,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1547,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1548,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 104
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1301
    functionDepth: 13
    functionLinenumber: 1301
    functionLinenumberEnd: 1551
    functionName: test_fromdata_ecx
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - test_print_key_using_encoder
    - test_print_key_using_pem
    - TEST_ptr
    - TEST_mem_eq
    - test_print_key_using_encoder_public
    - EVP_PKEY_get_bits
    - EVP_PKEY_check
    - TEST_true
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_missing_parameters
    - TEST_int_le
    - EVP_PKEY_eq
    - EVP_PKEY_private_check
    - TEST_int_gt
    - TEST_int_eq
    - EVP_PKEY_get_size
    - TEST_false
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - OSSL_PARAM_octet_string
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_PKEY_dup
    linkageType: ''
    returnType: int
    signature: int test_fromdata_ecx(int tst)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1627,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1636,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1636,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1638,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1638,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1642,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1656,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1656,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1663,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1663,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1669,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1669,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1670,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1670,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1672,1
    - Dst: EVP_EC_affine2oct
      Src: /src/openssl/test/evp_pkey_provided_test.c:1672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1673,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1674,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1676,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1676,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1685,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1685,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1687,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1688,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1692,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1694,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1694,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1695,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1695,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1698,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1701,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1701,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1702,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1702,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1709,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1709,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1710,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1710,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1711,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1711,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1712,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1712,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1713,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1713,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1716,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1716,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1717,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1717,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1719,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1722,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/openssl/test/evp_pkey_provided_test.c:1722,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1723,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:1723,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1725,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:1725,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1727,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:1727,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1731,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1731,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:1731,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1732,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1732,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1733,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1733,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1734,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1734,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1735,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/evp_pkey_provided_test.c:1735,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1738,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1738,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1739,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1739,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1740,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1740,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1743,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1743,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1744,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1754,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/test/evp_pkey_provided_test.c:1754,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1755,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/evp_pkey_provided_test.c:1756,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/evp_pkey_provided_test.c:1756,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1759,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1761,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1763,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1765,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1768,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1772,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1773,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1782,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1783,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1786,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1786,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1788,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1790,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1793,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1794,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1799,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1799,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1801,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1801,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1802,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1809,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1810,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1811,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1812,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1813,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1814,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1815,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1816,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1817,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1818,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1819,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1820,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1821,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1822,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1823,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1824,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1826,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 126
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1560
    functionDepth: 13
    functionLinenumber: 1560
    functionLinenumberEnd: 1828
    functionName: test_fromdata_ec
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - test_print_key_using_encoder
    - test_print_key_using_pem
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_get_bits
    - EC_GROUP_get_curve
    - EVP_EC_affine2oct
    - TEST_true
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - TEST_ptr_null
    - EVP_PKEY_CTX_new_from_name
    - TEST_str_eq
    - EVP_PKEY_new
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_missing_parameters
    - OPENSSL_free
    - EVP_PKEY_eq
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - EVP_PKEY_get_size
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_construct_utf8_string
    - TEST_false
    - OSSL_PARAM_free
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - EVP_PKEY_gettable_params
    - EC_GROUP_new_by_curve_name
    - BN_new
    - OSSL_PARAM_DEFN
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - EC_GROUP_free
    - OBJ_sn2nid
    - TEST_BN_eq
    - EVP_PKEY_get_utf8_string_param
    - BN_num_bytes
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_params
    - EC_GROUP_get0_order
    - EVP_PKEY_dup
    - BN_free
    - TEST_size_t_eq
    - OSSL_PARAM_BLD_push_octet_string
    linkageType: ''
    returnType: int
    signature: int test_fromdata_ec(int tst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1836,1
    - Dst: EVP_PKEY_CTX_new_id
      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_paramgen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1837,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1838,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:1838,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1841,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_pkey_provided_test.c:1841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1842,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1845,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1848,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1849,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1849,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1850,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1850,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1851,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_pkey_provided_test.c:1851,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1855,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1856,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1857,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1858,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1859,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1830
    functionDepth: 8
    functionLinenumber: 1830
    functionLinenumberEnd: 1861
    functionName: test_ec_dup_no_operation
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_keygen
    - TEST_int_gt
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_paramgen
    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:1870,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_pkey_provided_test.c:1870,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1871,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1871,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1872,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:1872,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1875,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_pkey_provided_test.c:1875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1876,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1882,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1882,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1883,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1883,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1884,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1884,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1888,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1889,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1890,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1891,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1892,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1864
    functionDepth: 8
    functionLinenumber: 1864
    functionLinenumberEnd: 1894
    functionName: test_ec_dup_keygen_operation
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - TEST_int_gt
    - EVP_PKEY_CTX_dup
    - TEST_ptr_null
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_paramgen
    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:2017,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:2017,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2018,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:2018,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2019,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:2019,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2020,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:2020,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2021,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:2021,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2022,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:2022,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2024,1
    - Dst: OSSL_PARAM_BLD_push_BN
      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: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:2025,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2026,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:2026,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2027,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2027,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2031,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:2031,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2033,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:2033,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2036,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:2036,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2038,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:2038,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2040,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2040,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2043,1
    - Dst: EVP_PKEY_CTX_new_from_name
      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: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:2046,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2047,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:2047,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2054,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:2054,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2055,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:2055,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2056,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:2056,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2057,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:2057,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:2058,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:2058,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:2061,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2061,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2066,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2066,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2068,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2069,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2069,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2071,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2072,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2072,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2074,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2075,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2075,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2077,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2078,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2078,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2080,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:2081,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2081,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:2084,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2085,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2085,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2090,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2090,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2093,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2094,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2094,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2096,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2097,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2097,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2100,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2102,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:2106,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:2110,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2115,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:2115,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2118,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2118,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2119,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2119,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2120,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2120,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2121,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2121,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2126,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:2126,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2127,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:2127,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2129,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:2132,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:2133,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2138,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:2138,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2140,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2140,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2141,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2148,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2149,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2150,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2151,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2152,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2153,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2154,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2155,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2156,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2157,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2158,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2159,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2160,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2161,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2162,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2163,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2164,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 1899
    functionDepth: 13
    functionLinenumber: 1899
    functionLinenumberEnd: 2167
    functionName: test_fromdata_dsa_fips186_4
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - test_print_key_using_encoder
    - test_print_key_using_pem
    - TEST_ptr
    - EVP_PKEY_get_bits
    - EVP_PKEY_check
    - TEST_true
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - TEST_ptr_null
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_int
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_eq
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - TEST_int_gt
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - EVP_PKEY_get_size
    - TEST_false
    - OSSL_PARAM_free
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_security_category
    - TEST_BN_eq
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - EVP_PKEY_dup
    - BN_free
    - OSSL_PARAM_BLD_push_octet_string
    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:2174,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:2174,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2175,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2175,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2176,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2176,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2177,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2177,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2178,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2178,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2169
    functionDepth: 9
    functionLinenumber: 2169
    functionLinenumberEnd: 2186
    functionName: test_check_dsa
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_le
    - EVP_PKEY_check
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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:2192,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2195,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2196,1
    - Dst: strlen
      Src: /src/openssl/test/evp_pkey_provided_test.c:2197,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2198,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2200,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_provided_test.c:2202,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: 2205
      start: 2189
    functionDepth: 2
    functionLinenumber: 2189
    functionLinenumberEnd: 2205
    functionName: do_construct_hkdf_params
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - strlen
    - OPENSSL_malloc_array
    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:2214,1
    - Dst: do_construct_hkdf_params
      Src: /src/openssl/test/evp_pkey_provided_test.c:2214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2217,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:2217,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2219,1
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/openssl/test/evp_pkey_provided_test.c:2219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2221,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:2221,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2223,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:2223,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2225,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:2225,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2226,1
    - Dst: OPENSSL_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_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2207
    functionDepth: 6
    functionLinenumber: 2207
    functionLinenumberEnd: 2234
    functionName: test_evp_pkey_ctx_dup_kdf
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_init_ex
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_CTX_dup
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - do_construct_hkdf_params
    - EVP_PKEY_CTX_free
    - TEST_size_t_eq
    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:2257,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_pkey_provided_test.c:2259,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2263,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2264,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2266,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:2266,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2267,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:2267,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2268,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_pkey_provided_test.c:2268,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/evp_pkey_provided_test.c:2269,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2276,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2277,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2249
    functionDepth: 8
    functionLinenumber: 2249
    functionLinenumberEnd: 2281
    functionName: test_name_dup
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_keygen
    - TEST_int_gt
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_name
    - TEST_info
    - EVP_PKEY_CTX_free
    - ERR_print_errors
    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:2285,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_pkey_provided_test.c:2286,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2290,1
    - Dst: test_get_argument
      Src: /src/openssl/test/evp_pkey_provided_test.c:2290,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2293,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_provided_test.c:2294,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_provided_test.c:2294,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2295,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2296,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2297,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2298,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2300,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2301,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2304,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2305,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_provided_test.c:2309,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_provided_test.c:2311,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2312,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2316
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:61,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:61,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:68,1
    - Dst: qtest_supports_blocking
      Src: /src/openssl/test/quicapitest.c:74,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:75,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:79,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:79,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:86,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quicapitest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:89,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/quicapitest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:92,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:96,1
    - Dst: BIO_get_fd
      Src: /src/openssl/test/quicapitest.c:96,1
    - Dst: ossl_quic_tserver_get0_rbio
      Src: /src/openssl/test/quicapitest.c:96,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:99,1
    - Dst: SSL_get_rfd
      Src: /src/openssl/test/quicapitest.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:107,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:107,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:112,1
    - Dst: wait_until_sock_readable
      Src: /src/openssl/test/quicapitest.c:112,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:117,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:117,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:123,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quicapitest.c:129,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:131,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:132,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:132,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:136,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:137,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:140,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:140,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:141,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:141,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:143,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:143,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:145,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:145,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:156,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:156,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:158,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/quicapitest.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:159,1
    - Dst: SSL_pending
      Src: /src/openssl/test/quicapitest.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:160,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:160,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:167,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/quicapitest.c:167,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:174,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/quicapitest.c:174,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/quicapitest.c:177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:182,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/quicapitest.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:186,1
    - Dst: qtest_shutdown
      Src: /src/openssl/test/quicapitest.c:186,1
    - Dst: ossl_quic_tserver_get0_ssl_ctx
      Src: /src/openssl/test/quicapitest.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:191,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/test/quicapitest.c:191,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:196,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:198,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:208,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:209,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:210,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:211,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:212,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 101
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 215
    functionName: test_quic_write_read
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - BIO_get_fd
    - ossl_quic_tserver_read
    - TEST_ptr
    - TEST_mem_eq
    - SSL_has_pending
    - SSL_pending
    - TEST_true
    - qtest_create_quic_connection
    - SSL_read_ex
    - SSL_get_rfd
    - SSL_get1_session
    - SSL_CTX_free
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - TEST_int_gt
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - BIO_closesocket
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - qtest_create_quic_objects
    - TEST_false
    - SSL_CTX_up_ref
    - SSL_export_keying_material
    - SSL_set_session
    - SSL_SESSION_free
    - ossl_quic_tserver_write
    - qtest_shutdown
    - qtest_supports_blocking
    - SSL_session_reused
    - ossl_quic_tserver_get0_ssl_ctx
    - SSL_CTX_new_ex
    - ossl_quic_tserver_get0_rbio
    - OSSL_QUIC_client_method
    - TEST_skip
    - wait_until_sock_readable
    - TEST_size_t_eq
    - strlen
    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:223,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:223,1
    - Dst: qtest_supports_blocking
      Src: /src/openssl/test/quicapitest.c:234,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:238,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:243,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quicapitest.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:246,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:249,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quicapitest.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:250,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:250,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:252,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:253,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:253,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:258,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:258,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:259,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:263,1
    - Dst: ossl_quic_tserver_conclude
      Src: /src/openssl/test/quicapitest.c:263,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quicapitest.c:266,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:267,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:267,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/quicapitest.c:269,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quicapitest.c:269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:271,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:271,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quicapitest.c:276,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/quicapitest.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:279,1
    - Dst: qtest_shutdown
      Src: /src/openssl/test/quicapitest.c:279,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:285,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:286,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:287,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:288,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 291
    functionName: test_fin_only_blocking
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - qtest_create_quic_connection
    - SSL_read_ex
    - SSL_CTX_free
    - ossl_quic_tserver_conclude
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - ossl_time_subtract
    - TEST_uint64_t_le
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_get_error
    - ossl_time2ms
    - SSL_free
    - qtest_create_quic_objects
    - TEST_false
    - ossl_time_now
    - ossl_quic_tserver_write
    - qtest_shutdown
    - qtest_supports_blocking
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    - TEST_skip
    - ossl_quic_tserver_stream_new
    - TEST_size_t_eq
    - strlen
    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:296,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:296,1
    - Dst: defined
      Src: /src/openssl/test/quicapitest.c:304,1
    - Dst: defined
      Src: /src/openssl/test/quicapitest.c:304,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:319,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/quicapitest.c:319,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:323,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:326,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/quicapitest.c:326,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/test/quicapitest.c:329,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quicapitest.c:331,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/quicapitest.c:334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:335,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quicapitest.c:337,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/quicapitest.c:337,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:342,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/quicapitest.c:342,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:347,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:348,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 351
    functionName: test_ciphersuites
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TEST_uint_eq
    - TEST_ptr
    - OSSL_QUIC_client_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - SSL_get_ciphers
    - SSL_CIPHER_get_id
    - SSL_set_cipher_list
    - sk_SSL_CIPHER_value
    - TEST_int_eq
    - SSL_CTX_free
    - OSSL_NELEM
    - sk_SSL_CIPHER_num
    - defined
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ciphersuites(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:355,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:355,1
    - Dst: defined
      Src: /src/openssl/test/quicapitest.c:366,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:374,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:377,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:378,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quicapitest.c:381,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:383,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/quicapitest.c:383,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:387,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/quicapitest.c:387,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:394,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: test_cipher_find
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - SSL_CIPHER_find
    - TEST_ptr
    - OSSL_QUIC_client_method
    - TEST_ptr_null
    - SSL_CTX_free
    - OSSL_NELEM
    - defined
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_cipher_find(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:408,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:414,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:414,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:417,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:420,1
    - Dst: SSL_version
      Src: /src/openssl/test/quicapitest.c:420,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/quicapitest.c:421,1
    - Dst: SSL_get_version
      Src: /src/openssl/test/quicapitest.c:421,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:424,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/quicapitest.c:424,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:425,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/quicapitest.c:425,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:426,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/quicapitest.c:426,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:431,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:432,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 436
    functionName: test_version
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - qtest_create_quic_objects
    - TEST_ptr
    - TEST_false
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - SSL_get_version
    - TEST_true
    - qtest_create_quic_connection
    - SSL_is_dtls
    - TEST_int_eq
    - SSL_version
    - SSL_CTX_free
    - TEST_str_eq
    - SSL_is_tls
    - SSL_free
    - SSL_is_quic
    linkageType: ''
    returnType: int
    signature: int test_version(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:452,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:452,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:452,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:453,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:453,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/quicapitest.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:454,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:454,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:455,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:455,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:462,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/quicapitest.c:463,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:465,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:465,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:471,1
    - Dst: BIO_pending
      Src: /src/openssl/test/quicapitest.c:471,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:476,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:480,1
    - Dst: compare_with_reference_file
      Src: /src/openssl/test/quicapitest.c:480,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:486,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:487,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:488,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:490,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 493
    functionName: test_ssl_trace
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - SSL_set_msg_callback
    - TEST_ptr
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_free
    - BIO_new
    - ossl_quic_tserver_free
    - OPENSSL_free
    - BIO_pending
    - TEST_int_gt
    - SSL_free
    - BIO_s_mem
    - qtest_create_quic_objects
    - BIO_free
    - test_mk_file_path
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    - SSL_set_msg_callback_arg
    - compare_with_reference_file
    linkageType: ''
    returnType: int
    signature: int test_ssl_trace(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/test/quicapitest.c:529,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:532,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:536,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:537,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:542,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/quicapitest.c:542,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:545,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:549,1
    - Dst: strcmp
      Src: /src/openssl/test/quicapitest.c:551,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:553,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - membio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 562
    functionName: find_new_token_data
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - OPENSSL_free
    - strcmp
    - BIO_gets
    - TEST_info
    - strstr
    linkageType: ''
    returnType: int
    signature: int find_new_token_data(BIO *membio)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:576,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:576,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:577,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:577,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/quicapitest.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:578,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:578,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:586,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/quicapitest.c:587,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:589,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:589,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:593,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:600,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:602,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:602,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:609,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/quicapitest.c:610,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:613,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:617,1
    - Dst: find_new_token_data
      Src: /src/openssl/test/quicapitest.c:617,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:622,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:623,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:624,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:625,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:626,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:627,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 564
    functionDepth: 5
    functionLinenumber: 564
    functionLinenumberEnd: 630
    functionName: test_new_token
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_write_ex
    - SSL_set_msg_callback
    - qtest_create_quic_objects
    - TEST_ptr
    - BIO_new
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - BIO_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - find_new_token_data
    - SSL_CTX_free
    - SSL_set_msg_callback_arg
    - SSL_free
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_new_token(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/quicapitest.c:638,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/quicapitest.c:639,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/quicapitest.c:641,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:647,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/quicapitest.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ciphers
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 653
    functionName: ensure_valid_ciphers
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CIPHER_get_id
    - TEST_error
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_num
    - SSL_CIPHER_get_name
    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:663,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:663,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:663,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:668,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/openssl/test/quicapitest.c:668,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:688,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:688,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 702
    functionName: test_quic_forbidden_apis_ctx
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - OSSL_QUIC_client_method
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_set_tlsext_use_srtp
    linkageType: ''
    returnType: int
    signature: int test_quic_forbidden_apis_ctx(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/quicapitest.c:709,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:711,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:711,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:711,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:714,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:714,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:719,1
    - Dst: SSL_set_tlsext_use_srtp
      Src: /src/openssl/test/quicapitest.c:719,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:724,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:724,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:729,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/test/quicapitest.c:729,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:730,1
    - Dst: ensure_valid_ciphers
      Src: /src/openssl/test/quicapitest.c:730,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/quicapitest.c:735,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:736,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:737,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 739
    functionName: test_quic_forbidden_apis
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TEST_ptr
    - sk_SSL_CIPHER_free
    - SSL_set_tlsext_use_srtp
    - OSSL_QUIC_client_method
    - SSL_get1_supported_ciphers
    - TEST_true
    - SSL_CTX_free
    - STACK_OF
    - ensure_valid_ciphers
    - SSL_set_ciphersuites
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_quic_forbidden_apis(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:749,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:749,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:749,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/quicapitest.c:753,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:755,1
    - Dst: SSL_CTX_get_options
      Src: /src/openssl/test/quicapitest.c:755,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/quicapitest.c:759,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/quicapitest.c:760,1
    - Dst: SSL_CTX_set_recv_max_early_data
      Src: /src/openssl/test/quicapitest.c:761,1
    - Dst: SSL_CTX_set_quiet_shutdown
      Src: /src/openssl/test/quicapitest.c:762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:764,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:764,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:768,1
    - Dst: SSL_get_options
      Src: /src/openssl/test/quicapitest.c:768,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/quicapitest.c:772,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:774,1
    - Dst: SSL_get_options
      Src: /src/openssl/test/quicapitest.c:774,1
    - Dst: SSL_clear_options
      Src: /src/openssl/test/quicapitest.c:778,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:780,1
    - Dst: SSL_get_options
      Src: /src/openssl/test/quicapitest.c:780,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:784,1
    - Dst: SSL_get_read_ahead
      Src: /src/openssl/test/quicapitest.c:784,1
    - Dst: SSL_set_read_ahead
      Src: /src/openssl/test/quicapitest.c:787,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:788,1
    - Dst: SSL_get_read_ahead
      Src: /src/openssl/test/quicapitest.c:788,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:792,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/quicapitest.c:792,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:793,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/quicapitest.c:793,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:794,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/quicapitest.c:794,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:798,1
    - Dst: SSL_set_tlsext_max_fragment_length
      Src: /src/openssl/test/quicapitest.c:798,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:799,1
    - Dst: SSL_set_tlsext_max_fragment_length
      Src: /src/openssl/test/quicapitest.c:799,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:803,1
    - Dst: SSL_set_recv_max_early_data
      Src: /src/openssl/test/quicapitest.c:803,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:804,1
    - Dst: SSL_set_max_early_data
      Src: /src/openssl/test/quicapitest.c:804,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:808,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/quicapitest.c:808,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:809,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/quicapitest.c:809,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:813,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/quicapitest.c:813,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:814,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/quicapitest.c:814,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:818,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/quicapitest.c:818,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:819,1
    - Dst: SSL_set_split_send_fragment
      Src: /src/openssl/test/quicapitest.c:819,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:820,1
    - Dst: SSL_set_max_pipelines
      Src: /src/openssl/test/quicapitest.c:820,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:824,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/quicapitest.c:824,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:828,1
    - Dst: SSL_get_quiet_shutdown
      Src: /src/openssl/test/quicapitest.c:828,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:832,1
    - Dst: SSL_dup
      Src: /src/openssl/test/quicapitest.c:832,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:836,1
    - Dst: SSL_clear
      Src: /src/openssl/test/quicapitest.c:836,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:841,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:842,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 844
    functionName: test_quic_forbidden_options
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_alloc_buffers
    - TEST_ptr
    - TEST_uint64_t_eq
    - SSL_clear_options
    - SSL_set_max_pipelines
    - SSL_CTX_set_max_early_data
    - TEST_true
    - SSL_CTX_set_options
    - SSL_set_block_padding
    - TEST_ptr_null
    - SSL_CTX_free
    - SSL_get_options
    - SSL_set_split_send_fragment
    - SSL_set_read_ahead
    - SSL_set_recv_max_early_data
    - SSL_clear
    - SSL_free
    - TEST_false
    - SSL_free_buffers
    - SSL_CTX_set_recv_max_early_data
    - SSL_get_quiet_shutdown
    - SSL_get_read_ahead
    - SSL_CTX_set_quiet_shutdown
    - SSL_set_tlsext_max_fragment_length
    - SSL_CTX_new_ex
    - SSL_CTX_get_options
    - SSL_set_max_send_fragment
    - SSL_new
    - SSL_dup
    - SSL_CTX_set_read_ahead
    - OSSL_QUIC_client_method
    - SSL_write_early_data
    - SSL_set_max_early_data
    - SSL_stateless
    - 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:854,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:854,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:854,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:857,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:857,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quicapitest.c:860,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quicapitest.c:860,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:864,1
    - Dst: SSL_set_fd
      Src: /src/openssl/test/quicapitest.c:864,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:866,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/quicapitest.c:866,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:868,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:868,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:871,1
    - Dst: SSL_set_rfd
      Src: /src/openssl/test/quicapitest.c:871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:873,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/quicapitest.c:873,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:875,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:875,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:878,1
    - Dst: SSL_set_wfd
      Src: /src/openssl/test/quicapitest.c:878,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:880,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:880,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:882,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/quicapitest.c:882,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:886,1
    - Dst: BIO_method_type
      Src: /src/openssl/test/quicapitest.c:886,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:889,1
    - Dst: BIO_get_fd
      Src: /src/openssl/test/quicapitest.c:889,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:890,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:895,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:896,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quicapitest.c:898,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 56
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 900
    functionName: test_quic_set_fd
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_get_fd
    - TEST_ptr
    - TEST_true
    - SSL_set_rfd
    - TEST_ptr_null
    - SSL_CTX_free
    - TEST_ptr_eq
    - SSL_get_wbio
    - TEST_int_eq
    - BIO_closesocket
    - BIO_method_type
    - SSL_free
    - SSL_set_wfd
    - SSL_set_fd
    - SSL_get_rbio
    - SSL_CTX_new_ex
    - SSL_new
    - OSSL_QUIC_client_method
    - BIO_socket
    - TEST_int_ge
    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:912,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:912,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:923,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/test/quicapitest.c:926,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:927,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:934,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/test/quicapitest.c:934,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:937,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:937,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:942,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/quicapitest.c:947,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/quicapitest.c:949,1
    - Dst: BIO_retry_type
      Src: /src/openssl/test/quicapitest.c:950,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:957,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/quicapitest.c:958,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:963,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:964,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/quicapitest.c:965,1
    - Dst: ossl_quic_tserver_is_handshake_confirmed
      Src: /src/openssl/test/quicapitest.c:967,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:974,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:984,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:984,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:986,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:989,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:989,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:992,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:994,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/quicapitest.c:994,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:995,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1001,1
    - Dst: SSL_set_mode
      Src: /src/openssl/test/quicapitest.c:1001,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quicapitest.c:1011,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1012,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1015,1
    - Dst: SSL_set_mode
      Src: /src/openssl/test/quicapitest.c:1015,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:1018,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/quicapitest.c:1018,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1019,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1022,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/quicapitest.c:1022,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1026,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/quicapitest.c:1026,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1029,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/quicapitest.c:1034,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/quicapitest.c:1035,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1036,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1037,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1038,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 904
    functionDepth: 5
    functionLinenumber: 904
    functionLinenumberEnd: 1041
    functionName: test_bio_ssl
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_read
    - SSL_set_mode
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - BIO_set_ssl
    - SSL_CTX_free
    - BIO_read_ex
    - BIO_get_ssl
    - BIO_f_ssl
    - qtest_add_time
    - ossl_quic_tserver_tick
    - BIO_should_retry
    - BIO_new
    - ossl_quic_tserver_free
    - ossl_quic_tserver_is_term_any
    - TEST_int_eq
    - SSL_free
    - qtest_create_quic_objects
    - SSL_new_stream
    - ossl_quic_tserver_write
    - ossl_quic_tserver_is_handshake_confirmed
    - BIO_write_ex
    - TEST_openssl_errors
    - SSL_CTX_new_ex
    - BIO_retry_type
    - OSSL_QUIC_client_method
    - BIO_free_all
    - BIO_new_ssl
    - strlen
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_bio_ssl(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1050,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1050,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1060,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1061,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1061,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1064,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1064,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quicapitest.c:1067,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1068,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1070,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/quicapitest.c:1070,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1079,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1081,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1083,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1088,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1089,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:1089,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1095,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1101,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1102,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1048
    functionDepth: 7
    functionLinenumber: 1048
    functionLinenumberEnd: 1107
    functionName: test_back_pressure
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_write_ex
    - ossl_quic_tserver_read
    - qtest_create_quic_objects
    - TEST_ptr
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - OPENSSL_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - TEST_error
    - TEST_int_eq
    - RAND_bytes_ex
    - SSL_CTX_free
    - SSL_free
    - SSL_get_error
    - OPENSSL_malloc
    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: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    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:1126,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1126,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quicapitest.c:1134,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1137,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1138,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1138,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1141,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1141,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:1145,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1146,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1146,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1154,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1155,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1156,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1160
    functionName: test_multiple_dgrams
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - OPENSSL_zalloc
    - SSL_set_msg_callback
    - qtest_create_quic_objects
    - TEST_ptr
    - SSL_write_ex
    - OPENSSL_free
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - TEST_int_eq
    - SSL_CTX_free
    - TEST_size_t_eq
    - SSL_free
    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:1164,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/quicapitest.c:1170,1
    - Dst: SSL_set_retry_verify
      Src: /src/openssl/test/quicapitest.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1179
    functionName: non_io_retry_cert_verify_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - 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:1193,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:1194,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1196,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1197,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/quicapitest.c:1200,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1203,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1203,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1206,1
    - Dst: qtest_create_quic_connection_ex
      Src: /src/openssl/test/quicapitest.c:1206,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1208,1
    - Dst: SSL_want
      Src: /src/openssl/test/quicapitest.c:1208,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1212,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1212,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1217,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1218,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1222
    functionName: test_non_io_retry
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_want
    - qtest_create_quic_objects
    - TEST_ptr
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - TEST_skip
    - qtest_create_quic_connection_ex
    - TEST_true
    - qtest_create_quic_connection
    - TEST_int_eq
    - SSL_CTX_free
    - qtest_supports_blocking
    - SSL_CTX_set_cert_verify_callback
    - SSL_free
    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:1234,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1239,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: 1242
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1242
    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:1249,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1253,1
    - Dst: strncmp
      Src: /src/openssl/test/quicapitest.c:1254,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:1255,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: 1262
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1262
    functionName: find_session_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - SSL_SESSION_up_ref
    - SSL_SESSION_free
    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:1266,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1271,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1273,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1273,1
    - Dst: SSL_set_psk_use_session_callback
      Src: /src/openssl/test/quicapitest.c:1278,1
    - Dst: ossl_quic_tserver_set_psk_find_session_cb
      Src: /src/openssl/test/quicapitest.c:1279,1
    - Dst: create_a_psk
      Src: /src/openssl/test/quicapitest.c:1283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1285,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1285,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/quicapitest.c:1285,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1288,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1289,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1290,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1292,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/quicapitest.c:1292,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1298,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1299,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1300,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:1301,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:1302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1306
    functionName: test_quic_psk
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - qtest_create_quic_objects
    - TEST_ptr
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - create_a_psk
    - TEST_true
    - qtest_create_quic_connection
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_session_reused
    - SSL_set_psk_use_session_callback
    - ossl_quic_tserver_set_psk_find_session_cb
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_quic_psk(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1310,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1310,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1311,1
    - Dst: TLS_method
      Src: /src/openssl/test/quicapitest.c:1311,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1320,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1320,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quicapitest.c:1323,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1325,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/test/quicapitest.c:1325,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1329,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/quicapitest.c:1329,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1330,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/quicapitest.c:1330,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1334,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1334,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1340,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/quicapitest.c:1340,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1341,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/quicapitest.c:1341,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:1346,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1346,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1354,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1354,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1358,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1358,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1359,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1362,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1363,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:1363,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1368,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1369,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1371,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:1371,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1372,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1373,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1376,1
    - Dst: qtest_shutdown
      Src: /src/openssl/test/quicapitest.c:1376,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1382,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1383,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1384,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1385,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1388
    functionName: test_client_auth
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - TEST_mem_eq
    - ssl_ctx_add_large_cert_chain
    - TEST_true
    - qtest_create_quic_connection
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_CTX_load_verify_file
    - SSL_CTX_set_verify
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - SSL_CTX_use_certificate_chain_file
    - SSL_free
    - SSL_write_ex
    - TLS_method
    - qtest_create_quic_objects
    - TEST_false
    - ossl_quic_tserver_write
    - qtest_shutdown
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    - SSL_CTX_use_PrivateKey_file
    - TEST_size_t_eq
    - strlen
    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:1397,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1397,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1407,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:1407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1410,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1411,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1411,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:1423,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quicapitest.c:1423,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:1427,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:1428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1432,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1432,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1436,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1436,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1437,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1437,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1443,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1444,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1445,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1448
    functionName: test_alpn
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_CTX_set_ciphersuites
    - qtest_create_quic_objects
    - TEST_ptr
    - TEST_false
    - ossl_quic_tserver_free
    - TEST_int_le
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_connect
    - TEST_true
    - qtest_create_quic_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_get_error
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_alpn(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1455,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1455,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1460,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1461,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1461,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1466,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1466,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1469,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/quicapitest.c:1469,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1472,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quicapitest.c:1472,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1475,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/quicapitest.c:1475,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1479,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1480,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quicapitest.c:1481,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1483,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/quicapitest.c:1483,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1489,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1490,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1491,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1494
    functionName: test_get_shutdown
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - qtest_create_quic_objects
    - TEST_ptr
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - SSL_get_shutdown
    - SSL_shutdown
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_free
    - 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:1511,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:1512,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:1516,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1518,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1518,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1521,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1522,1
    - Dst: qtest_wait_for_timeout
      Src: /src/openssl/test/quicapitest.c:1523,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1526,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: 1528
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1528
    functionName: unreliable_client_read
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - qtest_wait_for_timeout
    - SSL_accept_stream
    - TEST_error
    - TEST_int_eq
    - SSL_read_ex
    - SSL_get_error
    - qtest_add_time
    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:1539,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1542,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1543,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1544,1
    - Dst: qtest_wait_for_timeout
      Src: /src/openssl/test/quicapitest.c:1545,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1548,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: 1550
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1550
    functionName: unreliable_server_read
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - ossl_quic_tserver_read
    - ossl_quic_tserver_tick
    - qtest_wait_for_timeout
    - TEST_error
    - qtest_add_time
    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:1562,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1562,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1576,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1577,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1577,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1583,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1583,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1586,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quicapitest.c:1586,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1589,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quicapitest.c:1589,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1594,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quicapitest.c:1594,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1596,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1597,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1605,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:1605,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1608,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1610,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1611,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1618,1
    - Dst: unreliable_client_read
      Src: /src/openssl/test/quicapitest.c:1618,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1621,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1627,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1627,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1629,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1632,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1633,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1640,1
    - Dst: unreliable_server_read
      Src: /src/openssl/test/quicapitest.c:1640,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1642,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1649,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1650,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1651,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1652,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1653,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicapitest.c:1654,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1560
    functionDepth: 2
    functionLinenumber: 1560
    functionLinenumberEnd: 1657
    functionName: test_noisy_dgram
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_free
    - qtest_add_time
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - qtest_fault_free
    - SSL_free
    - SSL_write_ex
    - qtest_create_quic_objects
    - SSL_set_incoming_stream_policy
    - unreliable_server_read
    - ossl_quic_tserver_write
    - SSL_CTX_new_ex
    - unreliable_client_read
    - OSSL_QUIC_client_method
    - SSL_set_default_stream_mode
    - ossl_quic_tserver_stream_new
    - TEST_size_t_eq
    - strlen
    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:1668,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1680,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1681,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1687,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quicapitest.c:1687,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1688,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quicapitest.c:1688,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1692,1
    - Dst: qtest_fault_set_bw_limit
      Src: /src/openssl/test/quicapitest.c:1692,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1695,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1695,1
    - Dst: qtest_start_stopwatch
      Src: /src/openssl/test/quicapitest.c:1698,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1701,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1704,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1708,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1709,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1709,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1713,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1716,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:1719,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1725,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1727,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1729,1
    - Dst: qtest_get_stopwatch_time
      Src: /src/openssl/test/quicapitest.c:1731,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1733,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quicapitest.c:1736,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1741,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1742,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1743,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1744,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1745,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicapitest.c:1746,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1749
    functionName: test_bw_limit
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - qtest_get_stopwatch_time
    - ossl_quic_tserver_read
    - TEST_ptr
    - TEST_uint64_t_lt
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_free
    - qtest_start_stopwatch
    - qtest_add_time
    - OPENSSL_zalloc
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - OPENSSL_free
    - TEST_int_eq
    - qtest_fault_free
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - qtest_create_quic_objects
    - qtest_fault_set_bw_limit
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    - TEST_info
    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: 1764
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    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: 1766
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1766
    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: 1769
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1769
    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: 1771
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1771
    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: 1774
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1774
    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: 1776
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1776
    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: 1779
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1779
    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: 1781
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1781
    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: 1784
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1784
    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: 1786
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1786
    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: 1788
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1788
    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: 1792
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1792
    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:2033,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2033,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2041,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2041,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2051,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2051,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2061,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2061,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quicapitest.c:2069,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2075,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2075,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: 2087
      start: 2024
    functionDepth: 1
    functionLinenumber: 2024
    functionLinenumberEnd: 2087
    functionName: tparam_handle
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - ossl_quic_wire_encode_transport_param_bytes
    - TEST_ptr
    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:2102,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quicapitest.c:2102,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2109,1
    - Dst: qtest_fault_delete_extension
      Src: /src/openssl/test/quicapitest.c:2109,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2114,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quicapitest.c:2114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2115,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quicapitest.c:2115,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2116,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quicapitest.c:2116,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2129,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/test/quicapitest.c:2129,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2131,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/test/quicapitest.c:2131,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quicapitest.c:2134,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2138,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:2139,1
    - Dst: PACKET_data
      Src: /src/openssl/test/quicapitest.c:2139,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quicapitest.c:2139,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2143,1
    - Dst: tparam_handle
      Src: /src/openssl/test/quicapitest.c:2143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2149,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2155,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2155,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2160,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/quicapitest.c:2160,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2164,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/quicapitest.c:2164,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2167,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quicapitest.c:2167,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quicapitest.c:2170,1
    - Dst: qtest_fault_resize_message
      Src: /src/openssl/test/quicapitest.c:2178,1
    - Dst: memcpy
      Src: /src/openssl/test/quicapitest.c:2181,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quicapitest.c:2192,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quicapitest.c:2193,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quicapitest.c:2194,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: 2196
      start: 2089
    functionDepth: 5
    functionLinenumber: 2089
    functionLinenumberEnd: 2196
    functionName: tparam_on_enc_ext
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - PACKET_buf_init
    - TEST_mem_eq
    - WPACKET_cleanup
    - TEST_true
    - BUF_MEM_free
    - tparam_handle
    - ossl_quic_wire_encode_transport_param_bytes
    - WPACKET_close
    - memcpy
    - qtest_fault_delete_extension
    - WPACKET_get_total_written
    - WPACKET_finish
    - WPACKET_start_sub_packet_u16
    - WPACKET_init
    - WPACKET_memcpy
    - BUF_MEM_new
    - PACKET_remaining
    - qtest_fault_resize_message
    - ossl_quic_wire_decode_transport_param_bytes
    - PACKET_data
    - WPACKET_put_bytes_u16
    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:2209,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2209,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2209,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2212,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:2212,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2217,1
    - Dst: qtest_fault_set_hand_enc_ext_listener
      Src: /src/openssl/test/quicapitest.c:2217,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2221,1
    - Dst: qtest_create_quic_connection_ex
      Src: /src/openssl/test/quicapitest.c:2221,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2228,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/quicapitest.c:2228,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2231,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2233,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:2233,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:2234,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2247,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2252,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:2256,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2257,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2258,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicapitest.c:2259,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2261
    functionName: test_tparam
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - qtest_create_quic_objects
    - TEST_ptr
    - qtest_fault_set_hand_enc_ext_listener
    - TEST_uint64_t_eq
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - qtest_create_quic_connection_ex
    - SSL_get_conn_close_info
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - qtest_fault_free
    - TEST_info
    - strstr
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_tparam(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2266
    functionDepth: 1
    functionLinenumber: 2266
    functionLinenumberEnd: 2280
    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:2285,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2290,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/quicapitest.c:2295,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/quicapitest.c:2296,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2298,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:2298,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2305,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:2305,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2309,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2309,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2312,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quicapitest.c:2312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2319,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2320,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
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2331
    functionName: test_session_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_handle_events
    - qtest_create_quic_objects
    - TEST_ptr
    - ossl_quic_tserver_free
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_create_quic_connection
    - SSL_shutdown
    - TEST_int_eq
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_new_cb
    - SSL_CTX_free
    - TEST_ptr_eq
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_session_cb(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2340,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2340,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2340,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2341,1
    - Dst: SSL_CTX_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2341,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quicapitest.c:2342,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quicapitest.c:2343,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quicapitest.c:2344,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2345,1
    - Dst: SSL_CTX_set_domain_flags
      Src: /src/openssl/test/quicapitest.c:2345,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2346,1
    - Dst: SSL_CTX_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2346,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2347,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2348,1
    - Dst: SSL_new_domain
      Src: /src/openssl/test/quicapitest.c:2348,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2349,1
    - Dst: SSL_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2349,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2350,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2351,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2351,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2352,1
    - Dst: SSL_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2352,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2353,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2354,1
    - Dst: SSL_is_domain
      Src: /src/openssl/test/quicapitest.c:2354,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2355,1
    - Dst: SSL_is_domain
      Src: /src/openssl/test/quicapitest.c:2355,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2356,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/quicapitest.c:2356,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:2357,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/quicapitest.c:2357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2358,1
    - Dst: SSL_new_listener_from
      Src: /src/openssl/test/quicapitest.c:2358,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2359,1
    - Dst: SSL_is_listener
      Src: /src/openssl/test/quicapitest.c:2359,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2360,1
    - Dst: SSL_is_domain
      Src: /src/openssl/test/quicapitest.c:2360,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2361,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/quicapitest.c:2361,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2362,1
    - Dst: SSL_get0_listener
      Src: /src/openssl/test/quicapitest.c:2362,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2367,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2368,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2369,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2370,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2372
    functionName: test_domain_flags
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - SSL_new_listener_from
    - TEST_true
    - SSL_is_listener
    - TEST_ptr_null
    - SSL_CTX_free
    - TEST_ptr_eq
    - SSL_is_domain
    - SSL_free
    - TEST_false
    - SSL_CTX_new_ex
    - SSL_get0_domain
    - SSL_new
    - SSL_get0_listener
    - OSSL_QUIC_client_method
    - SSL_CTX_get_domain_flags
    - SSL_get_domain_flags
    - SSL_CTX_set_domain_flags
    - TEST_uint64_t_ne
    - SSL_new_domain
    linkageType: ''
    returnType: int
    signature: int test_domain_flags(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2379,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2386,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2387,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:2387,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2393,1
    - Dst: SSL_in_before
      Src: /src/openssl/test/quicapitest.c:2393,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2396,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2396,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2399,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/quicapitest.c:2399,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2400,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2403,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/quicapitest.c:2403,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2404,1
    - Dst: SSL_pending
      Src: /src/openssl/test/quicapitest.c:2404,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2407,1
    - Dst: SSL_in_before
      Src: /src/openssl/test/quicapitest.c:2407,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2410,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:2410,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2413,1
    - Dst: SSL_in_before
      Src: /src/openssl/test/quicapitest.c:2413,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2418,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2419,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:2420,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2422
    functionName: test_early_ticks
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_handle_events
    - qtest_create_quic_objects
    - TEST_ptr
    - SSL_in_before
    - SSL_get_event_timeout
    - TEST_false
    - SSL_has_pending
    - OSSL_QUIC_client_method
    - SSL_pending
    - ossl_quic_tserver_free
    - TEST_true
    - qtest_create_quic_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_early_ticks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/quicapitest.c:2430,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: 2435
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2435
    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:2441,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2441,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2441,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2447
    functionName: create_client_ctx
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_client_ctx(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2453,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2453,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quicapitest.c:2453,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2454,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/quicapitest.c:2454,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2455,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/quicapitest.c:2455,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2456,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/quicapitest.c:2459,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quicapitest.c:2460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2464
    functionName: create_server_ctx
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_CTX_set_verify
    - TEST_ptr
    - SSL_CTX_use_certificate_file
    - SSL_CTX_set_alpn_select_cb
    - OSSL_QUIC_server_method
    - TEST_true
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_free
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_server_ctx(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2470,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:2470,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2473,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:2473,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:2474,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ina
    - port
    argTypes:
    - struct in_addr*
    - short int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2466
    functionDepth: 1
    functionLinenumber: 2466
    functionLinenumberEnd: 2480
    functionName: create_addr
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - htons
    - TEST_true
    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:2486,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/quicapitest.c:2486,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2489,1
    - Dst: BIO_dgram_set0_local_addr
      Src: /src/openssl/test/quicapitest.c:2489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - addr
    argTypes:
    - BIO*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2493
    functionName: bio_addr_bind
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_dgram_set_caps
    - TEST_int_eq
    - TEST_true
    - BIO_dgram_set0_local_addr
    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:2499,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/quicapitest.c:2499,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2500,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quicapitest.c:2504,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2506,1
    - Dst: SSL_listen
      Src: /src/openssl/test/quicapitest.c:2506,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ssl_ctx
    - bio
    argTypes:
    - SSL_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2495
    functionDepth: 3
    functionLinenumber: 2495
    functionLinenumberEnd: 2512
    functionName: ql_create
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_new_listener
    - BIO_free
    - TEST_true
    - SSL_listen
    - SSL_set_bio
    - SSL_free
    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:2518,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/test/quicapitest.c:2518,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2521,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quicapitest.c:2521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qconn
    - dst_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2514
    functionDepth: 1
    functionLinenumber: 2514
    functionLinenumberEnd: 2525
    functionName: qc_init
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set1_initial_peer_addr
    - TEST_false
    - TEST_true
    - SSL_set_alpn_protos
    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:2537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2538,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2539,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2539,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2540,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quicapitest.c:2540,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2543,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2543,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2546,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2550,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2550,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2553,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2553,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2557,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2559,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2562,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2564,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2567,1
    - Dst: SSL_new_from_listener
      Src: /src/openssl/test/quicapitest.c:2567,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2570,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2570,1
    - Dst: qc_init
      Src: /src/openssl/test/quicapitest.c:2573,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2574,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/quicapitest.c:2577,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2578,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2579,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:2582,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2583,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2589,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2590,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2591,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2592,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2593,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2594,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2595,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2596,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2527
    functionDepth: 6
    functionLinenumber: 2527
    functionLinenumberEnd: 2599
    functionName: test_ssl_new_from_listener
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - create_addr
    - TEST_ptr
    - SSL_new_from_listener
    - BIO_ADDR_free
    - BIO_new_bio_dgram_pair
    - BIO_free
    - TEST_true
    - SSL_do_handshake
    - TEST_int_gt
    - htonl
    - SSL_CTX_free
    - qc_init
    - bio_addr_bind
    - create_server_ctx
    - ql_create
    - TEST_info
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ssl_new_from_listener(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - type
    - val
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2611
    functionName: new_from_listener_info_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void new_from_listener_info_cb(const SSL *ssl, int type, int val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/openssl/test/quicapitest.c:2622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2625,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2625,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2626,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2626,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2627,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quicapitest.c:2627,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/test/quicapitest.c:2636,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2638,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2638,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2639,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2643,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2643,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2644,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2644,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2648,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2650,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2653,1
    - Dst: SSL_new_from_listener
      Src: /src/openssl/test/quicapitest.c:2653,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2654,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2654,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2655,1
    - Dst: qc_init
      Src: /src/openssl/test/quicapitest.c:2655,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/quicapitest.c:2658,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2659,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2660,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:2663,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2664,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2665,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2668,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2669,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2670,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2671,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2672,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2673,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2674,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2675,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2613
    functionDepth: 6
    functionLinenumber: 2613
    functionLinenumberEnd: 2677
    functionName: test_ssl_new_from_listener_user_ssl
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - BIO_ADDR_free
    - TEST_true
    - SSL_CTX_free
    - bio_addr_bind
    - TEST_ptr_eq
    - TEST_int_gt
    - SSL_free
    - create_server_ctx
    - SSL_new_from_listener
    - BIO_new_bio_dgram_pair
    - BIO_free
    - htonl
    - qc_init
    - ql_create
    - SSL_do_handshake
    - SSL_CTX_set_info_callback
    - create_addr
    linkageType: ''
    returnType: int
    signature: int test_ssl_new_from_listener_user_ssl(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2687,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quicapitest.c:2687,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2688,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2692,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:2695,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/quicapitest.c:2699,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2700,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/quicapitest.c:2700,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quicapitest.c:2700,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2706,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2707,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2679
    functionDepth: 2
    functionLinenumber: 2679
    functionLinenumberEnd: 2709
    functionName: test_server_method_with_ssl_new
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TEST_ptr
    - ERR_GET_REASON
    - OSSL_QUIC_server_method
    - TEST_true
    - TEST_ptr_null
    - SSL_CTX_free
    - ERR_peek_error
    - ERR_GET_LIB
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_server_method_with_ssl_new(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/openssl/test/quicapitest.c:2720,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2722,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quicapitest.c:2722,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2725,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2725,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2728,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2728,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2732,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2734,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2737,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2737,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2740,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2740,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2742,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2742,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2745,1
    - Dst: qc_init
      Src: /src/openssl/test/quicapitest.c:2745,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quicapitest.c:2750,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2757,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2758,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2761,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2762,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2763,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: 2766
      start: 2711
    functionDepth: 6
    functionLinenumber: 2711
    functionLinenumberEnd: 2766
    functionName: create_quic_ssl_objects
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_new_bio_dgram_pair
    - BIO_free
    - TEST_true
    - htonl
    - qc_init
    - bio_addr_bind
    - create_addr
    - ql_create
    - SSL_set_bio
    - SSL_free
    linkageType: ''
    returnType: int
    signature: "int create_quic_ssl_objects(SSL_CTX *sctx, SSL_CTX *cctx,\n    SSL
      **lssl, SSL **cssl)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2776,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2777,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2777,1
    - Dst: OSSL_QUIC_method
      Src: /src/openssl/test/quicapitest.c:2777,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2780,1
    - Dst: SSL_accept
      Src: /src/openssl/test/quicapitest.c:2784,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2785,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2786,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2786,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2791,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2792,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2793,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2793,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2795,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2799,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2800,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2800,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/test/quicapitest.c:2800,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2804,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2804,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2812,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2813,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2815,1
    - Dst: SSL_listen_ex
      Src: /src/openssl/test/quicapitest.c:2815,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2817,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quicapitest.c:2817,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quicapitest.c:2817,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/quicapitest.c:2819,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2824,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2825,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2826,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2827,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2828,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2829,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2768
    functionDepth: 7
    functionLinenumber: 2768
    functionLinenumberEnd: 2832
    functionName: test_ssl_client_as_ossl_quic_method
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - SSL_CTX_free
    - ERR_clear_error
    - TEST_int_le
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - SSL_is_init_finished
    - SSL_accept
    - TEST_false
    - OSSL_QUIC_method
    - create_bare_ssl_connection
    - ERR_get_error
    - SSL_listen_ex
    - SSL_CTX_new_ex
    - SSL_new
    - SSL_connect
    - create_quic_ssl_objects
    - create_server_ctx
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int test_ssl_client_as_ossl_quic_method(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2841,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2842,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:2842,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2845,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2848,1
    - Dst: OSSL_QUIC_method
      Src: /src/openssl/test/quicapitest.c:2848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2849,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2852,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2853,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2858,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2859,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2860,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2860,1
    - Dst: SSL_listen_ex
      Src: /src/openssl/test/quicapitest.c:2862,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2865,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2871,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2875,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2875,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:2881,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2881,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2884,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quicapitest.c:2884,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quicapitest.c:2884,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/quicapitest.c:2887,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2891,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2892,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2893,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2894,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2895,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2896,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2834
    functionDepth: 7
    functionLinenumber: 2834
    functionLinenumberEnd: 2899
    functionName: test_ssl_listen_ex
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - TEST_ptr_null
    - SSL_CTX_free
    - ERR_clear_error
    - TEST_int_le
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - OSSL_QUIC_method
    - create_bare_ssl_connection
    - ERR_get_error
    - SSL_listen_ex
    - SSL_CTX_new_ex
    - SSL_new
    - SSL_connect
    - create_quic_ssl_objects
    - create_server_ctx
    - create_client_ctx
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int test_ssl_listen_ex(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2908,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2908,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2909,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:2909,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2912,1
    - Dst: SSL_accept
      Src: /src/openssl/test/quicapitest.c:2916,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2917,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2918,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2918,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2923,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2924,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2925,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2925,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2927,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2931,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2932,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2932,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/test/quicapitest.c:2932,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2936,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2936,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2943,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2944,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2945,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2946,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2947,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2901
    functionDepth: 7
    functionLinenumber: 2901
    functionLinenumberEnd: 2950
    functionName: test_ssl_accept_connection
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - SSL_is_init_finished
    - SSL_accept
    - TEST_ptr
    - TEST_false
    - SSL_accept_connection
    - TEST_int_le
    - SSL_connect
    - create_quic_ssl_objects
    - TEST_true
    - create_bare_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - create_server_ctx
    - create_client_ctx
    - SSL_get_error
    - SSL_free
    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:2956,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/test/quicapitest.c:2956,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2954
    functionDepth: 2
    functionLinenumber: 2954
    functionLinenumberEnd: 2960
    functionName: quic_verify_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_eq
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    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:2969,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2969,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2970,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:2970,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2973,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/quicapitest.c:2977,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2981,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2982,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2983,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2983,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2985,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2989,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2992,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2993,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2993,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2999,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3000,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3001,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3002,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3003,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 2962
    functionDepth: 7
    functionLinenumber: 2962
    functionLinenumberEnd: 3006
    functionName: test_ssl_set_verify
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - SSL_accept_connection
    - TEST_int_le
    - SSL_connect
    - create_quic_ssl_objects
    - TEST_true
    - create_bare_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_set_verify
    - create_server_ctx
    - create_client_ctx
    - SSL_get_error
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ssl_set_verify(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3033,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quicapitest.c:3033,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:3034,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:3034,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3035,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3036,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3036,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3040,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quicapitest.c:3040,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:3041,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:3041,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3042,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3043,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3043,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:3046,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:3048,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:3051,1
    - Dst: SSL_get_stream_type
      Src: /src/openssl/test/quicapitest.c:3058,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:3064,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:3064,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3065,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3070,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3071,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3072,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:3075,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3076,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:3077,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3078,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: 3081
      start: 3013
    functionDepth: 1
    functionLinenumber: 3013
    functionLinenumberEnd: 3081
    functionName: create_accept_stream
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - SSL_write_ex
    - TEST_ptr
    - TEST_int_gt
    - SSL_accept_stream
    - SSL_get_stream_type
    - SSL_new_stream
    - TEST_int_eq
    - SSL_read_ex
    - TEST_size_t_eq
    - TEST_info
    - SSL_free
    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:3097,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:3097,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3098,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:3098,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:3099,1
    - Dst: SSL_accept
      Src: /src/openssl/test/quicapitest.c:3103,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:3104,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3105,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:3105,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:3110,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:3111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3112,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:3112,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3114,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:3118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3119,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3119,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/test/quicapitest.c:3119,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3123,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:3123,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3127,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quicapitest.c:3127,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3130,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quicapitest.c:3130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3133,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quicapitest.c:3133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3137,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quicapitest.c:3137,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3144,1
    - Dst: create_accept_stream
      Src: /src/openssl/test/quicapitest.c:3144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3147,1
    - Dst: create_accept_stream
      Src: /src/openssl/test/quicapitest.c:3147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3150,1
    - Dst: create_accept_stream
      Src: /src/openssl/test/quicapitest.c:3150,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3158,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3159,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3160,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3161,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3162,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3165
      start: 3083
    functionDepth: 7
    functionLinenumber: 3083
    functionLinenumberEnd: 3165
    functionName: test_accept_stream
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - TEST_int_le
    - create_accept_stream
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - SSL_is_init_finished
    - SSL_accept
    - TEST_false
    - SSL_set_incoming_stream_policy
    - create_bare_ssl_connection
    - SSL_connect
    - create_quic_ssl_objects
    - SSL_set_default_stream_mode
    - create_server_ctx
    - create_client_ctx
    - 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:3178,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:3178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3179,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:3179,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3184,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/quicapitest.c:3184,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3186,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/quicapitest.c:3186,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:3189,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:3194,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:3195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3196,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:3196,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3198,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:3202,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3205,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3206,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:3206,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3212,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3213,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3214,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3215,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3216,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:3220,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3171
    functionDepth: 7
    functionLinenumber: 3171
    functionLinenumberEnd: 3222
    functionName: test_client_hello_retry
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - SSL_accept_connection
    - TEST_int_le
    - TEST_skip
    - SSL_CTX_set1_groups_list
    - SSL_connect
    - TEST_true
    - create_quic_ssl_objects
    - create_bare_ssl_connection
    - TEST_int_eq
    - SSL_CTX_free
    - create_server_ctx
    - create_client_ctx
    - SSL_get_error
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_client_hello_retry(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3239,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quicapitest.c:3239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3243,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:3243,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3244,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:3244,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:3244,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3245,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:3245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3250,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:3250,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3251,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:3251,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:3251,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/quicapitest.c:3253,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3254,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3258,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:3258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3263,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:3263,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3264,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:3264,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:3264,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/quicapitest.c:3266,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:3266,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3271,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:3271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3274,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:3274,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3275,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:3275,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:3275,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3276,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:3276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3281,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:3281,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3282,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:3282,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:3282,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3283,1
    - Dst: qc_init
      Src: /src/openssl/test/quicapitest.c:3283,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3285,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quicapitest.c:3288,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3295,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3296,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:3299,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:3300,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3301,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3302,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3303,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3304,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 9
    argNames:
    - sctx
    - cctx
    - lssl
    - cssl
    - family
    - srv_ip
    - srv_port
    - cli_ip
    - cli_port
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL**
    - SSL**
    - int
    - unsigned char*
    - uint16_t
    - unsigned char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3225
    functionDepth: 6
    functionLinenumber: 3225
    functionLinenumberEnd: 3307
    functionName: create_quic_ssl_objects_seed_peer
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - SSL_new
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_new_bio_dgram_pair
    - BIO_ADDR_rawmake
    - BIO_free
    - BIO_ADDR_new
    - TEST_true
    - htons
    - qc_init
    - bio_addr_bind
    - ql_create
    - SSL_set_bio
    - SSL_free
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: "int create_quic_ssl_objects_seed_peer(SSL_CTX *sctx, SSL_CTX *cctx,\n
      \   SSL **lssl, SSL **cssl,\n    int family,\n    const unsigned char *srv_ip,
      uint16_t srv_port,\n    const unsigned char *cli_ip, uint16_t cli_port)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/test/quicapitest.c:3323,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3326,1
    - Dst: inet_pton
      Src: /src/openssl/test/quicapitest.c:3326,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3327,1
    - Dst: inet_pton
      Src: /src/openssl/test/quicapitest.c:3327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3330,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:3330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3331,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:3331,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3334,1
    - Dst: create_quic_ssl_objects_seed_peer
      Src: /src/openssl/test/quicapitest.c:3334,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:3342,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3343,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3345,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:3347,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3348,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3353,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:3353,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3357,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:3357,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/test/quicapitest.c:3359,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3361,1
    - Dst: SSL_get_peer_addr
      Src: /src/openssl/test/quicapitest.c:3361,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3362,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/quicapitest.c:3362,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3363,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/quicapitest.c:3363,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3364,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:3365,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3366,1
    - Dst: ntohs
      Src: /src/openssl/test/quicapitest.c:3366,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/quicapitest.c:3366,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/test/quicapitest.c:3370,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3371,1
    - Dst: SSL_get_peer_addr
      Src: /src/openssl/test/quicapitest.c:3371,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3372,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/quicapitest.c:3372,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3373,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/quicapitest.c:3373,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3374,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:3375,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3376,1
    - Dst: ntohs
      Src: /src/openssl/test/quicapitest.c:3376,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/quicapitest.c:3376,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:3382,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3383,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3384,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3385,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3386,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3387,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 45
    argCount: 5
    argNames:
    - family
    - srv_str
    - srv_port
    - cli_str
    - cli_port
    argTypes:
    - int
    - char*
    - uint16_t
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3310
    functionDepth: 7
    functionLinenumber: 3310
    functionLinenumberEnd: 3389
    functionName: test_quic_peer_addr_common
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_sock_init
    - SSL_handle_events
    - BIO_ADDR_rawaddress
    - TEST_ptr
    - TEST_mem_eq
    - BIO_ADDR_free
    - BIO_ADDR_clear
    - BIO_ADDR_new
    - TEST_true
    - ntohs
    - SSL_CTX_free
    - BIO_ADDR_family
    - TEST_int_eq
    - BIO_ADDR_rawport
    - inet_pton
    - SSL_free
    - SSL_get_peer_addr
    - SSL_connect
    - create_quic_ssl_objects_seed_peer
    - TEST_size_t_eq
    - create_server_ctx
    - create_client_ctx
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: "int test_quic_peer_addr_common(int family,\n    const char *srv_str,
      uint16_t srv_port,\n    const char *cli_str, uint16_t cli_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_quic_peer_addr_common
      Src: /src/openssl/test/quicapitest.c:3393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3391
    functionDepth: 8
    functionLinenumber: 3391
    functionLinenumberEnd: 3396
    functionName: test_quic_peer_addr_v4
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - test_quic_peer_addr_common
    linkageType: ''
    returnType: int
    signature: int test_quic_peer_addr_v4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_quic_peer_addr_common
      Src: /src/openssl/test/quicapitest.c:3401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3399
    functionDepth: 8
    functionLinenumber: 3399
    functionLinenumberEnd: 3404
    functionName: test_quic_peer_addr_v6
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - test_quic_peer_addr_common
    linkageType: ''
    returnType: int
    signature: int test_quic_peer_addr_v6(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:3444,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:3447,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:3451,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/quicapitest.c:3451,1
    - Dst: BIO_write
      Src: /src/openssl/test/quicapitest.c:3452,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:3452,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3453,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/quicapitest.c:3453,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3454,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/quicapitest.c:3454,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:3457,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:3457,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:3458,1
    - Dst: TLS_method
      Src: /src/openssl/test/quicapitest.c:3458,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3460,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3460,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/quicapitest.c:3460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3463,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3464,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:3464,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3472,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/quicapitest.c:3472,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3474,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quicapitest.c:3474,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3477,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:3477,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/quicapitest.c:3479,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3480,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/quicapitest.c:3480,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:3486,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3487,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3489,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3490,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3491,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/quicapitest.c:3492,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/quicapitest.c:3493,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3408
    functionDepth: 5
    functionLinenumber: 3408
    functionLinenumberEnd: 3497
    functionName: test_ech
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - qtest_create_quic_connection
    - SSL_set_verify_result
    - SSL_CTX_free
    - SSL_ech_get1_status
    - BIO_new
    - ossl_quic_tserver_free
    - BIO_write
    - OPENSSL_free
    - SSL_set1_ech_config_list
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_CTX_set1_echstore
    - BIO_s_mem
    - SSL_free
    - TLS_method
    - qtest_create_quic_objects
    - SSL_CTX_new_ex
    - OSSL_ECHSTORE_free
    - OSSL_ECHSTORE_read_pem
    - OSSL_QUIC_client_method
    - BIO_free_all
    - OSSL_ECHSTORE_new
    - strlen
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_ech(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3510,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:3510,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:3510,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3513,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:3513,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3519,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:3519,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3526,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:3526,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3527,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:3530,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3531,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:3531,1
    - Dst: ossl_quic_tserver_get_channel
      Src: /src/openssl/test/quicapitest.c:3540,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3541,1
    - Dst: ossl_qtx_set_mdpl
      Src: /src/openssl/test/quicapitest.c:3541,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3546,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:3546,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:3548,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:3551,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3552,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3554,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:3554,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:3555,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:3560,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3561,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3562,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3564
      start: 3499
    functionDepth: 1
    functionLinenumber: 3499
    functionLinenumberEnd: 3564
    functionName: test_quic_resize_txe
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - ossl_quic_tserver_read
    - TEST_ptr
    - TEST_mem_eq
    - ossl_qtx_set_mdpl
    - TEST_true
    - qtest_create_quic_connection
    - SSL_read_ex
    - SSL_CTX_free
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - SSL_free
    - SSL_write_ex
    - qtest_create_quic_objects
    - ossl_quic_tserver_write
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    - ossl_quic_tserver_get_channel
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_quic_resize_txe(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/quicapitest.c:3574,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3575,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/quicapitest.c:3578,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3584,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3584,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3585,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3585,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quicapitest.c:3588,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:3589,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3593,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3594,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3595,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3595,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3596,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3596,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3599,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/quicapitest.c:3599,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3603,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3603,1
    - Dst: strcmp
      Src: /src/openssl/test/quicapitest.c:3607,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3608,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3608,1
    - Dst: strcmp
      Src: /src/openssl/test/quicapitest.c:3611,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3614,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3618,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3622,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3626,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3630,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3634,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3635,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3636,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3637,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3638,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3640,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3642,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3643,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3644,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3645,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3646,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3647,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3648,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3649,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3650,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3651,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3652,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3653,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3654,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3655,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3656,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3657,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3658,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quicapitest.c:3658,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3659,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3660,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3661,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3662,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3663,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3665,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3667,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3668,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3669,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3670,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3671,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3673,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3675,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3676,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3677,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/quicapitest.c:3681,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3683
      start: 3569
    functionDepth: 10
    functionLinenumber: 3569
    functionLinenumberEnd: 3683
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_PROVIDER_available
    - TEST_false
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - strcmp
    - TEST_error
    - test_mk_file_path
    - OSSL_NELEM
    - test_skip_common_options
    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:3687,1
    - Dst: bio_f_pkt_split_dgram_filter_free
      Src: /src/openssl/test/quicapitest.c:3688,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3689,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3690,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3691,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3692,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3693,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/quicapitest.c:3694,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/quicapitest.c:3695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3685
    functionDepth: 4
    functionLinenumber: 3685
    functionLinenumberEnd: 3696
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    - bio_f_noisy_dgram_filter_free
    - OSSL_PROVIDER_unload
    - bio_f_pkt_split_dgram_filter_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sd_load
      Src: /src/openssl/test/shlibloadtest.c:66,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:67,1
    - Dst: sd_load
      Src: /src/openssl/test/shlibloadtest.c:75,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:76,1
    - Dst: sd_load
      Src: /src/openssl/test/shlibloadtest.c:81,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:82,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:90,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:91,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:92,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:93,1
    - Dst: mySSL_CTX_new
      Src: /src/openssl/test/shlibloadtest.c:99,1
    - Dst: myTLS_method
      Src: /src/openssl/test/shlibloadtest.c:99,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:101,1
    - Dst: mySSL_CTX_free
      Src: /src/openssl/test/shlibloadtest.c:104,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:107,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:108,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:109,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:110,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:111,1
    - Dst: myERR_get_error
      Src: /src/openssl/test/shlibloadtest.c:115,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:116,1
    - Dst: myOPENSSL_version_major
      Src: /src/openssl/test/shlibloadtest.c:124,1
    - Dst: myOPENSSL_version_minor
      Src: /src/openssl/test/shlibloadtest.c:125,1
    - Dst: myOPENSSL_version_patch
      Src: /src/openssl/test/shlibloadtest.c:126,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:127,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:143,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:144,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:145,1
    - Dst: myDSO_dsobyaddr
      Src: /src/openssl/test/shlibloadtest.c:155,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:157,1
    - Dst: myDSO_free
      Src: /src/openssl/test/shlibloadtest.c:160,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:165,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:166,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:172,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:173,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:182,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:184,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 186
    functionName: test_lib
    functionSourceFile: /src/openssl/test/shlibloadtest.c
    functionUses: 0
    functionsReached:
    - sd_sym
    - mySSL_CTX_free
    - myERR_get_error
    - sd_close
    - sd_load
    - myDSO_dsobyaddr
    - myOPENSSL_version_minor
    - myDSO_free
    - fprintf
    - myOPENSSL_version_major
    - myOPENSSL_version_patch
    - mySSL_CTX_new
    - myTLS_method
    linkageType: ''
    returnType: int
    signature: int test_lib(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:199,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:205,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:207,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:209,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:211,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:214,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:220,1
    - Dst: test_lib
      Src: /src/openssl/test/shlibloadtest.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 229
    functionName: main
    functionSourceFile: /src/openssl/test/shlibloadtest.c
    functionUses: 5
    functionsReached:
    - fprintf
    - test_lib
    - strcmp
    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:25,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:26,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: get_kdfbyname_libctx
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - EVP_KDF_fetch
    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:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 35
    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:40,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:46,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:48,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:50,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:51,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:53,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - digest
    - secret
    - seed
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: construct_tls1_prf_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - strlen
    - OPENSSL_malloc_array
    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:70,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:73,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:73,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:74,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:74,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:75,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 80
    functionName: test_kdf_tls1_prf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - get_kdfbyname
    - construct_tls1_prf_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:95,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:97,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_kdf_test.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:104,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:104,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:105,1
    - Dst: EVP_KDF_CTX_set_SKEY
      Src: /src/openssl/test/evp_kdf_test.c:105,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:106,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:106,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:107,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:109,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_kdf_test.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: test_kdf_tls1_prf_set_skey
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_set_SKEY
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - EVP_SKEY_free
    - EVP_SKEY_import_raw_key
    - TEST_int_gt
    - get_kdfbyname
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_set_skey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:128,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:131,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:132,1
    - Dst: EVP_KDF_derive_SKEY
      Src: /src/openssl/test/evp_kdf_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:134,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_kdf_test.c:134,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:135,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_kdf_test.c:137,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: test_kdf_tls1_prf_derive_skey
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EVP_SKEY_free
    - TEST_int_eq
    - get_kdfbyname
    - EVP_KDF_derive_SKEY
    - construct_tls1_prf_params
    - EVP_SKEY_get0_raw_key
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_derive_skey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:152,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:152,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:153,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:153,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: test_kdf_tls1_prf_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - 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:167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:171,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:172,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:173,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:173,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: test_kdf_tls1_prf_zero_output_size
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - TEST_int_eq
    - get_kdfbyname
    - construct_tls1_prf_params
    - 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:187,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:189,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:190,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:190,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:191,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:191,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 6
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test_kdf_tls1_prf_empty_secret
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - get_kdfbyname
    - construct_tls1_prf_params
    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:205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:208,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:208,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:209,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:209,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 198
    functionDepth: 6
    functionLinenumber: 198
    functionLinenumberEnd: 214
    functionName: test_kdf_tls1_prf_1byte_secret
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - get_kdfbyname
    - construct_tls1_prf_params
    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:223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:227,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:227,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:228,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:229,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:229,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: test_kdf_tls1_prf_empty_seed
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - TEST_int_eq
    - get_kdfbyname
    - construct_tls1_prf_params
    - 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:243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:246,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:246,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:247,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:247,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:249,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: test_kdf_tls1_prf_1byte_seed
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - get_kdfbyname
    - construct_tls1_prf_params
    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:257,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:264,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:266,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:267,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:268,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:271,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:272,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:274,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:276,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: 279
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: construct_hkdf_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - strlen
    - OPENSSL_malloc_array
    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:291,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:293,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:294,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:294,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:295,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:295,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:296,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 6
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: test_kdf_hkdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - construct_hkdf_params
    - get_kdfbyname
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:317,1
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:321,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:322,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:326,1
    - Dst: EVP_KDF_CTX_gettable_params
      Src: /src/openssl/test/evp_kdf_test.c:326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:327,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:328,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:329,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:330,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:331,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:331,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_kdf_test.c:335,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:338,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:338,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:339,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:342,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:342,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:346,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:350,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:350,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:354,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:354,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:358,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:359,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:360,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:360,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:361,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:364,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:366,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:367,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:369,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:369,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:370,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:371,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:372,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:373,1
    - Dst: OSSL_PARAM_construct_end
      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: 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: 34
    EdgeCount: 34
    ICount: 51
    argCount: 2
    argNames:
    - extract_only
    - has_digest
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 303
    functionDepth: 6
    functionLinenumber: 303
    functionLinenumberEnd: 385
    functionName: do_kdf_hkdf_gettables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_get_params
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - TEST_str_eq
    - construct_hkdf_params
    - get_kdfbyname
    - EVP_KDF_CTX_gettable_params
    - TEST_int_eq
    - TEST_size_t_eq
    - EVP_KDF_CTX_set_params
    - OSSL_PARAM_construct_size_t
    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:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 7
    functionLinenumber: 387
    functionLinenumberEnd: 390
    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:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 7
    functionLinenumber: 392
    functionLinenumberEnd: 395
    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:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 7
    functionLinenumber: 397
    functionLinenumberEnd: 400
    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:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:411,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:411,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:412,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:412,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:414,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 402
    functionDepth: 6
    functionLinenumber: 402
    functionLinenumberEnd: 417
    functionName: test_kdf_hkdf_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - construct_hkdf_params
    - get_kdfbyname
    - 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:427,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:429,1
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:434,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:435,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:435,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:436,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:436,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:437,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:437,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:438,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:438,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - kdf_name
    - bad_digest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 443
    functionName: kdf_hkdf_fixed_digest_change_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - EVP_KDF_CTX_get_params
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - construct_hkdf_params
    - get_kdfbyname
    - TEST_int_eq
    - EVP_KDF_CTX_set_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:447,1
    - Dst: kdf_hkdf_fixed_digest_change_digest
      Src: /src/openssl/test/evp_kdf_test.c:448,1
    - Dst: kdf_hkdf_fixed_digest_change_digest
      Src: /src/openssl/test/evp_kdf_test.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 450
    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:465,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:467,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:469,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:471,1
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:475,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:475,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:476,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:476,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:480,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:481,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:482,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/openssl/test/evp_kdf_test.c:485,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:486,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:486,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_kdf_test.c:487,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:488,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:489,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:490,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:491,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:491,1
    - Dst: memset
      Src: /src/openssl/test/evp_kdf_test.c:495,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:496,1
    - Dst: EVP_KDF_CTX_dup
      Src: /src/openssl/test/evp_kdf_test.c:496,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:497,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:497,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:498,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:499,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:499,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:504,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:506,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: 508
      start: 452
    functionDepth: 6
    functionLinenumber: 452
    functionLinenumberEnd: 508
    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_get_params
    - TEST_ptr
    - TEST_true
    - construct_hkdf_params
    - TEST_str_eq
    - TEST_size_t_gt
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_reset
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - OSSL_PARAM_construct_utf8_string
    - TEST_false
    - memset
    - EVP_KDF_CTX_free
    - EVP_KDF_CTX_dup
    - get_kdfbyname
    - TEST_size_t_eq
    - strlen
    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:512,1
    - Dst: kdf_hkdf_fixed_digest_preserve_digest
      Src: /src/openssl/test/evp_kdf_test.c:513,1
    - Dst: kdf_hkdf_fixed_digest_preserve_digest
      Src: /src/openssl/test/evp_kdf_test.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 7
    functionLinenumber: 510
    functionLinenumberEnd: 515
    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:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:530,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:531,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:531,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/openssl/test/evp_kdf_test.c:535,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:537,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:539,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:541,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:541,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:544,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:546,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:550,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:550,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:551,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:552,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 517
    functionDepth: 6
    functionLinenumber: 517
    functionLinenumberEnd: 560
    functionName: test_kdf_hkdf_reset
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_get_params
    - TEST_ptr
    - OPENSSL_free
    - TEST_int_le
    - TEST_true
    - OSSL_PARAM_construct_end
    - construct_hkdf_params
    - get_kdfbyname
    - TEST_int_eq
    - TEST_size_t_eq
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_reset
    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:569,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:569,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:575,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:576,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:577,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:577,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 583
    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_int
    - TEST_ptr
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - get_kdfbyname
    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:591,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:591,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:593,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:595,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:596,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:596,1
    - Dst: OSSL_PARAM_construct_int
      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_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:600,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 585
    functionDepth: 6
    functionLinenumber: 585
    functionLinenumberEnd: 607
    functionName: test_kdf_hkdf_set_invalid_mode
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - get_kdfbyname
    - 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:616,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:616,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:620,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:622,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:624,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:624,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 609
    functionDepth: 6
    functionLinenumber: 609
    functionLinenumberEnd: 631
    functionName: do_kdf_hkdf_set_invalid_param
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - get_kdfbyname
    - 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:635,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:637,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:639,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 7
    functionLinenumber: 633
    functionLinenumberEnd: 643
    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:652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:655,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:656,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:656,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:657,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:657,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:658,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:658,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 645
    functionDepth: 6
    functionLinenumber: 645
    functionLinenumberEnd: 663
    functionName: test_kdf_hkdf_zero_output_size
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - construct_hkdf_params
    - get_kdfbyname
    - TEST_int_eq
    - 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:672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:675,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:675,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:676,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:676,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:678,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 665
    functionDepth: 6
    functionLinenumber: 665
    functionLinenumberEnd: 681
    functionName: test_kdf_hkdf_empty_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - construct_hkdf_params
    - get_kdfbyname
    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:690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:692,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:693,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:693,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:694,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:694,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:696,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 683
    functionDepth: 6
    functionLinenumber: 683
    functionLinenumberEnd: 699
    functionName: test_kdf_hkdf_1byte_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - construct_hkdf_params
    - get_kdfbyname
    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:708,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:710,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:711,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:711,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:712,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:712,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:714,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 701
    functionDepth: 6
    functionLinenumber: 701
    functionLinenumberEnd: 717
    functionName: test_kdf_hkdf_empty_salt
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - construct_hkdf_params
    - get_kdfbyname
    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:722,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:728,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:729,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:730,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:731,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:732,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:733,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:735,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: 738
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 738
    functionName: construct_pbkdf1_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - strlen
    - OPENSSL_malloc_array
    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:756,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:756,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:760,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:762,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_kdf_test.c:763,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:766,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:766,1
    - Dst: construct_pbkdf1_params
      Src: /src/openssl/test/evp_kdf_test.c:769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:773,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:774,1
    - Dst: get_kdfbyname_libctx
      Src: /src/openssl/test/evp_kdf_test.c:774,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:775,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:775,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:776,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:776,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:777,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:783,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:784,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:785,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 740
    functionDepth: 5
    functionLinenumber: 740
    functionLinenumberEnd: 788
    functionName: test_kdf_pbkdf1
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - get_kdfbyname_libctx
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_skip
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    - TEST_true
    - TEST_int_gt
    - EVP_KDF_CTX_set_params
    - OSSL_PROVIDER_unload
    - construct_pbkdf1_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf1(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:810,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:810,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:814,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:816,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_kdf_test.c:817,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:820,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:820,1
    - Dst: construct_pbkdf1_params
      Src: /src/openssl/test/evp_kdf_test.c:823,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:827,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:828,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_kdf_test.c:828,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:830,1
    - Dst: get_kdfbyname_libctx
      Src: /src/openssl/test/evp_kdf_test.c:830,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:831,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:831,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:832,1
    - Dst: EVP_KDF_CTX_set_SKEY
      Src: /src/openssl/test/evp_kdf_test.c:832,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:833,1
    - Dst: EVP_KDF_derive_SKEY
      Src: /src/openssl/test/evp_kdf_test.c:833,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:835,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_kdf_test.c:835,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:836,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_kdf_test.c:841,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_kdf_test.c:842,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:843,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:844,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:845,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:846,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:847,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 790
    functionDepth: 6
    functionLinenumber: 790
    functionLinenumberEnd: 849
    functionName: test_kdf_pbkdf1_skey
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - get_kdfbyname_libctx
    - TEST_mem_eq
    - EVP_SKEY_free
    - TEST_true
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_set_SKEY
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - OSSL_PROVIDER_unload
    - EVP_SKEY_get0_raw_key
    - EVP_SKEY_import_raw_key
    - construct_pbkdf1_params
    - EVP_KDF_CTX_free
    - TEST_skip
    - EVP_KDF_derive_SKEY
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf1_skey(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:862,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:862,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:866,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:868,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_kdf_test.c:869,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:872,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:872,1
    - Dst: construct_pbkdf1_params
      Src: /src/openssl/test/evp_kdf_test.c:875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:885,1
    - Dst: get_kdfbyname_libctx
      Src: /src/openssl/test/evp_kdf_test.c:885,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:886,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:886,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:887,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:887,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:892,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:893,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:894,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:895,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:896,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 851
    functionDepth: 5
    functionLinenumber: 851
    functionLinenumberEnd: 898
    functionName: test_kdf_pbkdf1_key_too_long
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - get_kdfbyname_libctx
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_skip
    - OSSL_LIB_CTX_free
    - TEST_true
    - TEST_int_eq
    - EVP_KDF_CTX_set_params
    - OSSL_PROVIDER_unload
    - construct_pbkdf1_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:903,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:909,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:910,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:911,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:912,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:913,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:914,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:916,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:917,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: 920
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: construct_pbkdf2_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - strlen
    - OPENSSL_malloc_array
    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:937,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:941,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:942,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:942,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:943,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:943,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:944,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:949,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 922
    functionDepth: 6
    functionLinenumber: 922
    functionLinenumberEnd: 952
    functionName: test_kdf_pbkdf2
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_pbkdf2_params
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - get_kdfbyname
    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:963,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:967,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:968,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:968,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:971,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:971,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:976,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 954
    functionDepth: 6
    functionLinenumber: 954
    functionLinenumberEnd: 979
    functionName: test_kdf_pbkdf2_small_output
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_pbkdf2_params
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - TEST_int_eq
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:998,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:999,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:999,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1001,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1001,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1002,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1002,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1007,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1008,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 981
    functionDepth: 6
    functionLinenumber: 981
    functionLinenumberEnd: 1010
    functionName: test_kdf_pbkdf2_large_output
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_pbkdf2_params
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - TEST_int_eq
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:1020,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1024,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1025,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1025,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1027,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1027,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1032,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1012
    functionDepth: 6
    functionLinenumber: 1012
    functionLinenumberEnd: 1035
    functionName: test_kdf_pbkdf2_small_salt
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_pbkdf2_params
    - TEST_ptr
    - TEST_false
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:1045,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1049,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1050,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1050,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1052,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1052,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1057,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1037
    functionDepth: 6
    functionLinenumber: 1037
    functionLinenumberEnd: 1060
    functionName: test_kdf_pbkdf2_small_iterations
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_pbkdf2_params
    - TEST_ptr
    - TEST_false
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:1072,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1076,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1077,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1077,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:1080,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1080,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1084,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1085,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1088,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1088,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1089,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1089,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1094,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1062
    functionDepth: 6
    functionLinenumber: 1062
    functionLinenumberEnd: 1097
    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_int
    - construct_pbkdf2_params
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:1109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1114,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1114,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1116,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1116,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1117,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1117,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1121,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1122,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1125,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1126,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1126,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1099
    functionDepth: 6
    functionLinenumber: 1099
    functionLinenumberEnd: 1134
    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_int
    - construct_pbkdf2_params
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:1144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1149,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1149,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1151,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1151,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1136
    functionDepth: 6
    functionLinenumber: 1136
    functionLinenumberEnd: 1159
    functionName: test_kdf_pbkdf2_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_pbkdf2_params
    - TEST_ptr
    - TEST_false
    - OPENSSL_free
    - get_kdfbyname
    - EVP_KDF_CTX_set_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:1180,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1182,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1184,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1185,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1186,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1187,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1188,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1190,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1190,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1193,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1193,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:1196,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1196,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1197,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/test/evp_kdf_test.c:1197,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1198,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1198,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1200,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1200,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1201,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/openssl/test/evp_kdf_test.c:1203,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1162
    functionDepth: 6
    functionLinenumber: 1162
    functionLinenumberEnd: 1208
    functionName: test_kdf_scrypt
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_set_uint
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_le
    - EVP_KDF_derive
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - OSSL_PARAM_construct_uint
    - get_kdfbyname
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_reset
    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:1234,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1236,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1237,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1241,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1241,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1242,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1242,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1243,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1212
    functionDepth: 6
    functionLinenumber: 1212
    functionLinenumberEnd: 1247
    functionName: test_kdf_ss_hash
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:1288,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1290,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: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1295,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1295,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1296,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1296,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1297,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1251
    functionDepth: 6
    functionLinenumber: 1251
    functionLinenumberEnd: 1301
    functionName: test_kdf_x963
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:1337,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1339,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1341,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1343,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1345,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1347,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1349,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1352,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1353,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1353,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1356,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1310
    functionDepth: 6
    functionLinenumber: 1310
    functionLinenumberEnd: 1364
    functionName: test_kdf_kbkdf_6803_128
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:1401,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1403,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1405,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1407,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1409,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1411,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1413,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1415,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1416,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1417,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1417,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1420,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1366
    functionDepth: 6
    functionLinenumber: 1366
    functionLinenumberEnd: 1428
    functionName: test_kdf_kbkdf_6803_256
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:1434,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1440,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1442,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1444,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1446,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1448,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1449,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1450,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1451,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1452,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1454,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: 1457
      start: 1431
    functionDepth: 2
    functionLinenumber: 1431
    functionLinenumberEnd: 1457
    functionName: construct_kbkdf_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - strlen
    - OPENSSL_malloc_array
    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:1468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1469,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1474,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1475,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1475,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1459
    functionDepth: 6
    functionLinenumber: 1459
    functionLinenumberEnd: 1480
    functionName: test_kdf_kbkdf_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - construct_kbkdf_params
    - get_kdfbyname
    - 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:1491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1492,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1497,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1498,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1498,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1482
    functionDepth: 6
    functionLinenumber: 1482
    functionLinenumberEnd: 1503
    functionName: test_kdf_kbkdf_invalid_mac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - construct_kbkdf_params
    - get_kdfbyname
    - 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:1514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1515,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1520,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1521,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1521,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1523,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1505
    functionDepth: 6
    functionLinenumber: 1505
    functionLinenumberEnd: 1526
    functionName: test_kdf_kbkdf_invalid_r
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - construct_kbkdf_params
    - get_kdfbyname
    - 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:1538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1539,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1544,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1545,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1545,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1546,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1546,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1548,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1528
    functionDepth: 6
    functionLinenumber: 1528
    functionLinenumberEnd: 1551
    functionName: test_kdf_kbkdf_empty_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - construct_kbkdf_params
    - TEST_int_eq
    - get_kdfbyname
    - 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:1563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1564,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1567,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1568,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1569,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1569,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1571,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1553
    functionDepth: 6
    functionLinenumber: 1553
    functionLinenumberEnd: 1574
    functionName: test_kdf_kbkdf_1byte_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_int_gt
    - construct_kbkdf_params
    - get_kdfbyname
    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:1586,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1587,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1591,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1592,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1593,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1593,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1594,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1594,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1596,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1576
    functionDepth: 6
    functionLinenumber: 1576
    functionLinenumberEnd: 1599
    functionName: test_kdf_kbkdf_zero_output_size
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_derive
    - TEST_true
    - construct_kbkdf_params
    - TEST_int_eq
    - get_kdfbyname
    - 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:1622,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1624,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1626,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1628,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1629,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1630,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1631,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1632,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1634,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1635,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1636,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1636,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1637,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1603
    functionDepth: 6
    functionLinenumber: 1603
    functionLinenumberEnd: 1641
    functionName: test_kdf_kbkdf_8009_prf1
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    - strlen
    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:1665,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1667,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1669,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1671,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1672,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1673,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1674,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1675,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1677,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1678,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1679,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1679,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1680,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1643
    functionDepth: 6
    functionLinenumber: 1643
    functionLinenumberEnd: 1684
    functionName: test_kdf_kbkdf_8009_prf2
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    - strlen
    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:1723,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1724,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1725,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1726,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1728,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1730,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1731,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1733,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1736,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1737,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1737,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1738,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1692
    functionDepth: 6
    functionLinenumber: 1692
    functionLinenumberEnd: 1742
    functionName: test_kdf_kbkdf_fixedinfo
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:1878,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1879,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1881,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1883,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1885,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1887,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1888,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:1889,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/test/evp_kdf_test.c:1889,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1890,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1890,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1891,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1745
    functionDepth: 6
    functionLinenumber: 1745
    functionLinenumberEnd: 1895
    functionName: test_kdf_kbkdf_kmac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_KDF_CTX_get_kdf_size
    - get_kdfbyname
    - TEST_size_t_eq
    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:1920,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1922,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1924,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1925,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1927,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1929,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1931,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1931,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1932,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1932,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1933,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1899
    functionDepth: 6
    functionLinenumber: 1899
    functionLinenumberEnd: 1937
    functionName: test_kdf_ss_hmac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:1964,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1967,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1969,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1970,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1972,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_kdf_test.c:1974,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1977,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1977,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:1978,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/test/evp_kdf_test.c:1978,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1979,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1979,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/evp_kdf_test.c:1981,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:1982,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/test/evp_kdf_test.c:1982,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1983,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1983,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1984,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1939
    functionDepth: 6
    functionLinenumber: 1939
    functionLinenumberEnd: 1988
    functionName: test_kdf_ss_kmac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_KDF_CTX_get_kdf_size
    - get_kdfbyname
    - TEST_int_eq
    - TEST_size_t_eq
    - EVP_KDF_CTX_set_params
    - fips_provider_version_lt
    - OSSL_PARAM_construct_size_t
    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:2028,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2030,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2032,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2034,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2036,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2038,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2040,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2040,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:2041,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2041,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2042,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 1992
    functionDepth: 6
    functionLinenumber: 1992
    functionLinenumberEnd: 2046
    functionName: test_kdf_sshkdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:2060,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/test/evp_kdf_test.c:2060,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/test/evp_kdf_test.c:2060,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:2061,1
    - Dst: EVP_KDF_get0_name
      Src: /src/openssl/test/evp_kdf_test.c:2061,1
    - Dst: EVP_KDF_get0_name
      Src: /src/openssl/test/evp_kdf_test.c:2061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - kdf1
    - kdf2
    argTypes:
    - EVP_KDF*
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2062
    functionName: test_kdfs_same
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_get0_name
    - TEST_ptr_eq
    - EVP_KDF_get0_provider
    - TEST_str_eq
    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:2070,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/evp_kdf_test.c:2070,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2071,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:2071,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2072,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:2072,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_kdf_test.c:2072,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/evp_kdf_test.c:2072,1
    - Dst: test_kdfs_same
      Src: /src/openssl/test/evp_kdf_test.c:2074,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:2076,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:2078,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2081,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:2081,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2082,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:2082,1
    - Dst: test_kdfs_same
      Src: /src/openssl/test/evp_kdf_test.c:2083,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:2086,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2089,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:2089,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_kdf_test.c:2089,1
    - Dst: test_kdfs_same
      Src: /src/openssl/test/evp_kdf_test.c:2090,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:2092,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:2094,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2064
    functionDepth: 6
    functionLinenumber: 2064
    functionLinenumberEnd: 2098
    functionName: test_kdf_get_kdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OBJ_nid2obj
    - TEST_ptr
    - EVP_KDF_free
    - OBJ_obj2nid
    - EVP_KDF_fetch
    - test_kdfs_same
    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:2119,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2121,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2123,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2125,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2127,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2127,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:2128,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2128,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2129,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2101
    functionDepth: 6
    functionLinenumber: 2101
    functionLinenumberEnd: 2133
    functionName: test_kdf_x942_asn1
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    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:2155,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2157,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2159,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2161,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2163,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2163,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:2164,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2164,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2165,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2137
    functionDepth: 6
    functionLinenumber: 2137
    functionLinenumberEnd: 2169
    functionName: test_kdf_krb5kdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - get_kdfbyname
    linkageType: ''
    returnType: int
    signature: int test_kdf_krb5kdf(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2185,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2186,1
    - Dst: EVP_KDF_CTX_settable_params
      Src: /src/openssl/test/evp_kdf_test.c:2186,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2190,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2190,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2194,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_kdf_test.c:2200,1
    - Dst: TEST_note
      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: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2205,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2205,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2210,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2212,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2214,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2216,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2219,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2221,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2221,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2224,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2226,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2229,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:2229,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2230,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2231,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2235,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2235,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2239,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2241,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2242,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2242,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2247,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2173
    functionDepth: 6
    functionLinenumber: 2173
    functionLinenumberEnd: 2249
    functionName: test_kdf_hmac_drbg_settables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_get_params
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_le
    - OSSL_PARAM_construct_end
    - TEST_note
    - TEST_int_eq
    - EVP_KDF_CTX_settable_params
    - get_kdfbyname
    - OPENSSL_strcasecmp
    - EVP_KDF_CTX_set_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:2260,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2261,1
    - Dst: EVP_KDF_CTX_gettable_params
      Src: /src/openssl/test/evp_kdf_test.c:2261,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2264,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2266,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2267,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:2267,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2272,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2274,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:2274,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2251
    functionDepth: 6
    functionLinenumber: 2251
    functionLinenumberEnd: 2281
    functionName: test_kdf_hmac_drbg_gettables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_free
    - EVP_KDF_CTX_get_params
    - TEST_ptr
    - TEST_int_le
    - OSSL_PARAM_construct_end
    - EVP_KDF_CTX_gettable_params
    - get_kdfbyname
    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:2315,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2318,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2318,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:2319,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2319,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2322,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2323,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2324,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2325,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2326,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2327,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2328,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2330,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2332,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:2333,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2333,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2334,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2286
    functionDepth: 6
    functionLinenumber: 2286
    functionLinenumberEnd: 2341
    functionName: test_kbkdf_mac_change
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_true
    - OSSL_PARAM_construct_end
    - get_kdfbyname
    - 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:2346,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2347,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2348,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2351,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2352,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2354,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2355,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2356,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2357,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2358,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2359,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2360,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2361,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2363,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_kdf_test.c:2365,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2366,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2368,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2369,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2370,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2371,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2372,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2373,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2374,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2375,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2376,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2377,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2378,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2379,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2380,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2381,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2382,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2383,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2384,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2385,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2386,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2387,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2388,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2389,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2390,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2391,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2392,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2393,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2394,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2395,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2396,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2397,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2398,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2399,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2400,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2402,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2405,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2406,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2407,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2410,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2413,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2416,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2419,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2422,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2423,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2344
    functionDepth: 1
    functionLinenumber: 2344
    functionLinenumberEnd: 2429
    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_new
    - TEST_ptr
    - TEST_uint64_t_eq
    - ossl_quic_txpim_pkt_get_num_chunks
    - TEST_true
    - ossl_quic_txpim_free
    - ossl_quic_txpim_pkt_get_chunks
    - ossl_quic_txpim_pkt_append_chunk
    - ossl_quic_txpim_pkt_release
    - OSSL_NELEM
    - TEST_size_t_eq
    - ossl_quic_txpim_pkt_alloc
    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:
    - TEST_ptr
    - ossl_namemap_add_name
    - ossl_namemap_new
    - TEST_int_eq
    - ossl_namemap_empty
    - ossl_namemap_free
    - TEST_int_ne
    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:
    - TEST_int_ne
    - TEST_int_eq
    - ossl_namemap_name2num
    - ossl_namemap_add_name
    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:
    - ossl_namemap_free
    - TEST_ptr
    - test_namemap
    - ossl_namemap_new
    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_namemap
    - ossl_namemap_stored
    - TEST_ptr
    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:
    - TEST_ptr
    - EVP_get_digestbyname
    - ossl_namemap_add_name
    - TEST_int_eq
    - ossl_namemap_stored
    - TEST_int_ne
    - 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:
    - TEST_ptr
    - ossl_namemap_add_name
    - TEST_int_eq
    - ossl_namemap_stored
    - EVP_get_cipherbyname
    - TEST_int_ne
    - 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:
    - TEST_false
    - TEST_ptr
    - EVP_aes_256_gcm
    - TEST_true
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_is_a
    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:
    - TEST_false
    - TEST_ptr
    - EVP_sha256
    - EVP_MD_is_a
    - TEST_true
    - EVP_MD_fetch
    - EVP_MD_free
    linkageType: ''
    returnType: int
    signature: int test_digest_is_a(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_new
      Src: /src/openssl/test/namemap_internal_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:182,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/namemap_internal_test.c:185,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:186,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/namemap_internal_test.c:187,1
    - Dst: ossl_namemap_free
      Src: /src/openssl/test/namemap_internal_test.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: test_namemap_add_name_mfail
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - TEST_ptr
    - MFAIL_end
    - ossl_namemap_add_name
    - ossl_namemap_new
    - ossl_namemap_free
    linkageType: ''
    returnType: int
    signature: int test_namemap_add_name_mfail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:196,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:197,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:198,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:199,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:200,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:201,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:202,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/namemap_internal_test.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_MFAIL_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:31,1
    - Dst: snprintf
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:38,1
    - Dst: TEST_true
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:39,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:39,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - allow_failure
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: do_load_key_certs_crls
    functionSourceFile: /src/openssl/test/load_key_certs_crls_memfail.c
    functionUses: 0
    functionsReached:
    - load_key_certs_crls
    - sk_X509_pop_free
    - TEST_true
    - STACK_OF
    - snprintf
    linkageType: ''
    returnType: int
    signature: int do_load_key_certs_crls(int allow_failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_load_key_certs_crls
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: test_record_alloc_counts
    functionSourceFile: /src/openssl/test/load_key_certs_crls_memfail.c
    functionUses: 0
    functionsReached:
    - do_load_key_certs_crls
    linkageType: ''
    returnType: int
    signature: int test_record_alloc_counts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_load_key_certs_crls
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: test_alloc_failures
    functionSourceFile: /src/openssl/test/load_key_certs_crls_memfail.c
    functionUses: 0
    functionsReached:
    - do_load_key_certs_crls
    linkageType: ''
    returnType: int
    signature: int test_alloc_failures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:62,1
    - Dst: TEST_info
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: test_report_alloc_counts
    functionSourceFile: /src/openssl/test/load_key_certs_crls_memfail.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - CRYPTO_get_alloc_counts
    linkageType: ''
    returnType: int
    signature: int test_report_alloc_counts(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_create_libctx
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:73,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:76,1
    - Dst: test_get_argument
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:76,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:79,1
    - Dst: test_get_argument
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:79,1
    - Dst: strcmp
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:82,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:83,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:84,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:85,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/load_key_certs_crls_memfail.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/load_key_certs_crls_memfail.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - strcmp
    - CRYPTO_get_alloc_counts
    - app_create_libctx
    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: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/load_key_certs_crls_memfail.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 25
    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: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: TEST_str_eq
      Src: /src/openssl/test/trace_api_test.c:72,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/openssl/test/trace_api_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 81
    functionName: test_trace_categories
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_trace_get_category_name
    - TEST_int_eq
    - SET_EXPECTED_CAT_NAME
    - TEST_str_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: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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:104,1
    - Dst: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:104,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:104,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:105,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:105,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: trace_string
      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: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/test/trace_api_test.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: put_trace_output
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_TRACE_END
    - TEST_int_eq
    - trace_string
    - strlen
    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:104,1
    - Dst: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:104,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:104,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:105,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:105,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: trace_string
      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: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_int_eq
    - trace_string
    - 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:127,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/trace_api_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/trace_api_test.c:128,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:131,1
    - Dst: OSSL_trace_set_channel
      Src: /src/openssl/test/trace_api_test.c:131,1
    - Dst: BIO_free
      Src: /src/openssl/test/trace_api_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:136,1
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/test/trace_api_test.c:136,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:139,1
    - Dst: OSSL_trace_set_prefix
      Src: /src/openssl/test/trace_api_test.c:139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:143,1
    - Dst: OSSL_trace_set_suffix
      Src: /src/openssl/test/trace_api_test.c:143,1
    - Dst: put_trace_output
      Src: /src/openssl/test/trace_api_test.c:148,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/trace_api_test.c:149,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/trace_api_test.c:150,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/trace_api_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:152,1
    - Dst: OSSL_trace_set_channel
      Src: /src/openssl/test/trace_api_test.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 157
    functionName: test_trace_channel
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - put_trace_output
    - TEST_ptr
    - BIO_new
    - OSSL_trace_set_suffix
    - OSSL_trace_enabled
    - BIO_free
    - TEST_strn_eq
    - TEST_true
    - BIO_get_mem_data
    - TEST_int_eq
    - TEST_size_t_eq
    - OSSL_trace_set_channel
    - OSSL_trace_set_prefix
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_trace_channel(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:166,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: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    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:175,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/test/trace_api_test.c:175,1
    - Dst: put_trace_output
      Src: /src/openssl/test/trace_api_test.c:179,1
    - Dst: TEST_false
      Src: /src/openssl/test/trace_api_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: test_trace_callback
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - put_trace_output
    - OSSL_trace_set_callback
    - TEST_true
    - TEST_false
    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:194,1
    - Dst: TEST_error
      Src: /src/openssl/test/trace_api_test.c:195,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/trace_api_test.c:199,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:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    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: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    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:118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmactest.c:119,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:120,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:120,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:121,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:123,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:123,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:123,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:125,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:127,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:129,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:129,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:131,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:131,1
    - Dst: EVP_aes_128_xts
      Src: /src/openssl/test/cmactest.c:131,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:133,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:133,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 140
    functionName: test_cmac_bad
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - EVP_aes_128_xts
    - TEST_true
    - CMAC_CTX_free
    - CMAC_Init
    - EVP_aes_128_cbc
    - CMAC_Update
    - CMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_cmac_bad(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:151,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/cmactest.c:154,1
    - Dst: strlen
      Src: /src/openssl/test/cmactest.c:155,1
    - Dst: memcpy
      Src: /src/openssl/test/cmactest.c:160,1
    - Dst: memcpy
      Src: /src/openssl/test/cmactest.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:170,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:170,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:172,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:173,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:173,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:176,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:180,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:180,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/cmactest.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:182,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:183,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:183,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:186,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:190,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:191,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:192,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:192,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:194,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:198,1
    - Dst: CMAC_Init
      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:202,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:203,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:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:208,1
    - Dst: CMAC_Init
      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:212,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:217,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:217,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:219,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:220,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:220,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:222,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:223,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:226,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:226,1
    - Dst: EVP_aes_192_cbc
      Src: /src/openssl/test/cmactest.c:227,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:228,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:229,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:229,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:231,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:232,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:235,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:235,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/cmactest.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:237,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:238,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:238,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:240,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:245,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:245,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/test/cmactest.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:247,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:248,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:248,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:250,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:256,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:256,1
    - Dst: EVP_sm4_cbc
      Src: /src/openssl/test/cmactest.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:258,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:259,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:259,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:261,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:262,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:268,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 270
    functionName: test_cmac_run
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_cbc
    - CMAC_Final
    - EVP_aes_192_cbc
    - TEST_true
    - pt
    - CMAC_CTX_free
    - CMAC_Init
    - EVP_des_ede3_cbc
    - OSSL_NELEM
    - TEST_str_eq
    - EVP_aes_128_cbc
    - strlen
    - memcpy
    - CMAC_Update
    - EVP_sm4_cbc
    - CMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_cmac_run(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:280,1
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmactest.c:282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmactest.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:285,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:285,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:287,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:288,1
    - Dst: CMAC_CTX_copy
      Src: /src/openssl/test/cmactest.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:289,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:289,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:292,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:293,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:298,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 301
    functionName: test_cmac_copy
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - CMAC_Final
    - TEST_ptr
    - CMAC_CTX_copy
    - TEST_true
    - pt
    - CMAC_CTX_free
    - CMAC_Init
    - TEST_str_eq
    - EVP_aes_128_cbc
    - CMAC_Update
    - CMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_cmac_copy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/cmactest.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: pt
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 168
    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:317,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmactest.c:318,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmactest.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 321
    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_set_cipher
    - TEST_ptr
    - BIO_new
    - RAND_bytes
    - BIO_read
    - TEST_mem_eq
    - BIO_free_all
    - TEST_true
    - TEST_int_gt
    - BIO_new_mem_buf
    - TEST_uchar_eq
    - BIO_flush
    - BIO_f_cipher
    - memset
    - BIO_push
    - TEST_info
    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:
    - EVP_aes_128_cbc
    - do_test_bio_cipher
    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:
    - EVP_aes_256_ofb
    - do_test_bio_cipher
    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:298,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:299,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_enc_test.c:302,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_enc_test.c:303,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:304,1
    - Dst: BIO_reset
      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_base64
      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_new
      Src: /src/openssl/test/bio_enc_test.c:306,1
    - Dst: BIO_f_cipher
      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_ptr
      Src: /src/openssl/test/bio_enc_test.c:308,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:308,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:309,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/test/bio_enc_test.c:309,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:310,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/bio_enc_test.c:310,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:311,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/bio_enc_test.c:311,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:314,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:315,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/test/bio_enc_test.c:315,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:317,1
    - Dst: BIO_flush
      Src: /src/openssl/test/bio_enc_test.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:317,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/test/bio_enc_test.c:317,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:318,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
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:326,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 328
    functionName: test_bio_enc_eof_read_flush
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - BIO_f_base64
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_CipherInit_ex
    - BIO_set_flags
    - BIO_new
    - EVP_CIPHER_key_length
    - BIO_write
    - BIO_read
    - TEST_int_gt
    - EVP_CIPHER_iv_length
    - BIO_s_mem
    - BIO_free
    - BIO_flush
    - BIO_get_cipher_status
    - memset
    - BIO_reset
    - BIO_get_cipher_ctx
    - BIO_push
    - BIO_set_mem_eof_return
    - EVP_aes_256_gcm
    - EVP_CIPHER_CTX_ctrl
    - BIO_f_cipher
    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: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:335,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:337,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:339,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_enc_test.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    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_printf
    - TEST_ptr
    - BIO_new
    - OPENSSL_free
    - BIO_free
    - TEST_true
    - PEM_read_bio_ex
    - TEST_int_eq
    - TEST_long_eq
    - strlen
    - memcmp
    - BIO_s_mem
    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_printf
    - TEST_ptr
    - BIO_new
    - OPENSSL_free
    - BIO_free
    - TEST_true
    - PEM_read_bio_ex
    - BIO_s_mem
    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:
    - load_pkey_pem
    - TEST_ptr
    - 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:110,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:111,1
    - Dst: TEST_false
      Src: /src/openssl/test/pemtest.c:115,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/test/pemtest.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:122,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 125
    functionName: test_empty_payload
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - BIO_free
    - 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:139,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:139,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:140,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/openssl/test/pemtest.c:144,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pemtest.c:145,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pemtest.c:150,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: test_protected_params
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_free
    - BIO_new_mem_buf
    - TEST_ptr_null
    - PEM_read_bio_Parameters
    - EVP_PKEY_free
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_protected_params(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:157,1
    - Dst: test_get_argument
      Src: /src/openssl/test/pemtest.c:157,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pemtest.c:159,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pemtest.c:159,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pemtest.c:160,1
    - Dst: ADD_TEST
      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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 9
    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:52,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ca_internals_test.c:56,1
    - Dst: load_index
      Src: /src/openssl/test/ca_internals_test.c:57,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ca_internals_test.c:58,1
    - Dst: do_updatedb
      Src: /src/openssl/test/ca_internals_test.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/ca_internals_test.c:68,1
    - Dst: save_index
      Src: /src/openssl/test/ca_internals_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/ca_internals_test.c:71,1
    - Dst: rotate_index
      Src: /src/openssl/test/ca_internals_test.c:71,1
    - Dst: free_index
      Src: /src/openssl/test/ca_internals_test.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 77
    functionName: test_do_updatedb
    functionSourceFile: /src/openssl/test/ca_internals_test.c
    functionUses: 0
    functionsReached:
    - free_index
    - BIO_printf
    - do_updatedb
    - test_get_argument
    - test_asn1_string_to_time_t
    - TEST_true
    - rotate_index
    - TEST_error
    - save_index
    - TEST_ptr_null
    - strtol
    - TEST_time_t_lt
    - load_index
    - test_get_argument_count
    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:81,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/ca_internals_test.c:83,1
    - Dst: TEST_error
      Src: /src/openssl/test/ca_internals_test.c:84,1
    - Dst: strcmp
      Src: /src/openssl/test/ca_internals_test.c:88,1
    - Dst: test_do_updatedb
      Src: /src/openssl/test/ca_internals_test.c:89,1
    - Dst: TEST_error
      Src: /src/openssl/test/ca_internals_test.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ca_internals_test.c
    functionUses: 0
    functionsReached:
    - test_get_argument
    - test_do_updatedb
    - strcmp
    - TEST_error
    - test_get_argument_count
    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:
    - op
    - TEST_uint_eq
    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:76,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:76,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:78,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:78,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: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: test_binary_op_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - op
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: "int test_binary_op_8(unsigned 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:87,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:87,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:89,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:89,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: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: test_binary_op_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - op
    - TEST_size_t_eq
    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:98,1
    - Dst: TEST_error
      Src: /src/openssl/test/constant_time_test.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:102,1
    - Dst: TEST_error
      Src: /src/openssl/test/constant_time_test.c:105,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:106,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: 110
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 110
    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:116,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/test/constant_time_test.c:116,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:118,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/test/constant_time_test.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: test_is_zero
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_is_zero
    - TEST_uint_eq
    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:127,1
    - Dst: constant_time_is_zero_8
      Src: /src/openssl/test/constant_time_test.c:127,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:129,1
    - Dst: constant_time_is_zero_8
      Src: /src/openssl/test/constant_time_test.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    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:138,1
    - Dst: constant_time_is_zero_32
      Src: /src/openssl/test/constant_time_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/constant_time_test.c:140,1
    - Dst: constant_time_is_zero_32
      Src: /src/openssl/test/constant_time_test.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    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:149,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/test/constant_time_test.c:149,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:151,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/test/constant_time_test.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: test_is_zero_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_is_zero_s
    - TEST_size_t_eq
    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:158,1
    - Dst: constant_time_select
      Src: /src/openssl/test/constant_time_test.c:158,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:160,1
    - Dst: constant_time_select
      Src: /src/openssl/test/constant_time_test.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: test_select
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_select
    - TEST_uint_eq
    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:167,1
    - Dst: constant_time_select_8
      Src: /src/openssl/test/constant_time_test.c:167,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:169,1
    - Dst: constant_time_select_8
      Src: /src/openssl/test/constant_time_test.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: test_select_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - constant_time_select_8
    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:176,1
    - Dst: constant_time_select_32
      Src: /src/openssl/test/constant_time_test.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/constant_time_test.c:178,1
    - Dst: constant_time_select_32
      Src: /src/openssl/test/constant_time_test.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    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:185,1
    - Dst: constant_time_select_s
      Src: /src/openssl/test/constant_time_test.c:185,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:187,1
    - Dst: constant_time_select_s
      Src: /src/openssl/test/constant_time_test.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: test_select_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_select_s
    - TEST_size_t_eq
    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:194,1
    - Dst: TEST_error
      Src: /src/openssl/test/constant_time_test.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:198,1
    - Dst: constant_time_select_64
      Src: /src/openssl/test/constant_time_test.c:201,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: test_select_64
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_select_64
    - BIO_printf
    - TEST_error
    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:211,1
    - Dst: constant_time_select_int
      Src: /src/openssl/test/constant_time_test.c:211,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/constant_time_test.c:213,1
    - Dst: constant_time_select_int
      Src: /src/openssl/test/constant_time_test.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    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:220,1
    - Dst: constant_time_eq_int_8
      Src: /src/openssl/test/constant_time_test.c:220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/constant_time_test.c:222,1
    - Dst: constant_time_eq_int_8
      Src: /src/openssl/test/constant_time_test.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: test_eq_int_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - constant_time_eq_int_8
    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:229,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/test/constant_time_test.c:229,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:231,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/test/constant_time_test.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: test_eq_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_eq_s
    - TEST_size_t_eq
    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:238,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/test/constant_time_test.c:238,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:240,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/test/constant_time_test.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: test_eq_int
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - constant_time_eq_int
    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:247,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:247,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: test_sizeofs
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_sizeofs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:258,1
    - Dst: test_select
      Src: /src/openssl/test/constant_time_test.c:261,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:262,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:264,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:266,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:268,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:270,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: test_binops
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_select
    - test_binary_op
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_binops(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:285,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:288,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:290,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:292,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:294,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:296,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: test_binops_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_binary_op_8
    - OSSL_NELEM
    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:311,1
    - Dst: test_select_s
      Src: /src/openssl/test/constant_time_test.c:314,1
    - Dst: test_eq_s
      Src: /src/openssl/test/constant_time_test.c:315,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:316,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:318,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:320,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:322,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:324,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 331
    functionName: test_binops_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_binary_op_s
    - test_select_s
    - test_eq_s
    - OSSL_NELEM
    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:339,1
    - Dst: test_select_int
      Src: /src/openssl/test/constant_time_test.c:342,1
    - Dst: test_eq_int
      Src: /src/openssl/test/constant_time_test.c:343,1
    - Dst: test_eq_int_8
      Src: /src/openssl/test/constant_time_test.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: test_signed
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_select_int
    - test_eq_int
    - OSSL_NELEM
    - 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:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 363
    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:371,1
    - Dst: test_select_32
      Src: /src/openssl/test/constant_time_test.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 378
    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:385,1
    - Dst: test_binary_op_64
      Src: /src/openssl/test/constant_time_test.c:388,1
    - Dst: test_select_64
      Src: /src/openssl/test/constant_time_test.c:390,1
    - Dst: TEST_info
      Src: /src/openssl/test/constant_time_test.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: test_64values
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - test_binary_op_64
    - test_select_64
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_64values(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/constant_time_test.c:400,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:401,1
    - Dst: OSSL_NELEM
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:
    - EVP_get_cipherbyname
    - TEST_ptr
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/ech_corrupt_test.c:1029,1
    - Dst: PACKET_data
      Src: /src/openssl/test/ech_corrupt_test.c:1031,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/ech_corrupt_test.c:1032,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/ech_corrupt_test.c:1037,1
    - Dst: PACKET_data
      Src: /src/openssl/test/ech_corrupt_test.c:1039,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/ech_corrupt_test.c:1041,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/ech_corrupt_test.c:1045,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/ech_corrupt_test.c:1046,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/ech_corrupt_test.c:1047,1
    - Dst: PACKET_data
      Src: /src/openssl/test/ech_corrupt_test.c:1048,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/ech_corrupt_test.c:1049,1
    - Dst: PACKET_data
      Src: /src/openssl/test/ech_corrupt_test.c:1054,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/ech_corrupt_test.c:1055,1
    - Dst: PACKET_data
      Src: /src/openssl/test/ech_corrupt_test.c:1056,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/ech_corrupt_test.c:1058,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/ech_corrupt_test.c:1059,1
    - Dst: PACKET_data
      Src: /src/openssl/test/ech_corrupt_test.c:1064,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/ech_corrupt_test.c:1071,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ech_corrupt_test.c:1077,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/test/ech_corrupt_test.c:1079,1
    - Dst: ossl_ech_pbuf
      Src: /src/openssl/test/ech_corrupt_test.c:1080,1
    - Dst: ossl_ech_pbuf
      Src: /src/openssl/test/ech_corrupt_test.c:1081,1
    - Dst: ossl_ech_pbuf
      Src: /src/openssl/test/ech_corrupt_test.c:1083,1
    - Dst: ossl_ech_pbuf
      Src: /src/openssl/test/ech_corrupt_test.c:1084,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 5
    argNames:
    - sh
    - sh_len
    - exts
    - echoffset
    - echtype
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - size_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1087
    functionName: ech_get_sh_offsets
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - BIO_printf
    - PACKET_buf_init
    - OSSL_TRACE_END
    - PACKET_get_bytes
    - PACKET_get_net_2
    - ossl_ech_pbuf
    - PACKET_data
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: "int ech_get_sh_offsets(const unsigned char *sh,\n    size_t sh_len,
      size_t *exts,\n    size_t *echoffset, uint16_t *echtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/ech_corrupt_test.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1078
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/ech_corrupt_test.c:1108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1110,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/test/ech_corrupt_test.c:1112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1113,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ech_corrupt_test.c:1113,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1117,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/ech_corrupt_test.c:1117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1123,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ech_corrupt_test.c:1123,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1125,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1126,1
    - Dst: OSSL_HPKE_get_ciphertext_size
      Src: /src/openssl/test/ech_corrupt_test.c:1128,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1135,1
    - Dst: memset
      Src: /src/openssl/test/ech_corrupt_test.c:1138,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1139,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/ech_corrupt_test.c:1139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1145,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1146,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 8
    argNames:
    - out
    - outlen
    - ei
    - eilen
    - ch
    - chlen
    - echoffset
    - echlen
    argTypes:
    - char**
    - int*
    - unsigned char*
    - size_t
    - char*
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1090
    functionDepth: 7
    functionLinenumber: 1090
    functionLinenumberEnd: 1148
    functionName: seal_encoded_inner
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_ptr
    - OPENSSL_free
    - OSSL_HPKE_CTX_free
    - TEST_true
    - OSSL_HPKE_seal
    - OSSL_HPKE_get_public_encap_size
    - memset
    - OSSL_HPKE_encap
    - OSSL_HPKE_get_ciphertext_size
    - memcpy
    - OPENSSL_malloc
    - OSSL_HPKE_CTX_new
    linkageType: ''
    returnType: int
    signature: "int seal_encoded_inner(char **out, int *outlen,\n    unsigned char
      *ei, size_t eilen,\n    const char *ch, int chlen,\n    size_t echoffset, size_t
      echlen)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_corrupt_test.c:1179,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1188,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1193,1
    - Dst: ossl_ech_helper_get_ch_offsets
      Src: /src/openssl/test/ech_corrupt_test.c:1193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1204,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1216,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1223,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ech_corrupt_test.c:1223,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1226,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1228,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1230,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1231,1
    - Dst: seal_encoded_inner
      Src: /src/openssl/test/ech_corrupt_test.c:1231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1235,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_corrupt_test.c:1240,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1243,1
    - Dst: ossl_ech_helper_get_ch_offsets
      Src: /src/openssl/test/ech_corrupt_test.c:1243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1255,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1255,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1265,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1265,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1275,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_corrupt_test.c:1280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1284,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1291,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1291,1
    - Dst: ech_get_sh_offsets
      Src: /src/openssl/test/ech_corrupt_test.c:1294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1298,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1310,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1310,1
    - Dst: ech_get_sh_offsets
      Src: /src/openssl/test/ech_corrupt_test.c:1312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1315,1
    - Dst: memcpy
      Src: /src/openssl/test/ech_corrupt_test.c:1318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1325,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ech_corrupt_test.c:1325,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 113
    argCount: 4
    argNames:
    - msg
    - msglen
    - msgout
    - msgoutlen
    argTypes:
    - char*
    - int
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1151
    functionDepth: 8
    functionLinenumber: 1151
    functionLinenumberEnd: 1329
    functionName: corrupt_or_copy
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - TEST_ptr
    - seal_encoded_inner
    - OPENSSL_free
    - ossl_ech_helper_get_ch_offsets
    - TEST_true
    - TEST_int_eq
    - memcpy
    - OSSL_NELEM
    - TEST_info
    - OPENSSL_malloc
    - ech_get_sh_offsets
    linkageType: ''
    returnType: int
    signature: "int corrupt_or_copy(const char *msg, const int msglen,\n    char **msgout,
      int *msgoutlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/ech_corrupt_test.c:1334,1
    - Dst: BIO_test_flags
      Src: /src/openssl/test/ech_corrupt_test.c:1336,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/ech_corrupt_test.c:1337,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/ech_corrupt_test.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1339
    functionName: copy_flags
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_test_flags
    - BIO_next
    linkageType: ''
    returnType: void
    signature: void copy_flags(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/ech_corrupt_test.c:1348,1
    - Dst: corrupt_or_copy
      Src: /src/openssl/test/ech_corrupt_test.c:1352,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_corrupt_test.c:1355,1
    - Dst: copy_flags
      Src: /src/openssl/test/ech_corrupt_test.c:1356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1345
    functionDepth: 9
    functionLinenumber: 1345
    functionLinenumberEnd: 1360
    functionName: tls_corrupt_write
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_write
    - corrupt_or_copy
    - BIO_next
    - copy_flags
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_write(BIO *bio, const char *in, int inl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/ech_corrupt_test.c:1369,1
    - Dst: BIO_read
      Src: /src/openssl/test/ech_corrupt_test.c:1371,1
    - Dst: copy_flags
      Src: /src/openssl/test/ech_corrupt_test.c:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1366
    functionDepth: 4
    functionLinenumber: 1366
    functionLinenumberEnd: 1375
    functionName: tls_noop_read
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - copy_flags
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int tls_noop_read(BIO *bio, char *out, int outl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/ech_corrupt_test.c:1380,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/ech_corrupt_test.c:1390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1394
    functionName: tls_noop_ctrl
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long tls_noop_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: 1400
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1400
    functionName: tls_noop_gets
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_noop_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: 1406
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1406
    functionName: tls_noop_puts
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_noop_puts(BIO *bio, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/ech_corrupt_test.c:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1413
    functionName: tls_noop_new
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int tls_noop_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/ech_corrupt_test.c:1417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: tls_noop_free
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int tls_noop_free(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/ech_corrupt_test.c:1431,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/ech_corrupt_test.c:1434,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/ech_corrupt_test.c:1435,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/ech_corrupt_test.c:1436,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/ech_corrupt_test.c:1437,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/ech_corrupt_test.c:1438,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/ech_corrupt_test.c:1439,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/ech_corrupt_test.c:1440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1428
    functionDepth: 1
    functionLinenumber: 1428
    functionLinenumberEnd: 1444
    functionName: bio_f_tls_corrupt_filter
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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/ech_corrupt_test.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1449
    functionName: bio_f_tls_corrupt_filter_free
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_f_tls_corrupt_filter_free(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1465,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1466,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_corrupt_test.c:1466,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_corrupt_test.c:1466,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_corrupt_test.c:1467,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1473,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ech_corrupt_test.c:1473,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1477,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/ech_corrupt_test.c:1477,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1481,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/ech_corrupt_test.c:1481,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1482,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/ech_corrupt_test.c:1482,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1484,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_corrupt_test.c:1484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1486,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_corrupt_test.c:1486,1
    - Dst: bio_f_tls_corrupt_filter
      Src: /src/openssl/test/ech_corrupt_test.c:1486,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1489,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_corrupt_test.c:1489,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1492,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_corrupt_test.c:1492,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1495,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_corrupt_test.c:1495,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_corrupt_test.c:1500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1501,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1504,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1505,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1506,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/ech_corrupt_test.c:1510,1
    - Dst: TEST_error
      Src: /src/openssl/test/ech_corrupt_test.c:1512,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1515,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1516,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1518,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1523,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1524,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1525,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1526,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1451
    functionDepth: 5
    functionLinenumber: 1451
    functionLinenumberEnd: 1528
    functionName: test_ch_corrupt
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - TLS_server_method
    - create_ssl_connection
    - BIO_new
    - SSL_set1_ech_config_list
    - bio_f_tls_corrupt_filter
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_CTX_set1_echstore
    - SSL_free
    - ERR_get_error
    - create_ssl_ctx_pair
    - TLS_client_method
    - ERR_reason_error_string
    - TEST_info
    - create_ssl_objects
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_ch_corrupt(int testidx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1546,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1547,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_corrupt_test.c:1547,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_corrupt_test.c:1547,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_corrupt_test.c:1548,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1552,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_corrupt_test.c:1552,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1554,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_corrupt_test.c:1554,1
    - Dst: bio_f_tls_corrupt_filter
      Src: /src/openssl/test/ech_corrupt_test.c:1554,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1557,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_corrupt_test.c:1557,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1561,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/ech_corrupt_test.c:1561,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1564,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_corrupt_test.c:1564,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1569,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_corrupt_test.c:1569,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1572,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/ech_corrupt_test.c:1572,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_corrupt_test.c:1577,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1578,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1581,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/test/ech_corrupt_test.c:1581,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1583,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ech_corrupt_test.c:1584,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1588,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1589,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1590,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/ech_corrupt_test.c:1594,1
    - Dst: TEST_error
      Src: /src/openssl/test/ech_corrupt_test.c:1596,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1599,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1600,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1607,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1608,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1609,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1610,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1611,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1530
    functionDepth: 5
    functionLinenumber: 1530
    functionLinenumberEnd: 1613
    functionName: test_sh_corrupt
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - BIO_new
    - OPENSSL_free
    - SSL_set1_groups_list
    - SSL_set1_ech_config_list
    - bio_f_tls_corrupt_filter
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_ech_get1_retry_config
    - SSL_CTX_set1_echstore
    - SSL_free
    - ERR_get_error
    - create_ssl_ctx_pair
    - TLS_client_method
    - ERR_reason_error_string
    - TEST_int_ne
    - TEST_info
    - SSL_set_options
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_sh_corrupt(int testidx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1636,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1637,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_corrupt_test.c:1637,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_corrupt_test.c:1637,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_corrupt_test.c:1638,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1642,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_corrupt_test.c:1642,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1644,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_corrupt_test.c:1644,1
    - Dst: bio_f_tls_corrupt_filter
      Src: /src/openssl/test/ech_corrupt_test.c:1644,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1647,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_corrupt_test.c:1647,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1650,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_corrupt_test.c:1650,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1653,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_corrupt_test.c:1653,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_corrupt_test.c:1658,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1659,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1662,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1663,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1664,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/ech_corrupt_test.c:1668,1
    - Dst: TEST_error
      Src: /src/openssl/test/ech_corrupt_test.c:1670,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1673,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1674,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1676,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1681,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1682,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1683,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1684,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1622
    functionDepth: 5
    functionLinenumber: 1622
    functionLinenumberEnd: 1686
    functionName: test_ech_corrupt
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - BIO_new
    - SSL_set1_ech_config_list
    - bio_f_tls_corrupt_filter
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_CTX_set1_echstore
    - ERR_get_error
    - create_ssl_ctx_pair
    - TLS_client_method
    - ERR_reason_error_string
    - TEST_info
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_ech_corrupt(int testidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 1707
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1707
    functionName: corrupt_server_finished
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void corrupt_server_finished(int write_p, int version, int content_type,\n
      \   const void *buf, size_t msglen, SSL *ssl, void *arg)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1725,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ech_corrupt_test.c:1725,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ech_corrupt_test.c:1725,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ech_corrupt_test.c:1726,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1730,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/test/ech_corrupt_test.c:1730,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1732,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ech_corrupt_test.c:1732,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1735,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/ech_corrupt_test.c:1735,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1738,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/test/ech_corrupt_test.c:1738,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/ech_corrupt_test.c:1742,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_corrupt_test.c:1744,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/ech_corrupt_test.c:1744,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_corrupt_test.c:1747,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1749,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1751,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/ech_corrupt_test.c:1754,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/test/ech_corrupt_test.c:1755,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1757,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1759,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1762,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/test/ech_corrupt_test.c:1762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1765,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ech_corrupt_test.c:1767,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1770,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ech_corrupt_test.c:1772,1
    - Dst: TEST_false
      Src: /src/openssl/test/ech_corrupt_test.c:1775,1
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/test/ech_corrupt_test.c:1775,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1779,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1780,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1781,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/ech_corrupt_test.c:1784,1
    - Dst: TEST_error
      Src: /src/openssl/test/ech_corrupt_test.c:1786,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ech_corrupt_test.c:1789,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/ech_corrupt_test.c:1790,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1792,1
    - Dst: TEST_info
      Src: /src/openssl/test/ech_corrupt_test.c:1796,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1800,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1801,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1803,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1804,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1805,1
    - Dst: SSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1806,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1807,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ech_corrupt_test.c:1808,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 84
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1714
    functionDepth: 2
    functionLinenumber: 1714
    functionLinenumberEnd: 1810
    functionName: ech_retry_config_test
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_msg_callback
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - TEST_error
    - SSL_set_verify_result
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_ech_get1_status
    - OPENSSL_free
    - SSL_set1_ech_config_list
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_ech_get1_retry_config
    - SSL_CTX_set1_echstore
    - SSL_free
    - TEST_false
    - ERR_get_error
    - create_ssl_ctx_pair
    - TLS_client_method
    - ERR_reason_error_string
    - TEST_size_t_eq
    - TEST_int_ne
    - TEST_info
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int ech_retry_config_test(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1821
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/ech_corrupt_test.c:1828,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/ech_corrupt_test.c:1839,1
    - Dst: TEST_error
      Src: /src/openssl/test/ech_corrupt_test.c:1840,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ech_corrupt_test.c:1843,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ech_corrupt_test.c:1846,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ech_corrupt_test.c:1849,1
    - Dst: BIO_new
      Src: /src/openssl/test/ech_corrupt_test.c:1854,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ech_corrupt_test.c:1854,1
    - Dst: BIO_write
      Src: /src/openssl/test/ech_corrupt_test.c:1855,1
    - Dst: strlen
      Src: /src/openssl/test/ech_corrupt_test.c:1855,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1856,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/test/ech_corrupt_test.c:1856,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1857,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/test/ech_corrupt_test.c:1857,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_corrupt_test.c:1859,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ech_corrupt_test.c:1862,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ech_corrupt_test.c:1862,1
    - Dst: TEST_true
      Src: /src/openssl/test/ech_corrupt_test.c:1865,1
    - Dst: ossl_ech_make_enc_info
      Src: /src/openssl/test/ech_corrupt_test.c:1865,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_corrupt_test.c:1869,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_corrupt_test.c:1869,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_corrupt_test.c:1870,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_corrupt_test.c:1870,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_corrupt_test.c:1871,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ech_corrupt_test.c:1871,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_corrupt_test.c:1873,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ech_corrupt_test.c:1882,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ech_corrupt_test.c:1886,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1823
    functionDepth: 5
    functionLinenumber: 1823
    functionLinenumberEnd: 1888
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_read_pem
    - TEST_ptr
    - BIO_new
    - test_get_argument
    - BIO_write
    - OPENSSL_malloc
    - OSSL_ECHSTORE_new
    - BIO_free_all
    - TEST_true
    - ADD_ALL_TESTS
    - TEST_error
    - test_mk_file_path
    - OSSL_NELEM
    - opt_next
    - strlen
    - test_skip_common_options
    - ossl_ech_make_enc_info
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_tls_corrupt_filter_free
      Src: /src/openssl/test/ech_corrupt_test.c:1892,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1893,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1894,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ech_corrupt_test.c:1895,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/test/ech_corrupt_test.c:1896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1897
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ech_corrupt_test.c
    functionUses: 5
    functionsReached:
    - OSSL_ECHSTORE_free
    - bio_f_tls_corrupt_filter_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_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:
    - RAND_OpenSSL
    - RAND_METHOD*::bytes
    - EVP_RAND_generate
    - RAND_get_rand_method
    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: 0
    functionsReached:
    - RAND_get0_public
    - gen_bytes
    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:
    - RAND_get0_private
    - gen_bytes
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: state
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 29
    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:85,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/drbgtest.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - drbg
    - name
    argTypes:
    - EVP_RAND_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 89
    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: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    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: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drbg
    - n
    argTypes:
    - EVP_RAND_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    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:112,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    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:120,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/drbgtest.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: reseed_time
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_get_params
    - OSSL_PARAM_construct_time_t
    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:133,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:137,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/test/drbgtest.c:140,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/test/drbgtest.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:141,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/drbgtest.c:143,1
    - Dst: strstr
      Src: /src/openssl/test/drbgtest.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 13
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: using_fips_rng
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - TEST_ptr
    - EVP_RAND_CTX_get0_rand
    - OSSL_PROVIDER_get0_name
    - RAND_get0_primary
    - strstr
    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: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    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:200,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:200,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/drbgtest.c:201,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:201,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/drbgtest.c:202,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:202,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:210,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:214,1
    - Dst: rand_bytes
      Src: /src/openssl/test/drbgtest.c:214,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:217,1
    - Dst: rand_priv_bytes
      Src: /src/openssl/test/drbgtest.c:217,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:221,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:228,1
    - Dst: state
      Src: /src/openssl/test/drbgtest.c:228,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_ge
      Src: /src/openssl/test/drbgtest.c:235,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:235,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:241,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:241,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/drbgtest.c:242,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:242,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:243,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:249,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:249,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/drbgtest.c:250,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:250,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:251,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/drbgtest.c:257,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:257,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_ge
      Src: /src/openssl/test/drbgtest.c:262,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:262,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:262,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: ERR_clear_error
      Src: /src/openssl/test/drbgtest.c:266,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: 270
      start: 173
    functionDepth: 15
    functionLinenumber: 173
    functionLinenumberEnd: 270
    functionName: test_drbg_reseed
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - rand_priv_bytes
    - reseed_time
    - TEST_uint_ge
    - reseed_counter
    - TEST_time_t_le
    - TEST_int_eq
    - rand_bytes
    - TEST_int_ge
    - state
    - TEST_int_ne
    - time
    - ERR_clear_error
    - TEST_time_t_ge
    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)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/drbgtest.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 310
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    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:338,1
    - Dst: pipe
      Src: /src/openssl/test/drbgtest.c:338,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:341,1
    - Dst: fork
      Src: /src/openssl/test/drbgtest.c:341,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:342,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:343,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:351,1
    - Dst: waitpid
      Src: /src/openssl/test/drbgtest.c:351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:353,1
    - Dst: read
      Src: /src/openssl/test/drbgtest.c:353,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:359,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:364,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:370,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:380,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:380,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:383,1
    - Dst: write
      Src: /src/openssl/test/drbgtest.c:383,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:390,1
    - Dst: exit
      Src: /src/openssl/test/drbgtest.c:393,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: 395
      start: 328
    functionDepth: 16
    functionLinenumber: 328
    functionLinenumberEnd: 395
    functionName: test_drbg_reseed_in_child
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - fork
    - waitpid
    - pipe
    - exit
    - test_drbg_reseed
    - TEST_true
    - TEST_int_eq
    - TEST_int_ge
    - close
    - memcpy
    - write
    - read
    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:402,1
    - Dst: getenv
      Src: /src/openssl/test/drbgtest.c:403,1
    - Dst: memset
      Src: /src/openssl/test/drbgtest.c:412,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/drbgtest.c:418,1
    - Dst: strcpy
      Src: /src/openssl/test/drbgtest.c:419,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:422,1
    - Dst: test_drbg_reseed_in_child
      Src: /src/openssl/test/drbgtest.c:422,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:432,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:432,1
    - Dst: strcpy
      Src: /src/openssl/test/drbgtest.c:438,1
    - Dst: strcpy
      Src: /src/openssl/test/drbgtest.c:439,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:444,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:449,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:453,1
    - Dst: qsort
      Src: /src/openssl/test/drbgtest.c:458,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:471,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:477,1
    - Dst: qsort
      Src: /src/openssl/test/drbgtest.c:484,1
    - Dst: compare_rand_chunk
      Src: /src/openssl/test/drbgtest.c:488,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:494,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/drbgtest.c:501,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:503,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/drbgtest.c:509,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: 514
      start: 397
    functionDepth: 17
    functionLinenumber: 397
    functionLinenumberEnd: 514
    functionName: test_rand_reseed_on_fork
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - test_drbg_reseed
    - compare_rand_chunk
    - getpid
    - BIO_snprintf
    - TEST_true
    - TEST_note
    - getenv
    - test_drbg_reseed_in_child
    - memset
    - strcpy
    - OPENSSL_buf2hexstr
    - memcpy
    - 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:523,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/drbgtest.c:523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:524,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:524,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:525,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:525,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:529,1
    - Dst: test_rand_reseed_on_fork
      Src: /src/openssl/test/drbgtest.c:529,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:533,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/drbgtest.c:533,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:533,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/drbgtest.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 516
    functionDepth: 18
    functionLinenumber: 516
    functionLinenumberEnd: 537
    functionName: test_rand_fork_safety
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - RAND_priv_bytes
    - test_rand_reseed_on_fork
    - TEST_ptr
    - RAND_bytes
    - RAND_get0_public
    - RAND_get0_private
    - TEST_true
    - TEST_int_gt
    - RAND_get0_primary
    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:552,1
    - Dst: TEST_skip
      Src: /src/openssl/test/drbgtest.c:553,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/drbgtest.c:557,1
    - Dst: RAND_get_rand_method
      Src: /src/openssl/test/drbgtest.c:557,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/test/drbgtest.c:557,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:562,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/drbgtest.c:562,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:563,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:564,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:564,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/drbgtest.c:568,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/drbgtest.c:569,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/drbgtest.c:570,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/drbgtest.c:571,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:571,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:571,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/drbgtest.c:572,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:572,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:572,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:576,1
    - Dst: disable_crngt
      Src: /src/openssl/test/drbgtest.c:576,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/drbgtest.c:580,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/drbgtest.c:581,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/drbgtest.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:587,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:587,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:596,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:596,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:606,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:607,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:607,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:617,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:619,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:619,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:629,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:630,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:631,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:631,1
    - Dst: memset
      Src: /src/openssl/test/drbgtest.c:638,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:648,1
    - Dst: RAND_add
      Src: /src/openssl/test/drbgtest.c:649,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:650,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:650,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 545
    functionDepth: 16
    functionLinenumber: 545
    functionLinenumberEnd: 661
    functionName: test_rand_reseed
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - RAND_get0_primary
    - TEST_ptr_eq
    - using_fips_rng
    - test_drbg_reseed
    - RAND_get0_public
    - RAND_get0_private
    - EVP_RAND_uninstantiate
    - RAND_add
    - memset
    - inc_reseed_counter
    - TEST_ptr_ne
    - RAND_get_rand_method
    - disable_crngt
    - RAND_OpenSSL
    - TEST_skip
    - prov_rand
    - time
    linkageType: ''
    returnType: int
    signature: int test_rand_reseed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/drbgtest.c:671,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/drbgtest.c:673,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/drbgtest.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - drbg
    - t
    argTypes:
    - EVP_RAND_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 675
    functionName: set_reseed_time_interval
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_set_params
    - OSSL_PARAM_construct_end
    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:680,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:683,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:684,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:684,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:685,1
    - Dst: set_reseed_time_interval
      Src: /src/openssl/test/drbgtest.c:685,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:686,1
    - Dst: set_reseed_time_interval
      Src: /src/openssl/test/drbgtest.c:686,1
    - Dst: rand_bytes
      Src: /src/openssl/test/drbgtest.c:692,1
    - Dst: rand_priv_bytes
      Src: /src/openssl/test/drbgtest.c:694,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 677
    functionDepth: 15
    functionLinenumber: 677
    functionLinenumberEnd: 697
    functionName: run_multi_thread_test
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - rand_priv_bytes
    - TEST_ptr
    - set_reseed_time_interval
    - RAND_get0_public
    - RAND_get0_private
    - TEST_true
    - rand_bytes
    - time
    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:705,1
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/test/drbgtest.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 703
    functionDepth: 16
    functionLinenumber: 703
    functionLinenumberEnd: 712
    functionName: thread_run
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - run_multi_thread_test
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: DWORD
    signature: DWORD thread_run(LPVOID arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/openssl/test/drbgtest.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 718
    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:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 723
    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:731,1
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/test/drbgtest.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 729
    functionDepth: 16
    functionLinenumber: 729
    functionLinenumberEnd: 738
    functionName: thread_run
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - run_multi_thread_test
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: void
    signature: void *thread_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/openssl/test/drbgtest.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    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:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 748
    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:764,1
    - Dst: run_multi_thread_test
      Src: /src/openssl/test/drbgtest.c:765,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/drbgtest.c:767,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:769,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 758
    functionDepth: 16
    functionLinenumber: 758
    functionLinenumberEnd: 775
    functionName: test_multi_thread
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - run_multi_thread_test
    - wait_for_thread
    - run_thread
    - TEST_true
    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:784,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/drbgtest.c:786,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:788,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/drbgtest.c:788,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:789,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/drbgtest.c:789,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:790,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/drbgtest.c:790,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:791,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/drbgtest.c:794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - parent
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 778
    functionDepth: 10
    functionLinenumber: 778
    functionLinenumberEnd: 796
    functionName: new_drbg
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_set_params
    - EVP_RAND_free
    - TEST_ptr
    - EVP_RAND_CTX_new
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    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:804,1
    - Dst: TEST_skip
      Src: /src/openssl/test/drbgtest.c:805,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:808,1
    - Dst: new_drbg
      Src: /src/openssl/test/drbgtest.c:808,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:809,1
    - Dst: disable_crngt
      Src: /src/openssl/test/drbgtest.c:809,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:810,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/drbgtest.c:810,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:811,1
    - Dst: new_drbg
      Src: /src/openssl/test/drbgtest.c:811,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:812,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/drbgtest.c:812,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:813,1
    - Dst: new_drbg
      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: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:821,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:822,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:823,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:824,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:825,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/drbgtest.c:825,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:826,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:826,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:827,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:827,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:828,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:828,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:835,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:836,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/drbgtest.c:836,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:837,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:837,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:838,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:838,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:839,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:839,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:844,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:845,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:846,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:847,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:848,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/drbgtest.c:848,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:849,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:849,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:850,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:850,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:851,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:851,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:858,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:859,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/drbgtest.c:859,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:860,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:860,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:861,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:861,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:862,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:862,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/drbgtest.c:863,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:867,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:868,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:869,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:870,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:871,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/drbgtest.c:871,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:872,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:872,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:873,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:873,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:874,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:874,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:879,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:880,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:881,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 798
    functionDepth: 14
    functionLinenumber: 798
    functionLinenumberEnd: 883
    functionName: test_rand_prediction_resistance
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - new_drbg
    - disable_crngt
    - TEST_ptr
    - using_fips_rng
    - EVP_RAND_generate
    - TEST_skip
    - TEST_true
    - TEST_int_gt
    - reseed_counter
    - TEST_int_eq
    - TEST_mem_ne
    - inc_reseed_counter
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - EVP_RAND_reseed
    linkageType: ''
    returnType: int
    signature: int test_rand_prediction_resistance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/drbgtest.c:887,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/drbgtest.c:889,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/drbgtest.c:891,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/drbgtest.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 896
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    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_ptr
    - EVP_KEYMGMT_get0_provider
    - OSSL_PROVIDER_available
    - TEST_true
    - OSSL_PROVIDER_get0_name
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_fetch
    - TEST_str_eq
    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:
    - test_provider
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int test_explicit_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_fallback_test.c:58,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_fallback_test.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    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:
    - TEST_ptr
    - OPENSSL_free
    - strcmp
    - strcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - 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:
    - X509_REQ_free
    - TEST_ptr
    - X509_free
    - BIO_free
    - PEM_read_bio_X509_REQ
    - X509_check_private_key
    - strcmp
    - TEST_error
    - TEST_int_eq
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    - BIO_new_file
    - X509_REQ_check_private_key
    - PEM_read_bio_X509
    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:
    - TEST_ptr
    - sk_X509_INFO_pop_free
    - BIO_free
    - sk_X509_INFO_value
    - TEST_int_eq
    - STACK_OF
    - sk_X509_INFO_num
    - BIO_new_file
    - 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:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - test_get_argument_count
    - TEST_error
    - sscanf
    - TEST_int_eq
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:44,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:44,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:45,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:46,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:46,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:47,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:47,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:48,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:49,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:50,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:50,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:51,1
    - Dst: EC_POINT_new
      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_true
      Src: /src/openssl/test/ectest.c:55,1
    - Dst: EC_GROUP_get_order
      Src: /src/openssl/test/ectest.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:56,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:57,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:59,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/openssl/test/ectest.c:59,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:61,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:62,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:63,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:64,1
    - Dst: BN_one
      Src: /src/openssl/test/ectest.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:65,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:65,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:66,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:66,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:67,1
    - Dst: BN_sub
      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_true
      Src: /src/openssl/test/ectest.c:69,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:69,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:70,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:79,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:79,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:84,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:84,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:85,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:86,1
    - Dst: BN_one
      Src: /src/openssl/test/ectest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:88,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:88,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:89,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:89,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:90,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:93,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:93,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:94,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:95,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:95,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:98,1
    - Dst: BN_mul
      Src: /src/openssl/test/ectest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:99,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:100,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:100,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:105,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:107,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:108,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:108,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:109,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:109,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:117,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:118,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:118,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:119,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:134,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:135,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:135,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:143,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:144,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:145,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:146,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:147,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:148,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:149,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:150,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:151,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 50
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 36
    functionDepth: 7
    functionLinenumber: 36
    functionLinenumberEnd: 153
    functionName: group_order_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - EC_GROUP_get_order
    - TEST_true
    - EC_POINT_is_at_infinity
    - EC_GROUP_precompute_mult
    - EC_POINT_cmp
    - BN_sub
    - BN_set_negative
    - EC_POINT_copy
    - TEST_int_eq
    - EC_POINT_new
    - BN_mul
    - EC_POINT_free
    - BN_one
    - TEST_false
    - EC_POINT_invert
    - BN_CTX_new
    - EC_POINTs_mul
    - BN_CTX_free
    - EC_POINT_dbl
    - BN_new
    - EC_GROUP_get0_generator
    - BN_add
    - EC_POINT_mul
    - BN_free
    - BN_value_one
    - TEST_info
    - EC_POINT_add
    linkageType: ''
    returnType: int
    signature: int group_order_tests(EC_GROUP *group)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:170,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:171,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:172,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:173,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:174,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:175,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:175,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:176,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:177,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:178,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:178,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:181,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:182,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:183,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:184,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:188,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:188,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:189,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:189,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:190,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:191,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/test/ectest.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:192,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:192,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:193,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:194,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:195,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:196,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:197,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:198,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:199,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:200,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:201,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:201,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:204,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:205,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:205,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:207,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:208,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:209,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:213,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:216,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:219,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:222,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:222,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:226,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:227,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:230,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:231,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:231,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:236,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:237,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:237,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:240,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:243,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:243,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:244,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:244,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:246,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:249,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:252,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:252,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:253,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:253,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:255,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:258,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:261,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:261,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:262,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:262,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:267,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:267,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:268,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:275,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:277,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:278,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:278,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_true
      Src: /src/openssl/test/ectest.c:282,1
    - Dst: EC_GROUP_set_curve
      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: BN_add
      Src: /src/openssl/test/ectest.c:287,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:287,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:292,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:294,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:294,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:295,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:296,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:298,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:298,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:298,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:299,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:299,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:301,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:302,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:305,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:305,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:307,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:308,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:309,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:309,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:314,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:316,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:316,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:317,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:319,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:321,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:322,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:324,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:324,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:325,1
    - Dst: EC_POINT_is_on_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_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:328,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:328,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:329,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:329,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:332,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:333,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:336,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:336,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:339,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:339,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:339,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:344,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:346,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:346,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:347,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:347,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:352,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:354,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:354,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_true
      Src: /src/openssl/test/ectest.c:357,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:359,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:359,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_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:362,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:363,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:364,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:364,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:366,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:366,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:367,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:367,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:370,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:371,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:372,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:374,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:374,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:376,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:377,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:377,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:377,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:382,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:382,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:384,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:385,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:385,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:386,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:390,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:390,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:392,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:393,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:393,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: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:399,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:401,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:401,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:402,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:403,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:405,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:405,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:406,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:406,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:409,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:410,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:411,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:413,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:413,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:415,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:416,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:416,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:416,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:421,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:423,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:423,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:424,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:424,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:425,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:429,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:432,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:432,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:433,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:436,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:439,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:439,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:441,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:441,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:444,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:444,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:445,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:445,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:446,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:446,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:449,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:449,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:449,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:450,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:450,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:453,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:454,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:457,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:457,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:460,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:461,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:461,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:461,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:466,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:466,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:468,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:468,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:469,1
    - Dst: EC_GROUP_security_bits
      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: TEST_int_eq
      Src: /src/openssl/test/ectest.c:524,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:524,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:525,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:530,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:531,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:531,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:532,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:532,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:533,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:533,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:534,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:535,1
    - Dst: EC_POINT_invert
      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_add
      Src: /src/openssl/test/ectest.c:537,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:538,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:538,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:539,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:539,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:543,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:549,1
    - Dst: EC_GROUP_get_order
      Src: /src/openssl/test/ectest.c:549,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:550,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:550,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:550,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/ectest.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:552,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:552,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_true
      Src: /src/openssl/test/ectest.c:560,1
    - Dst: EC_POINTs_mul
      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_int_eq
      Src: /src/openssl/test/ectest.c:562,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:563,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:563,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:563,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:564,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:564,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:566,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:570,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:570,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:571,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:572,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:572,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:572,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:573,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:573,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:575,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:580,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:580,1
    - Dst: BN_zero
      Src: /src/openssl/test/ectest.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:585,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:585,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:586,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:586,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:589,1
    - Dst: BN_CTX_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: BN_free
      Src: /src/openssl/test/ectest.c:595,1
    - Dst: EC_GROUP_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: EC_POINT_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
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:604,1
    CyclomaticComplexity: 203
    EdgeCount: 203
    ICount: 148
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 155
    functionDepth: 8
    functionLinenumber: 155
    functionLinenumberEnd: 606
    functionName: prime_field_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EC_GROUP_get_order
    - EC_GROUP_get_curve
    - TEST_size_t_ne
    - TEST_true
    - EC_POINT_is_at_infinity
    - BN_rand
    - BN_hex2bn
    - group_order_tests
    - EC_GROUP_new_curve_GFp
    - EC_POINT_get_affine_coordinates
    - EC_POINT_set_compressed_coordinates
    - test_output_memory
    - test_output_bignum
    - EC_POINT_cmp
    - BN_set_negative
    - EC_GROUP_get_degree
    - BN_zero
    - TEST_int_gt
    - TEST_note
    - EC_POINT_copy
    - EC_POINT_point2oct
    - TEST_int_eq
    - EC_GROUP_set_generator
    - EC_POINT_set_to_infinity
    - EC_POINT_new
    - EC_POINT_free
    - EC_POINT_is_on_curve
    - TEST_false
    - EC_POINT_invert
    - BN_CTX_new
    - EC_POINTs_mul
    - EC_POINT_set_affine_coordinates
    - TEST_BN_even
    - BN_CTX_free
    - EC_POINT_dbl
    - BN_num_bits
    - BN_new
    - BN_add
    - EC_POINT_oct2point
    - EC_GROUP_free
    - TEST_BN_eq
    - EC_GROUP_set_curve
    - EC_GROUP_security_bits
    - BN_rshift1
    - BN_free
    - BN_value_one
    - TEST_int_ne
    - TEST_info
    - EC_POINT_add
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: int prime_field_tests(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:785,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:785,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:786,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:786,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:787,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:787,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:788,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:788,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:789,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:789,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:790,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:790,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:791,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:791,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:792,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:792,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:793,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:793,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:794,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:794,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:795,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:795,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:796,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:796,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:797,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:797,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:798,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:798,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:799,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:799,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:800,1
    - Dst: BN_hex2bn
      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_add
      Src: /src/openssl/test/ectest.c:802,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:802,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:811,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:811,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:812,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:812,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:815,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:815,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:816,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:816,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:817,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:817,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:818,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:818,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:819,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:819,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:821,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:822,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:823,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_BN_eq
      Src: /src/openssl/test/ectest.c:826,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:833,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:833,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:834,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:834,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:835,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:835,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:836,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:836,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:837,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:837,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:838,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:838,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:840,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:841,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:842,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:845,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:845,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:846,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:846,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:847,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:851,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:852,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:852,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:853,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:853,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:854,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:854,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:855,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:855,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:856,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:856,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:857,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:857,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:858,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:858,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:859,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:859,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:860,1
    - Dst: EC_POINT_is_at_infinity
      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_note
      Src: /src/openssl/test/ectest.c:865,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:870,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:870,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:870,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/ectest.c:871,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:872,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:872,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:878,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:878,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:879,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:879,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:880,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:880,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:881,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:881,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:884,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:884,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:884,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:885,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:885,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:887,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:891,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:891,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:892,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:892,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:895,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:895,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:895,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:896,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:896,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:898,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:903,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:903,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:904,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:904,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:911,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:912,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:913,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:914,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:915,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:916,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:917,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:918,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:919,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:920,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:921,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:922,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:923,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 75
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 771
    functionDepth: 8
    functionLinenumber: 771
    functionLinenumberEnd: 925
    functionName: char2_curve_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EC_POINT_is_at_infinity
    - BN_rand
    - BN_hex2bn
    - group_order_tests
    - EC_POINT_get_affine_coordinates
    - EC_POINT_set_compressed_coordinates
    - test_output_bignum
    - EC_POINT_cmp
    - BN_set_negative
    - EC_GROUP_get_degree
    - TEST_int_gt
    - EC_POINT_copy
    - TEST_note
    - TEST_int_eq
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - EC_GROUP_new_curve_GF2m
    - EC_POINT_is_on_curve
    - TEST_false
    - EC_POINT_invert
    - BN_CTX_new
    - EC_POINTs_mul
    - EC_POINT_set_affine_coordinates
    - TEST_BN_even
    - BN_CTX_free
    - EC_POINT_dbl
    - BN_num_bits
    - BN_new
    - BN_add
    - EC_GROUP_free
    - TEST_BN_eq
    - EC_GROUP_security_bits
    - BN_rshift1
    - BN_free
    - OSSL_NELEM
    - BN_value_one
    - TEST_info
    - EC_POINT_add
    linkageType: ''
    returnType: int
    signature: int char2_curve_test(int n)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:938,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:938,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:939,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:940,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:940,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:941,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:941,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:942,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:942,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:943,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:943,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:944,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:944,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:947,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:947,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:948,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:948,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:951,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:952,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:953,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:954,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:955,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:957,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:957,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:958,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:958,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:959,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:959,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:960,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/test/ectest.c:960,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:961,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:961,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:965,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:965,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:966,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:966,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:967,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:967,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:968,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:968,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:969,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:969,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:970,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:970,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:971,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:971,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:972,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:972,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:973,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:973,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:976,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:976,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:978,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:978,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:979,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:979,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:983,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:983,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:986,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:986,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:989,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:990,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:991,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:995,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:998,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:1001,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1002,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1004,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:1004,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:1008,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:1009,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1012,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:1012,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1013,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1013,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:1015,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1017,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1017,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1018,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:1018,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1023,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1025,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1026,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1026,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1027,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1027,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:1029,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1033,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1035,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1036,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1036,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1037,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1037,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:1039,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1044,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1046,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1047,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1047,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1048,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1048,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:1050,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1054,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:1054,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1055,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1055,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1058,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1062,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1063,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1064,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1065,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1066,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1067,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1068,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1069,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1070,1
    - Dst: BN_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
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 927
    functionDepth: 5
    functionLinenumber: 927
    functionLinenumberEnd: 1076
    functionName: char2_field_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EC_GROUP_get_curve
    - TEST_size_t_ne
    - TEST_true
    - EC_POINT_is_at_infinity
    - BN_hex2bn
    - EC_POINT_get_affine_coordinates
    - EC_POINT_set_compressed_coordinates
    - test_output_memory
    - test_output_bignum
    - EC_POINT_cmp
    - TEST_int_gt
    - TEST_note
    - EC_POINT_copy
    - EC_POINT_point2oct
    - TEST_int_eq
    - EC_POINT_set_to_infinity
    - EC_POINT_new
    - EC_GROUP_new_curve_GF2m
    - EC_POINT_free
    - EC_POINT_is_on_curve
    - EC_POINT_invert
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - BN_new
    - EC_GROUP_free
    - EC_POINT_oct2point
    - BN_free
    - TEST_int_ne
    - TEST_info
    - EC_POINT_add
    linkageType: ''
    returnType: int
    signature: int char2_field_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1087,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/ectest.c:1087,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1088,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/ectest.c:1088,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1089,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1089,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1090,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1090,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1091,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1091,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1092,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1092,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1093,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:1093,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1094,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1094,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1100,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1100,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1105,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1105,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1109,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1110,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1111,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:1113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1078
    functionDepth: 8
    functionLinenumber: 1078
    functionLinenumberEnd: 1115
    functionName: hybrid_point_encoding_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_oct2point
    - EC_GROUP_new_by_curve_name
    - TEST_false
    - TEST_ptr
    - BN_dec2bn
    - OPENSSL_free
    - TEST_size_t_ne
    - TEST_true
    - EC_POINT_set_affine_coordinates
    - EC_POINT_point2oct
    - BN_free
    - TEST_size_t_eq
    - EC_POINT_new
    - EC_POINT_free
    - OPENSSL_malloc
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int hybrid_point_encoding_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1123,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1123,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1124,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1125,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1128,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/test/ectest.c:1128,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1129,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1129,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1130,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1118
    functionDepth: 8
    functionLinenumber: 1118
    functionLinenumberEnd: 1135
    functionName: internal_curve_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - EC_GROUP_free
    - TEST_ptr
    - TEST_true
    - EC_GROUP_new_by_curve_name
    - TEST_info
    - EC_GROUP_check
    linkageType: ''
    returnType: int
    signature: int internal_curve_test(int n)
  - BBCount: 2
    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:1143,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:1146,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1137
    functionDepth: 8
    functionLinenumber: 1137
    functionLinenumberEnd: 1149
    functionName: internal_curve_test_method
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - TEST_ptr
    - group_order_tests
    - EC_GROUP_new_by_curve_name
    - TEST_info
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int internal_curve_test_method(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1159,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1166,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1170,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ectest.c:1171,1
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/test/ectest.c:1171,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1175,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ectest.c:1176,1
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/test/ectest.c:1176,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1180,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1181,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1182,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1151
    functionDepth: 8
    functionLinenumber: 1151
    functionLinenumberEnd: 1185
    functionName: group_field_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get0_field
    - BN_hex2bn
    - BN_free
    - BN_cmp
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int group_field_test(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1308,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1309,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1310,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1310,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1311,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1312,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1312,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1313,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1314,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1315,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1316,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1317,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1319,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1319,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1320,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1320,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1321,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:1321,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1322,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1322,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1323,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1323,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1324,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1324,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1325,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1325,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1326,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1327,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1328,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1328,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1329,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1329,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1330,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1330,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1331,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:1331,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1331,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1336,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1336,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1338,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1338,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1340,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1340,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1341,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1341,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1342,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1342,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1343,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1343,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1344,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1344,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1345,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:1345,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1346,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/test/ectest.c:1346,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1349,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1350,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1350,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1353,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1354,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1354,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1357,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1358,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1358,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1361,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:1361,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1362,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1362,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1362,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1364,1
    - Dst: BN_rshift
      Src: /src/openssl/test/ectest.c:1364,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1369,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1370,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1370,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1373,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1374,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1374,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1377,1
    - Dst: EC_GROUP_have_precompute_mult
      Src: /src/openssl/test/ectest.c:1377,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1379,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/openssl/test/ectest.c:1379,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1386,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1386,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1390,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1390,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1393,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1393,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1393,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1396,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1397,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1397,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: TEST_true
      Src: /src/openssl/test/ectest.c:1405,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:1405,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1406,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:1406,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1407,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:1407,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1408,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:1408,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1409,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1410,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1410,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1415,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1416,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1417,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1418,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1419,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1420,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1421,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1422,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1423,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1424,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1425,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1426,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1427,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1428,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1429,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 63
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1296
    functionDepth: 8
    functionLinenumber: 1296
    functionLinenumberEnd: 1431
    functionName: nistp_single_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - TEST_true
    - EC_GROUP_have_precompute_mult
    - BN_hex2bn
    - EC_GROUP_precompute_mult
    - EC_POINT_cmp
    - EC_GROUP_get_degree
    - TEST_note
    - EC_POINT_copy
    - TEST_int_eq
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - TEST_false
    - EC_POINT_invert
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - EC_POINT_dbl
    - BN_rshift
    - BN_new
    - EC_GROUP_new_by_curve_name
    - BN_add
    - EC_GROUP_free
    - EC_GROUP_set_curve
    - EC_GROUP_security_bits
    - EC_POINT_mul
    - BN_free
    - BN_value_one
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: int nistp_single_test(int idx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1508,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1509,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1509,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1510,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/test/ectest.c:1510,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1511,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1512,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1513,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1513,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1514,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1515,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:1515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1516,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:1516,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1517,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:1517,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1518,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:1518,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1519,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ectest.c:1519,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1520,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1521,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1521,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1522,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1522,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1523,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1523,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1524,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1524,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1525,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1525,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1526,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1526,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1527,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1527,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1528,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1528,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:1532,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:1533,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1535,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1535,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1536,1
    - Dst: BN_lshift1
      Src: /src/openssl/test/ectest.c:1536,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1539,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1546,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:1546,1
    - Dst: BN_ucmp
      Src: /src/openssl/test/ectest.c:1547,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/openssl/test/ectest.c:1547,1
    - Dst: BN_get0_nist_prime_256
      Src: /src/openssl/test/ectest.c:1547,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/openssl/test/ectest.c:1547,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1552,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1552,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1554,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1554,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/test/ectest.c:1555,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/test/ectest.c:1559,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1560,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1561,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1561,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1563,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/test/ectest.c:1566,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1567,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1567,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1570,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1570,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1579,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1579,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1586,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1586,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1590,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1591,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1591,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_true
      Src: /src/openssl/test/ectest.c:1599,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1599,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1601,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1601,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1602,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1602,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_false
      Src: /src/openssl/test/ectest.c:1606,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1606,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:1612,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1612,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1614,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1614,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1616,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1616,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1618,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1618,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1628,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1629,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1630,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1630,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1634,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1635,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1637,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1638,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1638,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1642,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1643,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1645,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1646,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1646,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1650,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1651,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1653,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1656,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1656,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1657,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1657,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1662,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1663,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1664,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1665,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1666,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1667,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1668,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1669,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1670,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1671,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1672,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1673,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1674,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 99
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1491
    functionDepth: 8
    functionLinenumber: 1491
    functionLinenumberEnd: 1676
    functionName: check_named_curve_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    - TEST_ptr
    - EC_curve_nid2nist
    - EC_GROUP_get_curve
    - BN_copy
    - TEST_true
    - TEST_size_t_eq
    - EC_GROUP_get_field_type
    - EC_POINT_dup
    - ERR_pop_to_mark
    - TEST_int_le
    - EC_GROUP_get_seed_len
    - BN_lshift1
    - TEST_int_eq
    - EC_GROUP_set_generator
    - EC_POINT_free
    - BN_get0_nist_prime_192
    - BN_get0_nist_prime_256
    - TEST_false
    - EC_GROUP_check_named_curve
    - EC_GROUP_set_curve_name
    - BN_CTX_new
    - BN_CTX_free
    - EC_GROUP_new_by_curve_name
    - BN_new
    - ERR_set_mark
    - EC_GROUP_free
    - EC_POINT_add
    - EC_GROUP_set_curve
    - EC_GROUP_set_seed
    - EC_GROUP_dup
    - EC_GROUP_get0_order
    - EC_GROUP_get_cofactor
    - BN_free
    - EC_GROUP_get0_generator
    - BN_add_word
    - BN_dup
    linkageType: ''
    returnType: int
    signature: int check_named_curve_test(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1694,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1694,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1695,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1695,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1696,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1696,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1700,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1701,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1701,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:1704,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1704,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1716,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1716,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1717,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1717,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1721,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1722,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1722,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1723,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:1723,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1730,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1731,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:1732,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:1733,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1734,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1685
    functionDepth: 8
    functionLinenumber: 1685
    functionLinenumberEnd: 1737
    functionName: check_named_curve_lookup_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_ecparameters
    - TEST_ptr
    - EC_GROUP_check_named_curve
    - BN_CTX_new
    - EC_GROUP_cmp
    - TEST_int_gt
    - ECPARAMETERS_free
    - BN_CTX_free
    - TEST_int_eq
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    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: 1800
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1800
    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:1832,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1832,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1833,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1833,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:1835,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1838,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1838,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1839,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1839,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1840,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1840,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1841,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1842,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1842,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1844,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1844,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1845,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1845,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1846,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:1846,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1847,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:1847,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1848,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:1848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1850,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/test/ectest.c:1850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1851,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ectest.c:1851,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1852,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1852,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1853,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:1853,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1855,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:1855,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1856,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1856,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1857,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:1857,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1858,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1858,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1861,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1864,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1864,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1865,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1865,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1880,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1880,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1881,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1881,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1887,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1887,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1888,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1888,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1888,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1892,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1892,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1899,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1899,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1901,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1901,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1902,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1902,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1903,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1903,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1904,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1904,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1905,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1905,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1907,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1907,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1907,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1915,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1915,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1916,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1916,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1917,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1917,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1918,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1918,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1919,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1919,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1920,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1920,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1922,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1922,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1922,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1931,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1931,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1933,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1933,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1934,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1934,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1935,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1935,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1937,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1937,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1939,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1940,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1940,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1941,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1941,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1943,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1943,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1946,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1946,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1948,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:1949,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1950,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1950,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1951,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1951,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1952,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1952,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1955,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1955,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1957,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1957,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1958,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1958,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1959,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1959,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1960,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1960,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1961,1
    - Dst: EC_GROUP_get_asn1_flag
      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:1966,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1967,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1967,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1968,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1968,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1969,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1969,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1970,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1970,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:1976,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1977,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:1978,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:1979,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:1980,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1981,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1982,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1983,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:1984,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1985,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 52
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1811
    functionDepth: 8
    functionLinenumber: 1811
    functionLinenumberEnd: 1987
    functionName: check_named_curve_from_ecparameters
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - are_ec_nids_compatible
    - TEST_ptr
    - BN_copy
    - TEST_true
    - ECPARAMETERS_free
    - TEST_size_t_eq
    - EC_POINT_get_affine_coordinates
    - EC_POINT_dup
    - BN_CTX_start
    - EC_GROUP_get_ecparameters
    - BN_CTX_get
    - TEST_note
    - TEST_int_eq
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - BN_CTX_end
    - TEST_false
    - EC_GROUP_get_asn1_flag
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get_curve_name
    - EC_POINT_add
    - EC_GROUP_free
    - OBJ_nid2sn
    - EC_GROUP_set_seed
    - EC_GROUP_get0_order
    - EC_GROUP_get_cofactor
    - OSSL_NELEM
    - EC_GROUP_get0_generator
    - TEST_int_ne
    - TEST_info
    - BN_add_word
    - EC_GROUP_dup
    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:1996,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1996,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1997,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1997,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1998,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1998,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1999,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:1999,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2002,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2006,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2006,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2007,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ectest.c:2007,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2008,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2011,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/test/ectest.c:2018,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2019,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ectest.c:2019,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2020,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2025,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2026,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:2027,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2028,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1989
    functionDepth: 9
    functionLinenumber: 1989
    functionLinenumberEnd: 2030
    functionName: parameter_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_get_ecparameters
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EC_GROUP_cmp
    - TEST_true
    - ECPARAMETERS_free
    - TEST_int_eq
    - EC_GROUP_new_from_ecparameters
    - i2d_ECPKParameters
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int parameter_test(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2050,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2050,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2054,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2054,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2056,1
    - Dst: EC_GROUP_to_params
      Src: /src/openssl/test/ectest.c:2056,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2058,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2058,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2060,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2060,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2062,1
    - Dst: EC_GROUP_to_params
      Src: /src/openssl/test/ectest.c:2062,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2064,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2064,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2066,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2066,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2070,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:2070,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2073,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2074,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2075,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2076,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2078,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2078,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2079,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:2079,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2081,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2081,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2082,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2082,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2083,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2083,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2086,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2087,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2087,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2088,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:2089,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2092,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2093,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2093,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2095,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2099,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2099,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:2100,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2100,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2104,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2104,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2105,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2105,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2106,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2109,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2109,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2111,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2111,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2115,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:2115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2116,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2117,1
    - Dst: EC_GROUP_to_params
      Src: /src/openssl/test/ectest.c:2117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2118,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2118,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2119,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2119,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2125,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2126,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2127,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2128,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2130,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2132,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2133,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2134,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2136,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:2137,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2138,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2139,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2036
    functionDepth: 9
    functionLinenumber: 2036
    functionLinenumberEnd: 2141
    functionName: ossl_parameter_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - EC_GROUP_get_curve
    - TEST_true
    - OSSL_PARAM_BLD_to_param
    - EC_GROUP_get0_seed
    - TEST_size_t_eq
    - EC_GROUP_new_from_params
    - TEST_size_t_gt
    - BN_CTX_start
    - OPENSSL_free
    - EC_GROUP_cmp
    - BN_CTX_get
    - EC_GROUP_get_seed_len
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - EC_POINT_point2oct
    - EC_GROUP_to_params
    - OSSL_PARAM_BLD_push_utf8_string
    - OPENSSL_malloc
    - BN_CTX_end
    - BN_CTX_new
    - OSSL_PARAM_free
    - BN_CTX_free
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    - EC_GROUP_get0_cofactor
    - OSSL_PARAM_BLD_push_BN
    - EC_GROUP_get0_order
    - EC_GROUP_get0_generator
    - OSSL_PARAM_BLD_push_octet_string
    linkageType: ''
    returnType: int
    signature: int ossl_parameter_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2220,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ectest.c:2220,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/ectest.c:2221,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2222,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ectest.c:2222,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2224,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:2224,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2225,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2225,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2229,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2212
    functionDepth: 8
    functionLinenumber: 2212
    functionLinenumberEnd: 2232
    functionName: cofactor_range_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get0_cofactor
    - TEST_BN_eq
    - TEST_BN_eq_zero
    - TEST_ptr
    - TEST_int_gt
    - d2i_ECPKParameters
    - BN_hex2bn
    - BN_free
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int cofactor_range_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:2251,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:2251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2253,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2254,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2254,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2255,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2259,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2261,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2262,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2263,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2264,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2265,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2266,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2267,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2270,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2270,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2272,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2272,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2273,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:2273,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2274,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2275,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:2275,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2275,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2276,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:2276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2279,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:2279,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:2279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2282,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:2282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2284,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2284,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2285,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:2285,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2287,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2287,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2288,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:2288,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2289,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2291,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2291,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2292,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2292,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2293,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:2293,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2294,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2296,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2296,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2297,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:2297,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:2297,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2298,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2298,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2300,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2300,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2302,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2302,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2303,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2303,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2305,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2305,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2306,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:2306,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:2306,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2307,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2307,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2309,1
    - Dst: BN_lshift
      Src: /src/openssl/test/ectest.c:2309,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2310,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2310,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2314,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2315,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2316,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2317,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2318,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2241
    functionDepth: 8
    functionLinenumber: 2241
    functionLinenumberEnd: 2320
    functionName: cardinality_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - EC_GROUP_get_curve
    - BN_copy
    - TEST_true
    - EC_GROUP_new_curve_GFp
    - EC_GROUP_get_field_type
    - EC_POINT_get_affine_coordinates
    - BN_CTX_start
    - BN_sub
    - BN_CTX_get
    - TEST_int_eq
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - EC_GROUP_new_curve_GF2m
    - BN_lshift
    - BN_CTX_end
    - TEST_false
    - BN_value_one
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_set_affine_coordinates
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_free
    - OBJ_nid2sn
    - TEST_BN_eq
    - EC_GROUP_get0_order
    - EC_GROUP_get_cofactor
    - EC_GROUP_get0_generator
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int cardinality_test(int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2331,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:2331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2332,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:2332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2333,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2334,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/test/ectest.c:2334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2335,1
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/test/ectest.c:2335,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2336,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ectest.c:2336,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2337,1
    - Dst: EC_KEY_check_key
      Src: /src/openssl/test/ectest.c:2337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2338,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/test/ectest.c:2338,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2339,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:2339,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2348,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2352,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/ectest.c:2352,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2358,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:2358,1
    - Dst: TEST_error
      Src: /src/openssl/test/ectest.c:2362,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:2365,1
    - Dst: EC_KEY_set_public_key_affine_coordinates
      Src: /src/openssl/test/ectest.c:2365,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2370,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2371,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ectest.c:2372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2322
    functionDepth: 5
    functionLinenumber: 2322
    functionLinenumberEnd: 2374
    functionName: check_ec_key_field_public_range_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - TEST_error
    - EC_KEY_free
    - EC_KEY_check_key
    - EC_GROUP_get_field_type
    - EC_POINT_get_affine_coordinates
    - TEST_int_le
    - TEST_int_gt
    - EC_KEY_get0_public_key
    - EC_KEY_generate_key
    - EC_KEY_set_public_key_affine_coordinates
    - BN_new
    - BN_add
    - BN_GF2m_add
    - EC_GROUP_get0_field
    - EC_KEY_get0_group
    - BN_free
    - EC_KEY_new_by_curve_name
    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:2394,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2394,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2395,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/test/ectest.c:2395,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2400,1
    - Dst: EC_POINT_point2hex
      Src: /src/openssl/test/ectest.c:2400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2401,1
    - Dst: EC_POINT_hex2point
      Src: /src/openssl/test/ectest.c:2401,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2402,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:2402,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2412,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:2412,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2419,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2420,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: 2423
      start: 2384
    functionDepth: 4
    functionLinenumber: 2384
    functionLinenumberEnd: 2423
    functionName: ec_point_hex2point_test_helper
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_hex2point
    - TEST_ptr
    - OPENSSL_free
    - EC_POINT_cmp
    - EC_POINT_point2hex
    - TEST_true
    - EC_POINT_is_at_infinity
    - TEST_int_eq
    - EC_POINT_new
    - EC_POINT_set_to_infinity
    - EC_POINT_free
    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:2438,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2439,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2439,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2440,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2441,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ectest.c:2441,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2444,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2444,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2447,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2447,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2450,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2450,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2453,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2453,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2456,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2456,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2459,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2459,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2467,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2468,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2469,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2428
    functionDepth: 8
    functionLinenumber: 2428
    functionLinenumberEnd: 2472
    functionName: ec_point_hex2point_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BN_CTX_new
    - TEST_true
    - BN_CTX_free
    - ec_point_hex2point_test_helper
    - EC_GROUP_get0_generator
    - EC_GROUP_new_by_curve_name
    - EC_POINT_free
    - EC_POINT_dup
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int ec_point_hex2point_test(int id)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2500,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2501,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2504,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2505,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:2505,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2508,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/test/ectest.c:2513,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2517,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/openssl/test/ectest.c:2517,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2523,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/openssl/test/ectest.c:2523,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2528,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2528,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2529,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:2529,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2531,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2531,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2532,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2532,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2533,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2533,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2536,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2537,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2537,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2538,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:2539,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2542,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2543,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2543,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2544,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2548,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2548,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_order
      Src: /src/openssl/test/ectest.c:2551,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2554,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:2554,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2555,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ectest.c:2555,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2556,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ectest.c:2556,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:2558,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:2558,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2562,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:2562,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2573,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2573,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2579,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2579,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ectest.c:2582,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2585,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2585,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ectest.c:2588,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2591,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ectest.c:2591,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2593,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2596,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2596,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2597,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2598,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2598,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2600,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2601,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2601,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2603,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:2606,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2606,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2609,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2610,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2610,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2612,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2612,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2615,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2616,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ectest.c:2616,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2618,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2618,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:2619,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2623,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2625,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2625,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2628,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2630,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2630,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2632,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2632,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2634,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2634,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2636,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2636,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2638,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2638,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2640,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2640,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2646,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2646,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2648,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2648,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2649,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2649,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ectest.c:2652,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/test/ectest.c:2655,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2656,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2656,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2658,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2659,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2659,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2661,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2661,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2663,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2663,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2667,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2667,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2669,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2669,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2671,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_ptr
      Src: /src/openssl/test/ectest.c:2682,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/openssl/test/ectest.c:2682,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2683,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2684,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2685,1
    - Dst: OSSL_PARAM_locate_const
      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: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:2696,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2696,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: BN_free
      Src: /src/openssl/test/ectest.c:2706,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2707,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: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2711,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:2712,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:2713,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:2714,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 104
    argCount: 4
    argNames:
    - group
    - ctx
    - gen
    - gen_size
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2474
    functionDepth: 6
    functionLinenumber: 2474
    functionLinenumberEnd: 2716
    functionName: do_test_custom_explicit_fromdata
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - TEST_mem_eq
    - EC_GROUP_get_curve
    - TEST_true
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - EC_GROUP_get_pentanomial_basis
    - EC_GROUP_get0_seed
    - EVP_PKEY_CTX_new_from_name
    - TEST_str_eq
    - EC_GROUP_get_field_type
    - EVP_PKEY_get_octet_string_param
    - TEST_int_le
    - EC_GROUP_get_degree
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    - BN_CTX_get
    - EC_GROUP_get_seed_len
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_utf8_string
    - TEST_false
    - OSSL_PARAM_free
    - EVP_PKEY_free
    - EVP_PKEY_gettable_params
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EC_GROUP_get_trinomial_basis
    - EC_GROUP_get0_cofactor
    - TEST_BN_eq
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EC_GROUP_get0_order
    - EC_GROUP_get_basis_type
    - EVP_PKEY_fromdata
    - BN_free
    - OSSL_PARAM_BLD_push_octet_string
    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:2733,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:2733,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2734,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2734,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2737,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2739,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2739,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2743,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2746,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2746,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2748,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:2748,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/test/ectest.c:2748,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2751,1
    - Dst: BN_clear_bit
      Src: /src/openssl/test/ectest.c:2751,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2752,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2752,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2753,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2753,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2755,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2755,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2757,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2757,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2761,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2761,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2762,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2762,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:2780,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2780,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2781,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2781,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2786,1
    - Dst: do_test_custom_explicit_fromdata
      Src: /src/openssl/test/ectest.c:2789,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2795,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2796,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2797,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2798,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2799,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2800,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2801,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2802,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 29
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2721
    functionDepth: 8
    functionLinenumber: 2721
    functionLinenumberEnd: 2805
    functionName: custom_generator_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - BN_rand
    - BN_CTX_start
    - OPENSSL_free
    - EC_GROUP_get_degree
    - BN_CTX_get
    - TEST_note
    - EC_POINT_point2oct
    - EC_GROUP_set_generator
    - EC_GROUP_order_bits
    - EC_POINT_new
    - EC_POINT_free
    - OPENSSL_malloc
    - BN_CTX_end
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_dbl
    - do_test_custom_explicit_fromdata
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - EC_GROUP_free
    - OBJ_nid2sn
    - EC_GROUP_get0_cofactor
    - BN_rshift1
    - EC_GROUP_get0_order
    - BN_clear_bit
    - EC_POINT_mul
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int custom_generator_test(int id)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:2839,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:2840,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ectest.c:2843,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2845,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2845,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2849,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2849,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2850,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2851,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2851,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2852,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2852,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2855,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2855,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2858,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ectest.c:2861,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2867,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2871,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2872,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2872,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2874,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:2874,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2875,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2877,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2877,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2881,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2881,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2882,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2882,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2886,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2886,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2887,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2887,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2892,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:2892,1
    - Dst: if
      Src: /src/openssl/test/ectest.c:2897,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2897,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:2897,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2903,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_true
      Src: /src/openssl/test/ectest.c:2905,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:2905,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2906,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:2906,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2907,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2907,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2912,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2912,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2913,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2913,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2915,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:2915,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/test/ectest.c:2915,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2918,1
    - Dst: BN_clear_bit
      Src: /src/openssl/test/ectest.c:2918,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2920,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2920,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2922,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2922,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2926,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2926,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2931,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:2931,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2933,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2933,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2935,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2935,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2939,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2939,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2940,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2940,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2945,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2949,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/ectest.c:2949,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2950,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ectest.c:2950,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2951,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ectest.c:2951,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2952,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/ectest.c:2952,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2953,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ectest.c:2953,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2954,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ectest.c:2954,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2958,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/test/ectest.c:2958,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2967,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2967,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2968,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2968,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2972,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2972,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2973,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2973,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2980,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/test/ectest.c:2980,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2981,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2981,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2985,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2985,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2986,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2986,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2993,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ectest.c:2993,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2994,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ectest.c:2994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2997,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ectest.c:2997,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2998,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ectest.c:2998,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3004,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3004,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:3005,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3005,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3007,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3007,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:3008,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3008,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3013,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3013,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3014,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3014,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3015,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/ectest.c:3015,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3016,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3016,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:3017,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3018,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3018,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3020,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3020,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3021,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3021,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3022,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/ectest.c:3022,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3023,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3023,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:3024,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/ectest.c:3025,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3026,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3026,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:3030,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3034,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:3034,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3035,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:3035,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3038,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:3038,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3041,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:3041,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3044,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:3044,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:3047,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3048,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:3048,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3049,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:3049,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3052,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:3052,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3055,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:3055,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3059,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3060,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ectest.c:3060,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3061,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ectest.c:3061,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3062,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:3062,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3065,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:3065,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3071,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3072,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3072,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3073,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3073,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3074,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/ectest.c:3074,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3075,1
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/openssl/test/ectest.c:3075,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3076,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3076,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:3077,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/ectest.c:3078,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3079,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3079,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:3081,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3085,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3086,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3086,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3087,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3087,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3088,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/ectest.c:3088,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3089,1
    - Dst: EVP_PKEY_derive_SKEY
      Src: /src/openssl/test/ectest.c:3089,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3091,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/ectest.c:3091,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:3093,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/ectest.c:3099,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:3100,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:3101,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:3102,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:3103,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:3104,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:3105,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:3106,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:3107,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:3108,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:3109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3113,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ectest.c:3114,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ectest.c:3115,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3116,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3117,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3118,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3119,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3120,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 119
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 2810
    functionDepth: 8
    functionLinenumber: 2810
    functionLinenumberEnd: 3123
    functionName: custom_params_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_derive
    - TEST_ptr
    - TEST_mem_eq
    - EC_GROUP_get_curve
    - EVP_SKEY_free
    - TEST_true
    - EVP_PKEY_CTX_dup
    - BN_rand
    - OSSL_PARAM_BLD_to_param
    - EC_KEY_free
    - EVP_PKEY_CTX_new_from_name
    - TEST_size_t_eq
    - EC_GROUP_new_curve_GFp
    - EVP_PKEY_derive_init
    - EC_GROUP_get_field_type
    - EVP_PKEY_new
    - TEST_size_t_gt
    - EC_KEY_new
    - BN_CTX_start
    - EVP_PKEY_derive_set_peer_ex
    - OPENSSL_free
    - TEST_int_le
    - EC_GROUP_get_degree
    - BN_CTX_get
    - TEST_note
    - EC_KEY_get0_private_key
    - OSSL_PARAM_BLD_new
    - EC_POINT_point2oct
    - TEST_int_eq
    - EC_KEY_set_group
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - EC_GROUP_new_curve_GF2m
    - EC_GROUP_order_bits
    - OPENSSL_malloc
    - EC_POINT_is_on_curve
    - OSSL_PARAM_BLD_push_utf8_string
    - EC_KEY_get0_public_key
    - EC_KEY_generate_key
    - EVP_SKEY_get0_raw_key
    - if
    - BN_CTX_end
    - BN_CTX_new
    - BN_CTX_free
    - OSSL_PARAM_free
    - EC_POINT_dbl
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_CTX_new
    - EVP_PKEY_free
    - EC_GROUP_new_by_curve_name
    - EVP_PKEY_CTX_free
    - EC_GROUP_free
    - EC_POINT_oct2point
    - EVP_PKEY_derive_SKEY
    - OBJ_nid2sn
    - EC_GROUP_get0_cofactor
    - EVP_PKEY_derive_set_peer
    - TEST_size_t_le
    - TEST_skip
    - BN_rshift1
    - EVP_PKEY_fromdata_init
    - EC_GROUP_get0_order
    - OSSL_PARAM_BLD_push_BN
    - BN_clear_bit
    - EVP_PKEY_fromdata
    - EC_POINT_mul
    - EC_GROUP_get0_generator
    - OSSL_PARAM_BLD_push_octet_string
    linkageType: ''
    returnType: int
    signature: int custom_params_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3135,1
    - Dst: EVP_EC_gen
      Src: /src/openssl/test/ectest.c:3135,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:3138,1
    - Dst: i2d_PublicKey
      Src: /src/openssl/test/ectest.c:3138,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/ectest.c:3141,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ectest.c:3143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3145,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ectest.c:3145,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3146,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ectest.c:3146,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3147,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:3147,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3151,1
    - Dst: d2i_PublicKey
      Src: /src/openssl/test/ectest.c:3151,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3155,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ectest.c:3155,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3156,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:3156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3158,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3159,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:3159,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3161,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3167,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3168,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3169,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3125
    functionDepth: 13
    functionLinenumber: 3125
    functionLinenumberEnd: 3171
    functionName: ec_d2i_publickey_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - TEST_ptr
    - d2i_PublicKey
    - EVP_PKEY_eq
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_EC_gen
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - i2d_PublicKey
    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:3175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3176,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/ectest.c:3176,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3177,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ectest.c:3177,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3180,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3181,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3183,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3185,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3186,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3188,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3189,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3190,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:3190,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3192,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:3192,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3193,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3194,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3195,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3196,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3197,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3198,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3199,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3200,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3201,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3202,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3173
    functionDepth: 1
    functionLinenumber: 3173
    functionLinenumberEnd: 3205
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EC_get_builtin_curves
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_true
    - OSSL_NELEM
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3210
    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:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 381
    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:388,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/openssl/test/ciphername_test.c:393,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:394,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:395,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/test/ciphername_test.c:399,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:400,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:401,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/test/ciphername_test.c:405,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:406,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:407,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/ciphername_test.c:412,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ciphername_test.c:412,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:414,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/ciphername_test.c:418,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:419,1
    - Dst: SSL_new
      Src: /src/openssl/test/ciphername_test.c:423,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:425,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/test/ciphername_test.c:429,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:431,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/ciphername_test.c:435,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/ciphername_test.c:436,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/ciphername_test.c:437,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/openssl/test/ciphername_test.c:441,1
    - Dst: get_std_name_by_id
      Src: /src/openssl/test/ciphername_test.c:442,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ciphername_test.c:443,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:444,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:449,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:450,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/ciphername_test.c:455,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/test/ciphername_test.c:456,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:457,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:458,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ciphername_test.c:465,1
    - Dst: SSL_free
      Src: /src/openssl/test/ciphername_test.c:466,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 468
    functionName: test_cipher_name
    functionSourceFile: /src/openssl/test/ciphername_test.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - OPENSSL_cipher_name
    - TEST_ptr
    - SSL_CTX_set_cipher_list
    - SSL_get_ciphers
    - SSL_CIPHER_get_id
    - SSL_CTX_new
    - sk_SSL_CIPHER_value
    - SSL_CTX_free
    - STACK_OF
    - TEST_str_eq
    - sk_SSL_CIPHER_num
    - TEST_info
    - TLS_server_method
    - get_std_name_by_id
    - SSL_CIPHER_standard_name
    - SSL_free
    - 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:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 474
    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:
    - memset
    - TEST_mem_eq
    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:153,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:154,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 158
    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:163,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sanitytest.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    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:172,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sanitytest.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    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:181,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sanitytest.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    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:190,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:191,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:192,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:193,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:194,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:195,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:196,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:197,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:199,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:200,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:202,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:203,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:207,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:208,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:216,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:217,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:218,1
    - Dst: TEST_error
      Src: /src/openssl/test/sanitytest.c:223,1
    - Dst: TEST_error
      Src: /src/openssl/test/sanitytest.c:229,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 234
    functionName: test_sanity_range
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_ge
    - TEST_error
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_sanity_range(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/test/sanitytest.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    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: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    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:255,1
    - Dst: sigaction
      Src: /src/openssl/test/sanitytest.c:268,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:269,1
    - Dst: sigemptyset
      Src: /src/openssl/test/sanitytest.c:273,1
    - Dst: sigaddset
      Src: /src/openssl/test/sanitytest.c:274,1
    - Dst: sigprocmask
      Src: /src/openssl/test/sanitytest.c:275,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:276,1
    - Dst: setitimer
      Src: /src/openssl/test/sanitytest.c:280,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:281,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/sanitytest.c:291,1
    - Dst: setitimer
      Src: /src/openssl/test/sanitytest.c:298,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:299,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/sanitytest.c:305,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/sanitytest.c:305,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sanitytest.c:305,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/sanitytest.c:307,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/sanitytest.c:307,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 310
    functionName: test_sanity_sleep
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - TEST_perror
    - setitimer
    - ossl_time_subtract
    - TEST_uint64_t_ge
    - sigaddset
    - TEST_uint64_t_le
    - ossl_time_now
    - OSSL_sleep
    - ossl_time2ms
    - sigprocmask
    - sigaction
    linkageType: ''
    returnType: int
    signature: int test_sanity_sleep(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:314,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:315,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:316,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:317,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:318,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:319,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:320,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sanitytest.c:321,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sanitytest.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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: 315
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: pt
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 168
    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:323,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:324,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:325,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:326,1
    - Dst: DES_ecb_encrypt
      Src: /src/openssl/test/destest.c:327,1
    - Dst: DES_ecb_encrypt
      Src: /src/openssl/test/destest.c:328,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:330,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:331,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:332,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:332,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:335,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:336,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:337,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 341
    functionName: test_des_ecb
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - TEST_mem_eq
    - DES_ecb_encrypt
    - pt
    - memset
    - memcpy
    - TEST_info
    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:349,1
    - 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: memcpy
      Src: /src/openssl/test/destest.c:352,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:353,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:354,1
    - Dst: DES_ecb3_encrypt
      Src: /src/openssl/test/destest.c:355,1
    - Dst: DES_ecb3_encrypt
      Src: /src/openssl/test/destest.c:356,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:358,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:359,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:360,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:360,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:363,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:364,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:365,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 369
    functionName: test_des_ede_ecb
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - TEST_mem_eq
    - DES_ecb3_encrypt
    - pt
    - memset
    - memcpy
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_des_ede_ecb(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:379,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:379,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:381,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:382,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:383,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:384,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:386,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:389,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:390,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 393
    functionName: test_des_cbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_ncbc_encrypt
    - TEST_mem_eq
    - DES_set_key_checked
    - TEST_int_eq
    - memset
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_des_cbc(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:401,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:403,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:403,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:405,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:406,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:407,1
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/test/destest.c:408,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:410,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:412,1
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/test/destest.c:413,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 416
    functionName: test_des_ede_cbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - DES_set_key_checked
    - TEST_int_eq
    - memset
    - DES_xcbc_encrypt
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_des_ede_cbc(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:424,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:427,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:427,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:429,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:431,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:431,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:433,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:434,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:435,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/test/destest.c:437,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/test/destest.c:439,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:441,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:444,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/test/destest.c:445,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 448
    functionName: test_ede_cbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - DES_set_key_checked
    - TEST_int_eq
    - memset
    - DES_ede3_cbc_encrypt
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_ede_cbc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:455,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:457,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:458,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:459,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:459,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 463
    functionName: test_input_align
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_ncbc_encrypt
    - DES_set_key_checked
    - TEST_int_eq
    - memset
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_input_align(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:470,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:472,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:474,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:474,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: test_output_align
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_ncbc_encrypt
    - DES_set_key_checked
    - TEST_int_eq
    - memset
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_output_align(int i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/openssl/test/destest.c:482,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:482,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/destest.c:484,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:484,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/destest.c:487,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:487,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/destest.c:489,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:489,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/destest.c:491,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 494
    functionName: test_des_crypt
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - DES_crypt
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_des_crypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:501,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:503,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:503,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:505,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:506,1
    - Dst: DES_pcbc_encrypt
      Src: /src/openssl/test/destest.c:507,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:509,1
    - Dst: DES_pcbc_encrypt
      Src: /src/openssl/test/destest.c:511,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 514
    functionName: test_des_pcbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - DES_set_key_checked
    - TEST_int_eq
    - memset
    - 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:520,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:521,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:522,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:524,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:526,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:527,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - bits
    - cfb_cipher
    argTypes:
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 530
    functionName: cfb_test
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DES_cfb_encrypt
    - DES_set_key_checked
    - TEST_mem_eq
    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:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 535
    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:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 540
    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:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 545
    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:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 550
    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:558,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:561,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:562,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:564,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:565,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:567,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:569,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:571,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:572,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:574,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:577,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:579,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:581,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:584,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:586,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 589
    functionName: test_des_cfb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_cfb_encrypt
    - TEST_mem_eq
    - DES_set_key_checked
    - cfb_test
    - memcpy
    - 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:596,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:597,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:599,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:601,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:603,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:605,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:607,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:609,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 591
    functionDepth: 4
    functionLinenumber: 591
    functionLinenumberEnd: 612
    functionName: test_des_ede_cfb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cfb64_encrypt
    - memcpy
    - DES_set_key_checked
    - TEST_mem_eq
    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:618,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:619,1
    - Dst: DES_ofb_encrypt
      Src: /src/openssl/test/destest.c:620,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:621,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:624,1
    - Dst: DES_ofb_encrypt
      Src: /src/openssl/test/destest.c:625,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: test_des_ofb
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_ofb_encrypt
    - memcpy
    - DES_set_key_checked
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_ofb(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:636,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:637,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:638,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:639,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/test/destest.c:642,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:644,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:646,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/test/destest.c:648,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 630
    functionDepth: 3
    functionLinenumber: 630
    functionLinenumberEnd: 651
    functionName: test_des_ofb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - DES_set_key_checked
    - memset
    - DES_ofb64_encrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_des_ofb64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:659,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:660,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:661,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:662,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/test/destest.c:665,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:668,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:670,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/test/destest.c:672,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 653
    functionDepth: 4
    functionLinenumber: 653
    functionLinenumberEnd: 675
    functionName: test_des_ede_ofb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - DES_ede3_ofb64_encrypt
    - DES_set_key_checked
    - memset
    - memcpy
    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:683,1
    - Dst: DES_cbc_cksum
      Src: /src/openssl/test/destest.c:684,1
    - Dst: strlen
      Src: /src/openssl/test/destest.c:684,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:686,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 689
    functionName: test_des_cbc_cksum
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - DES_set_key_checked
    - TEST_cs_eq
    - DES_cbc_cksum
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_des_cbc_cksum(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DES_quad_cksum
      Src: /src/openssl/test/destest.c:695,1
    - Dst: strlen
      Src: /src/openssl/test/destest.c:696,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:698,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:700,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:702,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:704,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 709
    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:730,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:731,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/destest.c:731,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:732,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/destest.c:732,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/destest.c:733,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:734,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:735,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/destest.c:735,1
    - Dst: test_random
      Src: /src/openssl/test/destest.c:740,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:743,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:744,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:745,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:749,1
    - Dst: EVP_EncryptInit
      Src: /src/openssl/test/destest.c:749,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:750,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/destest.c:750,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:755,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:759,1
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/test/destest.c:759,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:760,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:766,1
    - Dst: EVP_DecryptInit
      Src: /src/openssl/test/destest.c:766,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:767,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/destest.c:767,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:771,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/test/destest.c:771,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:775,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/destest.c:779,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/destest.c:780,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 720
    functionDepth: 6
    functionLinenumber: 720
    functionLinenumberEnd: 782
    functionName: test_des_key_wrap
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptFinal
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CIPHER_get_block_size
    - TEST_true
    - memcpy
    - EVP_DecryptUpdate
    - EVP_DecryptFinal
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit
    - test_random
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_new
    - TEST_size_t_le
    - TEST_size_t_eq
    - EVP_DecryptInit
    - EVP_EncryptUpdate
    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:822,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/test/destest.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 823
    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:848,1
    - Dst: DES_check_key_parity
      Src: /src/openssl/test/destest.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 849
    functionName: test_des_check_bad_parity
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_check_key_parity
    - TEST_int_eq
    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:859,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/destest.c:859,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:860,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/destest.c:860,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/destest.c:861,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/test/destest.c:862,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/test/destest.c:863,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/destest.c:868,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/destest.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 852
    functionDepth: 6
    functionLinenumber: 852
    functionLinenumberEnd: 871
    functionName: test_des_two_key
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_ptr
    - EVP_CIPHER_CTX_set_key_length
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_rand_key
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: int test_des_two_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:878,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:879,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:880,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:881,1
    - Dst: ADD_TEST
      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_ALL_TESTS
      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: OSSL_NELEM
      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_TEST
      Src: /src/openssl/test/destest.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 904
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strtoul
      Src: /src/openssl/test/strtoultest.c:67,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/strtoultest.c:72,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/strtoultest.c:77,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/strtoultest.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 88
    functionName: test_strtoul
    functionSourceFile: /src/openssl/test/strtoultest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strtoul
    - TEST_int_eq
    - TEST_ptr_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:92,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/strtoultest.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/strtoultest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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:
    - TEST_error
    - BN_print_var
    - BN_is_zero
    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:
    - TEST_ptr
    - BN_mod_exp_mont_word
    - TEST_true
    - TEST_error
    - BN_rand
    - BN_mod_exp_simple
    - ERR_pop_to_mark
    - BN_zero
    - a_is_zero_mod_one
    - BN_print_var
    - BN_MONT_CTX_free
    - BN_one
    - BN_mod_exp_mont
    - TEST_false
    - TEST_BN_eq_zero
    - BN_mod_exp_mont_consttime
    - BN_CTX_new
    - BN_CTX_free
    - BN_mod_exp
    - BN_new
    - ERR_set_mark
    - BN_MONT_CTX_set
    - BN_mod_exp_recp
    - BN_MONT_CTX_new
    - BN_free
    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:
    - BN_mod_exp_mont
    - TEST_BN_eq
    - TEST_ptr
    - BN_mod_exp_mont_consttime
    - RAND_bytes
    - BN_mod_exp_recp
    - BN_CTX_new
    - TEST_true
    - TEST_int_gt
    - BN_CTX_free
    - BN_rand
    - BN_free
    - BN_print_var
    - BN_cmp
    - BN_mod_exp_simple
    - BN_new
    - BN_mod
    - TEST_info
    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:
    - TEST_BN_eq
    - TEST_ptr
    - BN_CTX_new
    - TEST_true
    - BN_CTX_free
    - BN_rand
    - BN_mod_exp_mont_consttime_x2
    - BN_print_var
    - BN_cmp
    - BN_free
    - BN_mod_exp_simple
    - BN_new
    - BN_mod
    - TEST_info
    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_ALL_TESTS
    - ADD_TEST
    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:
    - fake_rand_set_callback
    - TEST_int_lt
    - TEST_ptr
    - BN_num_bytes
    - TEST_int_le
    - TEST_true
    - TEST_int_gt
    - BN_hex2bn
    - BN_free
    - OSSL_NELEM
    - BN_new
    - BN_bn2binpad
    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: OSSL_PROVIDER_available
      Src: /src/openssl/test/ecdsatest.c:99,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/test/ecdsatest.c:99,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ecdsatest.c:100,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:102,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/ecdsatest.c:102,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:104,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/ecdsatest.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:105,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/ecdsatest.c:105,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/test/ecdsatest.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:106,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/ecdsatest.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:107,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/ecdsatest.c:107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:109,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:111,1
    - Dst: BN_new
      Src: /src/openssl/test/ecdsatest.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:112,1
    - Dst: BN_new
      Src: /src/openssl/test/ecdsatest.c:112,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:113,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecdsatest.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:114,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecdsatest.c:114,1
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/ecdsatest.c:118,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ecdsatest.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:119,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:120,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/test/ecdsatest.c:120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:122,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/ecdsatest.c:122,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ecdsatest.c:123,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ecdsatest.c:124,1
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/ecdsatest.c:128,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ecdsatest.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:129,1
    - Dst: ECDSA_sign_setup
      Src: /src/openssl/test/ecdsatest.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:130,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/openssl/test/ecdsatest.c:130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:133,1
    - Dst: ECDSA_do_verify
      Src: /src/openssl/test/ecdsatest.c:133,1
    - Dst: ECDSA_SIG_get0
      Src: /src/openssl/test/ecdsatest.c:137,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ecdsatest.c:138,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ecdsatest.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:147,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ecdsatest.c:148,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/ecdsatest.c:149,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:150,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:151,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/ecdsatest.c:152,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/ecdsatest.c:153,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/ecdsatest.c:154,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 73
    functionDepth: 14
    functionLinenumber: 73
    functionLinenumberEnd: 156
    functionName: x9_62_tests
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - fake_rand_set_callback
    - OPENSSL_hexstr2buf
    - TEST_ptr
    - TEST_mem_eq
    - EC_curve_nid2nist
    - OSSL_PROVIDER_available
    - EVP_get_digestbynid
    - TEST_true
    - BN_hex2bn
    - ECDSA_sign_setup
    - EVP_DigestUpdate
    - EC_KEY_free
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex
    - OPENSSL_free
    - RAND_get0_private
    - TEST_int_eq
    - ECDSA_do_verify
    - EVP_MD_CTX_free
    - ECDSA_SIG_get0
    - EC_KEY_generate_key
    - EC_KEY_key2buf
    - BN_new
    - ECDSA_do_sign_ex
    - OBJ_nid2sn
    - TEST_BN_eq
    - TEST_skip
    - ECDSA_SIG_free
    - EVP_DigestFinal_ex
    - BN_free
    - TEST_size_t_eq
    - TEST_info
    - EC_KEY_new_by_curve_name
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: int x9_62_tests(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:180,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/test/ecdsatest.c:180,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:181,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/ecdsatest.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: set_sm2_id
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - TEST_int_gt
    - EVP_PKEY_CTX_set1_id
    - TEST_ptr
    - 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:201,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:201,1
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:210,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:211,1
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:214,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:215,1
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:219,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:222,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/ecdsatest.c:222,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:224,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/ecdsatest.c:224,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:226,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:227,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:228,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ecdsatest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:229,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ecdsatest.c:229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:231,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:232,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:233,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ecdsatest.c:233,1
    - Dst: TEST_false
      Src: /src/openssl/test/ecdsatest.c:234,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ecdsatest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:235,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ecdsatest.c:235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:238,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/ecdsatest.c:238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:239,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ecdsatest.c:239,1
    - Dst: ECDSA_size
      Src: /src/openssl/test/ecdsatest.c:242,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ecdsatest.c:244,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:245,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ecdsatest.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:247,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/ecdsatest.c:247,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:248,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:249,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ecdsatest.c:249,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/ecdsatest.c:250,1
    - Dst: ECDSA_size
      Src: /src/openssl/test/ecdsatest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:251,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:253,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:253,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:254,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:255,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:256,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:258,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:258,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:259,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:260,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:261,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:263,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:263,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:265,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:266,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:266,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:271,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:271,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:272,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:273,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:274,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:278,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:278,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:280,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:281,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:313,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:313,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:314,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ecdsatest.c:315,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:316,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:316,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:320,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:320,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:321,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:322,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:323,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:323,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ecdsatest.c:328,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ecdsatest.c:329,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ecdsatest.c:330,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/ecdsatest.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:332,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 52
    argCount: 2
    argNames:
    - n
    - as
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 186
    functionDepth: 8
    functionLinenumber: 186
    functionLinenumberEnd: 334
    functionName: test_builtin
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - ECDSA_size
    - EVP_MD_CTX_new
    - EVP_PKEY_new
    - OPENSSL_free
    - EVP_PKEY_eq
    - TEST_int_gt
    - set_sm2_id
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_MD_CTX_reset
    - OPENSSL_malloc
    - EC_KEY_generate_key
    - TEST_false
    - RAND_bytes
    - EVP_PKEY_assign_EC_KEY
    - EVP_DigestVerifyInit
    - EVP_PKEY_free
    - OBJ_nid2sn
    - EVP_DigestSignInit
    - EVP_DigestVerify
    - TEST_size_t_le
    - EVP_DigestSign
    - EVP_PKEY_dup
    - TEST_int_ge
    - TEST_int_ne
    - TEST_info
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int test_builtin(int n, int as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_builtin
      Src: /src/openssl/test/ecdsatest.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 9
    functionLinenumber: 336
    functionLinenumberEnd: 339
    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:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 9
    functionLinenumber: 342
    functionLinenumberEnd: 345
    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:358,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:358,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:359,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:359,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:360,1
    - Dst: ECDSA_sign
      Src: /src/openssl/test/ecdsatest.c:360,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:364,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ecdsatest.c:364,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:365,1
    - Dst: ECDSA_sign
      Src: /src/openssl/test/ecdsatest.c:365,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:373,1
    - Dst: ECDSA_sign_setup
      Src: /src/openssl/test/ecdsatest.c:373,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:374,1
    - Dst: ECDSA_sign_ex
      Src: /src/openssl/test/ecdsatest.c:374,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:377,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ecdsatest.c:378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:379,1
    - Dst: ECDSA_sign_ex
      Src: /src/openssl/test/ecdsatest.c:379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:382,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:383,1
    - Dst: ECDSA_verify
      Src: /src/openssl/test/ecdsatest.c:383,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ecdsatest.c:386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:387,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:388,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:389,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 391
    functionName: test_ecdsa_sig_NULL
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - EC_KEY_generate_key
    - ECDSA_verify
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_malloc
    - TEST_int_le
    - ECDSA_sign
    - TEST_int_gt
    - TEST_int_eq
    - ECDSA_sign_setup
    - ECDSA_sign_ex
    - EC_KEY_free
    - BN_free
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int test_ecdsa_sig_NULL(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/ecdsatest.c:398,1
    - Dst: fake_rand_start
      Src: /src/openssl/test/ecdsatest.c:400,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ecdsatest.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:406,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/ecdsatest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:407,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ecdsatest.c:407,1
    - Dst: fake_rand_finish
      Src: /src/openssl/test/ecdsatest.c:408,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ecdsatest.c:411,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ecdsatest.c:412,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ecdsatest.c:414,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ecdsatest.c:416,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ecdsatest.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - fake_rand_start
    - TEST_ptr
    - EC_get_builtin_curves
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_true
    - TEST_note
    - OSSL_NELEM
    - fake_rand_finish
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/openssl/test/ecdsatest.c:424,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 5
    functionsReached:
    - fake_rand_finish
    - OPENSSL_free
    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:
    - f
    - OPENSSL_thread_stop
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/bio_eof_test.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: bio_create
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_create(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/bio_eof_test.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: bio_destroy
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_destroy(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_test_flags
      Src: /src/openssl/test/bio_eof_test.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - buf
    - len
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: old_read_returns_0_or_minus1
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_test_flags
    linkageType: ''
    returnType: int
    signature: int old_read_returns_0_or_minus1(BIO *bio, char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - buf
    - len
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: new_read_ex_always_0
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int new_read_ex_always_0(BIO *bio, char *buf, size_t len, size_t *readbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ctrl_noop
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long ctrl_noop(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ctrl_eof_always_1
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long ctrl_eof_always_1(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_test_flags
      Src: /src/openssl/test/bio_eof_test.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: ctrl_eof_depends_on_flag
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_test_flags
    linkageType: ''
    returnType: long
    signature: long ctrl_eof_depends_on_flag(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_eof_test.c:88,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/bio_eof_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:90,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/bio_eof_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:92,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/bio_eof_test.c:92,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:94,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/bio_eof_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:96,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/bio_eof_test.c:96,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_eof_test.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: make_meth_oldread
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - TEST_int_eq
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_free
    - BIO_meth_set_create
    linkageType: ''
    returnType: BIO_METHOD
    signature: "BIO_METHOD *make_meth_oldread(long (*ctrl)(BIO *, int, long, void
      *),\n    const char *name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_eof_test.c:110,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/bio_eof_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:112,1
    - Dst: BIO_meth_set_read_ex
      Src: /src/openssl/test/bio_eof_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:114,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/bio_eof_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:116,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/bio_eof_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:118,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/bio_eof_test.c:118,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_eof_test.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: make_meth_newreadex
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_meth_set_read_ex
    - BIO_meth_set_destroy
    - TEST_int_eq
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_free
    - BIO_meth_set_create
    linkageType: ''
    returnType: BIO_METHOD
    signature: "BIO_METHOD *make_meth_newreadex(long (*ctrl)(BIO *, int, long, void
      *),\n    const char *name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_eof_test.c:136,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_eof_test.c:136,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_eof_test.c:140,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/bio_eof_test.c:142,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_eof_test.c:145,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:146,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_eof_test.c:147,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_eof_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:152,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_eof_test.c:153,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_eof_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_eof_test.c:159,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_eof_test.c:160,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_eof_test.c:164,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_eof_test.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - label
    - meth
    - set_flag
    - use_read_ex
    - exp_read_ret
    - exp_eof_ret
    argTypes:
    - char*
    - BIO_METHOD*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 170
    functionName: run_subtest
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - TEST_ptr
    - BIO_new
    - BIO_read
    - BIO_free
    - TEST_int_eq
    - BIO_read_ex
    - BIO_clear_flags
    - TEST_info
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: "int run_subtest(const char *label, BIO_METHOD *meth,\n    int set_flag,
      int use_read_ex,\n    int exp_read_ret, int exp_eof_ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_eof_test.c:177,1
    - Dst: make_meth_oldread
      Src: /src/openssl/test/bio_eof_test.c:177,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:181,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:182,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:183,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:184,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_eof_test.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: old_style_read_without_eof_ctrl
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - make_meth_oldread
    - TEST_ptr
    - run_subtest
    linkageType: ''
    returnType: int
    signature: int old_style_read_without_eof_ctrl(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_eof_test.c:195,1
    - Dst: make_meth_oldread
      Src: /src/openssl/test/bio_eof_test.c:195,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:199,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:200,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:201,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:202,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_eof_test.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 6
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: old_style_read_with_eof_ctrl
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - make_meth_oldread
    - TEST_ptr
    - run_subtest
    linkageType: ''
    returnType: int
    signature: int old_style_read_with_eof_ctrl(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_eof_test.c:213,1
    - Dst: make_meth_newreadex
      Src: /src/openssl/test/bio_eof_test.c:213,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:217,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:218,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:219,1
    - Dst: run_subtest
      Src: /src/openssl/test/bio_eof_test.c:220,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_eof_test.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 6
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: new_style_read_ex
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - run_subtest
    - TEST_ptr
    - make_meth_newreadex
    linkageType: ''
    returnType: int
    signature: int new_style_read_ex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_eof_test.c:228,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_eof_test.c:229,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_eof_test.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_eof_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - 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:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - TEST_false
    - OSSL_PROVIDER_available
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - OPENSSL_init_crypto
    - EVP_MD_free
    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:22,1
    - Dst: strlen
      Src: /src/openssl/test/uitest.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: test_pem_password_cb
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_strlcpy
    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:38,1
    - Dst: UI_UTIL_wrap_read_pem_callback
      Src: /src/openssl/test/uitest.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/uitest.c:39,1
    - Dst: UI_new_method
      Src: /src/openssl/test/uitest.c:39,1
    - Dst: UI_add_user_data
      Src: /src/openssl/test/uitest.c:43,1
    - Dst: UI_add_input_string
      Src: /src/openssl/test/uitest.c:45,1
    - Dst: UI_process
      Src: /src/openssl/test/uitest.c:50,1
    - Dst: TEST_info
      Src: /src/openssl/test/uitest.c:52,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/uitest.c:60,1
    - Dst: UI_free
      Src: /src/openssl/test/uitest.c:64,1
    - Dst: UI_destroy_method
      Src: /src/openssl/test/uitest.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: test_old
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - UI_destroy_method
    - UI_UTIL_wrap_read_pem_callback
    - TEST_ptr
    - UI_process
    - UI_free
    - UI_add_user_data
    - TEST_str_eq
    - TEST_info
    - 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:80,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/uitest.c:81,1
    - Dst: password_callback
      Src: /src/openssl/test/uitest.c:81,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/uitest.c:82,1
    - Dst: destroy_ui_method
      Src: /src/openssl/test/uitest.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: test_new_ui
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - password_callback
    - TEST_int_gt
    - destroy_ui_method
    - TEST_str_eq
    - setup_ui_method
    linkageType: ''
    returnType: int
    signature: int test_new_ui(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/uitest.c:90,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/uitest.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    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:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    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 void *av, const void *bv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:125,1
    - Dst: ossl_pqueue_NET_PKT_new
      Src: /src/openssl/test/quic_cc_test.c:125,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: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: net_sim_init
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_NET_PKT_new
    - TEST_ptr
    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:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: do_free
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void do_free(void *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_NET_PKT_pop_free
      Src: /src/openssl/test/quic_cc_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct net_sim*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:155,1
    - Dst: net_sim_process
      Src: /src/openssl/test/quic_cc_test.c:155,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:168,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:169,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:178,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:179,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:183,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:190,1
    - Dst: struct net_sim*::ccm::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:193,1
    - Dst: ossl_pqueue_NET_PKT_push
      Src: /src/openssl/test/quic_cc_test.c:193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - s
    - sz
    argTypes:
    - struct net_sim*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 201
    functionName: net_sim_send
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - ossl_pqueue_NET_PKT_push
    - struct net_sim*::ccm::on_data_sent
    - net_sim_process
    - ossl_time_add
    - ossl_ms2time
    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:205,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:211,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:215,1
    - Dst: ossl_pqueue_NET_PKT_pop
      Src: /src/openssl/test/quic_cc_test.c:220,1
    - Dst: ossl_pqueue_NET_PKT_push
      Src: /src/openssl/test/quic_cc_test.c:222,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:240,1
    - Dst: struct net_sim*::ccm::on_data_lost
      Src: /src/openssl/test/quic_cc_test.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:243,1
    - Dst: struct net_sim*::ccm::on_data_lost_finished
      Src: /src/openssl/test/quic_cc_test.c:243,1
    - Dst: ossl_pqueue_NET_PKT_pop
      Src: /src/openssl/test/quic_cc_test.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:248,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:255,1
    - Dst: struct net_sim*::ccm::on_data_acked
      Src: /src/openssl/test/quic_cc_test.c:255,1
    - Dst: ossl_pqueue_NET_PKT_pop
      Src: /src/openssl/test/quic_cc_test.c:259,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:260,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - s
    - skip_forward
    argTypes:
    - struct net_sim*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 264
    functionName: net_sim_process_one
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_NET_PKT_pop
    - struct net_sim*::ccm::on_data_lost
    - OPENSSL_free
    - struct net_sim*::ccm::on_data_acked
    - TEST_true
    - ossl_time_compare
    - ossl_pqueue_NET_PKT_push
    - ossl_pqueue_NET_PKT_peek
    - struct net_sim*::ccm::on_data_lost_finished
    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:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - skip_forward
    argTypes:
    - struct net_sim*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 275
    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:296,1
    - Dst: OSSL_CC_METHOD*::get_option_uint
      Src: /src/openssl/test/quic_cc_test.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:300,1
    - Dst: OSSL_CC_METHOD*::get_option_uint
      Src: /src/openssl/test/quic_cc_test.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:304,1
    - Dst: OSSL_CC_METHOD*::get_option_uint
      Src: /src/openssl/test/quic_cc_test.c:304,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_cc_test.c:308,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/quic_cc_test.c:309,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:310,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: 321
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 321
    functionName: dump_state
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TEST_true
    - OSSL_CC_METHOD*::get_option_uint
    - ossl_time2ms
    - OSSL_CC_METHOD*::get_tx_allowance
    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:349,1
    - Dst: OSSL_CC_METHOD*::new
      Src: /src/openssl/test/quic_cc_test.c:349,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:352,1
    - Dst: net_sim_init
      Src: /src/openssl/test/quic_cc_test.c:352,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/quic_cc_test.c:357,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:361,1
    - Dst: OSSL_CC_METHOD*::set_input_params
      Src: /src/openssl/test/quic_cc_test.c:361,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/quic_cc_test.c:365,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/quic_cc_test.c:367,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:371,1
    - Dst: OSSL_CC_METHOD*::bind_diagnostics
      Src: /src/openssl/test/quic_cc_test.c:371,1
    - Dst: OSSL_CC_METHOD*::reset
      Src: /src/openssl/test/quic_cc_test.c:374,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:376,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:376,1
    - Dst: dump_state
      Src: /src/openssl/test/quic_cc_test.c:393,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:395,1
    - Dst: step_time
      Src: /src/openssl/test/quic_cc_test.c:407,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:409,1
    - Dst: net_sim_send
      Src: /src/openssl/test/quic_cc_test.c:409,1
    - Dst: net_sim_process
      Src: /src/openssl/test/quic_cc_test.c:416,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_cc_test.c:417,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:425,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:428,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:428,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_cc_test.c:436,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_cc_test.c:437,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_cc_test.c:454,1
    - Dst: TEST_double_le
      Src: /src/openssl/test/quic_cc_test.c:460,1
    - Dst: net_sim_cleanup
      Src: /src/openssl/test/quic_cc_test.c:467,1
    - Dst: OSSL_CC_METHOD*::free
      Src: /src/openssl/test/quic_cc_test.c:470,1
    - Dst: fflush
      Src: /src/openssl/test/quic_cc_test.c:474,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 478
    functionName: test_simulate
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - TEST_true
    - dump_state
    - net_sim_process
    - net_sim_cleanup
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - OSSL_CC_METHOD*::get_tx_allowance
    - net_sim_init
    - net_sim_send
    - OSSL_CC_METHOD*::new
    - TEST_double_le
    - OSSL_CC_METHOD*::reset
    - OSSL_PARAM_construct_uint64
    - OSSL_CC_METHOD*::bind_diagnostics
    - OSSL_PARAM_construct_size_t
    - TEST_uint64_t_ge
    - fflush
    - OSSL_CC_METHOD*::set_input_params
    - TEST_uint64_t_ne
    - OSSL_CC_METHOD*::free
    - TEST_info
    - step_time
    linkageType: ''
    returnType: int
    signature: int test_simulate(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:500,1
    - Dst: OSSL_CC_METHOD*::new
      Src: /src/openssl/test/quic_cc_test.c:500,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/quic_cc_test.c:504,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:506,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:508,1
    - Dst: OSSL_CC_METHOD*::set_input_params
      Src: /src/openssl/test/quic_cc_test.c:508,1
    - Dst: OSSL_CC_METHOD*::reset
      Src: /src/openssl/test/quic_cc_test.c:511,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/quic_cc_test.c:514,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/quic_cc_test.c:516,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:518,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:520,1
    - Dst: OSSL_CC_METHOD*::bind_diagnostics
      Src: /src/openssl/test/quic_cc_test.c:520,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_cc_test.c:521,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:524,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:528,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/test/quic_cc_test.c:528,1
    - Dst: OSSL_CC_METHOD*::get_wakeup_deadline
      Src: /src/openssl/test/quic_cc_test.c:528,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:532,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:536,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:536,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:540,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:540,1
    - Dst: step_time
      Src: /src/openssl/test/quic_cc_test.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:547,1
    - Dst: OSSL_CC_METHOD*::on_data_acked
      Src: /src/openssl/test/quic_cc_test.c:547,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:551,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:555,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:555,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:559,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:562,1
    - Dst: OSSL_CC_METHOD*::on_data_invalidated
      Src: /src/openssl/test/quic_cc_test.c:562,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:566,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:566,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:570,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      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_true
      Src: /src/openssl/test/quic_cc_test.c:576,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:576,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:579,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:579,1
    - Dst: step_time
      Src: /src/openssl/test/quic_cc_test.c:585,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:587,1
    - Dst: OSSL_CC_METHOD*::on_data_lost
      Src: /src/openssl/test/quic_cc_test.c:587,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:591,1
    - Dst: OSSL_CC_METHOD*::on_data_lost
      Src: /src/openssl/test/quic_cc_test.c:591,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:594,1
    - Dst: OSSL_CC_METHOD*::on_data_lost_finished
      Src: /src/openssl/test/quic_cc_test.c:594,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_cc_test.c:598,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:598,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_cc_test.c:602,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:602,1
    - Dst: OSSL_CC_METHOD*::free
      Src: /src/openssl/test/quic_cc_test.c:609,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 612
    functionName: test_sanity
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CC_METHOD*::get_wakeup_deadline
    - OSSL_CC_METHOD*::on_data_lost
    - TEST_ptr
    - TEST_uint64_t_eq
    - TEST_uint64_t_lt
    - TEST_true
    - OSSL_CC_METHOD*::on_data_acked
    - ossl_time_is_zero
    - OSSL_PARAM_construct_end
    - OSSL_CC_METHOD*::on_data_invalidated
    - OSSL_CC_METHOD*::get_tx_allowance
    - OSSL_CC_METHOD*::on_data_lost_finished
    - OSSL_CC_METHOD*::new
    - OSSL_CC_METHOD*::reset
    - OSSL_PARAM_construct_uint64
    - OSSL_CC_METHOD*::bind_diagnostics
    - OSSL_PARAM_construct_size_t
    - OSSL_CC_METHOD*::on_data_sent
    - TEST_uint64_t_ge
    - OSSL_CC_METHOD*::set_input_params
    - TEST_size_t_eq
    - TEST_uint64_t_ne
    - OSSL_CC_METHOD*::free
    - step_time
    linkageType: ''
    returnType: int
    signature: int test_sanity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/openssl/test/quic_cc_test.c:618,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_cc_test.c:619,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_cc_test.c:629,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_cc_test.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 632
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - fopen
    - fprintf
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:76,1
    - Dst: ossl_hexstr2buf_sep
      Src: /src/openssl/test/hexstr_test.c:76,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hexstr_test.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:78,1
    - Dst: ossl_buf2hexstr_sep
      Src: /src/openssl/test/hexstr_test.c:78,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hexstr_test.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:84,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: test_hexstr_sep_to_from
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_hexstr2buf_sep
    - TEST_mem_eq
    - OPENSSL_free
    - ossl_buf2hexstr_sep
    - TEST_str_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:98,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/hexstr_test.c:98,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hexstr_test.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:100,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/hexstr_test.c:100,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hexstr_test.c:103,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/hexstr_test.c:105,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hexstr_test.c:109,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/hexstr_test.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: test_hexstr_to_from
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexstr2buf
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_str_ne
    - TEST_ptr_null
    - TEST_str_eq
    - OPENSSL_buf2hexstr
    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:126,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/openssl/test/hexstr_test.c:126,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hexstr_test.c:127,1
    - Dst: TEST_false
      Src: /src/openssl/test/hexstr_test.c:128,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/test/hexstr_test.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/hexstr_test.c:130,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/test/hexstr_test.c:130,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hexstr_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/hexstr_test.c:133,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/test/hexstr_test.c:133,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/hexstr_test.c:135,1
    - Dst: strlen
      Src: /src/openssl/test/hexstr_test.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: test_hexstr_ex_to_from
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_mem_eq
    - TEST_true
    - OPENSSL_buf2hexstr_ex
    - TEST_str_eq
    - strlen
    - OPENSSL_hexstr2buf_ex
    - TEST_size_t_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:140,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hexstr_test.c:140,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hexstr_test.c:141,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hexstr_test.c:141,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hexstr_test.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cmsapitest.c:28,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmsapitest.c:28,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/cmsapitest.c:30,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:30,1
    - Dst: BIO_new
      Src: /src/openssl/test/cmsapitest.c:31,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/cmsapitest.c:31,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:36,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:36,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:36,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/cmsapitest.c:39,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmsapitest.c:39,1
    - Dst: CMS_encrypt
      Src: /src/openssl/test/cmsapitest.c:42,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:43,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:46,1
    - Dst: CMS_decrypt
      Src: /src/openssl/test/cmsapitest.c:46,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/cmsapitest.c:50,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:51,1
    - Dst: CMS_EnvelopedData_decrypt
      Src: /src/openssl/test/cmsapitest.c:51,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:57,1
    - Dst: BIO_gets
      Src: /src/openssl/test/cmsapitest.c:57,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:57,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:58,1
    - Dst: strcmp
      Src: /src/openssl/test/cmsapitest.c:58,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:63,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/cmsapitest.c:64,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:65,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:66,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:67,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:69,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/cmsapitest.c:69,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 25
    functionDepth: 19
    functionLinenumber: 25
    functionLinenumberEnd: 70
    functionName: test_encrypt_decrypt
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - sk_X509_push
    - BIO_new
    - TEST_int_gt
    - CMS_EnvelopedData_decrypt
    - TEST_int_eq
    - BIO_gets
    - STACK_OF
    - CMS_ContentInfo_free
    - BIO_s_mem
    - sk_X509_new_null
    - BIO_free
    - EVP_CIPHER_get_flags
    - strcmp
    - CMS_encrypt
    - CMS_decrypt
    - BIO_new_mem_buf
    - sk_X509_free
    - ERR_peek_error
    - strlen
    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:74,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmsapitest.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 20
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: test_encrypt_decrypt_aes_cbc
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc
    - test_encrypt_decrypt
    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:79,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/cmsapitest.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 20
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: test_encrypt_decrypt_aes_128_gcm
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_gcm
    - test_encrypt_decrypt
    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:84,1
    - Dst: EVP_aes_192_gcm
      Src: /src/openssl/test/cmsapitest.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 20
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: test_encrypt_decrypt_aes_192_gcm
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_192_gcm
    - test_encrypt_decrypt
    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:89,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/cmsapitest.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 20
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: test_encrypt_decrypt_aes_256_gcm
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_gcm
    - test_encrypt_decrypt
    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:97,1
    - Dst: CMS_ContentInfo_new
      Src: /src/openssl/test/cmsapitest.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:98,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/test/cmsapitest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:99,1
    - Dst: CMS_add1_cert
      Src: /src/openssl/test/cmsapitest.c:99,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 15
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: test_CMS_add1_cert
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - CMS_add1_cert
    - TEST_true
    - CMS_ContentInfo_new
    - CMS_add1_signer
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: int
    signature: int test_CMS_add1_cert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:307,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/cmsapitest.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:308,1
    - Dst: d2i_CMS_bio
      Src: /src/openssl/test/cmsapitest.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:309,1
    - Dst: CMS_verify
      Src: /src/openssl/test/cmsapitest.c:309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:310,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: 105
    functionDepth: 16
    functionLinenumber: 105
    functionLinenumberEnd: 316
    functionName: test_d2i_CMS_bio_NULL
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - CMS_SignedData_verify
    - TEST_ptr
    - BIO_free
    - CMS_verify
    - TEST_true
    - BIO_new_mem_buf
    - TEST_int_eq
    - CMS_ContentInfo_free
    - ERR_peek_error
    - d2i_CMS_bio
    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:
    - BIO_read
    - OPENSSL_realloc
    - OPENSSL_free
    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:
    - TEST_ptr
    - OPENSSL_free
    - BIO_free
    - ERR_peek_error
    - TEST_int_eq
    - CMS_ContentInfo_free
    - d2i_CMS_ContentInfo
    - read_all
    - BIO_new_file
    - d2i_CMS_bio
    linkageType: ''
    returnType: int
    signature: int test_d2i_CMS_decode(const int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:394,1
    - Dst: CMS_ContentInfo_new
      Src: /src/openssl/test/cmsapitest.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:397,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/test/cmsapitest.c:397,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/cmsapitest.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:401,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/test/cmsapitest.c:401,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmsapitest.c:401,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 409
    functionName: test_CMS_set1_key_mem_leak
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_cbc
    - TEST_ptr
    - CMS_EncryptedData_set1_key
    - TEST_true
    - CMS_ContentInfo_new
    - EVP_aes_128_cbc
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: int
    signature: int test_CMS_set1_key_mem_leak(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/cmsapitest.c:414,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:414,1
    - Dst: BIO_new
      Src: /src/openssl/test/cmsapitest.c:418,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/cmsapitest.c:418,1
    - Dst: CMS_EncryptedData_encrypt
      Src: /src/openssl/test/cmsapitest.c:422,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmsapitest.c:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:426,1
    - Dst: CMS_EncryptedData_decrypt
      Src: /src/openssl/test/cmsapitest.c:426,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:430,1
    - Dst: BIO_gets
      Src: /src/openssl/test/cmsapitest.c:430,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:431,1
    - Dst: strcmp
      Src: /src/openssl/test/cmsapitest.c:431,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:436,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:437,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 411
    functionDepth: 11
    functionLinenumber: 411
    functionLinenumberEnd: 440
    functionName: test_encrypted_data
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_new
    - EVP_aes_128_cbc
    - CMS_EncryptedData_decrypt
    - BIO_free
    - TEST_true
    - BIO_new_mem_buf
    - strcmp
    - TEST_int_eq
    - BIO_gets
    - CMS_EncryptedData_encrypt
    - strlen
    - CMS_ContentInfo_free
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_encrypted_data(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/cmsapitest.c:445,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:445,1
    - Dst: BIO_new
      Src: /src/openssl/test/cmsapitest.c:449,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/cmsapitest.c:449,1
    - Dst: CMS_ContentInfo_new
      Src: /src/openssl/test/cmsapitest.c:452,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:453,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmsapitest.c:460,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/test/cmsapitest.c:460,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/cmsapitest.c:460,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:463,1
    - Dst: CMS_EncryptedData_encrypt
      Src: /src/openssl/test/cmsapitest.c:470,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/cmsapitest.c:470,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmsapitest.c:471,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:477,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:478,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 481
    functionName: test_encrypted_data_aead
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - BIO_new
    - BIO_free
    - CMS_EncryptedData_set1_key
    - BIO_new_mem_buf
    - CMS_ContentInfo_new
    - TEST_ptr_null
    - CMS_EncryptedData_encrypt
    - strlen
    - CMS_ContentInfo_free
    - BIO_s_mem
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: int test_encrypted_data_aead(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:490,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cmsapitest.c:490,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:493,1
    - Dst: PEM_read_bio_CMS
      Src: /src/openssl/test/cmsapitest.c:493,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmsapitest.c:497,1
    - Dst: CMS_decrypt
      Src: /src/openssl/test/cmsapitest.c:497,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/cmsapitest.c:499,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/cmsapitest.c:500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:502,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/cmsapitest.c:502,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:504,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/cmsapitest.c:504,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:509,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:510,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:511,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 483
    functionDepth: 11
    functionLinenumber: 483
    functionLinenumberEnd: 513
    functionName: test_cms_aesgcm_iv_too_long
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - PEM_read_bio_CMS
    - ERR_peek_last_error
    - BIO_free
    - ERR_GET_REASON
    - CMS_decrypt
    - TEST_int_eq
    - BIO_new_file
    - TEST_ulong_ne
    - CMS_ContentInfo_free
    - ERR_GET_LIB
    linkageType: ''
    returnType: int
    signature: int test_cms_aesgcm_iv_too_long(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmsapitest.c:522,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmsapitest.c:523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:527,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:528,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:528,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:529,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:530,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:530,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cmsapitest.c:533,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:536,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/cmsapitest.c:536,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:537,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:540,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cmsapitest.c:542,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:543,1
    - Dst: X509_free
      Src: /src/openssl/test/cmsapitest.c:544,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:548,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/cmsapitest.c:548,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:549,1
    - Dst: X509_free
      Src: /src/openssl/test/cmsapitest.c:550,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:554,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:556,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:557,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:558,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:559,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:560,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:561,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:562,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:563,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:564,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/cmsapitest.c:565,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 517
    functionDepth: 6
    functionLinenumber: 517
    functionLinenumberEnd: 568
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - BIO_free
    - X509_free
    - ADD_TEST
    - ADD_ALL_TESTS
    - TEST_true
    - TEST_error
    - PEM_read_bio_PrivateKey
    - BIO_new_file
    - test_skip_common_options
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/cmsapitest.c:572,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmsapitest.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 574
    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_puts
    - BIO_new
    - TEST_mem_eq
    - BIO_write
    - BIO_read
    - BIO_set_mem_eof_return
    - BIO_free
    - BIO_set_callback_ex
    - TEST_int_eq
    - TEST_long_eq
    - memset
    - TEST_size_t_eq
    - TEST_ptr_eq
    - BIO_s_mem
    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_set_callback
    - BIO_puts
    - BIO_new
    - TEST_mem_eq
    - BIO_write
    - BIO_read
    - BIO_set_mem_eof_return
    - BIO_free
    - TEST_int_eq
    - TEST_long_eq
    - memset
    - TEST_ptr_eq
    - BIO_s_mem
    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:
    - UI_destroy_method
    - OSSL_STORE_open_ex
    - OSSL_STORE_SEARCH_by_alias
    - OSSL_STORE_close
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - OSSL_STORE_SEARCH_free
    - TEST_true
    - UI_create_method
    - test_mk_file_path
    - OSSL_STORE_find
    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:
    - UI_destroy_method
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - d2i_X509
    - TEST_ptr
    - OSSL_STORE_load
    - X509_free
    - OSSL_STORE_SEARCH_free
    - TEST_true
    - UI_create_method
    - OSSL_STORE_SEARCH_by_name
    - OSSL_STORE_INFO_free
    - OSSL_STORE_find
    - X509_get_issuer_name
    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:
    - OSSL_STORE_SEARCH_free
    - TEST_ptr_null
    - EVP_sha256
    - 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: 68
    functionsReached:
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - TEST_ptr
    - OSSL_STORE_load
    - EVP_PKEY_is_a
    - OSSL_STORE_INFO_get1_PARAMS
    - OSSL_STORE_INFO_get_type
    - EVP_PKEY_free
    - OSSL_STORE_INFO_free
    - OSSL_STORE_eof
    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:
    - get_params
    - BIO_snprintf
    - TEST_true
    - TEST_error
    - strlen
    - TEST_info
    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:
    - OSSL_STORE_close
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_STORE_attach
    - OPENSSL_free
    - BIO_free
    - ERR_GET_REASON
    - OSSL_LIB_CTX_free
    - test_mk_file_path
    - ERR_peek_error
    - BIO_new_file
    - TEST_int_ne
    - ERR_GET_LIB
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int test_store_attach_unregistered_scheme(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ossl_store_test.c:255,1
    - Dst: OSSL_STORE_delete
      Src: /src/openssl/test/ossl_store_test.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 10
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: test_store_delete_null_uri
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - OSSL_STORE_delete
    linkageType: ''
    returnType: int
    signature: int test_store_delete_null_uri(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    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: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: opt_arg
      Src: /src/openssl/test/ossl_store_test.c:284,1
    - Dst: opt_arg
      Src: /src/openssl/test/ossl_store_test.c:287,1
    - Dst: TEST_error
      Src: /src/openssl/test/ossl_store_test.c:298,1
    - Dst: TEST_error
      Src: /src/openssl/test/ossl_store_test.c:302,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:307,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:309,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:311,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:312,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ossl_store_test.c:313,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 317
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - opt_arg
    - opt_next
    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_free
    - TEST_true
    - EVP_MD_fetch
    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:
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_write
    - BIO_free
    - BIO_read
    - TEST_true
    - BIO_flush
    - TEST_int_eq
    - BIO_push
    - BIO_s_mem
    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:
    - TEST_ptr
    - RAND_bytes
    - OPENSSL_free
    - TEST_true
    - TEST_int_gt
    - memset
    - do_bio_comp_test
    - TEST_info
    - OPENSSL_malloc
    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:
    - BIO_f_zstd
    - do_bio_comp
    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:
    - BIO_f_brotli
    - do_bio_comp
    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:
    - ERR_print_errors_fp
    - exit
    - X509_free
    - BIO_free
    - 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:
    - ERR_print_errors_fp
    - exit
    - BIO_free
    - BIO_new_mem_buf
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    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:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/openssl/test/timing_load_creds.c:118,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:121,1
    - Dst: atoi
      Src: /src/openssl/test/timing_load_creds.c:124,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:125,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:132,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:135,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:150,1
    - Dst: stat
      Src: /src/openssl/test/timing_load_creds.c:151,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:152,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:153,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/timing_load_creds.c:155,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:157,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:158,1
    - Dst: fopen
      Src: /src/openssl/test/timing_load_creds.c:160,1
    - Dst: fread
      Src: /src/openssl/test/timing_load_creds.c:161,1
    - Dst: fclose
      Src: /src/openssl/test/timing_load_creds.c:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:163,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:164,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:165,1
    - Dst: fclose
      Src: /src/openssl/test/timing_load_creds.c:168,1
    - Dst: printf
      Src: /src/openssl/test/timing_load_creds.c:170,1
    - Dst: readx509
      Src: /src/openssl/test/timing_load_creds.c:176,1
    - Dst: readpkey
      Src: /src/openssl/test/timing_load_creds.c:179,1
    - Dst: gettimeofday
      Src: /src/openssl/test/timing_load_creds.c:184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:185,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:186,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:187,1
    - Dst: times
      Src: /src/openssl/test/timing_load_creds.c:190,1
    - Dst: getrusage
      Src: /src/openssl/test/timing_load_creds.c:196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:197,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:198,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:199,1
    - Dst: readx509
      Src: /src/openssl/test/timing_load_creds.c:205,1
    - Dst: readpkey
      Src: /src/openssl/test/timing_load_creds.c:208,1
    - Dst: times
      Src: /src/openssl/test/timing_load_creds.c:213,1
    - Dst: getrusage
      Src: /src/openssl/test/timing_load_creds.c:219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:220,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:221,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:222,1
    - Dst: gettimeofday
      Src: /src/openssl/test/timing_load_creds.c:225,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:226,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:227,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:228,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:232,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:233,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:235,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:236,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:238,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:240,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:241,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:243,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:244,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:249,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:252,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:254,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 2
    argNames:
    - ac
    - av
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 5
    functionsReached:
    - readx509
    - perror
    - getrusage
    - print_timeval
    - gettimeofday
    - fclose
    - OPENSSL_free
    - fprintf
    - readpkey
    - atoi
    - getopt
    - OPENSSL_malloc
    - printf
    - usage
    - timersub
    - stat
    - times
    - exit
    - fopen
    - fread
    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: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:110,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:114,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:115,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:120,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:123,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:123,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:127,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:127,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:128,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:131,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:131,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:135,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:136,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:136,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:141,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:144,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:144,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:147,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:147,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:152,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:152,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:155,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:157,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:160,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:160,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:165,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:169,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:172,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:172,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:175,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:175,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:180,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:184,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:187,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:187,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:193,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:200,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:205,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:206,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:207,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:209,1
    - Dst: OPENSSL_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
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 98
    functionDepth: 12
    functionLinenumber: 98
    functionLinenumberEnd: 213
    functionName: test_ml_kem
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_ne
    - TEST_true
    - EVP_PKEY_copy_parameters
    - TEST_size_t_gt
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_zalloc
    - OPENSSL_free
    - EVP_PKEY_eq
    - TEST_int_gt
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_decapsulate
    - EVP_PKEY_get1_encoded_public_key
    - TEST_false
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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:227,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:228,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:231,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:231,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:234,1
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:248,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:253,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:255,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:257,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:257,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:263,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:267,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:267,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:271,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:272,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:277,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:284,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:286,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:288,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:288,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:295,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:295,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:300,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:301,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:303,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:303,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:305,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:305,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:309,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:310,1
    - Dst: OPENSSL_zalloc
      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:313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:316,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:316,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:319,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:322,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:327,1
    - Dst: EVP_Digest
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:327,1
    - Dst: TEST_mem_eq
      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:334,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:344,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:346,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:346,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:348,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:348,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:351,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:353,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:356,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:356,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:360,1
    - Dst: memset
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:366,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:366,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:369,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:377,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:377,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:381,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:381,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:384,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:390,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:391,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:393,1
    - Dst: OPENSSL_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: EVP_MD_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:401,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 215
    functionDepth: 14
    functionLinenumber: 215
    functionLinenumberEnd: 403
    functionName: test_non_derandomised_ml_kem
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_set_params
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_PKEY_copy_parameters
    - OSSL_PARAM_construct_uint
    - ossl_ml_kem_get_vinfo
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_zalloc
    - OPENSSL_free
    - TEST_int_le
    - RAND_get0_public
    - RAND_get0_private
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_decapsulate
    - RAND_priv_bytes
    - EVP_PKEY_get1_encoded_public_key
    - EVP_Digest
    - TEST_false
    - RAND_bytes
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_MD_fetch
    - EVP_PKEY_Q_keygen
    - memset
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_mem_ne
    - OSSL_NELEM
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_non_derandomised_ml_kem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:412,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:413,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:416,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:417,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:418,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:418,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:419,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 405
    functionDepth: 6
    functionLinenumber: 405
    functionLinenumberEnd: 422
    functionName: test_ml_kem_from_data_propq
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_ml_kem_from_data_propq(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:453,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:453,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:454,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:454,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:455,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:455,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:465,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:465,1
    - Dst: evp_keymgmt_util_copy
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:468,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:476,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:476,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:477,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:477,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:478,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:478,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:481,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:482,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:487,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:488,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:489,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:490,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 442
    functionDepth: 12
    functionLinenumber: 442
    functionLinenumberEnd: 492
    functionName: test_mlx_kem_dup_partial_selection
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - evp_keymgmt_util_copy
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_keygen
    - TEST_int_gt
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - TEST_size_t_gt
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int test_mlx_kem_dup_partial_selection(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:514,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:514,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:517,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:521,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:522,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:524,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 495
    functionDepth: 7
    functionLinenumber: 495
    functionLinenumberEnd: 527
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - RAND_set_DRBG_type
    - TEST_true
    - OSSL_NELEM
    - 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:80,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:80,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:81,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_skey_test.c:87,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:88,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_skey_test.c:89,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:90,1
    - Dst: fake_cipher_finish
      Src: /src/openssl/test/evp_skey_test.c:91,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: test_skey_cipher
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_import
    - TEST_ptr
    - fake_cipher_start
    - TEST_mem_eq
    - fake_cipher_finish
    - EVP_SKEY_export
    - OSSL_PARAM_free
    - EVP_SKEY_free
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_SKEY_get0_raw_key
    - EVP_CipherInit_SKEY
    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:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:117,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/test/evp_skey_test.c:117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:122,1
    - Dst: EVP_SKEYMGMT_get0_imp_settable_params
      Src: /src/openssl/test/evp_skey_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:123,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_skey_test.c:123,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_skey_test.c:128,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_skey_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:132,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/test/evp_skey_test.c:132,1
    - Dst: EVP_SKEYMGMT_get0_name
      Src: /src/openssl/test/evp_skey_test.c:133,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:138,1
    - Dst: EVP_SKEY_export
      Src: /src/openssl/test/evp_skey_test.c:138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:141,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_skey_test.c:141,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:143,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/test/evp_skey_test.c:143,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:146,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_skey_test.c:151,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/test/evp_skey_test.c:152,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 156
    functionName: test_skey_skeymgmt
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_import
    - EVP_SKEYMGMT_get0_name
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_mem_eq
    - EVP_SKEY_export
    - OSSL_PARAM_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_SKEY_free
    - OSSL_PARAM_get_octet_string_ptr
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_free
    - EVP_SKEYMGMT_get0_imp_settable_params
    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:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:182,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:185,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:186,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:187,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:188,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_skey_test.c:191,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:192,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_skey_test.c:196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:197,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:200,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:200,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:206,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:206,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:207,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/test/evp_skey_test.c:207,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:208,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:208,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:209,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:209,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:212,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:213,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:217,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_skey_test.c:217,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:218,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:218,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:219,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:219,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:220,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_skey_test.c:225,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_skey_test.c:226,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:227,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_skey_test.c:228,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:229,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_skey_test.c:230,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 232
    functionName: test_aes_raw_skey
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_SKEY_free
    - EVP_CipherFinal
    - OSSL_PROVIDER_load
    - EVP_CipherInit_ex2
    - TEST_int_gt
    - EVP_CIPHER_CTX_free
    - OSSL_PROVIDER_unload
    - EVP_SKEY_get0_raw_key
    - OSSL_PARAM_free
    - EVP_SKEY_import_raw_key
    - EVP_CIPHER_fetch
    - memset
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CipherInit_SKEY
    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:257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:258,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:261,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:262,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:263,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:264,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_skey_test.c:267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:268,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_skey_test.c:272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:274,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:277,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:277,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:283,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:283,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:284,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/test/evp_skey_test.c:284,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:285,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:285,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:286,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:286,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:289,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:290,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:294,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_skey_test.c:294,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:295,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:295,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:296,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:296,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:297,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:303,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_skey_test.c:304,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:305,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_skey_test.c:306,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 238
    functionDepth: 6
    functionLinenumber: 238
    functionLinenumberEnd: 308
    functionName: test_des_raw_skey
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CipherFinal
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CipherInit_ex2
    - EVP_SKEY_free
    - EVP_SKEY_import_raw_key
    - TEST_int_gt
    - EVP_CIPHER_fetch
    - memset
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - OSSL_PROVIDER_unload
    - EVP_SKEY_get0_raw_key
    - EVP_CipherInit_SKEY
    linkageType: ''
    returnType: int
    signature: int test_des_raw_skey(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:322,1
    - Dst: fake_cipher_start
      Src: /src/openssl/test/evp_skey_test.c:322,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_skey_test.c:325,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_skey_test.c:327,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_skey_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:331,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/test/evp_skey_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:336,1
    - Dst: EVP_SKEY_to_provider
      Src: /src/openssl/test/evp_skey_test.c:336,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_skey_test.c:341,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:346,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:347,1
    - Dst: fake_cipher_finish
      Src: /src/openssl/test/evp_skey_test.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 350
    functionName: test_skey_to_same_provider
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_import
    - TEST_ptr
    - fake_cipher_start
    - fake_cipher_finish
    - EVP_SKEY_to_provider
    - EVP_SKEY_free
    - OSSL_PARAM_construct_end
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_skey_to_same_provider(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_skey_test.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:365,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:368,1
    - Dst: fake_cipher_start
      Src: /src/openssl/test/evp_skey_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:371,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_skey_test.c:371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:375,1
    - Dst: EVP_SKEY_to_provider
      Src: /src/openssl/test/evp_skey_test.c:375,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/evp_skey_test.c:380,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:383,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:383,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:384,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:389,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:390,1
    - Dst: fake_cipher_finish
      Src: /src/openssl/test/evp_skey_test.c:391,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_skey_test.c:392,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 352
    functionDepth: 6
    functionLinenumber: 352
    functionLinenumberEnd: 394
    functionName: test_skey_to_diff_provider
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - fake_cipher_start
    - TEST_ptr
    - TEST_mem_eq
    - fake_cipher_finish
    - EVP_SKEY_to_provider
    - EVP_SKEY_free
    - EVP_SKEY_import_raw_key
    - TEST_int_gt
    - OSSL_PROVIDER_unload
    - EVP_SKEY_get0_raw_key
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: int test_skey_to_diff_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:398,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:402,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:403,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:405,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:406,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:407,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 413
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - OSSL_LIB_CTX_new
    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:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 4
    functionLinenumber: 415
    functionLinenumberEnd: 418
    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_ptr
    - TEST_int_gt
    - TEST_int_eq
    - callback_copy_password
    - TEST_char_eq
    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_ptr
    - TEST_int_gt
    - TEST_int_eq
    - callback_copy_password
    - TEST_char_eq
    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_get_mem_ptr
    - EVP_aes_256_cbc
    - BIO_set_close
    - PEM_write_bio_PrivateKey
    - TEST_ptr
    - BIO_new
    - BIO_free
    - BUF_MEM_free
    - TEST_int_ne
    - BIO_get_mem_data
    - TEST_int_eq
    - TEST_char_eq
    - i2d_PKCS8PrivateKey_bio
    - BIO_s_mem
    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: 10
    functionsReached:
    - TEST_ptr
    - BIO_free
    - BIO_new_mem_buf
    - TEST_int_eq
    - TEST_ptr_null
    - d2i_PKCS8PrivateKey_bio
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    - 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
    - re_encrypt_key
    - OPENSSL_free
    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:
    - TEST_ptr
    - BIO_free
    - ADD_TEST
    - opt_arg
    - PEM_read_bio_PrivateKey
    - opt_next
    - BIO_new_file
    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:
    - X509_get_X509_PUBKEY
    - TEST_false
    - d2i_X509
    - TEST_ptr
    - X509_free
    - TEST_skip
    - TEST_note
    - strcasecmp
    - setlocale
    - X509_PUBKEY_get0
    - OPENSSL_strcasecmp
    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_meth_free
    - TEST_ptr
    - BIO_new
    - BIO_free
    - BIO_set_next
    - TEST_int_eq
    - TEST_ptr_null
    - BIO_meth_new
    - BIO_get_new_index
    - TEST_ptr_eq
    - BIO_find_type
    - BIO_s_mem
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - timer_us
    argTypes:
    - SSL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: infinite_timer_cb
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int infinite_timer_cb(SSL *s, unsigned int timer_us)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/bad_dtls_test.c:79,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/bad_dtls_test.c:83,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/openssl/test/bad_dtls_test.c:84,1
    - Dst: EVP_md5_sha1
      Src: /src/openssl/test/bad_dtls_test.c:84,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/openssl/test/bad_dtls_test.c:85,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/bad_dtls_test.c:86,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/bad_dtls_test.c:87,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/bad_dtls_test.c:88,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/bad_dtls_test.c:89,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:90,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: 92
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: do_PRF
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    - EVP_PKEY_CTX_set_tls1_prf_md
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    - EVP_md5_sha1
    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:128,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:129,1
    - Dst: d2i_SSL_SESSION
      Src: /src/openssl/test/bad_dtls_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 132
    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:143,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/bad_dtls_test.c:145,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:149,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:152,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:155,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:159,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:162,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:166,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/test/bad_dtls_test.c:170,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/bad_dtls_test.c:174,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/bad_dtls_test.c:174,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/bad_dtls_test.c:178,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/bad_dtls_test.c:180,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/bad_dtls_test.c:181,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:187,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:187,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:191,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:191,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:195,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:195,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/bad_dtls_test.c:199,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/bad_dtls_test.c:203,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bad_dtls_test.c:206,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 1
    argNames:
    - wbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 209
    functionName: validate_client_hello
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - PACKET_buf_init
    - PACKET_equal
    - PACKET_get_net_2
    - BIO_get_mem_data
    - EVP_DigestUpdate
    - PACKET_copy_bytes
    - BIO_reset
    - PACKET_get_1
    - PACKET_get_length_prefixed_1
    linkageType: ''
    returnType: int
    signature: int validate_client_hello(BIO *wbio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:247,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 252
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:317,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:318,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/bad_dtls_test.c:320,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:325,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:326,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:328,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - rbio
    - reorder_ccs
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 333
    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, int reorder_ccs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bad_dtls_test.c:363,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:371,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/test/bad_dtls_test.c:371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:372,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:372,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/bad_dtls_test.c:374,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/bad_dtls_test.c:376,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/bad_dtls_test.c:379,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:380,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:381,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:382,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:383,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:384,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:385,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/bad_dtls_test.c:386,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bad_dtls_test.c:396,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:396,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:397,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:398,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/bad_dtls_test.c:398,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/bad_dtls_test.c:398,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bad_dtls_test.c:400,1
    - Dst: EVP_Cipher
      Src: /src/openssl/test/bad_dtls_test.c:400,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:404,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:405,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:406,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:407,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:410,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:412,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:413,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/test/bad_dtls_test.c:416,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:417,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bad_dtls_test.c:419,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: 421
      start: 336
    functionDepth: 10
    functionLinenumber: 336
    functionLinenumberEnd: 421
    functionName: send_record
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - TEST_ptr
    - TEST_true
    - memcpy
    - EVP_CipherInit_ex
    - EVP_MAC_CTX_new
    - EVP_MAC_fetch
    - OPENSSL_free
    - BIO_write
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - RAND_bytes
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - EVP_aes_128_cbc
    - EVP_MAC_final
    - EVP_CIPHER_CTX_new
    - EVP_MAC_init
    - TEST_int_ge
    - EVP_Cipher
    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:444,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/bad_dtls_test.c:450,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/test/bad_dtls_test.c:453,1
    - Dst: do_PRF
      Src: /src/openssl/test/bad_dtls_test.c:456,1
    - Dst: send_record
      Src: /src/openssl/test/bad_dtls_test.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - rbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 423
    functionDepth: 11
    functionLinenumber: 423
    functionLinenumberEnd: 463
    functionName: send_finished
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_size
    - do_PRF
    - send_record
    - EVP_DigestFinal_ex
    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:472,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/bad_dtls_test.c:476,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:480,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:483,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:486,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:490,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:494,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:498,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:500,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:504,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - wbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 514
    functionName: validate_ccs
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - PACKET_forward
    - PACKET_buf_init
    - PACKET_get_net_2
    - BIO_get_mem_data
    - PACKET_get_1
    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: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    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: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: DROP
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROP(x)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:548,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:549,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:550,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:551,1
    - Dst: time
      Src: /src/openssl/test/bad_dtls_test.c:553,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:554,1
    - Dst: client_session
      Src: /src/openssl/test/bad_dtls_test.c:556,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:557,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:560,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:561,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:562,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/bad_dtls_test.c:562,1
    - Dst: EVP_md5_sha1
      Src: /src/openssl/test/bad_dtls_test.c:562,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:566,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/bad_dtls_test.c:566,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:568,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/bad_dtls_test.c:568,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:569,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/bad_dtls_test.c:569,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:570,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/bad_dtls_test.c:570,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:572,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/bad_dtls_test.c:572,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/bad_dtls_test.c:575,1
    - Dst: SSL_new
      Src: /src/openssl/test/bad_dtls_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:578,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/bad_dtls_test.c:578,1
    - Dst: BIO_new
      Src: /src/openssl/test/bad_dtls_test.c:581,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bad_dtls_test.c:581,1
    - Dst: BIO_new
      Src: /src/openssl/test/bad_dtls_test.c:582,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bad_dtls_test.c:582,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:584,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:585,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/bad_dtls_test.c:588,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:590,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/bad_dtls_test.c:590,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:599,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/bad_dtls_test.c:599,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/bad_dtls_test.c:604,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/bad_dtls_test.c:606,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:609,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bad_dtls_test.c:610,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:611,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/bad_dtls_test.c:611,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:612,1
    - Dst: validate_client_hello
      Src: /src/openssl/test/bad_dtls_test.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:613,1
    - Dst: send_hello_verify
      Src: /src/openssl/test/bad_dtls_test.c:613,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:616,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bad_dtls_test.c:617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:618,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/bad_dtls_test.c:618,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:619,1
    - Dst: validate_client_hello
      Src: /src/openssl/test/bad_dtls_test.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:620,1
    - Dst: send_server_hello
      Src: /src/openssl/test/bad_dtls_test.c:620,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:623,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bad_dtls_test.c:624,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:625,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/bad_dtls_test.c:625,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:626,1
    - Dst: send_finished
      Src: /src/openssl/test/bad_dtls_test.c:626,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:629,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bad_dtls_test.c:630,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:631,1
    - Dst: validate_ccs
      Src: /src/openssl/test/bad_dtls_test.c:631,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bad_dtls_test.c:639,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:642,1
    - Dst: send_record
      Src: /src/openssl/test/bad_dtls_test.c:642,1
    - Dst: TEST_error
      Src: /src/openssl/test/bad_dtls_test.c:644,1
    - Dst: SSL_read
      Src: /src/openssl/test/bad_dtls_test.c:652,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:653,1
    - Dst: TEST_error
      Src: /src/openssl/test/bad_dtls_test.c:654,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:658,1
    - Dst: TEST_false
      Src: /src/openssl/test/bad_dtls_test.c:663,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/bad_dtls_test.c:669,1
    - Dst: BIO_free
      Src: /src/openssl/test/bad_dtls_test.c:670,1
    - Dst: BIO_free
      Src: /src/openssl/test/bad_dtls_test.c:671,1
    - Dst: SSL_free
      Src: /src/openssl/test/bad_dtls_test.c:672,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:673,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:674,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 90
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 535
    functionDepth: 12
    functionLinenumber: 535
    functionLinenumberEnd: 677
    functionName: test_bad_dtls
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - send_finished
    - TEST_true
    - SSL_CTX_set_options
    - TEST_error
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - BIO_up_ref
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - client_session
    - EVP_md5_sha1
    - BIO_new
    - TEST_int_le
    - SSL_CTX_set_security_level
    - SSL_set_connect_state
    - TEST_int_gt
    - TEST_int_eq
    - SSL_read
    - send_hello_verify
    - EVP_MD_CTX_free
    - SSL_get_error
    - BIO_s_mem
    - SSL_free
    - DTLS_client_method
    - TEST_false
    - RAND_bytes
    - BIO_free
    - SSL_CTX_set_cipher_list
    - SSL_set_session
    - SSL_SESSION_free
    - DTLS_set_timer_cb
    - send_server_hello
    - validate_ccs
    - SSL_new
    - send_record
    - SSL_do_handshake
    - SSL_CTX_new
    - validate_client_hello
    - OSSL_NELEM
    - SSL_set_bio
    - time
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_bad_dtls(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bad_dtls_test.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bad_dtls_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:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    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: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    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: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    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: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    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: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    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: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    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: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    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: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    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: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    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: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    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: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    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: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    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: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    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: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    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: 5
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    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: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    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: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    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: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    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: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    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: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    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: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    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: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    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: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    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: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    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: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    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: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    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: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    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: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    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: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    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: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    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: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    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: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    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: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    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: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    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: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    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: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    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: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    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: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    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: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    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: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    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: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    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: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    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: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    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: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    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: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    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: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    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: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    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: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    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: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    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: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    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: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    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: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    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: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    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:350,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/quic_multistream_test.c:350,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:351,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:353,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:353,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_multistream_test.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: get_time
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_unlock
    - TEST_true
    - ossl_time_now
    - CRYPTO_THREAD_read_lock
    - ossl_time_add
    - ossl_time_zero
    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:361,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/quic_multistream_test.c:361,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:364,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_multistream_test.c:364,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_multistream_test.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: skip_time_ms
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - TEST_true
    - CRYPTO_THREAD_write_lock
    - ossl_time_add
    - ossl_ms2time
    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: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    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: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    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:380,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:380,1
    - Dst: ossl_quic_tserver_stream_has_peer_reset_stream
      Src: /src/openssl/test/quic_multistream_test.c:381,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: check_rejected
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_stream_has_peer_stop_sending
    - ACQUIRE_S
    - ossl_quic_tserver_stream_has_peer_reset_stream
    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:393,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:393,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 399
    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:405,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 411
    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:415,1
    - Dst: ossl_quic_channel_set_txku_threshold_override
      Src: /src/openssl/test/quic_multistream_test.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: override_key_update
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_set_txku_threshold_override
    - ossl_quic_conn_get_channel
    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:423,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/quic_multistream_test.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    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: 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:431,1
    - Dst: ossl_quic_channel_get_tx_key_epoch
      Src: /src/openssl/test/quic_multistream_test.c:432,1
    - Dst: ossl_quic_channel_get_rx_key_epoch
      Src: /src/openssl/test/quic_multistream_test.c:433,1
    - Dst: TEST_int64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:440,1
    - Dst: TEST_int64_t_le
      Src: /src/openssl/test/quic_multistream_test.c:440,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: check_key_update_ge
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_ge
    - ossl_quic_channel_get_rx_key_epoch
    - ossl_quic_channel_get_tx_key_epoch
    - TEST_int64_t_le
    - ossl_quic_conn_get_channel
    - TEST_int64_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:452,1
    - Dst: ossl_quic_channel_get_tx_key_epoch
      Src: /src/openssl/test/quic_multistream_test.c:453,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_multistream_test.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: check_key_update_lt
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_lt
    - ossl_quic_conn_get_channel
    - 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:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - STREAM_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    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:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - STREAM_INFO*
    - STREAM_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    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:474,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - STREAM_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: cleanup_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - OPENSSL_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:499,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/quic_multistream_test.c:505,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/quic_multistream_test.c:509,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: 513
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 513
    functionName: join_threads
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_crypto_thread_native_join
    - ossl_crypto_thread_native_clean
    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:522,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/test/quic_multistream_test.c:524,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:525,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/quic_multistream_test.c:527,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/quic_multistream_test.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: join_server_thread
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_crypto_thread_native_join
    - ossl_crypto_thread_native_clean
    - ossl_crypto_condvar_signal
    - ossl_crypto_mutex_unlock
    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: 538
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 538
    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:542,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 551
    functionName: s_lock
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - s_checked_out_p
    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:556,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: s_unlock
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_unlock
    - s_checked_out_p
    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:570,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/test/quic_multistream_test.c:582,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_multistream_test.c:586,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:587,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_multistream_test.c:592,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:593,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 598
    functionName: server_helper_thread
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_quic_tserver_tick
    - ossl_crypto_condvar_wait
    - OSSL_sleep
    - ossl_crypto_mutex_unlock
    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: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    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: 609
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 609
    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:616,1
    - Dst: join_server_thread
      Src: /src/openssl/test/quic_multistream_test.c:617,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:618,1
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:625,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:627,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:631,1
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:634,1
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:637,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quic_multistream_test.c:638,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_multistream_test.c:641,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_multistream_test.c:644,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_multistream_test.c:647,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quic_multistream_test.c:650,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_multistream_test.c:654,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_multistream_test.c:659,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic_multistream_test.c:663,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic_multistream_test.c:665,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_multistream_test.c:668,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/quic_multistream_test.c:671,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/quic_multistream_test.c:675,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/test/quic_multistream_test.c:676,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/quic_multistream_test.c:677,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/test/quic_multistream_test.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 680
    functionName: helper_cleanup
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 2
    functionsReached:
    - join_threads
    - ossl_quic_tserver_free
    - OPENSSL_free
    - BIO_ADDR_free
    - BIO_free
    - CRYPTO_THREAD_lock_free
    - ossl_crypto_mutex_free
    - join_server_thread
    - BIO_closesocket
    - helper_cleanup_streams
    - SSL_CTX_free
    - ossl_crypto_condvar_free
    - qtest_fault_free
    - SSL_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:692,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:698,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_multistream_test.c:700,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:704,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/quic_multistream_test.c:704,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:707,1
    - Dst: lh_STREAM_INFO_new
      Src: /src/openssl/test/quic_multistream_test.c:707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:711,1
    - Dst: lh_STREAM_INFO_new
      Src: /src/openssl/test/quic_multistream_test.c:711,1
    - Dst: htonl
      Src: /src/openssl/test/quic_multistream_test.c:715,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_multistream_test.c:717,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:718,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:721,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_multistream_test.c:721,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:724,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic_multistream_test.c:724,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:725,1
    - Dst: BIO_ADDR_new
      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_ADDR_rawmake
      Src: /src/openssl/test/quic_multistream_test.c:728,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:732,1
    - Dst: BIO_bind
      Src: /src/openssl/test/quic_multistream_test.c:732,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:736,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/quic_multistream_test.c:736,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_multistream_test.c:739,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/quic_multistream_test.c:739,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:742,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_multistream_test.c:742,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_multistream_test.c:745,1
    - Dst: BIO_new
      Src: /src/openssl/test/quic_multistream_test.c:749,1
    - Dst: qtest_get_bio_method
      Src: /src/openssl/test/quic_multistream_test.c:749,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:750,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:753,1
    - Dst: BIO_push
      Src: /src/openssl/test/quic_multistream_test.c:753,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:767,1
    - Dst: ossl_quic_tserver_new
      Src: /src/openssl/test/quic_multistream_test.c:767,1
    - Dst: qtest_create_injector
      Src: /src/openssl/test/quic_multistream_test.c:774,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:775,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/quic_multistream_test.c:778,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_multistream_test.c:785,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:786,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:789,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_multistream_test.c:789,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:792,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_multistream_test.c:792,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:795,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/quic_multistream_test.c:795,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:798,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic_multistream_test.c:798,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic_multistream_test.c:798,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic_multistream_test.c:802,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:803,1
    - Dst: ossl_quic_set_diag_title
      Src: /src/openssl/test/quic_multistream_test.c:803,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:806,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic_multistream_test.c:806,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:810,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/test/quic_multistream_test.c:810,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/quic_multistream_test.c:814,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:817,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_multistream_test.c:817,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/quic_multistream_test.c:820,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:822,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic_multistream_test.c:822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:826,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/quic_multistream_test.c:826,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:828,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/test/quic_multistream_test.c:828,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:834,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/quic_multistream_test.c:834,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:837,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/test/quic_multistream_test.c:837,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/quic_multistream_test.c:841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:842,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:845,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:850,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:855,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:856,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: 858
      start: 682
    functionDepth: 6
    functionLinenumber: 682
    functionLinenumberEnd: 858
    functionName: helper_init
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached:
    - TEST_ptr
    - qtest_get_bio_method
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - TEST_true
    - lh_STREAM_INFO_new
    - ossl_quic_tserver_new
    - BIO_snprintf
    - TEST_error
    - BIO_up_ref
    - ossl_quic_set_override_now_cb
    - ossl_time_zero
    - ossl_crypto_mutex_new
    - helper_cleanup
    - OPENSSL_zalloc
    - BIO_new
    - OPENSSL_free
    - BIO_new_dgram
    - BIO_socket_nbio
    - TEST_int_gt
    - BIO_ADDR_rawport
    - ossl_crypto_thread_native_start
    - BIO_set_data
    - SSL_set_blocking_mode
    - BIO_bind
    - SSL_set0_wbio
    - htonl
    - SSL_set0_rbio
    - ossl_quic_set_diag_title
    - memset
    - CRYPTO_THREAD_lock_new
    - ossl_time_now
    - BIO_push
    - SSL_new
    - OSSL_QUIC_client_method
    - SSL_CTX_new
    - BIO_socket
    - TEST_int_ge
    - BIO_dgram_set_peer
    - qtest_create_injector
    - ossl_crypto_condvar_new
    - BIO_sock_info
    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:868,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:874,1
    - Dst: lh_STREAM_INFO_new
      Src: /src/openssl/test/quic_multistream_test.c:874,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: 880
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 880
    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:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hl
    argTypes:
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 891
    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:898,1
    - Dst: strcmp
      Src: /src/openssl/test/quic_multistream_test.c:901,1
    - Dst: lh_STREAM_INFO_retrieve
      Src: /src/openssl/test/quic_multistream_test.c:905,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_multistream_test.c:907,1
    - Dst: lh_STREAM_INFO_insert
      Src: /src/openssl/test/quic_multistream_test.c:913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - lh
    - stream_name
    argTypes:
    - LHASH_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 917
    functionName: get_stream_info
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - lh_STREAM_INFO_retrieve
    - strcmp
    - lh_STREAM_INFO_insert
    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:923,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: 931
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 931
    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:938,1
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hl
    - stream_name
    argTypes:
    - struct helper_local*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: helper_local_get_c_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - get_stream_info
    - strcmp
    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:954,1
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:957,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: 964
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 964
    functionName: helper_set_s_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - get_stream_info
    - strcmp
    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:970,1
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - h
    - stream_name
    argTypes:
    - struct helper*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 978
    functionName: helper_get_s_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - get_stream_info
    - strcmp
    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:986,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: 987
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 987
    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:995,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: 996
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 996
    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:1004,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: 1005
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1005
    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:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1012
    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:1016,1
    - Dst: SSL_want
      Src: /src/openssl/test/quic_multistream_test.c:1017,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1019,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1031,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1034
    functionName: check_consistent_want
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_want
    - SSL_get_error
    - TEST_true
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_consistent_want(SSL *s, int ret)
  - BBCount: 216
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:1050,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:1050,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1057,1
    - Dst: helper_local_init
      Src: /src/openssl/test/quic_multistream_test.c:1057,1
    - Dst: s_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1084,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:1094,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:1095,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_multistream_test.c:1095,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quic_multistream_test.c:1098,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_multistream_test.c:1098,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:1098,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1099,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1106,1
    - Dst: helper_get_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1108,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_multistream_test.c:1115,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:1119,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/test/quic_multistream_test.c:1121,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1122,1
    - Dst: assert
      Src: /src/openssl/test/quic_multistream_test.c:1125,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic_multistream_test.c:1131,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1157,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1165,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:1177,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1179,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1183,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1187,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1193,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/quic_multistream_test.c:1198,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:1198,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_multistream_test.c:1201,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_multistream_test.c:1225,1
    - Dst: struct script_op*::check_func
      Src: /src/openssl/test/quic_multistream_test.c:1243,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1248,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1251,1
    - Dst: strlen
      Src: /src/openssl/test/quic_multistream_test.c:1257,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_multistream_test.c:1259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1260,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:1260,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:1263,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1267,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic_multistream_test.c:1267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1271,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic_multistream_test.c:1280,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1281,1
    - Dst: is_want
      Src: /src/openssl/test/quic_multistream_test.c:1284,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1285,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1296,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quic_multistream_test.c:1299,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1300,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1301,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1310,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/test/quic_multistream_test.c:1313,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_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1324,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1327,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_multistream_test.c:1327,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1327,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1330,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1335,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic_multistream_test.c:1335,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1340,1
    - Dst: ossl_quic_tserver_conclude
      Src: /src/openssl/test/quic_multistream_test.c:1343,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1350,1
    - Dst: SSL_peek_ex
      Src: /src/openssl/test/quic_multistream_test.c:1353,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1363,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:1363,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1366,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1368,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1372,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1376,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_multistream_test.c:1380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1383,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1394,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:1394,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1397,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_multistream_test.c:1397,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1397,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1405,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_multistream_test.c:1409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1412,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1421,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1422,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1423,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1424,1
    - Dst: is_want
      Src: /src/openssl/test/quic_multistream_test.c:1427,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1430,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1434,1
    - Dst: SSL_want
      Src: /src/openssl/test/quic_multistream_test.c:1434,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1439,1
    - Dst: ossl_quic_tserver_has_read_ended
      Src: /src/openssl/test/quic_multistream_test.c:1442,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1442,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1443,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1453,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1456,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quic_multistream_test.c:1459,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1460,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1464,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic_multistream_test.c:1464,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1464,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1473,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/test/quic_multistream_test.c:1473,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1477,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1477,1
    - Dst: TEST_uint64_t_eq
      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_true
      Src: /src/openssl/test/quic_multistream_test.c:1490,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quic_multistream_test.c:1490,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1490,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1496,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1499,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1499,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1510,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quic_multistream_test.c:1513,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1514,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1516,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1516,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1524,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1527,1
    - Dst: ossl_quic_tserver_pop_incoming_stream
      Src: /src/openssl/test/quic_multistream_test.c:1530,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1530,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1532,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1534,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1534,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1541,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quic_multistream_test.c:1541,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1549,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1550,1
    - Dst: SSL_is_connection
      Src: /src/openssl/test/quic_multistream_test.c:1550,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1553,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1556,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1556,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1559,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1564,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1567,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quic_multistream_test.c:1567,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1572,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1575,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quic_multistream_test.c:1575,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:1582,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/quic_multistream_test.c:1585,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/quic_multistream_test.c:1585,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1587,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:1592,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:1593,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:1599,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/quic_multistream_test.c:1602,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/quic_multistream_test.c:1602,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1604,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:1609,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:1610,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1614,1
    - Dst: ossl_quic_tserver_shutdown
      Src: /src/openssl/test/quic_multistream_test.c:1618,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1618,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1627,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1631,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:1631,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/quic_multistream_test.c:1636,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1637,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1639,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1643,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1647,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1648,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/quic_multistream_test.c:1659,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1659,1
    - Dst: ossl_quic_tserver_ping
      Src: /src/openssl/test/quic_multistream_test.c:1660,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1660,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1661,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1664,1
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/quic_multistream_test.c:1664,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1664,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1667,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1668,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1669,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1677,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1680,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1680,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1688,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1691,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1691,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1699,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quic_multistream_test.c:1702,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1703,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1704,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1711,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1714,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_multistream_test.c:1714,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1714,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1725,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1728,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1729,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1731,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1740,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1743,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1744,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1746,1
    - Dst: is_want
      Src: /src/openssl/test/quic_multistream_test.c:1749,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1750,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1758,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_multistream_test.c:1761,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1761,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1772,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1777,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/test/quic_multistream_test.c:1777,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1780,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/test/quic_multistream_test.c:1780,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_multistream_test.c:1791,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1797,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1798,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_multistream_test.c:1802,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1803,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/quic_multistream_test.c:1814,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1815,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/quic_multistream_test.c:1819,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1821,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_multistream_test.c:1828,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1833,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1833,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1835,1
    - Dst: SSL_want
      Src: /src/openssl/test/quic_multistream_test.c:1835,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1840,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic_multistream_test.c:1840,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/quic_multistream_test.c:1840,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1845,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/quic_multistream_test.c:1845,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/quic_multistream_test.c:1845,1
    - Dst: ERR_pop
      Src: /src/openssl/test/quic_multistream_test.c:1850,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_multistream_test.c:1854,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1860,1
    - Dst: qtest_fault_set_packet_plain_listener
      Src: /src/openssl/test/quic_multistream_test.c:1860,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1870,1
    - Dst: qtest_fault_set_handshake_listener
      Src: /src/openssl/test/quic_multistream_test.c:1870,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1880,1
    - Dst: qtest_fault_set_datagram_listener
      Src: /src/openssl/test/quic_multistream_test.c:1880,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1892,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:1898,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/quic_multistream_test.c:1900,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/quic_multistream_test.c:1900,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1905,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1908,1
    - Dst: ossl_quic_set_write_buffer_size
      Src: /src/openssl/test/quic_multistream_test.c:1908,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1914,1
    - Dst: ossl_quic_tserver_new_ticket
      Src: /src/openssl/test/quic_multistream_test.c:1914,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1914,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1919,1
    - Dst: s_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1925,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1931,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1935,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic_multistream_test.c:1940,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/quic_multistream_test.c:1945,1
    - Dst: ossl_quic_err_to_string
      Src: /src/openssl/test/quic_multistream_test.c:1946,1
    - Dst: ossl_quic_frame_type_to_string
      Src: /src/openssl/test/quic_multistream_test.c:1947,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1954,1
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/quic_multistream_test.c:1971,1
    - Dst: ossl_quic_err_to_string
      Src: /src/openssl/test/quic_multistream_test.c:1974,1
    - Dst: ossl_quic_frame_type_to_string
      Src: /src/openssl/test/quic_multistream_test.c:1975,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1982,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1994,1
    - Dst: helper_local_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:1995,1
    CyclomaticComplexity: 343
    EdgeCount: 343
    ICount: 698
    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: 1124
        line_start: 1124
        source_file: /src/openssl/test/quic_multistream_test.c
    constantsTouched: []
    func_position:
      end: 1997
      start: 1036
    functionDepth: 7
    functionLinenumber: 1036
    functionLinenumberEnd: 1997
    functionName: run_script_worker
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_read
    - s_unlock
    - SSL_read_ex
    - memcpy
    - ossl_time_zero
    - TEST_size_t_lt
    - TEST_int_le
    - struct script_op*::check_func
    - ossl_quic_tserver_is_term_any
    - OPENSSL_malloc
    - ossl_quic_tserver_ping
    - ERR_pop
    - SSL_get_stream_id
    - SSL_write_ex2
    - SSL_new_stream
    - ERR_get_error
    - SSL_set_alpn_protos
    - qtest_fault_set_packet_plain_listener
    - OSSL_NELEM
    - TEST_size_t_eq
    - TEST_uint64_t_ne
    - ossl_quic_frame_type_to_string
    - TEST_ptr
    - ERR_GET_REASON
    - SSL_get_conn_close_info
    - TEST_error
    - SSL_accept_stream
    - ossl_time_compare
    - ossl_quic_engine_set_inhibit_tick
    - check_consistent_want
    - ossl_quic_tserver_conclude
    - ossl_quic_tserver_tick
    - ERR_peek_last_error
    - TEST_int_eq
    - helper_local_cleanup
    - helper_local_init
    - BIO_closesocket
    - SSL_get_error
    - SSL_free
    - ossl_quic_tserver_new_ticket
    - SSL_stream_conclude
    - SSL_write_ex
    - ossl_time_now
    - ossl_quic_tserver_get_terminate_cause
    - ossl_ms2time
    - ossl_crypto_mutex_lock
    - TEST_size_t_le
    - TEST_skip
    - ossl_quic_tserver_has_read_ended
    - TEST_int_ge
    - strlen
    - qtest_fault_set_handshake_listener
    - helper_get_s_stream
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - is_want
    - ossl_quic_err_to_string
    - ossl_quic_tserver_pop_incoming_stream
    - ossl_crypto_thread_native_start
    - S_SPIN_AGAIN
    - OPENSSL_calloc
    - ERR_GET_LIB
    - SSL_want
    - TEST_false
    - ossl_quic_tserver_shutdown
    - qtest_fault_set_datagram_listener
    - ossl_quic_set_write_buffer_size
    - ossl_quic_tserver_write
    - assert
    - C_SPIN_AGAIN
    - ACQUIRE_S
    - ossl_crypto_condvar_signal
    - ossl_quic_channel_get0_engine
    - SSL_is_connection
    - helper_local_set_c_stream
    - SSL_connect
    - SSL_set_default_stream_mode
    - TEST_info
    - SSL_handle_events
    - SSL_peek_ex
    - TEST_true
    - TEST_ptr_null
    - SSL_shutdown_ex
    - TEST_size_t_gt
    - helper_local_get_c_stream
    - helper_set_s_stream
    - ossl_quic_conn_get_channel
    - ossl_crypto_mutex_new
    - OPENSSL_free
    - OSSL_sleep
    - SSL_set_incoming_stream_policy
    - ossl_crypto_mutex_unlock
    - ERR_print_errors_fp
    - SSL_stream_reset
    - ossl_quic_tserver_stream_new
    - ossl_time_add
    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: 1065
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1065
    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: 1071
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    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: 1079
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1079
    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:2007,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_multistream_test.c:2007,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2011,1
    - Dst: run_script_worker
      Src: /src/openssl/test/quic_multistream_test.c:2011,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2015,1
    - Dst: join_threads
      Src: /src/openssl/test/quic_multistream_test.c:2015,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2021,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: 2023
      start: 1999
    functionDepth: 8
    functionLinenumber: 1999
    functionLinenumberEnd: 2023
    functionName: run_script
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 4
    functionsReached:
    - join_threads
    - helper_init
    - TEST_true
    - run_script_worker
    - helper_cleanup
    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:2031,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:2035,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2026
    functionDepth: 8
    functionLinenumber: 2026
    functionLinenumberEnd: 2040
    functionName: run_script_child_thread
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_crypto_mutex_unlock
    - run_script_worker
    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:2604,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/test/quic_multistream_test.c:2606,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h
    - counter
    argTypes:
    - struct helper*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2610
    functionName: script_20_trigger
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_mutex_lock
    - ossl_crypto_mutex_unlock
    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:2617,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/test/quic_multistream_test.c:2623,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2626,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: 2629
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2629
    functionName: script_20_wait
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_wait
    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:2633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2634
    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:2638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2636
    functionDepth: 1
    functionLinenumber: 2636
    functionLinenumberEnd: 2639
    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:2643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2644
    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:2648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2649
    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:2708,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:2708,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2712,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2712,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2722,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/test/quic_multistream_test.c:2722,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2734,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2734,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2743,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2743,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2745,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2745,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2754,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2754,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2756,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2756,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2758,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2758,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2767,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2767,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2771,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:2771,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2781,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2781,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2785,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2785,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2789,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:2789,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2793,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:2793,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2797,1
    - Dst: WPACKET_memset
      Src: /src/openssl/test/quic_multistream_test.c:2797,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2803,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:2803,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:2806,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:2812,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2814,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: 2816
      start: 2697
    functionDepth: 4
    functionLinenumber: 2697
    functionLinenumberEnd: 2816
    functionName: script_21_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u64
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - WPACKET_memset
    - TEST_true
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - 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: 2845
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2845
    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:2877,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:2877,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2881,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2881,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2882,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2882,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2885,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:2885,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:2888,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:2894,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2896,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: 2898
      start: 2866
    functionDepth: 4
    functionLinenumber: 2866
    functionLinenumberEnd: 2898
    functionName: script_23_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:2930,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:2930,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2934,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2934,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2935,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2935,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2938,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:2938,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:2941,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:2947,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2949,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: 2951
      start: 2919
    functionDepth: 4
    functionLinenumber: 2919
    functionLinenumberEnd: 2951
    functionName: script_24_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:3040,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3040,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:3045,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3045,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3047,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3047,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3049,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3049,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3052,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3052,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3055,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3061,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3063,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: 3065
      start: 3029
    functionDepth: 4
    functionLinenumber: 3029
    functionLinenumberEnd: 3065
    functionName: script_28_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:3198,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3198,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3202,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3202,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3203,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3203,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3205,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3205,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:3210,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3210,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3213,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3213,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3216,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3222,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3224,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: 3226
      start: 3163
    functionDepth: 4
    functionLinenumber: 3163
    functionLinenumberEnd: 3226
    functionName: script_32_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - 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:3387,1
    - Dst: ossl_quic_channel_get_diag_local_cid
      Src: /src/openssl/test/quic_multistream_test.c:3410,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3428,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3428,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3432,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3432,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3433,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3433,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3434,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3434,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3435,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3435,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:3438,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3439,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3439,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3443,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3443,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3447,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3447,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3450,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3450,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3453,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3459,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3461,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: 3463
      start: 3378
    functionDepth: 4
    functionLinenumber: 3378
    functionLinenumberEnd: 3463
    functionName: script_39_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_put_bytes_u8
    - ossl_quic_tserver_get_channel
    - WPACKET_finish
    - OSSL_NELEM
    - WPACKET_init_static_len
    - ossl_quic_channel_get_diag_local_cid
    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:3538,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3538,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3542,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3542,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3543,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/test/quic_multistream_test.c:3543,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3546,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3546,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:3547,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3550,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3557,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3559,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: 3561
      start: 3527
    functionDepth: 4
    functionLinenumber: 3527
    functionLinenumberEnd: 3561
    functionName: script_41_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u64
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:3576,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_multistream_test.c:3576,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3581,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_multistream_test.c:3581,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3590,1
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/test/quic_multistream_test.c:3590,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:3591,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: 3597
      start: 3563
    functionDepth: 1
    functionLinenumber: 3563
    functionLinenumberEnd: 3597
    functionName: script_41_trace
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_wire_peek_frame_header
    - 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:3601,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3599
    functionDepth: 1
    functionLinenumber: 3599
    functionLinenumberEnd: 3603
    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:3608,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:3612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3605
    functionDepth: 1
    functionLinenumber: 3605
    functionLinenumberEnd: 3616
    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:3654,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3654,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3658,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3658,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3659,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3659,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3660,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3660,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3661,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3661,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3664,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3664,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3667,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3673,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3675,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: 3677
      start: 3641
    functionDepth: 4
    functionLinenumber: 3641
    functionLinenumberEnd: 3677
    functionName: script_42_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - 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:3732,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3732,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3736,1
    - Dst: ossl_quic_wire_encode_padding
      Src: /src/openssl/test/quic_multistream_test.c:3736,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3739,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3739,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3742,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3748,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3750,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: 3752
      start: 3721
    functionDepth: 4
    functionLinenumber: 3721
    functionLinenumberEnd: 3752
    functionName: script_44_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_padding
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - TEST_true
    - WPACKET_finish
    - 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:3774,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3774,1
    - Dst: ossl_quic_channel_get_diag_num_rx_ack
      Src: /src/openssl/test/quic_multistream_test.c:3776,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3778,1
    - Dst: ossl_quic_tserver_ping
      Src: /src/openssl/test/quic_multistream_test.c:3778,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3772
    functionDepth: 1
    functionLinenumber: 3772
    functionLinenumberEnd: 3782
    functionName: force_ping
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_ping
    - TEST_true
    - ossl_quic_tserver_get_channel
    - ACQUIRE_S
    - ossl_quic_channel_get_diag_num_rx_ack
    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:3786,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3786,1
    - Dst: ossl_quic_channel_get_diag_num_rx_ack
      Src: /src/openssl/test/quic_multistream_test.c:3789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3784
    functionDepth: 1
    functionLinenumber: 3784
    functionLinenumberEnd: 3797
    functionName: wait_incoming_acks_increased
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_get_channel
    - ACQUIRE_S
    - ossl_quic_channel_get_diag_num_rx_ack
    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:3835,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3835,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3881,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3881,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3882,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3882,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3883,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3883,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3884,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3884,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3885,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3885,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3889,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3889,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3890,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3890,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3894,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3894,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3895,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3895,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3896,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3896,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3899,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3899,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3902,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3908,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3910,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: 3912
      start: 3821
    functionDepth: 4
    functionLinenumber: 3821
    functionLinenumberEnd: 3912
    functionName: script_46_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:4046,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4046,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4050,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4050,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4054,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4054,1
    - Dst: C_BIDI_ID
      Src: /src/openssl/test/quic_multistream_test.c:4054,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:4060,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4060,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4063,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4069,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4071,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: 4073
      start: 4032
    functionDepth: 4
    functionLinenumber: 4032
    functionLinenumberEnd: 4073
    functionName: script_52_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - WPACKET_init_static_len
    - C_BIDI_ID
    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:4149,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:4149,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4152,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4152,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4155,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4155,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4156,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4156,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4157,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4157,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4161,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:4161,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4164,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4164,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4167,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4173,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:4176,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: 4178
      start: 4120
    functionDepth: 4
    functionLinenumber: 4120
    functionLinenumberEnd: 4178
    functionName: script_53_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - TEST_ptr
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - OPENSSL_free
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - WPACKET_init_static_len
    - OPENSSL_malloc
    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: 4207
      start: 4198
    functionDepth: 0
    functionLinenumber: 4198
    functionLinenumberEnd: 4207
    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:4305,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4305,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4310,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4310,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4314,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:4314,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4315,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:4315,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4319,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4319,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4322,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4328,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4330,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: 4332
      start: 4294
    functionDepth: 4
    functionLinenumber: 4294
    functionLinenumberEnd: 4332
    functionName: script_58_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - 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:4378,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:4379,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:4380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4382
      start: 4376
    functionDepth: 0
    functionLinenumber: 4376
    functionLinenumberEnd: 4382
    functionName: init_reason
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - OSSL_NELEM
    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:4386,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:4386,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:4393,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_multistream_test.c:4394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4399
      start: 4384
    functionDepth: 1
    functionLinenumber: 4384
    functionLinenumberEnd: 4399
    functionName: check_shutdown_reason
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_ge
    - ossl_quic_tserver_get_terminate_cause
    - ACQUIRE_S
    - TEST_mem_eq
    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:4428,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4428,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4432,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4432,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4433,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4433,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4435,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4435,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4437,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4437,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4440,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4440,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4443,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4449,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4451,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: 4453
      start: 4417
    functionDepth: 4
    functionLinenumber: 4417
    functionLinenumberEnd: 4453
    functionName: script_61_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:4551,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4551,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4555,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4555,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4556,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4556,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4557,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4557,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4560,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4560,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4563,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4569,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4571,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: 4573
      start: 4538
    functionDepth: 4
    functionLinenumber: 4538
    functionLinenumberEnd: 4573
    functionName: script_65_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:4606,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4606,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4610,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4610,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4614,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4614,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4618,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4618,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4621,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4621,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4624,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4630,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4632,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: 4634
      start: 4595
    functionDepth: 4
    functionLinenumber: 4595
    functionLinenumberEnd: 4634
    functionName: script_66_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_finish
    - 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:4722,1
    - Dst: qtest_fault_resize_message
      Src: /src/openssl/test/quic_multistream_test.c:4722,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:4726,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: 4729
      start: 4680
    functionDepth: 1
    functionLinenumber: 4680
    functionLinenumberEnd: 4729
    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:4776,1
    - Dst: ossl_quic_tserver_set_max_early_data
      Src: /src/openssl/test/quic_multistream_test.c:4776,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:4776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4781
      start: 4773
    functionDepth: 1
    functionLinenumber: 4773
    functionLinenumberEnd: 4781
    functionName: set_max_early_data
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 3
    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:4825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4829
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4829
    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:4888,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4890,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/test/quic_multistream_test.c:4890,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4893,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/test/quic_multistream_test.c:4893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wpkt
    - version
    argTypes:
    - WPACKET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4879
    functionDepth: 1
    functionLinenumber: 4879
    functionLinenumberEnd: 4897
    functionName: generate_version_neg
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - memset
    - TEST_true
    - ossl_quic_wire_encode_pkt_hdr
    - WPACKET_put_bytes_u32
    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:4918,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quic_multistream_test.c:4918,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4921,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quic_multistream_test.c:4921,1
    - Dst: generate_version_neg
      Src: /src/openssl/test/quic_multistream_test.c:4926,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4928,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4928,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4931,1
    - Dst: qtest_fault_resize_datagram
      Src: /src/openssl/test/quic_multistream_test.c:4931,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:4934,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4940,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_multistream_test.c:4942,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: 4944
      start: 4899
    functionDepth: 5
    functionLinenumber: 4899
    functionLinenumberEnd: 4944
    functionName: server_gen_version_neg
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - WPACKET_get_total_written
    - TEST_ptr
    - TEST_true
    - BUF_MEM_free
    - memcpy
    - qtest_fault_resize_datagram
    - WPACKET_finish
    - WPACKET_init
    - generate_version_neg
    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:4964,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: 4976
      start: 4957
    functionDepth: 0
    functionLinenumber: 4957
    functionLinenumberEnd: 4976
    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:4980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4981
      start: 4978
    functionDepth: 0
    functionLinenumber: 4978
    functionLinenumberEnd: 4981
    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:4992,1
    - Dst: ossl_quic_channel_set_mutator
      Src: /src/openssl/test/quic_multistream_test.c:4995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4989
    functionDepth: 1
    functionLinenumber: 4989
    functionLinenumberEnd: 5000
    functionName: script_74_arm_packet_mutator
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_set_mutator
    - ossl_quic_conn_get_channel
    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:5033,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:5033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5040
      start: 5031
    functionDepth: 1
    functionLinenumber: 5031
    functionLinenumberEnd: 5040
    functionName: script_76_check
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_shutdown_ex
    - TEST_false
    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: 5091
      start: 5087
    functionDepth: 0
    functionLinenumber: 5087
    functionLinenumberEnd: 5091
    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:5095,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/quic_multistream_test.c:5096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5098
      start: 5093
    functionDepth: 1
    functionLinenumber: 5093
    functionLinenumberEnd: 5098
    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:5104,1
    - Dst: ossl_quic_tserver_new_ticket
      Src: /src/openssl/test/quic_multistream_test.c:5104,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:5104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5108
      start: 5100
    functionDepth: 1
    functionLinenumber: 5100
    functionLinenumberEnd: 5108
    functionName: trigger_late_session_ticket
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ACQUIRE_S
    - TEST_true
    - ossl_quic_tserver_new_ticket
    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:5112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5110
    functionDepth: 1
    functionLinenumber: 5110
    functionLinenumberEnd: 5116
    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:5186,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/quic_multistream_test.c:5188,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:5190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5193,1
    - Dst: SSL_inject_net_dgram
      Src: /src/openssl/test/quic_multistream_test.c:5193,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: 5199
      start: 5176
    functionDepth: 8
    functionLinenumber: 5176
    functionLinenumberEnd: 5199
    functionName: script_80_send_stateless_reset
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - fprintf
    - TEST_int_eq
    - SSL_inject_net_dgram
    - memcpy
    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:5210,1
    - Dst: ACQUIRE_S_NOHL
      Src: /src/openssl/test/quic_multistream_test.c:5210,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_multistream_test.c:5217,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5218,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:5218,1
    - Dst: ossl_quic_channel_get_diag_local_cid
      Src: /src/openssl/test/quic_multistream_test.c:5222,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:5227,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5230,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_multistream_test.c:5230,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5233,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:5233,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:5236,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:5242,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:5244,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: 5247
      start: 5201
    functionDepth: 4
    functionLinenumber: 5201
    functionLinenumberEnd: 5247
    functionName: script_80_gen_new_conn_id
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_new_conn_id
    - ossl_quic_channel_get_diag_local_cid
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - fprintf
    - TEST_true
    - ossl_quic_tserver_get_channel
    - WPACKET_finish
    - memcpy
    - WPACKET_init_static_len
    - ACQUIRE_S_NOHL
    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:5253,1
    - Dst: script_80_gen_new_conn_id
      Src: /src/openssl/test/quic_multistream_test.c:5255,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: 5258
      start: 5249
    functionDepth: 9
    functionLinenumber: 5249
    functionLinenumberEnd: 5258
    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:5282,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5282,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5288,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5288,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5293,1
    - Dst: SSL_get_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5293,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - h
    - hl
    - ssl_value
    argTypes:
    - struct helper*
    - struct helper_local*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5302
      start: 5277
    functionDepth: 1
    functionLinenumber: 5277
    functionLinenumberEnd: 5302
    functionName: modify_static_tp
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_feature_request_uint
    - TEST_false
    - TEST_uint64_t_eq
    - TEST_true
    - SSL_get_feature_request_uint
    linkageType: ''
    returnType: int
    signature: int modify_static_tp(struct helper *h, struct helper_local *hl, int
      ssl_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5308,1
    - Dst: SSL_get_value_uint
      Src: /src/openssl/test/quic_multistream_test.c:5308,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - h
    - hl
    - ssl_value
    argTypes:
    - struct helper*
    - struct helper_local*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5304
    functionDepth: 1
    functionLinenumber: 5304
    functionLinenumberEnd: 5317
    functionName: check_static_tp
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_get_value_uint
    - TEST_true
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int check_static_tp(struct helper *h, struct helper_local *hl, int
      ssl_value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5323,1
    - Dst: SSL_get_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5323,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5328,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:5331,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - h
    - hl
    - ssl_value
    argTypes:
    - struct helper*
    - struct helper_local*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5337
      start: 5319
    functionDepth: 1
    functionLinenumber: 5319
    functionLinenumberEnd: 5337
    functionName: cannot_change_static_tp
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_feature_request_uint
    - TEST_false
    - TEST_uint64_t_eq
    - TEST_true
    - SSL_get_feature_request_uint
    linkageType: ''
    returnType: int
    signature: int cannot_change_static_tp(struct helper *h, struct helper_local *hl,
      int ssl_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:5341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5342
      start: 5339
    functionDepth: 2
    functionLinenumber: 5339
    functionLinenumberEnd: 5342
    functionName: modify_idle_timeout
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_idle_timeout(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:5346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5344
    functionDepth: 2
    functionLinenumber: 5344
    functionLinenumberEnd: 5347
    functionName: check_idle_timeout
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_idle_timeout(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:5351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5349
    functionDepth: 2
    functionLinenumber: 5349
    functionLinenumberEnd: 5352
    functionName: cannot_change_idle_timeout
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    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:5402,1
    - Dst: SSL_get_quic_stream_bidi_local_avail
      Src: /src/openssl/test/quic_multistream_test.c:5402,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5406,1
    - Dst: SSL_get_quic_stream_bidi_remote_avail
      Src: /src/openssl/test/quic_multistream_test.c:5406,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5410,1
    - Dst: SSL_get_quic_stream_uni_local_avail
      Src: /src/openssl/test/quic_multistream_test.c:5410,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5414,1
    - Dst: SSL_get_quic_stream_uni_remote_avail
      Src: /src/openssl/test/quic_multistream_test.c:5414,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5425
      start: 5396
    functionDepth: 1
    functionLinenumber: 5396
    functionLinenumberEnd: 5425
    functionName: check_avail_streams
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_get_quic_stream_bidi_local_avail
    - TEST_uint64_t_eq
    - TEST_true
    - SSL_get_quic_stream_uni_remote_avail
    - SSL_get_quic_stream_bidi_remote_avail
    - SSL_get_quic_stream_uni_local_avail
    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:5435,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5435,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5438,1
    - Dst: SSL_get_stream_write_buf_size
      Src: /src/openssl/test/quic_multistream_test.c:5438,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5439,1
    - Dst: SSL_get_stream_write_buf_used
      Src: /src/openssl/test/quic_multistream_test.c:5439,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5440,1
    - Dst: SSL_get_stream_write_buf_avail
      Src: /src/openssl/test/quic_multistream_test.c:5440,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:5441,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:5442,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5443,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5450
      start: 5430
    functionDepth: 3
    functionLinenumber: 5430
    functionLinenumberEnd: 5450
    functionName: check_write_buf_stat
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - TEST_uint64_t_ge
    - TEST_true
    - SSL_get_stream_write_buf_used
    - SSL_get_stream_write_buf_size
    - SSL_get_stream_write_buf_avail
    - helper_local_get_c_stream
    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:5525,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5526,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5526,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5527,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5528,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5528,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5531,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5536,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5541,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5546,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5551,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic_multistream_test.c:5557,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5557,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5585,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5586,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5589,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5590,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:5591,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5597
      start: 5515
    functionDepth: 3
    functionLinenumber: 5515
    functionLinenumberEnd: 5597
    functionName: script_85_poll
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - SSL_as_poll_descriptor
    - TEST_error
    - TEST_int_eq
    - SSL_poll
    - OSSL_NELEM
    - TEST_size_t_eq
    - helper_local_get_c_stream
    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: 5670
      start: 5656
    functionDepth: 0
    functionLinenumber: 5656
    functionLinenumberEnd: 5670
    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:5682,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5682,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5685,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5690,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic_multistream_test.c:5696,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5696,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5716,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5725,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5730,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:5731,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/test/quic_multistream_test.c:5732,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/test/quic_multistream_test.c:5733,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:5734,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5740,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5744
      start: 5672
    functionDepth: 3
    functionLinenumber: 5672
    functionLinenumberEnd: 5744
    functionName: script_88_poll
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - SSL_as_poll_descriptor
    - TEST_error
    - TEST_int_eq
    - SSL_poll
    - OSSL_NELEM
    - TEST_size_t_eq
    - POLL_PRINTA
    - TEST_info
    - helper_local_get_c_stream
    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:5757,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:5761,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:5761,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_multistream_test.c:5762,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic_multistream_test.c:5764,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5764,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5768,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_multistream_test.c:5772,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:5774,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/test/quic_multistream_test.c:5774,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic_multistream_test.c:5777,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_multistream_test.c:5780,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:5780,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:5781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5787
      start: 5746
    functionDepth: 2
    functionLinenumber: 5746
    functionLinenumberEnd: 5787
    functionName: script_88_poll_conly
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    - SSL_shutdown
    - TEST_error
    - ossl_time_compare
    - TEST_int_eq
    - ossl_time_now
    - OSSL_sleep
    - SSL_poll
    - OSSL_NELEM
    - ossl_time_add
    - POLL_PRINTA
    - TEST_info
    - ossl_ticks2time
    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:5841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5842
      start: 5838
    functionDepth: 0
    functionLinenumber: 5838
    functionLinenumberEnd: 5842
    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: 5848
      start: 5844
    functionDepth: 0
    functionLinenumber: 5844
    functionLinenumberEnd: 5848
    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:5852,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5854,1
    - Dst: SSL_set_event_handling_mode
      Src: /src/openssl/test/quic_multistream_test.c:5857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5858
      start: 5850
    functionDepth: 3
    functionLinenumber: 5850
    functionLinenumberEnd: 5858
    functionName: set_event_handling_mode_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_event_handling_mode
    - helper_local_get_c_stream
    - TEST_ptr
    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_false
      Src: /src/openssl/test/quic_multistream_test.c:5940,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5940,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:5945,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5945,1
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:5950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5951
      start: 5938
    functionDepth: 2
    functionLinenumber: 5938
    functionLinenumberEnd: 5951
    functionName: modify_udp_payload_size_max
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_feature_request_uint
    - TEST_false
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_udp_payload_size_max(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:5955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5956
      start: 5953
    functionDepth: 2
    functionLinenumber: 5953
    functionLinenumberEnd: 5956
    functionName: check_udp_payload_size_max
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_udp_payload_size_max(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:5960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5961
      start: 5958
    functionDepth: 2
    functionLinenumber: 5958
    functionLinenumberEnd: 5961
    functionName: cannot_change_udp_payload_size_max
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    linkageType: ''
    returnType: int
    signature: int cannot_change_udp_payload_size_max(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6012
      start: 6009
    functionDepth: 2
    functionLinenumber: 6009
    functionLinenumberEnd: 6012
    functionName: modify_window_con
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_window_con(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6017
      start: 6014
    functionDepth: 2
    functionLinenumber: 6014
    functionLinenumberEnd: 6017
    functionName: check_window_con
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_window_con(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6022
      start: 6019
    functionDepth: 2
    functionLinenumber: 6019
    functionLinenumberEnd: 6022
    functionName: cannot_change_window_con
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    linkageType: ''
    returnType: int
    signature: int cannot_change_window_con(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6067
      start: 6064
    functionDepth: 2
    functionLinenumber: 6064
    functionLinenumberEnd: 6067
    functionName: modify_window_bidi_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_window_bidi_stream(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6072
      start: 6069
    functionDepth: 2
    functionLinenumber: 6069
    functionLinenumberEnd: 6072
    functionName: check_window_bidi_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_window_bidi_stream(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6077
      start: 6074
    functionDepth: 2
    functionLinenumber: 6074
    functionLinenumberEnd: 6077
    functionName: cannot_change_window_bidi_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    linkageType: ''
    returnType: int
    signature: int cannot_change_window_bidi_stream(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6122
      start: 6119
    functionDepth: 2
    functionLinenumber: 6119
    functionLinenumberEnd: 6122
    functionName: modify_window_uni_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_window_uni_stream(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6127
      start: 6124
    functionDepth: 2
    functionLinenumber: 6124
    functionLinenumberEnd: 6127
    functionName: check_window_uni_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_window_uni_stream(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6132
      start: 6129
    functionDepth: 2
    functionLinenumber: 6129
    functionLinenumberEnd: 6132
    functionName: cannot_change_window_uni_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    linkageType: ''
    returnType: int
    signature: int cannot_change_window_uni_stream(struct helper *h, struct helper_local
      *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:6177,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:6177,1
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6183
      start: 6174
    functionDepth: 2
    functionLinenumber: 6174
    functionLinenumberEnd: 6183
    functionName: modify_ack_delay_exponent
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_feature_request_uint
    - TEST_false
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_ack_delay_exponent(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6188
      start: 6185
    functionDepth: 2
    functionLinenumber: 6185
    functionLinenumberEnd: 6188
    functionName: check_ack_delay_exponent
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_ack_delay_exponent(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6193
      start: 6190
    functionDepth: 2
    functionLinenumber: 6190
    functionLinenumberEnd: 6193
    functionName: cannot_change_ack_delay_exponent
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    linkageType: ''
    returnType: int
    signature: int cannot_change_ack_delay_exponent(struct helper *h, struct helper_local
      *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:6243,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:6243,1
    - Dst: modify_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6249
      start: 6241
    functionDepth: 2
    functionLinenumber: 6241
    functionLinenumberEnd: 6249
    functionName: modify_ack_delay_max
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_feature_request_uint
    - TEST_false
    - modify_static_tp
    linkageType: ''
    returnType: int
    signature: int modify_ack_delay_max(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6254
      start: 6251
    functionDepth: 2
    functionLinenumber: 6251
    functionLinenumberEnd: 6254
    functionName: check_ack_delay_max
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - check_static_tp
    linkageType: ''
    returnType: int
    signature: int check_ack_delay_max(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cannot_change_static_tp
      Src: /src/openssl/test/quic_multistream_test.c:6258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6256
    functionDepth: 2
    functionLinenumber: 6256
    functionLinenumberEnd: 6259
    functionName: cannot_change_ack_delay_max
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - cannot_change_static_tp
    linkageType: ''
    returnType: int
    signature: int cannot_change_ack_delay_max(struct helper *h, struct helper_local
      *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_multistream_test.c:6434,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic_multistream_test.c:6439,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:6441,1
    - Dst: run_script
      Src: /src/openssl/test/quic_multistream_test.c:6444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6416
    functionDepth: 1
    functionLinenumber: 6416
    functionLinenumberEnd: 6445
    functionName: test_script
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - run_script
    - BIO_snprintf
    - 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:6517,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic_multistream_test.c:6525,1
    - Dst: run_script
      Src: /src/openssl/test/quic_multistream_test.c:6528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6511
    functionDepth: 0
    functionLinenumber: 6511
    functionLinenumberEnd: 6529
    functionName: test_dyn_frame_types
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - run_script
    - BIO_snprintf
    - OSSL_NELEM
    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:6536,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quic_multistream_test.c:6539,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:6540,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:6544,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_multistream_test.c:6544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:6545,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_multistream_test.c:6545,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_multistream_test.c:6548,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:6548,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_multistream_test.c:6549,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:6549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6551
      start: 6533
    functionDepth: 1
    functionLinenumber: 6533
    functionLinenumberEnd: 6551
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_skip
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    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: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_core_test.c:87,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:88,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_core_test.c:88,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_core_test.c:90,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_core_test.c:90,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:91,1
    - Dst: BIO_gets
      Src: /src/openssl/test/bio_core_test.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_core_test.c:92,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_core_test.c:92,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bio_core_test.c:93,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:97,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_core_test.c:97,1
    - Dst: strlen
      Src: /src/openssl/test/bio_core_test.c:97,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:98,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_core_test.c:98,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bio_core_test.c:99,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: BIO_free
      Src: /src/openssl/test/bio_core_test.c:106,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/bio_core_test.c:107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 109
    functionName: test_bio_core
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - TEST_ptr
    - TEST_true
    - TEST_ptr_null
    - TEST_str_eq
    - BIO_new
    - BIO_write
    - BIO_read
    - OSSL_LIB_CTX_free
    - TEST_int_gt
    - BIO_gets
    - BIO_s_mem
    - TEST_false
    - BIO_free
    - OSSL_LIB_CTX_new_from_dispatch
    - BIO_set_mem_eof_return
    - BIO_eof
    - strlen
    - BIO_new_from_core_bio
    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:113,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_core_test.c:114,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_core_test.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    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:
    - TEST_ptr
    - ossl_quic_rcidm_add_from_ncid
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_conn_id_eq
    - ossl_quic_rcidm_add_from_server_retry
    - ossl_quic_rcidm_request_roll
    - ossl_quic_rcidm_get_preferred_tx_dcid
    - ossl_quic_rcidm_get_preferred_tx_dcid_changed
    - TEST_false
    - ossl_quic_rcidm_free
    - ossl_quic_rcidm_on_handshake_complete
    - ossl_quic_rcidm_peek_retire_seq_num
    - ossl_quic_rcidm_add_from_initial
    - ossl_quic_rcidm_new
    - ossl_quic_rcidm_get_num_retiring
    - ossl_quic_rcidm_pop_retire_seq_num
    - TEST_size_t_eq
    - ossl_quic_rcidm_get_num_active
    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:47,1
    - Dst: BN_new
      Src: /src/openssl/test/ecstresstest.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:48,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ecstresstest.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:53,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ecstresstest.c:53,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:54,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ecstresstest.c:54,1
    - Dst: BN_free
      Src: /src/openssl/test/ecstresstest.c:62,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: 64
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: walk_curve
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EC_POINT_get_affine_coordinates
    - EC_POINT_mul
    - BN_free
    - BN_new
    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:77,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ecstresstest.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:78,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ecstresstest.c:78,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ecstresstest.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:80,1
    - Dst: walk_curve
      Src: /src/openssl/test/ecstresstest.c:80,1
    - Dst: BN_print
      Src: /src/openssl/test/ecstresstest.c:84,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ecstresstest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:88,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecstresstest.c:88,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:89,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ecstresstest.c:90,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ecstresstest.c:96,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ecstresstest.c:97,1
    - Dst: BN_free
      Src: /src/openssl/test/ecstresstest.c:98,1
    - Dst: BN_free
      Src: /src/openssl/test/ecstresstest.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 8
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: test_curve
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - TEST_BN_eq
    - TEST_ptr
    - walk_curve
    - TEST_true
    - BN_hex2bn
    - BN_free
    - EC_GROUP_get0_generator
    - EC_GROUP_new_by_curve_name
    - BN_print
    - EC_POINT_free
    - EC_POINT_dup
    - EC_GROUP_free
    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: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    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:130,1
    - Dst: TEST_error
      Src: /src/openssl/test/ecstresstest.c:131,1
    - Dst: opt_next
      Src: /src/openssl/test/ecstresstest.c:135,1
    - Dst: opt_intmax
      Src: /src/openssl/test/ecstresstest.c:138,1
    - Dst: opt_arg
      Src: /src/openssl/test/ecstresstest.c:138,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ecstresstest.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 155
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - TEST_error
    - opt_intmax
    - opt_arg
    - opt_next
    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: 10
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: test_509_dup_cert
    functionSourceFile: /src/openssl/test/x509_dup_cert_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - X509_LOOKUP_file
    - TEST_true
    - X509_STORE_new
    - X509_STORE_free
    - X509_STORE_add_lookup
    - X509_load_cert_file
    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:
    - ADD_ALL_TESTS
    - test_get_argument_count
    - TEST_error
    - TEST_size_t_gt
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    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: RC5_32_ecb_encrypt
      Src: /src/openssl/test/rc5test.c:216,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:217,1
    - Dst: RC5_32_ecb_encrypt
      Src: /src/openssl/test/rc5test.c:220,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: test_rc5_ecb
    functionSourceFile: /src/openssl/test/rc5test.c
    functionUses: 0
    functionsReached:
    - RC5_32_ecb_encrypt
    - TEST_true
    - TEST_mem_eq
    - RC5_32_set_key
    linkageType: ''
    returnType: int
    signature: int test_rc5_ecb(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/rc5test.c:236,1
    - Dst: RC5_32_set_key
      Src: /src/openssl/test/rc5test.c:236,1
    - Dst: memcpy
      Src: /src/openssl/test/rc5test.c:240,1
    - Dst: RC5_32_cbc_encrypt
      Src: /src/openssl/test/rc5test.c:241,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:244,1
    - Dst: memcpy
      Src: /src/openssl/test/rc5test.c:248,1
    - Dst: RC5_32_cbc_encrypt
      Src: /src/openssl/test/rc5test.c:249,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: test_rc5_cbc
    functionSourceFile: /src/openssl/test/rc5test.c
    functionUses: 0
    functionsReached:
    - RC5_32_cbc_encrypt
    - TEST_mem_eq
    - RC5_32_set_key
    - TEST_true
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_rc5_cbc(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc5test.c:262,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rc5test.c:262,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc5test.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rc5test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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_new
    - TEST_ptr
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_set0_default
    - OSSL_LIB_CTX_get0_global_default
    - 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_new
    - TEST_ptr
    - TEST_false
    - TEST_true
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_set_conf_diagnostics
    - OSSL_LIB_CTX_get_conf_diagnostics
    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: 6
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 35
    functionsReached:
    - OSSL_CMP_CTX_free
    - OPENSSL_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:
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_new
    - tear_down
    - TEST_ptr
    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:
    - X509_new
    - X509_free
    - sk_X509_new_null
    - sk_X509_push
    - sk_X509_free
    - STACK_OF
    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:
    - TEST_ptr
    - X509_free
    - TEST_true
    - sk_X509_new_1
    - ASN1_OCTET_STRING_free
    - ossl_cmp_ctx_set1_caPubs
    - ossl_cmp_ctx_set1_newChain
    - STACK_OF
    - sk_ASN1_UTF8STRING_new_null
    - ossl_cmp_ctx_set1_extraCertsIn
    - OSSL_CMP_CTX_set1_senderNonce
    - OSSL_CMP_CTX_reinit
    - sk_X509_pop_X509_free
    - OSSL_CMP_CTX_set1_transactionID
    - ASN1_OCTET_STRING_new
    - X509_new
    - ossl_cmp_ctx_set0_newCert
    - ossl_cmp_ctx_set0_statusString
    - ossl_cmp_ctx_set1_recipNonce
    - ossl_cmp_ctx_set1_validatedSrvCert
    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_new
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - OSSL_LIB_CTX_free
    - OSSL_CMP_CTX_get0_libctx
    - OSSL_CMP_CTX_get0_propq
    - TEST_str_eq
    - OSSL_CMP_CTX_free
    - 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:181,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:182,1
    - Dst: ossl_cmp_add_error_line
      Src: /src/openssl/test/cmp_ctx_test.c:184,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:185,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_ctx_test.c:187,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/test/cmp_ctx_test.c:191,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:192,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:192,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/test/cmp_ctx_test.c:195,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:196,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:196,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:198,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_ctx_test.c:200,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 206
    functionName: execute_CTX_print_errors_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - ERR_add_error_txt
    - ERR_raise
    - TEST_true
    - ossl_cmp_add_error_data
    - ossl_cmp_add_error_line
    - TEST_int_eq
    - OSSL_CMP_CTX_set_log_cb
    - 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:210,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    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:226,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/test/cmp_ctx_test.c:226,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:229,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_ctx_test.c:229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:230,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_ctx_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:231,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_ctx_test.c:231,1
    - Dst: X509_EXTENSION_create_by_NID
      Src: /src/openssl/test/cmp_ctx_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:235,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/test/cmp_ctx_test.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:236,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/test/cmp_ctx_test.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:237,1
    - Dst: OSSL_CMP_CTX_set0_reqExtensions
      Src: /src/openssl/test/cmp_ctx_test.c:237,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/cmp_ctx_test.c:238,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/test/cmp_ctx_test.c:239,1
    - Dst: TEST_int_eq
      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: sk_X509_EXTENSION_pop
      Src: /src/openssl/test/cmp_ctx_test.c:243,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmp_ctx_test.c:244,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/test/cmp_ctx_test.c:244,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/cmp_ctx_test.c:245,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_ctx_test.c:248,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 216
    functionDepth: 8
    functionLinenumber: 216
    functionLinenumberEnd: 250
    functionName: execute_CTX_reqExtensions_have_SAN_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set0_reqExtensions
    - ASN1_OCTET_STRING_free
    - TEST_false
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - RAND_bytes
    - sk_X509_EXTENSION_new_null
    - X509_EXTENSION_free
    - sk_X509_EXTENSION_push
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - TEST_true
    - X509_EXTENSION_create_by_NID
    - TEST_int_eq
    - sk_X509_EXTENSION_pop
    - sk_X509_EXTENSION_free
    - ASN1_OCTET_STRING_new
    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:254,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    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:266,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_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:271,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:272,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:274,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:275,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 278
    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:285,1
    - Dst: OSSL_CMP_log_open
      Src: /src/openssl/test/cmp_ctx_test.c:287,1
    - Dst: OSSL_CMP_log_open
      Src: /src/openssl/test/cmp_ctx_test.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:290,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_ctx_test.c:290,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/test/cmp_ctx_test.c:293,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/test/cmp_ctx_test.c:294,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/test/cmp_ctx_test.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:296,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/test/cmp_ctx_test.c:296,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/test/cmp_ctx_test.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:298,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/test/cmp_ctx_test.c:298,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:300,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_ctx_test.c:300,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/test/cmp_ctx_test.c:304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:306,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/test/cmp_ctx_test.c:308,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/test/cmp_ctx_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:313,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/test/cmp_ctx_test.c:316,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/test/cmp_ctx_test.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 280
    functionDepth: 7
    functionLinenumber: 280
    functionLinenumberEnd: 319
    functionName: execute_cmp_ctx_log_cb_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_log_open
    - OSSL_CMP_log_close
    - ossl_cmp_log2
    - TEST_true
    - OSSL_CMP_CTX_set_log_verbosity
    - ossl_cmp_debug
    - OSSL_TRACE
    - TEST_int_eq
    - OSSL_CMP_CTX_set_log_cb
    - ossl_cmp_err
    - 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:323,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    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: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    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: 339
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 339
    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: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    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: 364
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 364
    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:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    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:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    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: 510
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 510
    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:513,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/cmp_ctx_test.c:516,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_ctx_test.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: X509_STORE_new_1
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_get0_param
    - X509_STORE_new
    - 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: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    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: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    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: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    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: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    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: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    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: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    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: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    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: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    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: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    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: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    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: 561
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 561
    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: 563
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 563
    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: 573
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 573
    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: 586
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 586
    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: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    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: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    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: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    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: 602
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 602
    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: 613
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 613
    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: 629
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 629
    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: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    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: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    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: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    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:820,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_ctx_test.c:821,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:827,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:830,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:832,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:839,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:848,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:849,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:852,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:855,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:860,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:861,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:864,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:867,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:876,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:877,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:878,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:879,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:886,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:887,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:888,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:889,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:894,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:897,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: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:905,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:906,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:911,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:912,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 915
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:220,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_xof_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:223,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_xof_test.c:223,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_xof_test.c:226,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_xof_test.c:228,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_xof_test.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:230,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_xof_test.c:230,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_xof_test.c:232,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_xof_test.c:235,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - td
    argTypes:
    - TEST_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 214
    functionDepth: 10
    functionLinenumber: 214
    functionLinenumberEnd: 238
    functionName: xof_digest_setup
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_MD_fetch
    - EVP_MD_free
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX *xof_digest_setup(const TEST_DATA *td)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_xof_test.c:247,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:249,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:251,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:252,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:252,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:253,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:255,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:255,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:257,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:257,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 240
    functionDepth: 11
    functionLinenumber: 240
    functionLinenumberEnd: 263
    functionName: xof_kat_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_le
    - xof_digest_setup
    - TEST_true
    - EVP_DigestSqueeze
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int xof_kat_test(int tstid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_xof_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:275,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:275,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:277,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:277,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_xof_test.c:285,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:286,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_xof_test.c:286,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_xof_test.c:287,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_xof_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:296,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_xof_test.c:296,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_xof_test.c:297,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:298,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:301,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:304,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:306,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:306,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:308,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:308,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:309,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:310,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:310,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 265
    functionDepth: 11
    functionLinenumber: 265
    functionLinenumberEnd: 316
    functionName: xof_kat_digestfinal_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - TEST_uint_eq
    - TEST_false
    - TEST_ptr
    - ERR_clear_last_mark
    - TEST_mem_eq
    - TEST_size_t_le
    - xof_digest_setup
    - EVP_DigestFinal
    - TEST_true
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_free
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int xof_kat_digestfinal_test(int tstid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_xof_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:335,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:335,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_xof_test.c:338,1
    - Dst: memset
      Src: /src/openssl/test/evp_xof_test.c:340,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_xof_test.c:341,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_xof_test.c:342,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:344,1
    - Dst: EVP_MD_CTX_size
      Src: /src/openssl/test/evp_xof_test.c:344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:345,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/test/evp_xof_test.c:345,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:346,1
    - Dst: EVP_MD_CTX_size
      Src: /src/openssl/test/evp_xof_test.c:346,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:347,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/test/evp_xof_test.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:348,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/test/evp_xof_test.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:349,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:349,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:350,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_xof_test.c:350,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_xof_test.c:351,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:352,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/evp_xof_test.c:353,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 322
    functionDepth: 11
    functionLinenumber: 322
    functionLinenumberEnd: 359
    functionName: xof_kat_digestfinal_xoflen_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - EVP_MD_CTX_get0_md
    - EVP_DigestFinal
    - TEST_true
    - EVP_DigestUpdate
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_MD_CTX_set_params
    - TEST_uint_eq
    - xof_digest_setup
    - TEST_uchar_eq
    - EVP_MD_xof
    - memset
    - OSSL_PARAM_construct_size_t
    - TEST_size_t_le
    - EVP_MD_get_size
    - EVP_MD_CTX_size
    linkageType: ''
    returnType: int
    signature: int xof_kat_digestfinal_xoflen_test(int tstid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_xof_test.c:374,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:376,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:376,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:385,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:388,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:388,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:389,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:391,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_xof_test.c:391,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 365
    functionDepth: 11
    functionLinenumber: 365
    functionLinenumberEnd: 398
    functionName: xof_absorb_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_le
    - xof_digest_setup
    - TEST_true
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int xof_absorb_test(int tstid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:462,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:462,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:464,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_xof_test.c:464,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:466,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:472,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:472,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_xof_test.c:481,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:482,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 6
    argNames:
    - td
    - stride
    - in
    - inlen
    - expected_out
    - expected_outlen
    argTypes:
    - TEST_DATA*
    - STRIDE_TEST_DATA*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 451
    functionDepth: 11
    functionLinenumber: 451
    functionLinenumberEnd: 484
    functionName: do_xof_squeeze_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - xof_digest_setup
    - TEST_true
    - EVP_DigestSqueeze
    - EVP_DigestUpdate
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int do_xof_squeeze_test(const TEST_DATA *td,\n    const STRIDE_TEST_DATA
      *stride,\n    const uint8_t *in, size_t inlen,\n    const uint8_t *expected_out,\n
      \   size_t expected_outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:489,1
    - Dst: do_xof_squeeze_test
      Src: /src/openssl/test/evp_xof_test.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 12
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: xof_squeeze_kat_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - do_xof_squeeze_test
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int xof_squeeze_kat_test(int tstid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:503,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_xof_test.c:509,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/evp_xof_test.c:509,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:510,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:510,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:511,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:511,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:512,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:512,1
    - Dst: do_xof_squeeze_test
      Src: /src/openssl/test/evp_xof_test.c:515,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 12
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: xof_squeeze_large_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - RAND_bytes
    - xof_digest_setup
    - TEST_true
    - TEST_int_gt
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - OSSL_NELEM
    - EVP_DigestFinalXOF
    - do_xof_squeeze_test
    linkageType: ''
    returnType: int
    signature: int xof_squeeze_large_test(int tstid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:535,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:535,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:538,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_xof_test.c:538,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:540,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:540,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:546,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:551,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_xof_test.c:551,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:556,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_xof_test.c:560,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:561,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:562,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 6
    argNames:
    - td
    - dupoffset
    - in
    - inlen
    - expected_out
    - expected_outlen
    argTypes:
    - TEST_DATA*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 526
    functionDepth: 11
    functionLinenumber: 526
    functionLinenumberEnd: 564
    functionName: do_xof_squeeze_dup_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - EVP_MD_CTX_dup
    - xof_digest_setup
    - TEST_true
    - EVP_DigestSqueeze
    - EVP_DigestUpdate
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int do_xof_squeeze_dup_test(const TEST_DATA *td, size_t dupoffset,\n
      \   const uint8_t *in, size_t inlen,\n    const uint8_t *expected_out, size_t
      expected_outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:570,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_xof_test.c:576,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/evp_xof_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:577,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:578,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:578,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:579,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:579,1
    - Dst: do_xof_squeeze_dup_test
      Src: /src/openssl/test/evp_xof_test.c:582,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 567
    functionDepth: 12
    functionLinenumber: 567
    functionLinenumberEnd: 587
    functionName: xof_squeeze_dup_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 1
    functionsReached:
    - TEST_ptr
    - RAND_bytes
    - xof_digest_setup
    - TEST_true
    - TEST_int_gt
    - EVP_DigestUpdate
    - OSSL_NELEM
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_free
    - do_xof_squeeze_dup_test
    linkageType: ''
    returnType: int
    signature: int xof_squeeze_dup_test(int tstid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/evp_xof_test.c:598,1
    - Dst: memset
      Src: /src/openssl/test/evp_xof_test.c:599,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:600,1
    - Dst: xof_digest_setup
      Src: /src/openssl/test/evp_xof_test.c:600,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:601,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_xof_test.c:601,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:602,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:602,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:603,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:603,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:604,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:604,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:606,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:611,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 590
    functionDepth: 11
    functionLinenumber: 590
    functionLinenumberEnd: 614
    functionName: xof_squeeze_no_absorb_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - EVP_MD_CTX_dup
    - xof_digest_setup
    - TEST_true
    - EVP_DigestSqueeze
    - memset
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int xof_squeeze_no_absorb_test(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:621,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_xof_test.c:621,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:622,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/test/evp_xof_test.c:622,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_xof_test.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 10
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: xof_fail_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - EVP_MD_fetch
    - EVP_MD_xof
    - EVP_MD_free
    linkageType: ''
    returnType: int
    signature: int xof_fail_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:629,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:629,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:630,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:630,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:631,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:631,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:632,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:632,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:633,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:633,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:634,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:634,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:635,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:635,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:636,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:636,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:
    - memset
    - BIO_write_ex
    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_GET_LIB
    - ERR_GET_REASON
    - ERR_peek_error
    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:
    - TLS_client_method
    - SSL_accept
    - TEST_false
    - TEST_int_le
    - TEST_true
    - write_record
    - TEST_int_eq
    - fail_due_to_record_overflow
    - TLS_server_method
    - SSL_read_ex
    - SSL_free
    - SSL_CTX_free
    - SSL_get_rbio
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_CTX_set_max_proto_version
    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_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - test_skip_common_options
    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:
    - TEST_ptr
    - BIO_new
    - BIO_free_all
    - ossl_json_init
    - BIO_s_mem
    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:
    - BIO_free_all
    - ossl_json_cleanup
    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: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    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: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    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: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    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:682,1
    - Dst: TEST_true
      Src: /src/openssl/test/json_test.c:683,1
    - Dst: run_script
      Src: /src/openssl/test/json_test.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 687
    functionName: test_json_enc
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached:
    - run_script
    - TEST_true
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_json_enc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/json_test.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 693
    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:43,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:51,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:52,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:56,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:57,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:58,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/asn1_internal_test.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: test_tbl_standard
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OBJ_nid2ln
    - OSSL_NELEM
    - TEST_int_ne
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_tbl_standard(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:96,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:98,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/asn1_internal_test.c:99,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:104,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:105,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:109,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:110,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:112,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/asn1_internal_test.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 116
    functionName: test_standard_methods
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - TEST_true
    - TEST_note
    - OSSL_NELEM
    - TEST_int_ne
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_standard_methods(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:133,1
    - Dst: RSA_new
      Src: /src/openssl/test/asn1_internal_test.c:133,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:134,1
    - Dst: BN_new
      Src: /src/openssl/test/asn1_internal_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:135,1
    - Dst: BN_new
      Src: /src/openssl/test/asn1_internal_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:136,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/asn1_internal_test.c:136,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/asn1_internal_test.c:145,1
    - Dst: i2d_RSAPrivateKey
      Src: /src/openssl/test/asn1_internal_test.c:145,1
    - Dst: RSA_free
      Src: /src/openssl/test/asn1_internal_test.c:149,1
    - Dst: BN_free
      Src: /src/openssl/test/asn1_internal_test.c:150,1
    - Dst: BN_free
      Src: /src/openssl/test/asn1_internal_test.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 153
    functionName: test_empty_nonoptional_content
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_le
    - RSA_new
    - TEST_true
    - RSA_free
    - BN_free
    - RSA_set0_key
    - BN_new
    - i2d_RSAPrivateKey
    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:167,1
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/test/asn1_internal_test.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - univ
    - len
    - expected
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: test_unicode
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ASN1_mbstring_copy
    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:188,1
    - Dst: test_unicode
      Src: /src/openssl/test/asn1_internal_test.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 193
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_lt
      Src: /src/openssl/test/asn1_internal_test.c:200,1
    - Dst: ossl_utf8_getc_internal
      Src: /src/openssl/test/asn1_internal_test.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: test_invalid_utf8
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_utf8_getc_internal
    - TEST_int_lt
    linkageType: ''
    returnType: int
    signature: int test_invalid_utf8(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/test/asn1_internal_test.c:215,1
    - Dst: OBJ_create
      Src: /src/openssl/test/asn1_internal_test.c:217,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/asn1_internal_test.c:220,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/asn1_internal_test.c:221,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/asn1_internal_test.c:222,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/asn1_internal_test.c:226,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/asn1_internal_test.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - oid
    - sn
    - ln
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 8
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: test_obj_create_once
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - ERR_peek_last_error
    - ERR_GET_REASON
    - OBJ_create
    - ERR_GET_LIB
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int test_obj_create_once(const char *oid, const char *sn, const char
      *ln)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:243,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/asn1_internal_test.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:245,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_internal_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:247,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/asn1_internal_test.c:247,1
    - Dst: strlen
      Src: /src/openssl/test/asn1_internal_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:253,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/test/asn1_internal_test.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:257,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/test/asn1_internal_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:263,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/test/asn1_internal_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:268,1
    - Dst: strcmp
      Src: /src/openssl/test/asn1_internal_test.c:268,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/asn1_internal_test.c:269,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:271,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/asn1_internal_test.c:272,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:280,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_internal_test.c:281,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_internal_test.c:282,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - time_string
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 284
    functionName: test_asn1_time_conversion
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - TEST_ptr
    - ASN1_STRING_free
    - ossl_asn1_time_from_tm
    - TEST_true
    - strcmp
    - ASN1_TIME_set_string
    - ASN1_TIME_new
    - ASN1_STRING_get0_data
    - strlen
    - TEST_info
    linkageType: ''
    returnType: int
    signature: "int test_asn1_time_conversion(char *time_string, const char *file,\n
      \   int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:294,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:295,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:296,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:297,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:298,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:299,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:300,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:301,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:302,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:303,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:304,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:305,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:306,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:307,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:308,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:309,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:310,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:311,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:312,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:313,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:314,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:315,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:316,1
    - Dst: test_asn1_time_conversion
      Src: /src/openssl/test/asn1_internal_test.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 290
    functionDepth: 7
    functionLinenumber: 290
    functionLinenumberEnd: 320
    functionName: test_asn1_time_tm_conversions
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - test_asn1_time_conversion
    linkageType: ''
    returnType: int
    signature: int test_asn1_time_tm_conversions(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:331,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:331,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:332,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:332,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:333,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:333,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:334,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:335,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:335,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:336,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:336,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:337,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:337,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:338,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:339,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:339,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:340,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:340,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:341,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:341,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:342,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:342,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:343,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:343,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:345,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:345,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:346,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:346,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_internal_test.c:349,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:349,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_internal_test.c:350,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:350,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 322
    functionDepth: 9
    functionLinenumber: 322
    functionLinenumberEnd: 355
    functionName: test_obj_create
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - OBJ_ln2nid
    - TEST_false
    - test_obj_create_once
    - TEST_true
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_obj_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:359,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/asn1_internal_test.c:359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:360,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/asn1_internal_test.c:360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:361,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/asn1_internal_test.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 6
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: test_obj_nid_undef
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_nid2sn
    - OBJ_nid2obj
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_obj_nid_undef(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_posix_to_tm
      Src: /src/openssl/test/asn1_internal_test.c:379,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/test/asn1_internal_test.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - posix_time
    - out_time
    argTypes:
    - int64_t
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: ossl_asn1_time_from_posix
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_from_tm
    - OPENSSL_posix_to_tm
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_time_from_posix(int64_t posix_time, ASN1_TIME *out_time)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:401,1
    - Dst: OPENSSL_posix_to_tm
      Src: /src/openssl/test/asn1_internal_test.c:401,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:402,1
    - Dst: OPENSSL_timegm
      Src: /src/openssl/test/asn1_internal_test.c:406,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/asn1_internal_test.c:414,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:426,1
    - Dst: ossl_asn1_time_from_posix
      Src: /src/openssl/test/asn1_internal_test.c:426,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:428,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/asn1_internal_test.c:441,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:447,1
    - Dst: OPENSSL_tm_to_posix
      Src: /src/openssl/test/asn1_internal_test.c:447,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:449,1
    - Dst: TEST_int64_t_eq
      Src: /src/openssl/test/asn1_internal_test.c:454,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:455,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - time
    - tm
    - asn1_time
    argTypes:
    - int64_t
    - struct tm*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 386
    functionDepth: 6
    functionLinenumber: 386
    functionLinenumberEnd: 462
    functionName: test_a_posix_time
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - ossl_asn1_time_from_posix
    - OPENSSL_tm_to_posix
    - TEST_int64_t_eq
    - OPENSSL_posix_to_tm
    - TEST_int_eq
    - ASN1_TIME_adj
    - TEST_info
    - OPENSSL_timegm
    linkageType: ''
    returnType: int
    signature: int test_a_posix_time(int64_t time, struct tm *tm, ASN1_TIME *asn1_time)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/asn1_internal_test.c:471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:472,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:473,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:484,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:488,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:494,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:498,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:501,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:505,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:508,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:517,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:520,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:523,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:526,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:529,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:532,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:535,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:538,1
    - Dst: test_a_posix_time
      Src: /src/openssl/test/asn1_internal_test.c:547,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_internal_test.c:554,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 556
    functionName: posix_time_test
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_a_posix_time
    - ASN1_TIME_new
    - TEST_info
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: int posix_time_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:565,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/test/asn1_internal_test.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:566,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/test/asn1_internal_test.c:566,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:567,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/test/asn1_internal_test.c:567,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:568,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/test/asn1_internal_test.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: test_mbstring_ncopy
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ASN1_mbstring_ncopy
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_mbstring_ncopy(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_uni2utf8
      Src: /src/openssl/test/asn1_internal_test.c:582,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/asn1_internal_test.c:583,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_internal_test.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: test_ossl_uni2utf8
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_uni2utf8
    - OPENSSL_free
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_ossl_uni2utf8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:593,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:594,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:595,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:596,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:597,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:598,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:599,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:600,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:601,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 604
    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
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CIPHER_CTX_free
    - TEST_true
    - X509_ALGOR_new
    - PKCS5_pbe_set0_algor
    - EVP_CIPHER_nid
    - EVP_CipherFinal_ex
    - PKCS5_PBE_keyivgen
    - strlen
    - X509_ALGOR_free
    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_rc4
    - EVP_md5
    - 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_sha1
    - test_pkcs5_pbe
    - EVP_des_cbc
    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:
    - ADD_TEST
    - cleanup_tests
    - OSSL_PROVIDER_load
    - TEST_ptr
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aeswrap_test.c:24,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aeswrap_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/aeswrap_test.c:25,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/aeswrap_test.c:25,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:26,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/aeswrap_test.c:26,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:27,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/aeswrap_test.c:27,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:28,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/aeswrap_test.c:28,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/aeswrap_test.c:32,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aeswrap_test.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: aeswrap_multi_update_fail_test
    functionSourceFile: /src/openssl/test/aeswrap_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_ptr
    - EVP_CipherInit_ex2
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int aeswrap_multi_update_fail_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aeswrap_test.c:48,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aeswrap_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/aeswrap_test.c:49,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/aeswrap_test.c:49,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:50,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/aeswrap_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:51,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/aeswrap_test.c:51,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/aeswrap_test.c:55,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aeswrap_test.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: aeswrap_input_size_fail_test
    functionSourceFile: /src/openssl/test/aeswrap_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_ptr
    - EVP_CipherInit_ex2
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int aeswrap_input_size_fail_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aeswrap_test.c:74,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aeswrap_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/aeswrap_test.c:75,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/aeswrap_test.c:75,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:76,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/aeswrap_test.c:76,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aeswrap_test.c:77,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/aeswrap_test.c:77,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/aeswrap_test.c:81,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aeswrap_test.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: aeswrap_null_key_init_fail_test
    functionSourceFile: /src/openssl/test/aeswrap_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_ptr
    - EVP_CipherInit_ex2
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int aeswrap_null_key_init_fail_test(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/aeswrap_test.c:88,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/aeswrap_test.c:89,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/aeswrap_test.c:90,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/aeswrap_test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/aeswrap_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:64,1
    - Dst: safe_sub_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:70,1
    - Dst: safe_mul_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:76,1
    - Dst: safe_div_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:82,1
    - Dst: safe_mod_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:88,1
    - Dst: safe_div_round_up_int
      Src: /src/openssl/test/safe_math_test.c:92,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:93,1
    - Dst: safe_mod_int
      Src: /src/openssl/test/safe_math_test.c:95,1
    - Dst: safe_add_int
      Src: /src/openssl/test/safe_math_test.c:96,1
    - Dst: safe_div_int
      Src: /src/openssl/test/safe_math_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:97,1
    - Dst: safe_neg_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:103,1
    - Dst: safe_neg_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:109,1
    - Dst: safe_abs_int
      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: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:115,1
    - Dst: safe_abs_int
      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_int_eq
      Src: /src/openssl/test/safe_math_test.c:121,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:125,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 61
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 127
    functionName: test_int_ops
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_add_int
    - safe_mul_int
    - safe_sub_int
    - TEST_int_eq
    - safe_div_int
    - safe_mod_int
    - safe_abs_int
    - safe_div_round_up_int
    - safe_neg_int
    - TEST_info
    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:152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:153,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:154,1
    - Dst: safe_sub_uint
      Src: /src/openssl/test/safe_math_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:159,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:160,1
    - Dst: safe_mul_uint
      Src: /src/openssl/test/safe_math_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:165,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:166,1
    - Dst: safe_div_uint
      Src: /src/openssl/test/safe_math_test.c:170,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:171,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:172,1
    - Dst: safe_mod_uint
      Src: /src/openssl/test/safe_math_test.c:176,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:177,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:178,1
    - Dst: safe_div_round_up_uint
      Src: /src/openssl/test/safe_math_test.c:182,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:183,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:184,1
    - Dst: safe_neg_uint
      Src: /src/openssl/test/safe_math_test.c:188,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:189,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:189,1
    - Dst: safe_neg_uint
      Src: /src/openssl/test/safe_math_test.c:193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:194,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:194,1
    - Dst: safe_abs_uint
      Src: /src/openssl/test/safe_math_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:199,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:199,1
    - Dst: safe_abs_uint
      Src: /src/openssl/test/safe_math_test.c:203,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:204,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:204,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:208,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 56
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 210
    functionName: test_uint_ops
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - safe_div_uint
    - safe_add_uint
    - safe_neg_uint
    - safe_sub_uint
    - safe_abs_uint
    - safe_mod_uint
    - TEST_int_eq
    - safe_div_round_up_uint
    - safe_mul_uint
    - TEST_info
    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:235,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:236,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:237,1
    - Dst: safe_sub_size_t
      Src: /src/openssl/test/safe_math_test.c:241,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:242,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:243,1
    - Dst: safe_mul_size_t
      Src: /src/openssl/test/safe_math_test.c:247,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:248,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:249,1
    - Dst: safe_div_size_t
      Src: /src/openssl/test/safe_math_test.c:253,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:254,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:255,1
    - Dst: safe_mod_size_t
      Src: /src/openssl/test/safe_math_test.c:259,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:260,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:261,1
    - Dst: safe_div_round_up_size_t
      Src: /src/openssl/test/safe_math_test.c:265,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:266,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:267,1
    - Dst: safe_neg_size_t
      Src: /src/openssl/test/safe_math_test.c:271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:272,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:272,1
    - Dst: safe_neg_size_t
      Src: /src/openssl/test/safe_math_test.c:276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:277,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:277,1
    - Dst: safe_abs_size_t
      Src: /src/openssl/test/safe_math_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:282,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:282,1
    - Dst: safe_abs_size_t
      Src: /src/openssl/test/safe_math_test.c:286,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:287,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:287,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:291,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 56
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 293
    functionName: test_size_t_ops
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_sub_size_t
    - safe_neg_size_t
    - safe_mul_size_t
    - TEST_int_eq
    - safe_add_size_t
    - safe_abs_size_t
    - TEST_size_t_eq
    - safe_div_size_t
    - safe_div_round_up_size_t
    - safe_mod_size_t
    - TEST_info
    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:323,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:326,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:327,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 332
    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:355,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:358,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:359,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 364
    functionName: test_uint_muldiv
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_uint_eq
    - safe_muldiv_uint
    - 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: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
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:371,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:371,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:372,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:372,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: setup_tests
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/dtlstest.c:49,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: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    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:57,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: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    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: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: timer_cb
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 5
    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:79,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:79,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:79,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:86,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:90,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:90,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: BIO_new
      Src: /src/openssl/test/dtlstest.c:96,1
    - Dst: bio_f_tls_dump_filter
      Src: /src/openssl/test/dtlstest.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:101,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:101,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:105,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:115,1
    - Dst: BIO_next
      Src: /src/openssl/test/dtlstest.c:116,1
    - Dst: mempacket_test_inject
      Src: /src/openssl/test/dtlstest.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:126,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/dtlstest.c:126,1
    - Dst: printf
      Src: /src/openssl/test/dtlstest.c:131,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:137,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:138,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:139,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 143
    functionName: test_dtls_unprocessed
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - DTLS_client_method
    - TEST_ptr
    - BIO_new
    - printf
    - DTLS_server_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - mempacket_test_inject
    - create_bare_ssl_connection
    - DTLS_set_timer_cb
    - SSL_CTX_free
    - SSL_free
    - BIO_next
    - bio_f_tls_dump_filter
    - create_ssl_ctx_pair
    - create_ssl_objects
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: int test_dtls_unprocessed(int testidx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:197,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:197,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:197,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:205,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:206,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:211,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/dtlstest.c:211,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/dtlstest.c:214,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlstest.c:215,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlstest.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:220,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:222,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:224,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/dtlstest.c:224,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/dtlstest.c:227,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/dtlstest.c:228,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:229,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:230,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:245,1
    - Dst: bio_f_tls_dump_filter
      Src: /src/openssl/test/dtlstest.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:250,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:255,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/dtlstest.c:255,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:259,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:260,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:264,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:271,1
    - Dst: BIO_next
      Src: /src/openssl/test/dtlstest.c:276,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:278,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:281,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:284,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/dtlstest.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:288,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:288,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/dtlstest.c:295,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:296,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:297,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:298,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:299,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 302
    functionName: test_dtls_drop_records
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_CTX_set_cookie_verify_cb
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_set_cookie_generate_cb
    - SSL_get1_session
    - SSL_CTX_free
    - BIO_next
    - create_ssl_connection
    - SSL_get_wbio
    - BIO_new
    - DTLS_server_method
    - TEST_int_eq
    - bio_f_tls_dump_filter
    - SSL_free
    - DTLS_client_method
    - SSL_CTX_set_cipher_list
    - SSL_set_session
    - SSL_SESSION_free
    - DTLS_set_timer_cb
    - SSL_session_reused
    - create_ssl_ctx_pair
    - SSL_CTX_set_dh_auto
    - BIO_ctrl
    - SSL_shutdown
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_dtls_drop_records(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:311,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:311,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:311,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:312,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/dtlstest.c:317,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlstest.c:318,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlstest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:323,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:323,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:324,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:329,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:331,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:331,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:337,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:338,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:339,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 343
    functionName: test_cookie
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - DTLS_client_method
    - DTLS_server_method
    - SSL_CTX_set_cookie_verify_cb
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_set_cipher_list
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_cookie(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:351,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:351,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:351,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:359,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:360,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:365,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:365,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:369,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:370,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:372,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:372,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:373,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:373,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:375,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:375,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:380,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:381,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:382,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 386
    functionName: test_dtls_duplicate_records
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - DTLS_client_method
    - DTLS_server_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - DTLS_set_timer_cb
    - SSL_CTX_free
    - SSL_free
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: int test_dtls_duplicate_records(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:418,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:418,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:425,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:425,1
    - Dst: SSL_new
      Src: /src/openssl/test/dtlstest.c:429,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:430,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/dtlstest.c:430,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:431,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/dtlstest.c:431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:433,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:433,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:433,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/dtlstest.c:437,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/dtlstest.c:438,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:440,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:442,1
    - Dst: BIO_write
      Src: /src/openssl/test/dtlstest.c:442,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:446,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:446,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:450,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtlstest.c:450,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:453,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/dtlstest.c:453,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/dtlstest.c:453,1
    - Dst: BIO_free
      Src: /src/openssl/test/dtlstest.c:458,1
    - Dst: BIO_free
      Src: /src/openssl/test/dtlstest.c:459,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:460,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 464
    functionName: test_just_finished
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - SSL_CTX_free
    - BIO_new
    - BIO_write
    - TEST_int_le
    - DTLS_server_method
    - TEST_int_eq
    - SSL_get_error
    - BIO_s_mem
    - SSL_free
    - SSL_accept
    - BIO_free
    - SSL_set0_wbio
    - SSL_CTX_set_cipher_list
    - SSL_set0_rbio
    - DTLS_set_timer_cb
    - ERR_get_error
    - create_ssl_ctx_pair
    - SSL_new
    linkageType: ''
    returnType: int
    signature: int test_just_finished(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:482,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:482,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:482,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:483,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:489,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:493,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:493,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:499,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:499,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:504,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:504,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:508,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:508,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:512,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:512,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:517,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:518,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:519,1
    - Dst: mempacket_swap_epoch
      Src: /src/openssl/test/dtlstest.c:519,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:524,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:524,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:528,1
    - Dst: SSL_write
      Src: /src/openssl/test/dtlstest.c:528,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:531,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:532,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:536,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:536,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:540,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:540,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:544,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: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:553,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:553,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:558,1
    - Dst: SSL_pending
      Src: /src/openssl/test/dtlstest.c:558,1
    - Dst: TEST_false
      Src: /src/openssl/test/dtlstest.c:559,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/dtlstest.c:559,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:564,1
    - Dst: SSL_pending
      Src: /src/openssl/test/dtlstest.c:564,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:565,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/dtlstest.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:572,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtlstest.c:572,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:577,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:578,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:579,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:580,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 76
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 583
    functionName: test_swap_records
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_write
    - SSL_has_pending
    - SSL_pending
    - TEST_true
    - mempacket_move_packet
    - SSL_CTX_free
    - SSL_get_wbio
    - TEST_int_le
    - DTLS_server_method
    - TEST_int_gt
    - TEST_int_eq
    - SSL_read
    - mempacket_swap_epoch
    - SSL_free
    - DTLS_client_method
    - SSL_accept
    - TEST_false
    - SSL_CTX_set_cipher_list
    - create_ssl_ctx_pair
    - SSL_connect
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_swap_records(int idx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:595,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:595,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:595,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:596,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:602,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:602,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:606,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:606,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:612,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:612,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:617,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:617,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:621,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:621,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:625,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:625,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:629,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:629,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:632,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:633,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:640,1
    - Dst: SSL_write
      Src: /src/openssl/test/dtlstest.c:640,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:643,1
    - Dst: mempacket_dup_last_packet
      Src: /src/openssl/test/dtlstest.c:643,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:647,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:647,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:654,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:654,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:660,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtlstest.c:660,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dtlstest.c:663,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:670,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtlstest.c:670,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:671,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtlstest.c:671,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:676,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:677,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:678,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:679,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 682
    functionName: test_duplicate_app_data
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_write
    - TEST_mem_eq
    - TEST_true
    - mempacket_move_packet
    - SSL_CTX_free
    - SSL_get_wbio
    - mempacket_dup_last_packet
    - TEST_int_le
    - DTLS_server_method
    - TEST_int_gt
    - TEST_int_eq
    - SSL_read
    - SSL_get_error
    - SSL_free
    - DTLS_client_method
    - SSL_accept
    - SSL_CTX_set_cipher_list
    - create_ssl_ctx_pair
    - SSL_connect
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_duplicate_app_data(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:691,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:691,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:691,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:692,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:699,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:699,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:700,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:700,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlstest.c:705,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlstest.c:706,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:708,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:708,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:712,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:713,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:719,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/dtlstest.c:719,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:725,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:726,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:727,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 731
    functionName: test_listen
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - DTLS_client_method
    - DTLS_server_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - SSL_CTX_set_cookie_verify_cb
    - SSL_CTX_set_cookie_generate_cb
    - create_bare_ssl_connection
    - DTLS_set_timer_cb
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - create_ssl_objects
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_listen(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/dtlstest.c:737,1
    - Dst: TEST_error
      Src: /src/openssl/test/dtlstest.c:738,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:742,1
    - Dst: test_get_argument
      Src: /src/openssl/test/dtlstest.c:742,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:743,1
    - Dst: test_get_argument
      Src: /src/openssl/test/dtlstest.c:743,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlstest.c:746,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlstest.c:748,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:750,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:751,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:752,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlstest.c:753,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:754,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 758
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    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:762,1
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/dtlstest.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 764
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 6
    functionsReached:
    - bio_f_tls_dump_filter_free
    - 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:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    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: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    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: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    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: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    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:499,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/asn1_encode_test.c:503,1
    - Dst: memcmp
      Src: /src/openssl/test/asn1_encode_test.c:509,1
    - Dst: TEST_PACKAGE*::ifree
      Src: /src/openssl/test/asn1_encode_test.c:515,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: 517
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 517
    functionName: do_decode
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - TEST_PACKAGE*::d2i
    - memcmp
    - ERR_clear_error
    - TEST_PACKAGE*::ifree
    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:534,1
    - Dst: memcmp
      Src: /src/openssl/test/asn1_encode_test.c:539,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/asn1_encode_test.c:542,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:550,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: 552
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 552
    functionName: do_encode
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - TEST_PACKAGE*::i2d
    - memcmp
    - ERR_clear_error
    - OPENSSL_free
    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:563,1
    - Dst: do_decode
      Src: /src/openssl/test/asn1_encode_test.c:567,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - nbytes
    - package
    argTypes:
    - EXPECTED*
    - long
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 570
    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:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - len
    - pp
    argTypes:
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 598
    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:611,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:623,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:625,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:633,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/asn1_encode_test.c:636,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:642,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_encode_test.c:645,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:650,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_encode_test.c:651,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:658,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:660,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_encode_test.c:661,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_encode_test.c:665,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: 668
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 668
    functionName: make_custom_der
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_assert
    - der_encode_length
    - OPENSSL_malloc
    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:680,1
    - Dst: do_decode
      Src: /src/openssl/test/asn1_encode_test.c:686,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:688,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: 691
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 691
    functionName: do_decode_custom
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - make_custom_der
    - do_decode
    - OPENSSL_free
    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:699,1
    - Dst: do_encode
      Src: /src/openssl/test/asn1_encode_test.c:705,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:706,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: 709
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 709
    functionName: do_encode_custom
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - make_custom_der
    - do_encode
    - OPENSSL_free
    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:714,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_encode_test.c:718,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/asn1_encode_test.c:719,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/asn1_encode_test.c:722,1
    - Dst: ASN1_item_print
      Src: /src/openssl/test/asn1_encode_test.c:724,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - package
    argTypes:
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 711
    functionDepth: 8
    functionLinenumber: 711
    functionLinenumberEnd: 728
    functionName: do_print_item
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - OPENSSL_free
    - ASN1_ITEM_ptr
    - ASN1_item_print
    - OPENSSL_assert
    - 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:742,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_encode_test.c:742,1
    - Dst: do_encode_custom
      Src: /src/openssl/test/asn1_encode_test.c:748,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:751,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:753,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:758,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:760,1
    - Dst: OPENSSL_die
      Src: /src/openssl/test/asn1_encode_test.c:766,1
    - Dst: do_decode_custom
      Src: /src/openssl/test/asn1_encode_test.c:769,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:774,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:776,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:781,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:783,1
    - Dst: OPENSSL_die
      Src: /src/openssl/test/asn1_encode_test.c:789,1
    - Dst: do_enc_dec
      Src: /src/openssl/test/asn1_encode_test.c:801,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:805,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:807,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:812,1
    - Dst: OPENSSL_die
      Src: /src/openssl/test/asn1_encode_test.c:819,1
    - Dst: do_print_item
      Src: /src/openssl/test/asn1_encode_test.c:824,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:825,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:826,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 1
    argNames:
    - package
    argTypes:
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 730
    functionDepth: 9
    functionLinenumber: 730
    functionLinenumberEnd: 831
    functionName: test_intern
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - do_print_item
    - TEST_error
    - do_encode_custom
    - do_enc_dec
    - OSSL_NELEM
    - do_decode_custom
    - OPENSSL_die
    - OPENSSL_assert
    - TEST_openssl_errors
    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:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 10
    functionLinenumber: 834
    functionLinenumberEnd: 837
    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:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 10
    functionLinenumber: 839
    functionLinenumberEnd: 842
    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:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 10
    functionLinenumber: 845
    functionLinenumberEnd: 848
    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:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 10
    functionLinenumber: 850
    functionLinenumberEnd: 853
    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:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 10
    functionLinenumber: 855
    functionLinenumberEnd: 858
    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:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 10
    functionLinenumber: 860
    functionLinenumberEnd: 863
    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:882,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_encode_test.c:885,1
    - Dst: i2d_INVALIDTEMPLATE
      Src: /src/openssl/test/asn1_encode_test.c:888,1
    - Dst: INVALIDTEMPLATE_free
      Src: /src/openssl/test/asn1_encode_test.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 894
    functionName: test_invalid_template
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - INVALIDTEMPLATE_free
    - INVALIDTEMPLATE_new
    - TEST_ptr
    - i2d_INVALIDTEMPLATE
    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:131,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_mp_test.c:131,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:132,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:133,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:134,1
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_mp_test.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: key2048_key
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_int_eq
    - RSA_size
    - RSA_set0_key
    linkageType: ''
    returnType: int
    signature: int key2048_key(RSA *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_mp_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:146,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_mp_test.c:146,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:147,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:148,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:152,1
    - Dst: RSA_set0_crt_params
      Src: /src/openssl/test/rsa_mp_test.c:152,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:153,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:154,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:155,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/rsa_mp_test.c:160,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/rsa_mp_test.c:161,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/rsa_mp_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:163,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:166,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:167,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:172,1
    - Dst: RSA_set0_multi_prime_params
      Src: /src/openssl/test/rsa_mp_test.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rsa_mp_test.c:177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rsa_mp_test.c:178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rsa_mp_test.c:179,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:183,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:185,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:187,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 190
    functionName: key2048p3_v1
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - RSA_size
    - RSA_set0_factors
    - TEST_true
    - TEST_int_eq
    - RSA_set0_crt_params
    - RSA_set0_multi_prime_params
    - 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:194,1
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_mp_test.c:196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:198,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/test/rsa_mp_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:199,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/test/rsa_mp_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:200,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/test/rsa_mp_test.c:200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:203,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:203,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:204,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:204,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:205,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:205,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:206,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:207,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:207,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:208,1
    - Dst: sk_BIGNUM_push
      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_true
      Src: /src/openssl/test/rsa_mp_test.c:225,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/openssl/test/rsa_mp_test.c:225,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/test/rsa_mp_test.c:229,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/test/rsa_mp_test.c:230,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/test/rsa_mp_test.c:231,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/test/rsa_mp_test.c:234,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/test/rsa_mp_test.c:235,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/test/rsa_mp_test.c:236,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 240
    functionName: key2048p3_v2
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - sk_BIGNUM_new_null
    - TEST_ptr
    - RSA_size
    - sk_BIGNUM_pop_free
    - TEST_true
    - sk_BIGNUM_push
    - sk_BIGNUM_free
    - STACK_OF
    - ossl_rsa_set0_all_params
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int key2048p3_v2(RSA *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_mp_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:259,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:262,1
    - Dst: key2048_key
      Src: /src/openssl/test/rsa_mp_test.c:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:266,1
    - Dst: RSA_check_key_ex
      Src: /src/openssl/test/rsa_mp_test.c:266,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/test/rsa_mp_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:271,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_mp_test.c:274,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rsa_mp_test.c:275,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_mp_test.c:280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 242
    functionDepth: 10
    functionLinenumber: 242
    functionLinenumberEnd: 282
    functionName: test_rsa_mp
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - RSA_new
    - key2048_key
    - TEST_true
    - RSA_free
    - RSA_public_encrypt
    - TEST_int_eq
    - RSA_private_decrypt
    - RSA_check_key_ex
    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:290,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_mp_test.c:290,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:293,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_mp_test.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:295,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_mp_test.c:295,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:299,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/test/rsa_mp_test.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:303,1
    - Dst: RSA_generate_multi_prime_key
      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: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:311,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_mp_test.c:312,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 314
    functionName: test_rsa_mp_gen_bad_input
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - RSA_new
    - TEST_true
    - RSA_free
    - TEST_int_eq
    - BN_free
    - BN_new
    - 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:318,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_mp_test.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    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: 86
    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:
    - TEST_false
    - WPACKET_get_total_written
    - TEST_mem_eq
    - cleanup
    - WPACKET_init_len
    - TEST_true
    - WPACKET_put_bytes_u24
    - WPACKET_put_bytes_u8
    - TEST_int_eq
    - WPACKET_put_bytes_u16
    - WPACKET_finish
    - WPACKET_init
    - WPACKET_close
    - 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:
    - TEST_false
    - WPACKET_init_len
    - cleanup
    - WPACKET_get_total_written
    - TEST_mem_eq
    - TEST_true
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - WPACKET_init
    - WPACKET_set_max_size
    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:
    - TEST_false
    - WPACKET_get_total_written
    - TEST_mem_eq
    - cleanup
    - TEST_true
    - WPACKET_fill_lengths
    - WPACKET_put_bytes_u8
    - WPACKET_start_sub_packet_u8
    - WPACKET_finish
    - WPACKET_get_length
    - WPACKET_init
    - WPACKET_close
    - WPACKET_start_sub_packet
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_start_sub_packet(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:275,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:275,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:276,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:276,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:278,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:279,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:280,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:281,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:281,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:282,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:286,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:287,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:288,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:288,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:290,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:291,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:292,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:293,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:294,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:294,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:295,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:299,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:299,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:300,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:301,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:302,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:302,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:303,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:307,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:307,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:308,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:309,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:309,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:310,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:311,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:311,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:312,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:312,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:313,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:317,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:318,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:319,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:320,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:321,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:322,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:323,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:323,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:324,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:325,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 327
    functionName: test_WPACKET_set_flags
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - WPACKET_get_total_written
    - TEST_mem_eq
    - cleanup
    - WPACKET_init_len
    - TEST_true
    - WPACKET_set_flags
    - WPACKET_put_bytes_u8
    - WPACKET_start_sub_packet_u8
    - WPACKET_finish
    - WPACKET_init
    - WPACKET_close
    - WPACKET_start_sub_packet
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_set_flags(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:335,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:335,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:336,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/test/wpackettest.c:336,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:337,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:340,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:340,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:341,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:341,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:342,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:343,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:346,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:346,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:347,1
    - Dst: WPACKET_sub_allocate_bytes_u8
      Src: /src/openssl/test/wpackettest.c:347,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:351,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:352,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:352,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:353,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 357
    functionName: test_WPACKET_allocate_bytes
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_init_len
    - cleanup
    - WPACKET_allocate_bytes
    - TEST_mem_eq
    - TEST_true
    - WPACKET_finish
    - 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:365,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:366,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/wpackettest.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:367,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:368,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:368,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:369,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:370,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:373,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:373,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:374,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/test/wpackettest.c:374,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:375,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:376,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:376,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:377,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 381
    functionName: test_WPACKET_memcpy
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_init_len
    - TEST_mem_eq
    - cleanup
    - WPACKET_sub_memcpy_u8
    - TEST_true
    - WPACKET_finish
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_memcpy(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:395,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/test/wpackettest.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:396,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/test/wpackettest.c:396,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:398,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:398,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:399,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/wpackettest.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:400,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:401,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:403,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:404,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:405,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:406,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:407,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:407,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:408,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:409,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:410,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:410,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:411,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/test/wpackettest.c:411,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:413,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/wpackettest.c:416,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/wpackettest.c:416,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:426,1
    - Dst: WPACKET_init_null_der
      Src: /src/openssl/test/wpackettest.c:426,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:429,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/test/wpackettest.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:432,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:432,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:433,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/wpackettest.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:435,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:435,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:436,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:437,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:437,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:438,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:446,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:447,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/test/wpackettest.c:447,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 383
    functionDepth: 8
    functionLinenumber: 383
    functionLinenumberEnd: 452
    functionName: test_WPACKET_init_der
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - WPACKET_get_total_written
    - TEST_mem_eq
    - cleanup
    - RAND_bytes
    - TEST_true
    - TEST_int_gt
    - WPACKET_put_bytes_u24
    - WPACKET_put_bytes_u8
    - WPACKET_set_flags
    - WPACKET_finish
    - WPACKET_init_null_der
    - TEST_size_t_eq
    - WPACKET_init_der
    - WPACKET_close
    - WPACKET_memcpy
    - WPACKET_start_sub_packet
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_init_der(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:463,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:463,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:464,1
    - Dst: WPACKET_start_quic_sub_packet
      Src: /src/openssl/test/wpackettest.c:464,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:465,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:465,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:467,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:468,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:468,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:470,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:472,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:472,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:473,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:473,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:474,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:475,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:478,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:479,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:480,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:480,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:481,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:482,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:482,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:483,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:483,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:484,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:484,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:485,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:485,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:486,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:490,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:490,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:491,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:491,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:492,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:492,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:493,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:493,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:494,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:494,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:495,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:495,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:496,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:497,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:497,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:498,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:502,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:503,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:503,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:504,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:504,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:505,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:506,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:506,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:507,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:507,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:508,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:509,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:509,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:510,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:511,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:514,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:514,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:515,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:516,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:516,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:517,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:518,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:518,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:519,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:519,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:520,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:520,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:521,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:521,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:522,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:523,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:526,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:526,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:527,1
    - Dst: WPACKET_quic_sub_allocate_bytes
      Src: /src/openssl/test/wpackettest.c:527,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:528,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:534,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:535,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:535,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:536,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:537,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:540,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:540,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:541,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:541,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:542,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:542,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:543,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:544,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:544,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:545,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:545,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:546,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:546,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:547,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:548,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:548,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:549,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:549,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:550,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:550,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:552,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:552,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:553,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:553,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:554,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:555,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:555,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:556,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:556,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:557,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:558,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:558,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:559,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:560,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:560,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:561,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:561,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:562,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:563,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:563,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:564,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:564,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:565,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:565,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:566,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:566,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:567,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:568,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:571,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:571,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:572,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:572,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:573,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:573,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:574,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:576,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 578
    functionName: test_WPACKET_quic
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_quic_sub_packet
    - TEST_false
    - WPACKET_get_total_written
    - TEST_mem_eq
    - cleanup
    - WPACKET_cleanup
    - WPACKET_quic_write_vlint
    - TEST_true
    - WPACKET_start_quic_sub_packet_bound
    - WPACKET_finish
    - WPACKET_get_length
    - WPACKET_init
    - WPACKET_close
    - WPACKET_quic_sub_allocate_bytes
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_quic(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/wpackettest.c:589,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/wpackettest.c:589,1
    - Dst: memcpy
      Src: /src/openssl/test/wpackettest.c:592,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:612,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:613,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:614,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:614,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:615,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:617,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/wpackettest.c:617,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:618,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/test/wpackettest.c:618,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/wpackettest.c:619,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:620,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:622,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:625,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 580
    functionDepth: 8
    functionLinenumber: 580
    functionLinenumberEnd: 627
    functionName: test_WPACKET_quic_vlint_random
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - cleanup
    - RAND_bytes
    - PACKET_buf_init
    - TEST_uint64_t_eq
    - WPACKET_cleanup
    - WPACKET_quic_write_vlint
    - TEST_true
    - TEST_int_gt
    - WPACKET_init
    - PACKET_get_quic_vlint
    - memcpy
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_quic_vlint_random(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/wpackettest.c:633,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/wpackettest.c:633,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:636,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:644,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 648
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - ADD_TEST
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/wpackettest.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 653
    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:
    - SSL_get0_peer_certificate
    - TEST_ptr
    - X509_free
    - BIO_free
    - X509_new_ex
    - PEM_read_bio_PrivateKey_ex
    - BIO_new_file
    - 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:
    - OPENSSL_free
    - TEST_true
    - SSL_set1_compressed_cert
    - SSL_get1_compressed_cert
    - TEST_size_t_gt
    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
    - SSL_state_string
    - SSL_get_app_data
    - strcmp
    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:
    - SSL_get_app_data
    - SSL_set_info_callback
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_set_verify
    - SSL_CTX_compress_certs
    - TEST_int_gt
    - TEST_int_eq
    - ssl_comp_cert
    - SSL_free
    - TEST_false
    - SSL_set_app_data
    - SSL_CTX_set1_cert_comp_preference
    - create_ssl_ctx_pair
    - SSL_CTX_set_client_cert_cb
    - TLS_client_method
    - SSL_CONNECTION_FROM_SSL
    - OSSL_NELEM
    - TEST_info
    - create_ssl_objects
    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:
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - test_mk_file_path
    - test_skip_common_options
    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_uint_eq
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_conn_id_eq
    - TEST_int_eq
    - TEST_ptr_null
    - TEST_size_t_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:
    - sk_SSL_CIPHER_free
    - TEST_int_eq
    - TEST_ptr_null
    - STACK_OF
    - SSL_bytes_to_cipher_list
    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_ptr
    - sk_SSL_CIPHER_free
    - TEST_true
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - STACK_OF
    - TEST_str_eq
    - sk_SSL_CIPHER_num
    - SSL_bytes_to_cipher_list
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int test_unsupported(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cipherbytes_test.c:71,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:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:80,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:80,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:82,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:82,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:83,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:83,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:83,1
    - Dst: TEST_str_eq
      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: TEST_str_eq
      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: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:89,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:89,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:89,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:91,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:91,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:91,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:97,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: test_v3
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - sk_SSL_CIPHER_free
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - STACK_OF
    - TEST_str_eq
    - sk_SSL_CIPHER_num
    - SSL_bytes_to_cipher_list
    - 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:104,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/cipherbytes_test.c:104,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/cipherbytes_test.c:104,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:105,1
    - Dst: SSL_new
      Src: /src/openssl/test/cipherbytes_test.c:105,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:108,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:109,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - TEST_ptr
    - ADD_TEST
    - SSL_CTX_new
    - TLS_server_method
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/test/cipherbytes_test.c:116,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherbytes_test.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    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:51,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:51,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:57,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:60,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/aesgcmtest.c:60,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aesgcmtest.c:61,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/aesgcmtest.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:62,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/aesgcmtest.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:65,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/aesgcmtest.c:66,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aesgcmtest.c:67,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: 69
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 69
    functionName: do_encrypt
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_aes_256_gcm
    - TEST_ptr
    - TEST_true
    - EVP_EncryptFinal_ex
    - TEST_int_eq
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_EncryptUpdate
    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:80,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aesgcmtest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:81,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:81,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/aesgcmtest.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:84,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:84,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aesgcmtest.c:85,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/aesgcmtest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:86,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:89,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:92,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/aesgcmtest.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:95,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/test/aesgcmtest.c:95,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/aesgcmtest.c:96,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aesgcmtest.c:98,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: 100
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 100
    functionName: do_decrypt
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_aes_256_gcm
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_DecryptInit_ex
    - TEST_int_eq
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    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:108,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/aesgcmtest.c:109,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/aesgcmtest.c:110,1
    - Dst: do_decrypt
      Src: /src/openssl/test/aesgcmtest.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: kat_test
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - do_decrypt
    - do_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int kat_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aesgcmtest.c:120,1
    - Dst: EVP_aes_192_gcm
      Src: /src/openssl/test/aesgcmtest.c:120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/aesgcmtest.c:121,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aesgcmtest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:122,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:122,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/aesgcmtest.c:123,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/test/aesgcmtest.c:123,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aesgcmtest.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: badkeylen_test
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_ptr
    - TEST_int_le
    - TEST_true
    - EVP_CIPHER_CTX_set_key_length
    - EVP_aes_192_gcm
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: int badkeylen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/openssl/test/aesgcmtest.c:135,1
    - Dst: do_decrypt
      Src: /src/openssl/test/aesgcmtest.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: ivgen_test
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - do_decrypt
    - do_encrypt
    linkageType: ''
    returnType: int
    signature: int ivgen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/aesgcmtest.c:141,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/aesgcmtest.c:142,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/aesgcmtest.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_memfail_test.c:36,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/quic_memfail_test.c:36,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quic_memfail_test.c:38,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quic_memfail_test.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_memfail_test.c:39,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_memfail_test.c:42,1
    - Dst: ossl_quic_set_diag_title
      Src: /src/openssl/test/quic_memfail_test.c:42,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/quic_memfail_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_memfail_test.c:46,1
    - Dst: QUIC_LISTENER_FROM_SSL
      Src: /src/openssl/test/quic_memfail_test.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_memfail_test.c:50,1
    - Dst: ossl_quic_port_test_and_set_peeloff
      Src: /src/openssl/test/quic_memfail_test.c:50,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/quic_memfail_test.c:53,1
    - Dst: ossl_quic_port_create_incoming
      Src: /src/openssl/test/quic_memfail_test.c:54,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/quic_memfail_test.c:55,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/test/quic_memfail_test.c:72,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/quic_memfail_test.c:73,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/test/quic_memfail_test.c:74,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_memfail_test.c:75,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_memfail_test.c:78,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_memfail_test.c:79,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/quic_memfail_test.c:80,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: test_ossl_quic_port_create_incoming
    functionSourceFile: /src/openssl/test/quic_memfail_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - MFAIL_start
    - ossl_quic_channel_get0_tls
    - ossl_quic_port_test_and_set_peeloff
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - SSL_new_listener
    - OSSL_QUIC_server_method
    - TEST_true
    - QUIC_LISTENER_FROM_SSL
    - MFAIL_end
    - SSL_CONNECTION_FROM_SSL
    - ossl_quic_set_diag_title
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CTX_free
    - OSSL_LIB_CTX_free
    - ossl_quic_port_create_incoming
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ossl_quic_port_create_incoming(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_memfail_test.c:95,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/quic_memfail_test.c:95,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quic_memfail_test.c:97,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quic_memfail_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_memfail_test.c:98,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/quic_memfail_test.c:101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_memfail_test.c:102,1
    - Dst: QUIC_LISTENER_FROM_SSL
      Src: /src/openssl/test/quic_memfail_test.c:104,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/quic_memfail_test.c:114,1
    - Dst: ossl_quic_channel_alloc
      Src: /src/openssl/test/quic_memfail_test.c:115,1
    - Dst: ossl_quic_channel_init
      Src: /src/openssl/test/quic_memfail_test.c:119,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/test/quic_memfail_test.c:127,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/quic_memfail_test.c:130,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_memfail_test.c:135,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_memfail_test.c:136,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/quic_memfail_test.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 139
    functionName: test_ch_cleanup_idempotent
    functionSourceFile: /src/openssl/test/quic_memfail_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - MFAIL_start
    - ossl_quic_channel_init
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - ossl_quic_channel_alloc
    - SSL_new_listener
    - OSSL_QUIC_server_method
    - MFAIL_end
    - QUIC_LISTENER_FROM_SSL
    - OSSL_LIB_CTX_free
    - SSL_CTX_free
    - SSL_free
    - ossl_quic_channel_free
    linkageType: ''
    returnType: int
    signature: int test_ch_cleanup_idempotent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/quic_memfail_test.c:143,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/quic_memfail_test.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_memfail_test.c
    functionUses: 0
    functionsReached:
    - ADD_MFAIL_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:
    - test_get_argument
    - TEST_int_eq
    - TEST_ptr
    - fips_provider_version_match
    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:
    - test_get_libctx
    - ADD_ALL_TESTS
    - opt_arg
    - opt_next
    - test_get_argument_count
    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:
    - TEST_int_eq
    - ossl_quic_wire_encode_padding
    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:
    - ossl_quic_wire_decode_padding
    - TEST_size_t_eq
    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:
    - ossl_quic_wire_encode_frame_ping
    - TEST_int_eq
    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:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_ping
    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:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_ack
    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_uint64_t_eq
    - TEST_mem_eq
    - TEST_true
    - TEST_uint64_t_le
    - TEST_int_eq
    - OSSL_NELEM
    - ossl_quic_wire_peek_frame_ack_num_ranges
    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:179,1
    - Dst: ossl_quic_wire_encode_frame_reset_stream
      Src: /src/openssl/test/quic_wire_test.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: encode_case_4_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_reset_stream
    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:191,1
    - Dst: ossl_quic_wire_decode_frame_reset_stream
      Src: /src/openssl/test/quic_wire_test.c:191,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: encode_case_4_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_reset_stream
    - TEST_mem_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:224,1
    - Dst: ossl_quic_wire_encode_frame_stop_sending
      Src: /src/openssl/test/quic_wire_test.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: encode_case_5_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_stop_sending
    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:236,1
    - Dst: ossl_quic_wire_decode_frame_stop_sending
      Src: /src/openssl/test/quic_wire_test.c:236,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: encode_case_5_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_stop_sending
    - TEST_int_eq
    - TEST_mem_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:265,1
    - Dst: ossl_quic_wire_encode_frame_crypto
      Src: /src/openssl/test/quic_wire_test.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: encode_case_6_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_crypto
    - TEST_ptr
    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:276,1
    - Dst: ossl_quic_wire_decode_frame_crypto
      Src: /src/openssl/test/quic_wire_test.c:276,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:282,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:285,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: encode_case_6_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_crypto
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_uint64_t_le
    - TEST_int_eq
    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:310,1
    - Dst: ossl_quic_wire_encode_frame_new_token
      Src: /src/openssl/test/quic_wire_test.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: encode_case_7_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_new_token
    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:324,1
    - Dst: ossl_quic_wire_decode_frame_new_token
      Src: /src/openssl/test/quic_wire_test.c:324,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: encode_case_7_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_mem_eq
    - ossl_quic_wire_decode_frame_new_token
    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:357,1
    - Dst: ossl_quic_wire_encode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: encode_case_8_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_stream
    - TEST_ptr
    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:375,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:375,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:381,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:384,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:388,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:391,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 401
    functionName: encode_case_8_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_uint64_t_le
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_stream
    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:419,1
    - Dst: ossl_quic_wire_encode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 424
    functionName: encode_case_9_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_stream
    - TEST_ptr
    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:430,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:430,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:436,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:439,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:443,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:446,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:452,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 456
    functionName: encode_case_9_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_uint64_t_le
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_stream
    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:469,1
    - Dst: ossl_quic_wire_encode_frame_max_data
      Src: /src/openssl/test/quic_wire_test.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 473
    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:479,1
    - Dst: ossl_quic_wire_decode_frame_max_data
      Src: /src/openssl/test/quic_wire_test.c:479,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: encode_case_10_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_max_data
    - 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:500,1
    - Dst: ossl_quic_wire_encode_frame_max_stream_data
      Src: /src/openssl/test/quic_wire_test.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 507
    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:513,1
    - Dst: ossl_quic_wire_decode_frame_max_stream_data
      Src: /src/openssl/test/quic_wire_test.c:513,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:522,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 529
    functionName: encode_case_11_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_max_stream_data
    - TEST_int_eq
    - 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:544,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:544,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:547,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: encode_case_12_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_max_streams
    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:560,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:560,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:569,1
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:569,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:575,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:575,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:580,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:584,1
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:584,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:590,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:594,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:598,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:602,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 606
    functionName: encode_case_12_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_wire_peek_frame_header
    - TEST_int_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:622,1
    - Dst: ossl_quic_wire_encode_frame_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: encode_case_13_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_data_blocked
    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:632,1
    - Dst: ossl_quic_wire_decode_frame_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:632,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 644
    functionName: encode_case_13_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_data_blocked
    - 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:655,1
    - Dst: ossl_quic_wire_encode_frame_stream_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 662
    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:668,1
    - Dst: ossl_quic_wire_decode_frame_stream_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:668,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:677,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 684
    functionName: encode_case_14_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_uint64_t_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:699,1
    - Dst: ossl_quic_wire_encode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:699,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:702,1
    - Dst: ossl_quic_wire_encode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 706
    functionName: encode_case_15_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_streams_blocked
    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:715,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:715,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:720,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:724,1
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:724,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:730,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:730,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:735,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:738,1
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:738,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:744,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:748,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:752,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:756,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 760
    functionName: encode_case_15_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_wire_peek_frame_header
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_streams_blocked
    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:789,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 795
    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:801,1
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:801,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:807,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:810,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:813,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:816,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 827
    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_int_eq
    - TEST_mem_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:851,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 857
    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:863,1
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:863,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:866,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/quic_wire_test.c:866,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_wire_test.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 870
    functionName: encode_case_16b_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_new_conn_id
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - TEST_int_eq
    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:885,1
    - Dst: ossl_quic_wire_encode_frame_retire_conn_id
      Src: /src/openssl/test/quic_wire_test.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 889
    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:895,1
    - Dst: ossl_quic_wire_decode_frame_retire_conn_id
      Src: /src/openssl/test/quic_wire_test.c:895,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 905
    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:919,1
    - Dst: ossl_quic_wire_encode_frame_path_challenge
      Src: /src/openssl/test/quic_wire_test.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 925
    functionName: encode_case_18_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_path_challenge
    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:931,1
    - Dst: ossl_quic_wire_decode_frame_path_challenge
      Src: /src/openssl/test/quic_wire_test.c:931,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 941
    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:961,1
    - Dst: ossl_quic_wire_encode_frame_path_response
      Src: /src/openssl/test/quic_wire_test.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 967
    functionName: encode_case_19_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_path_response
    - TEST_int_eq
    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:973,1
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/test/quic_wire_test.c:973,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 983
    functionName: encode_case_19_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_uint64_t_eq
    - ossl_quic_wire_decode_frame_path_response
    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:1014,1
    - Dst: ossl_quic_wire_encode_frame_conn_close
      Src: /src/openssl/test/quic_wire_test.c:1014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: encode_case_20_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_conn_close
    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:1026,1
    - Dst: ossl_quic_wire_decode_frame_conn_close
      Src: /src/openssl/test/quic_wire_test.c:1026,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1032,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1035,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1038,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1041,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1044,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1049
    functionName: encode_case_20_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_conn_close
    - TEST_size_t_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:1064,1
    - Dst: ossl_quic_wire_encode_frame_handshake_done
      Src: /src/openssl/test/quic_wire_test.c:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1068
    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:1073,1
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/test/quic_wire_test.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1077
    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:1090,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1090,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1095,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1103
    functionName: encode_case_22_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_transport_param_bytes
    - TEST_ptr
    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:1112,1
    - Dst: ossl_quic_wire_peek_transport_param
      Src: /src/openssl/test/quic_wire_test.c:1112,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1117,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1124,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_wire_test.c:1127,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1132,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1136,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1140,1
    - Dst: ossl_quic_wire_peek_transport_param
      Src: /src/openssl/test/quic_wire_test.c:1140,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1145,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1152,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_wire_test.c:1155,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1160,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1164,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 36
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1168
    functionName: encode_case_22_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - ossl_quic_wire_decode_transport_param_bytes
    - TEST_int_eq
    - TEST_ptr_null
    - ossl_quic_wire_peek_transport_param
    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:1183,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1183,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1186,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: encode_case_23_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_transport_param_int
    - TEST_int_eq
    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:1196,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1196,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1202,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1206,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1209,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1209,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1215,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1223
    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: 1250
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1250
    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:1289,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quic_wire_test.c:1289,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1292,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quic_wire_test.c:1292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1296,1
    - Dst: struct encode_test_case*::serializer
      Src: /src/openssl/test/quic_wire_test.c:1296,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1299,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_wire_test.c:1299,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1302,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1305,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1308,1
    - Dst: struct encode_test_case*::deserializer
      Src: /src/openssl/test/quic_wire_test.c:1308,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_wire_test.c:1311,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_wire_test.c:1311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1324,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1324,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1327,1
    - Dst: struct encode_test_case*::deserializer
      Src: /src/openssl/test/quic_wire_test.c:1327,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_wire_test.c:1334,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_wire_test.c:1335,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1278
    functionDepth: 5
    functionLinenumber: 1278
    functionLinenumberEnd: 1337
    functionName: test_wire_encode
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - PACKET_remaining
    - WPACKET_get_total_written
    - TEST_ptr
    - struct encode_test_case*::serializer
    - TEST_mem_eq
    - PACKET_buf_init
    - TEST_false
    - BUF_MEM_free
    - TEST_int_eq
    - WPACKET_finish
    - WPACKET_init
    - struct encode_test_case*::deserializer
    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:1439,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1441,1
    - Dst: ossl_quic_wire_peek_frame_ack_num_ranges
      Src: /src/openssl/test/quic_wire_test.c:1441,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/test/quic_wire_test.c:1446,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1450,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:1454,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_wire_test.c:1456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1461
    functionName: ack_generic_decode
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_ack
    - TEST_uint64_t_eq
    - TEST_uint64_t_lt
    - TEST_uint64_t_le
    - TEST_int_eq
    - OSSL_NELEM
    - ossl_quic_wire_peek_frame_ack_num_ranges
    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: 1470
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1470
    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:1487,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1487,1
    - Dst: struct ack_test_case*::deserializer
      Src: /src/openssl/test/quic_wire_test.c:1493,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1495,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1498,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_wire_test.c:1501,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_wire_test.c:1501,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1508
    functionName: test_wire_ack
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - TEST_false
    - PACKET_buf_init
    - struct ack_test_case*::deserializer
    - TEST_int_eq
    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:1549,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1550,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1553,1
    - Dst: ossl_quic_wire_encode_pkt_hdr_pn
      Src: /src/openssl/test/quic_wire_test.c:1553,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:1559,1
    - Dst: ossl_quic_wire_decode_pkt_hdr_pn
      Src: /src/openssl/test/quic_wire_test.c:1559,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - tidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1569
    functionName: test_wire_pkt_hdr_pn
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_determine_pn_len
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_wire_decode_pkt_hdr_pn
    - TEST_int_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:1597,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1597,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1600,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/quic_wire_test.c:1600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1603,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1606,1
    - Dst: ossl_quic_calculate_retry_integrity_tag
      Src: /src/openssl/test/quic_wire_test.c:1606,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1611,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1617,1
    - Dst: ossl_quic_validate_retry_integrity_tag
      Src: /src/openssl/test/quic_wire_test.c:1617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1624
    functionName: test_wire_retry_integrity_tag
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_pkt_hdr
    - PACKET_buf_init
    - TEST_mem_eq
    - TEST_true
    - TEST_int_eq
    - ossl_quic_validate_retry_integrity_tag
    - ossl_quic_calculate_retry_integrity_tag
    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:1676,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1676,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1680,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:1680,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_wire_test.c:1684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1690
    functionName: test_wire_minimal
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_true
    - PACKET_buf_init
    - ossl_quic_wire_peek_frame_header
    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:1694,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1694,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1695,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1695,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1696,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1696,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_wire_test.c:1697,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1698,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1700
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:
    - ASN1_item_i2d
    - TEST_false
    - TEST_ptr
    - OPENSSL_free
    - BIO_read
    - BIO_free
    - ERR_GET_REASON
    - ASN1_item_free
    - ASN1_item_d2i
    - TEST_int_eq
    - TEST_ptr_null
    - TEST_int_ge
    - ERR_peek_error
    - BIO_new_file
    - ASN1_item_d2i_bio
    - memcmp
    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:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - strcmp
    - ASN1_ITEM_lookup
    - TEST_error
    - TEST_note
    - OSSL_NELEM
    - test_skip_common_options
    - ASN1_ITEM_get
    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_sym
    - sd_close
    - fprintf
    - sd_load
    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:
    - fprintf
    - test_load
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/clienthellotest.c:67,1
    - Dst: memset
      Src: /src/openssl/test/clienthellotest.c:68,1
    - Dst: memset
      Src: /src/openssl/test/clienthellotest.c:69,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/clienthellotest.c:75,1
    - Dst: TLS_method
      Src: /src/openssl/test/clienthellotest.c:75,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:78,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/clienthellotest.c:78,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/clienthellotest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:89,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/clienthellotest.c:89,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/clienthellotest.c:96,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/clienthellotest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:100,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/clienthellotest.c:100,1
    - Dst: TEST_false
      Src: /src/openssl/test/clienthellotest.c:109,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/clienthellotest.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:117,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/clienthellotest.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:119,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/clienthellotest.c:119,1
    - Dst: SSL_new
      Src: /src/openssl/test/clienthellotest.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:130,1
    - Dst: BIO_new
      Src: /src/openssl/test/clienthellotest.c:133,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/clienthellotest.c:133,1
    - Dst: BIO_new
      Src: /src/openssl/test/clienthellotest.c:134,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/clienthellotest.c:134,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:135,1
    - Dst: BIO_free
      Src: /src/openssl/test/clienthellotest.c:136,1
    - Dst: BIO_free
      Src: /src/openssl/test/clienthellotest.c:137,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/clienthellotest.c:141,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/clienthellotest.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:145,1
    - Dst: SSL_set_session_ticket_ext
      Src: /src/openssl/test/clienthellotest.c:145,1
    - Dst: strlen
      Src: /src/openssl/test/clienthellotest.c:146,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/clienthellotest.c:150,1
    - Dst: SSL_connect
      Src: /src/openssl/test/clienthellotest.c:150,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/clienthellotest.c:155,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/clienthellotest.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:156,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/clienthellotest.c:156,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/clienthellotest.c:158,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/clienthellotest.c:161,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:164,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/clienthellotest.c:164,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_get_length_prefixed_1
      Src: /src/openssl/test/clienthellotest.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:170,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/clienthellotest.c:170,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:172,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/clienthellotest.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:174,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/clienthellotest.c:174,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/clienthellotest.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:180,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/clienthellotest.c:180,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:181,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/clienthellotest.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:186,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/clienthellotest.c:186,1
    - Dst: strlen
      Src: /src/openssl/test/clienthellotest.c:187,1
    - Dst: TEST_false
      Src: /src/openssl/test/clienthellotest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:198,1
    - Dst: SSL_free
      Src: /src/openssl/test/clienthellotest.c:206,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/clienthellotest.c:207,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/clienthellotest.c:208,1
    - Dst: BIO_free
      Src: /src/openssl/test/clienthellotest.c:209,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 100
    argCount: 1
    argNames:
    - currtest
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 212
    functionName: test_client_hello
    functionSourceFile: /src/openssl/test/clienthellotest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - PACKET_buf_init
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_free
    - SSL_CTX_set_alpn_protos
    - TEST_long_ge
    - SSL_set_session_ticket_ext
    - BIO_new
    - TEST_int_le
    - SSL_set_connect_state
    - BIO_s_mem
    - SSL_free
    - PACKET_forward
    - TLS_method
    - TEST_false
    - BIO_free
    - PACKET_get_net_2
    - SSL_CTX_set1_groups_list
    - SSL_CTX_set_cipher_list
    - SSL_SESSION_free
    - memset
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - SSL_new
    - PACKET_equal
    - SSL_CTX_clear_options
    - SSL_connect
    - PACKET_as_length_prefixed_2
    - BIO_get_mem_data
    - PACKET_get_length_prefixed_2
    - SSL_CTX_new
    - strlen
    - SSL_set_bio
    - SSL_CTX_set_max_proto_version
    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:216,1
    - Dst: TEST_error
      Src: /src/openssl/test/clienthellotest.c:217,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/clienthellotest.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/clienthellotest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - test_skip_common_options
    - 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
    - strtoumax
    - OSSL_PARAM_double
    - TEST_ptr
    - OSSL_PARAM_int32
    - TEST_true
    - TEST_note
    - TEST_error
    - memset
    - OSSL_PARAM_uint64
    - strtod
    - strtoimax
    - OPENSSL_strcasecmp
    - TEST_info
    - OSSL_PARAM_uint32
    - OSSL_PARAM_int64
    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:
    - TEST_false
    - TEST_mem_eq
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_int64
    - TEST_true
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_get_int32
    - TEST_note
    - OSSL_PARAM_set_int64
    - OSSL_PARAM_set_uint32
    - memset
    - OSSL_PARAM_get_double
    - ERR_get_error
    - OSSL_PARAM_set_uint64
    - TEST_ulong_ne
    - OSSL_PARAM_set_double
    - OSSL_PARAM_set_int32
    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_clearstanza
    - TEST_ptr
    - test_end_file
    - OPENSSL_free
    - test_get_argument
    - test_readstanza
    - param_conversion_load_stanza
    - param_conversion_test
    - BIO_eof
    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:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - EVP_MD_free
    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_new
    - TEST_ptr
    - TEST_false
    - ERR_GET_REASON
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_free
    - ERR_peek_error
    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:
    - OPENSSL_zalloc
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - strcat
    - OPENSSL_free
    - OSSL_PROVIDER_load
    - TEST_skip
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - OSSL_LIB_CTX_free
    - getenv
    - strcpy
    - strlen
    - TEST_info
    - OSSL_PROVIDER_unload
    - stat
    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:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    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_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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_should_read
    - BIO_read
    - BIO_set_retry_read
    - BIO_next
    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:155,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/tls13ccstest.c:156,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13ccstest.c:163,1
    - Dst: memcmp
      Src: /src/openssl/test/tls13ccstest.c:165,1
    - Dst: PACKET_data
      Src: /src/openssl/test/tls13ccstest.c:165,1
    - Dst: BIO_write
      Src: /src/openssl/test/tls13ccstest.c:208,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/tls13ccstest.c:209,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/tls13ccstest.c:210,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 65
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 213
    functionName: watchccs_write
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - BIO_clear_retry_flags
    - PACKET_forward
    - BIO_set_retry_write
    - PACKET_buf_init
    - memcmp
    - BIO_write
    - PACKET_get_net_2
    - BIO_should_write
    - PACKET_get_length_prefixed_3
    - PACKET_data
    - PACKET_get_length_prefixed_2
    - PACKET_copy_bytes
    - PACKET_get_1
    - PACKET_get_length_prefixed_1
    - BIO_next
    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:218,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/tls13ccstest.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 232
    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: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    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:242,1
    - Dst: strlen
      Src: /src/openssl/test/tls13ccstest.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 243
    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:259,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13ccstest.c:259,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13ccstest.c:259,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13ccstest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:262,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/tls13ccstest.c:262,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/tls13ccstest.c:290,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/tls13ccstest.c:296,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13ccstest.c:299,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:305,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13ccstest.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:306,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13ccstest.c:306,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13ccstest.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:309,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/tls13ccstest.c:311,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/tls13ccstest.c:312,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:313,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:322,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13ccstest.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:326,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13ccstest.c:326,1
    - Dst: BIO_new
      Src: /src/openssl/test/tls13ccstest.c:331,1
    - Dst: bio_f_watchccs_filter
      Src: /src/openssl/test/tls13ccstest.c:331,1
    - Dst: BIO_new
      Src: /src/openssl/test/tls13ccstest.c:332,1
    - Dst: bio_f_watchccs_filter
      Src: /src/openssl/test/tls13ccstest.c:332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:334,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls13ccstest.c:335,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls13ccstest.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:341,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13ccstest.c:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:347,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13ccstest.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:348,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/tls13ccstest.c:348,1
    - Dst: strlen
      Src: /src/openssl/test/tls13ccstest.c:348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13ccstest.c:351,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/tls13ccstest.c:351,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/tls13ccstest.c:356,1
    - Dst: SSL_connect
      Src: /src/openssl/test/tls13ccstest.c:356,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/tls13ccstest.c:359,1
    - Dst: SSL_connect
      Src: /src/openssl/test/tls13ccstest.c:359,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13ccstest.c:362,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/tls13ccstest.c:362,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:369,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13ccstest.c:369,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:377,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:377,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:382,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:383,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:384,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:390,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:391,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:392,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:393,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:398,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:399,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:400,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:407,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:408,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:414,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:415,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:416,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:417,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:422,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:423,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:424,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:425,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:430,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:431,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:432,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:438,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:439,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:440,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:441,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:446,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:448,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:449,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:454,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:456,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:457,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:462,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:463,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:464,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:465,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:470,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:471,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:472,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:473,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13ccstest.c:480,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:481,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:482,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13ccstest.c:483,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13ccstest.c:484,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 157
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 487
    functionName: test_tls13ccs
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - TEST_ptr
    - SSL_CTX_set_max_early_data
    - TEST_true
    - TEST_error
    - SSL_get1_session
    - SSL_CTX_free
    - TEST_size_t_gt
    - TLS_server_method
    - create_ssl_connection
    - BIO_new
    - TEST_int_le
    - TEST_int_gt
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - BIO_free
    - bio_f_watchccs_filter
    - SSL_CTX_set1_groups_list
    - SSL_set_session
    - SSL_SESSION_free
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_clear_options
    - SSL_write_early_data
    - SSL_connect
    - SSL_shutdown
    - TEST_size_t_eq
    - strlen
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_tls13ccs(int tst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/tls13ccstest.c:493,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13ccstest.c:494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:498,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13ccstest.c:498,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:499,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13ccstest.c:499,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/tls13ccstest.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 505
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/tls13ccstest.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 510
    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:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_stable_parse_test.c:43,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_stable_parse_test.c:46,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/asn1_stable_parse_test.c:46,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/asn1_stable_parse_test.c:49,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/asn1_stable_parse_test.c:50,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/asn1_stable_parse_test.c:52,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/asn1_stable_parse_test.c:55,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/asn1_stable_parse_test.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: test_asn1_stable_parse
    functionSourceFile: /src/openssl/test/asn1_stable_parse_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - ERR_GET_REASON
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - ERR_peek_error
    - ERR_GET_LIB
    - ERR_clear_error
    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:68,1
    - Dst: opt_arg
      Src: /src/openssl/test/asn1_stable_parse_test.c:71,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_stable_parse_test.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    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_remaining
    - PACKET_forward
    - PACKET_buf_init
    - 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_remaining
    - PACKET_forward
    - PACKET_buf_init
    - TEST_true
    - TEST_size_t_eq
    - PACKET_end
    - 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_forward
    - TEST_uint_eq
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - PACKET_get_1
    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_forward
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - PACKET_get_4
    - TEST_ulong_eq
    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_forward
    - TEST_uint_eq
    - TEST_false
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_true
    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_forward
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - TEST_ulong_eq
    - PACKET_get_net_3
    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_forward
    - PACKET_get_net_4
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - TEST_ulong_eq
    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_remaining
    - PACKET_get_net_4
    - PACKET_forward
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - TEST_ulong_eq
    - TEST_size_t_eq
    - PACKET_get_sub_packet
    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:
    - PACKET_remaining
    - PACKET_forward
    - TEST_false
    - PACKET_buf_init
    - PACKET_get_bytes
    - TEST_true
    - TEST_uchar_eq
    - 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:
    - PACKET_remaining
    - PACKET_forward
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - TEST_uchar_eq
    - PACKET_copy_bytes
    - TEST_size_t_eq
    - 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_remaining
    - TEST_false
    - TEST_mem_eq
    - PACKET_buf_init
    - PACKET_copy_all
    - TEST_true
    - TEST_size_t_eq
    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_forward
    - PACKET_memdup
    - TEST_mem_eq
    - PACKET_buf_init
    - OPENSSL_free
    - TEST_true
    - PACKET_data
    - TEST_size_t_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:
    - PACKET_buf_init
    - OPENSSL_free
    - TEST_strn_eq
    - PACKET_strndup
    - TEST_true
    - TEST_str_eq
    - memset
    - 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:
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    - memset
    - PACKET_contains_zero_byte
    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:
    - PACKET_forward
    - PACKET_buf_init
    - PACKET_get_bytes
    - TEST_true
    - TEST_uchar_eq
    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_remaining
    - TEST_false
    - PACKET_buf_init
    - 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_remaining
    - PACKET_forward
    - TEST_false
    - TEST_size_t_eq
    - PACKET_null_init
    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
    - TEST_true
    - PACKET_buf_init
    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:
    - PACKET_remaining
    - TEST_uint_eq
    - TEST_false
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_true
    - memset
    - TEST_size_t_eq
    - PACKET_get_length_prefixed_1
    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:
    - PACKET_remaining
    - TEST_uint_eq
    - TEST_false
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_true
    - PACKET_get_length_prefixed_2
    - memset
    - TEST_size_t_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:
    - PACKET_remaining
    - TEST_uint_eq
    - TEST_false
    - PACKET_buf_init
    - PACKET_get_net_2
    - PACKET_get_length_prefixed_3
    - TEST_true
    - memset
    - TEST_size_t_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:
    - PACKET_remaining
    - TEST_false
    - PACKET_buf_init
    - PACKET_as_length_prefixed_1
    - TEST_true
    - memset
    - 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:
    - PACKET_remaining
    - TEST_false
    - PACKET_buf_init
    - PACKET_as_length_prefixed_2
    - TEST_true
    - memset
    - 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: 518
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 518
    functionName: test_PACKET_get_quic_vlint
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - TEST_uint64_t_eq
    - TEST_true
    - memset
    - OSSL_NELEM
    - TEST_size_t_eq
    - 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:545,1
    - Dst: memset
      Src: /src/openssl/test/packettest.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:548,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/packettest.c:554,1
    - Dst: PACKET_get_quic_length_prefixed
      Src: /src/openssl/test/packettest.c:554,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:558,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:563,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 571
    functionName: test_PACKET_get_quic_length_prefixed
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_true
    - TEST_int_eq
    - memset
    - OSSL_NELEM
    - TEST_size_t_eq
    - PACKET_get_quic_length_prefixed
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_quic_length_prefixed(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:579,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:579,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:582,1
    - Dst: PACKET_msg_start
      Src: /src/openssl/test/packettest.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:585,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:585,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:586,1
    - Dst: PACKET_msg_start
      Src: /src/openssl/test/packettest.c:586,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:589,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/test/packettest.c:589,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:590,1
    - Dst: PACKET_msg_start
      Src: /src/openssl/test/packettest.c:590,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:591,1
    - Dst: PACKET_msg_start
      Src: /src/openssl/test/packettest.c:591,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:594,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:594,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:595,1
    - Dst: PACKET_msg_start
      Src: /src/openssl/test/packettest.c:595,1
    - Dst: PACKET_null_init
      Src: /src/openssl/test/packettest.c:598,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/packettest.c:599,1
    - Dst: PACKET_msg_start
      Src: /src/openssl/test/packettest.c:599,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 603
    functionName: test_PACKET_msg_start
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_eq
    - PACKET_forward
    - PACKET_buf_init
    - TEST_true
    - TEST_ptr_null
    - PACKET_msg_start
    - PACKET_get_sub_packet
    - PACKET_null_init
    linkageType: ''
    returnType: int
    signature: int test_PACKET_msg_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:612,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:613,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:614,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:615,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:616,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:617,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:618,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:619,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:620,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:621,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:622,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:623,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:624,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:625,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:626,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:627,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:628,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:629,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:630,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:631,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:632,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:633,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:634,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:636,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:637,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 641
    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:
    - TEST_ptr
    - strerror
    - ERR_GET_REASON
    - BIO_snprintf
    - TEST_true
    - ERR_pop_to_mark
    - ERR_PUT_error
    - BIO_new
    - TEST_strn_eq
    - TEST_int_gt
    - TEST_int_eq
    - IS_HEX
    - BIO_s_mem
    - BIO_free
    - ERR_print_errors
    - ERR_set_mark
    - BIO_get_mem_data
    - ERR_peek_error
    - strlen
    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:
    - TEST_int_eq
    - SetLastError
    - GetLastError
    - ERR_get_error
    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_peek_error_data
    - ERR_raise
    - ERR_add_error_data
    linkageType: ''
    returnType: int
    signature: int vdata_appends(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:151,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:154,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:155,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/errtest.c:155,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:156,1
    - Dst: strlen
      Src: /src/openssl/test/errtest.c:157,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:157,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: raised_error
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - ERR_get_error_all
    - ERR_GET_REASON
    - TEST_int_eq
    - TEST_str_eq
    - strlen
    - TEST_ulong_ne
    linkageType: ''
    returnType: int
    signature: int raised_error(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:168,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:169,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/errtest.c:170,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:174,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:175,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:175,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:176,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:177,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:178,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:178,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:179,1
    - Dst: ERR_peek_last_error
      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: ERR_raise
      Src: /src/openssl/test/errtest.c:185,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:186,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:187,1
    - Dst: ERR_pop_to_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: TEST_true
      Src: /src/openssl/test/errtest.c:193,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:195,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:196,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:196,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:197,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:198,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:198,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:199,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:199,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: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:205,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:207,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:209,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:210,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:211,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:211,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:212,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:213,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:213,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:214,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:218,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:221,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:221,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:222,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:222,1
    - Dst: TEST_false
      Src: /src/openssl/test/errtest.c:229,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:229,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:230,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:234,1
    - Dst: TEST_false
      Src: /src/openssl/test/errtest.c:235,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:235,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:237,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/errtest.c:237,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:238,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:238,1
    - Dst: TEST_false
      Src: /src/openssl/test/errtest.c:251,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:255,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:261,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:261,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:262,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:265,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:271,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:271,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:272,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:272,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:276,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 279
    functionName: test_marks
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - TEST_false
    - ERR_clear_last_mark
    - ERR_peek_last_error
    - ERR_raise
    - TEST_true
    - TEST_ulong_eq
    - ERR_get_error
    - TEST_ulong_ne
    - TEST_ulong_gt
    - ERR_set_mark
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int test_marks(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:288,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:289,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:290,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:291,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:296,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:297,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:298,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:299,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:301,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:304,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:305,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:306,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:307,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:315,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:316,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:317,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:318,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:320,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 326
    functionName: test_clear_error
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - ERR_peek_error_data
    - ERR_raise
    - TEST_int_eq
    - TEST_str_eq
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int test_clear_error(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/errtest.c:341,1
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/test/errtest.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:344,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:345,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/errtest.c:346,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:349,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:349,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:352,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:353,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:354,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:354,1
    - Dst: OSSL_ERR_STATE_save
      Src: /src/openssl/test/errtest.c:358,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:360,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:360,1
    - Dst: OSSL_ERR_STATE_save_to_mark
      Src: /src/openssl/test/errtest.c:363,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:365,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:365,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/test/errtest.c:370,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:372,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:372,1
    - Dst: ERR_peek_last_error_data
      Src: /src/openssl/test/errtest.c:374,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:375,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:376,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/test/errtest.c:380,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:384,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:384,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/errtest.c:387,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:391,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:391,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:394,1
    - Dst: TEST_int_eq
      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_int_ne
      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_str_eq
      Src: /src/openssl/test/errtest.c:409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:410,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:413,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/errtest.c:413,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/test/errtest.c:419,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 63
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 421
    functionName: test_save_restore
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_ERR_STATE_restore
    - ERR_get_error_all
    - ERR_peek_last_error_data
    - TEST_str_eq
    - OSSL_ERR_STATE_new
    - ERR_peek_last_error
    - ERR_raise_data
    - ERR_raise
    - TEST_ulong_eq
    - TEST_int_eq
    - OSSL_ERR_STATE_save_to_mark
    - TEST_ulong_ne
    - OSSL_ERR_STATE_free
    - ERR_get_error
    - TEST_ulong_gt
    - ERR_set_mark
    - OSSL_ERR_STATE_save
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_save_restore(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:429,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/errtest.c:431,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/errtest.c:432,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/errtest.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: test_error_reason
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - TEST_err_r
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int test_error_reason(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:442,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:443,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/errtest.c:445,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/errtest.c:446,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/errtest.c:447,1
    - Dst: TEST_err_s
      Src: /src/openssl/test/errtest.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: test_error_string
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - TEST_err_r
    - TEST_err_s
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int test_error_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:455,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:456,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:457,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:459,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:461,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/errtest.c:462,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:463,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:464,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    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: 6
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 36
    functionsReached:
    - OSSL_CMP_PKIHEADER_free
    - OSSL_CMP_CTX_free
    - OPENSSL_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
    - OSSL_CMP_PKIHEADER_new
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - tear_down
    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: 6
    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_get_pvno
    - TEST_int_eq
    - ossl_cmp_hdr_set_pvno
    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_init
    - X509_NAME_ADD
    - ASN1_OCTET_STRING_cmp
    - ossl_cmp_hdr_get0_senderNonce
    - TEST_ptr
    - X509_NAME_free
    - OSSL_CMP_CTX_set1_subjectName
    - TEST_int_eq
    - X509_NAME_new
    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:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: execute_HDR_set1_sender_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - X509_NAME_ADD
    - X509_NAME_cmp
    - TEST_ptr
    - X509_NAME_free
    - TEST_int_eq
    - ossl_cmp_hdr_set1_sender
    - X509_NAME_new
    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:137,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    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:146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:148,1
    - Dst: X509_NAME_ADD
      Src: /src/openssl/test/cmp_hdr_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:152,1
    - Dst: ossl_cmp_hdr_set1_recipient
      Src: /src/openssl/test/cmp_hdr_test.c:152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:155,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:158,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:158,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_hdr_test.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: execute_HDR_set1_recipient_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - X509_NAME_ADD
    - X509_NAME_cmp
    - TEST_ptr
    - X509_NAME_free
    - ossl_cmp_hdr_set1_recipient
    - TEST_int_eq
    - X509_NAME_new
    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:172,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    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:183,1
    - Dst: gmtime
      Src: /src/openssl/test/cmp_hdr_test.c:189,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_hdr_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:192,1
    - Dst: ossl_cmp_hdr_update_messageTime
      Src: /src/openssl/test/cmp_hdr_test.c:192,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:194,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/cmp_hdr_test.c:194,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_hdr_test.c:197,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/cmp_hdr_test.c:199,1
    - Dst: time
      Src: /src/openssl/test/cmp_hdr_test.c:201,1
    - Dst: gmtime
      Src: /src/openssl/test/cmp_hdr_test.c:202,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_hdr_test.c:203,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/cmp_hdr_test.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 206
    functionName: execute_HDR_update_messageTime_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - mktime
    - ossl_cmp_hdr_update_messageTime
    - TEST_true
    - gmtime
    - TEST_time_t_le
    - time
    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:210,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    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:218,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:221,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:224,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_hdr_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:228,1
    - Dst: ossl_cmp_hdr_set1_senderKID
      Src: /src/openssl/test/cmp_hdr_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:230,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:230,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_hdr_test.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: execute_HDR_set1_senderKID_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - ASN1_OCTET_STRING_free
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - TEST_int_eq
    - 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:242,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    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:250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:252,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/cmp_hdr_test.c:255,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:258,1
    - Dst: ossl_cmp_hdr_push0_freeText
      Src: /src/openssl/test/cmp_hdr_test.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:261,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/test/cmp_hdr_test.c:261,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/test/cmp_hdr_test.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: execute_HDR_push0_freeText_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    - ossl_cmp_hdr_push0_freeText
    - sk_ASN1_UTF8STRING_value
    - 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:273,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 277
    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:281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:285,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/cmp_hdr_test.c:288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:291,1
    - Dst: ossl_cmp_hdr_push1_freeText
      Src: /src/openssl/test/cmp_hdr_test.c:291,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/test/cmp_hdr_test.c:294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:295,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:295,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/test/cmp_hdr_test.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: execute_HDR_push1_freeText_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - TEST_ptr
    - ossl_cmp_hdr_push1_freeText
    - ASN1_STRING_cmp
    - TEST_int_eq
    - sk_ASN1_UTF8STRING_value
    - 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:307,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 311
    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:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:318,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:321,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/openssl/test/cmp_hdr_test.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:325,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/test/cmp_hdr_test.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 329
    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_ptr
    - sk_OSSL_CMP_ITAV_value
    - TEST_true
    - TEST_int_eq
    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:333,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 337
    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:345,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/cmp_hdr_test.c:346,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/test/cmp_hdr_test.c:347,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:355,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_hdr_test.c:355,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/cmp_hdr_test.c:356,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/test/cmp_hdr_test.c:360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:361,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/test/cmp_hdr_test.c:361,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/cmp_hdr_test.c:361,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/test/cmp_hdr_test.c:362,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:365,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/test/cmp_hdr_test.c:365,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/test/cmp_hdr_test.c:366,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:370,1
    - Dst: ossl_cmp_hdr_generalInfo_push1_items
      Src: /src/openssl/test/cmp_hdr_test.c:370,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/test/cmp_hdr_test.c:374,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/cmp_hdr_test.c:375,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/test/cmp_hdr_test.c:375,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:376,1
    - Dst: memcmp
      Src: /src/openssl/test/cmp_hdr_test.c:376,1
    - Dst: OSSL_CMP_ITAV_get0_value
      Src: /src/openssl/test/cmp_hdr_test.c:379,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/test/cmp_hdr_test.c:379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:380,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:380,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/test/cmp_hdr_test.c:386,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 339
    functionDepth: 7
    functionLinenumber: 339
    functionLinenumberEnd: 388
    functionName: execute_HDR_generalInfo_push1_items_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - TEST_ptr
    - OSSL_CMP_ITAV_free
    - TEST_true
    - OBJ_obj2txt
    - OSSL_CMP_ITAV_get0_value
    - ASN1_TYPE_free
    - sk_OSSL_CMP_ITAV_value
    - TEST_int_eq
    - STACK_OF
    - OSSL_CMP_ITAV_create
    - ASN1_TYPE_cmp
    - ASN1_TYPE_new
    - OBJ_txt2obj
    - OSSL_CMP_ITAV_push0_stack_item
    - ASN1_INTEGER_set
    - sk_OSSL_CMP_ITAV_pop_free
    - ASN1_TYPE_set
    - ASN1_INTEGER_free
    - ossl_cmp_hdr_generalInfo_push1_items
    - OSSL_CMP_ITAV_get0_type
    - memcmp
    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:392,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    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:402,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/test/cmp_hdr_test.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:403,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/openssl/test/cmp_hdr_test.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:404,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/test/cmp_hdr_test.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 405
    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
    - TEST_true
    - ossl_cmp_hdr_has_implicitConfirm
    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:409,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 412
    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:419,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/openssl/test/cmp_hdr_test.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:425,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/test/cmp_hdr_test.c:425,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/openssl/test/cmp_hdr_test.c:428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:429,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:429,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/openssl/test/cmp_hdr_test.c:431,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:432,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:432,1
    - Dst: OSSL_CMP_HDR_get0_recipNonce
      Src: /src/openssl/test/cmp_hdr_test.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:440,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:441,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 10
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: execute_HDR_init_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_init
    - ASN1_OCTET_STRING_cmp
    - ossl_cmp_hdr_get0_senderNonce
    - TEST_ptr
    - TEST_true
    - OSSL_CMP_HDR_get0_recipNonce
    - ossl_cmp_hdr_get_pvno
    - TEST_int_eq
    - OSSL_CMP_HDR_get0_transactionID
    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:451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:454,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_hdr_test.c:454,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:455,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_hdr_test.c:455,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_hdr_test.c:457,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 447
    functionDepth: 8
    functionLinenumber: 447
    functionLinenumberEnd: 462
    functionName: test_HDR_init_with_ref
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - RAND_bytes
    - tear_down
    - TEST_true
    - TEST_int_eq
    - 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:468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:470,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_hdr_test.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:471,1
    - Dst: X509_NAME_ADD
      Src: /src/openssl/test/cmp_hdr_test.c:471,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:472,1
    - Dst: OSSL_CMP_CTX_set1_subjectName
      Src: /src/openssl/test/cmp_hdr_test.c:472,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_hdr_test.c:474,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_hdr_test.c:477,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: test_HDR_init_with_subject
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - X509_NAME_ADD
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - X509_NAME_free
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_subjectName
    - EXECUTE_TEST
    - X509_NAME_new
    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: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    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:489,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:496,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: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:501,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:502,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:506,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 487
    functionDepth: 8
    functionLinenumber: 487
    functionLinenumberEnd: 509
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - RAND_bytes
    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:41,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/pkey_meth_kdf_test.c:45,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:48,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/pkey_meth_kdf_test.c:52,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:55,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/pkey_meth_kdf_test.c:58,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:61,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:65,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:66,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pkey_meth_kdf_test.c:75,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:81,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 83
    functionName: test_kdf_tls1_prf
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_sha256
    - TEST_mem_eq
    - EVP_PKEY_CTX_set_tls1_prf_md
    - TEST_error
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    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:92,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:93,1
    - Dst: EVP_PKEY_derive_init
      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_set_hkdf_md
      Src: /src/openssl/test/pkey_meth_kdf_test.c:100,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/pkey_meth_kdf_test.c:100,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:101,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/pkey_meth_kdf_test.c:104,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:106,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/pkey_meth_kdf_test.c:109,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:111,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/pkey_meth_kdf_test.c:115,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:117,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/pkey_meth_kdf_test.c:121,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:123,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/pkey_meth_kdf_test.c:126,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:128,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:132,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:133,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pkey_meth_kdf_test.c:141,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:147,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 149
    functionName: test_kdf_hkdf
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_derive
    - EVP_sha256
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_CTX_add1_hkdf_info
    - TEST_error
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf(int index)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      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_derive_init
      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_pbe_pass
      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_set1_scrypt_salt
      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_N
      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_r
      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_p
      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_CTX_set_scrypt_maxmem_bytes
      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_derive
      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_CTX_set_scrypt_maxmem_bytes
      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: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:200,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:201,1
    - Dst: EVP_PKEY_derive_SKEY
      Src: /src/openssl/test/pkey_meth_kdf_test.c:209,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:212,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/pkey_meth_kdf_test.c:215,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/pkey_meth_kdf_test.c:215,1
    - Dst: memcpy
      Src: /src/openssl/test/pkey_meth_kdf_test.c:217,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:218,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pkey_meth_kdf_test.c:234,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:240,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 242
    functionName: test_kdf_scrypt
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_scrypt_salt
    - EVP_PKEY_derive_SKEY
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set_scrypt_r
    - TEST_mem_eq
    - EVP_SKEY_free
    - EVP_PKEY_CTX_set_scrypt_p
    - TEST_int_gt
    - TEST_error
    - EVP_PKEY_CTX_set_scrypt_N
    - EVP_PKEY_CTX_set_scrypt_maxmem_bytes
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set1_pbe_pass
    - memcpy
    - EVP_PKEY_CTX_free
    - EVP_SKEY_get0_raw_key
    linkageType: ''
    returnType: int
    signature: int test_kdf_scrypt(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/pkey_meth_kdf_test.c:249,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkey_meth_kdf_test.c:252,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkey_meth_kdf_test.c:253,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkey_meth_kdf_test.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_ge
    - 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:249,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_pkey_dparams_test.c:249,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:252,1
    - Dst: d2i_KeyParams_bio
      Src: /src/openssl/test/evp_pkey_dparams_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:253,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_pkey_dparams_test.c:253,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_pkey_dparams_test.c:253,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dparams_test.c:255,1
    - Dst: i2d_KeyParams_bio
      Src: /src/openssl/test/evp_pkey_dparams_test.c:255,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dparams_test.c:257,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_pkey_dparams_test.c:257,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dparams_test.c:258,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:262,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:263,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:264,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: params_bio_test
    functionSourceFile: /src/openssl/test/evp_pkey_dparams_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_free
    - BIO_new_mem_buf
    - TEST_int_gt
    - BIO_get_mem_data
    - i2d_KeyParams_bio
    - d2i_KeyParams_bio
    - EVP_PKEY_free
    - BIO_s_mem
    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:278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:280,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_pkey_dparams_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:283,1
    - Dst: d2i_KeyParams_bio
      Src: /src/openssl/test/evp_pkey_dparams_test.c:283,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_pkey_dparams_test.c:287,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_dparams_test.c:289,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/evp_pkey_dparams_test.c:289,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_pkey_dparams_test.c:293,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dparams_test.c:296,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/evp_pkey_dparams_test.c:296,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_pkey_dparams_test.c:302,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:305,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 269
    functionDepth: 10
    functionLinenumber: 269
    functionLinenumberEnd: 308
    functionName: set_enc_pubkey_test
    functionSourceFile: /src/openssl/test/evp_pkey_dparams_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - TEST_ptr
    - TEST_int_le
    - TEST_skip
    - BIO_free
    - BIO_new_mem_buf
    - TEST_int_gt
    - EVP_PKEY_set1_encoded_public_key
    - d2i_KeyParams_bio
    - EVP_PKEY_free
    - TEST_info
    - ERR_set_mark
    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:314,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dparams_test.c:316,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dparams_test.c:316,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dparams_test.c:317,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dparams_test.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 320
    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_ptr
    - OPENSSL_free
    - TEST_error
    - TEST_int_eq
    - CTLOG_STORE_new
    - CTLOG_STORE_load_default_file
    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
    - SCT_LIST_free
    - OPENSSL_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:
    - OPENSSL_free
    - BIO_free
    - test_mk_file_path
    - BIO_new_file
    - 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:
    - OPENSSL_free
    - BIO_read
    - BIO_free
    - test_mk_file_path
    - BIO_new_file
    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:
    - TEST_ptr
    - BIO_new
    - BIO_write
    - BIO_free
    - TEST_true
    - BIO_get_mem_data
    - TEST_str_eq
    - X509V3_EXT_print
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: "int compare_extension_printout(const X509_EXTENSION *extension,\n
      \   const char *expected_output)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ct_test.c:227,1
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/openssl/test/ct_test.c:233,1
    - Dst: read_text_file
      Src: /src/openssl/test/ct_test.c:236,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ct_test.c:240,1
    - Dst: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
      Src: /src/openssl/test/ct_test.c:245,1
    - Dst: CT_POLICY_EVAL_CTX_set_time
      Src: /src/openssl/test/ct_test.c:248,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:255,1
    - Dst: load_pem_cert
      Src: /src/openssl/test/ct_test.c:255,1
    - Dst: CT_POLICY_EVAL_CTX_set1_cert
      Src: /src/openssl/test/ct_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:262,1
    - Dst: load_pem_cert
      Src: /src/openssl/test/ct_test.c:262,1
    - Dst: CT_POLICY_EVAL_CTX_set1_issuer
      Src: /src/openssl/test/ct_test.c:265,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/test/ct_test.c:268,1
    - Dst: X509_get_ext
      Src: /src/openssl/test/ct_test.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:271,1
    - Dst: compare_extension_printout
      Src: /src/openssl/test/ct_test.c:275,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/test/ct_test.c:279,1
    - Dst: sk_SCT_num
      Src: /src/openssl/test/ct_test.c:280,1
    - Dst: sk_SCT_value
      Src: /src/openssl/test/ct_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ct_test.c:283,1
    - Dst: SCT_get_source
      Src: /src/openssl/test/ct_test.c:283,1
    - Dst: assert_validity
      Src: /src/openssl/test/ct_test.c:290,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ct_test.c:293,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:301,1
    - Dst: o2i_SCT_LIST
      Src: /src/openssl/test/ct_test.c:301,1
    - Dst: assert_validity
      Src: /src/openssl/test/ct_test.c:305,1
    - Dst: compare_sct_list_printout
      Src: /src/openssl/test/ct_test.c:310,1
    - Dst: i2o_SCT_LIST
      Src: /src/openssl/test/ct_test.c:314,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ct_test.c:315,1
    - Dst: X509_free
      Src: /src/openssl/test/ct_test.c:322,1
    - Dst: X509_free
      Src: /src/openssl/test/ct_test.c:323,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/test/ct_test.c:324,1
    - Dst: SCT_free
      Src: /src/openssl/test/ct_test.c:325,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/test/ct_test.c:326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ct_test.c:327,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 329
    functionName: execute_cert_test
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - X509_free
    - CT_POLICY_EVAL_CTX_new
    - TEST_ptr_null
    - SCT_get_source
    - read_text_file
    - CT_POLICY_EVAL_CTX_set_time
    - OPENSSL_free
    - CT_POLICY_EVAL_CTX_set1_issuer
    - compare_sct_list_printout
    - SCT_free
    - assert_validity
    - sk_SCT_value
    - TEST_int_eq
    - STACK_OF
    - i2o_SCT_LIST
    - compare_extension_printout
    - CT_POLICY_EVAL_CTX_free
    - X509_get_ext
    - SCT_LIST_free
    - o2i_SCT_LIST
    - sk_SCT_num
    - X509V3_EXT_d2i
    - CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    - load_pem_cert
    - X509_get_ext_by_NID
    - TEST_int_ge
    - CT_POLICY_EVAL_CTX_set1_cert
    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: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    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: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    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:336,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 343
    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:347,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 356
    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:360,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 369
    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:373,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 381
    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:385,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    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:397,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 407
    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:429,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 436
    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:447,1
    - Dst: sk_SCT_new_null
      Src: /src/openssl/test/ct_test.c:449,1
    - Dst: tear_down
      Src: /src/openssl/test/ct_test.c:451,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:455,1
    - Dst: SCT_new_from_base64
      Src: /src/openssl/test/ct_test.c:455,1
    - Dst: tear_down
      Src: /src/openssl/test/ct_test.c:458,1
    - Dst: sk_SCT_push
      Src: /src/openssl/test/ct_test.c:462,1
    - Dst: tear_down
      Src: /src/openssl/test/ct_test.c:463,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 471
    functionName: test_encode_tls_sct
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_CT_TEST_FIXTURE
    - SCT_new_from_base64
    - tear_down
    - sk_SCT_new_null
    - sk_SCT_push
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_encode_tls_sct(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/openssl/test/ct_test.c:480,1
    - Dst: CT_POLICY_EVAL_CTX_get_time
      Src: /src/openssl/test/ct_test.c:481,1
    - Dst: difftime
      Src: /src/openssl/test/ct_test.c:485,1
    - Dst: time
      Src: /src/openssl/test/ct_test.c:485,1
    - Dst: TEST_double_le
      Src: /src/openssl/test/ct_test.c:489,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/test/ct_test.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 477
    functionDepth: 4
    functionLinenumber: 477
    functionLinenumberEnd: 496
    functionName: test_default_ct_policy_eval_ctx_time_is_now
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - CT_POLICY_EVAL_CTX_free
    - CT_POLICY_EVAL_CTX_new
    - difftime
    - TEST_double_le
    - CT_POLICY_EVAL_CTX_get_time
    - 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:506,1
    - Dst: CTLOG_new_from_base64
      Src: /src/openssl/test/ct_test.c:506,1
    - 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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 498
    functionDepth: 8
    functionLinenumber: 498
    functionLinenumberEnd: 510
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:524,1
    - Dst: CTLOG_STORE_new
      Src: /src/openssl/test/ct_test.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:526,1
    - Dst: CTLOG_new_from_base64
      Src: /src/openssl/test/ct_test.c:526,1
    - Dst: CTLOG_get0_log_id
      Src: /src/openssl/test/ct_test.c:529,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ct_test.c:530,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ct_test.c:532,1
    - Dst: CTLOG_STORE_get0_log_by_id
      Src: /src/openssl/test/ct_test.c:532,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:535,1
    - Dst: CTLOG_STORE_add0_log
      Src: /src/openssl/test/ct_test.c:535,1
    - Dst: CTLOG_STORE_get0_log_by_id
      Src: /src/openssl/test/ct_test.c:539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:540,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ct_test.c:542,1
    - Dst: CTLOG_get0_name
      Src: /src/openssl/test/ct_test.c:542,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/test/ct_test.c:548,1
    - Dst: CTLOG_free
      Src: /src/openssl/test/ct_test.c:549,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 512
    functionDepth: 8
    functionLinenumber: 512
    functionLinenumberEnd: 551
    functionName: test_ctlog_store_add0_log
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_free
    - TEST_ptr
    - CTLOG_get0_log_id
    - TEST_true
    - TEST_str_eq
    - CTLOG_free
    - TEST_ptr_null
    - CTLOG_STORE_add0_log
    - CTLOG_get0_name
    - CTLOG_STORE_new
    - CTLOG_STORE_get0_log_by_id
    - CTLOG_new_from_base64
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_ctlog_store_add0_log(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ct_test.c:559,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:565,1
    - Dst: CTLOG_STORE_new
      Src: /src/openssl/test/ct_test.c:565,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:567,1
    - Dst: CTLOG_new_from_base64
      Src: /src/openssl/test/ct_test.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:569,1
    - Dst: CTLOG_STORE_add0_log
      Src: /src/openssl/test/ct_test.c:569,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:573,1
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/openssl/test/ct_test.c:573,1
    - Dst: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
      Src: /src/openssl/test/ct_test.c:575,1
    - Dst: CT_POLICY_EVAL_CTX_set_time
      Src: /src/openssl/test/ct_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:578,1
    - Dst: load_pem_cert
      Src: /src/openssl/test/ct_test.c:578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:580,1
    - Dst: load_pem_cert
      Src: /src/openssl/test/ct_test.c:580,1
    - Dst: CT_POLICY_EVAL_CTX_set1_cert
      Src: /src/openssl/test/ct_test.c:582,1
    - Dst: CT_POLICY_EVAL_CTX_set1_issuer
      Src: /src/openssl/test/ct_test.c:583,1
    - Dst: X509_get_ext
      Src: /src/openssl/test/ct_test.c:585,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/test/ct_test.c:586,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:589,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/test/ct_test.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ct_test.c:591,1
    - Dst: sk_SCT_num
      Src: /src/openssl/test/ct_test.c:591,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ct_test.c:593,1
    - Dst: SCT_LIST_validate
      Src: /src/openssl/test/ct_test.c:593,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ct_test.c:595,1
    - Dst: SCT_get_validation_status
      Src: /src/openssl/test/ct_test.c:595,1
    - Dst: sk_SCT_value
      Src: /src/openssl/test/ct_test.c:595,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/test/ct_test.c:602,1
    - Dst: CTLOG_free
      Src: /src/openssl/test/ct_test.c:603,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/test/ct_test.c:604,1
    - Dst: X509_free
      Src: /src/openssl/test/ct_test.c:605,1
    - Dst: X509_free
      Src: /src/openssl/test/ct_test.c:606,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/test/ct_test.c:607,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 553
    functionDepth: 14
    functionLinenumber: 553
    functionLinenumberEnd: 609
    functionName: test_ctlog_store_add0_log_validates_sct
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_free
    - TEST_ptr
    - X509_free
    - CT_POLICY_EVAL_CTX_new
    - TEST_true
    - CT_POLICY_EVAL_CTX_set_time
    - CT_POLICY_EVAL_CTX_set1_issuer
    - sk_SCT_value
    - TEST_int_eq
    - STACK_OF
    - CT_POLICY_EVAL_CTX_free
    - X509_get_ext
    - SCT_LIST_free
    - SCT_LIST_validate
    - sk_SCT_num
    - CTLOG_STORE_new
    - X509V3_EXT_d2i
    - CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    - load_pem_cert
    - X509_get_ext_by_NID
    - SCT_get_validation_status
    - CTLOG_free
    - TEST_int_ge
    - CTLOG_STORE_add0_log
    - CT_POLICY_EVAL_CTX_set1_cert
    - CTLOG_new_from_base64
    linkageType: ''
    returnType: int
    signature: int test_ctlog_store_add0_log_validates_sct(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:619,1
    - Dst: CTLOG_STORE_new
      Src: /src/openssl/test/ct_test.c:619,1
    - Dst: TEST_false
      Src: /src/openssl/test/ct_test.c:621,1
    - Dst: CTLOG_STORE_add0_log
      Src: /src/openssl/test/ct_test.c:621,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:624,1
    - Dst: CTLOG_new_from_base64
      Src: /src/openssl/test/ct_test.c:624,1
    - Dst: TEST_false
      Src: /src/openssl/test/ct_test.c:626,1
    - Dst: CTLOG_STORE_add0_log
      Src: /src/openssl/test/ct_test.c:626,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/test/ct_test.c:632,1
    - Dst: CTLOG_free
      Src: /src/openssl/test/ct_test.c:633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 611
    functionDepth: 8
    functionLinenumber: 611
    functionLinenumberEnd: 635
    functionName: test_ctlog_store_add0_log_null
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_free
    - TEST_false
    - TEST_ptr
    - TEST_true
    - CTLOG_free
    - CTLOG_STORE_add0_log
    - CTLOG_STORE_new
    - CTLOG_new_from_base64
    linkageType: ''
    returnType: int
    signature: int test_ctlog_store_add0_log_null(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/ct_test.c:641,1
    - Dst: getenv
      Src: /src/openssl/test/ct_test.c:643,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:646,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:647,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:648,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:649,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:650,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:651,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:652,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:653,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:654,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:655,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:656,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:657,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:658,1
    - Dst: printf
      Src: /src/openssl/test/ct_test.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 663
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - getenv
    - ADD_TEST
    - printf
    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:35,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/list_test.c:38,1
    - Dst: ossl_list_fizz_init
      Src: /src/openssl/test/list_test.c:41,1
    - Dst: ossl_list_buzz_init
      Src: /src/openssl/test/list_test.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/list_test.c:44,1
    - Dst: ossl_list_fizz_is_empty
      Src: /src/openssl/test/list_test.c:44,1
    - Dst: ossl_list_fizz_init_elem
      Src: /src/openssl/test/list_test.c:48,1
    - Dst: ossl_list_buzz_init_elem
      Src: /src/openssl/test/list_test.c:49,1
    - Dst: ossl_list_fizz_insert_tail
      Src: /src/openssl/test/list_test.c:52,1
    - Dst: ossl_list_buzz_insert_head
      Src: /src/openssl/test/list_test.c:56,1
    - Dst: TEST_false
      Src: /src/openssl/test/list_test.c:61,1
    - Dst: ossl_list_fizz_is_empty
      Src: /src/openssl/test/list_test.c:61,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:62,1
    - Dst: ossl_list_fizz_num
      Src: /src/openssl/test/list_test.c:62,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:63,1
    - Dst: ossl_list_buzz_num
      Src: /src/openssl/test/list_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:64,1
    - Dst: ossl_list_fizz_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_fizz_tail
      Src: /src/openssl/test/list_test.c:65,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:66,1
    - Dst: ossl_list_buzz_head
      Src: /src/openssl/test/list_test.c:66,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:67,1
    - Dst: ossl_list_buzz_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_fizz_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_fizz_tail
      Src: /src/openssl/test/list_test.c:69,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:70,1
    - Dst: ossl_list_buzz_head
      Src: /src/openssl/test/list_test.c:70,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:71,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:71,1
    - Dst: ossl_list_fizz_remove
      Src: /src/openssl/test/list_test.c:73,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:73,1
    - Dst: ossl_list_buzz_remove
      Src: /src/openssl/test/list_test.c:74,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:74,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:75,1
    - Dst: ossl_list_fizz_num
      Src: /src/openssl/test/list_test.c:75,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:76,1
    - Dst: ossl_list_buzz_num
      Src: /src/openssl/test/list_test.c:76,1
    - Dst: TEST_ptr
      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_ptr
      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_int_eq
      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_int_eq
      Src: /src/openssl/test/list_test.c:80,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:80,1
    - Dst: TEST_ptr
      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_ptr
      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
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:83,1
    - Dst: ossl_list_fizz_next
      Src: /src/openssl/test/list_test.c:83,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:84,1
    - Dst: ossl_list_fizz_prev
      Src: /src/openssl/test/list_test.c:84,1
    - Dst: ossl_list_fizz_tail
      Src: /src/openssl/test/list_test.c:84,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 87
    functionName: test_fizzbuzz
    functionSourceFile: /src/openssl/test/list_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - ossl_list_fizz_insert_tail
    - ossl_list_fizz_remove
    - ossl_list_fizz_head
    - ossl_list_buzz_init
    - ossl_list_buzz_num
    - ossl_list_fizz_tail
    - TEST_int_eq
    - ossl_list_fizz_num
    - ossl_list_buzz_insert_head
    - ossl_list_fizz_is_empty
    - ossl_list_fizz_init
    - TEST_false
    - ossl_list_buzz_tail
    - OSSL_LIST
    - ossl_list_fizz_next
    - ossl_list_fizz_prev
    - ossl_list_fizz_init_elem
    - ossl_list_buzz_head
    - ossl_list_buzz_init_elem
    - OSSL_NELEM
    - TEST_size_t_eq
    - ossl_list_buzz_remove
    linkageType: ''
    returnType: int
    signature: int test_fizzbuzz(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_int_init
      Src: /src/openssl/test/list_test.c:106,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/list_test.c:107,1
    - Dst: ossl_list_int_init_elem
      Src: /src/openssl/test/list_test.c:108,1
    - Dst: ossl_list_int_insert_head
      Src: /src/openssl/test/list_test.c:113,1
    - Dst: ossl_list_int_insert_tail
      Src: /src/openssl/test/list_test.c:114,1
    - Dst: ossl_list_int_insert_before
      Src: /src/openssl/test/list_test.c:115,1
    - Dst: ossl_list_int_insert_before
      Src: /src/openssl/test/list_test.c:116,1
    - Dst: ossl_list_int_insert_after
      Src: /src/openssl/test/list_test.c:117,1
    - Dst: ossl_list_int_insert_after
      Src: /src/openssl/test/list_test.c:118,1
    - Dst: ossl_list_int_insert_after
      Src: /src/openssl/test/list_test.c:119,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:120,1
    - Dst: ossl_list_int_num
      Src: /src/openssl/test/list_test.c:120,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:122,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:123,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:125,1
    - Dst: ossl_list_int_next
      Src: /src/openssl/test/list_test.c:127,1
    - Dst: ossl_list_int_prev
      Src: /src/openssl/test/list_test.c:128,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:131,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:131,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:135,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:136,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:137,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:139,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:140,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:142,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:142,1
    - Dst: ossl_list_int_next
      Src: /src/openssl/test/list_test.c:144,1
    - Dst: ossl_list_int_prev
      Src: /src/openssl/test/list_test.c:145,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:148,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:148,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:152,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:153,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:155,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:156,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:157,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:157,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:158,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:158,1
    - Dst: ossl_list_int_insert_head
      Src: /src/openssl/test/list_test.c:162,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:164,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:165,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:165,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:166,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:167,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:167,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:171,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:172,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:172,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:173,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:173,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 176
    functionName: test_insert
    functionSourceFile: /src/openssl/test/list_test.c
    functionUses: 0
    functionsReached:
    - ossl_list_int_insert_tail
    - ossl_list_int_insert_before
    - TEST_ptr
    - ossl_list_int_prev
    - ossl_list_int_tail
    - ossl_list_int_next
    - TEST_int_eq
    - TEST_ptr_null
    - ossl_list_int_insert_head
    - ossl_list_int_head
    - OSSL_NELEM
    - TEST_size_t_eq
    - ossl_list_int_init_elem
    - ossl_list_int_remove
    - ossl_list_int_num
    - ossl_list_int_init
    - ossl_list_int_insert_after
    linkageType: ''
    returnType: int
    signature: int test_insert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/list_test.c:180,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/list_test.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/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:
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - TEST_true
    - TEST_error
    - memset
    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_rawaddress
    - TEST_ptr
    - OPENSSL_free
    - BIO_ADDR_rawport
    - BIO_ADDR_family
    - memcmp
    - 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:
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_ADDR_new
    - TEST_true
    - make_dummy_addr
    - BIO_ADDR_dup
    - BIO_ADDR_copy
    - bio_addr_is_eq
    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:
    - ADD_ALL_TESTS
    - test_skip_common_options
    - OSSL_NELEM
    - 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:91,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ext_internal_test.c:97,1
    - Dst: TEST_error
      Src: /src/openssl/test/ext_internal_test.c:99,1
    - Dst: ossl_get_extension_type
      Src: /src/openssl/test/ext_internal_test.c:102,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/ext_internal_test.c:103,1
    - Dst: TEST_error
      Src: /src/openssl/test/ext_internal_test.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: test_extension_list
    functionSourceFile: /src/openssl/test/ext_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - ossl_get_extension_type
    - TEST_error
    - OSSL_NELEM
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_extension_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ext_internal_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    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
    - TEST_info
    - X509_STORE_CTX_get_error
    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
    - TEST_info
    - X509_STORE_CTX_get_error
    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_check_private_key
    - TEST_ptr
    - SSL_add_expected_rpk
    - X509_free
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - SSL_use_PrivateKey_file
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_set_session_id_context
    - SSL_CTX_dane_enable
    - SSL_CTX_set_verify
    - TEST_info
    - SSL_SESSION_get0_peer_rpk
    - OSSL_PROVIDER_load
    - TEST_int_le
    - load_cert_pem
    - TEST_int_gt
    - SSL_verify_client_post_handshake
    - TEST_int_eq
    - SSL_read
    - OSSL_PROVIDER_unload
    - SSL_free
    - SSL_dane_enable
    - SSL_set_post_handshake_auth
    - SSL_get_negotiated_client_cert_type
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_set_verify
    - X509_get0_pubkey
    - SSL_session_reused
    - SSL_CTX_set1_server_cert_type
    - create_ssl_ctx_pair
    - SSL_use_certificate_file
    - SSL_get0_peer_certificate
    - TLS_client_method
    - TEST_skip
    - SSL_get_negotiated_server_cert_type
    - SSL_CTX_set1_client_cert_type
    - SSL_do_handshake
    - SSL_shutdown
    - SSL_get_verify_result
    - TEST_long_eq
    - SSL_get0_peer_rpk
    - SSL_set_options
    - create_ssl_objects
    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:
    - TLS_client_method
    - TEST_false
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - SSL_CTX_set1_server_cert_type
    - create_ssl_ctx_pair
    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
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - test_mk_file_path
    - test_skip_common_options
    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:
    - OSSL_LIB_CTX_free
    - OPENSSL_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:
    - memset
    - RC4
    - RC4_set_key
    - 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_mem_eq
    - TEST_uchar_eq
    - RC4_set_key
    - memset
    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:
    - memset
    - RC4
    - RC4_set_key
    - 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
    - TEST_mem_eq
    - SHA1_Init
    - RC4_set_key
    - memset
    - SHA1_Update
    - SHA1_Final
    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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_srtm_test.c:26,1
    - Dst: ossl_quic_srtm_new
      Src: /src/openssl/test/quic_srtm_test.c:26,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:29,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:29,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:30,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:30,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:31,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:31,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:32,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:32,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:33,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/test/quic_srtm_test.c:33,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:34,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/test/quic_srtm_test.c:34,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:35,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:35,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:36,1
    - Dst: ossl_quic_srtm_add
      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_add
      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_add
      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_remove
      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_lookup
      Src: /src/openssl/test/quic_srtm_test.c:42,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:43,1
    - Dst: TEST_uint64_t_eq
      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_lookup
      Src: /src/openssl/test/quic_srtm_test.c:45,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:46,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:48,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:48,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:49,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:50,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:51,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:51,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:52,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:53,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:54,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:54,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:55,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:56,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:57,1
    - Dst: ossl_quic_srtm_lookup
      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_cull
      Src: /src/openssl/test/quic_srtm_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:59,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:59,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:60,1
    - Dst: TEST_uint64_t_eq
      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_lookup
      Src: /src/openssl/test/quic_srtm_test.c:62,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:63,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:65,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:65,1
    - Dst: TEST_false
      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: ossl_quic_srtm_free
      Src: /src/openssl/test/quic_srtm_test.c:71,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 73
    functionName: test_srtm
    functionSourceFile: /src/openssl/test/quic_srtm_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_eq
    - TEST_false
    - TEST_ptr
    - ossl_quic_srtm_cull
    - TEST_uint64_t_eq
    - ossl_quic_srtm_remove
    - TEST_true
    - ossl_quic_srtm_add
    - ossl_quic_srtm_free
    - ossl_quic_srtm_lookup
    - ossl_quic_srtm_new
    linkageType: ''
    returnType: int
    signature: int test_srtm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_srtm_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    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
    - ossl_sm4_decrypt
    - TEST_mem_eq
    - memcpy
    - ossl_sm4_set_key
    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:
    - memset
    - BIO_snprintf
    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:
    - TEST_ptr
    - SSL_write
    - SSL_set_mtu
    - TEST_size_t_ne
    - TEST_true
    - TEST_error
    - create_ssl_connection
    - BIO_read
    - DTLS_get_data_mtu
    - TEST_int_eq
    - SSL_READ_ETM
    - SSL_free
    - TEST_false
    - SSL_set_cipher_list
    - memset
    - SSL_get_rbio
    - SSL_CONNECTION_FROM_SSL_ONLY
    - TEST_info
    - SSL_set_options
    - create_ssl_objects
    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_get_ciphers
    - SSL_CTX_set_psk_client_callback
    - TEST_ptr
    - SSL_CTX_set_security_level
    - SSL_CTX_set_cipher_list
    - TEST_true
    - SSL_CTX_set_psk_server_callback
    - HAS_PREFIX
    - TEST_int_gt
    - SSL_CTX_new
    - sk_SSL_CIPHER_value
    - DTLS_method
    - SSL_CTX_free
    - STACK_OF
    - sk_SSL_CIPHER_num
    - mtu_test
    - TEST_info
    - SSL_CIPHER_get_name
    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:
    - SSL_CTX_set_psk_client_callback
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_psk_server_callback
    - DTLS_set_link_mtu
    - SSL_CTX_new
    - DTLS_method
    - SSL_CTX_free
    - SSL_free
    - SSL_set_options
    - create_ssl_objects
    - create_ssl_connection
    - SSL_set_tlsext_max_fragment_length
    - SSL_CTX_set_dh_auto
    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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ADD_TEST
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 115
    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: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: ADD_ALL_TESTS
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ALL_TESTS(test_function, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - test_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: ADD_MFAIL_TEST
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_MFAIL_TEST(test_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - test_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: ADD_MFAIL_NO_CHECK_TEST
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_MFAIL_NO_CHECK_TEST(test_fn)
  - 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: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    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: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    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: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    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: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    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: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    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: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    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: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    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: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    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: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    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: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    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: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: TEST_int_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 460
    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: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: TEST_int_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 31
    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: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: TEST_int_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 4
    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: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: TEST_int_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 44
    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: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: TEST_int_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 132
    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: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: TEST_int_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 26
    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: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: TEST_uint_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 33
    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: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    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: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    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: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    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: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    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: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: TEST_uint_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    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: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    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: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    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: 492
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 492
    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: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    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: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    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: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    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: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    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: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    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: 499
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 499
    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: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    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: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    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: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    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: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: TEST_long_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 9
    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: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    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: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    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: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    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: 508
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 508
    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: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    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: 511
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 511
    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: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: TEST_ulong_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 5
    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: 513
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 513
    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: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    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: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    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: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    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: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: TEST_int64_t_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    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: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    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: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    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: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    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: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    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: 523
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 523
    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: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    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: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    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: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    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: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    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: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    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: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    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: 532
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 532
    functionName: TEST_size_t_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 100
    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: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    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: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    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: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: TEST_size_t_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 18
    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: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: TEST_size_t_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 22
    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: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    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: 539
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 539
    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: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    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: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    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: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: TEST_double_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    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: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    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: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    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: 546
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 546
    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: 547
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 547
    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: 548
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 548
    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: 549
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: TEST_time_t_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    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: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    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: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    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: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: TEST_ptr_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 36
    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: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    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: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: TEST_ptr
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 737
    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: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    functionName: TEST_ptr_null
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 81
    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: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    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: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    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: 560
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 560
    functionName: TEST_strn_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 9
    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: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    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: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: TEST_mem_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 203
    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: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    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: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: TEST_true
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 621
    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: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: TEST_false
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 188
    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: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: TEST_err_r
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_err_r(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: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: TEST_err_s
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_err_s(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: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    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: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    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: 574
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 574
    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: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    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: 576
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 576
    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: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    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: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    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: 579
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 579
    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: 580
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 580
    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: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    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: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    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: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    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: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    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: 585
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 585
    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: 586
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 586
    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: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    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: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    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: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: TEST_error
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 95
    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: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: TEST_info
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 141
    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: 601
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 601
    functionName: TEST_skip
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 22
    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: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    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:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    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:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    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:160,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: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    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:176,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:178,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:179,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: 184
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 184
    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:193,1
    - Dst: cts128_decrypt_key_schedule
      Src: /src/openssl/test/modes_internal_test.c:194,1
    - Dst: TEST_info
      Src: /src/openssl/test/modes_internal_test.c:200,1
    - Dst: CTS128_FIXTURE*::last_blocks_correction
      Src: /src/openssl/test/modes_internal_test.c:202,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:205,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/modes_internal_test.c:206,1
    - Dst: CTS128_FIXTURE*::encrypt_block
      Src: /src/openssl/test/modes_internal_test.c:206,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:210,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:211,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:215,1
    - Dst: CTS128_FIXTURE*::decrypt_block
      Src: /src/openssl/test/modes_internal_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/modes_internal_test.c:219,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:220,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:221,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:225,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/modes_internal_test.c:226,1
    - Dst: CTS128_FIXTURE*::encrypt_stream
      Src: /src/openssl/test/modes_internal_test.c:226,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:230,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:231,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:235,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/modes_internal_test.c:236,1
    - Dst: CTS128_FIXTURE*::decrypt_stream
      Src: /src/openssl/test/modes_internal_test.c:236,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:240,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:241,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - num
    argTypes:
    - CTS128_FIXTURE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 245
    functionName: execute_cts128
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - CTS128_FIXTURE*::decrypt_stream
    - TEST_mem_eq
    - CTS128_FIXTURE*::encrypt_block
    - CTS128_FIXTURE*::decrypt_block
    - cts128_decrypt_key_schedule
    - TEST_true
    - CTS128_FIXTURE*::last_blocks_correction
    - memcpy
    - CTS128_FIXTURE*::encrypt_stream
    - TEST_size_t_eq
    - TEST_info
    - cts128_encrypt_key_schedule
    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:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 256
    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:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 267
    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: 820
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 820
    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:870,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/test/modes_internal_test.c:872,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/test/modes_internal_test.c:873,1
    - Dst: memset
      Src: /src/openssl/test/modes_internal_test.c:874,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/test/modes_internal_test.c:876,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/modes_internal_test.c:878,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/test/modes_internal_test.c:878,1
    - Dst: TEST_false
      Src: /src/openssl/test/modes_internal_test.c:880,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/test/modes_internal_test.c:880,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:882,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/test/modes_internal_test.c:885,1
    - Dst: memset
      Src: /src/openssl/test/modes_internal_test.c:886,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/test/modes_internal_test.c:888,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/test/modes_internal_test.c:890,1
    - Dst: TEST_false
      Src: /src/openssl/test/modes_internal_test.c:891,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/test/modes_internal_test.c:891,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:893,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 897
    functionName: test_gcm128
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_encrypt
    - TEST_false
    - CRYPTO_gcm128_finish
    - TEST_mem_eq
    - CRYPTO_gcm128_aad
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_setiv
    - AES_set_encrypt_key
    - CRYPTO_gcm128_init
    - memset
    - TEST_int_ge
    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:901,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/modes_internal_test.c:901,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/modes_internal_test.c:902,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/modes_internal_test.c:902,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/modes_internal_test.c:903,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/modes_internal_test.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    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: 5
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: test_alt_chains_cert_forgery
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - load_cert_from_file
    - X509_STORE_CTX_init
    - X509_LOOKUP_load_file
    - X509_STORE_free
    - X509_STORE_CTX_new
    - X509_free
    - OSSL_STACK_OF_X509_free
    - X509_STORE_CTX_free
    - X509_LOOKUP_file
    - X509_STORE_new
    - load_certs_pem
    - STACK_OF
    - X509_verify_cert
    - X509_STORE_add_lookup
    - X509_STORE_CTX_get_error
    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:115,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/verify_extra_test.c:119,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/verify_extra_test.c:123,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:124,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/verify_extra_test.c:125,1
    - Dst: X509_set0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:129,1
    - Dst: X509_get0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:133,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/verify_extra_test.c:133,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: test_distinguishing_id
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - load_cert_from_file
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_cmp
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - X509_free
    - X509_set0_distinguishing_id
    - X509_get0_distinguishing_id
    - TEST_int_eq
    - strlen
    - 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:150,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/openssl/test/verify_extra_test.c:154,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/verify_extra_test.c:158,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/verify_extra_test.c:162,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:163,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/verify_extra_test.c:164,1
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:168,1
    - Dst: X509_REQ_get0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:171,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:172,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/verify_extra_test.c:172,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/verify_extra_test.c:177,1
    - Dst: BIO_free
      Src: /src/openssl/test/verify_extra_test.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 180
    functionName: test_req_distinguishing_id
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_cmp
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - BIO_free
    - PEM_read_bio_X509_REQ
    - TEST_int_eq
    - BIO_new_file
    - strlen
    - ASN1_OCTET_STRING_new
    - X509_REQ_set0_distinguishing_id
    - X509_REQ_get0_distinguishing_id
    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:184,1
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:185,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/verify_extra_test.c:185,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/verify_extra_test.c:186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:189,1
    - Dst: X509_self_signed
      Src: /src/openssl/test/verify_extra_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:193,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/verify_extra_test.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:194,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:194,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/verify_extra_test.c:195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:196,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:196,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/verify_extra_test.c:199,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/verify_extra_test.c:200,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - use_trusted
    - expected
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: test_self_signed
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - load_cert_from_file
    - X509_STORE_CTX_set0_trusted_stack
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new
    - X509_free
    - sk_X509_new_null
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_push
    - TEST_int_eq
    - sk_X509_free
    - STACK_OF
    - X509_verify_cert
    - X509_self_signed
    linkageType: ''
    returnType: int
    signature: int test_self_signed(const char *filename, int use_trusted, int expected)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:296,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/verify_extra_test.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:299,1
    - Dst: X509_self_signed
      Src: /src/openssl/test/verify_extra_test.c:299,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:302,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/verify_extra_test.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:305,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/verify_extra_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:308,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/verify_extra_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:311,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/verify_extra_test.c:311,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/verify_extra_test.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:318,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:320,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:320,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:322,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:322,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:323,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:327,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:327,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:329,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:331,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:331,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:334,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:334,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:336,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:338,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:338,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:339,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:342,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:345,1
    - Dst: X509_VERIFY_PARAM_add1_host
      Src: /src/openssl/test/verify_extra_test.c:345,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:347,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:349,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:349,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:350,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:353,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:357,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:359,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:361,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:361,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:362,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:366,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:369,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:371,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:371,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:373,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:373,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:374,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:378,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:378,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:384,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:386,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:386,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:388,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:388,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:389,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:393,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:395,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:397,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:397,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:400,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:400,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:402,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:404,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:404,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:405,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:408,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:411,1
    - Dst: X509_VERIFY_PARAM_add1_rfc822
      Src: /src/openssl/test/verify_extra_test.c:411,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:413,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:415,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:415,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:416,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:419,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:422,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:423,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:429,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:431,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:431,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:433,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:433,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:434,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:438,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:438,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:440,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:440,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:442,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:442,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:444,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:445,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:445,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:447,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:449,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:449,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:450,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:456,1
    - Dst: X509_VERIFY_PARAM_add1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:458,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:458,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:460,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:460,1
    - Dst: TEST_info
      Src: /src/openssl/test/verify_extra_test.c:461,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:464,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:468,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:477,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:477,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:479,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:481,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:483,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:483,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:485,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:485,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:490,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:490,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:492,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:492,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:494,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:494,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:498,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:502,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:504,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:504,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:506,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:506,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:510,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:510,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:514,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:514,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:516,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:516,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:518,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:518,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:520,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:522,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:522,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:526,1
    - Dst: X509_VERIFY_PARAM_add1_host
      Src: /src/openssl/test/verify_extra_test.c:526,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:528,1
    - Dst: X509_VERIFY_PARAM_add1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:528,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:530,1
    - Dst: X509_VERIFY_PARAM_add1_rfc822
      Src: /src/openssl/test/verify_extra_test.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:532,1
    - Dst: X509_VERIFY_PARAM_add1_smtputf8
      Src: /src/openssl/test/verify_extra_test.c:532,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:534,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:536,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:536,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/test/verify_extra_test.c:538,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/verify_extra_test.c:543,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/verify_extra_test.c:544,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:545,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 282
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 287
    functionDepth: 8
    functionLinenumber: 287
    functionLinenumberEnd: 547
    functionName: test_multiname_selfsigned
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - X509_self_signed
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_add1_smtputf8
    - X509_STORE_free
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_VERIFY_PARAM_add1_rfc822
    - TEST_false
    - X509_VERIFY_PARAM_add1_ip_asc
    - X509_STORE_CTX_new
    - X509_VERIFY_PARAM_add1_host
    - X509_verify_cert
    - X509_VERIFY_PARAM_set_time
    - X509_from_strings
    - X509_STORE_get0_param
    - X509_STORE_add_cert
    - X509_STORE_new
    - X509_STORE_CTX_cleanup
    - strlen
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_multiname_selfsigned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: yolo_name_validation
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int yolo_name_validation(const char *name, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: yolo_ip_validation
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int yolo_ip_validation(const uint8_t *name, size_t len)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:566,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/verify_extra_test.c:566,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:569,1
    - Dst: X509_VERIFY_PARAM_set1_rfc822
      Src: /src/openssl/test/verify_extra_test.c:569,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:571,1
    - Dst: X509_VERIFY_PARAM_set1_smtputf8
      Src: /src/openssl/test/verify_extra_test.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:573,1
    - Dst: X509_VERIFY_PARAM_set1_rfc822
      Src: /src/openssl/test/verify_extra_test.c:573,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:575,1
    - Dst: X509_VERIFY_PARAM_set1_smtputf8
      Src: /src/openssl/test/verify_extra_test.c:575,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:577,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:579,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:579,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:583,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:583,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:585,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:585,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:589,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:589,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:591,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:591,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:595,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:596,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:596,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:599,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/test/verify_extra_test.c:599,1
    - Dst: TEST_false
      Src: /src/openssl/test/verify_extra_test.c:602,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/test/verify_extra_test.c:602,1
    - Dst: X509_VERIFY_PARAM_set1_host_input_validation
      Src: /src/openssl/test/verify_extra_test.c:607,1
    - Dst: X509_VERIFY_PARAM_set1_rfc822_input_validation
      Src: /src/openssl/test/verify_extra_test.c:608,1
    - Dst: X509_VERIFY_PARAM_set1_smtputf8_input_validation
      Src: /src/openssl/test/verify_extra_test.c:609,1
    - Dst: X509_VERIFY_PARAM_set1_ip_input_validation
      Src: /src/openssl/test/verify_extra_test.c:610,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:613,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:616,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:621,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/test/verify_extra_test.c:621,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:624,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/test/verify_extra_test.c:624,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:628,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/test/verify_extra_test.c:628,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:631,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/test/verify_extra_test.c:631,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:631,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/verify_extra_test.c:638,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 640
    functionName: test_vpm_input_validation
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1_ip
    - TEST_false
    - TEST_ptr
    - X509_VERIFY_PARAM_set1_ip_input_validation
    - X509_VERIFY_PARAM_set1_smtputf8
    - X509_VERIFY_PARAM_set1_host_input_validation
    - TEST_true
    - X509_VERIFY_PARAM_set1_rfc822_input_validation
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set1_host
    - strlen
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_set1_rfc822
    - X509_VERIFY_PARAM_free
    - X509_VERIFY_PARAM_set1_smtputf8_input_validation
    - X509_VERIFY_PARAM_set1_ip_asc
    linkageType: ''
    returnType: int
    signature: int test_vpm_input_validation(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/openssl/test/verify_extra_test.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 5
    functionLinenumber: 642
    functionLinenumberEnd: 645
    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:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 650
    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:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 655
    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:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 5
    functionLinenumber: 657
    functionLinenumberEnd: 661
    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:665,1
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:666,1
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:667,1
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:668,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/verify_extra_test.c:668,1
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:669,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/verify_extra_test.c:669,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/verify_extra_test.c:670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:673,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:675,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:676,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:677,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:678,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:681,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/verify_extra_test.c:681,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:684,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/verify_extra_test.c:684,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:688,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:688,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:691,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/openssl/test/verify_extra_test.c:691,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/verify_extra_test.c:699,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:701,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:701,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/verify_extra_test.c:706,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/verify_extra_test.c:707,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/verify_extra_test.c:708,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:709,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:710,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:711,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - purpose
    - expected
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 713
    functionName: do_test_purpose
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - load_cert_from_file
    - X509_STORE_CTX_set0_trusted_stack
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_STORE_CTX_set_purpose
    - X509_STORE_CTX_new
    - X509_free
    - sk_X509_new_null
    - OSSL_STACK_OF_X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_push
    - TEST_int_eq
    - STACK_OF
    - X509_verify_cert
    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:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 5
    functionLinenumber: 715
    functionLinenumberEnd: 718
    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:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 5
    functionLinenumber: 720
    functionLinenumberEnd: 723
    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:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 5
    functionLinenumber: 725
    functionLinenumberEnd: 728
    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:734,1
    - Dst: TEST_error
      Src: /src/openssl/test/verify_extra_test.c:735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:739,1
    - Dst: test_get_argument
      Src: /src/openssl/test/verify_extra_test.c:739,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:742,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:742,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:743,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:743,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:744,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:744,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:745,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:745,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:746,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:746,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:747,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:747,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:748,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:748,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:749,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:749,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:752,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:753,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:754,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:755,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:756,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:757,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:758,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:759,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:760,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:761,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:762,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:763,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/verify_extra_test.c:766,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 768
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_mk_file_path
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:772,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:773,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:774,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:775,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:776,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:777,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:778,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 780
    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:186,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/tls13encryptiontest.c:192,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/test/tls13encryptiontest.c:200,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/test/tls13encryptiontest.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 213
    functionName: multihexstr2buf
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_hexchar2int
    - OPENSSL_malloc
    - OPENSSL_free
    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:222,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:223,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:224,1
    - Dst: multihexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:225,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/tls13encryptiontest.c:230,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:236,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:237,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:239,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:241,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:248,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:249,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: 251
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 251
    functionName: load_record
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - multihexstr2buf
    - memcpy
    - 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:260,1
    - Dst: multihexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13encryptiontest.c:264,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:265,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13encryptiontest.c:269,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:275,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: 277
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 277
    functionName: test_record
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - multihexstr2buf
    - TEST_info
    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:285,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls13encryptiontest.c:300,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/tls13encryptiontest.c:302,1
    - Dst: load_record
      Src: /src/openssl/test/tls13encryptiontest.c:303,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13encryptiontest.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:309,1
    - Dst: new_record_layer
      Src: /src/openssl/test/tls13encryptiontest.c:309,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/tls13encryptiontest.c:313,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:318,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13encryptiontest.c:321,1
    - Dst: funcs::cipher
      Src: /src/openssl/test/tls13encryptiontest.c:321,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:326,1
    - Dst: test_record
      Src: /src/openssl/test/tls13encryptiontest.c:326,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:327,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:332,1
    - Dst: new_record_layer
      Src: /src/openssl/test/tls13encryptiontest.c:332,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/tls13encryptiontest.c:336,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:341,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13encryptiontest.c:344,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/test/tls13encryptiontest.c:344,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:345,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:349,1
    - Dst: test_record
      Src: /src/openssl/test/tls13encryptiontest.c:349,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:350,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:354,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:355,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:358,1
    - Dst: TEST_note
      Src: /src/openssl/test/tls13encryptiontest.c:363,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:367,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:370,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 372
    functionName: test_tls13_encryption
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - new_record_layer
    - OSSL_RECORD_LAYER*::funcs::cipher
    - OPENSSL_free
    - TEST_true
    - TEST_error
    - TEST_note
    - test_record
    - funcs::cipher
    - TEST_int_eq
    - EVP_CIPHER_get_iv_length
    - free
    - load_record
    - OSSL_NELEM
    - memcpy
    - TEST_size_t_eq
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: int test_tls13_encryption(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13encryptiontest.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 378
    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:
    - BN_bin2bn
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_set0_pqg
    - BN_copy
    - TEST_true
    - BN_free
    - ossl_ffc_set_digest
    - ossl_ffc_params_init
    - ossl_ffc_params_set_flags
    - BN_add_word
    - ossl_ffc_params_FIPS186_4_validate
    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:317,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/test/ffc_internal_test.c:319,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/test/ffc_internal_test.c:320,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:324,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:324,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:330,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:330,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:337,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:338,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:339,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 341
    functionName: ffc_params_validate_pq_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_false
    - TEST_ptr
    - ossl_ffc_params_set0_pqg
    - ossl_ffc_params_set_validate_params
    - TEST_true
    - BN_free
    - ossl_ffc_set_digest
    - ossl_ffc_params_init
    - ossl_ffc_params_set_flags
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_4_validate
    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:350,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:351,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/test/ffc_internal_test.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:355,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:355,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: ffc_params_gen_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - ossl_ffc_params_FIPS186_4_generate
    - ossl_ffc_params_init
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_4_validate
    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:371,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:373,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/test/ffc_internal_test.c:373,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:377,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:382,1
    - Dst: ossl_ffc_params_print
      Src: /src/openssl/test/ffc_internal_test.c:382,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 389
    functionName: ffc_params_gen_canonicalg_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_print
    - TEST_true
    - ossl_ffc_params_FIPS186_4_generate
    - ossl_ffc_params_init
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_4_validate
    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:397,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:398,1
    - Dst: BN_new
      Src: /src/openssl/test/ffc_internal_test.c:398,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:400,1
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/openssl/test/ffc_internal_test.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:404,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/openssl/test/ffc_internal_test.c:404,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:413,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:418,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/openssl/test/ffc_internal_test.c:421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:423,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:423,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: 391
    functionDepth: 4
    functionLinenumber: 391
    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_2_validate
    - TEST_false
    - TEST_ptr
    - ossl_ffc_params_print
    - TEST_true
    - ossl_ffc_params_FIPS186_2_generate
    - TEST_int_eq
    - BN_free
    - ossl_ffc_params_init
    - ossl_ffc_params_set_flags
    - BN_new
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_4_validate
    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
    - BN_set_word
    - TEST_ptr
    - BN_set_negative
    - BN_copy
    - TEST_true
    - DH_free
    - TEST_int_eq
    - BN_free
    - ossl_ffc_validate_public_key
    - BN_value_one
    - BN_new
    - BN_add_word
    - BN_sub_word
    - DH_new_by_nid
    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
    - BN_set_word
    - TEST_ptr
    - TEST_false
    - BN_set_negative
    - BN_copy
    - TEST_true
    - DH_free
    - TEST_int_eq
    - BN_free
    - BN_value_one
    - ossl_ffc_validate_private_key
    - BN_new
    - BN_sub_word
    - DH_new_by_nid
    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
    - TEST_false
    - TEST_ptr
    - TEST_int_le
    - ossl_ifc_ffc_compute_security_bits
    - BN_CTX_new_ex
    - TEST_true
    - DH_free
    - BN_CTX_free
    - BN_free
    - BN_num_bits
    - ossl_ffc_validate_private_key
    - BN_new
    - ossl_ffc_generate_private_key
    - DH_new_by_nid
    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
    - TEST_ptr
    - ossl_ffc_params_cmp
    - TEST_true
    - DH_free
    - TEST_int_eq
    - ossl_ffc_params_init
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_copy
    - DH_new_by_nid
    linkageType: ''
    returnType: int
    signature: int ffc_params_copy_test(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:702,1
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:703,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:705,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:705,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:707,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:709,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:709,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/test/ffc_internal_test.c:713,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:715,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/test/ffc_internal_test.c:715,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/ffc_internal_test.c:719,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/test/ffc_internal_test.c:720,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/ffc_internal_test.c:721,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:728,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:730,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:731,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:732,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 696
    functionDepth: 5
    functionLinenumber: 696
    functionLinenumberEnd: 735
    functionName: ffc_params_copy_mfail
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - BN_bin2bn
    - TEST_ptr
    - ossl_ffc_params_set0_pqg
    - ossl_ffc_params_set_seed
    - TEST_true
    - MFAIL_end
    - BN_free
    - ossl_ffc_params_init
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: int ffc_params_copy_mfail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:741,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:742,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/ffc_internal_test.c:743,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:746,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:747,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:748,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:749,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:750,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ffc_internal_test.c:751,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 755
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - ADD_MFAIL_TEST
    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_ptr
    - TEST_true
    - ossl_bn_miller_rabin_is_prime
    - TEST_int_eq
    - BN_free
    - BN_new
    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:
    - BN_set_word
    - TEST_ptr
    - TEST_true
    - ossl_bn_miller_rabin_is_prime
    - BN_free
    - TEST_int_ne
    - BN_new
    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:
    - BN_set_word
    - TEST_BN_eq
    - TEST_ptr
    - ossl_bn_get0_small_factors
    - TEST_true
    - BN_free
    - BN_new
    - BN_mul_word
    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:
    - TEST_ptr
    - ADD_ALL_TESTS
    - ADD_TEST
    - BN_CTX_new
    - OSSL_NELEM
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: MDC2_Init
      Src: /src/openssl/test/mdc2_internal_test.c:54,1
    - Dst: MDC2_Update
      Src: /src/openssl/test/mdc2_internal_test.c:55,1
    - Dst: strlen
      Src: /src/openssl/test/mdc2_internal_test.c:56,1
    - Dst: MDC2_Final
      Src: /src/openssl/test/mdc2_internal_test.c:57,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/mdc2_internal_test.c:59,1
    - Dst: TEST_info
      Src: /src/openssl/test/mdc2_internal_test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: test_mdc2
    functionSourceFile: /src/openssl/test/mdc2_internal_test.c
    functionUses: 0
    functionsReached:
    - MDC2_Update
    - MDC2_Final
    - TEST_mem_eq
    - MDC2_Init
    - strlen
    - TEST_info
    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:70,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mdc2_internal_test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/mdc2_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: sigpipe_handler
    functionSourceFile: /src/openssl/test/bio_socket_sigpipe_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigpipe_handler(int sig)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:46,1
    - Dst: sigemptyset
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:50,1
    - Dst: sigaction
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:54,1
    - Dst: socketpair
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:58,1
    - Dst: closesocket
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:58,1
    - Dst: BIO_new_socket
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:63,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:69,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:75,1
    - Dst: TEST_skip
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:77,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:87,1
    - Dst: inet_pton
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:89,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:90,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:91,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:92,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:93,1
    - Dst: TEST_skip
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:102,1
    - Dst: BIO_set_send_flags
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:102,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:104,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:108,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:114,1
    - Dst: closesocket
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:117,1
    - Dst: closesocket
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:121,1
    - Dst: sigaction
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:126,1
    - Dst: TEST_skip
      Src: /src/openssl/test/bio_socket_sigpipe_test.c:131,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 134
    functionName: test_bio_write_triggers_sigpipe
    functionSourceFile: /src/openssl/test/bio_socket_sigpipe_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_new_socket
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - ERR_clear_error
    - BIO_write
    - BIO_set_send_flags
    - TEST_int_eq
    - inet_pton
    - BIO_free
    - memset
    - BIO_ctrl
    - sigemptyset
    - BIO_set_ktls_ctrl_msg_flag
    - TEST_skip
    - closesocket
    - socketpair
    - sigaction
    linkageType: ''
    returnType: int
    signature: int test_bio_write_triggers_sigpipe(int test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_socket_sigpipe_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/bio_socket_sigpipe_test.c
    functionUses: 0
    functionsReached:
    - 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:
    - ebcdic2ascii
    - EVP_MD_CTX_set_params
    - OSSL_PROVIDER_load
    - TEST_ptr
    - TEST_mem_eq
    - EVP_DigestFinal_ex
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_MD_CTX_free
    - OSSL_PARAM_construct_uint
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - strlen
    - EVP_mdc2
    - EVP_DigestInit_ex
    - OSSL_PROVIDER_unload
    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_ecb_encrypt
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    - TEST_mem_eq
    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:
    - TEST_mem_eq
    - IDEA_set_encrypt_key
    - IDEA_cbc_encrypt
    - IDEA_set_decrypt_key
    - memcpy
    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:
    - IDEA_cfb64_encrypt
    - TEST_mem_eq
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    - memcpy
    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:
    - FormatMessageA
    - GetLastError
    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:
    - OPENSSL_strdup
    - strpbrk
    - OPENSSL_free
    - TEST_note
    - chdir
    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:
    - NCONF_load_bio
    - TEST_ptr
    - CONF_modules_load
    - TEST_int_gt
    - TEST_note
    - NCONF_get_string
    - TEST_str_eq
    - TEST_int_eq
    - ERR_peek_error
    - NCONF_get_number
    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_false
    - TEST_true
    - TEST_note
    - TEST_long_eq
    - TEST_int_eq
    - setenv
    - unsetenv
    - 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
    - BIO_snprintf
    - TEST_true
    - TEST_long_eq
    - setenv
    - 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:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_load_config
    - TEST_note
    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:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - change_path
    - TEST_note
    - opt_next
    - BIO_new_file
    - NCONF_new
    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:
    - CONF_modules_unload
    - BIO_vfree
    - NCONF_free
    - OPENSSL_free
    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
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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:70,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:74,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/slh_dsa_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:75,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:75,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:76,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/slh_dsa_test.c:76,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:77,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/slh_dsa_test.c:77,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/slh_dsa_test.c:84,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/slh_dsa_test.c:85,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:86,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: 88
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 88
    functionName: slh_dsa_create_keypair
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_octet_string
    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:98,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/slh_dsa_test.c:101,1
    - Dst: memcpy
      Src: /src/openssl/test/slh_dsa_test.c:102,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/slh_dsa_test.c:104,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:104,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/slh_dsa_test.c:106,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:106,1
    - Dst: TEST_note
      Src: /src/openssl/test/slh_dsa_test.c:113,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 7
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: slh_dsa_bad_pub_len_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - slh_dsa_key_from_data
    - TEST_note
    - memcpy
    - TEST_ptr_null
    - EVP_PKEY_free
    - 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:130,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:131,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:132,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:132,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:133,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/slh_dsa_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:136,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:136,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/slh_dsa_test.c:137,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:137,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:138,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:142,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/slh_dsa_test.c:142,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/slh_dsa_test.c:144,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:144,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:145,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/slh_dsa_test.c:150,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 119
    functionDepth: 9
    functionLinenumber: 119
    functionLinenumberEnd: 153
    functionName: slh_dsa_key_eq_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_eq
    - slh_dsa_key_from_data
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_dup
    - TEST_int_eq
    - EVP_PKEY_free
    - OSSL_NELEM
    - TEST_int_ne
    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:162,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:164,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:166,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/slh_dsa_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:168,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/slh_dsa_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:170,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/slh_dsa_test.c:170,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:174,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 9
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: slh_dsa_key_validate_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_pairwise_check
    - slh_dsa_key_from_data
    - EVP_PKEY_private_check
    - TEST_int_eq
    - EVP_PKEY_public_check
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: int slh_dsa_key_validate_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:189,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:192,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:194,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:194,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:196,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/slh_dsa_test.c:196,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:200,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 8
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: slh_dsa_key_validate_failure_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_pairwise_check
    - slh_dsa_key_from_data
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:221,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:224,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:224,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:226,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:228,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:230,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/slh_dsa_test.c:230,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:231,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:231,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:237,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:238,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:239,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: 241
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 241
    functionName: do_slh_dsa_verify
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - slh_dsa_key_from_data
    - OSSL_PARAM_construct_end
    - EVP_PKEY_verify
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    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:257,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/slh_dsa_test.c:258,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:260,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:263,1
    - Dst: slh_dsa_create_keypair
      Src: /src/openssl/test/slh_dsa_test.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:273,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:275,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:277,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/slh_dsa_test.c:277,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:278,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:281,1
    - Dst: EVP_PKEY_get_size_t_param
      Src: /src/openssl/test/slh_dsa_test.c:281,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:284,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/slh_dsa_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:285,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:285,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:289,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/slh_dsa_test.c:289,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/slh_dsa_test.c:293,1
    - Dst: do_slh_dsa_verify
      Src: /src/openssl/test/slh_dsa_test.c:295,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:299,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:300,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:301,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:302,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 243
    functionDepth: 10
    functionLinenumber: 243
    functionLinenumberEnd: 304
    functionName: slh_dsa_sign_verify_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_get_size_t_param
    - TEST_true
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_zalloc
    - do_slh_dsa_verify
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_SIGNATURE_free
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - EVP_Q_digest
    - slh_dsa_create_keypair
    - OSSL_PARAM_construct_int
    - EVP_PKEY_sign_message_init
    - TEST_size_t_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:314,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:318,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:318,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:319,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/slh_dsa_test.c:319,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:320,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:320,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:321,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/slh_dsa_test.c:321,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:324,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: 326
      start: 306
    functionDepth: 7
    functionLinenumber: 306
    functionLinenumberEnd: 326
    functionName: do_gen_key
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 5
    functionsReached:
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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:339,1
    - Dst: do_gen_key
      Src: /src/openssl/test/slh_dsa_test.c:339,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:342,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/slh_dsa_test.c:342,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:345,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/slh_dsa_test.c:345,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:348,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/slh_dsa_test.c:348,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:349,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:350,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/slh_dsa_test.c:350,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:353,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/slh_dsa_test.c:353,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/slh_dsa_test.c:355,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/slh_dsa_test.c:356,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:359,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:360,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/slh_dsa_test.c:362,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:366,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 368
    functionName: slh_dsa_keygen_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_le
    - TEST_true
    - TEST_int_ge
    - do_gen_key
    - TEST_size_t_eq
    - EVP_PKEY_free
    - EVP_PKEY_get_int_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:385,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:386,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/slh_dsa_test.c:386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:387,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/slh_dsa_test.c:387,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:391,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:391,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:391,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:392,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:392,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:392,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:393,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/slh_dsa_test.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:394,1
    - Dst: PEM_write_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:395,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:395,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:401,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:402,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:403,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:403,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:404,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/slh_dsa_test.c:404,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:407,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:408,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/slh_dsa_test.c:408,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:409,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:411,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/slh_dsa_test.c:411,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:412,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/slh_dsa_test.c:412,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:413,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/slh_dsa_test.c:413,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:416,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:417,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:420,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/slh_dsa_test.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:421,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:421,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/slh_dsa_test.c:426,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:427,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:428,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:429,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:430,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:431,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:432,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:433,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:434,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:436,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 370
    functionDepth: 9
    functionLinenumber: 370
    functionLinenumberEnd: 438
    functionName: slh_dsa_usage_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_new_from_pkey
    - BIO_new
    - OPENSSL_free
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - PEM_write_bio_PUBKEY_ex
    - TEST_int_eq
    - PEM_read_bio_PrivateKey_ex
    - EVP_SIGNATURE_free
    - OPENSSL_malloc
    - BIO_s_mem
    - PEM_write_bio_PrivateKey_ex
    - BIO_free
    - EVP_PKEY_keygen
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_keygen_init
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_verify
    - PEM_read_bio_PUBKEY_ex
    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:460,1
    - Dst: do_gen_key
      Src: /src/openssl/test/slh_dsa_test.c:460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:464,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:464,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:465,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:465,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:465,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:466,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/slh_dsa_test.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:467,1
    - Dst: PEM_write_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:468,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:468,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/slh_dsa_test.c:473,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:474,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:477,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:477,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:478,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:478,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:480,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:480,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:481,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/slh_dsa_test.c:481,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:484,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/slh_dsa_test.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:488,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:491,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/slh_dsa_test.c:491,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:492,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:492,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:493,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:494,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:494,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:500,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:501,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:501,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:503,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:506,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/slh_dsa_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:507,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/slh_dsa_test.c:507,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:508,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:508,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:509,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:509,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/slh_dsa_test.c:515,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:516,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:517,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:518,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:519,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:520,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:521,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:522,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:523,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:524,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:525,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:526,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 440
    functionDepth: 6
    functionLinenumber: 440
    functionLinenumberEnd: 528
    functionName: slh_dsa_deterministic_usage_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_CTX_dup
    - EVP_SIGNATURE_fetch
    - do_gen_key
    - EVP_PKEY_CTX_new_from_pkey
    - BIO_new
    - OPENSSL_free
    - PEM_write_bio_PUBKEY_ex
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - PEM_read_bio_PrivateKey_ex
    - OPENSSL_calloc
    - EVP_SIGNATURE_free
    - BIO_s_mem
    - PEM_write_bio_PrivateKey_ex
    - BIO_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - EVP_PKEY_verify_message_init
    - OSSL_PARAM_construct_int
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_verify
    - TEST_size_t_eq
    - PEM_read_bio_PUBKEY_ex
    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:543,1
    - Dst: do_gen_key
      Src: /src/openssl/test/slh_dsa_test.c:543,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:546,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:550,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/slh_dsa_test.c:550,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:551,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:551,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:555,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:555,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:559,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/slh_dsa_test.c:559,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:560,1
    - Dst: OPENSSL_zalloc
      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_DigestSign
      Src: /src/openssl/test/slh_dsa_test.c:563,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:566,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:566,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:569,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/slh_dsa_test.c:569,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:570,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:570,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:574,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:574,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:578,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/slh_dsa_test.c:578,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:582,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:583,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:584,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 530
    functionDepth: 8
    functionLinenumber: 530
    functionLinenumberEnd: 586
    functionName: slh_dsa_digest_sign_verify_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_zalloc
    - TEST_ptr
    - EVP_DigestVerify
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - OSSL_PARAM_construct_end
    - EVP_DigestSign
    - TEST_int_eq
    - do_gen_key
    - EVP_DigestVerifyInit_ex
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:599,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:599,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:600,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/slh_dsa_test.c:600,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:604,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:606,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:607,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:607,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:611,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:613,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:615,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:615,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:616,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/slh_dsa_test.c:616,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:620,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:622,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:623,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:624,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/slh_dsa_test.c:624,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:628,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:629,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 588
    functionDepth: 7
    functionLinenumber: 588
    functionLinenumberEnd: 631
    functionName: slh_dsa_keygen_invalid_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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: 642
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 642
    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:649,1
    - Dst: opt_arg
      Src: /src/openssl/test/slh_dsa_test.c:652,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/slh_dsa_test.c:661,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:664,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:665,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:666,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:667,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:668,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:669,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/slh_dsa_test.c:670,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/slh_dsa_test.c:670,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/slh_dsa_test.c:671,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/slh_dsa_test.c:671,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:672,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:673,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 675
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_ALL_TESTS
    - ADD_TEST
    - opt_arg
    - OSSL_NELEM
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/slh_dsa_test.c:679,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/slh_dsa_test.c:680,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 4
    functionLinenumber: 677
    functionLinenumberEnd: 682
    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:
    - Dst: CONF_modules_load_file
      Src: /src/openssl/test/libctx_config_test.c:32,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:34,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/libctx_config_test.c:34,1
    - Dst: TLS_method
      Src: /src/openssl/test/libctx_config_test.c:34,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:35,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/libctx_config_test.c:35,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:36,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/libctx_config_test.c:36,1
    - Dst: CONF_modules_unload
      Src: /src/openssl/test/libctx_config_test.c:38,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/libctx_config_test.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 9
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: test_config_libctx_global
    functionSourceFile: /src/openssl/test/libctx_config_test.c
    functionUses: 0
    functionsReached:
    - TLS_method
    - TEST_ptr
    - CONF_modules_load_file
    - CONF_modules_unload
    - SSL_CTX_new
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_get_min_proto_version
    linkageType: ''
    returnType: int
    signature: int test_config_libctx_global(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:49,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/libctx_config_test.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:50,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/libctx_config_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:51,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/libctx_config_test.c:51,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:52,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/libctx_config_test.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:53,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/libctx_config_test.c:53,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/libctx_config_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:54,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/libctx_config_test.c:54,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/libctx_config_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:55,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/libctx_config_test.c:55,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:56,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/libctx_config_test.c:56,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:57,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/libctx_config_test.c:57,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/libctx_config_test.c:58,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/libctx_config_test.c:58,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/libctx_config_test.c:60,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/libctx_config_test.c:61,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/libctx_config_test.c:62,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/libctx_config_test.c:63,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: test_config_libctx_local
    functionSourceFile: /src/openssl/test/libctx_config_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_get_min_proto_version
    - TLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_config_libctx_local(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/libctx_config_test.c:73,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/libctx_config_test.c:73,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:74,1
    - Dst: test_get_argument
      Src: /src/openssl/test/libctx_config_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/libctx_config_test.c:75,1
    - Dst: test_get_argument
      Src: /src/openssl/test/libctx_config_test.c:75,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/libctx_config_test.c:77,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/libctx_config_test.c:78,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/libctx_config_test.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/libctx_config_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_true
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_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:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    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:65,1
    - Dst: EVP_MD_CTX_new
      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_DigestInit_ex
      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_DigestUpdate
      Src: /src/openssl/test/evp_fetch_prov_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:68,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:68,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:71,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_fetch_prov_test.c:71,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:76,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: 78
      start: 58
    functionDepth: 8
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: calculate_digest
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - EVP_MD_CTX_get0_md
    - EVP_DigestFinal_ex
    - TEST_true
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    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:86,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:90,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/evp_fetch_prov_test.c:90,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/evp_fetch_prov_test.c:92,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/evp_fetch_prov_test.c:95,1
    - Dst: test_get_argument
      Src: /src/openssl/test/evp_fetch_prov_test.c:96,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_fetch_prov_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:98,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - libctx
    - prov
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: load_providers
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_PROVIDER_load
    - test_get_argument
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - OSSL_LIB_CTX_free
    - test_get_argument_count
    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:113,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_fetch_prov_test.c:115,1
    - Dst: OPENSSL_thread_stop_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:120,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - prov
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: unload_providers
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop_ex
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    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:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:131,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:134,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/evp_fetch_prov_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:137,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_fetch_prov_test.c:137,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 10
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: test_legacy_provider_unloaded
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    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:150,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:151,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/test/evp_fetch_prov_test.c:151,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/evp_fetch_prov_test.c:151,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: make_algor
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - TEST_ptr
    - TEST_true
    - X509_ALGOR_new
    - X509_ALGOR_set0
    - X509_ALGOR_free
    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:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:172,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/evp_fetch_prov_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:173,1
    - Dst: calculate_digest
      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_size
      Src: /src/openssl/test/evp_fetch_prov_test.c:174,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:175,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/test/evp_fetch_prov_test.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 9
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: test_md
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_MD_is_a
    - calculate_digest
    - TEST_true
    - EVP_MD_get_size
    - EVP_MD_get_block_size
    - TEST_int_eq
    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:184,1
    - Dst: test_md
      Src: /src/openssl/test/evp_fetch_prov_test.c:185,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_fetch_prov_test.c:185,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 10
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: test_implicit_EVP_MD_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - unload_providers
    - test_md
    - EVP_sha256
    - load_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:198,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:201,1
    - Dst: test_md
      Src: /src/openssl/test/evp_fetch_prov_test.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:207,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/test/evp_fetch_prov_test.c:207,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:210,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_fetch_prov_test.c:212,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:218,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 10
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: test_explicit_EVP_MD_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - test_md
    - load_providers
    - TEST_true
    - EVP_MD_fetch
    - TEST_ptr_null
    - EVP_MD_free
    - unload_providers
    - EVP_MD_up_ref
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 11
    functionLinenumber: 223
    functionLinenumberEnd: 226
    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:235,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/evp_fetch_prov_test.c:242,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:245,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:245,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:249,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:249,1
    - Dst: test_explicit_EVP_MD_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:254,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 232
    functionDepth: 11
    functionLinenumber: 232
    functionLinenumberEnd: 258
    functionName: test_explicit_EVP_MD_fetch_by_X509_ALGOR
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - test_explicit_EVP_MD_fetch
    - TEST_int_gt
    - X509_ALGOR_get0
    - X509_ALGOR_free
    - OBJ_obj2txt
    - make_algor
    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:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:272,1
    - Dst: EVP_CIPHER_CTX_new
      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_CipherInit_ex
      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_CipherUpdate
      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_CipherFinal_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_CipherInit_ex
      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_CipherUpdate
      Src: /src/openssl/test/evp_fetch_prov_test.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:278,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:278,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:279,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:284,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: 286
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 286
    functionName: encrypt_decrypt
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 4
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_CipherFinal_ex
    - memset
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    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:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:293,1
    - Dst: encrypt_decrypt
      Src: /src/openssl/test/evp_fetch_prov_test.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 6
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: test_cipher
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - encrypt_decrypt
    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:302,1
    - Dst: test_cipher
      Src: /src/openssl/test/evp_fetch_prov_test.c:303,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_fetch_prov_test.c:303,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 7
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: test_implicit_EVP_CIPHER_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - test_cipher
    - unload_providers
    - load_providers
    - EVP_aes_128_cbc
    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:316,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:319,1
    - Dst: test_cipher
      Src: /src/openssl/test/evp_fetch_prov_test.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:324,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/test/evp_fetch_prov_test.c:324,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:327,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_fetch_prov_test.c:329,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:334,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 309
    functionDepth: 7
    functionLinenumber: 309
    functionLinenumberEnd: 337
    functionName: test_explicit_EVP_CIPHER_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_up_ref
    - test_cipher
    - load_providers
    - TEST_true
    - EVP_CIPHER_fetch
    - TEST_ptr_null
    - EVP_CIPHER_free
    - unload_providers
    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:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 8
    functionLinenumber: 339
    functionLinenumberEnd: 342
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:354,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:358,1
    - Dst: fake_cipher_start
      Src: /src/openssl/test/evp_fetch_prov_test.c:358,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:362,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_fetch_prov_test.c:363,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:368,1
    - Dst: fake_cipher_finish
      Src: /src/openssl/test/evp_fetch_prov_test.c:369,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 372
    functionName: test_cipher_no_getparams
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - fake_cipher_start
    - fake_cipher_finish
    - OSSL_LIB_CTX_free
    - TEST_ptr_null
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    linkageType: ''
    returnType: int
    signature: int test_cipher_no_getparams(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_algor
      Src: /src/openssl/test/evp_fetch_prov_test.c:381,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/evp_fetch_prov_test.c:388,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:391,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:391,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:395,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:395,1
    - Dst: test_explicit_EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:400,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 378
    functionDepth: 8
    functionLinenumber: 378
    functionLinenumberEnd: 404
    functionName: test_explicit_EVP_CIPHER_fetch_by_X509_ALGOR
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - TEST_int_gt
    - X509_ALGOR_get0
    - X509_ALGOR_free
    - test_explicit_EVP_CIPHER_fetch
    - make_algor
    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:410,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_fetch_prov_test.c:413,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_fetch_prov_test.c:416,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_fetch_prov_test.c:419,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:434,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_fetch_prov_test.c:435,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:436,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:437,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:438,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:440,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:441,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:442,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 446
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - strcmp
    - opt_arg
    - ADD_ALL_TESTS_NOSUBTEST
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:161,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:163,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    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:171,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:175,1
    - Dst: strcat
      Src: /src/openssl/test/sslapitest.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: client_keylog_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_info
    - strcat
    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:187,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:191,1
    - Dst: strcat
      Src: /src/openssl/test/sslapitest.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: server_keylog_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_info
    - strcat
    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:209,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/sslapitest.c:213,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:214,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:215,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: 220
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: compare_hex_encoded_buffer
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - BIO_snprintf
    - TEST_size_t_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:241,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:242,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:249,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:249,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:251,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:253,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:253,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:261,1
    - Dst: SSL_get_client_random
      Src: /src/openssl/test/sslapitest.c:266,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:272,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:272,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:274,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:274,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:276,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/openssl/test/sslapitest.c:276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:281,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:281,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:283,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/sslapitest.c:286,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:288,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/openssl/test/sslapitest.c:288,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:288,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:293,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:294,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:295,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:296,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:297,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:298,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:299,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:306,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:308,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:310,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:312,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:314,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:316,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:318,1
    - Dst: SSL_get_client_random
      Src: /src/openssl/test/sslapitest.c:321,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:324,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:327,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:327,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:329,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:329,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:331,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/openssl/test/sslapitest.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:336,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:336,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:339,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
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:353,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:355,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:357,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:359,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:361,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: 365
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 365
    functionName: test_keylog_output
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - TEST_size_t_ne
    - strcmp
    - SSL_get_client_random
    - compare_hex_encoded_buffer
    - SSL_SESSION_get_master_key
    - TEST_size_t_eq
    - strlen
    - TEST_info
    - strtok
    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:376,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:377,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:378,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:383,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:383,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:383,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:384,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:390,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:391,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:394,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:397,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:398,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:398,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:401,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:401,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:405,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:410,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:410,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:412,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:412,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:414,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:415,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:416,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:427,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:427,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:428,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:432,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:432,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:433,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:439,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:440,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:441,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:442,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 445
    functionName: test_keylog
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_CTX_set_keylog_callback
    - TEST_false
    - test_keylog_output
    - SSL_CTX_set_cipher_list
    - TEST_true
    - create_ssl_ctx_pair
    - SSL_CTX_set_options
    - SSL_get_session
    - memset
    - SSL_CTX_free
    - SSL_CTX_get_keylog_callback
    - TEST_size_t_gt
    - TLS_server_method
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_keylog(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:460,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:461,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:462,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:467,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:467,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:467,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:470,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:470,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:475,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:475,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:479,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:479,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:483,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:484,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:484,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:489,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:491,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:491,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:493,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:506,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:506,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:507,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:508,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:508,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:509,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:514,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:515,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:516,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:517,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:518,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:522,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:523,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:527,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:527,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:529,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:531,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:531,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:532,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:532,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:535,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:535,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:537,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:537,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:539,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:539,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:545,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:545,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:547,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:547,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:548,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:555,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:556,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:557,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:558,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:559,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 562
    functionName: test_keylog_no_master_key
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_CTX_set_max_early_data
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - SSL_CTX_get_keylog_callback
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_set_keylog_callback
    - SSL_get_session
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - memset
    - SSL_get_early_data_status
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - test_keylog_output
    - SSL_write_early_data
    - SSL_shutdown
    - create_ssl_objects
    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:567,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/test/sslapitest.c:568,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/sslapitest.c:573,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/sslapitest.c:576,1
    - Dst: SSL_set_retry_verify
      Src: /src/openssl/test/sslapitest.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 581
    functionName: verify_retry_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_retry_verify
    - X509_STORE_CTX_get_ex_data
    - X509_verify_cert
    - X509_STORE_CTX_get_error
    - SSL_get_ex_data_X509_STORE_CTX_idx
    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:586,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:587,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:588,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:589,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:590,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:592,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:597,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:597,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:597,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:601,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:601,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:602,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:602,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:605,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:605,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:607,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/test/sslapitest.c:607,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:609,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/sslapitest.c:610,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:611,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:611,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:616,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:616,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:621,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/sslapitest.c:621,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:622,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/sslapitest.c:622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:623,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/openssl/test/sslapitest.c:623,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:626,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/sslapitest.c:626,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:629,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/sslapitest.c:629,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:634,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:634,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:641,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:642,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:644,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:645,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:648,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:649,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:651,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:652,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:654,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:655,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:657,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:658,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 661
    functionName: test_client_cert_verify_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_free
    - TEST_true
    - sk_X509_push
    - SSL_CTX_free
    - SSL_CTX_set_cert_verify_callback
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_set_verify
    - OPENSSL_free
    - load_cert_pem
    - TEST_int_eq
    - STACK_OF
    - SSL_CTX_use_certificate_chain_file
    - SSL_free
    - TEST_false
    - SSL_CTX_load_verify_locations
    - SSL_CTX_check_private_key
    - test_mk_file_path
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_use_PrivateKey_file
    - SSL_shutdown
    - SSL_get_peer_cert_chain
    - create_ssl_objects
    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:668,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:669,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:671,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:671,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:671,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:673,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:676,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:676,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:677,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:678,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/sslapitest.c:678,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:680,1
    - Dst: SSL_build_cert_chain
      Src: /src/openssl/test/sslapitest.c:680,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:684,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:685,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:686,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:687,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 689
    functionName: test_ssl_build_cert_chain
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_build_cert_chain
    - SSL_new
    - SSL_check_private_key
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - SSL_use_PrivateKey_file
    - TEST_int_eq
    - SSL_CTX_free
    - test_mk_file_path
    - SSL_use_certificate_chain_file
    - TLS_server_method
    - SSL_free
    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:695,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:698,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: 700
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: get_password_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - memcpy
    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:706,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:709,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:709,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:709,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/openssl/test/sslapitest.c:711,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:713,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:713,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:714,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:714,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:717,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:717,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:719,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/openssl/test/sslapitest.c:719,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:723,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:724,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 727
    functionName: test_ssl_ctx_build_cert_chain
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_CTX_set_default_passwd_cb
    - TEST_ptr
    - OPENSSL_free
    - SSL_CTX_use_PrivateKey_file
    - TEST_true
    - SSL_CTX_check_private_key
    - TEST_int_eq
    - SSL_CTX_free
    - test_mk_file_path
    - SSL_CTX_build_cert_chain
    - TLS_server_method
    - SSL_CTX_use_certificate_chain_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:754,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:755,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:756,1
    - Dst: SSL_client_hello_get0_compression_methods
      Src: /src/openssl/test/sslapitest.c:757,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:758,1
    - Dst: SSL_client_hello_get1_extensions_present
      Src: /src/openssl/test/sslapitest.c:760,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:762,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:762,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:763,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:764,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:767,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 769
    functionName: full_client_hello_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - OPENSSL_free
    - SSL_client_hello_get0_ciphers
    - printf
    - TEST_int_eq
    - SSL_client_hello_get1_extensions_present
    - OSSL_NELEM
    - TEST_size_t_eq
    - SSL_client_hello_get0_compression_methods
    - memcmp
    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:777,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:777,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:777,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:778,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/sslapitest.c:781,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:784,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:786,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:787,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:787,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:789,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:789,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:791,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:791,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:797,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:797,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:799,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:799,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:806,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:807,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:808,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:809,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 812
    functionName: test_client_hello_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_client_hello_cb
    - TLS_client_method
    - TEST_false
    - SSL_CTX_set_security_level
    - SSL_CTX_set_cipher_list
    - TEST_true
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - SSL_free
    - SSL_get_error
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - 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:820,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:820,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:820,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:823,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:827,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:829,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:830,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:834,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:837,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:842,1
    - Dst: SSL_get_extms_support
      Src: /src/openssl/test/sslapitest.c:845,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:846,1
    - Dst: SSL_get_extms_support
      Src: /src/openssl/test/sslapitest.c:849,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:850,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:857,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:858,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:859,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:860,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 863
    functionName: test_no_ems
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - printf
    - SSL_CTX_set_options
    - SSL_get_extms_support
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_no_ems(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:885,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:885,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:885,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:886,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:889,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:889,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:890,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:890,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:892,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:892,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:893,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:893,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:895,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:895,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:896,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:896,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:899,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:904,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:904,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:906,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:906,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:907,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:907,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:908,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:908,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:910,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:910,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:911,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:912,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:912,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:913,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:914,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/sslapitest.c:915,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:915,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:917,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:924,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:924,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:926,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:926,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:927,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:927,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:929,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:929,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:930,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:930,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:931,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/sslapitest.c:931,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:932,1
    - Dst: SSL_renegotiate_pending
      Src: /src/openssl/test/sslapitest.c:932,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:936,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:937,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:939,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:939,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:943,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:944,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:946,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:946,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:952,1
    - Dst: SSL_renegotiate_pending
      Src: /src/openssl/test/sslapitest.c:952,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:953,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:953,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:954,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:954,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:955,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:955,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:956,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:957,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/sslapitest.c:958,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:958,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:961,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:967,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:968,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:969,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:970,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:971,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 974
    functionName: test_ccs_change_cipher
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get0_session
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CIPHER_get_id
    - SSL_get1_session
    - SSL_read_ex
    - SSL_CTX_free
    - TEST_ptr_eq
    - SSL_renegotiate
    - TLS_server_method
    - create_ssl_connection
    - TEST_int_eq
    - SSL_get_current_cipher
    - SSL_get_error
    - SSL_free
    - SSL_renegotiate_pending
    - TEST_false
    - shutdown_ssl_connection
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_set_cipher_list
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TEST_ptr_ne
    - TLS_client_method
    - TEST_size_t_eq
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_ccs_change_cipher(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:986,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:986,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:992,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:997,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:997,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:998,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:998,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:1009,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/sslapitest.c:1012,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1015,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:1015,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1017,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1017,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1025,1
    - Dst: SSL_clear
      Src: /src/openssl/test/sslapitest.c:1025,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1030,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1031,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1032,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1033,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: 1036
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1036
    functionName: execute_test_large_message
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_read_ahead
    - DTLS_server_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - ssl_ctx_add_large_cert_chain
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    - SSL_clear
    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:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    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:1063,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1063,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1064,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1064,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1068,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1069,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1070,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1071,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1073,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1073,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1076,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1077,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1082,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1082,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1085,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1086,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1091,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1092,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1093,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1094,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1097,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1104,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1105,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1109,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1114,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1115,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1119,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1124,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1125,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1129,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1134,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1135,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1139,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 74
    argCount: 2
    argNames:
    - clientssl
    - serverssl
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1147
    functionName: ping_pong_query
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_write
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_get_ktls_recv
    - SSL_read
    - BIO_get_ktls_send
    - TEST_mem_ne
    - memcpy
    - SSL_get_error
    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:1163,1
    - Dst: create_test_sockets
      Src: /src/openssl/test/sslapitest.c:1163,1
    - Dst: ktls_chk_platform
      Src: /src/openssl/test/sslapitest.c:1167,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1168,1
    - Dst: strstr
      Src: /src/openssl/test/sslapitest.c:1172,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1173,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1178,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1178,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1178,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1185,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1185,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1186,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1186,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1189,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1189,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1190,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1190,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1194,1
    - Dst: create_ssl_objects2
      Src: /src/openssl/test/sslapitest.c:1194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1198,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1199,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1199,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1203,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1203,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1208,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1208,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1212,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1212,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:1229,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1229,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1232,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_false
      Src: /src/openssl/test/sslapitest.c:1250,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1250,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1253,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1258,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1263,1
    - Dst: ping_pong_query
      Src: /src/openssl/test/sslapitest.c:1263,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1267,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1274,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1275,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1275,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1281,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1283,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1283,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1290,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1298,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1300,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1301,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1304,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1305,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1307,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1308,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1311,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1313,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: 1315
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1315
    functionName: execute_test_ktls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - SSL_write
    - TEST_true
    - BIO_get_ktls_recv
    - SSL_CTX_free
    - ktls_chk_platform
    - TLS_server_method
    - create_ssl_connection
    - create_ssl_objects2
    - OPENSSL_zalloc
    - OPENSSL_free
    - BIO_get_ktls_send
    - SSL_read
    - ping_pong_query
    - SSL_get_error
    - SSL_free
    - TEST_false
    - SSL_CTX_set_cipher_list
    - create_ssl_ctx_pair
    - strstr
    - TLS_client_method
    - TEST_skip
    - SSL_shutdown
    - SSL_CONNECTION_FROM_SSL_ONLY
    - close
    - create_test_sockets
    - SSL_set_options
    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: 1320
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1320
    functionName: min
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1335,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1337,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1338,1
    - Dst: create_test_sockets
      Src: /src/openssl/test/sslapitest.c:1338,1
    - Dst: ktls_chk_platform
      Src: /src/openssl/test/sslapitest.c:1342,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1343,1
    - Dst: strstr
      Src: /src/openssl/test/sslapitest.c:1347,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1348,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1353,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1353,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1353,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1354,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1360,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1360,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1361,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1361,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1364,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1364,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1365,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1365,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1369,1
    - Dst: create_ssl_objects2
      Src: /src/openssl/test/sslapitest.c:1369,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1373,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1376,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1376,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1380,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1380,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1385,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1385,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1389,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1390,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:1395,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/sslapitest.c:1395,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:1398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1399,1
    - Dst: BIO_write
      Src: /src/openssl/test/sslapitest.c:1402,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:1405,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:1407,1
    - Dst: BIO_get_fp
      Src: /src/openssl/test/sslapitest.c:1408,1
    - Dst: fileno
      Src: /src/openssl/test/sslapitest.c:1409,1
    - Dst: min
      Src: /src/openssl/test/sslapitest.c:1412,1
    - Dst: SSL_sendfile
      Src: /src/openssl/test/sslapitest.c:1413,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1419,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1422,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1426,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1431,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1443,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1444,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1447,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1448,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1450,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1451,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:1453,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:1454,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1456,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1458,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1460,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 105
    argCount: 3
    argNames:
    - tls_version
    - cipher
    - zerocopy
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1462
    functionName: execute_test_ktls_sendfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - RAND_bytes_ex
    - ktls_chk_platform
    - SSL_CTX_free
    - BIO_new_file
    - TLS_server_method
    - create_ssl_connection
    - create_ssl_objects2
    - OPENSSL_zalloc
    - BIO_get_fp
    - OPENSSL_free
    - BIO_write
    - TEST_int_gt
    - BIO_get_ktls_send
    - SSL_read
    - SSL_get_error
    - SSL_free
    - BIO_free
    - SSL_CTX_set_cipher_list
    - fileno
    - create_ssl_ctx_pair
    - strstr
    - TLS_client_method
    - min
    - TEST_skip
    - SSL_shutdown
    - SSL_CONNECTION_FROM_SSL_ONLY
    - close
    - create_test_sockets
    - SSL_set_options
    - SSL_sendfile
    linkageType: ''
    returnType: int
    signature: "int execute_test_ktls_sendfile(int tls_version, const char *cipher,\n
      \   int zerocopy)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1482,1
    - Dst: create_test_sockets
      Src: /src/openssl/test/sslapitest.c:1482,1
    - Dst: ktls_chk_platform
      Src: /src/openssl/test/sslapitest.c:1486,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1487,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1491,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1491,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1492,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1492,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1497,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1497,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1498,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1498,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1501,1
    - Dst: create_ssl_objects2
      Src: /src/openssl/test/sslapitest.c:1501,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1506,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1506,1
    - Dst: SSL_set_mode
      Src: /src/openssl/test/sslapitest.c:1509,1
    - Dst: SSL_set_mode
      Src: /src/openssl/test/sslapitest.c:1510,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1512,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1512,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:1516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1517,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1517,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:1517,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1523,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1524,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:1529,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:1529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1530,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:1533,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:1537,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:1538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1539,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:1546,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:1546,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1547,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1547,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:1551,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1555,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1556,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1560,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:1560,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:1566,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1568,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1568,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1576,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1581,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1582,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1584,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1585,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1588,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1589,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1591,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1592,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/sslapitest.c:1593,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1595,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1597,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1470
    functionDepth: 5
    functionLinenumber: 1470
    functionLinenumberEnd: 1599
    functionName: test_ktls_moving_write_buffer
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - SSL_set_mode
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_read_ex
    - ktls_chk_platform
    - BIO_up_ref
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_wbio
    - create_ssl_objects2
    - BIO_new
    - OPENSSL_free
    - TEST_int_eq
    - BIO_get_ktls_send
    - SSL_get_error
    - OPENSSL_malloc
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - bio_s_always_retry
    - SSL_set0_wbio
    - memset
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - BIO_free_all
    - SSL_shutdown
    - close
    - create_test_sockets
    - SSL_set_options
    linkageType: ''
    returnType: int
    signature: int test_ktls_moving_write_buffer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/sslapitest.c:1645,1
    - Dst: execute_test_ktls
      Src: /src/openssl/test/sslapitest.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1640
    functionDepth: 3
    functionLinenumber: 1640
    functionLinenumberEnd: 1653
    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:1660,1
    - Dst: execute_test_ktls_sendfile
      Src: /src/openssl/test/sslapitest.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1655
    functionDepth: 8
    functionLinenumber: 1655
    functionLinenumberEnd: 1665
    functionName: test_ktls_sendfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - execute_test_ktls_sendfile
    - OPENSSL_assert
    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:1670,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1670,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1668
    functionDepth: 2
    functionLinenumber: 1668
    functionLinenumberEnd: 1672
    functionName: test_large_message_tls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_server_method
    - TLS_client_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:1676,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1676,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1674
    functionDepth: 2
    functionLinenumber: 1674
    functionLinenumberEnd: 1678
    functionName: test_large_message_tls_read_ahead
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_server_method
    - TLS_client_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:1692,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1692,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1695
    functionName: test_large_message_dtls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - DTLS_server_method
    - DTLS_client_method
    - execute_test_large_message
    linkageType: ''
    returnType: int
    signature: int test_large_message_dtls(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1713,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1714,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1722,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1730,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1738,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1746,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1750,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1755,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1756,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1759,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1765,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1767,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1768,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1771,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1780,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1783,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1784,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:1787,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1788,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1791,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1793,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1793,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1799,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1799,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1800,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1800,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1805,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:1805,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1811,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1811,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1813,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1813,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1823,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1823,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1824,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1824,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1829,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1829,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1832,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:1832,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:1834,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1838,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:1838,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1842,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1847,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1848,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1849,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1850,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1851,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1852,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1854
    functionName: test_large_app_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_read_ex
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - OPENSSL_zalloc
    - OPENSSL_free
    - DTLS_server_method
    - OPENSSL_malloc
    - SSL_free
    - SSL_write_ex
    - DTLS_client_method
    - SSL_CTX_set_cipher_list
    - memset
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - TEST_size_t_eq
    - SSL_set_options
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_large_app_data(int tst)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1873,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1873,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1881,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1891,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1891,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1892,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1892,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1898,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:1898,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1902,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1902,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1905,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1905,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1913,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1913,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1916,1
    - Dst: SSL_peek
      Src: /src/openssl/test/sslapitest.c:1916,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1919,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1927,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1927,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:1932,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1939,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1942,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1943,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1943,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1946,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1950,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1951,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1956,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1957,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1958,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1959,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: 1962
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1962
    functionName: execute_cleanse_plaintext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_write
    - TEST_mem_eq
    - TEST_ptr
    - DTLS_server_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - TEST_int_eq
    - memset
    - SSL_read
    - SSL_CTX_free
    - SSL_free
    - SSL_set_options
    - TEST_size_t_eq
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_peek
    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:1971,1
    - Dst: execute_cleanse_plaintext
      Src: /src/openssl/test/sslapitest.c:1971,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1971,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1972,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1980,1
    - Dst: execute_cleanse_plaintext
      Src: /src/openssl/test/sslapitest.c:1980,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1980,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1981,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1989,1
    - Dst: execute_cleanse_plaintext
      Src: /src/openssl/test/sslapitest.c:1989,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1989,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1968
    functionDepth: 2
    functionLinenumber: 1968
    functionLinenumberEnd: 1996
    functionName: test_cleanse_plaintext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_cleanse_plaintext
    - TLS_client_method
    - DTLS_client_method
    - DTLS_server_method
    - TEST_true
    - TLS_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:2002,1
    - Dst: X509_time_adj_ex
      Src: /src/openssl/test/sslapitest.c:2003,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/sslapitest.c:2010,1
    - Dst: OCSP_BASICRESP_new
      Src: /src/openssl/test/sslapitest.c:2011,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/test/sslapitest.c:2014,1
    - Dst: OCSP_basic_add1_status
      Src: /src/openssl/test/sslapitest.c:2015,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2017,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2018,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/sslapitest.c:2018,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2020,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2021,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/sslapitest.c:2021,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2022,1
    - Dst: OCSP_basic_sign
      Src: /src/openssl/test/sslapitest.c:2022,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/sslapitest.c:2022,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/sslapitest.c:2025,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/sslapitest.c:2027,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2031,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2032,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:2033,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:2034,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/openssl/test/sslapitest.c:2035,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/sslapitest.c:2036,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/sslapitest.c:2037,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/sslapitest.c:2038,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/sslapitest.c:2039,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: 2042
      start: 1999
    functionDepth: 10
    functionLinenumber: 1999
    functionLinenumberEnd: 2042
    functionName: create_ocsp_resp
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - X509_gmtime_adj
    - TEST_ptr
    - OCSP_BASICRESP_free
    - X509_free
    - TEST_true
    - X509_time_adj_ex
    - OPENSSL_free
    - load_cert_pem
    - OCSP_cert_to_id
    - ASN1_TIME_free
    - EVP_MD_fetch
    - OCSP_CERTID_free
    - EVP_MD_free
    - test_mk_file_path
    - EVP_PKEY_free
    - OCSP_basic_add1_status
    - EVP_sha256
    - OCSP_basic_sign
    - OCSP_BASICRESP_new
    - OCSP_response_create
    - load_pkey_pem
    - ASN1_UTCTIME_free
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: "OCSP_RESPONSE *create_ocsp_resp(X509 *ssl_cert, X509 *issuer, int
      status,\n    const char *signer_key_files, const char *signer_cert_files)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2047,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2051,1
    - Dst: SSL_get_tlsext_status_ids
      Src: /src/openssl/test/sslapitest.c:2058,1
    - Dst: sk_OCSP_RESPID_num
      Src: /src/openssl/test/sslapitest.c:2059,1
    - Dst: sk_OCSP_RESPID_value
      Src: /src/openssl/test/sslapitest.c:2062,1
    - Dst: OCSP_RESPID_match_ex
      Src: /src/openssl/test/sslapitest.c:2063,1
    - Dst: SSL_get_certificate
      Src: /src/openssl/test/sslapitest.c:2069,1
    - Dst: SSL_get0_chain_certs
      Src: /src/openssl/test/sslapitest.c:2070,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2071,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2073,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2075,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/openssl/test/sslapitest.c:2078,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/sslapitest.c:2079,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2082,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2082,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2083,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2044
    functionDepth: 11
    functionLinenumber: 2044
    functionLinenumberEnd: 2088
    functionName: ocsp_server_cb_single
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPONSE_free
    - OCSP_RESPID_match_ex
    - TEST_ptr
    - OPENSSL_free
    - i2d_OCSP_RESPONSE
    - TEST_true
    - create_ocsp_resp
    - sk_X509_value
    - SSL_get_tlsext_status_ids
    - sk_OCSP_RESPID_num
    - STACK_OF
    - SSL_set_tlsext_status_ocsp_resp
    - SSL_get_certificate
    - SSL_get0_chain_certs
    - sk_OCSP_RESPID_value
    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:2100,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/test/sslapitest.c:2102,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/sslapitest.c:2103,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/sslapitest.c:2104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2090
    functionDepth: 2
    functionLinenumber: 2090
    functionLinenumberEnd: 2110
    functionName: ocsp_client_cb_single
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_tlsext_status_ocsp_resp
    - OCSP_RESPONSE_free
    - d2i_OCSP_RESPONSE
    - OCSP_response_status
    linkageType: ''
    returnType: int
    signature: int ocsp_client_cb_single(SSL *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/sslapitest.c:2115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2112
    functionDepth: 1
    functionLinenumber: 2112
    functionLinenumberEnd: 2117
    functionName: verify_cb_capture_error
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int verify_cb_capture_error(int preverify_ok, X509_STORE_CTX *x509_ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2122,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2123,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2124,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2127,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2130,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:2132,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:2132,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:2132,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:2136,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2138,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:2143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2146,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2146,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2147,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2149,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2149,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2153,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2156,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2157,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:2160,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2161,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2163,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2165,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2172,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2173,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2174,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2175,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2179,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2181,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2181,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2183,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2184,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2186,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2187,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2195,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2195,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2198,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2198,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2200,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2201,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2203,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2204,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2215,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2215,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2223,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:2223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2224,1
    - Dst: OCSP_RESPID_new
      Src: /src/openssl/test/sslapitest.c:2224,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2225,1
    - Dst: sk_OCSP_RESPID_new_null
      Src: /src/openssl/test/sslapitest.c:2225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2226,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/sslapitest.c:2226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2227,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/sslapitest.c:2227,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2228,1
    - Dst: OCSP_RESPID_set_by_key_ex
      Src: /src/openssl/test/sslapitest.c:2228,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2229,1
    - Dst: sk_OCSP_RESPID_push
      Src: /src/openssl/test/sslapitest.c:2229,1
    - Dst: SSL_set_tlsext_status_ids
      Src: /src/openssl/test/sslapitest.c:2232,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:2236,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2239,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2239,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2241,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2242,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2251,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2252,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2264,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2265,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/test/sslapitest.c:2265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2266,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2269,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:2271,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/sslapitest.c:2273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2275,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/sslapitest.c:2277,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2278,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/test/sslapitest.c:2278,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/sslapitest.c:2279,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/sslapitest.c:2282,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2285,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2285,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2287,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2287,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2289,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2290,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2298,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2299,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2300,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2301,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2302,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2303,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2304,1
    - Dst: sk_OCSP_RESPID_pop_free
      Src: /src/openssl/test/sslapitest.c:2305,1
    - Dst: OCSP_RESPID_free
      Src: /src/openssl/test/sslapitest.c:2306,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:2307,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:2308,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2309,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2119
    functionDepth: 11
    functionLinenumber: 2119
    functionLinenumberEnd: 2313
    functionName: test_tlsext_status_type
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_RESPID_push
    - sk_OCSP_RESPID_new_null
    - TEST_ptr
    - X509_free
    - sk_OCSP_RESPID_pop_free
    - TEST_true
    - SSL_CTX_set_tlsext_status_type
    - SSL_CTX_free
    - SSL_get_tlsext_status_type
    - BIO_new_file
    - X509_VERIFY_PARAM_new
    - TLS_server_method
    - X509_VERIFY_PARAM_free
    - create_ssl_connection
    - OCSP_RESPID_new
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_verify
    - X509_VERIFY_PARAM_set_flags
    - SSL_CTX_get_tlsext_status_type
    - OPENSSL_free
    - OSSL_LIB_CTX_set0_default
    - TEST_int_eq
    - STACK_OF
    - SSL_free
    - SSL_CTX_use_certificate_chain_file
    - TEST_false
    - OCSP_RESPID_set_by_key_ex
    - BIO_free
    - SSL_CTX_load_verify_locations
    - test_mk_file_path
    - SSL_CTX_set_tlsext_status_cb
    - create_ssl_ctx_pair
    - OCSP_RESPID_free
    - SSL_CTX_set1_param
    - TLS_client_method
    - SSL_new
    - SSL_set_tlsext_status_ids
    - X509_new_ex
    - SSL_set_tlsext_status_type
    - create_ssl_objects
    - 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:2319,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2323,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2325,1
    - Dst: SSL_get0_chain_certs
      Src: /src/openssl/test/sslapitest.c:2335,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/sslapitest.c:2339,1
    - Dst: sk_OCSP_RESPONSE_new_reserve
      Src: /src/openssl/test/sslapitest.c:2352,1
    - Dst: SSL_get_certificate
      Src: /src/openssl/test/sslapitest.c:2359,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2365,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2368,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2371,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2374,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2377,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/test/sslapitest.c:2380,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/sslapitest.c:2385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2316
    functionDepth: 11
    functionLinenumber: 2316
    functionLinenumberEnd: 2389
    functionName: ocsp_server_cb_multi
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_RESPONSE_push
    - SSL_CONNECTION_FROM_CONST_SSL
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - sk_X509_num
    - create_ocsp_resp
    - sk_X509_value
    - STACK_OF
    - sk_OCSP_RESPONSE_new_reserve
    - SSL_get_certificate
    - SSL_get0_chain_certs
    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:2394,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2396,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/sslapitest.c:2407,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/test/sslapitest.c:2408,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/openssl/test/sslapitest.c:2416,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2423,1
    - Dst: X509_self_signed
      Src: /src/openssl/test/sslapitest.c:2427,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/test/sslapitest.c:2430,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/sslapitest.c:2434,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/test/sslapitest.c:2438,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/test/sslapitest.c:2441,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/openssl/test/sslapitest.c:2447,1
    - Dst: OCSP_id_get0_info
      Src: /src/openssl/test/sslapitest.c:2448,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/test/sslapitest.c:2450,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2454,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/test/sslapitest.c:2460,1
    - Dst: OCSP_resp_find
      Src: /src/openssl/test/sslapitest.c:2465,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/sslapitest.c:2468,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/sslapitest.c:2470,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/sslapitest.c:2474,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/sslapitest.c:2486,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/sslapitest.c:2487,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2391
    functionDepth: 4
    functionLinenumber: 2391
    functionLinenumberEnd: 2490
    functionName: ocsp_client_cb_multi
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get0_tlsext_status_ocsp_resp_ex
    - OCSP_response_get1_basic
    - sk_OCSP_RESPONSE_num
    - EVP_get_digestbyobj
    - OCSP_response_status
    - OCSP_resp_find
    - OCSP_BASICRESP_free
    - OCSP_CERTID_free
    - OCSP_SINGLERESP_get0_id
    - OCSP_cert_to_id
    - sk_X509_value
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - OCSP_resp_get0
    - SSL_get_peer_cert_chain
    - OCSP_id_get0_info
    - X509_self_signed
    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: 2504
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2504
    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:2511,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2512,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2513,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2514,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2515,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/sslapitest.c:2516,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2518,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:2518,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:2518,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:2518,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/sslapitest.c:2521,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:2521,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2523,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/test/sslapitest.c:2523,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:2525,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2525,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:2529,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:2532,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2533,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2535,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2535,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2536,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2536,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2538,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2538,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2542,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2545,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2545,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:2546,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2546,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2553,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2554,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2555,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2556,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/sslapitest.c:2561,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2562,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/test/sslapitest.c:2562,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2564,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2564,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2565,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2566,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2566,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2567,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2570,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2571,1
    - Dst: SSL_CTX_get0_param
      Src: /src/openssl/test/sslapitest.c:2580,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/test/sslapitest.c:2581,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2582,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2582,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2583,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2583,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2584,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2584,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2585,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2588,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2589,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2598,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2598,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2599,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2599,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2600,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2601,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2604,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2605,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2615,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2615,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2616,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2616,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2617,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2618,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2621,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2622,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2629,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2630,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2631,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2632,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/sslapitest.c:2633,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2634,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2635,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2636,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2637,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2638,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2506
    functionDepth: 4
    functionLinenumber: 2506
    functionLinenumberEnd: 2640
    functionName: test_tlsext_status_type_multi
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get0_param
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_tlsext_status_type
    - SSL_CTX_free
    - SSL_get_tlsext_status_type
    - X509_VERIFY_PARAM_new
    - TLS_server_method
    - X509_VERIFY_PARAM_free
    - create_ssl_connection
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_verify
    - X509_VERIFY_PARAM_set_flags
    - SSL_CTX_get_tlsext_status_type
    - OPENSSL_free
    - OSSL_LIB_CTX_set0_default
    - TEST_int_eq
    - SSL_free
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_load_verify_locations
    - X509_VERIFY_PARAM_clear_flags
    - test_mk_file_path
    - create_ssl_ctx_pair
    - SSL_CTX_set_tlsext_status_cb
    - TEST_int_lt
    - TLS_client_method
    - SSL_new
    - SSL_CTX_set1_param
    - SSL_set_tlsext_status_type
    - TEST_int_ne
    - create_ssl_objects
    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:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2647
    functionDepth: 1
    functionLinenumber: 2647
    functionLinenumberEnd: 2656
    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: 2661
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2661
    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: 2671
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2671
    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:2691,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:2691,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:2691,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:2692,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:2700,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:2701,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2705,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/test/sslapitest.c:2706,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2710,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2712,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:2718,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2721,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2721,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2723,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2723,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2725,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2725,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2729,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2729,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2732,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2734,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2738,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2738,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2740,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2740,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2741,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2741,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2743,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:2743,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2753,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2754,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2762,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2763,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2768,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2768,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2770,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2774,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2774,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2776,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2780,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2780,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2784,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2785,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2793,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2793,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2796,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2796,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:2798,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:2798,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2803,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2803,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2804,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2804,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2810,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2810,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2814,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2814,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:2820,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2821,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2821,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2823,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2823,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2825,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2825,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2831,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2831,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2835,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2835,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2841,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/test/sslapitest.c:2842,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2843,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/test/sslapitest.c:2844,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/test/sslapitest.c:2845,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2849,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2852,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2856,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2857,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2859,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2860,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2862,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2864,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:2867,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:2869,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2871,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2871,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2873,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2873,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2875,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2876,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2876,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2887,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2887,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2891,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2891,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2899,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2900,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2901,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2909,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/sslapitest.c:2909,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2910,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2911,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2912,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2912,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2914,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2921,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2921,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2923,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2923,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2924,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2924,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2926,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:2926,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2930,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2934,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2935,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2938,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2939,1
    - Dst: TEST_time_t_gt
      Src: /src/openssl/test/sslapitest.c:2951,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:2951,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/sslapitest.c:2952,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:2952,1
    - Dst: TEST_time_t_gt
      Src: /src/openssl/test/sslapitest.c:2953,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:2953,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/sslapitest.c:2954,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:2954,1
    - Dst: TEST_long_ne
      Src: /src/openssl/test/sslapitest.c:2957,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/test/sslapitest.c:2957,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2961,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2962,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2965,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2965,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2966,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:2967,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2973,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2974,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2975,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2976,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2978,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2979,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2981,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2982,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2983,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2984,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: 2987
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2987
    functionName: execute_test_session
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_long_ne
    - TEST_true
    - SSL_CTX_set_options
    - SSL_SESSION_set_time_ex
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_set_session_cache_mode
    - SSL_get1_session
    - SSL_CTX_set_min_proto_version
    - TEST_ptr_null
    - SSL_CTX_free
    - TLS_server_method
    - TEST_ptr_eq
    - create_ssl_connection
    - SSL_get_session
    - TEST_int_eq
    - SSL_SESSION_set_timeout
    - TEST_time_t_gt
    - SSL_free
    - TEST_false
    - SSL_CTX_add_session
    - SSL_SESSION_dup
    - shutdown_ssl_connection
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_CTX_sess_set_get_cb
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TEST_long_gt
    - TLS_client_method
    - SSL_CTX_remove_session
    - SSL_CTX_sess_set_new_cb
    - create_ssl_objects
    - SSL_CTX_set_max_proto_version
    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:2993,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2990
    functionDepth: 2
    functionLinenumber: 2990
    functionLinenumberEnd: 3002
    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:3007,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:3012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 3004
    functionDepth: 2
    functionLinenumber: 3004
    functionLinenumberEnd: 3016
    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:3021,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:3026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 3018
    functionDepth: 2
    functionLinenumber: 3018
    functionLinenumberEnd: 3030
    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:3035,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:3040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3032
    functionDepth: 2
    functionLinenumber: 3032
    functionLinenumberEnd: 3044
    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:3056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3050
    functionDepth: 1
    functionLinenumber: 3050
    functionLinenumberEnd: 3061
    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:3065,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3066,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/sslapitest.c:3066,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3070,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3070,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:3071,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:3071,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:3072,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:3072,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3073,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sssl
    - cssl
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3063
    functionDepth: 1
    functionLinenumber: 3063
    functionLinenumberEnd: 3078
    functionName: post_handshake_verify
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - TEST_true
    - SSL_do_handshake
    - SSL_verify_client_post_handshake
    - TEST_int_eq
    - SSL_read
    - SSL_set_verify
    - create_ssl_connection
    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:3085,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3085,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3085,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3086,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3088,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/openssl/test/sslapitest.c:3088,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3089,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/test/sslapitest.c:3089,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:3095,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:3097,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3098,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: 3101
      start: 3080
    functionDepth: 1
    functionLinenumber: 3080
    functionLinenumberEnd: 3101
    functionName: setup_ticket_test
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_set_num_tickets
    - SSL_CTX_set_session_cache_mode
    - TLS_server_method
    - SSL_CTX_sess_set_new_cb
    - create_ssl_ctx_pair
    - 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:3111,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3111,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3113,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:3113,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:3116,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3118,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3118,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3127,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:3127,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3128,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3131,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:3131,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3132,1
    - Dst: post_handshake_verify
      Src: /src/openssl/test/sslapitest.c:3139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3140,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3143,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3144,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3145,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3146,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3148,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3155,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3156,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: 3158
      start: 3103
    functionDepth: 2
    functionLinenumber: 3103
    functionLinenumberEnd: 3158
    functionName: check_resumption
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - SSL_set_post_handshake_auth
    - TEST_true
    - SSL_set_session
    - post_handshake_verify
    - SSL_shutdown
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_session_reused
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:3172,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3175,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3175,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3179,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3179,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3182,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3185,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3186,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3187,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3188,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3189,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3190,1
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:3203,1
    - Dst: check_resumption
      Src: /src/openssl/test/sslapitest.c:3206,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3212,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3213,1
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:3216,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3219,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3219,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:3223,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3225,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3225,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3228,1
    - Dst: post_handshake_verify
      Src: /src/openssl/test/sslapitest.c:3232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3233,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3236,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3237,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3238,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3239,1
    - Dst: check_resumption
      Src: /src/openssl/test/sslapitest.c:3249,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3255,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3256,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3257,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3258,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3261,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3262,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - stateful
    - idx
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3160
    functionDepth: 2
    functionLinenumber: 3160
    functionLinenumberEnd: 3265
    functionName: test_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_post_handshake_auth
    - TEST_true
    - SSL_shutdown
    - post_handshake_verify
    - setup_ticket_test
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_CTX_free
    - OSSL_NELEM
    - check_resumption
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_tickets(int stateful, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tickets
      Src: /src/openssl/test/sslapitest.c:3269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3267
    functionDepth: 3
    functionLinenumber: 3267
    functionLinenumberEnd: 3270
    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:3274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3272
    functionDepth: 3
    functionLinenumber: 3272
    functionLinenumberEnd: 3275
    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:3284,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3284,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3284,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3285,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3287,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/test/sslapitest.c:3287,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:3292,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/test/sslapitest.c:3293,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/test/sslapitest.c:3294,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3295,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3301,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3301,1
    - Dst: create_a_psk
      Src: /src/openssl/test/sslapitest.c:3304,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3305,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3305,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:3305,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3308,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3310,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3313,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3319,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3320,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3321,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3322,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3323,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3277
    functionDepth: 1
    functionLinenumber: 3277
    functionLinenumberEnd: 3328
    functionName: test_psk_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_ptr
    - create_a_psk
    - TEST_true
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - SSL_CTX_set_session_cache_mode
    - TLS_server_method
    - SSL_CTX_set_psk_find_session_callback
    - SSL_CTX_sess_set_new_cb
    - TEST_int_eq
    - SSL_free
    - SSL_CTX_set_psk_use_session_callback
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_CTX_set_session_id_context
    linkageType: ''
    returnType: int
    signature: int test_psk_tickets(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3334,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:3334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3349,1
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:3349,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3351,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3353,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3355,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3355,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3363,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3363,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3366,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3367,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3367,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3368,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3369,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3374,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3374,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3375,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3376,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3377,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3378,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3380,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3381,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3381,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3387,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3387,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3388,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3388,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3390,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3391,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3391,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3392,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3393,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3394,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3400,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3400,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3401,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3401,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3402,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3402,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3403,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3404,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3405,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3405,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3406,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3412,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3412,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3413,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3413,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3414,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3415,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3416,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3417,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:3426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3427,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3427,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3427,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3431,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3433,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3433,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3434,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:3434,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3435,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3438,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3444,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3444,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3445,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3446,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3447,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3447,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3448,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3451,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3451,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3452,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3453,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3454,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3454,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3455,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3456,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3457,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3458,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3458,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3461,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3461,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3462,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3466,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3466,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3467,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3468,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3469,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3469,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3470,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3471,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3472,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3473,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3473,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3476,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3477,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3481,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3482,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3483,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3484,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3485,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3486,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 79
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3490
      start: 3330
    functionDepth: 5
    functionLinenumber: 3330
    functionLinenumberEnd: 3490
    functionName: test_extra_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_read_ex
    - SSL_CTX_free
    - BIO_up_ref
    - create_ssl_connection
    - SSL_get_wbio
    - BIO_new
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - bio_s_always_retry
    - BIO_free
    - SSL_set0_wbio
    - SSL_shutdown
    - SSL_do_handshake
    - setup_ticket_test
    - SSL_new_session_ticket
    - SSL_CTX_sess_set_new_cb
    - TEST_size_t_eq
    - create_ssl_objects
    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: 3528
      start: 3515
    functionDepth: 0
    functionLinenumber: 3515
    functionLinenumberEnd: 3528
    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:3570,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3570,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3570,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3571,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:3582,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:3583,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3586,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3586,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3594,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3594,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3602,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3602,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3602,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3607,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3608,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:3609,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3616,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3618,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3619,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3625,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3625,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3630,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3631,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3641,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3641,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3646,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3646,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3649,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:3653,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3658,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3659,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: 45
    EdgeCount: 45
    ICount: 79
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3671
      start: 3541
    functionDepth: 5
    functionLinenumber: 3541
    functionLinenumberEnd: 3671
    functionName: test_ssl_set_bio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - BIO_free
    - TEST_true
    - setupbio
    - SSL_CTX_free
    - TLS_server_method
    - SSL_CTX_set_min_proto_version
    - BIO_up_ref
    - SSL_free
    - SSL_set_bio
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_ssl_set_bio(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3684,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:3684,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:3684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3685,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:3685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3686,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3686,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/sslapitest.c:3686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3687,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3687,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3687,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/sslapitest.c:3690,1
    - Dst: BIO_push
      Src: /src/openssl/test/sslapitest.c:3695,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3699,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3699,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3699,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/sslapitest.c:3704,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3706,1
    - Dst: BIO_pop
      Src: /src/openssl/test/sslapitest.c:3711,1
    - Dst: BIO_pop
      Src: /src/openssl/test/sslapitest.c:3713,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3717,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3718,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3719,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pop_ssl
    - change_bio
    argTypes:
    - int
    - bio_change_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3723
      start: 3677
    functionDepth: 5
    functionLinenumber: 3677
    functionLinenumberEnd: 3723
    functionName: execute_test_ssl_bio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TLS_method
    - TEST_ptr
    - BIO_new
    - BIO_s_mem
    - BIO_pop
    - SSL_set0_wbio
    - BIO_free
    - BIO_set_ssl
    - SSL_set0_rbio
    - SSL_CTX_free
    - BIO_push
    - SSL_free
    - 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:3727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3725
    functionDepth: 6
    functionLinenumber: 3725
    functionLinenumberEnd: 3728
    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:3732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3730
    functionDepth: 6
    functionLinenumber: 3730
    functionLinenumberEnd: 3733
    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:3737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3738
      start: 3735
    functionDepth: 6
    functionLinenumber: 3735
    functionLinenumberEnd: 3738
    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:3742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3740
    functionDepth: 6
    functionLinenumber: 3740
    functionLinenumberEnd: 3743
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3756,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:3756,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:3756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3758,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:3758,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3761,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3761,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/test/sslapitest.c:3761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3763,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3763,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3763,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3768,1
    - Dst: BIO_push
      Src: /src/openssl/test/sslapitest.c:3768,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/sslapitest.c:3769,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3775,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3777,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3782,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3783,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3784,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3785,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3786,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3749
    functionDepth: 5
    functionLinenumber: 3749
    functionLinenumberEnd: 3789
    functionName: test_ssl_set_wbio_chain_no_leak
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TLS_method
    - TEST_ptr
    - BIO_new
    - BIO_free
    - SSL_set0_wbio
    - BIO_free_all
    - BIO_f_nbio_test
    - SSL_CTX_free
    - BIO_push
    - SSL_free
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_ssl_set_wbio_chain_no_leak(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:3845,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3845,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3848,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3850,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3852,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3852,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3852,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3853,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:3857,1
    - Dst: SSL_CTX_set1_sigalgs
      Src: /src/openssl/test/sslapitest.c:3863,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:3865,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:3869,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:3875,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3880,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3880,1
    - Dst: SSL_set1_sigalgs
      Src: /src/openssl/test/sslapitest.c:3888,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:3890,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:3893,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3902,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3902,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3910,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3911,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3912,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3913,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3916
      start: 3836
    functionDepth: 1
    functionLinenumber: 3836
    functionLinenumberEnd: 3916
    functionName: test_set_sigalgs
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set1_sigalgs
    - TLS_client_method
    - TEST_size_t_le
    - SSL_set1_sigalgs
    - TEST_true
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - SSL_CTX_set1_sigalgs_list
    - OSSL_NELEM
    - SSL_set1_sigalgs_list
    - SSL_free
    - TEST_info
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - 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:3944,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3949,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: 3952
      start: 3923
    functionDepth: 1
    functionLinenumber: 3923
    functionLinenumberEnd: 3952
    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:3964,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:3975,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:3977,1
    - Dst: strncpy
      Src: /src/openssl/test/sslapitest.c:3978,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: 3981
      start: 3955
    functionDepth: 1
    functionLinenumber: 3955
    functionLinenumberEnd: 3981
    functionName: psk_client_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_SESSION_get_master_key
    - strncpy
    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:3997,1
    - Dst: strncmp
      Src: /src/openssl/test/sslapitest.c:3998,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:4004,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: 4010
      start: 3984
    functionDepth: 1
    functionLinenumber: 3984
    functionLinenumberEnd: 4010
    functionName: find_session_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    - SSL_SESSION_up_ref
    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:4028,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:4033,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:4035,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: 4038
      start: 4013
    functionDepth: 1
    functionLinenumber: 4013
    functionLinenumberEnd: 4038
    functionName: psk_server_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_get_master_key
    - strcmp
    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:4055,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/test/sslapitest.c:4055,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/sslapitest.c:4056,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/test/sslapitest.c:4056,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:4058,1
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/test/sslapitest.c:4058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sess
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4051
    functionDepth: 1
    functionLinenumber: 4051
    functionLinenumberEnd: 4059
    functionName: sub_session_time
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ossl_time_subtract
    - ossl_time_to_time_t
    - SSL_SESSION_set_time_ex
    - SSL_SESSION_get_time_ex
    - ossl_time_from_time_t
    - 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:4063,1
    - Dst: sub_session_time
      Src: /src/openssl/test/sslapitest.c:4076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4061
    functionDepth: 2
    functionLinenumber: 4061
    functionLinenumberEnd: 4077
    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:4090,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:4090,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:4090,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:4091,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/sslapitest.c:4097,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4099,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:4099,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:4104,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:4105,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/test/sslapitest.c:4108,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/test/sslapitest.c:4109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4115,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:4115,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4126,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:4126,1
    - Dst: create_a_psk
      Src: /src/openssl/test/sslapitest.c:4130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4131,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4136,1
    - Dst: SSL_SESSION_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:4136,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4138,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:4138,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4139,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4146,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:4146,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4147,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4148,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4160,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:4160,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:4164,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4165,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4166,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4167,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4168,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4176,1
    - Dst: sub_session_time
      Src: /src/openssl/test/sslapitest.c:4176,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4179,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:4179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4181,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:4181,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: 4185
      start: 4083
    functionDepth: 2
    functionLinenumber: 4083
    functionLinenumberEnd: 4185
    functionName: setupearly_data_test
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - create_a_psk
    - SSL_CTX_set_max_early_data
    - TEST_true
    - SSL_get1_session
    - TLS_server_method
    - create_ssl_connection
    - SSL_SESSION_set_max_early_data
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_CTX_set_session_ticket_cb
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_CTX_set_psk_find_session_callback
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_read_ahead
    - SSL_shutdown
    - SSL_SESSION_up_ref
    - sub_session_time
    - SSL_CTX_set_psk_use_session_callback
    - create_ssl_objects
    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:4199,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:4199,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/sslapitest.c:4200,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/test/sslapitest.c:4200,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:4201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timer
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4187
    functionDepth: 2
    functionLinenumber: 4187
    functionLinenumberEnd: 4204
    functionName: check_early_data_timeout
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ossl_time_subtract
    - TEST_skip
    - ossl_time_compare
    - 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:4220,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4220,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:4229,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4230,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4230,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4230,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4232,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4235,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4235,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:4238,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4242,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4242,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4243,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4243,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4251,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4251,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4251,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4253,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4253,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4254,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4254,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4255,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4255,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4259,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4259,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4259,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4261,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4261,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4265,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4265,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4268,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4268,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4272,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4272,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4272,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4274,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4274,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4275,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4275,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4276,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4276,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4283,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4283,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4283,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4284,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4285,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4285,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:4295,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4296,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslapitest.c:4296,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/sslapitest.c:4297,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:4298,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4303,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:4303,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4308,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4308,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4311,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4318,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4318,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4318,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4320,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4320,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4324,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:4324,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4326,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4330,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4330,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4331,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4331,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4335,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4335,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4335,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4339,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4339,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4343,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4346,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4346,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4347,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4347,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4355,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4355,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4356,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4356,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4361,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4361,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4361,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4362,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4362,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4363,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4363,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4364,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4364,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4367,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:4368,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4372,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4373,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4374,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4375,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4377,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:4377,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4379,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:4379,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4383,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4383,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4383,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4385,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4386,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4386,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4389,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4389,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:4392,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:4392,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:4393,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:4393,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4397,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4397,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4397,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4400,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4401,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4401,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4405,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4408,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4408,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4408,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4409,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4409,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4410,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4410,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4411,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4411,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4417,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4418,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4419,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4421,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4422,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4423,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4424,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 114
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4206
    functionDepth: 4
    functionLinenumber: 4206
    functionLinenumberEnd: 4426
    functionName: test_early_data_read_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - TEST_mem_eq
    - TEST_true
    - check_early_data_timeout
    - SSL_read_ex
    - BIO_read_ex
    - setupearly_data_test
    - SSL_get1_session
    - SSL_CTX_free
    - TEST_size_t_gt
    - ERR_clear_error
    - TEST_size_t_lt
    - TEST_int_gt
    - TEST_int_eq
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - SSL_accept
    - SSL_set_session
    - SSL_SESSION_free
    - ossl_time_now
    - SSL_get_early_data_status
    - SSL_get_rbio
    - BIO_write_ex
    - SSL_write_early_data
    - SSL_connect
    - SSL_shutdown
    - TEST_size_t_eq
    - strlen
    - create_ssl_objects
    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: 4440
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4440
    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:4463,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:4463,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:4463,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:4464,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:4470,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:4472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4474,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:4476,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/test/sslapitest.c:4477,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4478,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:4478,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:4480,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:4483,1
    - Dst: SSL_CTX_set_allow_early_data_cb
      Src: /src/openssl/test/sslapitest.c:4485,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4488,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4488,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4497,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:4497,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4498,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:4498,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4501,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4502,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4503,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4504,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4507,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:4507,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4509,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:4509,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:4513,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4514,1
    - Dst: SSL_write_early_data
      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:4516,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4516,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4520,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4520,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4527,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4527,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4532,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4532,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:4535,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4538,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4538,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:4543,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:4543,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4544,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4544,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4547,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4547,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4553,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:4553,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4554,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:4554,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4555,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4561,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4562,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4563,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4565,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4566,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4567,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4568,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 3
    argNames:
    - idx
    - usecb
    - confopt
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4451
    functionDepth: 3
    functionLinenumber: 4451
    functionLinenumberEnd: 4570
    functionName: test_early_data_replay_int
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_CONF_CTX_set_ssl_ctx
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CONF_CTX_new
    - check_early_data_timeout
    - SSL_CTX_free
    - setupearly_data_test
    - SSL_CONF_cmd
    - TLS_server_method
    - create_ssl_connection
    - TEST_int_gt
    - TEST_int_eq
    - SSL_CONF_CTX_free
    - SSL_free
    - SSL_set_session
    - SSL_SESSION_free
    - ossl_time_now
    - SSL_session_reused
    - SSL_get_early_data_status
    - create_ssl_ctx_pair
    - SSL_CONF_CTX_set_flags
    - TLS_client_method
    - SSL_CTX_set_allow_early_data_cb
    - SSL_write_early_data
    - SSL_connect
    - SSL_shutdown
    - TEST_size_t_eq
    - strlen
    - create_ssl_objects
    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:4578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4582
      start: 4572
    functionDepth: 4
    functionLinenumber: 4572
    functionLinenumberEnd: 4582
    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:4621,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4623,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:4623,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:4623,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:4624,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:4630,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:4631,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4634,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:4634,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4635,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:4635,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4638,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4638,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4648,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:4648,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4651,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:4651,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4666,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:4666,1
    - Dst: time
      Src: /src/openssl/test/sslapitest.c:4666,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4671,1
    - Dst: SSL_set_recv_max_early_data
      Src: /src/openssl/test/sslapitest.c:4671,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4675,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4675,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4675,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4677,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4681,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4681,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4684,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4685,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4685,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4700,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4700,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4700,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4701,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4701,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:4707,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4718,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4718,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4718,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4726,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:4726,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4738,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4738,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4739,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:4739,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:4747,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4751,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4756,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4756,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4756,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4757,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4757,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4758,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4758,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4760,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4760,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4761,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4761,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sslapitest.c:4768,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/sslapitest.c:4768,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4774,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4775,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4777,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4778,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4779,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4780,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4781,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 89
    argCount: 3
    argNames:
    - testtype
    - cipher
    - idx
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4783
      start: 4608
    functionDepth: 4
    functionLinenumber: 4608
    functionLinenumberEnd: 4783
    functionName: early_data_skip_helper
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_CTX_set_ciphersuites
    - TEST_mem_eq
    - ERR_peek_error
    - TEST_true
    - SSL_SESSION_set_time_ex
    - TEST_error
    - SSL_read_ex
    - SSL_CTX_free
    - setupearly_data_test
    - TLS_server_method
    - SSL_get_wbio
    - ERR_clear_error
    - SSL_CTX_set_security_level
    - SSL_set1_groups_list
    - TEST_int_eq
    - SSL_get_error
    - SSL_set_recv_max_early_data
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - SSL_SESSION_free
    - SSL_get_early_data_status
    - create_ssl_ctx_pair
    - BIO_write_ex
    - TLS_client_method
    - SSL_write_early_data
    - TEST_skip
    - TEST_long_eq
    - TEST_size_t_eq
    - strlen
    - time
    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:4791,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4792,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4789
    functionDepth: 5
    functionLinenumber: 4789
    functionLinenumberEnd: 4794
    functionName: test_early_data_skip
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    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:4802,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4803,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4805
      start: 4800
    functionDepth: 5
    functionLinenumber: 4800
    functionLinenumberEnd: 4805
    functionName: test_early_data_skip_hrr
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    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:4814,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4815,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4812
    functionDepth: 5
    functionLinenumber: 4812
    functionLinenumberEnd: 4817
    functionName: test_early_data_skip_hrr_fail
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    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:4825,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4826,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4828
      start: 4823
    functionDepth: 5
    functionLinenumber: 4823
    functionLinenumberEnd: 4828
    functionName: test_early_data_skip_abort
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - early_data_skip_helper
    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:4843,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4843,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:4849,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4850,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4850,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4850,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4854,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4854,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4857,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4858,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4858,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4860,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4860,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4865,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4865,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4865,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4866,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4866,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4867,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4867,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4868,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4868,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4869,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4869,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4870,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4870,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4873,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4873,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4874,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4874,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4880,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4881,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4882,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4884,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4885,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4886,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4887,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4889
      start: 4834
    functionDepth: 3
    functionLinenumber: 4834
    functionLinenumberEnd: 4889
    functionName: test_early_data_not_sent
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_write_ex
    - TEST_false
    - TEST_mem_eq
    - SSL_set_connect_state
    - TEST_true
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_read_ex
    - SSL_CTX_free
    - setupearly_data_test
    - TEST_size_t_eq
    - SSL_get_early_data_status
    - strlen
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_early_data_not_sent(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4905,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:4906,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: 4914
      start: 4893
    functionDepth: 0
    functionLinenumber: 4893
    functionLinenumberEnd: 4914
    functionName: alpn_select_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcmp
    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:4938,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4938,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4955,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/openssl/test/sslapitest.c:4955,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4956,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:4956,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4964,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:4964,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4966,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:4966,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4978,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/test/sslapitest.c:4978,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4989,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/sslapitest.c:4990,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4991,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4992,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/openssl/test/sslapitest.c:4992,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4997,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/openssl/test/sslapitest.c:4997,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4998,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:4998,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4999,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:4999,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5021,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:5021,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5023,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:5023,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/sslapitest.c:5027,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5032,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/sslapitest.c:5033,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:5034,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5035,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:5035,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5038,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:5038,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5041,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:5041,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/sslapitest.c:5044,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:5052,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:5056,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5058,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:5058,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5058,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5060,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:5060,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5061,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:5061,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:5061,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:5064,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5066,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:5066,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5066,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5070,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:5070,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:5073,1
    - Dst: TEST_mem_eq
      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:5079,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5079,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5080,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:5080,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5087,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5088,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5089,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5091,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5092,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5093,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5094,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 91
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5096
      start: 4917
    functionDepth: 3
    functionLinenumber: 4917
    functionLinenumberEnd: 5096
    functionName: test_early_data_psk
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - TEST_ptr
    - TEST_mem_eq
    - ERR_GET_REASON
    - TEST_true
    - TEST_error
    - check_early_data_timeout
    - SSL_CTX_free
    - setupearly_data_test
    - SSL_SESSION_set_protocol_version
    - SSL_set_connect_state
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_SESSION_set1_hostname
    - SSL_get_error
    - SSL_free
    - TEST_false
    - SSL_SESSION_dup
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_alpn_select_cb
    - SSL_SESSION_free
    - SSL_SESSION_set1_alpn_selected
    - ossl_time_now
    - ERR_get_error
    - SSL_get_early_data_status
    - SSL_write_early_data
    - SSL_set_alpn_protos
    - SSL_connect
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_early_data_psk(int idx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5121,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5121,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5128,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5139,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5139,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5146,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5165,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:5165,1
    - Dst: SSL_set_security_level
      Src: /src/openssl/test/sslapitest.c:5175,1
    - Dst: SSL_set_security_level
      Src: /src/openssl/test/sslapitest.c:5176,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5179,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5180,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5180,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/sslapitest.c:5190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:5191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5191,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/test/sslapitest.c:5191,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:5194,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:5195,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5196,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:5196,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5200,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:5200,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:5203,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5207,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5207,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5208,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5208,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5210,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:5210,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5211,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:5211,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5215,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5215,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5215,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5216,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5216,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5219,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5219,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5220,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5220,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5225,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5226,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5227,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5230,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5232,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5233,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5234,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5235,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5236,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 54
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5238
      start: 5108
    functionDepth: 3
    functionLinenumber: 5108
    functionLinenumberEnd: 5238
    functionName: test_early_data_psk_with_all_ciphers
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_set_security_level
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - check_early_data_timeout
    - SSL_read_ex
    - SSL_CTX_free
    - setupearly_data_test
    - SSL_set_ciphersuites
    - SSL_set_connect_state
    - TEST_int_eq
    - SSL_free
    - SSL_write_ex
    - SSL_accept
    - SSL_SESSION_free
    - ossl_time_now
    - SSL_get_early_data_status
    - SSL_SESSION_set_cipher
    - defined
    - SSL_CIPHER_find
    - SSL_write_early_data
    - SSL_connect
    - SSL_shutdown
    - TEST_size_t_eq
    - strlen
    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:5253,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:5253,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5259,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:5259,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5259,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:5267,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:5267,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:5268,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:5268,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5269,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5269,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:5271,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:5271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5272,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5272,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5277,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5277,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5277,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5278,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5278,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5281,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5281,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5282,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5282,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5288,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5289,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5290,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5292,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5293,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5294,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5297
      start: 5244
    functionDepth: 3
    functionLinenumber: 5244
    functionLinenumberEnd: 5297
    functionName: test_early_data_not_expected
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - SSL_accept
    - TEST_mem_eq
    - SSL_write_early_data
    - TEST_int_le
    - SSL_connect
    - TEST_true
    - TEST_int_gt
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_read_ex
    - SSL_CTX_free
    - setupearly_data_test
    - TEST_size_t_eq
    - SSL_get_early_data_status
    - strlen
    - SSL_free
    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:5312,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:5312,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:5318,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:5319,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5320,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5320,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5320,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5328,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:5328,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5337,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5337,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5337,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5338,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:5338,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5341,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5342,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5342,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5347,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5347,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5347,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5348,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5349,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5349,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5351,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5351,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5352,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5352,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5353,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5353,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5353,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5354,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5354,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5355,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5356,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5356,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5362,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5363,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5365,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5366,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5367,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5368,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5304
    functionDepth: 3
    functionLinenumber: 5304
    functionLinenumberEnd: 5371
    functionName: test_early_data_tls1_2
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_write_ex
    - TEST_false
    - TEST_mem_eq
    - SSL_set_max_proto_version
    - SSL_set_connect_state
    - TEST_true
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_read_ex
    - SSL_CTX_free
    - setupearly_data_test
    - TEST_size_t_eq
    - SSL_get_early_data_status
    - strlen
    - SSL_free
    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:5394,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5394,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5394,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5395,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5397,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5397,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5403,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5403,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5409,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5409,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5414,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5414,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5419,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5419,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5425,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5425,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5431,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5431,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5436,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5436,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5441,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5441,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5447,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5448,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5449,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5450,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5453
      start: 5388
    functionDepth: 1
    functionLinenumber: 5388
    functionLinenumberEnd: 5453
    functionName: test_set_ciphersuite
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TLS_client_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - SSL_set_ciphersuites
    - SSL_set_cipher_list
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_set_ciphersuite(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5464,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5464,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5464,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5465,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5467,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5467,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5471,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5471,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5475,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5475,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5477,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5477,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5481,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/test/sslapitest.c:5483,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5484,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5485,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5486,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5487,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5491,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5491,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5493,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5493,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5495,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5495,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5496,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5496,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5498,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:5498,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5501,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5502,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5503,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5504,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5505,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5506,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5513,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5513,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5514,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5514,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5516,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5516,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5517,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5517,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5519,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:5519,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5522,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5524,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5525,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5526,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5527,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5531,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5531,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5532,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5532,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5534,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5534,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5538,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5539,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5540,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5541,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5542,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5545,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5545,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5547,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5547,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5549,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5549,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5551,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5551,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5557,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5557,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5570,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5570,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5572,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:5572,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:5572,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5579,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5580,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5581,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5582,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5583,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5586
      start: 5455
    functionDepth: 2
    functionLinenumber: 5455
    functionLinenumberEnd: 5586
    functionName: test_ciphersuite_change
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - ERR_GET_REASON
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_SESSION_get0_cipher
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - ERR_get_error
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_shutdown
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_ciphersuite_change(void)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5650,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5668,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5674,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5688,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5777,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5785,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/sslapitest.c:5799,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5801,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5803,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5803,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5803,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5804,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5809,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5809,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5813,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5813,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5817,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5817,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5819,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:5819,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5827,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5827,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5832,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5832,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5837,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5837,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5838,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5838,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5841,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:5841,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5842,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:5842,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5846,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5846,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/test/sslapitest.c:5849,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5851,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5853,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/test/sslapitest.c:5853,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:5861,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5862,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:5862,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5864,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5866,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5866,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5869,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5869,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5874,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5875,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5876,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5877,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 180
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5879
      start: 5627
    functionDepth: 1
    functionLinenumber: 5627
    functionLinenumberEnd: 5879
    functionName: test_key_exchange
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_true
    - SSL_CTX_free
    - TEST_str_eq
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_shared_group
    - SSL_set1_groups_list
    - TEST_int_eq
    - fips_provider_version_lt
    - SSL_free
    - SSL_get0_group_name
    - SSL_set1_groups
    - SSL_group_to_name
    - SSL_CTX_set_cipher_list
    - SSL_get_negotiated_group
    - create_ssl_ctx_pair
    - SSL_CTX_set_dh_auto
    - TLS_client_method
    - TEST_skip
    - OSSL_NELEM
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_key_exchange(int idx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5891,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5892,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5899,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5899,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5902,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5902,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5906,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5906,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5911,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5911,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5914,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5914,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5918,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5918,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: 5924
      start: 5884
    functionDepth: 1
    functionLinenumber: 5884
    functionLinenumberEnd: 5924
    functionName: set_ssl_groups
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set1_groups
    - TEST_true
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int set_ssl_groups(SSL *serverssl, SSL *clientssl, int clientmulti,\n
      \   int isecdhe, int idx)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5960,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5961,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5978,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5983,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5983,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5983,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5984,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5993,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5993,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5995,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:5995,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5997,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5997,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6001,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6001,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6005,1
    - Dst: set_ssl_groups
      Src: /src/openssl/test/sslapitest.c:6005,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6009,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6009,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:6016,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:6016,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:6018,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:6018,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:6021,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:6021,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6024,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6025,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6026,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6027,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6031,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6031,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6033,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:6033,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6034,1
    - Dst: set_ssl_groups
      Src: /src/openssl/test/sslapitest.c:6034,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6038,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6038,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6039,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6039,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:6043,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:6043,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:6045,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:6045,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6048,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6049,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6050,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6051,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:6069,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6074,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6074,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6076,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:6076,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6077,1
    - Dst: set_ssl_groups
      Src: /src/openssl/test/sslapitest.c:6077,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6081,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6081,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6082,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6082,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:6086,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:6086,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:6088,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:6088,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6093,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6094,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6095,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6096,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6097,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 93
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 5949
    functionDepth: 2
    functionLinenumber: 5949
    functionLinenumberEnd: 6099
    functionName: test_negotiated_group
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - set_ssl_groups
    - TLS_server_method
    - create_ssl_connection
    - SSL_free
    - TEST_uint_eq
    - SSL_CTX_set_cipher_list
    - SSL_get_negotiated_group
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - SSL_CTX_set_dh_auto
    - TLS_client_method
    - TEST_skip
    - SSL_shutdown
    - OSSL_NELEM
    - TEST_int_ne
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_negotiated_group(int idx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:6121,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:6121,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:6131,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:6169,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6173,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6173,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6173,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6174,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:6180,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:6181,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6185,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6185,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6186,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6186,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6189,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:6189,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6190,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:6190,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6196,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6196,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6201,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6201,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6202,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6202,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6205,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:6205,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6206,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:6206,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6212,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6212,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/sslapitest.c:6216,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:6216,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/sslapitest.c:6218,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:6218,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:6220,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/sslapitest.c:6228,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:6229,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:6235,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6239,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6241,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6243,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6245,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6252,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6253,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6254,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6255,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 86
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6257
      start: 6109
    functionDepth: 1
    functionLinenumber: 6109
    functionLinenumberEnd: 6257
    functionName: test_tls13_ciphersuite
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_true
    - SSL_CTX_free
    - TEST_str_eq
    - SSL_set_ciphersuites
    - TLS_server_method
    - create_ssl_connection
    - TEST_strn_eq
    - SSL_CTX_set_security_level
    - SSL_get_current_cipher
    - SSL_free
    - SSL_CTX_set_cipher_list
    - SSL_set_cipher_list
    - create_ssl_ctx_pair
    - defined
    - TLS_client_method
    - OSSL_NELEM
    - strlen
    - create_ssl_objects
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int test_tls13_ciphersuite(int idx)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6279,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6279,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6279,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6280,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6292,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6292,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6301,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6301,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/test/sslapitest.c:6313,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/test/sslapitest.c:6314,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/test/sslapitest.c:6318,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/test/sslapitest.c:6319,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6333,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6333,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6335,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6335,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6337,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6337,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6338,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6338,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6342,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6343,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6348,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6349,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6352,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6353,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6354,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6355,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6359,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6364,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6364,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/sslapitest.c:6369,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:6370,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:6371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:6372,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6373,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/test/sslapitest.c:6373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6375,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/test/sslapitest.c:6375,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6376,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/test/sslapitest.c:6376,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6378,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:6378,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6383,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6383,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6384,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6385,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6385,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6389,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6390,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6391,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6392,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6395,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6396,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6397,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6398,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6402,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6407,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6407,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6413,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:6413,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6416,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:6416,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6424,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6424,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6425,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6425,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6426,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6426,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6430,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6431,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6432,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6433,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6436,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6437,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6438,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6439,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6443,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6454,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6454,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6456,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6456,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6458,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6458,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6459,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6459,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6463,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6464,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6465,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6470,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6473,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6474,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6475,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6476,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6480,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6486,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6487,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6489,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6490,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6491,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6492,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 121
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6494
      start: 6266
    functionDepth: 1
    functionLinenumber: 6266
    functionLinenumberEnd: 6494
    functionName: test_tls13_psk
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - SSL_SESSION_new
    - TEST_ptr
    - SSL_SESSION_set1_master_key
    - TEST_true
    - SSL_CTX_free
    - SSL_SESSION_set_protocol_version
    - TLS_server_method
    - create_ssl_connection
    - SSL_set1_groups_list
    - SSL_CTX_set_psk_server_callback
    - SSL_free
    - SSL_CTX_set_psk_client_callback
    - TEST_false
    - shutdown_ssl_connection
    - SSL_SESSION_free
    - SSL_SESSION_set_cipher
    - SSL_CTX_set_psk_find_session_callback
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CIPHER_find
    - SSL_SESSION_up_ref
    - SSL_CTX_set_psk_use_session_callback
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_tls13_psk(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6529,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6529,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6529,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6530,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:6534,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6536,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6537,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:6539,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6541,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6541,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6545,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6545,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6548,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6554,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6555,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6556,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6557,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6558,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6567,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6567,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6567,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6568,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6572,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6574,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6574,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6576,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:6576,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6579,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6579,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6586,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6586,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6589,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6590,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6595,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6596,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:6597,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6598,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6601,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6602,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6605
      start: 6507
    functionDepth: 1
    functionLinenumber: 6507
    functionLinenumberEnd: 6605
    functionName: test_tls13_no_dhe_kex
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_true
    - SSL_CTX_set_options
    - SSL_shutdown
    - SSL_set_session
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_CTX_set_session_cache_mode
    - TLS_server_method
    - SSL_CTX_sess_set_new_cb
    - SSL_CTX_free
    - OSSL_NELEM
    - SSL_session_reused
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:6617,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: 6621
      start: 6610
    functionDepth: 0
    functionLinenumber: 6610
    functionLinenumberEnd: 6621
    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:6627,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: 6631
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6631
    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:6637,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: 6640
      start: 6633
    functionDepth: 0
    functionLinenumber: 6633
    functionLinenumberEnd: 6640
    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:6645,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: 6646
      start: 6642
    functionDepth: 0
    functionLinenumber: 6642
    functionLinenumberEnd: 6646
    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:6654,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6654,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6654,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6655,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/sslapitest.c:6660,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6662,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6662,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6665,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6665,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6671,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6671,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6675,1
    - Dst: SSL_CTX_set_stateless_cookie_generate_cb
      Src: /src/openssl/test/sslapitest.c:6679,1
    - Dst: SSL_CTX_set_stateless_cookie_verify_cb
      Src: /src/openssl/test/sslapitest.c:6680,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6686,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6686,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6689,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6689,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6692,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6692,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6696,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6703,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6703,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6706,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6706,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6709,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6709,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6711,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6711,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6714,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6714,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6716,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6716,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6720,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6725,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6726,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6727,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6728,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6730
      start: 6648
    functionDepth: 1
    functionLinenumber: 6648
    functionLinenumberEnd: 6730
    functionName: test_stateless
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false
    - SSL_CTX_set_stateless_cookie_generate_cb
    - SSL_CTX_clear_options
    - shutdown_ssl_connection
    - TEST_true
    - TEST_int_eq
    - SSL_CTX_set_stateless_cookie_verify_cb
    - TLS_server_method
    - SSL_CTX_free
    - SSL_stateless
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_stateless(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6751,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6756,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:6757,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: 6764
      start: 6745
    functionDepth: 1
    functionLinenumber: 6745
    functionLinenumberEnd: 6764
    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:6769,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: 6770
      start: 6766
    functionDepth: 0
    functionLinenumber: 6766
    functionLinenumberEnd: 6770
    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:6777,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6782,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: 6788
      start: 6772
    functionDepth: 1
    functionLinenumber: 6772
    functionLinenumberEnd: 6788
    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:6797,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6802,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:6803,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: 6810
      start: 6790
    functionDepth: 1
    functionLinenumber: 6790
    functionLinenumberEnd: 6810
    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:6815,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: 6816
      start: 6812
    functionDepth: 0
    functionLinenumber: 6812
    functionLinenumberEnd: 6816
    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:6824,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6829,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: 6834
      start: 6818
    functionDepth: 1
    functionLinenumber: 6818
    functionLinenumberEnd: 6834
    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:6840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6846
      start: 6836
    functionDepth: 1
    functionLinenumber: 6836
    functionLinenumberEnd: 6846
    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: 6851
      start: 6848
    functionDepth: 0
    functionLinenumber: 6848
    functionLinenumberEnd: 6851
    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:6883,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6883,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6883,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6884,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6889,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6889,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6889,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6895,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6896,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6898,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:6904,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6907,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:6907,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6910,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:6910,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6913,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:6913,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6930,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/test/sslapitest.c:6930,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6936,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6936,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6943,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/test/sslapitest.c:6943,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6947,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6947,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6955,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/test/sslapitest.c:6955,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6961,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6961,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6966,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6966,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6974,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/test/sslapitest.c:6974,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6978,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6978,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6986,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:6986,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6987,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:6987,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6991,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6991,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6993,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6993,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:7026,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7027,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7028,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7029,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7030,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7039,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7039,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7041,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:7041,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7042,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7042,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7079,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7080,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7081,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7082,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7083,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7084,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 122
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7086
      start: 6862
    functionDepth: 1
    functionLinenumber: 6862
    functionLinenumberEnd: 7086
    functionName: test_custom_exts
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_add_server_custom_ext
    - SSL_CTX_use_certificate_file
    - TEST_true
    - SSL_CTX_set_options
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_set_verify
    - TEST_int_eq
    - SSL_CTX_add_custom_ext
    - SSL_free
    - TEST_false
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_CTX_check_private_key
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_CTX_use_PrivateKey_file
    - SSL_shutdown
    - SSL_CTX_add_client_custom_ext
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_custom_exts(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7129,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: 7131
      start: 7119
    functionDepth: 1
    functionLinenumber: 7119
    functionLinenumberEnd: 7131
    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:7177,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7177,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:7178,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:7179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7186,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/test/sslapitest.c:7186,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7190,1
    - Dst: SSL_CTX_use_serverinfo
      Src: /src/openssl/test/sslapitest.c:7190,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7194,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:7194,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7199,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7199,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7201,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7201,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7203,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7203,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7206,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7212,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7213,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7214,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7215,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7218
      start: 7133
    functionDepth: 1
    functionLinenumber: 7133
    functionLinenumberEnd: 7218
    functionName: test_serverinfo_custom
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_method
    - TEST_true
    - SSL_do_handshake
    - TEST_int_eq
    - SSL_CTX_free
    - create_ssl_objects
    - SSL_CTX_use_serverinfo_ex
    - create_ssl_ctx_pair
    - SSL_CTX_add_custom_ext
    - create_ssl_connection
    - SSL_free
    - SSL_CTX_use_serverinfo
    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:7237,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7268,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7268,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7268,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7269,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/sslapitest.c:7273,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:7273,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:7274,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:7275,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:7277,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:7278,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7281,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7281,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:7288,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7288,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7295,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7295,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:7304,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7304,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:7319,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7321,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7321,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7326,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7326,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7332,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7332,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7338,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7345,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7345,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7351,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7357,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7357,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7363,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7363,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7373,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7379,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7385,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7392,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:7395,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:7403,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7404,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7410,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7411,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7412,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7413,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7414,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 58
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7417
      start: 7228
    functionDepth: 1
    functionLinenumber: 7228
    functionLinenumberEnd: 7417
    functionName: test_export_key_mat
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - fips_provider_version_ge
    - TLS_server_method
    - create_ssl_connection
    - TEST_int_le
    - TEST_int_eq
    - OPENSSL_assert
    - SSL_free
    - SSL_CTX_set_cipher_list
    - SSL_export_keying_material
    - memset
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_mem_ne
    - OSSL_NELEM
    - create_ssl_objects
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_export_key_mat(int tst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7440,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:7440,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7445,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:7445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7446,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:7446,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7449,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:7449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7453,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7453,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7457,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7457,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7461,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7461,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7465,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7465,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7473,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7479,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:7482,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7489,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7490,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7491,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7493,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7494,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7495,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7499
      start: 7426
    functionDepth: 3
    functionLinenumber: 7426
    functionLinenumberEnd: 7499
    functionName: test_export_key_mat_early
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - TEST_mem_eq
    - SSL_write_early_data
    - TEST_true
    - SSL_SESSION_free
    - TEST_int_eq
    - SSL_export_keying_material_early
    - SSL_CTX_free
    - setupearly_data_test
    - TEST_mem_ne
    - SSL_get_early_data_status
    - SSL_free
    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:7513,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7513,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7513,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7514,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7518,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7518,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7520,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7520,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7527,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7527,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7531,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7531,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7536,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7536,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7536,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7536,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7537,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7537,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7538,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7541,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7541,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7541,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7541,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7542,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7542,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7543,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7550,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7551,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7552,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7553,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7556
      start: 7505
    functionDepth: 1
    functionLinenumber: 7505
    functionLinenumberEnd: 7556
    functionName: test_key_update
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_write
    - TEST_true
    - SSL_do_handshake
    - TEST_int_eq
    - SSL_read
    - TLS_server_method
    - SSL_key_update
    - SSL_CTX_free
    - strlen
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_key_update(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:7571,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:7571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7575,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7576,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7576,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7576,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7577,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7581,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7581,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7583,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7583,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7590,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7591,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7591,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:7595,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7596,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7596,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:7596,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7600,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: strlen
      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_true
      Src: /src/openssl/test/sslapitest.c:7606,1
    - Dst: SSL_want_write
      Src: /src/openssl/test/sslapitest.c:7606,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7607,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/test/sslapitest.c:7607,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7611,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7615,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7615,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7616,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7616,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7617,1
    - Dst: SSL_want_read
      Src: /src/openssl/test/sslapitest.c:7617,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7618,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/test/sslapitest.c:7618,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7625,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7625,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7625,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7625,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7626,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7626,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7626,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_false
      Src: /src/openssl/test/sslapitest.c:7634,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/test/sslapitest.c:7634,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:7635,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/test/sslapitest.c:7635,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7636,1
    - Dst: SSL_want
      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
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7646,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7647,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7650
      start: 7564
    functionDepth: 5
    functionLinenumber: 7564
    functionLinenumberEnd: 7650
    functionName: test_key_update_peer_in_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_write
    - TEST_true
    - SSL_CTX_free
    - BIO_up_ref
    - SSL_net_write_desired
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_wbio
    - BIO_new
    - TEST_int_eq
    - SSL_read
    - SSL_get_error
    - SSL_free
    - SSL_want
    - TEST_false
    - bio_s_always_retry
    - BIO_free
    - SSL_set0_wbio
    - SSL_want_read
    - SSL_key_update
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_do_handshake
    - SSL_want_write
    - SSL_net_read_desired
    - strlen
    - create_ssl_objects
    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:7669,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7669,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7669,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7670,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7674,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7674,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7676,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7676,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7683,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/sslapitest.c:7683,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7686,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7687,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7695,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7695,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7696,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7696,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7697,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7697,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7704,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7704,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7705,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7705,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7709,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7709,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7709,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7709,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7716,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7716,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7717,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7717,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7721,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7721,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7721,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7721,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7722,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7722,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7722,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7728,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7729,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7730,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7731,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7734
      start: 7659
    functionDepth: 6
    functionLinenumber: 7659
    functionLinenumberEnd: 7734
    functionName: test_key_update_peer_in_read
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_write
    - TEST_true
    - BIO_new_bio_pair
    - TEST_int_eq
    - SSL_read
    - TLS_server_method
    - SSL_key_update
    - SSL_CTX_free
    - SSL_get_error
    - strlen
    - SSL_set_bio
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:7749,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:7749,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7753,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7754,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7754,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7754,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7755,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7759,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7759,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7761,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7761,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:7769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7770,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7770,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:7770,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7774,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7778,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7778,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7778,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7779,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7779,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7783,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:7787,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7787,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7788,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:7788,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/sslapitest.c:7788,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:7791,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7793,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7793,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7793,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7793,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7797,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7797,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7798,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7798,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7805,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7805,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7805,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7805,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7806,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7806,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7806,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7810,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7810,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7810,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7810,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7811,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7811,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7811,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7817,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7818,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7819,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7820,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7821,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7822,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7825
      start: 7742
    functionDepth: 5
    functionLinenumber: 7742
    functionLinenumberEnd: 7825
    functionName: test_key_update_local_in_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_write
    - ERR_GET_REASON
    - TEST_true
    - SSL_CTX_free
    - BIO_up_ref
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_wbio
    - ERR_clear_error
    - BIO_new
    - TEST_int_eq
    - SSL_read
    - SSL_get_error
    - SSL_free
    - TEST_false
    - bio_s_always_retry
    - BIO_free
    - SSL_set0_wbio
    - SSL_key_update
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_do_handshake
    - ERR_peek_error
    - strlen
    - create_ssl_objects
    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:7843,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7843,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7843,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7844,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7848,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7848,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7850,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7850,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7857,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/sslapitest.c:7857,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7860,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7861,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7864,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7864,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7865,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7865,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7869,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7869,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7870,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7870,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7874,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7874,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7875,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7875,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7882,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7882,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7883,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7883,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7890,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7890,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7890,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7890,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7891,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7891,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7891,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7895,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7895,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7895,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7895,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7896,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7896,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7896,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7902,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7903,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7904,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7905,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7908
      start: 7833
    functionDepth: 6
    functionLinenumber: 7833
    functionLinenumberEnd: 7908
    functionName: test_key_update_local_in_read
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_write
    - TEST_true
    - BIO_new_bio_pair
    - SSL_do_handshake
    - TEST_int_eq
    - SSL_read
    - TLS_server_method
    - SSL_key_update
    - SSL_CTX_free
    - SSL_get_error
    - strlen
    - SSL_set_bio
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:7942,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7946,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7946,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7946,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7947,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7950,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:7950,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7952,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7952,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7954,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7954,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7967,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:7967,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7967,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7968,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7975,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:7975,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7979,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7980,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7985,1
    - Dst: SSL_clear
      Src: /src/openssl/test/sslapitest.c:7985,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/sslapitest.c:7988,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7990,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7994,1
    - Dst: SSL_clear
      Src: /src/openssl/test/sslapitest.c:7994,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:7997,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7999,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8003,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8003,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8005,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8005,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8007,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:8007,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8010,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8011,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8016,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8017,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8018,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8019,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8022
      start: 7923
    functionDepth: 1
    functionLinenumber: 7923
    functionLinenumberEnd: 8022
    functionName: test_ssl_clear
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - SSL_write_ex
    - TLS_client_method
    - TEST_skip
    - SSL_set_connect_state
    - TEST_true
    - SSL_shutdown
    - SSL_read_ex
    - TLS_server_method
    - SSL_CTX_free
    - SSL_free
    - SSL_session_reused
    - strlen
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_CTX_set_max_proto_version
    - SSL_clear
    linkageType: ''
    returnType: int
    signature: int test_ssl_clear(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/sslapitest.c:8032,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/sslapitest.c:8032,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8035,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8036,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8037,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/sslapitest.c:8039,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8040,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/sslapitest.c:8040,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:8042,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8044,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:8044,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8046,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:8046,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8048,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:8048,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8050,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:8050,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8052,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:8052,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8054,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:8054,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:8058,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8059,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:8059,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8060,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:8060,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/sslapitest.c:8064,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:8064,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8065,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/sslapitest.c:8065,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - bio
    - mfl_codemfl_code
    argTypes:
    - BIO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8075
      start: 8025
    functionDepth: 1
    functionLinenumber: 8025
    functionLinenumberEnd: 8075
    functionName: get_MFL_from_client_hello
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_uint_gt
    - PACKET_remaining
    - TEST_long_gt
    - PACKET_forward
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_size_t_ne
    - TEST_true
    - BIO_get_mem_data
    - PACKET_as_length_prefixed_2
    - PACKET_get_length_prefixed_2
    - memset
    - PACKET_get_1
    - PACKET_get_length_prefixed_1
    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:8092,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8092,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8092,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8097,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/openssl/test/sslapitest.c:8097,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:8101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8102,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:8105,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:8105,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:8106,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:8106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8107,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:8108,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:8109,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:8113,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:8115,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:8115,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8120,1
    - Dst: get_MFL_from_client_hello
      Src: /src/openssl/test/sslapitest.c:8120,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8123,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8129,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - idx_tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8133
      start: 8085
    functionDepth: 5
    functionLinenumber: 8085
    functionLinenumberEnd: 8133
    functionName: test_max_fragment_len_ext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - get_MFL_from_client_hello
    - SSL_new
    - TLS_client_method
    - TEST_ptr
    - BIO_new
    - BIO_free
    - TEST_int_le
    - SSL_connect
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_set_bio
    - create_ssl_ctx_pair
    - SSL_free
    - BIO_s_mem
    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:8142,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8142,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8142,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8143,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8147,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:8147,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8148,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:8148,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8149,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:8149,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8150,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:8150,1
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:8153,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8155,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8155,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8159,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8159,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/sslapitest.c:8163,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8164,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/sslapitest.c:8164,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8167,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:8167,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8171,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:8171,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8175,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8175,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8179,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8180,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8185,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8186,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8187,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8188,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8190
      start: 8136
    functionDepth: 1
    functionLinenumber: 8136
    functionLinenumberEnd: 8190
    functionName: test_pha_key_update
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_true
    - SSL_do_handshake
    - SSL_shutdown
    - SSL_verify_client_post_handshake
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - SSL_CTX_set_min_proto_version
    - SSL_set_verify
    - SSL_key_update
    - SSL_free
    - SSL_CTX_set_post_handshake_auth
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - 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:8203,1
    - Dst: SRP_VBASE_get1_by_user
      Src: /src/openssl/test/sslapitest.c:8209,1
    - Dst: SSL_set_srp_server_param
      Src: /src/openssl/test/sslapitest.c:8215,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/test/sslapitest.c:8225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8227
      start: 8197
    functionDepth: 11
    functionLinenumber: 8197
    functionLinenumberEnd: 8227
    functionName: ssl_srp_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_srp_server_param
    - SRP_VBASE_get1_by_user
    - SRP_user_pwd_free
    - SSL_get_srp_username
    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:8232,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/sslapitest.c:8235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8238,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8238,1
    - Dst: SRP_create_verifier_ex
      Src: /src/openssl/test/sslapitest.c:8241,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8243,1
    - Dst: TXT_DB_read
      Src: /src/openssl/test/sslapitest.c:8250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8251,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:8254,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8255,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:8258,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:8259,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:8260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8263,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8264,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8265,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/test/sslapitest.c:8265,1
    - Dst: TXT_DB_write
      Src: /src/openssl/test/sslapitest.c:8270,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:8277,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:8279,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:8280,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:8281,1
    - Dst: TXT_DB_free
      Src: /src/openssl/test/sslapitest.c:8282,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - userid
    - password
    - filename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8285
      start: 8229
    functionDepth: 6
    functionLinenumber: 8229
    functionLinenumberEnd: 8285
    functionName: create_new_vfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - OPENSSL_free
    - TXT_DB_insert
    - BIO_free
    - TEST_true
    - SRP_create_verifier_ex
    - BIO_new_mem_buf
    - TXT_DB_free
    - TXT_DB_write
    - BIO_new_file
    - OPENSSL_calloc
    - TXT_DB_read
    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:8294,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8295,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8298,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/test/sslapitest.c:8298,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:8302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8303,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:8308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8309,1
    - Dst: sk_SRP_user_pwd_insert
      Src: /src/openssl/test/sslapitest.c:8316,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/test/sslapitest.c:8322,1
    - Dst: BN_free
      Src: /src/openssl/test/sslapitest.c:8323,1
    - Dst: BN_free
      Src: /src/openssl/test/sslapitest.c:8324,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - userid
    - password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8327
      start: 8287
    functionDepth: 6
    functionLinenumber: 8287
    functionLinenumberEnd: 8327
    functionName: create_new_vbase
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - TEST_ptr
    - sk_SRP_user_pwd_insert
    - TEST_true
    - SRP_get_default_gN
    - BN_free
    - SRP_user_pwd_free
    - SRP_create_verifier_BN_ex
    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:8347,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8348,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8352,1
    - Dst: create_new_vbase
      Src: /src/openssl/test/sslapitest.c:8352,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8356,1
    - Dst: create_new_vfile
      Src: /src/openssl/test/sslapitest.c:8356,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8362,1
    - Dst: SRP_VBASE_init
      Src: /src/openssl/test/sslapitest.c:8362,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8366,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8366,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8366,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8367,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8371,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/openssl/test/sslapitest.c:8371,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8372,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8372,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8373,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:8373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8374,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:8374,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8375,1
    - Dst: SSL_CTX_set_srp_username
      Src: /src/openssl/test/sslapitest.c:8375,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8379,1
    - Dst: SSL_CTX_set_srp_password
      Src: /src/openssl/test/sslapitest.c:8379,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8382,1
    - Dst: SSL_CTX_set_srp_password
      Src: /src/openssl/test/sslapitest.c:8382,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8386,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8386,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8390,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8392,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8395,1
    - Dst: SRP_VBASE_free
      Src: /src/openssl/test/sslapitest.c:8402,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8404,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8405,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8406,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8407,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8410
      start: 8340
    functionDepth: 8
    functionLinenumber: 8340
    functionLinenumberEnd: 8410
    functionName: test_srp
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SRP_VBASE_free
    - TEST_true
    - SRP_VBASE_init
    - SSL_CTX_set_srp_username_callback
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - TEST_int_gt
    - TEST_int_eq
    - SRP_VBASE_new
    - create_new_vbase
    - SSL_free
    - SSL_CTX_set_cipher_list
    - create_ssl_ctx_pair
    - create_new_vfile
    - TLS_client_method
    - SSL_CTX_set_srp_password
    - SSL_CTX_set_srp_username
    - create_ssl_objects
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_srp(int tst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8712,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8721,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:8721,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8722,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:8722,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:8723,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8729,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8734,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:8734,1
    - Dst: SSL_state_string
      Src: /src/openssl/test/sslapitest.c:8734,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/sslapitest.c:8745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8749
      start: 8707
    functionDepth: 1
    functionLinenumber: 8707
    functionLinenumberEnd: 8749
    functionName: sslapi_info_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - SSL_in_init
    - TEST_true
    - strcmp
    - SSL_is_server
    - TEST_int_eq
    - SSL_state_string
    - TEST_int_ne
    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:8799,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:8799,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:8805,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/sslapitest.c:8807,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:8811,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8812,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:8812,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8812,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8814,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8814,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8817,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:8817,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:8820,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:8824,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8824,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8825,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:8825,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8827,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8827,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8829,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8837,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8837,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8837,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8838,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8843,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:8843,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/test/sslapitest.c:8850,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/sslapitest.c:8853,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8857,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8857,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8859,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8859,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8861,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:8864,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8865,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8866,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8867,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8868,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8872,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8872,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8874,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:8874,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8875,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8875,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8877,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:8877,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8878,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8884,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8885,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:8886,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8887,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8888,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8890
      start: 8763
    functionDepth: 3
    functionLinenumber: 8763
    functionLinenumberEnd: 8890
    functionName: test_info_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_set_info_callback
    - TEST_mem_eq
    - TEST_true
    - check_early_data_timeout
    - SSL_get1_session
    - SSL_CTX_free
    - setupearly_data_test
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_compress_certs
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - SSL_set_session
    - SSL_SESSION_free
    - ossl_time_now
    - SSL_get_early_data_status
    - SSL_session_reused
    - create_ssl_ctx_pair
    - SSL_CTX_set_dh_auto
    - TLS_client_method
    - SSL_write_early_data
    - SSL_shutdown
    - SSL_CTX_set_info_callback
    - TEST_size_t_eq
    - strlen
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_info_callback(int tst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8902,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8902,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8902,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8903,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8909,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8909,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:8909,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:8910,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8925,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8925,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8926,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8926,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8935,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8935,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8937,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8937,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8941,1
    - Dst: SSL_pending
      Src: /src/openssl/test/sslapitest.c:8941,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8942,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/sslapitest.c:8942,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8943,1
    - Dst: SSL_pending
      Src: /src/openssl/test/sslapitest.c:8943,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8944,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/sslapitest.c:8944,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8945,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:8945,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8946,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8947,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:8947,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8948,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8949,1
    - Dst: SSL_pending
      Src: /src/openssl/test/sslapitest.c:8949,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8950,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/sslapitest.c:8950,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8956,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8957,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8958,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8959,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8962
      start: 8892
    functionDepth: 1
    functionLinenumber: 8892
    functionLinenumberEnd: 8962
    functionName: test_ssl_pending
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - TLS_client_method
    - DTLS_client_method
    - TEST_false
    - SSL_has_pending
    - SSL_pending
    - DTLS_server_method
    - SSL_CTX_set_cipher_list
    - TEST_true
    - TEST_int_eq
    - SSL_read_ex
    - TLS_server_method
    - SSL_CTX_free
    - TEST_size_t_eq
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ssl_pending(int tst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/sslapitest.c:9057,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:9060,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9062,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:9073,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9073,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9074,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:9077,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9077,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9078,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9082,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9082,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9082,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9083,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9089,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:9089,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9092,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:9092,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9094,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:9094,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9097,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:9097,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9101,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9101,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9106,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9106,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9110,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9115,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/openssl/test/sslapitest.c:9115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9116,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:9116,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:9117,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9124,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9125,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9126,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9127,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/sslapitest.c:9128,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 2
    argNames:
    - tst
    - clnt
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9131
      start: 9051
    functionDepth: 4
    functionLinenumber: 9051
    functionLinenumberEnd: 9131
    functionName: int_test_ssl_get_shared_ciphers
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_shared_ciphers
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - SSL_CTX_set_cipher_list
    - strcmp
    - create_ssl_ctx_pair
    - SSL_CTX_new_ex
    - TLS_client_method
    - TEST_info
    - create_ssl_objects
    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:9135,1
    - Dst: int_test_ssl_get_shared_ciphers
      Src: /src/openssl/test/sslapitest.c:9136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9137
      start: 9133
    functionDepth: 5
    functionLinenumber: 9133
    functionLinenumberEnd: 9137
    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:9148,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9148,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:9149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9150
      start: 9144
    functionDepth: 1
    functionLinenumber: 9144
    functionLinenumberEnd: 9150
    functionName: gen_tick_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_SESSION_set1_ticket_appdata
    - 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:9166,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9170,1
    - Dst: SSL_SESSION_get0_ticket_appdata
      Src: /src/openssl/test/sslapitest.c:9170,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:9172,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:9172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9173,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:9173,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: 9193
      start: 9152
    functionDepth: 1
    functionLinenumber: 9152
    functionLinenumberEnd: 9193
    functionName: dec_tick_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - TEST_int_eq
    - TEST_size_t_eq
    - strlen
    - memcmp
    - SSL_SESSION_get0_ticket_appdata
    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:9211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9212,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/sslapitest.c:9214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9215,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:9216,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9220,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9221,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/sslapitest.c:9224,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/sslapitest.c:9225,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:9231,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/sslapitest.c:9232,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: 9235
      start: 9196
    functionDepth: 12
    functionLinenumber: 9196
    functionLinenumberEnd: 9235
    functionName: tick_key_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_MD_fetch
    - EVP_CIPHER_fetch
    - memset
    - EVP_CIPHER_free
    - EVP_MD_free
    - HMAC_Init_ex
    - EVP_CipherInit_ex
    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:9253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9254,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9257,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9258,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/sslapitest.c:9259,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/sslapitest.c:9261,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/sslapitest.c:9263,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/sslapitest.c:9264,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:9270,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: 9273
      start: 9238
    functionDepth: 5
    functionLinenumber: 9238
    functionLinenumberEnd: 9273
    functionName: tick_key_evp_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_CIPHER_fetch
    - memset
    - EVP_CIPHER_free
    - EVP_CipherInit_ex
    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:9355,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9355,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9355,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9356,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9367,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:9367,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9370,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/sslapitest.c:9370,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9375,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/sslapitest.c:9375,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9379,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_cb
      Src: /src/openssl/test/sslapitest.c:9379,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9384,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9386,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9397,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9398,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:9403,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9404,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9405,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9406,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9407,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9411,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9411,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9413,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:9413,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9414,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9414,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9421,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:9421,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9424,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:9424,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9435,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:9441,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9442,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9443,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9444,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9445,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 89
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9448
      start: 9298
    functionDepth: 1
    functionLinenumber: 9298
    functionLinenumberEnd: 9448
    functionName: test_ticket_callbacks
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - SSL_CTX_set_session_cache_mode
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - SSL_CTX_set_session_ticket_cb
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_shutdown
    - SSL_CTX_set_tlsext_ticket_key_cb
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_ticket_callbacks(int tst)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    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: 9465
      start: 9455
    functionDepth: 0
    functionLinenumber: 9455
    functionLinenumberEnd: 9465
    functionName: dec_tick_abort_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_TICKET_RETURN
    signature: "SSL_TICKET_RETURN dec_tick_abort_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: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9485,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9485,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9485,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9486,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9491,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:9491,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9495,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/sslapitest.c:9495,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9502,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9502,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9504,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9504,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:9508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9509,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9512,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9513,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9514,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9515,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9524,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/sslapitest.c:9524,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9528,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9528,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9530,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:9530,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9534,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9534,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:9541,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9542,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9543,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9544,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9545,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9548
      start: 9474
    functionDepth: 1
    functionLinenumber: 9474
    functionLinenumberEnd: 9548
    functionName: test_ticket_abort_session_leak
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false
    - TEST_ptr
    - SSL_CTX_set_session_ticket_cb
    - TEST_true
    - SSL_shutdown
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_CTX_set_session_cache_mode
    - TLS_server_method
    - SSL_get1_session
    - SSL_CTX_free
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ticket_abort_session_leak(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9567,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9567,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9567,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9568,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:9573,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9575,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9575,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9579,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9579,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:9583,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/sslapitest.c:9584,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9586,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:9586,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9589,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9591,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9591,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9597,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9598,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9599,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9600,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9603
      start: 9559
    functionDepth: 1
    functionLinenumber: 9559
    functionLinenumberEnd: 9603
    functionName: test_incorrect_shutdown
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false
    - TEST_true
    - SSL_CTX_set_options
    - TEST_int_eq
    - SSL_read
    - TLS_server_method
    - SSL_CTX_free
    - SSL_free
    - SSL_get_error
    - SSL_get_rbio
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - BIO_set_mem_eof_return
    linkageType: ''
    returnType: int
    signature: int test_incorrect_shutdown(int tst)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9637,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9637,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9637,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9638,1
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:9646,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9648,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9648,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9653,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9653,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9655,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9655,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9656,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9656,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9658,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9658,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9660,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9660,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9661,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9661,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9665,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9665,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9673,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9674,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9676,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/sslapitest.c:9676,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9682,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:9682,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9685,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:9685,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/sslapitest.c:9689,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9690,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/sslapitest.c:9690,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9694,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:9694,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9696,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9696,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9700,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9700,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:9702,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9703,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:9703,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9704,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9704,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:9706,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9707,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:9707,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9713,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:9713,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9722,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9722,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9727,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:9727,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9728,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9728,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9729,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9729,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9730,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9730,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9731,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9731,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9739,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9739,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9740,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9740,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9741,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9741,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9751,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9751,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9752,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9752,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9759,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9760,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9761,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9762,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 75
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9765
      start: 9618
    functionDepth: 1
    functionLinenumber: 9618
    functionLinenumberEnd: 9765
    functionName: test_shutdown
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 3
    functionsReached:
    - SSL_write
    - TEST_true
    - SSL_read_ex
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_SESSION_is_resumable
    - memcmp
    - SSL_get_session
    - SSL_verify_client_post_handshake
    - TEST_int_eq
    - SSL_CTX_set_post_handshake_auth
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - create_bare_ssl_connection
    - SSL_set_verify
    - SSL_key_update
    - create_ssl_ctx_pair
    - TEST_ptr_ne
    - TLS_client_method
    - SSL_shutdown
    - SSL_get_shutdown
    - TEST_size_t_eq
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_shutdown(int tst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:9776,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:9776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9778,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9781,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9781,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9781,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9782,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9787,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9787,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9791,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9791,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9795,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9795,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:9798,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9799,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:9799,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:9803,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9807,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9807,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9808,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9808,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9812,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9812,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9813,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9813,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:9816,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9820,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9820,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9824,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9824,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9828,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9828,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9833,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9834,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9835,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9836,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9837,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9838,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9841
      start: 9771
    functionDepth: 5
    functionLinenumber: 9771
    functionLinenumberEnd: 9841
    functionName: test_async_shutdown
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_ptr
    - BIO_new
    - bio_s_always_retry
    - BIO_free
    - SSL_set0_wbio
    - TEST_true
    - SSL_shutdown
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - BIO_up_ref
    - SSL_free
    - SSL_get_error
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: int test_async_shutdown(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:9853,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/sslapitest.c:9853,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9857,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9860,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9860,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9860,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9861,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9866,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9866,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9870,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9870,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9873,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/sslapitest.c:9873,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9877,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:9877,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9879,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslapitest.c:9879,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9880,1
    - Dst: BIO_eof
      Src: /src/openssl/test/sslapitest.c:9880,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9883,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslapitest.c:9883,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9884,1
    - Dst: BIO_eof
      Src: /src/openssl/test/sslapitest.c:9884,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9889,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:9893,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9894,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9895,1
    - Dst: BIO_method_type
      Src: /src/openssl/test/sslapitest.c:9895,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9897,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/sslapitest.c:9897,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9902,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslapitest.c:9902,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9903,1
    - Dst: BIO_eof
      Src: /src/openssl/test/sslapitest.c:9903,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/sslapitest.c:9908,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9909,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9910,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9911,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9912,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9914
      start: 9848
    functionDepth: 5
    functionLinenumber: 9848
    functionLinenumberEnd: 9914
    functionName: test_ssl_bio_eof
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - BIO_set_ssl
    - SSL_CTX_free
    - BIO_read_ex
    - TLS_server_method
    - create_ssl_connection
    - BIO_f_ssl
    - BIO_new
    - TEST_int_eq
    - BIO_method_type
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - SSL_get_rbio
    - create_ssl_ctx_pair
    - BIO_set_mem_eof_return
    - BIO_eof
    - TLS_client_method
    - BIO_free_all
    - SSL_shutdown
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_ssl_bio_eof(int tst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:9922,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:9929,1
    - Dst: BIO_s_file
      Src: /src/openssl/test/sslapitest.c:9929,1
    - Dst: BIO_read_filename
      Src: /src/openssl/test/sslapitest.c:9930,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/sslapitest.c:9933,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/sslapitest.c:9934,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/sslapitest.c:9938,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/sslapitest.c:9940,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:9949,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9950,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:9951,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: 9953
      start: 9919
    functionDepth: 5
    functionLinenumber: 9919
    functionLinenumberEnd: 9953
    functionName: load_chain
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - OPENSSL_free
    - X509_free
    - BIO_free
    - sk_X509_push
    - BIO_read_filename
    - X509_new_ex
    - BIO_s_file
    - test_mk_file_path
    - PEM_read_bio_PrivateKey_ex
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:9960,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9972,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/sslapitest.c:9972,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9975,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:9975,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9976,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:9976,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9978,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/sslapitest.c:9978,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/sslapitest.c:9985,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:9987,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/sslapitest.c:9988,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9989,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9990,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9990,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9991,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9991,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9992,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9997,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9998,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9998,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9999,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9999,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10000,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:10000,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10002,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:10002,1
    - Dst: SSL_check_chain
      Src: /src/openssl/test/sslapitest.c:10009,1
    - Dst: SSL_use_cert_and_key
      Src: /src/openssl/test/sslapitest.c:10018,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:10027,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:10028,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:10029,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/sslapitest.c:10030,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 44
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 9955
    functionDepth: 4
    functionLinenumber: 9955
    functionLinenumberEnd: 10032
    functionName: cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - SSL_use_certificate_file
    - SSL_check_private_key
    - TEST_ptr
    - load_chain
    - SSL_check_chain
    - sk_X509_new_null
    - X509_free
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - SSL_set_SSL_CTX
    - SSL_version
    - STACK_OF
    - EVP_PKEY_free
    - fips_provider_version_ge
    - SSL_use_PrivateKey_file
    - SSL_use_cert_and_key
    linkageType: ''
    returnType: int
    signature: int cert_cb(SSL *s, void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10056,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10056,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10056,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10057,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10071,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10071,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10072,1
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/openssl/test/sslapitest.c:10076,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10078,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10078,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10083,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10083,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10086,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10086,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10095,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10095,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10097,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10097,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10105,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10105,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10107,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10107,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10113,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10116,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10123,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10124,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10125,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10126,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10127,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 2
    argNames:
    - prot
    - tst
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10130
      start: 10044
    functionDepth: 1
    functionLinenumber: 10044
    functionLinenumberEnd: 10130
    functionName: test_cert_cb_int
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_CTX_set_cert_cb
    - TLS_client_method
    - TEST_ptr
    - TEST_true
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - SSL_set1_sigalgs_list
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:10138,1
    - Dst: test_cert_cb_int
      Src: /src/openssl/test/sslapitest.c:10141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10145
      start: 10133
    functionDepth: 2
    functionLinenumber: 10133
    functionLinenumberEnd: 10145
    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:10155,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/sslapitest.c:10155,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:10158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10162,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/sslapitest.c:10162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10163,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/sslapitest.c:10163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10164,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:10164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10165,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/sslapitest.c:10165,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:10173,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:10174,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:10177,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:10178,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:10179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - x509
    - pkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10181
      start: 10147
    functionDepth: 5
    functionLinenumber: 10147
    functionLinenumberEnd: 10181
    functionName: client_cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - SSL_get0_peer_certificate
    - TEST_ptr
    - X509_free
    - BIO_free
    - X509_new_ex
    - PEM_read_bio_PrivateKey_ex
    - BIO_new_file
    - 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:10198,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10198,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10198,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10199,1
    - Dst: SSL_CTX_set_client_cert_cb
      Src: /src/openssl/test/sslapitest.c:10210,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:10211,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10215,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10215,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10217,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10217,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10224,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10225,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10226,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10230
      start: 10183
    functionDepth: 1
    functionLinenumber: 10183
    functionLinenumberEnd: 10230
    functionName: test_client_cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_client_cert_cb
    - TLS_client_method
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_client_cert_cb(int tst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:10248,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:10251,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/sslapitest.c:10252,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10253,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10254,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:10254,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10262,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10262,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10262,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10263,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:10269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10272,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:10272,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10273,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10273,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10273,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10274,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10274,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10274,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10275,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:10275,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10276,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10276,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10276,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10277,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10277,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10277,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/test/sslapitest.c:10280,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/test/sslapitest.c:10281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10285,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:10285,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10286,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10286,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10286,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10287,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10287,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10288,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:10288,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10289,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10289,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10289,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10290,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:10290,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:10290,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/test/sslapitest.c:10293,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/test/sslapitest.c:10294,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10298,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10298,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10300,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10300,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/sslapitest.c:10308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10312,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/sslapitest.c:10312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10313,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:10313,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:10313,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10316,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:10316,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:10316,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10320,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/sslapitest.c:10329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10331,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/sslapitest.c:10331,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10332,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:10332,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:10332,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10335,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:10335,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:10335,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10343,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10344,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10345,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10346,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:10347,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/sslapitest.c:10348,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/sslapitest.c:10349,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/sslapitest.c:10350,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 58
    argCount: 2
    argNames:
    - prot
    - tst
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10353
      start: 10240
    functionDepth: 2
    functionLinenumber: 10240
    functionLinenumberEnd: 10353
    functionName: test_ca_names_int
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - TEST_ptr_null
    - SSL_CTX_free
    - X509_NAME_dup
    - TLS_server_method
    - create_ssl_connection
    - X509_NAME_cmp
    - SSL_CTX_set_verify
    - sk_X509_NAME_push
    - TEST_int_eq
    - STACK_OF
    - SSL_CTX_set0_CA_list
    - SSL_free
    - SSL_get0_peer_CA_list
    - SSL_CTX_set_client_CA_list
    - create_ssl_ctx_pair
    - sk_X509_NAME_new_null
    - X509_NAME_new
    - TLS_client_method
    - X509_NAME_free
    - sk_X509_NAME_num
    - sk_X509_NAME_pop_free
    - OSSL_NELEM
    - X509_NAME_add_entry_by_txt
    - sk_X509_NAME_value
    - create_ssl_objects
    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:10361,1
    - Dst: test_ca_names_int
      Src: /src/openssl/test/sslapitest.c:10364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10368
      start: 10356
    functionDepth: 3
    functionLinenumber: 10356
    functionLinenumberEnd: 10368
    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:10390,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10391,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/sslapitest.c:10412,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:10414,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:10417,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/sslapitest.c:10420,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10422,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10422,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10427,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/sslapitest.c:10427,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10430,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10430,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:10435,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10436,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:10436,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10439,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10439,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10442,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:10442,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10443,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10448,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:10448,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:10453,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10458,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10459,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10460,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10461,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10464
      start: 10381
    functionDepth: 8
    functionLinenumber: 10381
    functionLinenumberEnd: 10464
    functionName: test_multiblock_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_true
    - SSL_read_ex
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_free
    - SSL_write_ex
    - RAND_bytes
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_max_send_fragment
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - TEST_size_t_eq
    - SSL_set_options
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_multiblock_write(int test_index)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/sslapitest.c:10480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10483,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10483,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:10483,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10484,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:10484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10485,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:10485,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10486,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:10486,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:10491,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:10493,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:10495,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10497,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10497,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10498,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10498,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10499,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10503,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10504,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10505,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:10508,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:10508,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:10509,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:10509,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:10510,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:10510,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:10513,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:10513,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:10514,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:10514,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:10515,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:10515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10521,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:10525,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:10526,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:10527,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:10528,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:10532,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10533,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10534,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10535,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:10539,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10540,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10542,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:10546,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10547,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10548,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10549,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10553,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10553,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10554,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10554,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10555,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10559,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10560,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10561,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:10565,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10566,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10567,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:10568,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:10571,1
    - Dst: SSL_CTX_get_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:10571,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:10575,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:10575,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10576,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:10576,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:10577,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/test/sslapitest.c:10577,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10582,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10583,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10584,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10585,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 63
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10587
      start: 10467
    functionDepth: 1
    functionLinenumber: 10467
    functionLinenumberEnd: 10587
    functionName: test_session_timeout
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_new
    - TEST_ptr
    - SSL_SESSION_set_time_ex
    - TEST_ptr_null
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_free
    - TEST_ptr_eq
    - TEST_int_eq
    - SSL_SESSION_set_timeout
    - SSL_CTX_get_session_cache_mode
    - SSL_CTX_flush_sessions_ex
    - TLS_method
    - SSL_CTX_add_session
    - SSL_SESSION_free
    - memset
    - SSL_SESSION_get_time_ex
    - SSL_CTX_new_ex
    - TEST_int_ne
    - TEST_time_t_ne
    - time
    linkageType: ''
    returnType: int
    signature: int test_session_timeout(int test)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:10608,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:10613,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10616,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10616,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10616,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10617,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10621,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:10621,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/test/sslapitest.c:10624,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/test/sslapitest.c:10627,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10629,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10629,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10633,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10633,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:10637,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10638,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10645,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:10645,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10652,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10653,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10654,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10655,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10663,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10663,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10667,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10667,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:10674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10675,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10683,1
    - Dst: CRYPTO_GET_REF
      Src: /src/openssl/test/sslapitest.c:10683,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/sslapitest.c:10684,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:10686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10687,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10690,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10691,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10692,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10693,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10696,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10696,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10700,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:10700,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10703,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10703,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10709,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10710,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10711,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10712,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10713,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10716
      start: 10597
    functionDepth: 1
    functionLinenumber: 10597
    functionLinenumberEnd: 10716
    functionName: test_session_cache_overflow
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - CRYPTO_GET_REF
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_sess_set_cache_size
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_session
    - SSL_SESSION_set_timeout
    - SSL_free
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_CTX_sess_set_get_cb
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - SSL_shutdown
    - TEST_int_ge
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_session_cache_overflow(int idx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10748,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10748,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10748,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10749,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10754,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10754,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10759,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:10759,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10765,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:10765,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10770,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10770,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10773,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10773,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10775,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10775,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10782,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10782,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:10783,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:10783,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10784,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:10784,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10785,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10785,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10788,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10789,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10792,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10792,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10796,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:10796,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10802,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:10802,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10811,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10811,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10823,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10823,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10828,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:10828,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10842,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10842,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10848,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10848,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10851,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:10851,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10852,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:10852,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10853,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10853,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10856,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10856,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10864,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10865,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10866,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10867,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10868,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 79
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10871
      start: 10731
    functionDepth: 1
    functionLinenumber: 10731
    functionLinenumberEnd: 10871
    functionName: test_servername
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TEST_str_eq
    - TLS_server_method
    - create_ssl_connection
    - SSL_SESSION_is_resumable
    - TEST_int_eq
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TEST_ptr_ne
    - TLS_client_method
    - SSL_get_servername
    - SSL_shutdown
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_servername(int tst)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10878,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10878,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10878,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10881,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10881,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10885,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10886,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10887,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10890,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10890,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10894,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10895,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10896,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:10899,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10899,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10904,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10904,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:10910,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10910,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10915,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10915,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10919,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10920,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10921,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10927,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10929
      start: 10873
    functionDepth: 1
    functionLinenumber: 10873
    functionLinenumberEnd: 10929
    functionName: test_unknown_sigalgs_groups
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - TEST_ptr
    - TEST_int_le
    - SSL_CTX_set1_groups_list
    - TEST_int_gt
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_CTX_set1_sigalgs_list
    - TEST_size_t_eq
    - TLS_server_method
    - SSL_CTX_set1_client_sigalgs_list
    linkageType: ''
    returnType: int
    signature: int test_unknown_sigalgs_groups(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10938,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10938,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10938,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:10942,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10943,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10943,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10944,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10947,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10947,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:10948,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10949,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10951,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10957,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10957,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10958,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10959,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10966,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10968
      start: 10932
    functionDepth: 1
    functionLinenumber: 10932
    functionLinenumberEnd: 10968
    functionName: test_configuration_of_groups
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - TEST_ptr
    - SSL_CTX_set1_groups_list
    - TEST_int_gt
    - TEST_int_eq
    - SSL_CTX_free
    - TEST_size_t_eq
    - TEST_size_t_gt
    - TLS_server_method
    - defined
    linkageType: ''
    returnType: int
    signature: int test_configuration_of_groups(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/sslapitest.c:10988,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10996,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11000,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/sslapitest.c:11000,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:11004,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11005,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11015,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:11015,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11019,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:11019,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11022,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:11022,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11024,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:11024,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11037,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11037,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11038,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11038,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11039,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11039,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11043,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11043,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11045,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11045,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11051,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11051,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11051,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11052,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11059,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11059,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11059,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11060,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11069,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11069,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11073,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11073,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:11079,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:11082,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:11087,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:11088,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11095,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:11095,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11098,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:11098,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11102,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:11102,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11105,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11105,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11109,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11109,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/openssl/test/sslapitest.c:11113,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11143,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11145,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11146,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/test/sslapitest.c:11146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11147,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11148,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11149,1
    - Dst: SSL_get0_shared_sigalg
      Src: /src/openssl/test/sslapitest.c:11149,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11150,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11151,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11152,1
    - Dst: SSL_get0_sigalg
      Src: /src/openssl/test/sslapitest.c:11152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11153,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11154,1
    - Dst: filter_provider_check_clean_finish
      Src: /src/openssl/test/sslapitest.c:11157,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11160,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11161,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11162,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11163,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11164,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/sslapitest.c:11165,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 109
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11168
      start: 10983
    functionDepth: 4
    functionLinenumber: 10983
    functionLinenumberEnd: 11168
    functionName: test_sigalgs_available
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - filter_provider_check_clean_finish
    - SSL_CTX_use_certificate_file
    - TEST_true
    - SSL_get_shared_sigalgs
    - SSL_CTX_free
    - TEST_str_eq
    - TLS_server_method
    - create_ssl_connection
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - filter_provider_set_filter
    - OSSL_LIB_CTX_free
    - TEST_int_gt
    - SSL_get0_sigalg
    - TEST_int_eq
    - SSL_CTX_set1_sigalgs_list
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    - SSL_free
    - SSL_CTX_set1_groups_list
    - SSL_CTX_set_cipher_list
    - SSL_CTX_check_private_key
    - create_ssl_ctx_pair
    - SSL_get0_peer_signature_name
    - SSL_CTX_new_ex
    - TLS_client_method
    - SSL_get0_shared_sigalg
    - SSL_CTX_use_PrivateKey_file
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_sigalgs_available(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:11181,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:11183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11186,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11189,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11189,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11189,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11190,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11194,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11194,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11199,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11199,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11201,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11201,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11204,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11204,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11207,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/test/sslapitest.c:11208,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/test/sslapitest.c:11208,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11211,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:11211,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11212,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:11212,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11218,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11219,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11220,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11221,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11222,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11223,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11226
      start: 11176
    functionDepth: 4
    functionLinenumber: 11176
    functionLinenumberEnd: 11226
    functionName: test_pluggable_group
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get0_group_name
    - TLS_client_method
    - OSSL_PROVIDER_load
    - TEST_ptr
    - SSL_group_to_name
    - SSL_set1_groups_list
    - OSSL_PROVIDER_unload
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - TEST_str_eq
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    - SSL_get_shared_group
    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:11235,1
    - Dst: X509_new
      Src: /src/openssl/test/sslapitest.c:11238,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11243,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11244,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/sslapitest.c:11244,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11245,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/sslapitest.c:11245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11247,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11248,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/sslapitest.c:11248,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/test/sslapitest.c:11248,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11249,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/sslapitest.c:11249,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/test/sslapitest.c:11249,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11250,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/sslapitest.c:11250,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/test/sslapitest.c:11250,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11251,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/test/sslapitest.c:11251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11252,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/sslapitest.c:11252,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11253,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:11253,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11255,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:11255,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11257,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:11257,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11259,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/test/sslapitest.c:11259,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11260,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/test/sslapitest.c:11260,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11261,1
    - Dst: X509_sign
      Src: /src/openssl/test/sslapitest.c:11261,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/sslapitest.c:11261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11262,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:11262,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11263,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/sslapitest.c:11263,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11264,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:11264,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11265,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/test/sslapitest.c:11265,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:11268,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:11269,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/sslapitest.c:11270,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/sslapitest.c:11271,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:11272,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:11273,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 10
    argCount: 3
    argNames:
    - idx
    - certfilename
    - privkeyfilename
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11275
      start: 11233
    functionDepth: 7
    functionLinenumber: 11233
    functionLinenumberEnd: 11275
    functionName: create_cert_key
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_gmtime_adj
    - X509_free
    - TEST_true
    - EVP_sha1
    - EVP_PKEY_CTX_new_from_name
    - BIO_new_file
    - X509_set_subject_name
    - PEM_write_bio_PrivateKey
    - TEST_int_gt
    - X509_set_pubkey
    - X509_get_serialNumber
    - X509_getm_notBefore
    - X509_getm_notAfter
    - BIO_free
    - EVP_PKEY_generate
    - X509_sign
    - EVP_PKEY_free
    - ASN1_INTEGER_set
    - EVP_PKEY_CTX_free
    - X509_NAME_new
    - EVP_PKEY_keygen_init
    - X509_NAME_free
    - X509_new
    - PEM_write_bio_X509
    - X509_set_issuer_name
    - X509_NAME_add_entry_by_txt
    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:11293,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:11294,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11311,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11312,1
    - Dst: create_cert_key
      Src: /src/openssl/test/sslapitest.c:11312,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11315,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11315,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11315,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11316,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:11323,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11325,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:11327,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/test/sslapitest.c:11328,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11329,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:11329,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11330,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:11330,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11331,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/test/sslapitest.c:11331,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:11332,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:11335,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11337,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:11337,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11340,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:11340,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11346,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:11346,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11349,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11349,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11355,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/openssl/test/sslapitest.c:11355,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11356,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/openssl/test/sslapitest.c:11356,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11361,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11361,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11362,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11362,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11370,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11370,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sslapitest.c:11374,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/sslapitest.c:11374,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11377,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/test/sslapitest.c:11377,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11379,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11385,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11386,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11387,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11388,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11389,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11390,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 62
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11393
      start: 11287
    functionDepth: 8
    functionLinenumber: 11287
    functionLinenumberEnd: 11393
    functionName: test_pluggable_signature
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CONF_CTX_set_ssl_ctx
    - TEST_ptr
    - SSL_CTX_use_certificate_file
    - TEST_true
    - SSL_CONF_CTX_new
    - SSL_CTX_free
    - SSL_CONF_cmd
    - TEST_str_eq
    - TLS_server_method
    - create_ssl_connection
    - OSSL_PROVIDER_load
    - SSL_set1_groups_list
    - TEST_int_gt
    - TEST_int_eq
    - SSL_CONF_CTX_free
    - SSL_CONF_CTX_finish
    - OSSL_PROVIDER_unload
    - SSL_free
    - create_cert_key
    - SSL_CTX_check_private_key
    - create_ssl_ctx_pair
    - SSL_get0_peer_signature_name
    - SSL_CONF_CTX_set_flags
    - TLS_client_method
    - SSL_CTX_use_PrivateKey_file
    - SSL_get_verify_result
    - TEST_long_eq
    - SSL_set1_server_cert_type
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_pluggable_signature(int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11404,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11404,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11404,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11405,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11411,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11411,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11415,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11415,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11416,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11416,1
    - Dst: SSL_dup
      Src: /src/openssl/test/sslapitest.c:11419,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:11420,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11421,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11422,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:11422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11423,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/sslapitest.c:11425,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:11428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11429,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11429,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:11429,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:11431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11434,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:11436,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11439,1
    - Dst: SSL_get_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11439,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11440,1
    - Dst: SSL_get_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11440,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11443,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11443,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11446,1
    - Dst: SSL_dup
      Src: /src/openssl/test/sslapitest.c:11447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11448,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11450,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11456,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11457,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11458,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11459,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11460,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11463
      start: 11397
    functionDepth: 2
    functionLinenumber: 11397
    functionLinenumberEnd: 11463
    functionName: test_ssl_dup
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - BIO_up_ref
    - TLS_server_method
    - TEST_ptr_eq
    - create_ssl_connection
    - SSL_get_wbio
    - SSL_set_max_proto_version
    - TEST_int_eq
    - SSL_free
    - SSL_set0_wbio
    - SSL_get_min_proto_version
    - SSL_set0_rbio
    - SSL_get_max_proto_version
    - SSL_get_rbio
    - create_ssl_ctx_pair
    - TEST_ptr_ne
    - SSL_dup
    - TLS_client_method
    - SSL_set_min_proto_version
    - create_ssl_objects
    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: 11479
      start: 11465
    functionDepth: 0
    functionLinenumber: 11465
    functionLinenumberEnd: 11479
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11493,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11493,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11493,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11494,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11501,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11501,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11506,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11506,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11507,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11507,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11510,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11510,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11513,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:11513,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11516,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11520,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11520,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11528,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/openssl/test/sslapitest.c:11528,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11535,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/openssl/test/sslapitest.c:11535,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11539,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11539,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11540,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11540,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11541,1
    - Dst: SSL_set_session_secret_cb
      Src: /src/openssl/test/sslapitest.c:11541,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11543,1
    - Dst: SSL_set_session_secret_cb
      Src: /src/openssl/test/sslapitest.c:11543,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11545,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:11545,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:11553,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:11553,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11556,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/openssl/test/sslapitest.c:11556,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11559,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11559,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11563,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:11563,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11564,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:11564,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:11568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11569,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/sslapitest.c:11571,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:11573,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:11579,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:11580,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11581,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11582,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11583,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11584,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 67
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11587
      start: 11484
    functionDepth: 1
    functionLinenumber: 11484
    functionLinenumberEnd: 11587
    functionName: test_session_secret_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_set_max_proto_version
    - TEST_int_le
    - SSL_SESSION_set1_id
    - SSL_free
    - SSL_set_session_secret_cb
    - SSL_SESSION_get_id
    - shutdown_ssl_connection
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_connect
    - SSL_set_min_proto_version
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_session_secret_cb(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/openssl/test/sslapitest.c:11603,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11604,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/sslapitest.c:11607,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11608,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11609,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/sslapitest.c:11609,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/sslapitest.c:11612,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11613,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11614,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/sslapitest.c:11614,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11617,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/test/sslapitest.c:11617,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/sslapitest.c:11622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11624,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/sslapitest.c:11624,1
    - Dst: BN_free
      Src: /src/openssl/test/sslapitest.c:11632,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/sslapitest.c:11633,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/sslapitest.c:11634,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/sslapitest.c:11635,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/sslapitest.c:11638,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11642
      start: 11594
    functionDepth: 6
    functionLinenumber: 11594
    functionLinenumberEnd: 11642
    functionName: get_tmp_dh_params
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_get_rfc3526_prime_2048
    - TEST_ptr
    - EVP_PKEY_up_ref
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_uint
    - EVP_PKEY_CTX_free
    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:11648,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11651,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/test/sslapitest.c:11660,1
    - Dst: DH_free
      Src: /src/openssl/test/sslapitest.c:11661,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:11663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - is_export
    - keylen
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11666
      start: 11646
    functionDepth: 7
    functionLinenumber: 11646
    functionLinenumberEnd: 11666
    functionName: tmp_dh_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - get_tmp_dh_params
    - TEST_ptr
    - DH_free
    - EVP_PKEY_free
    - EVP_PKEY_get1_DH
    linkageType: ''
    returnType: DH
    signature: DH *tmp_dh_callback(SSL *s, int is_export, int keylen)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:11702,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11704,1
    - Dst: get_tmp_dh_params
      Src: /src/openssl/test/sslapitest.c:11708,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11709,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/test/sslapitest.c:11714,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11715,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11720,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11720,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11720,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11721,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11728,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:11728,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11733,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/test/sslapitest.c:11733,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11739,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/openssl/test/sslapitest.c:11739,1
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/openssl/test/sslapitest.c:11742,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11746,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11746,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11751,1
    - Dst: SSL_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:11751,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11755,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/openssl/test/sslapitest.c:11755,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11761,1
    - Dst: SSL_set_tmp_dh
      Src: /src/openssl/test/sslapitest.c:11761,1
    - Dst: SSL_set_tmp_dh_callback
      Src: /src/openssl/test/sslapitest.c:11764,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11768,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11768,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11769,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11769,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11770,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11770,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11772,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11772,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11779,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11779,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11790,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11791,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11792,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11793,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:11794,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11795,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 74
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11798
      start: 11686
    functionDepth: 7
    functionLinenumber: 11686
    functionLinenumberEnd: 11798
    functionName: test_set_tmp_dh
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_dh_auto
    - get_tmp_dh_params
    - TEST_ptr
    - TEST_true
    - SSL_set_tmp_dh_callback
    - SSL_CTX_free
    - SSL_CTX_set_tmp_dh
    - TLS_server_method
    - create_ssl_connection
    - OSSL_PROVIDER_load
    - SSL_set_max_proto_version
    - SSL_set1_groups_list
    - TEST_int_eq
    - SSL_CTX_set_tmp_dh_callback
    - OSSL_PROVIDER_unload
    - SSL_free
    - SSL_set0_tmp_dh_pkey
    - SSL_CTX_set0_tmp_dh_pkey
    - SSL_set_cipher_list
    - EVP_PKEY_free
    - create_ssl_ctx_pair
    - SSL_CTX_set_dh_auto
    - TLS_client_method
    - SSL_set_min_proto_version
    - EVP_PKEY_get1_DH
    - create_ssl_objects
    - SSL_set_tmp_dh
    linkageType: ''
    returnType: int
    signature: int test_set_tmp_dh(int idx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:11805,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11806,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11806,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11807,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11807,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11815,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11818,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:11831,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:11832,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:11870,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11874,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11874,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11881,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11881,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11885,1
    - Dst: SSL_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:11885,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11886,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11886,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11887,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11887,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11888,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11888,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11889,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11889,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11891,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:11891,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:11899,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:11899,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:11900,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:11900,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11903,1
    - Dst: SSL_get_tmp_key
      Src: /src/openssl/test/sslapitest.c:11903,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:11905,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/sslapitest.c:11905,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11908,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11908,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11914,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11915,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11916,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11917,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:11918,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:11919,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 89
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11922
      start: 11803
    functionDepth: 4
    functionLinenumber: 11803
    functionLinenumberEnd: 11922
    functionName: test_dh_auto
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_dh_auto
    - TEST_ptr
    - EVP_PKEY_get_bits
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - OSSL_PROVIDER_load
    - SSL_set_max_proto_version
    - TEST_int_le
    - SSL_CTX_set_security_level
    - SSL_set1_groups_list
    - TEST_int_gt
    - OSSL_PROVIDER_unload
    - SSL_free
    - SSL_accept
    - SSL_set_cipher_list
    - EVP_PKEY_free
    - create_ssl_ctx_pair
    - SSL_CTX_new_ex
    - TLS_client_method
    - SSL_connect
    - SSL_set_min_proto_version
    - TEST_size_t_eq
    - create_ssl_objects
    - SSL_get_tmp_key
    linkageType: ''
    returnType: int
    signature: int test_dh_auto(int idx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11930,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11930,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11931,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11931,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11937,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11937,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:12002,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12006,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12006,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12013,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12013,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12017,1
    - Dst: SSL_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:12017,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12018,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:12018,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12019,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:12019,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12020,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12020,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12021,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12021,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12022,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:12022,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12023,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:12023,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12026,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12027,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12039,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/sslapitest.c:12040,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:12040,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12046,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12047,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12048,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12049,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 99
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12052
      start: 11928
    functionDepth: 1
    functionLinenumber: 11928
    functionLinenumberEnd: 12052
    functionName: test_no_shared_ffdhe_group
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_dh_auto
    - TEST_ptr
    - TEST_true
    - SSL_CIPHER_get_id
    - TEST_error
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_set_max_proto_version
    - SSL_set1_groups_list
    - TEST_int_eq
    - SSL_get_current_cipher
    - SSL_free
    - SSL_set_cipher_list
    - create_ssl_ctx_pair
    - SSL_CTX_new_ex
    - TLS_client_method
    - SSL_set_min_proto_version
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_no_shared_ffdhe_group(int idx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:12059,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12059,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:12060,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12060,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12070,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12070,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:12090,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12094,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12094,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12101,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12101,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12105,1
    - Dst: SSL_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:12105,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12106,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:12106,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12107,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:12107,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12108,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12108,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12109,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12110,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:12110,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12111,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:12111,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:12119,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:12119,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:12120,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:12120,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:12123,1
    - Dst: SSL_get_tmp_key
      Src: /src/openssl/test/sslapitest.c:12123,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12125,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/test/sslapitest.c:12125,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12126,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12129,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12129,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12135,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12136,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12137,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12138,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:12139,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 55
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12142
      start: 12057
    functionDepth: 4
    functionLinenumber: 12057
    functionLinenumberEnd: 12142
    functionName: test_shared_ffdhe_group
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_dh_auto
    - TEST_ptr
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - TEST_str_eq
    - TLS_server_method
    - create_ssl_connection
    - SSL_set_max_proto_version
    - TEST_int_le
    - SSL_set1_groups_list
    - TEST_int_gt
    - SSL_free
    - SSL_accept
    - SSL_set_cipher_list
    - EVP_PKEY_free
    - create_ssl_ctx_pair
    - SSL_CTX_new_ex
    - TLS_client_method
    - EVP_PKEY_get_group_name
    - SSL_connect
    - SSL_set_min_proto_version
    - create_ssl_objects
    - SSL_get_tmp_key
    linkageType: ''
    returnType: int
    signature: int test_shared_ffdhe_group(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:12163,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12164,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12167,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12167,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12167,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12168,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12173,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:12173,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12174,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:12174,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12181,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12181,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12183,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12183,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12188,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12194,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12195,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12196,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12197,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12200
      start: 12153
    functionDepth: 1
    functionLinenumber: 12153
    functionLinenumberEnd: 12200
    functionName: test_sni_tls13
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - TLS_client_method
    - TEST_ptr
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_tlsext_servername_arg
    - TEST_true
    - create_ssl_ctx_pair
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_sni_tls13(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12219,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12225,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12225,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12225,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12226,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12230,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12230,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sslapitest.c:12238,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/openssl/test/sslapitest.c:12238,1
    - Dst: SSL_get_default_timeout
      Src: /src/openssl/test/sslapitest.c:12239,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12242,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12242,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/sslapitest.c:12247,1
    - Dst: SSL_SESSION_get_ticket_lifetime_hint
      Src: /src/openssl/test/sslapitest.c:12247,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:12247,1
    - Dst: TEST_ulong_le
      Src: /src/openssl/test/sslapitest.c:12251,1
    - Dst: SSL_SESSION_get_ticket_lifetime_hint
      Src: /src/openssl/test/sslapitest.c:12251,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:12251,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12257,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12258,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12259,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12260,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12262
      start: 12207
    functionDepth: 1
    functionLinenumber: 12207
    functionLinenumberEnd: 12262
    functionName: test_ticket_lifetime
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_timeout
    - TLS_client_method
    - TEST_skip
    - TEST_true
    - SSL_get_default_timeout
    - SSL_get_session
    - TEST_ulong_eq
    - TEST_long_eq
    - SSL_CTX_free
    - TLS_server_method
    - TEST_ulong_le
    - SSL_SESSION_get_ticket_lifetime_hint
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:12281,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12282,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12286,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12286,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12288,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12288,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12290,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12290,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12292,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12292,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12294,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12294,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12296,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12296,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12298,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12298,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12300,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12300,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12302,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12302,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:12305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12306,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12309,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12309,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12311,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12311,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12313,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12313,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12315,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12315,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12317,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12317,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12319,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12319,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12321,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12321,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12323,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12323,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12325,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12325,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12331,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12332,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12334
      start: 12267
    functionDepth: 1
    functionLinenumber: 12267
    functionLinenumberEnd: 12334
    functionName: test_set_alpn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TEST_false
    - TEST_ptr
    - SSL_set_alpn_protos
    - TEST_true
    - SSL_CTX_free
    - SSL_CTX_set_alpn_protos
    - TLS_server_method
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_set_alpn(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:12346,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12346,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12347,1
    - Dst: SSL_CTX_get0_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12350,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12353,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12355,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12355,1
    - Dst: SSL_CTX_get0_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12358,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12359,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:12362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12363,1
    - Dst: SSL_get0_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12366,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12367,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12369,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12372,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12372,1
    - Dst: SSL_get0_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12375,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12376,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12382,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12383,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12385
      start: 12336
    functionDepth: 1
    functionLinenumber: 12336
    functionLinenumberEnd: 12385
    functionName: test_get_alpn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_new
    - TEST_false
    - TEST_ptr
    - TEST_mem_eq
    - SSL_CTX_get0_alpn_protos
    - SSL_get0_alpn_protos
    - SSL_set_alpn_protos
    - TEST_int_eq
    - TEST_ptr_null
    - SSL_CTX_free
    - SSL_CTX_set_alpn_protos
    - TLS_server_method
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_get_alpn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12399,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12399,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12399,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12399,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12404,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:12404,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12407,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:12407,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12410,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12410,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12413,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12413,1
    - Dst: SSL_get0_ec_point_formats
      Src: /src/openssl/test/sslapitest.c:12417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12420,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12426,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12427,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12428,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12429,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12431
      start: 12391
    functionDepth: 1
    functionLinenumber: 12391
    functionLinenumberEnd: 12431
    functionName: test_legacy_ec_point_formats
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_get0_ec_point_formats
    - TEST_true
    - SSL_CTX_set_options
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:12445,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12445,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12446,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12450,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12450,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12454,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12454,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12458,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12458,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:12462,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12463,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:12466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12467,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12471,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12471,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12474,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12474,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12478,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12478,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12481,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12481,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:12484,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:12484,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12488,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12488,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12491,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12491,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12495,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12495,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12498,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12498,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12501,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12501,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:12507,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:12508,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12509,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12511
      start: 12437
    functionDepth: 5
    functionLinenumber: 12437
    functionLinenumberEnd: 12511
    functionName: test_set_verify_cert_store_ssl_ctx
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - TEST_ptr_eq
    - TEST_ptr
    - SSL_CTX_set1_verify_cert_store
    - SSL_CTX_get0_chain_cert_store
    - SSL_CTX_get0_verify_cert_store
    - TEST_true
    - SSL_CTX_set1_chain_cert_store
    - TEST_ptr_null
    - X509_STORE_new
    - SSL_CTX_free
    - X509_STORE_free
    - TLS_server_method
    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:12525,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12526,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:12530,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12531,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12535,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12535,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12539,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12539,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12543,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12543,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:12547,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12548,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:12551,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12552,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12556,1
    - Dst: SSL_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12556,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12559,1
    - Dst: SSL_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12559,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12563,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12563,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12566,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12566,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:12569,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:12569,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12573,1
    - Dst: SSL_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12573,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12576,1
    - Dst: SSL_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12576,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12580,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:12580,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12583,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:12583,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12586,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12586,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:12592,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:12593,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12594,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12595,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12597
      start: 12516
    functionDepth: 5
    functionLinenumber: 12516
    functionLinenumberEnd: 12597
    functionName: test_set_verify_cert_store_ssl
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_set1_chain_cert_store
    - TEST_ptr_eq
    - SSL_new
    - SSL_set1_verify_cert_store
    - TEST_ptr
    - SSL_get0_verify_cert_store
    - SSL_get0_chain_cert_store
    - TEST_true
    - TEST_ptr_null
    - X509_STORE_new
    - SSL_CTX_free
    - X509_STORE_free
    - TLS_server_method
    - SSL_free
    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:12609,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12609,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12610,1
    - Dst: SSL_CTX_get0_param
      Src: /src/openssl/test/sslapitest.c:12613,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12614,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12616,1
    - Dst: X509_VERIFY_PARAM_get_hostflags
      Src: /src/openssl/test/sslapitest.c:12616,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/openssl/test/sslapitest.c:12619,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:12621,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12622,1
    - Dst: SSL_get0_param
      Src: /src/openssl/test/sslapitest.c:12625,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12626,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12628,1
    - Dst: X509_VERIFY_PARAM_get_hostflags
      Src: /src/openssl/test/sslapitest.c:12628,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12634,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12635,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12638
      start: 12599
    functionDepth: 1
    functionLinenumber: 12599
    functionLinenumberEnd: 12638
    functionName: test_inherit_verify_param
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - X509_VERIFY_PARAM_get_hostflags
    - SSL_new
    - SSL_CTX_get0_param
    - TEST_ptr
    - X509_VERIFY_PARAM_set_hostflags
    - TEST_int_eq
    - SSL_CTX_free
    - TLS_server_method
    - SSL_free
    - SSL_get0_param
    linkageType: ''
    returnType: int
    signature: int test_inherit_verify_param(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12651,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:12651,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12651,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12652,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:12652,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/test/sslapitest.c:12655,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:12656,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12661,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:12661,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:12666,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12667,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12673
      start: 12640
    functionDepth: 1
    functionLinenumber: 12640
    functionLinenumberEnd: 12673
    functionName: test_load_dhfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_set_flags
    - TLS_client_method
    - TEST_ptr
    - TEST_skip
    - SSL_CONF_CTX_new
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_CONF_cmd
    - SSL_CONF_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_load_dhfile(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12687,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12687,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12687,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12688,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:12692,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12694,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12694,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12698,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12698,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12702,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12702,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:12702,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12703,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:12703,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12706,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:12706,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12709,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12709,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:12709,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12710,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:12710,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12721,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12721,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12726,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12733,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12734,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12735,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12736,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12738
      start: 12677
    functionDepth: 1
    functionLinenumber: 12677
    functionLinenumberEnd: 12738
    functionName: test_read_ahead_key_change
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - TLS_client_method
    - SSL_CTX_set_read_ahead
    - TEST_true
    - TEST_str_eq
    - SSL_read_ex
    - TLS_server_method
    - SSL_key_update
    - SSL_CTX_free
    - TEST_size_t_eq
    - strlen
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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: 12766
      start: 12740
    functionDepth: 0
    functionLinenumber: 12740
    functionLinenumberEnd: 12766
    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:12788,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12788,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12788,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12789,1
    - Dst: SSL_CTX_set_record_padding_callback
      Src: /src/openssl/test/sslapitest.c:12794,1
    - Dst: SSL_CTX_set_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:12795,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:12796,1
    - Dst: SSL_CTX_get_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:12796,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12800,1
    - Dst: SSL_CTX_set_block_padding
      Src: /src/openssl/test/sslapitest.c:12800,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12803,1
    - Dst: SSL_CTX_set_block_padding
      Src: /src/openssl/test/sslapitest.c:12803,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12807,1
    - Dst: SSL_CTX_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:12807,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12811,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12811,1
    - Dst: SSL_set_record_padding_callback
      Src: /src/openssl/test/sslapitest.c:12816,1
    - Dst: SSL_set_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:12817,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:12818,1
    - Dst: SSL_get_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:12818,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12822,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/sslapitest.c:12822,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12825,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/sslapitest.c:12825,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12829,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:12829,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12833,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:12833,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12835,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:12835,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12839,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12839,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12851,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12851,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:12851,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12852,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:12852,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12855,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12855,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12857,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12861,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12865,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12870,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12871,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12872,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12873,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 80
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12875
      start: 12777
    functionDepth: 1
    functionLinenumber: 12777
    functionLinenumberEnd: 12875
    functionName: test_tls13_record_padding
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_block_padding_ex
    - SSL_set_block_padding_ex
    - TEST_true
    - SSL_set_block_padding
    - SSL_read_ex
    - SSL_CTX_free
    - TEST_str_eq
    - SSL_get_record_padding_callback_arg
    - TEST_ptr_eq
    - TLS_server_method
    - create_ssl_connection
    - SSL_CTX_set_block_padding
    - SSL_CTX_get_record_padding_callback_arg
    - SSL_CTX_set_record_padding_callback
    - TEST_int_eq
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - SSL_set_record_padding_callback_arg
    - SSL_set_record_padding_callback
    - create_ssl_ctx_pair
    - SSL_CTX_set_record_padding_callback_arg
    - TLS_client_method
    - TEST_size_t_eq
    - strlen
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_tls13_record_padding(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12902,1
    - Dst: SSL_get_version
      Src: /src/openssl/test/sslapitest.c:12902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - s
    - version
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12903
      start: 12878
    functionDepth: 1
    functionLinenumber: 12878
    functionLinenumberEnd: 12903
    functionName: check_version_string
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_version
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int check_version_string(SSL *s, int version)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12916,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12917,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12951,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12958,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:12964,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:12965,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12969,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12969,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12973,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12973,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12974,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12974,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12978,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12978,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12982,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12982,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12985,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:12985,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12986,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:12986,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12987,1
    - Dst: check_version_string
      Src: /src/openssl/test/sslapitest.c:12987,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12988,1
    - Dst: check_version_string
      Src: /src/openssl/test/sslapitest.c:12988,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12992,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:12992,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12993,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:12993,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12994,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:12994,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12995,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:12995,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12996,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:12996,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12997,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:12997,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13000,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:13000,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13001,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:13001,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13002,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:13002,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13003,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:13003,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13004,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:13004,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13005,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:13005,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13011,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13012,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13013,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13014,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 61
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13016
      start: 12911
    functionDepth: 2
    functionLinenumber: 12911
    functionLinenumberEnd: 13016
    functionName: test_version
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - SSL_version
    - SSL_CTX_free
    - check_version_string
    - TLS_server_method
    - create_ssl_connection
    - DTLS_server_method
    - TEST_int_eq
    - SSL_is_tls
    - SSL_free
    - DTLS_client_method
    - TEST_false
    - SSL_CTX_set_cipher_list
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - SSL_is_dtls
    - create_ssl_objects
    - SSL_is_quic
    linkageType: ''
    returnType: int
    signature: int test_version(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:13026,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13026,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:13027,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13027,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:13028,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:13028,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13030,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13030,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13030,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13033,1
    - Dst: SSL_CTX_is_server
      Src: /src/openssl/test/sslapitest.c:13033,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13034,1
    - Dst: SSL_CTX_is_server
      Src: /src/openssl/test/sslapitest.c:13034,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13035,1
    - Dst: SSL_CTX_is_server
      Src: /src/openssl/test/sslapitest.c:13035,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13040,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13041,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13042,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13044
      start: 13021
    functionDepth: 1
    functionLinenumber: 13021
    functionLinenumberEnd: 13044
    functionName: test_ssl_ctx_is_server
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_new_ex
    - TLS_client_method
    - TLS_method
    - TEST_ptr
    - TEST_false
    - TEST_true
    - SSL_CTX_is_server
    - SSL_CTX_free
    - TLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_ssl_ctx_is_server(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13054,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13055,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13066,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13066,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13070,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13070,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:13074,1
    - Dst: SSL_rstate_string
      Src: /src/openssl/test/sslapitest.c:13074,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:13075,1
    - Dst: SSL_rstate_string_long
      Src: /src/openssl/test/sslapitest.c:13075,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13078,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13078,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:13081,1
    - Dst: SSL_rstate_string
      Src: /src/openssl/test/sslapitest.c:13081,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:13082,1
    - Dst: SSL_rstate_string_long
      Src: /src/openssl/test/sslapitest.c:13082,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:13086,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13095,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:13095,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:13095,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:13097,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13100,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:13100,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:13103,1
    - Dst: SSL_rstate_string
      Src: /src/openssl/test/sslapitest.c:13103,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:13104,1
    - Dst: SSL_rstate_string_long
      Src: /src/openssl/test/sslapitest.c:13104,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13109,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13110,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13111,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13112,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13114
      start: 13049
    functionDepth: 4
    functionLinenumber: 13049
    functionLinenumberEnd: 13114
    functionName: test_rstate_string
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false
    - TEST_true
    - create_ssl_ctx_pair
    - SSL_version
    - BIO_write_ex
    - SSL_rstate_string
    - SSL_read_ex
    - SSL_free
    - TEST_str_eq
    - SSL_CTX_free
    - SSL_get_rbio
    - TLS_server_method
    - create_ssl_objects
    - create_ssl_connection
    - TEST_size_t_eq
    - SSL_rstate_string_long
    linkageType: ''
    returnType: int
    signature: int test_rstate_string(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:13138,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:13138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13141,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:13149,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13152,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13152,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13152,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13153,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/sslapitest.c:13161,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:13169,1
    - Dst: set_always_retry_err_val
      Src: /src/openssl/test/sslapitest.c:13172,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13174,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13174,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:13178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13179,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:13179,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:13183,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13186,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:13186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13189,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:13189,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13190,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13190,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:13194,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13197,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13197,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13202,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13203,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13204,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13205,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:13206,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:13207,1
    - Dst: set_always_retry_err_val
      Src: /src/openssl/test/sslapitest.c:13208,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13210
      start: 13133
    functionDepth: 5
    functionLinenumber: 13133
    functionLinenumberEnd: 13210
    functionName: test_handshake_retry
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ssl_ctx_add_large_cert_chain
    - set_always_retry_err_val
    - TEST_true
    - SSL_CTX_free
    - BIO_up_ref
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_wbio
    - SSL_CTX_set_verify
    - BIO_new
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - SSL_accept
    - bio_s_always_retry
    - BIO_free
    - SSL_set0_wbio
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - SSL_connect
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_handshake_retry(int idx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:13223,1
    - Dst: bio_s_maybe_retry
      Src: /src/openssl/test/sslapitest.c:13223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13226,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13231,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13233,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13233,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13233,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13234,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13238,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13238,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13242,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13242,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13246,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/sslapitest.c:13246,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:13249,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13250,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13252,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:13252,1
    - Dst: BIO_push
      Src: /src/openssl/test/sslapitest.c:13254,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:13256,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:13257,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13264,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:13264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13266,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13266,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13270,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/sslapitest.c:13270,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13281,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:13281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13283,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13283,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13288,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:13288,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:13291,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13294,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13299,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13300,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13301,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13302,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/sslapitest.c:13303,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:13304,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13306
      start: 13215
    functionDepth: 5
    functionLinenumber: 13215
    functionLinenumberEnd: 13306
    functionName: test_data_retry
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - SSL_read_ex
    - SSL_CTX_free
    - BIO_up_ref
    - TLS_server_method
    - create_ssl_connection
    - SSL_get_wbio
    - BIO_new
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - TEST_false
    - BIO_free
    - SSL_set0_wbio
    - memset
    - BIO_push
    - create_ssl_ctx_pair
    - SSL_set_max_send_fragment
    - BIO_ctrl
    - TLS_client_method
    - BIO_free_all
    - bio_s_maybe_retry
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_data_retry(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13334,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13334,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13336,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:13336,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/sslapitest.c:13339,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13344,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13344,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/sslapitest.c:13345,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/sslapitest.c:13348,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13352,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13356
      start: 13320
    functionDepth: 1
    functionLinenumber: 13320
    functionLinenumberEnd: 13356
    functionName: resume_servername_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - TEST_false
    - ERR_clear_last_mark
    - ERR_set_mark
    - TEST_true
    - SSL_set_session
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:13376,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:13383,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13386,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13386,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13386,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13387,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13397,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:13397,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:13401,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/test/sslapitest.c:13403,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:13406,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:13407,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13414,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13414,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13416,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:13416,1
    - Dst: SSL_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:13436,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13438,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13438,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13442,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:13442,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13445,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:13445,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:13448,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13454,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:13454,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:13458,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:13459,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13460,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13461,1
    - Dst: TEST_long_le
      Src: /src/openssl/test/sslapitest.c:13466,1
    - Dst: SSL_CTX_sess_number
      Src: /src/openssl/test/sslapitest.c:13466,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13471,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13472,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13473,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13474,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:13475,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13477
      start: 13365
    functionDepth: 1
    functionLinenumber: 13365
    functionLinenumberEnd: 13477
    functionName: test_multi_resume
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_CTX_set_max_early_data
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_sess_set_cache_size
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_free
    - TEST_false
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_set_session
    - SSL_SESSION_free
    - TEST_long_le
    - SSL_CTX_sess_number
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_shutdown
    - SSL_set_max_early_data
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_multi_resume(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13542,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/sslapitest.c:13542,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:13548,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/sslapitest.c:13548,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13551,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13558
      start: 13519
    functionDepth: 1
    functionLinenumber: 13519
    functionLinenumberEnd: 13558
    functionName: test_select_next_proto
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    - TEST_mem_eq
    - TEST_uchar_eq
    - TEST_int_eq
    - TEST_ptr_null
    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: 13584
      start: 13564
    functionDepth: 0
    functionLinenumber: 13564
    functionLinenumberEnd: 13584
    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: 13611
      start: 13586
    functionDepth: 0
    functionLinenumber: 13586
    functionLinenumberEnd: 13611
    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:13627,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13627,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13627,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13628,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/openssl/test/sslapitest.c:13632,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/openssl/test/sslapitest.c:13633,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13635,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13635,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13641,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13641,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13648,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13648,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/test/sslapitest.c:13652,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13656,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:13660,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13664,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13668,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13675,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13676,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13677,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13678,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13681
      start: 13621
    functionDepth: 1
    functionLinenumber: 13621
    functionLinenumberEnd: 13681
    functionName: test_npn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false
    - TEST_uint_eq
    - TEST_mem_eq
    - SSL_get0_next_proto_negotiated
    - TEST_true
    - SSL_CTX_set_next_protos_advertised_cb
    - TEST_error
    - SSL_CTX_set_next_proto_select_cb
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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: 13710
      start: 13684
    functionDepth: 0
    functionLinenumber: 13684
    functionLinenumberEnd: 13710
    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:13727,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13727,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13727,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13728,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/sslapitest.c:13732,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13734,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13734,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13744,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:13744,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13749,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13749,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13756,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13756,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/sslapitest.c:13760,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13763,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:13767,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13771,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13778,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13779,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13780,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13781,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13784
      start: 13719
    functionDepth: 1
    functionLinenumber: 13719
    functionLinenumberEnd: 13784
    functionName: test_alpn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false
    - TEST_uint_eq
    - TEST_mem_eq
    - SSL_CTX_set_alpn_select_cb
    - SSL_set_alpn_protos
    - TEST_true
    - TEST_error
    - SSL_get0_alpn_selected
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_alpn(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/openssl/test/sslapitest.c:13812,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:13813,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13819
      start: 13807
    functionDepth: 1
    functionLinenumber: 13807
    functionLinenumberEnd: 13819
    functionName: check_app_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    - SSL_get_app_data
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int check_app_data(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13829,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:13842,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: 13849
      start: 13821
    functionDepth: 2
    functionLinenumber: 13821
    functionLinenumberEnd: 13849
    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:13855,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: 13863
      start: 13850
    functionDepth: 2
    functionLinenumber: 13850
    functionLinenumberEnd: 13863
    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:13869,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:13881,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:13882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - s
    - bytes_read
    - arg
    argTypes:
    - SSL*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13889
      start: 13865
    functionDepth: 2
    functionLinenumber: 13865
    functionLinenumberEnd: 13889
    functionName: crypto_release_rcd_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - check_app_data
    - TEST_size_t_eq
    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:13919,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:13923,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:13953,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13955,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13966,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13977
      start: 13911
    functionDepth: 1
    functionLinenumber: 13911
    functionLinenumberEnd: 13977
    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:13985,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:13994,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:13997,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:14002,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:14005,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: 14023
      start: 13979
    functionDepth: 2
    functionLinenumber: 13979
    functionLinenumberEnd: 14023
    functionName: yield_secret_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - memcpy
    - 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: 14039
      start: 14025
    functionDepth: 0
    functionLinenumber: 14025
    functionLinenumberEnd: 14039
    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:14047,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:14052,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:14057,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: 14061
      start: 14041
    functionDepth: 2
    functionLinenumber: 14041
    functionLinenumberEnd: 14061
    functionName: got_transport_params_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - memcpy
    - 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:14067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - alert_code
    - arg
    argTypes:
    - SSL*
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14074
      start: 14063
    functionDepth: 2
    functionLinenumber: 14063
    functionLinenumberEnd: 14074
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 14092
      start: 14082
    functionDepth: 0
    functionLinenumber: 14082
    functionLinenumberEnd: 14092
    functionName: add_old_ext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int add_old_ext(SSL *s, unsigned int ext_type,\n    const unsigned
      char **out, size_t *outlen,\n    int *al, void *add_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - s
    - ext_type
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14098
      start: 14094
    functionDepth: 0
    functionLinenumber: 14094
    functionLinenumberEnd: 14098
    functionName: free_old_ext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void free_old_ext(SSL *s, unsigned int ext_type,\n    const unsigned
      char *out, void *add_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    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: 14110
      start: 14100
    functionDepth: 0
    functionLinenumber: 14100
    functionLinenumberEnd: 14110
    functionName: parse_old_ext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int parse_old_ext(SSL *s, unsigned int ext_type,\n    const unsigned
      char *in, size_t inlen,\n    int *al, void *parse_arg)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14151,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14153,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14154,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14160,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14160,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14160,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:14161,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14168,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14168,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14168,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14179,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/test/sslapitest.c:14179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14183,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/test/sslapitest.c:14183,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14187,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/test/sslapitest.c:14187,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14193,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:14193,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14194,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:14194,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14198,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14198,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:14203,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:14204,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14207,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:14207,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14208,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:14208,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14212,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:14212,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14213,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:14213,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14216,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:14216,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14217,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:14217,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14218,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:14218,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14220,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:14220,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14225,1
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/sslapitest.c:14225,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14230,1
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/sslapitest.c:14230,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14240,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14245,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14246,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14247,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14248,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:14255,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14263,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:14263,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14265,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:14265,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:14269,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:14270,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14275,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14276,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14277,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14278,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14289,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14295,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14296,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14297,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14298,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14299,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14302,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14302,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 104
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14306
      start: 14120
    functionDepth: 2
    functionLinenumber: 14120
    functionLinenumberEnd: 14306
    functionName: test_quic_tls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_add_server_custom_ext
    - TEST_mem_eq
    - TEST_true
    - SSL_set_quic_tls_cbs
    - check_secret_history
    - SSL_CTX_free
    - SSL_set_ciphersuites
    - TLS_server_method
    - TEST_int_eq
    - SSL_free
    - TEST_false
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_set_app_data
    - memset
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_set_quic_tls_transport_params
    - create_ssl_connection_ex
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_CTX_add_client_custom_ext
    - SSL_set_bio
    - create_ssl_objects
    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: 14315
      start: 14308
    functionDepth: 0
    functionLinenumber: 14308
    functionLinenumberEnd: 14315
    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:14345,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14347,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14348,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14353,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14353,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14353,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:14354,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:14358,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:14359,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14361,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14361,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14365,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:14365,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:14368,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:14369,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:14370,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14371,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14372,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14375,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14375,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14377,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:14377,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:14381,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:14382,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14384,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:14384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14385,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:14385,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14388,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:14388,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14389,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:14389,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14390,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:14390,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14392,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:14392,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14399,1
    - Dst: SSL_set_quic_tls_early_data_enabled
      Src: /src/openssl/test/sslapitest.c:14402,1
    - Dst: SSL_set_quic_tls_early_data_enabled
      Src: /src/openssl/test/sslapitest.c:14403,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/sslapitest.c:14405,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/sslapitest.c:14406,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14408,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:14408,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14409,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:14409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14410,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:14410,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14411,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:14411,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14412,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:14412,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14416,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14417,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14418,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14419,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14424,1
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/sslapitest.c:14424,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14429,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14430,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14431,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:14432,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:14439,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14444,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:14444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14446,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:14446,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:14450,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:14451,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14456,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14457,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14458,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14463,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:14468,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:14469,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:14470,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14472,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14473,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14474,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14475,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14478
      start: 14317
    functionDepth: 2
    functionLinenumber: 14317
    functionLinenumberEnd: 14478
    functionName: test_quic_tls_early_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_msg_callback
    - TEST_mem_eq
    - SSL_CTX_set_max_early_data
    - TEST_true
    - SSL_set_quic_tls_cbs
    - check_secret_history
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - SSL_set_quic_tls_early_data_enabled
    - TEST_int_eq
    - SSL_get_error
    - SSL_free
    - SSL_accept
    - TEST_false
    - SSL_set_app_data
    - SSL_set_session
    - SSL_SESSION_free
    - memset
    - SSL_get_early_data_status
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_set_quic_tls_transport_params
    - create_ssl_connection_ex
    - SSL_connect
    - SSL_shutdown
    - SSL_set_bio
    - create_ssl_objects
    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:14493,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:14494,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:14496,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:14501,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:14502,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:14504,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14507,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14507,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:14511,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14513,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14513,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14517,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:14517,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14520,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/sslapitest.c:14520,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:14521,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:14521,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14522,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:14522,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:14530,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:14530,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14532,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:14532,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:14539,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:14539,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14540,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:14540,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14541,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:14541,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:14541,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14546,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14547,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14548,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14549,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14552
      start: 14481
    functionDepth: 2
    functionLinenumber: 14481
    functionLinenumberEnd: 14552
    functionName: test_no_renegotiation
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ERR_GET_REASON
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_free
    - TLS_server_method
    - SSL_renegotiate
    - create_ssl_connection
    - TEST_int_le
    - DTLS_server_method
    - TEST_int_eq
    - SSL_read
    - SSL_get_error
    - SSL_free
    - DTLS_client_method
    - ERR_get_error
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - SSL_connect
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_no_renegotiation(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/sslapitest.c:14568,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:14569,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14571,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14571,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14571,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:14572,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:14575,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:14575,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:14575,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14576,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:14576,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14577,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:14577,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14578,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:14578,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14580,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:14580,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14583,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:14583,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14584,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:14584,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14586,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14586,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/sslapitest.c:14590,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/sslapitest.c:14591,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14593,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:14593,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:14599,1
    - Dst: BIO_pending
      Src: /src/openssl/test/sslapitest.c:14599,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:14604,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:14606,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14608,1
    - Dst: compare_with_reference_file
      Src: /src/openssl/test/sslapitest.c:14608,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:14614,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14615,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14616,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14617,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14618,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14619,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14622
      start: 14558
    functionDepth: 5
    functionLinenumber: 14558
    functionLinenumberEnd: 14622
    functionName: test_ssl_trace
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - SSL_set_msg_callback
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_free
    - fips_provider_version_ge
    - TLS_server_method
    - create_ssl_connection
    - BIO_new
    - OPENSSL_free
    - BIO_pending
    - TEST_int_gt
    - BIO_s_mem
    - SSL_free
    - BIO_free
    - SSL_CTX_set1_groups_list
    - test_mk_file_path
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_skip
    - SSL_set_msg_callback_arg
    - create_ssl_objects
    - compare_with_reference_file
    linkageType: ''
    returnType: int
    signature: int test_ssl_trace(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14638
      start: 14635
    functionDepth: 0
    functionLinenumber: 14635
    functionLinenumberEnd: 14638
    functionName: is_grease
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_grease(unsigned int v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/sslapitest.c:14659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    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: 14661
      start: 14640
    functionDepth: 0
    functionLinenumber: 14640
    functionLinenumberEnd: 14661
    functionName: grease_msg_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: "void grease_msg_cb(int write_p, int version, int content_type,\n    const
      void *buf, size_t len, SSL *ssl, void *arg)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14681,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14682,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14683,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14684,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14685,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14686,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14687,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:14689,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14690,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/sslapitest.c:14690,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14693,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:14693,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14695,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:14695,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14698,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:14698,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14700,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14700,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14702,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:14702,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14704,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14704,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:14708,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14709,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:14709,1
    - Dst: is_grease
      Src: /src/openssl/test/sslapitest.c:14711,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:14716,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14717,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:14717,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14718,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14718,1
    - Dst: is_grease
      Src: /src/openssl/test/sslapitest.c:14722,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14727,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:14727,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:14730,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14731,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:14731,1
    - Dst: is_grease
      Src: /src/openssl/test/sslapitest.c:14733,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14740,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14740,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:14743,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14744,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:14744,1
    - Dst: is_grease
      Src: /src/openssl/test/sslapitest.c:14746,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:14755,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14756,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14756,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:14759,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14760,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:14760,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14761,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14761,1
    - Dst: is_grease
      Src: /src/openssl/test/sslapitest.c:14764,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14771,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:14771,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:14774,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14775,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:14775,1
    - Dst: is_grease
      Src: /src/openssl/test/sslapitest.c:14777,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14783,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:14785,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14787,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14789,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14791,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14793,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14797
      start: 14669
    functionDepth: 1
    functionLinenumber: 14669
    functionLinenumberEnd: 14797
    functionName: check_grease_in_client_hello
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - TEST_ptr
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_true
    - PACKET_as_length_prefixed_2
    - PACKET_get_length_prefixed_2
    - is_grease
    - memset
    - TEST_int_eq
    - PACKET_get_length_prefixed_1
    linkageType: ''
    returnType: int
    signature: int check_grease_in_client_hello(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14808,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14808,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14808,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:14809,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:14814,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14816,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14816,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/sslapitest.c:14820,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14823,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:14823,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14828,1
    - Dst: check_grease_in_client_hello
      Src: /src/openssl/test/sslapitest.c:14828,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14834,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14837,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14838,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14839,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14843
      start: 14799
    functionDepth: 2
    functionLinenumber: 14799
    functionLinenumberEnd: 14843
    functionName: test_grease
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_set_msg_callback
    - OPENSSL_free
    - check_grease_in_client_hello
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_grease(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:14851,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:14851,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:14855,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:14855,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:14859,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:14859,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:14869,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:14869,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:14875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:14879,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:14879,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:14883,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:14883,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:14893,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:14893,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:14902,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14904
      start: 14846
    functionDepth: 1
    functionLinenumber: 14846
    functionLinenumberEnd: 14904
    functionName: test_ssl_conf_flags
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CONF_CTX_set_flags
    - TEST_uint_eq
    - TEST_ptr
    - SSL_CONF_CTX_new
    - SSL_CONF_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_ssl_conf_flags(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:14927,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14933,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14933,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14934,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:14935,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14943,1
    - Dst: SSL_CTX_set1_groups
      Src: /src/openssl/test/sslapitest.c:14943,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:14945,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14948,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:14948,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14952,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:14952,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14957,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:14958,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14959,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:14960,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:14964,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14966
      start: 14910
    functionDepth: 1
    functionLinenumber: 14910
    functionLinenumberEnd: 14966
    functionName: test_ssl_set_groups_unsupported_keyshare
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_skip
    - SSL_CTX_set1_groups
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - OSSL_NELEM
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int test_ssl_set_groups_unsupported_keyshare(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:14979,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:14979,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14981,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:14981,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:14984,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:14984,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:14984,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:14988,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:14989,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:14992,1
    - Dst: BIO_write
      Src: /src/openssl/test/sslapitest.c:14992,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:14992,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:14994,1
    - Dst: BIO_write
      Src: /src/openssl/test/sslapitest.c:14994,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:14994,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:14996,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:14999,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:15000,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:15000,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:15002,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:15002,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:15002,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:15007,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:15008,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:15009,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15012
      start: 14972
    functionDepth: 5
    functionLinenumber: 14972
    functionLinenumberEnd: 15012
    functionName: test_http_verbs
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ERR_GET_REASON
    - TEST_true
    - SSL_CTX_free
    - TLS_server_method
    - ERR_clear_error
    - BIO_new
    - BIO_write
    - TEST_int_le
    - TEST_int_gt
    - TEST_int_eq
    - SSL_free
    - BIO_s_mem
    - SSL_accept
    - BIO_free
    - ERR_get_error
    - create_ssl_ctx_pair
    - SSL_new
    - OSSL_NELEM
    - strlen
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int test_http_verbs(int idx)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/sslapitest.c:15021,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15022,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:15025,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:15031,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:15031,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:15032,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:15032,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/sslapitest.c:15035,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:15036,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15040,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15040,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15041,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15041,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15042,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15042,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15043,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15043,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15044,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15044,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:15045,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15045,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:15048,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:15050,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/sslapitest.c:15050,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:15054,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:15054,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:15058,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:15059,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:15059,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:15062,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:15068,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/sslapitest.c:15071,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/sslapitest.c:15073,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/sslapitest.c:15074,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:15075,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:15083,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/sslapitest.c:15083,1
    - Dst: getenv
      Src: /src/openssl/test/sslapitest.c:15087,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:15089,1
    - Dst: test_export_key_mat
      Src: /src/openssl/test/sslapitest.c:15095,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/sslapitest.c:15096,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/sslapitest.c:15097,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15103,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15107,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15111,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15115,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15119,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15123,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15127,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15131,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15135,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15139,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15143,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:15147,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15153,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15159,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15160,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15163,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15166,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15167,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15169,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15171,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15172,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15174,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15176,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15179,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15180,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15181,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15182,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15184,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15185,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15186,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15187,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15189,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15190,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15191,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15192,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15193,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15194,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15196,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15196,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15197,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15200,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15202,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15203,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15204,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15206,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15207,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15208,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15211,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15216,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15217,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15217,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15218,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15218,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15219,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15219,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15220,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15220,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15221,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15222,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15223,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15224,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15226,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15230,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15231,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15232,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15234,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15236,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15239,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15243,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15245,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15246,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15246,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15250,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15252,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15253,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15254,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15256,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15258,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15260,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15261,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15262,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15263,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15264,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15265,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15267,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15268,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15268,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15270,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15274,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15276,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15278,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15279,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15279,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15280,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15281,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15282,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15283,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15284,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15285,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15286,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15287,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15288,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15290,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15290,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15292,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15293,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15295,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15299,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15302,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15303,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15306,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15307,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15309,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15310,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15311,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15312,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15316,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15317,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15319,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15320,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15321,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15323,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15325,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15326,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15327,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15329,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15331,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15333,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15334,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15337,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15339,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15340,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15341,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15342,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15343,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15344,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15345,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:15345,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15347,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15349,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15351,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15352,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15354,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15357,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15359,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15360,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:15361,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:15363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15370,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15371,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 226
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15373
      start: 15016
    functionDepth: 10
    functionLinenumber: 15016
    functionLinenumberEnd: 15373
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - TEST_ptr
    - OSSL_PROVIDER_available
    - test_get_argument
    - TEST_true
    - TEST_error
    - test_skip_common_options
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - test_export_key_mat
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - getenv
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    - TEST_false
    - ADD_TEST
    - OSSL_LIB_CTX_load_config
    - strcmp
    - test_mk_file_path
    - OSSL_PARAM_construct_int
    - ADD_ALL_TESTS
    - CRYPTO_get_alloc_counts
    - OSSL_NELEM
    - test_printf_stdout
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:15378,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15381,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15382,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15384,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15385,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15388,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15389,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15390,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:15391,1
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/sslapitest.c:15392,1
    - Dst: bio_s_always_retry_free
      Src: /src/openssl/test/sslapitest.c:15393,1
    - Dst: bio_s_maybe_retry_free
      Src: /src/openssl/test/sslapitest.c:15394,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:15395,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/sslapitest.c:15396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15397
      start: 15375
    functionDepth: 4
    functionLinenumber: 15375
    functionLinenumberEnd: 15397
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - bio_s_always_retry_free
    - OSSL_LIB_CTX_free
    - bio_s_mempacket_test_free
    - EVP_PKEY_free
    - bio_s_maybe_retry_free
    - OSSL_PROVIDER_unload
    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_size_t_gt
    - TEST_ptr
    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: 65
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: start_fake_rand
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexstr2buf
    - TEST_ptr
    - fake_rand_set_public_private_callbacks
    - OPENSSL_free
    - 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:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sm2_internal_test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: restore_rand
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - fake_rand_set_public_private_callbacks
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void restore_rand(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:91,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:91,1
    - 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: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/sm2_internal_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:97,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/sm2_internal_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:104,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:104,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: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/sm2_internal_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:110,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:110,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: EC_GROUP_set_generator
      Src: /src/openssl/test/sm2_internal_test.c:112,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:117,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: EC_POINT_free
      Src: /src/openssl/test/sm2_internal_test.c:122,1
    - Dst: BN_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: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:126,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: 131
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 131
    functionName: create_EC_group
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EC_POINT_set_affine_coordinates
    - BN_hex2bn
    - BN_free
    - EC_GROUP_new_curve_GFp
    - EC_GROUP_set_generator
    - EC_POINT_new
    - EC_POINT_free
    - EC_GROUP_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:
    - OPENSSL_hexstr2buf
    - TEST_ptr
    - TEST_mem_eq
    - restore_rand
    - TEST_true
    - BN_hex2bn
    - EC_KEY_free
    - EC_KEY_new
    - OPENSSL_zalloc
    - OPENSSL_free
    - EC_KEY_set_public_key
    - ossl_sm2_encrypt
    - start_fake_rand
    - ossl_sm2_decrypt
    - EC_KEY_set_group
    - ossl_sm2_ciphertext_size
    - EC_POINT_new
    - EC_POINT_free
    - ossl_sm2_plaintext_size
    - EC_KEY_set_private_key
    - EC_POINT_mul
    - BN_free
    - TEST_size_t_eq
    - strlen
    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:212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:220,1
    - Dst: test_sm2_crypt
      Src: /src/openssl/test/sm2_internal_test.c:223,1
    - Dst: EVP_sm3
      Src: /src/openssl/test/sm2_internal_test.c:225,1
    - Dst: test_sm2_crypt
      Src: /src/openssl/test/sm2_internal_test.c:238,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/sm2_internal_test.c:240,1
    - Dst: create_EC_group
      Src: /src/openssl/test/sm2_internal_test.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:262,1
    - Dst: test_sm2_crypt
      Src: /src/openssl/test/sm2_internal_test.c:265,1
    - Dst: EVP_sm3
      Src: /src/openssl/test/sm2_internal_test.c:267,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:293,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 297
    functionName: sm2_crypt_test
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_sm3
    - test_sm2_crypt
    - TEST_ptr
    - EVP_sha256
    - create_EC_group
    - EC_GROUP_free
    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: 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: 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: 9
    argNames:
    - group
    - userid
    - userid_len
    - privkey_hex
    - message
    - k_hex
    - r_hex
    - s_hex
    - omit_pubkey
    argTypes:
    - EC_GROUP*
    - uint8_t*
    - size_t
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 300
    functionDepth: 7
    functionLinenumber: 300
    functionLinenumberEnd: 370
    functionName: test_sm2_sign
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_sm3
    - TEST_ptr
    - restore_rand
    - TEST_true
    - BN_hex2bn
    - ossl_sm2_do_sign
    - EC_KEY_free
    - EC_KEY_new
    - EC_KEY_set_public_key
    - start_fake_rand
    - EC_KEY_set_group
    - EC_POINT_new
    - EC_POINT_free
    - ECDSA_SIG_get0
    - TEST_BN_eq
    - ossl_sm2_do_verify
    - ECDSA_SIG_free
    - EC_KEY_set_private_key
    - EC_POINT_mul
    - BN_free
    - strlen
    linkageType: ''
    returnType: int
    signature: "int test_sm2_sign(const EC_GROUP *group,\n    const uint8_t *userid,\n
      \   size_t userid_len,\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:382,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:390,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:393,1
    - Dst: test_sm2_sign
      Src: /src/openssl/test/sm2_internal_test.c:393,1
    - Dst: create_EC_group
      Src: /src/openssl/test/sm2_internal_test.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:414,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:417,1
    - Dst: test_sm2_sign
      Src: /src/openssl/test/sm2_internal_test.c:417,1
    - Dst: TEST_false
      Src: /src/openssl/test/sm2_internal_test.c:436,1
    - Dst: test_sm2_sign
      Src: /src/openssl/test/sm2_internal_test.c:436,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:457,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:458,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 372
    functionDepth: 8
    functionLinenumber: 372
    functionLinenumberEnd: 461
    functionName: sm2_sig_test
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - create_EC_group
    - TEST_true
    - test_sm2_sign
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int sm2_sig_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/sm2_internal_test.c:468,1
    - Dst: fake_rand_start
      Src: /src/openssl/test/sm2_internal_test.c:470,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sm2_internal_test.c:475,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sm2_internal_test.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 480
    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:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 487
    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:
    - X509_REQ_free
    - TEST_ptr
    - OPENSSL_free
    - BIO_free
    - PEM_read_bio_X509_REQ
    - X509_REQ_verify
    - test_mk_file_path
    - EVP_PKEY_free
    - BIO_new_file
    - TEST_int_ne
    - X509_REQ_get_pubkey
    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:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    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:48,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rdcpu_sanitytest.c:66,1
    - Dst: TEST_false
      Src: /src/openssl/test/rdcpu_sanitytest.c:68,1
    - Dst: memcmp
      Src: /src/openssl/test/rdcpu_sanitytest.c:68,1
    - Dst: memset
      Src: /src/openssl/test/rdcpu_sanitytest.c:73,1
    - Dst: TEST_false
      Src: /src/openssl/test/rdcpu_sanitytest.c:74,1
    - Dst: memcmp
      Src: /src/openssl/test/rdcpu_sanitytest.c:74,1
    - Dst: memcpy
      Src: /src/openssl/test/rdcpu_sanitytest.c:78,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rdcpu_sanitytest.c:81,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/rdcpu_sanitytest.c:84,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: 90
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 90
    functionName: sanity_check_bytes
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_int_le
    - rng
    - TEST_int_eq
    - memset
    - TEST_int_ge
    - memcpy
    - memcmp
    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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 108
    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:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:124,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:131,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:135,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:141,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 148
    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
    - TEST_info
    - CAST_ecb_encrypt
    - 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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:898,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/evp_extra_test.c:902,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:903,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: 905
      start: 893
    functionDepth: 12
    functionLinenumber: 893
    functionLinenumberEnd: 905
    functionName: load_example_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    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:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 13
    functionLinenumber: 907
    functionLinenumberEnd: 911
    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:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 13
    functionLinenumber: 914
    functionLinenumberEnd: 918
    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:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 13
    functionLinenumber: 922
    functionLinenumberEnd: 926
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_extra_test.c:935,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:938,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:942,1
    - Dst: OSSL_DECODER_CTX_set_selection
      Src: /src/openssl/test/evp_extra_test.c:942,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:943,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/test/evp_extra_test.c:943,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:944,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/test/evp_extra_test.c:944,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:945,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/openssl/test/evp_extra_test.c:945,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/evp_extra_test.c:947,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - keytype
    - input_type
    - data
    - data_len
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 930
    functionDepth: 12
    functionLinenumber: 930
    functionLinenumberEnd: 952
    functionName: load_ml_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - TEST_ptr
    - TEST_false
    - OSSL_DECODER_CTX_add_extra
    - OSSL_DECODER_CTX_set_input_structure
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_set_input_type
    - OSSL_DECODER_CTX_set_selection
    - OSSL_DECODER_CTX_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_ml_key(const char *keytype, const char *input_type,\n
      \   const unsigned char *data, size_t data_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:966,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_extra_test.c:969,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:971,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:975,1
    - Dst: OSSL_ENCODER_CTX_set_selection
      Src: /src/openssl/test/evp_extra_test.c:975,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:976,1
    - Dst: OSSL_ENCODER_CTX_set_output_type
      Src: /src/openssl/test/evp_extra_test.c:976,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:977,1
    - Dst: OSSL_ENCODER_CTX_set_output_structure
      Src: /src/openssl/test/evp_extra_test.c:977,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:978,1
    - Dst: OSSL_ENCODER_CTX_add_extra
      Src: /src/openssl/test/evp_extra_test.c:978,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:979,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:979,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:980,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/evp_extra_test.c:980,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:983,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test.c:984,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:987,1
    - Dst: PEM_read_bio
      Src: /src/openssl/test/evp_extra_test.c:989,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:990,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:991,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:992,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:992,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:993,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:995,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:996,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:1004,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1004,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1007,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1010,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 5
    argNames:
    - pkey
    - input_type
    - fmts
    - expect
    - expectlen
    argTypes:
    - EVP_PKEY*
    - char*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 954
    functionDepth: 11
    functionLinenumber: 954
    functionLinenumberEnd: 1012
    functionName: store_ml_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_ENCODER_CTX_add_extra
    - OSSL_ENCODER_CTX_set_params
    - OPENSSL_free
    - TEST_int_eq
    - PEM_read_bio
    - OSSL_PARAM_construct_utf8_string
    - TEST_false
    - BIO_free
    - OSSL_ENCODER_CTX_set_output_type
    - strcmp
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_set_selection
    - BIO_new_mem_buf
    - TEST_size_t_eq
    - OSSL_ENCODER_CTX_set_output_structure
    - OSSL_ENCODER_CTX_new_for_pkey
    linkageType: ''
    returnType: int
    signature: "int store_ml_key(EVP_PKEY *pkey, const char *input_type, const char
      *fmts,\n    const unsigned char *expect, size_t expectlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_ml_key
      Src: /src/openssl/test/evp_extra_test.c:1043,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1044,1
    - Dst: store_ml_key
      Src: /src/openssl/test/evp_extra_test.c:1051,1
    - Dst: store_ml_key
      Src: /src/openssl/test/evp_extra_test.c:1052,1
    - Dst: store_ml_key
      Src: /src/openssl/test/evp_extra_test.c:1053,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1056,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1014
    functionDepth: 13
    functionLinenumber: 1014
    functionLinenumberEnd: 1058
    functionName: test_ml_seed_only
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - store_ml_key
    - TEST_ptr
    - load_ml_key
    linkageType: ''
    returnType: int
    signature: int test_ml_seed_only(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ml_seed_only
      Src: /src/openssl/test/evp_extra_test.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 14
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: test_ml_kem_seed_only
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - test_ml_seed_only
    linkageType: ''
    returnType: int
    signature: int test_ml_kem_seed_only(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ml_seed_only
      Src: /src/openssl/test/evp_extra_test.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1068
    functionDepth: 14
    functionLinenumber: 1068
    functionLinenumberEnd: 1071
    functionName: test_ml_dsa_seed_only
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - test_ml_seed_only
    linkageType: ''
    returnType: int
    signature: int test_ml_dsa_seed_only(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_extra_test.c:1083,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1074
    functionDepth: 7
    functionLinenumber: 1074
    functionLinenumberEnd: 1089
    functionName: load_example_hmac_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new_raw_private_key_ex
    - TEST_ptr
    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:1097,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/test/evp_extra_test.c:1097,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1098,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:1099,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1091
    functionDepth: 6
    functionLinenumber: 1091
    functionLinenumberEnd: 1108
    functionName: test_EVP_set_config_properties
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_get1_default_properties
    - TEST_ptr
    - OPENSSL_free
    - OSSL_LIB_CTX_get0_global_default
    - TEST_str_eq
    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:1119,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1120,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1120,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1122,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1125,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1125,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:1126,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1127,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1127,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1129,1
    - Dst: EVP_get1_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1132,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1133,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:1134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1136,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1139,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/evp_extra_test.c:1139,1
    - Dst: EVP_get1_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1142,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:1143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1145,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1148,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/evp_extra_test.c:1148,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1151,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1152,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1156,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1157,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1158,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1110
    functionDepth: 12
    functionLinenumber: 1110
    functionLinenumberEnd: 1160
    functionName: test_EVP_set_default_properties
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_set_default_properties
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - EVP_get1_default_properties
    - OPENSSL_free
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - TEST_ptr_null
    - EVP_MD_free
    - TEST_str_eq
    - EVP_default_properties_enable_fips
    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:1168,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:1168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1171,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:1171,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1172,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:1172,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1173,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1178,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1184,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - keytype
    - params
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1163
    functionDepth: 6
    functionLinenumber: 1163
    functionLinenumberEnd: 1187
    functionName: make_key_fromdata
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_gt
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *make_key_fromdata(char *keytype, OSSL_PARAM *params)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:1193,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:1193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1195,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:1198,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1200,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:1203,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/test/evp_extra_test.c:1206,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1209,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:1212,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:1218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pkey
    - selection
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1189
    functionDepth: 5
    functionLinenumber: 1189
    functionLinenumberEnd: 1221
    functionName: test_selection
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_PrivateKey_ex
    - TEST_false
    - TEST_ptr
    - BIO_new
    - BIO_free
    - TEST_true
    - PEM_write_bio_PUBKEY
    - BIO_s_mem
    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:1244,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1244,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1245,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1246,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1247,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1247,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1248,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1248,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1252,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1252,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1253,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1253,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1254,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1254,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1255,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1257,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1258,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1258,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1261,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1262,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1266,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1271,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1271,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1272,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1272,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1273,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1273,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1274,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1274,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1275,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1278,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1279,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1279,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1282,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1283,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1287,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1288,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1292,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1292,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1293,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1293,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1294,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1294,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1295,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1295,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1296,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1296,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1299,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1299,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1300,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1300,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1303,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1304,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1308,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1313,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1313,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1314,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1314,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1315,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1315,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1316,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1316,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1317,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1317,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1319,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1319,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1322,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1323,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1323,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1326,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1331,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1332,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1333,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1334,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1335,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1336,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1337,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1338,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1339,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1340,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1341,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 67
    argCount: 1
    argNames:
    - keytype
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1229
    functionDepth: 7
    functionLinenumber: 1229
    functionLinenumberEnd: 1344
    functionName: test_EVP_PKEY_ffc_priv_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - make_key_fromdata
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - test_selection
    - EVP_PKEY_free
    - BN_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:1384,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1388,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1388,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1389,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1389,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1393,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1394,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1394,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1397,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1398,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1402,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1407,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1407,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1408,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1408,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1411,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1414,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1415,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1415,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1418,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1419,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1432,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1432,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1433,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1433,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1436,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_extra_test.c:1436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1440,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1441,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1441,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1444,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1445,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1449,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1450,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1454,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1454,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1455,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1455,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1458,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_extra_test.c:1458,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1461,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1464,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1465,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1465,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1468,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1472,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1472,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1473,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1473,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1475,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1475,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1477,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1477,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1479,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1479,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1480,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1480,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1481,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1481,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1482,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1482,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:1486,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/evp_extra_test.c:1486,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1488,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1490,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/evp_extra_test.c:1490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1491,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1497,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:1497,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1501,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1505,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:1505,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1509,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1513,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:1513,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1521,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1522,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1523,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1524,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1525,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1526,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1527,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1366
    functionDepth: 10
    functionLinenumber: 1366
    functionLinenumberEnd: 1530
    functionName: test_EC_priv_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_BLD_to_param
    - TEST_size_t_gt
    - EVP_PKEY_get_octet_string_param
    - make_key_fromdata
    - OPENSSL_free
    - EVP_PKEY_eq
    - TEST_int_gt
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_get1_encoded_public_key
    - OSSL_PARAM_free
    - test_selection
    - EVP_PKEY_free
    - EVP_PKEY_parameters_eq
    - OSSL_PARAM_BLD_push_BN
    - BN_free
    - TEST_size_t_eq
    - OSSL_PARAM_BLD_push_octet_string
    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:1544,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1547,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1547,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1548,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1548,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1551,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_extra_test.c:1551,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1554,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1554,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1558,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1558,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1559,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1559,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1562,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1565,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1566,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1569,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:1569,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1573,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1574,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1575,1
    - Dst: memcmp
      Src: /src/openssl/test/evp_extra_test.c:1575,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1581,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1582,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1583,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1584,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1585,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1586,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1587,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1533
    functionDepth: 7
    functionLinenumber: 1533
    functionLinenumberEnd: 1589
    functionName: test_evp_get_ec_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - OPENSSL_zalloc
    - make_key_fromdata
    - OPENSSL_free
    - OSSL_PARAM_BLD_new
    - BN_bn2bin
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_free
    - test_selection
    - EVP_PKEY_free
    - OSSL_PARAM_BLD_push_BN
    - BN_free
    - memcmp
    - OSSL_PARAM_BLD_push_octet_string
    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:1602,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1602,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/evp_extra_test.c:1605,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1606,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1609,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/evp_extra_test.c:1609,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:1612,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1613,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1616,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:1616,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1623,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1630,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:1630,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1633,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1639,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_extra_test.c:1639,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1642,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1642,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1643,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1651,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1652,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:1653,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1654,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1593
    functionDepth: 8
    functionLinenumber: 1593
    functionLinenumberEnd: 1657
    functionName: test_EC_priv_only_legacy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_ptr
    - EVP_PKEY_eq
    - EC_KEY_set_private_key
    - TEST_true
    - EVP_DigestSignInit_ex
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_dup
    - TEST_int_eq
    - BN_free
    - EC_KEY_free
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_new
    - EC_KEY_new_by_curve_name
    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:1670,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1674,1
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/openssl/test/evp_extra_test.c:1674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1678,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1678,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1681,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/evp_extra_test.c:1681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1684,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1687,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1687,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1690,1
    - Dst: EC_KEY_set_public_key_affine_coordinates
      Src: /src/openssl/test/evp_extra_test.c:1690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1693,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:1693,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1697,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:1697,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1701,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1701,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1702,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1702,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1705,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:1705,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1709,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1710,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1712,1
    - Dst: memcmp
      Src: /src/openssl/test/evp_extra_test.c:1712,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1718,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1719,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:1720,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1721,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1722,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1723,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1724,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1659
    functionDepth: 5
    functionLinenumber: 1659
    functionLinenumberEnd: 1727
    functionName: test_evp_get_ec_pub_legacy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - BN_bin2bn
    - OPENSSL_zalloc
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - EC_KEY_set_public_key_affine_coordinates
    - OPENSSL_free
    - EC_KEY_set_private_key
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_assign_EC_KEY
    - BN_free
    - EC_KEY_free
    - EVP_PKEY_free
    - BN_bn2bin
    - EC_KEY_new_by_curve_name_ex
    - memcmp
    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:1744,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1744,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1748,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:1748,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1756,1
    - Dst: load_example_ec_key
      Src: /src/openssl/test/evp_extra_test.c:1756,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:1764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1765,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1766,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:1766,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1767,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1767,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:1771,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1772,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test.c:1774,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1774,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1777,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1777,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1780,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/evp_extra_test.c:1780,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1781,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/evp_extra_test.c:1781,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1787,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1788,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1789,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1731
    functionDepth: 14
    functionLinenumber: 1731
    functionLinenumberEnd: 1791
    functionName: test_EVP_PKEY_sign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_rsa_key
    - load_example_ec_key
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_malloc
    - TEST_int_le
    - load_example_dsa_key
    - TEST_int_gt
    - EVP_PKEY_verify_init
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_sign_init
    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:1813,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1813,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1815,1
    - Dst: RSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:1815,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:1815,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1818,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/test/evp_extra_test.c:1818,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1819,1
    - Dst: RSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:1819,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1820,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/evp_extra_test.c:1820,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1825,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:1825,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1827,1
    - Dst: DSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:1827,1
    - Dst: DSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:1827,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1830,1
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/openssl/test/evp_extra_test.c:1830,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1831,1
    - Dst: DSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:1831,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1832,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/test/evp_extra_test.c:1832,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:1841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1842,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1843,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:1843,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1844,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1844,1
    - Dst: OPENSSL_malloc
      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_int_le
      Src: /src/openssl/test/evp_extra_test.c:1851,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1851,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1854,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1854,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1857,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/evp_extra_test.c:1857,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1858,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/evp_extra_test.c:1858,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1864,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1865,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1866,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test.c:1867,1
    - Dst: RSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:1868,1
    - Dst: DSA_free
      Src: /src/openssl/test/evp_extra_test.c:1870,1
    - Dst: DSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:1871,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 46
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1794
    functionDepth: 14
    functionLinenumber: 1794
    functionLinenumberEnd: 1874
    functionName: test_EVP_PKEY_sign_with_app_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_DSA
    - DSA_get_default_method
    - TEST_ptr
    - load_example_dsa_key
    - EVP_PKEY_verify_init
    - RSA_meth_dup
    - EVP_PKEY_CTX_new_from_pkey
    - RSA_meth_free
    - OPENSSL_free
    - TEST_int_le
    - TEST_int_gt
    - RSA_free
    - OPENSSL_malloc
    - load_example_rsa_key
    - RSA_get_default_method
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_get1_RSA
    - DSA_set_method
    - EVP_PKEY_free
    - RSA_set_method
    - DSA_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - DSA_meth_dup
    - EVP_PKEY_assign_RSA
    - DSA_meth_free
    - EVP_PKEY_verify
    - EVP_PKEY_sign_init
    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:1894,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test.c:1897,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1898,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:1898,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1902,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1902,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1903,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:1903,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_extra_test.c:1903,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1904,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1904,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1905,1
    - Dst: EVP_SealInit
      Src: /src/openssl/test/evp_extra_test.c:1905,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1907,1
    - Dst: EVP_SealUpdate
      Src: /src/openssl/test/evp_extra_test.c:1907,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1909,1
    - Dst: EVP_SealFinal
      Src: /src/openssl/test/evp_extra_test.c:1909,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1915,1
    - Dst: EVP_OpenInit
      Src: /src/openssl/test/evp_extra_test.c:1915,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1916,1
    - Dst: EVP_OpenUpdate
      Src: /src/openssl/test/evp_extra_test.c:1916,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1918,1
    - Dst: EVP_OpenFinal
      Src: /src/openssl/test/evp_extra_test.c:1918,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:1922,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:1928,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1929,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1930,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1931,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1881
    functionDepth: 14
    functionLinenumber: 1881
    functionLinenumberEnd: 1933
    functionName: test_EVP_Enveloped
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_OpenUpdate
    - EVP_aes_256_cbc
    - OPENSSL_zalloc
    - OPENSSL_free
    - EVP_PKEY_get_size
    - EVP_CIPHER_CTX_free
    - load_example_rsa_key
    - EVP_OpenInit
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - EVP_SealFinal
    - EVP_CIPHER_CTX_new
    - EVP_SealUpdate
    - TEST_skip
    - EVP_OpenFinal
    - EVP_SealInit
    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:1968,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:1976,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:1976,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:1977,1
    - Dst: BIO_f_md
      Src: /src/openssl/test/evp_extra_test.c:1977,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1978,1
    - Dst: BIO_push
      Src: /src/openssl/test/evp_extra_test.c:1980,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1981,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/test/evp_extra_test.c:1981,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1984,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1984,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1985,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1985,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1990,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1990,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1994,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:1994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2001,1
    - Dst: load_example_hmac_key
      Src: /src/openssl/test/evp_extra_test.c:2001,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2006,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:2008,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2010,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2010,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2013,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2013,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/evp_extra_test.c:2017,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2020,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:2020,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2026,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:2026,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2028,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:2028,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:2032,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:2032,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2042,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:2042,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2047,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2047,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2048,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:2048,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:2053,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2053,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2054,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2054,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2064,1
    - Dst: BIO_reset
      Src: /src/openssl/test/evp_extra_test.c:2064,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2065,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/test/evp_extra_test.c:2065,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2069,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2069,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2074,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/evp_extra_test.c:2074,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2077,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2077,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2081,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2081,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2085,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2085,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2092,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2092,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2093,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:2093,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2094,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2094,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:2097,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:2104,1
    - Dst: BIO_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
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2107,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:2109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:2110,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2111,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 122
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 1953
    functionDepth: 14
    functionLinenumber: 1953
    functionLinenumberEnd: 2114
    functionName: test_EVP_DigestSignInit
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - TEST_ptr
    - TEST_mem_eq
    - load_example_dsa_key
    - TEST_true
    - EVP_MD_CTX_new
    - BIO_f_md
    - BIO_new
    - load_example_hmac_key
    - OPENSSL_free
    - TEST_int_gt
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX_free
    - EVP_DigestVerifyFinal
    - BIO_s_mem
    - OPENSSL_malloc
    - load_example_rsa_key
    - TEST_false
    - BIO_free
    - EVP_MD_fetch
    - EVP_DigestSignUpdate
    - EVP_DigestVerifyInit
    - BIO_reset
    - EVP_MD_free
    - BIO_get_md_ctx
    - EVP_PKEY_free
    - BIO_push
    - BIO_write_ex
    - EVP_DigestSignInit
    - EVP_sha256
    - TEST_skip
    - EVP_DigestSign
    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:2123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2125,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2125,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2126,1
    - Dst: load_example_rsa_key
      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_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2129,1
    - Dst: EVP_sha256
      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_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2130,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2131,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2131,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2137,1
    - Dst: EVP_DigestVerifyInit
      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_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2138,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2139,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2139,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2146,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2116
    functionDepth: 14
    functionLinenumber: 2116
    functionLinenumberEnd: 2149
    functionName: test_EVP_DigestVerifyInit
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_rsa_key
    - TEST_ptr
    - EVP_sha256
    - TEST_skip
    - TEST_true
    - TEST_int_gt
    - EVP_DigestVerifyInit
    - EVP_PKEY_free
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: int test_EVP_DigestVerifyInit(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:2160,1
    - Dst: load_example_ec_key
      Src: /src/openssl/test/evp_extra_test.c:2162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2163,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2168,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2172,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2178,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2178,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2183,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2184,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2152
    functionDepth: 14
    functionLinenumber: 2152
    functionLinenumberEnd: 2188
    functionName: test_ecdsa_digestsign_keccak
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - load_example_ec_key
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - EVP_MD_fetch
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:2207,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:2209,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:2210,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2211,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:2211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2215,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/test/evp_extra_test.c:2215,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2218,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2220,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:2220,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2226,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2226,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2228,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:2228,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2230,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2230,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:2232,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2237,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2193
    functionDepth: 8
    functionLinenumber: 2193
    functionLinenumberEnd: 2240
    functionName: test_siphash_digestsign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_DigestSignFinal
    - TEST_ptr
    - EVP_MD_CTX_create
    - TEST_mem_eq
    - TEST_skip
    - TEST_true
    - EVP_DigestSignUpdate
    - TEST_int_eq
    - memset
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int test_siphash_digestsign(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2254,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2254,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2257,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2258,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2258,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2261,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2261,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2262,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2262,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2263,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_extra_test.c:2263,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:2265,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_extra_test.c:2265,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2268,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2268,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2269,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2269,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2270,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:2270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2272,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_extra_test.c:2272,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2277,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2277,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2280,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2280,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2281,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2281,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2282,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_extra_test.c:2282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2284,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_extra_test.c:2284,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2285,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2285,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2290,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2291,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2292,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2246
    functionDepth: 10
    functionLinenumber: 2246
    functionLinenumberEnd: 2294
    functionName: test_EVP_Digest
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_eq
    - TEST_ptr
    - EVP_DigestFinal
    - EVP_MD_CTX_get0_md
    - TEST_true
    - EVP_DigestFinal_ex
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    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:2300,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:2305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2308,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2308,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2311,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2311,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2312,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2312,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2313,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:2313,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_extra_test.c:2316,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2296
    functionDepth: 8
    functionLinenumber: 2296
    functionLinenumberEnd: 2323
    functionName: test_EVP_md_null
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_md_null
    - TEST_uint_eq
    - TEST_ptr
    - TEST_skip
    - EVP_DigestFinal_ex
    - TEST_true
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    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:2335,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/test/evp_extra_test.c:2335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2336,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2337,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/evp_extra_test.c:2337,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2338,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/evp_extra_test.c:2338,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2342,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/test/evp_extra_test.c:2343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2327
    functionDepth: 10
    functionLinenumber: 2327
    functionLinenumberEnd: 2345
    functionName: test_evp_mac_poly1305_no_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_fetch
    - TEST_ptr
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - TEST_int_eq
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_evp_mac_poly1305_no_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2359,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/openssl/test/evp_extra_test.c:2359,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:2360,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2361,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:2361,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2348
    functionDepth: 15
    functionLinenumber: 2348
    functionLinenumberEnd: 2369
    functionName: test_d2i_AutoPrivateKey
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_get_id
    - TEST_int_eq
    - d2i_AutoPrivateKey
    - EVP_PKEY_free
    - 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:2419,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2422,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:2423,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2414
    functionDepth: 13
    functionLinenumber: 2414
    functionLinenumberEnd: 2426
    functionName: test_invalide_ec_char2_pub_range_decode
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    - TEST_ptr_null
    - TEST_ptr
    - EVP_PKEY_free
    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:2435,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/evp_extra_test.c:2435,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:2439,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:2443,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/evp_extra_test.c:2443,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/evp_extra_test.c:2449,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2428
    functionDepth: 7
    functionLinenumber: 2428
    functionLinenumberEnd: 2453
    functionName: test_EVP_PKCS82PKEY
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKCS82PKEY
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_ptr
    - d2i_PKCS8_PRIV_KEY_INFO
    - TEST_ptr_null
    - EVP_PKEY_free
    - 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:2468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2469,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2470,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/evp_extra_test.c:2475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2457
    functionDepth: 1
    functionLinenumber: 2457
    functionLinenumberEnd: 2477
    functionName: test_EVP_PKCS82PKEY_v2
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - TEST_ptr
    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:2493,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:2493,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:2493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2494,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:2494,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2495,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test.c:2495,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2498,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_extra_test.c:2498,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2499,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/test/evp_extra_test.c:2499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2500,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/evp_extra_test.c:2500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2501,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/evp_extra_test.c:2501,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2507,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2508,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/evp_extra_test.c:2509,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/evp_extra_test.c:2510,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2480
    functionDepth: 14
    functionLinenumber: 2480
    functionLinenumberEnd: 2512
    functionName: test_EVP_PKCS82PKEY_wrong_tag
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKCS82PKEY
    - load_example_rsa_key
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_ptr
    - BIO_new
    - ERR_peek_last_error
    - BIO_free_all
    - TEST_int_gt
    - BIO_get_mem_data
    - TEST_int_eq
    - EVP_PKEY_free
    - i2d_PKCS8PrivateKey_bio
    - d2i_PKCS8_PRIV_KEY_INFO_bio
    - BIO_s_mem
    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:2523,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:2523,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:2523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2524,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:2524,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2525,1
    - Dst: i2d_PKCS8PrivateKey_bio
      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: BIO_get_mem_data
      Src: /src/openssl/test/evp_extra_test.c:2528,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2529,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:2530,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2536,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_extra_test.c:2536,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2543,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/evp_extra_test.c:2544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2515
    functionDepth: 14
    functionLinenumber: 2515
    functionLinenumberEnd: 2546
    functionName: test_privatekey_to_pkcs8
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_rsa_key
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_free_all
    - TEST_int_gt
    - BIO_get_mem_data
    - EVP_PKEY_free
    - i2d_PKCS8PrivateKey_bio
    - BIO_s_mem
    - PEM_write_bio_PKCS8PrivateKey
    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:2566,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:2566,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2568,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/test/evp_extra_test.c:2568,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:2571,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_extra_test.c:2572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2557
    functionDepth: 3
    functionLinenumber: 2557
    functionLinenumberEnd: 2579
    functionName: ec_export_get_encoding_cb
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_PARAM_get_utf8_string_ptr
    - TEST_true
    - OSSL_PARAM_locate_const
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    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:2591,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:2591,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2592,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test.c:2592,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2593,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/test/evp_extra_test.c:2593,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2594,1
    - Dst: EVP_PKEY_CTX_set_ec_param_enc
      Src: /src/openssl/test/evp_extra_test.c:2594,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2595,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test.c:2595,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2600,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2600,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2601,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:2601,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2602,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:2602,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2603,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2607,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/test/evp_extra_test.c:2607,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2609,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2614,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2615,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2616,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2617,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2581
    functionDepth: 8
    functionLinenumber: 2581
    functionLinenumberEnd: 2619
    functionName: test_EC_keygen_with_enc
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_CTX_set_ec_param_enc
    - evp_keymgmt_util_export
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_paramgen
    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:2651,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:2651,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2652,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/evp_extra_test.c:2655,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2656,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2659,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/evp_extra_test.c:2659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2662,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2662,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2665,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2665,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/test/evp_extra_test.c:2668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2670,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2670,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2673,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2673,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2676,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2676,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:2676,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2679,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2679,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:2679,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2682,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2682,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:2687,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2688,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2689,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2690,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2691,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2624
    functionDepth: 10
    functionLinenumber: 2624
    functionLinenumberEnd: 2693
    functionName: test_EVP_SM2_verify
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_PKEY_CTX_set1_id
    - TEST_int_gt
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX_free
    - EVP_DigestVerifyFinal
    - BIO_free
    - EVP_MD_fetch
    - EVP_DigestVerifyInit
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_free
    - BIO_new_mem_buf
    - strlen
    - PEM_read_bio_PUBKEY_ex
    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:2725,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:2725,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2729,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test.c:2729,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2732,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_extra_test.c:2732,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2735,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test.c:2735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2738,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2738,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2742,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:2742,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2745,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:2745,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2748,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2748,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2751,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2751,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2754,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2754,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/test/evp_extra_test.c:2757,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/test/evp_extra_test.c:2758,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2760,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2760,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2763,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2763,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2766,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2766,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2769,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:2769,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2773,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2773,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2776,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:2776,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2779,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2779,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2784,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2784,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2788,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2788,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2791,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2791,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2794,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2794,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2802,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2802,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2806,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2806,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2809,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2809,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2812,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2812,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:2817,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2828,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:2833,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2836,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2836,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2840,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/evp_extra_test.c:2840,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2843,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:2843,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2847,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/evp_extra_test.c:2847,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2851,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/evp_extra_test.c:2851,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2854,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:2854,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2858,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/evp_extra_test.c:2858,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2863,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:2863,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2872,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2872,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2874,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/evp_extra_test.c:2874,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:2875,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2879,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2882,1
    - Dst: memcmp
      Src: /src/openssl/test/evp_extra_test.c:2882,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2888,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2889,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2890,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2891,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2892,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2893,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2894,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2895,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2896,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:2897,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2695
    functionDepth: 10
    functionLinenumber: 2695
    functionLinenumberEnd: 2899
    functionName: test_EVP_SM2
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - EVP_PKEY_encrypt
    - TEST_ptr
    - EVP_PKEY_decrypt
    - TEST_true
    - EVP_PKEY_CTX_new_from_name
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_info
    - EVP_MD_CTX_set_pkey_ctx
    - OPENSSL_free
    - EVP_PKEY_CTX_set1_id
    - TEST_int_gt
    - EVP_PKEY_decrypt_init
    - TEST_int_eq
    - EVP_DigestVerifyUpdate
    - EVP_PKEY_encrypt_init
    - EVP_MD_CTX_free
    - EVP_DigestVerifyFinal
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_MD_is_a
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_get_params
    - EVP_MD_fetch
    - EVP_DigestSignUpdate
    - EVP_DigestVerifyInit
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_DigestSignInit
    - EVP_PKEY_paramgen_init
    - memcmp
    - EVP_PKEY_paramgen
    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:3289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3290,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3291,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:3291,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:3293,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3295,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:3295,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3299,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test.c:3299,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3303,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3304,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/evp_extra_test.c:3304,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3309,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:3310,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3311,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: 3313
      start: 3276
    functionDepth: 6
    functionLinenumber: 3276
    functionLinenumberEnd: 3313
    functionName: ml_kem_seed_to_priv
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - TEST_int_gt
    - EVP_PKEY_fromdata
    - TEST_true
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - OSSL_PARAM_get_octet_string
    - EVP_PKEY_CTX_free
    - EVP_PKEY_todata
    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:3331,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_extra_test.c:3338,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3345,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3358,1
    - Dst: ml_kem_seed_to_priv
      Src: /src/openssl/test/evp_extra_test.c:3358,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_extra_test.c:3365,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3380,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:3380,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3381,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3381,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3382,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3382,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3383,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:3390,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3390,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:3391,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3391,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3394,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:3394,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3396,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3396,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3397,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3397,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3398,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:3403,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:3404,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3405,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 49
    argCount: 3
    argNames:
    - tst
    - pub
    - uselibctx
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3316
    functionDepth: 7
    functionLinenumber: 3316
    functionLinenumberEnd: 3407
    functionName: test_set_get_raw_keys_int
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - EVP_PKEY_new_raw_public_key
    - TEST_false
    - TEST_ptr
    - OPENSSL_zalloc
    - TEST_mem_eq
    - OPENSSL_free
    - ml_kem_seed_to_priv
    - EVP_PKEY_eq
    - EVP_PKEY_get_raw_private_key
    - TEST_true
    - EVP_PKEY_get_raw_public_key
    - EVP_PKEY_new_raw_private_key_ex
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_new_raw_public_key_ex
    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:3411,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3412,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3413,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3409
    functionDepth: 8
    functionLinenumber: 3409
    functionLinenumberEnd: 3415
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3431,1
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:3431,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3434,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:3434,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3437,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:3437,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3440,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_extra_test.c:3440,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3443,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_extra_test.c:3443,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3446,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test.c:3446,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3452,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3453,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3417
    functionDepth: 13
    functionLinenumber: 3417
    functionLinenumberEnd: 3455
    functionName: test_EVP_PKEY_check
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - TEST_ptr
    - EVP_PKEY_check
    - EVP_PKEY_get_id
    - TEST_int_eq
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - load_example_key
    - EVP_PKEY_CTX_new_from_pkey
    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:3460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3465,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3466,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:3466,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3468,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:3468,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3469,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:3469,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:3470,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pkey
    - mac
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3458
    functionDepth: 8
    functionLinenumber: 3458
    functionLinenumberEnd: 3476
    functionName: get_cmac_val
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - TEST_ptr
    - EVP_DigestSignInit_ex
    - TEST_true
    - EVP_DigestSignUpdate
    - TEST_size_t_eq
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:3493,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:3498,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3501,1
    - Dst: EVP_PKEY_keygen_init
      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_ctrl
      Src: /src/openssl/test/evp_extra_test.c:3502,1
    - Dst: EVP_aes_256_cbc
      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_ctrl
      Src: /src/openssl/test/evp_extra_test.c:3506,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3510,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:3510,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3511,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3512,1
    - Dst: get_cmac_val
      Src: /src/openssl/test/evp_extra_test.c:3512,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3516,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/openssl/test/evp_extra_test.c:3522,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test.c:3522,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3523,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3524,1
    - Dst: get_cmac_val
      Src: /src/openssl/test/evp_extra_test.c:3524,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3525,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3532,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3533,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3477
    functionDepth: 9
    functionLinenumber: 3477
    functionLinenumberEnd: 3535
    functionName: test_CMAC_keygen
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_aes_256_cbc
    - TEST_ptr
    - TEST_mem_eq
    - TEST_skip
    - get_cmac_val
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_free
    - EVP_PKEY_new_CMAC_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int test_CMAC_keygen(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3553,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3553,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3559,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3561,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:3561,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3562,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/evp_extra_test.c:3562,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3562,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3563,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3563,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3566,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/evp_extra_test.c:3566,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3569,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/evp_extra_test.c:3569,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3572,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:3572,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3573,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3580,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3538
    functionDepth: 6
    functionLinenumber: 3538
    functionLinenumberEnd: 3583
    functionName: test_HKDF
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_derive
    - TEST_ptr
    - EVP_sha256
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_hkdf_salt
    - TEST_int_gt
    - EVP_PKEY_CTX_add1_hkdf_info
    - memset
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_HKDF(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3600,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3600,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3604,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3606,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:3606,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3607,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/evp_extra_test.c:3607,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3607,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3608,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3608,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3611,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/evp_extra_test.c:3611,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3614,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/evp_extra_test.c:3614,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3617,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:3617,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3618,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3585
    functionDepth: 6
    functionLinenumber: 3585
    functionLinenumberEnd: 3627
    functionName: test_emptyikm_HKDF
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_derive
    - TEST_ptr
    - EVP_sha256
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_hkdf_salt
    - TEST_int_gt
    - EVP_PKEY_CTX_add1_hkdf_info
    - memset
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_emptyikm_HKDF(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3645,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3645,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3649,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3651,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:3651,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3652,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/evp_extra_test.c:3652,1
    - Dst: EVP_sha256
      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_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3653,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3656,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3656,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3659,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/evp_extra_test.c:3659,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3662,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/evp_extra_test.c:3662,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3665,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:3665,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3666,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3672,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3629
    functionDepth: 6
    functionLinenumber: 3629
    functionLinenumberEnd: 3675
    functionName: test_empty_salt_info_HKDF
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_derive
    - TEST_ptr
    - EVP_sha256
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_hkdf_salt
    - TEST_int_gt
    - EVP_PKEY_CTX_add1_hkdf_info
    - memset
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    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:3681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3687,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3687,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3690,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3696,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3696,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3699,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3699,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3678
    functionDepth: 2
    functionLinenumber: 3678
    functionLinenumberEnd: 3707
    functionName: test_X509_PUBKEY_inplace
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - d2i_X509_PUBKEY
    - TEST_ptr
    - X509_PUBKEY_free
    - TEST_true
    - X509_PUBKEY_get0
    - X509_PUBKEY_new_ex
    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:3716,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3717,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3718,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3718,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3719,1
    - Dst: X509_PUBKEY_dup
      Src: /src/openssl/test/evp_extra_test.c:3719,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/evp_extra_test.c:3720,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3723,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3723,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3724,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3724,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/evp_extra_test.c:3725,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3725,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3725,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3728,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3733,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3733,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3734,1
    - Dst: X509_PUBKEY_dup
      Src: /src/openssl/test/evp_extra_test.c:3734,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3737,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3739,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3739,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3745,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3746,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3748
      start: 3709
    functionDepth: 6
    functionLinenumber: 3709
    functionLinenumberEnd: 3748
    functionName: test_X509_PUBKEY_dup
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - d2i_X509_PUBKEY
    - TEST_ptr
    - X509_PUBKEY_dup
    - X509_PUBKEY_free
    - TEST_true
    - X509_PUBKEY_get0
    - X509_PUBKEY_new_ex
    - TEST_ptr_ne
    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:3764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3765,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3766,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:3766,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/evp_extra_test.c:3772,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3773,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3774,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3774,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/evp_extra_test.c:3778,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3779,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3780,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3782,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3782,1
    - Dst: strcpy
      Src: /src/openssl/test/evp_extra_test.c:3790,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3792,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3794,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3796,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:3796,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3800,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3802,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:3802,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:3803,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3810,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/test/evp_extra_test.c:3810,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3810,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3811,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/openssl/test/evp_extra_test.c:3811,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:3812,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3812,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:3818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3819,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3820,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:3820,1
    - Dst: EVP_MD_CTX_settable_params
      Src: /src/openssl/test/evp_extra_test.c:3828,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3829,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3830,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:3830,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:3832,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3836,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:3837,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3839,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3841,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:3841,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3847,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3848,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3851
      start: 3752
    functionDepth: 8
    functionLinenumber: 3752
    functionLinenumberEnd: 3851
    functionName: test_EVP_PKEY_CTX_get_set_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - EVP_PKEY_CTX_gettable_params
    - TEST_true
    - EVP_DigestSignInit_ex
    - EVP_PKEY_CTX_get_signature_md
    - TEST_ptr_null
    - TEST_str_eq
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_set_params
    - TEST_ptr_eq
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_settable_params
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_MD_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_get_params
    - strcmp
    - memset
    - strcpy
    - EVP_MD_CTX_settable_params
    - EVP_PKEY_CTX_free
    - EVP_sha256
    - EVP_PKEY_sign_init
    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:3867,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3867,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3868,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:3868,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3869,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3869,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3870,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3870,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3871,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3872,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3872,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3873,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3873,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3875,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3875,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3876,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3876,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3877,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3877,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3878,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3878,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3880,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3880,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3883,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:3883,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3886,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:3886,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3887,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:3887,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3892,1
    - Dst: test_EVP_PKEY_CTX_get_set_params
      Src: /src/openssl/test/evp_extra_test.c:3895,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3898,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3899,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:3900,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:3901,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3902,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3903,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3904,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3905,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3906,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3854
    functionDepth: 9
    functionLinenumber: 3854
    functionLinenumberEnd: 3909
    functionName: test_DSA_get_set_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - TEST_int_gt
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - BN_new
    - EVP_PKEY_CTX_free
    - test_EVP_PKEY_CTX_get_set_params
    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:3917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3918
      start: 3915
    functionDepth: 8
    functionLinenumber: 3915
    functionLinenumberEnd: 3918
    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:3935,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3935,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3936,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:3936,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3937,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3937,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3938,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3938,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3939,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3939,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3941,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3941,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3942,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3942,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3943,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3943,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3945,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:3945,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3948,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:3948,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3949,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:3949,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3954,1
    - Dst: test_EVP_PKEY_CTX_get_set_params
      Src: /src/openssl/test/evp_extra_test.c:3957,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3960,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3961,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:3962,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:3963,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3964,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3965,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3966,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3922
    functionDepth: 9
    functionLinenumber: 3922
    functionLinenumberEnd: 3969
    functionName: test_RSA_get_set_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - TEST_int_gt
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - BN_new
    - EVP_PKEY_CTX_free
    - test_EVP_PKEY_CTX_get_set_params
    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:3978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3980,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:3980,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3981,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:3981,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:3988,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3989,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3991,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3993,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3995,1
    - Dst: EVP_PKEY_encrypt_init_ex
      Src: /src/openssl/test/evp_extra_test.c:3995,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:4003,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:4005,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:4007,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4009,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:4009,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:4012,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:4013,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4020,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4024
      start: 3971
    functionDepth: 14
    functionLinenumber: 3971
    functionLinenumberEnd: 4024
    functionName: test_RSA_OAEP_set_get_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - load_example_rsa_key
    - TEST_ptr
    - TEST_skip
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_free
    - TEST_str_eq
    - EVP_PKEY_encrypt_init_ex
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:4034,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:4034,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4035,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:4035,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4036,1
    - Dst: EVP_PKEY_encrypt_init
      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_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/evp_extra_test.c:4039,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4042,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_extra_test.c:4042,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4045,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/test/evp_extra_test.c:4045,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:4046,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4050,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/test/evp_extra_test.c:4050,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4056,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4057,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4027
    functionDepth: 14
    functionLinenumber: 4027
    functionLinenumberEnd: 4060
    functionName: test_RSA_OAEP_set_null_label
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - load_example_rsa_key
    - TEST_ptr
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_free
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: int test_RSA_OAEP_set_null_label(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_extra_test.c:4079,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4080,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4082,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:4082,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4083,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:4083,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4084,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:4084,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4085,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/evp_extra_test.c:4085,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4088,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/test/evp_extra_test.c:4088,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:4088,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4090,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:4090,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4093,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:4093,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4094,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:4094,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4097,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_extra_test.c:4097,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4098,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:4098,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4099,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:4099,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4101,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/openssl/test/evp_extra_test.c:4101,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4102,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/evp_extra_test.c:4102,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4105,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/test/evp_extra_test.c:4105,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:4105,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4110,1
    - Dst: EVP_PKEY_verify_recover
      Src: /src/openssl/test/evp_extra_test.c:4110,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:4113,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4114,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test.c:4117,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test.c:4119,1
    - Dst: EVP_PKEY_verify_recover
      Src: /src/openssl/test/evp_extra_test.c:4119,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test.c:4124,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4125,1
    - Dst: ERR_GET_LIB
      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: ERR_GET_REASON
      Src: /src/openssl/test/evp_extra_test.c:4126,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4127,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4133,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4134,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:4136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:4137,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4062
    functionDepth: 14
    functionLinenumber: 4062
    functionLinenumberEnd: 4139
    functionName: test_RSA_verify_recover_rejects_short_buffer
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_verify_recover_init
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_PROVIDER_available
    - ERR_GET_REASON
    - ERR_peek_error
    - EVP_PKEY_verify_recover
    - EVP_PKEY_CTX_new_from_pkey
    - ERR_clear_error
    - OPENSSL_free
    - TEST_int_le
    - TEST_int_gt
    - TEST_int_eq
    - EVP_PKEY_get_size
    - ERR_GET_LIB
    - OPENSSL_malloc
    - load_example_rsa_key
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - EVP_sha256
    - TEST_skip
    - TEST_size_t_eq
    - EVP_PKEY_sign_init
    linkageType: ''
    returnType: int
    signature: int test_RSA_verify_recover_rejects_short_buffer(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4149,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:4149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4150,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:4150,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4152,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/evp_extra_test.c:4152,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4153,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/evp_extra_test.c:4153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4154,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:4154,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4155,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/evp_extra_test.c:4155,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test.c:4160,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/evp_extra_test.c:4160,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_extra_test.c:4163,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4166,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/evp_extra_test.c:4166,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4167,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/evp_extra_test.c:4167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:4168,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4169,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/evp_extra_test.c:4169,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4170,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4171,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/evp_extra_test.c:4171,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4176,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:4178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:4179,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4181
      start: 4141
    functionDepth: 14
    functionLinenumber: 4141
    functionLinenumberEnd: 4181
    functionName: test_RSA_encrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_rsa_key
    - EVP_PKEY_encrypt
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - TEST_openssl_errors
    - TEST_int_le
    - EVP_PKEY_decrypt
    - TEST_int_gt
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_free
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_RSA_encrypt(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:4192,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4200,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:4200,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:4200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4201,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:4201,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:4201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4202,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:4202,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:4202,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4203,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:4203,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:4203,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4204,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:4204,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:4204,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4207,1
    - Dst: RSA_new
      Src: /src/openssl/test/evp_extra_test.c:4207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4208,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4209,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4209,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4212,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/evp_extra_test.c:4212,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4217,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/evp_extra_test.c:4217,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4223,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/evp_extra_test.c:4223,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4228,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:4228,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test.c:4234,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4235,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4236,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4237,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4238,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4239,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4240,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4184
    functionDepth: 8
    functionLinenumber: 4184
    functionLinenumberEnd: 4244
    functionName: test_RSA_legacy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_RSA
    - EVP_DigestSignInit
    - TEST_ptr
    - EVP_sha256
    - TEST_skip
    - RSA_new
    - TEST_true
    - RSA_set0_factors
    - RSA_free
    - BN_free
    - RSA_set0_key
    - BN_value_one
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_new
    - BN_dup
    linkageType: ''
    returnType: int
    signature: int test_RSA_legacy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:4270,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:4272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4274,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4274,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4275,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4275,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4276,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4276,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4278,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4278,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4281,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4283,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4284,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4287,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4288,1
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/test/evp_extra_test.c:4288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4289,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4290,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:4290,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4295,1
    - Dst: EVP_DecryptInit_ex2
      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_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4296,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4302,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4302,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4304,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4305,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4308,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4309,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/test/evp_extra_test.c:4309,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4310,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4311,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4316,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4317,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4248
    functionDepth: 6
    functionLinenumber: 4248
    functionLinenumberEnd: 4319
    functionName: test_decrypt_null_chunks
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_DecryptFinal
    - EVP_EncryptFinal
    - TEST_ptr
    - EVP_CIPHER_CTX_get_params
    - TEST_mem_eq
    - EVP_DecryptUpdate
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_DecryptInit_ex2
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - EVP_EncryptUpdate
    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:4329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4327
    functionDepth: 8
    functionLinenumber: 4327
    functionLinenumberEnd: 4330
    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:4343,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4344,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4344,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4345,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4345,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4346,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4346,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4347,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4347,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4348,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4348,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4349,1
    - Dst: DH_new
      Src: /src/openssl/test/evp_extra_test.c:4349,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4350,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/evp_extra_test.c:4350,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4351,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/evp_extra_test.c:4351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4352,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4352,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4353,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4353,1
    - Dst: DH_get_2048_256
      Src: /src/openssl/test/evp_extra_test.c:4357,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4358,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4363,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4364,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/evp_extra_test.c:4364,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4368,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/openssl/test/evp_extra_test.c:4368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4369,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:4369,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4372,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:4372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4374,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4377,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/openssl/test/evp_extra_test.c:4377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4378,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:4378,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4381,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:4381,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/evp_extra_test.c:4384,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4389,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4390,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4391,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4392,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4393,1
    - Dst: DH_free
      Src: /src/openssl/test/evp_extra_test.c:4394,1
    - Dst: DH_free
      Src: /src/openssl/test/evp_extra_test.c:4395,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4398
      start: 4333
    functionDepth: 4
    functionLinenumber: 4333
    functionLinenumberEnd: 4398
    functionName: test_EVP_PKEY_set1_DH
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - DH_set0_pqg
    - EVP_PKEY_get_octet_string_param
    - BN_set_word
    - TEST_ptr
    - EVP_PKEY_get_id
    - TEST_size_t_ne
    - DH_new
    - TEST_true
    - DH_free
    - EVP_PKEY_get_bn_param
    - TEST_int_eq
    - BN_free
    - DH_set0_key
    - DH_get_2048_256
    - EVP_PKEY_free
    - BN_new
    - EVP_PKEY_new
    - 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:4417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4422,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:4422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4427,1
    - Dst: EVP_PKEY_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_PKEY_set_type
      Src: /src/openssl/test/evp_extra_test.c:4428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4429,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4429,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4434,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:4434,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4435,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:4435,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4440,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4441,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4442,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4409
    functionDepth: 8
    functionLinenumber: 4409
    functionLinenumberEnd: 4444
    functionName: test_keygen_with_empty_template
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - TEST_skip
    - EVP_PKEY_keygen
    - TEST_true
    - EVP_PKEY_set_type
    - TEST_int_gt
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_new
    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:4456,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4463,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:4466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4467,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:4486,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:4490,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_extra_test.c:4495,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:4499,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:4500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4500,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4509,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:4510,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4511,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4513
      start: 4454
    functionDepth: 5
    functionLinenumber: 4454
    functionLinenumberEnd: 4513
    functionName: test_pkey_ctx_fail_without_provider
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_LIB_CTX_free
    - TEST_error
    - TEST_ptr_null
    - EVP_PKEY_CTX_new_from_name
    - TEST_info
    - EVP_PKEY_CTX_free
    - OSSL_PROVIDER_unload
    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:4526,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4527,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/evp_extra_test.c:4527,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4529,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/evp_extra_test.c:4530,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4531,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:4534,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:4535,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_extra_test.c:4537,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:4538,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4539,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:4539,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4540,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/evp_extra_test.c:4540,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4541,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4544
      start: 4515
    functionDepth: 10
    functionLinenumber: 4515
    functionLinenumberEnd: 4544
    functionName: test_rand_agglomeration
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_free
    - EVP_RAND_CTX_set_params
    - TEST_ptr
    - TEST_mem_eq
    - EVP_RAND_CTX_new
    - EVP_RAND_generate
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_RAND_fetch
    - memset
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_rand_agglomeration(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4598,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:4602,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4605,1
    - Dst: EVP_aes_128_ofb
      Src: /src/openssl/test/evp_extra_test.c:4611,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4614,1
    - Dst: EVP_aes_128_cfb
      Src: /src/openssl/test/evp_extra_test.c:4620,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4623,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/evp_extra_test.c:4629,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4632,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4640,1
    - Dst: EVP_aes_128_ccm
      Src: /src/openssl/test/evp_extra_test.c:4643,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4646,1
    - Dst: EVP_aes_128_ocb
      Src: /src/openssl/test/evp_extra_test.c:4656,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4669,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4669,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4670,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4670,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4671,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/evp_extra_test.c:4671,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4672,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4672,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4674,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/evp_extra_test.c:4674,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4675,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4675,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4676,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:4676,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:4678,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:4680,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4685,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4686,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4690,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4690,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4691,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4691,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4694,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4697,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4703,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4705,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 92
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4707
      start: 4551
    functionDepth: 6
    functionLinenumber: 4551
    functionLinenumberEnd: 4707
    functionName: test_evp_iv_aes
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_aes_128_ccm
    - TEST_size_t_gt
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_aes_128_ofb
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_aes_128_cbc
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_aes_128_gcm
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_updated_iv
    - TEST_skip
    - EVP_aes_128_ocb
    - EVP_aes_128_cfb
    - EVP_EncryptUpdate
    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:4751,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4755,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4760,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4765,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4770,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4775,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4788,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4789,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4789,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4790,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4790,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4791,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4791,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4793,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/evp_extra_test.c:4793,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4794,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4794,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4795,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:4795,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:4797,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:4799,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4802,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4803,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4806,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4806,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4807,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4807,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4809,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4814,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4815,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4710
    functionDepth: 6
    functionLinenumber: 4710
    functionLinenumberEnd: 4817
    functionName: test_evp_iv_des
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_size_t_gt
    - EVP_CIPHER_CTX_get_updated_iv
    - TEST_ptr
    - TEST_mem_eq
    - TEST_skip
    - TEST_true
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_EncryptUpdate
    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:4831,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4833,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4833,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4834,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/test/evp_extra_test.c:4834,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4835,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:4835,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4842
      start: 4821
    functionDepth: 4
    functionLinenumber: 4821
    functionLinenumberEnd: 4842
    functionName: test_evp_bf_default_keylen
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_skip
    - EVP_CIPHER_get_key_length
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_free
    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:4871,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:4875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4876,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4877,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:4877,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4878,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_extra_test.c:4878,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4879,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:4879,1
    - Dst: i2d_PublicKey
      Src: /src/openssl/test/evp_extra_test.c:4881,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:4883,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/evp_extra_test.c:4884,1
    - Dst: i2d_PublicKey
      Src: /src/openssl/test/evp_extra_test.c:4887,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:4888,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4889,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4895,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4895,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4896,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/evp_extra_test.c:4896,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4897,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:4897,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4901,1
    - Dst: d2i_PublicKey
      Src: /src/openssl/test/evp_extra_test.c:4901,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4904,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:4904,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4911,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4912,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4914,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:4915,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4856
    functionDepth: 13
    functionLinenumber: 4856
    functionLinenumberEnd: 4918
    functionName: test_ecpub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EC_KEY_free
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - TEST_int_gt
    - TEST_int_eq
    - i2d_PublicKey
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_keygen
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - TEST_int_lt
    - d2i_PublicKey
    - TEST_skip
    - TEST_int_ge
    - EVP_PKEY_CTX_new_id
    - EC_KEY_new_by_curve_name
    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:4928,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4929,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4930,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:4930,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4931,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:4931,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4932,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/test/evp_extra_test.c:4932,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4933,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_keygen_md
      Src: /src/openssl/test/evp_extra_test.c:4933,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4934,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:4934,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:4936,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4937,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4921
    functionDepth: 10
    functionLinenumber: 4921
    functionLinenumberEnd: 4940
    functionName: test_EVP_rsa_pss_with_keygen_bits
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_CTX_set_rsa_pss_keygen_md
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - EVP_MD_fetch
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_MD_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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:4952,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:4952,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4953,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:4953,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4954,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4954,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4955,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:4955,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4956,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/evp_extra_test.c:4956,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4957,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/test/evp_extra_test.c:4957,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4958,1
    - Dst: EVP_PKEY_CTX_get_rsa_pss_saltlen
      Src: /src/openssl/test/evp_extra_test.c:4958,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4959,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4961,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4962,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:4963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4966
      start: 4942
    functionDepth: 14
    functionLinenumber: 4942
    functionLinenumberEnd: 4966
    functionName: test_EVP_rsa_pss_set_saltlen
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_rsa_key
    - EVP_DigestSignInit
    - TEST_ptr
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - TEST_true
    - TEST_int_gt
    - EVP_MD_fetch
    - EVP_PKEY_CTX_get_rsa_pss_saltlen
    - TEST_int_eq
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:4973,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4975,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4979
      start: 4968
    functionDepth: 13
    functionLinenumber: 4968
    functionLinenumberEnd: 4979
    functionName: test_EVP_rsa_invalid_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    - TEST_ptr
    - EVP_PKEY_free
    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:4986,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4988,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - vctx
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4992
      start: 4982
    functionDepth: 4
    functionLinenumber: 4982
    functionLinenumberEnd: 4992
    functionName: md_names
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - EVP_CIPHER_fetch
    - TEST_ptr
    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:5001,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5005,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:5008,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5009,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5016,1
    - Dst: EVP_MD_names_do_all
      Src: /src/openssl/test/evp_extra_test.c:5016,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5019,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:5024,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5025,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5027
      start: 4998
    functionDepth: 10
    functionLinenumber: 4998
    functionLinenumberEnd: 5027
    functionName: test_names_do_all
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_names_do_all
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - EVP_MD_free
    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:5097,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5097,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5102,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5102,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: 5107
      start: 5092
    functionDepth: 5
    functionLinenumber: 5092
    functionLinenumberEnd: 5107
    functionName: evp_init_seq_set_iv
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_ctrl
    - TEST_true
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int evp_init_seq_set_iv(EVP_CIPHER_CTX *ctx, const EVP_INIT_TEST_st
      *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_extra_test.c:5143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5147
      start: 5135
    functionDepth: 3
    functionLinenumber: 5135
    functionLinenumberEnd: 5147
    functionName: seen_name
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int seen_name(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_extra_test.c:5160,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_extra_test.c:5161,1
    - Dst: seen_name
      Src: /src/openssl/test/evp_extra_test.c:5165,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:5167,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_extra_test.c:5169,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5178,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5179,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5180,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5181,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5182,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5183,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5184,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5185,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_extra_test.c:5186,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/test/evp_extra_test.c:5197,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/test/evp_extra_test.c:5202,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:5203,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_extra_test.c:5204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - ciph
    - arg
    argTypes:
    - EVP_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5149
    functionDepth: 9
    functionLinenumber: 5149
    functionLinenumberEnd: 5208
    functionName: collect_cipher_cb
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_get0_name
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_flags
    - seen_name
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: void
    signature: void collect_cipher_cb(EVP_CIPHER *ciph, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/openssl/test/evp_extra_test.c:5217,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:5219,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:5222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5223,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/openssl/test/evp_extra_test.c:5226,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5228
      start: 5210
    functionDepth: 2
    functionLinenumber: 5210
    functionLinenumberEnd: 5228
    functionName: setup_cipher_list
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - TEST_size_t_gt
    - OPENSSL_malloc
    - EVP_CIPHER_do_all_provided
    linkageType: ''
    returnType: int
    signature: int setup_cipher_list(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:5242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5245
      start: 5230
    functionDepth: 4
    functionLinenumber: 5230
    functionLinenumberEnd: 5245
    functionName: cleanup_cipher_list
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_cipher_list(void)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:5288,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5289,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:5290,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5291,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/evp_extra_test.c:5293,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5296,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5296,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5301,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5301,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5308,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5308,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5312,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5312,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5324,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5324,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5329,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5329,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5336,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5342,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5342,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5348,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5348,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5354,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5354,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/evp_extra_test.c:5363,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5368,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5370,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5371,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5378,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5378,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5383,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5383,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5390,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5390,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5394,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5394,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5400,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5400,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5405,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5405,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5411,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5414,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5414,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5420,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5420,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5426,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5426,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5433,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5437,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5442,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5442,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5447,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5447,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5453,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5453,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5457,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5457,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5464,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5464,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5470,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5473,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5473,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5479,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5479,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5485,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5485,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5492,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5496,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5496,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5502,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5503,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5509,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5510,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5516,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5522,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5529,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5533,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5534,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5535,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 211
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5537
      start: 5250
    functionDepth: 6
    functionLinenumber: 5250
    functionLinenumberEnd: 5537
    functionName: test_evp_diff_order_init
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_set_padding
    - TEST_ptr
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_CIPHER_get_block_size
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_get_params
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_EncryptFinal_ex
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - TEST_info
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_evp_diff_order_init(int idx)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:5584,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5585,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:5586,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5587,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/evp_extra_test.c:5589,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5605,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5605,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5610,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5610,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5617,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5617,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5621,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5621,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5628,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5628,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5635,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5638,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5638,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5644,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5644,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5650,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5650,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/evp_extra_test.c:5659,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5664,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5666,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5667,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5667,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5674,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5674,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5678,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5678,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5684,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5684,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5690,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5690,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5696,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5696,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5703,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5707,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5713,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5713,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5718,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5718,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5725,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5725,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5729,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5729,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5735,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5735,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5741,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5744,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5744,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5750,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5750,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5756,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5756,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5763,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5767,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5767,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5773,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5774,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5780,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5786,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5790,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5791,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 175
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5794
      start: 5545
    functionDepth: 6
    functionLinenumber: 5545
    functionLinenumberEnd: 5794
    functionName: test_evp_stale_key_reinit
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_set_padding
    - TEST_ptr
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_CIPHER_get_block_size
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_get_params
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_EncryptFinal_ex
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - TEST_info
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_evp_stale_key_reinit(int idx)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/evp_extra_test.c:5834,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:5837,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5838,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:5839,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5840,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5852,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5852,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5857,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5857,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5863,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5863,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5867,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5867,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5873,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5873,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5880,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5884,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5884,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5890,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5890,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5895,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5895,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/evp_extra_test.c:5903,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5907,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:5909,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5910,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:5910,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5917,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5917,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5922,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5922,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:5927,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5930,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5930,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5934,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5934,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5941,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5941,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5945,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5945,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5955,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5955,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5961,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5965,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5965,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5971,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:5971,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5976,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5976,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:5984,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5985,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5992,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5996,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5997,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 139
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5999
      start: 5803
    functionDepth: 6
    functionLinenumber: 5803
    functionLinenumberEnd: 5999
    functionName: test_evp_decrypt_roundtrip_multistep
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CIPHER_get_block_size
    - TEST_true
    - TEST_info
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_get_tag_length
    - OSSL_PARAM_construct_end
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_DecryptInit_ex
    - EVP_DecryptFinal_ex
    - EVP_EncryptInit_ex
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_set_padding
    - TEST_size_t_eq
    - EVP_CIPHER_CTX_get_params
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_evp_decrypt_roundtrip_multistep(int idx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6018,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6023,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6023,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6027,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6027,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6031,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:6031,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6035,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6035,1
    - Dst: evp_init_seq_set_iv
      Src: /src/openssl/test/evp_extra_test.c:6039,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6043,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6043,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6047,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6047,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6051,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6051,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6057,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6057,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6064,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6064,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6068,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6073,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6073,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6079,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:6087,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6088,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6089,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 84
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6006
    functionDepth: 6
    functionLinenumber: 6006
    functionLinenumberEnd: 6091
    functionName: test_evp_init_seq
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - TEST_ptr
    - evp_init_seq_set_iv
    - TEST_mem_eq
    - TEST_true
    - TEST_int_gt
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_fetch
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_CipherInit_ex
    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:6107,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6108,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6108,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6110,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6110,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6112,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6112,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6114,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6114,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6116,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6118,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6118,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6120,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6120,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6122,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6122,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6124,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6128,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6131
      start: 6097
    functionDepth: 5
    functionLinenumber: 6097
    functionLinenumberEnd: 6131
    functionName: test_evp_reinit_seq
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CipherInit_ex2
    - TEST_true
    - EVP_CipherFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    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:6162,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6166,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6166,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6170,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6170,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6174,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:6174,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6178,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6178,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6183,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6183,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6187,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6191,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6191,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6195,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6195,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6200,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6200,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6204,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:6211,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6212,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6213,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6215
      start: 6152
    functionDepth: 5
    functionLinenumber: 6152
    functionLinenumberEnd: 6215
    functionName: test_evp_reset
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_CipherFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_CipherInit_ex
    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:6253,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6253,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6257,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:6258,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6262,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6262,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6266,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:6266,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6270,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6270,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6274,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:6274,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_extra_test.c:6278,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6278,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test.c:6278,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:6283,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:6284,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_extra_test.c:6288,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6292,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6292,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:6300,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6301,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6302,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6304
      start: 6241
    functionDepth: 6
    functionLinenumber: 6241
    functionLinenumberEnd: 6304
    functionName: test_evp_updated_iv
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_get_updated_iv
    - TEST_ptr
    - TEST_false
    - TEST_true
    - EVP_CipherFinal_ex
    - EVP_CIPHER_fetch
    - TEST_int_ge
    - TEST_mem_ne
    - EVP_CIPHER_free
    - ERR_peek_error
    - fips_provider_version_ge
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: int test_evp_updated_iv(int idx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6335,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:6336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6340,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6340,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6342,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6342,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6344,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6344,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6347,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6347,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6351,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6351,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6354,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6356,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6356,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6358,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6358,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6360,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6360,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6362,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6369,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6369,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6375,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6376,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6378
      start: 6315
    functionDepth: 6
    functionLinenumber: 6315
    functionLinenumberEnd: 6378
    functionName: test_evp_final_no_tag
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_false
    - TEST_ptr
    - EVP_EncryptInit_ex
    - TEST_mem_eq
    - EVP_DecryptUpdate
    - TEST_true
    - EVP_EncryptFinal_ex
    - TEST_int_gt
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_evp_final_no_tag(int idx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6414,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6418,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6418,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6422,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6422,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6426,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6426,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6432,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6432,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6436,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6436,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:6440,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6441,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6441,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6446,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6446,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6450,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6454,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6454,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6460,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6465,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6465,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6471,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6471,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6475,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6475,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6479,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6479,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6484,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6484,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6488,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6492,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:6492,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6498,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:6505,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6506,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6507,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6509
      start: 6402
    functionDepth: 5
    functionLinenumber: 6402
    functionLinenumberEnd: 6509
    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_ptr
    - TEST_mem_eq
    - TEST_true
    - TEST_int_gt
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_fetch
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - TEST_info
    - EVP_CipherInit_ex
    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:6534,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6534,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6537,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6537,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6541,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6541,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6544,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6544,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6548,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6550,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:6550,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_extra_test.c:6553,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6554,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6554,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_extra_test.c:6556,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_extra_test.c:6559,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6563,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6564,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6566
      start: 6520
    functionDepth: 6
    functionLinenumber: 6520
    functionLinenumberEnd: 6566
    functionName: test_ivlen_change
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_params
    - TEST_false
    - TEST_ptr
    - ERR_clear_last_mark
    - TEST_true
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - ERR_set_mark
    - EVP_CipherInit_ex
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int test_ivlen_change(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6587,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6590,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6590,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6595,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6595,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6598,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6598,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6601,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6601,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_extra_test.c:6605,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6606,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6606,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_extra_test.c:6609,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_extra_test.c:6612,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6616,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6619
      start: 6579
    functionDepth: 6
    functionLinenumber: 6579
    functionLinenumberEnd: 6619
    functionName: test_iv_reuse
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_new
    - TEST_false
    - TEST_ptr
    - ERR_clear_last_mark
    - TEST_true
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - ERR_set_mark
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_iv_reuse(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:6656,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6658,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6658,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6661,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6661,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6665,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6665,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6668,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6668,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6672,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: ERR_set_mark
      Src: /src/openssl/test/evp_extra_test.c:6677,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6678,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:6678,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_extra_test.c:6680,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_extra_test.c:6683,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6687,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6690
      start: 6641
    functionDepth: 6
    functionLinenumber: 6641
    functionLinenumberEnd: 6690
    functionName: test_keylen_change
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_params
    - TEST_false
    - TEST_ptr
    - ERR_clear_last_mark
    - TEST_skip
    - TEST_true
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - ERR_set_mark
    - EVP_CipherInit_ex
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int test_keylen_change(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_extra_test.c:6706,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_extra_test.c:6706,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:6708,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6714
      start: 6701
    functionDepth: 7
    functionLinenumber: 6701
    functionLinenumberEnd: 6714
    functionName: test_ecx_short_keys
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new_raw_private_key_ex
    - OBJ_nid2sn
    - 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: 6735
      start: 6725
    functionDepth: 0
    functionLinenumber: 6725
    functionLinenumberEnd: 6735
    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:6755,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:6760,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_extra_test.c:6765,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_extra_test.c:6765,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6770,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6770,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:6773,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:6776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6779,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6779,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:6782,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:6782,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_extra_test.c:6791,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test.c:6791,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test.c:6793,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6797,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6798,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6799,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6802
      start: 6739
    functionDepth: 8
    functionLinenumber: 6739
    functionLinenumberEnd: 6802
    functionName: test_ecx_not_private_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - EVP_DigestSignInit
    - TEST_ptr
    - ERR_clear_error
    - OPENSSL_malloc
    - OPENSSL_free
    - TEST_skip
    - ERR_GET_REASON
    - EVP_DigestSign
    - TEST_int_eq
    - EVP_PKEY_free
    - ERR_peek_error
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_new_raw_public_key_ex
    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:6817,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6821,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/evp_extra_test.c:6821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6825,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:6825,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6827,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:6827,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6828,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:6828,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6833,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6833,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6834,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6834,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6836,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6836,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6837,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6837,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6838,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6838,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6839,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6839,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6842,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6845,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6845,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6846,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6846,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6848,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6848,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6849,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6849,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6850,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6850,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6851,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6851,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6857,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6858,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6859,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/evp_extra_test.c:6860,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6862
      start: 6805
    functionDepth: 8
    functionLinenumber: 6805
    functionLinenumberEnd: 6862
    functionName: test_sign_continuation
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_int
    - EVP_DigestSignFinal
    - TEST_false
    - TEST_ptr
    - fake_rsa_start
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_DigestSignInit_ex
    - EVP_DigestSignUpdate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - fake_rsa_finish
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_sign_continuation(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6878,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:6878,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6879,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:6879,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6880,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/test/evp_extra_test.c:6880,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:6881,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:6881,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6888,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/evp_extra_test.c:6888,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6892,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:6892,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:6896,1
    - Dst: EVP_PKEY_sign_init_ex2
      Src: /src/openssl/test/evp_extra_test.c:6896,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6902,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6903,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/evp_extra_test.c:6904,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6907
      start: 6869
    functionDepth: 8
    functionLinenumber: 6869
    functionLinenumberEnd: 6907
    functionName: test_EVP_PKEY_sign_init_mismatched_key_alg
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_sign_init_ex2
    - EVP_PKEY_keygen
    - TEST_int_gt
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_sign_init_mismatched_key_alg(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6927,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6927,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6928,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6928,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6931,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6934,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6934,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6936,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6936,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6938,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6938,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6940,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6940,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6943,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6946,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:6946,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6947,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6948,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6951,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6953,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6955,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:6957,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6958,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:6958,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:6959,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:6960,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:6961,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6965,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6966,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    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: 6969
      start: 6910
    functionDepth: 6
    functionLinenumber: 6910
    functionLinenumberEnd: 6969
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - TEST_size_t_eq
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_size_t
    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:6987,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6990,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6993,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6996,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6996,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6998,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6998,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7000,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7000,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:7002,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:7005,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7008,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:7008,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7009,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:7009,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:7014,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7015,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: 7018
      start: 6971
    functionDepth: 6
    functionLinenumber: 6971
    functionLinenumberEnd: 7018
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_set_params
    - TEST_mem_eq
    - EVP_DecryptUpdate
    - TEST_true
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_size_t
    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:7054,1
    - Dst: aes_gcm_decrypt
      Src: /src/openssl/test/evp_extra_test.c:7057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7060
      start: 7020
    functionDepth: 0
    functionLinenumber: 7020
    functionLinenumberEnd: 7060
    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:7076,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:7076,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7077,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:7077,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:7080,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7083,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:7083,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7084,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7084,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7086,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:7086,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:7089,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:7094,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7095,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: 7098
      start: 7063
    functionDepth: 6
    functionLinenumber: 7063
    functionLinenumberEnd: 7098
    functionName: rc4_encrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_EncryptUpdate
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_size_t
    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:7113,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:7116,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:7119,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7122,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:7122,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7123,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7123,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:7125,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:7130,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7131,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: 7134
      start: 7100
    functionDepth: 6
    functionLinenumber: 7100
    functionLinenumberEnd: 7134
    functionName: rc4_decrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_mem_eq
    - EVP_DecryptUpdate
    - TEST_true
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_size_t
    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:7158,1
    - Dst: rc4_encrypt
      Src: /src/openssl/test/evp_extra_test.c:7160,1
    - Dst: rc4_decrypt
      Src: /src/openssl/test/evp_extra_test.c:7162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7164
      start: 7136
    functionDepth: 7
    functionLinenumber: 7136
    functionLinenumberEnd: 7164
    functionName: test_aes_rc4_keylen_change_cve_2023_5363
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - rc4_encrypt
    - TEST_skip
    - rc4_decrypt
    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:7172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7173,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7176,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:7176,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7184
      start: 7167
    functionDepth: 8
    functionLinenumber: 7167
    functionLinenumberEnd: 7184
    functionName: test_invalid_ctx_for_digest
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_invalid_ctx_for_digest(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7196,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:7196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7199,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:7199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7203,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:7203,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7207,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7207,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7211,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:7211,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7215,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7215,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:7220,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7223
      start: 7186
    functionDepth: 6
    functionLinenumber: 7186
    functionLinenumberEnd: 7223
    functionName: test_evp_cipher_negative_length
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - TEST_ptr
    - EVP_DecryptUpdate
    - EVP_EncryptInit_ex2
    - EVP_DecryptInit_ex2
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_evp_cipher_negative_length(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_ede3_cfb64
      Src: /src/openssl/test/evp_extra_test.c:7232,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/test/evp_extra_test.c:7233,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/test/evp_extra_test.c:7236,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/test/evp_extra_test.c:7237,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7244,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7247,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/openssl/test/evp_extra_test.c:7251,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/test/evp_extra_test.c:7252,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/test/evp_extra_test.c:7253,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7256,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test.c:7260,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7263,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/openssl/test/evp_extra_test.c:7267,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/test/evp_extra_test.c:7268,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/test/evp_extra_test.c:7269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7272,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test.c:7276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7279,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7285
      start: 7225
    functionDepth: 2
    functionLinenumber: 7225
    functionLinenumberEnd: 7285
    functionName: test_EVP_CIPHER_get_type_des_ede3
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_type
    - EVP_CIPHER_get_nid
    - EVP_des_ede3_cfb64
    - EVP_des_ede3_cfb8
    - TEST_int_eq
    - EVP_des_ede3_cfb1
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_EVP_CIPHER_get_type_des_ede3(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7311,1
    - Dst: fake_pipeline_start
      Src: /src/openssl/test/evp_extra_test.c:7311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7313,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:7313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7315,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:7315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7317,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:7317,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7319,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:7322,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:7322,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:7324,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:7324,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/evp_extra_test.c:7324,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:7326,1
    - Dst: EVP_CipherPipelineEncryptInit
      Src: /src/openssl/test/evp_extra_test.c:7326,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7338,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7339,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7340,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7341,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7348,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7348,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7349,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7350,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7351,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7351,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7354,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7361,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7362,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7363,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7363,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7367,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/evp_extra_test.c:7367,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7368,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:7368,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7369,1
    - Dst: EVP_CipherPipelineEncryptInit
      Src: /src/openssl/test/evp_extra_test.c:7369,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7374,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:7374,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7377,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:7377,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7389,1
    - Dst: EVP_CipherPipelineFinal
      Src: /src/openssl/test/evp_extra_test.c:7389,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/evp_extra_test.c:7395,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7397,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:7397,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7401,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/evp_extra_test.c:7401,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7405,1
    - Dst: EVP_EncryptInit
      Src: /src/openssl/test/evp_extra_test.c:7405,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7406,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7406,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7409,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:7409,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7415,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:7415,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:7419,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7421,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:7421,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:7424,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:7426,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/evp_extra_test.c:7434,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7436,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/evp_extra_test.c:7436,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7437,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:7437,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7438,1
    - Dst: EVP_CipherPipelineDecryptInit
      Src: /src/openssl/test/evp_extra_test.c:7438,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7442,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:7442,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7443,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:7443,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7446,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:7446,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7457,1
    - Dst: EVP_CipherPipelineFinal
      Src: /src/openssl/test/evp_extra_test.c:7457,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:7461,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:7462,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7469,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7473,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7474,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7475,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7485,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7486,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7487,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7491,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7493,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:7494,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:7495,1
    - Dst: fake_pipeline_finish
      Src: /src/openssl/test/evp_extra_test.c:7496,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7498
      start: 7288
    functionDepth: 6
    functionLinenumber: 7288
    functionLinenumberEnd: 7498
    functionName: test_evp_cipher_pipeline
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_CipherPipelineFinal
    - fake_pipeline_start
    - EVP_CIPHER_CTX_reset
    - OPENSSL_free
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - TEST_false
    - EVP_EncryptInit
    - EVP_CipherPipelineDecryptInit
    - EVP_CipherPipelineUpdate
    - EVP_CIPHER_fetch
    - memset
    - EVP_CIPHER_free
    - EVP_CIPHER_can_pipeline
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_params
    - EVP_aes_256_gcm
    - EVP_CipherPipelineEncryptInit
    - EVP_CIPHER_CTX_get_params
    - fake_pipeline_finish
    - OSSL_PARAM_construct_octet_ptr
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int test_evp_cipher_pipeline(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:7515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7516,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7518,1
    - Dst: EVP_SignInit
      Src: /src/openssl/test/evp_extra_test.c:7518,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:7518,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7520,1
    - Dst: EVP_SignUpdate
      Src: /src/openssl/test/evp_extra_test.c:7520,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7522,1
    - Dst: EVP_SignFinal
      Src: /src/openssl/test/evp_extra_test.c:7522,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7525,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7532
      start: 7506
    functionDepth: 8
    functionLinenumber: 7506
    functionLinenumberEnd: 7532
    functionName: do_sign_with_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_sha256
    - EVP_SignUpdate
    - EVP_SignInit
    - TEST_true
    - EVP_SignFinal
    - TEST_int_eq
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int do_sign_with_method(EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:7541,1
    - Dst: RSA_get_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7541,1
    - Dst: orig_rsa_priv_enc
      Src: /src/openssl/test/evp_extra_test.c:7544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7545
      start: 7538
    functionDepth: 2
    functionLinenumber: 7538
    functionLinenumberEnd: 7545
    functionName: tst_rsa_priv_enc
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - RSA_get_ex_data
    - orig_rsa_priv_enc
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tst_rsa_priv_enc(int flen, const unsigned char *from, unsigned
      char *to,\n    RSA *rsa, int padding)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7550,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:7552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7556
      start: 7547
    functionDepth: 2
    functionLinenumber: 7547
    functionLinenumberEnd: 7556
    functionName: tst_rsa_pub_enc
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - RSA_get_ex_data
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tst_rsa_pub_enc(int flen, const unsigned char *from, unsigned
      char *to,\n    RSA *rsa, int padding)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7561,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:7563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7567
      start: 7558
    functionDepth: 2
    functionLinenumber: 7558
    functionLinenumberEnd: 7567
    functionName: tst_rsa_pub_enc_flen_ne_ret
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - RSA_get_ex_data
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tst_rsa_pub_enc_flen_ne_ret(int flen, const unsigned char *from,
      unsigned char *to,\n    RSA *rsa, int padding)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:7572,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:7574,1
    - Dst: RSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:7575,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:7580,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7584,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7584,1
    - Dst: RSA_get_ex_new_index
      Src: /src/openssl/test/evp_extra_test.c:7587,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7589,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:7589,1
    - Dst: RSA_new
      Src: /src/openssl/test/evp_extra_test.c:7592,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7593,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7595,1
    - Dst: RSA_set_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7595,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7597,1
    - Dst: RSA_generate_key_ex
      Src: /src/openssl/test/evp_extra_test.c:7597,1
    - Dst: RSA_meth_get_priv_enc
      Src: /src/openssl/test/evp_extra_test.c:7600,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7601,1
    - Dst: RSA_meth_set_priv_enc
      Src: /src/openssl/test/evp_extra_test.c:7601,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7603,1
    - Dst: RSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:7603,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:7606,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7607,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7609,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/evp_extra_test.c:7609,1
    - Dst: do_sign_with_method
      Src: /src/openssl/test/evp_extra_test.c:7613,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:7618,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test.c:7619,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7620,1
    - Dst: RSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:7621,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7623
      start: 7570
    functionDepth: 9
    functionLinenumber: 7570
    functionLinenumberEnd: 7623
    functionName: test_low_level_rsa_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_ptr
    - RSA_meth_get_priv_enc
    - TEST_true
    - RSA_get_ex_new_index
    - EVP_PKEY_new
    - RSA_meth_dup
    - RSA_meth_free
    - TEST_int_gt
    - RSA_set_ex_data
    - RSA_free
    - RSA_get_default_method
    - RSA_new
    - EVP_PKEY_free
    - RSA_set_method
    - BN_new
    - EVP_PKEY_assign_RSA
    - TEST_skip
    - RSA_meth_set_priv_enc
    - BN_free
    - do_sign_with_method
    - RSA_generate_key_ex
    linkageType: ''
    returnType: int
    signature: int test_low_level_rsa_method(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:7628,1
    - Dst: RSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:7629,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:7638,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7642,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7643,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:7643,1
    - Dst: RSA_get_ex_new_index
      Src: /src/openssl/test/evp_extra_test.c:7646,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test.c:7647,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7647,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/test/evp_extra_test.c:7647,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7652,1
    - Dst: RSA_set_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7652,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7653,1
    - Dst: RSA_meth_set_pub_enc
      Src: /src/openssl/test/evp_extra_test.c:7653,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7657,1
    - Dst: RSA_set_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7657,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7658,1
    - Dst: RSA_meth_set_pub_enc
      Src: /src/openssl/test/evp_extra_test.c:7658,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7664,1
    - Dst: RSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:7664,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7665,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/evp_extra_test.c:7665,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7669,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:7669,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7670,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_extra_test.c:7670,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7671,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_extra_test.c:7671,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7672,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_extra_test.c:7672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7673,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7673,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7674,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7678,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_extra_test.c:7678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7683,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7687,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7696,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7697,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7698,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test.c:7699,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7700,1
    - Dst: RSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:7701,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 65
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7703
      start: 7625
    functionDepth: 14
    functionLinenumber: 7625
    functionLinenumberEnd: 7703
    functionName: test_low_level_rsa_kem_public_encrypt_failure
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_CTX_set_kem_op
    - RSA_get_ex_new_index
    - RSA_meth_dup
    - EVP_PKEY_CTX_new_from_pkey
    - RSA_meth_free
    - OPENSSL_free
    - TEST_int_gt
    - RSA_set_ex_data
    - RSA_free
    - TEST_int_eq
    - OPENSSL_malloc
    - load_example_rsa_key
    - RSA_get_default_method
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - RSA_meth_set_pub_enc
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_free
    - RSA_set_method
    - EVP_PKEY_CTX_free
    - EVP_PKEY_assign_RSA
    - TEST_skip
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_low_level_rsa_kem_public_encrypt_failure(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:7712,1
    - Dst: DSA_get_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7712,1
    - Dst: orig_dsa_sign
      Src: /src/openssl/test/evp_extra_test.c:7715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7716
      start: 7710
    functionDepth: 2
    functionLinenumber: 7710
    functionLinenumberEnd: 7716
    functionName: tst_dsa_sign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - DSA_get_ex_data
    - orig_dsa_sign
    - strcmp
    linkageType: ''
    returnType: DSA_SIG
    signature: DSA_SIG *tst_dsa_sign(const unsigned char *buf, int len, DSA *dsa)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:7722,1
    - Dst: DSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:7723,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:7728,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7732,1
    - Dst: DSA_get_ex_new_index
      Src: /src/openssl/test/evp_extra_test.c:7735,1
    - Dst: load_dsa_params
      Src: /src/openssl/test/evp_extra_test.c:7737,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7738,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7740,1
    - Dst: DSA_set_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7740,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7742,1
    - Dst: DSA_generate_key
      Src: /src/openssl/test/evp_extra_test.c:7742,1
    - Dst: DSA_meth_get_sign
      Src: /src/openssl/test/evp_extra_test.c:7745,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7746,1
    - Dst: DSA_meth_set_sign
      Src: /src/openssl/test/evp_extra_test.c:7746,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7748,1
    - Dst: DSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:7748,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:7751,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7752,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7754,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/test/evp_extra_test.c:7754,1
    - Dst: do_sign_with_method
      Src: /src/openssl/test/evp_extra_test.c:7758,1
    - Dst: DSA_free
      Src: /src/openssl/test/evp_extra_test.c:7763,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7764,1
    - Dst: DSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:7765,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7767
      start: 7719
    functionDepth: 9
    functionLinenumber: 7719
    functionLinenumberEnd: 7767
    functionName: test_low_level_dsa_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - DSA_get_default_method
    - load_dsa_params
    - TEST_ptr
    - TEST_true
    - DSA_get_ex_new_index
    - DSA_set_ex_data
    - EVP_PKEY_new
    - DSA_generate_key
    - TEST_int_gt
    - EVP_PKEY_assign_DSA
    - DSA_meth_get_sign
    - DSA_set_method
    - EVP_PKEY_free
    - DSA_free
    - DSA_meth_set_sign
    - DSA_meth_dup
    - DSA_meth_free
    - TEST_skip
    - do_sign_with_method
    linkageType: ''
    returnType: int
    signature: int test_low_level_dsa_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:7788,1
    - Dst: EC_KEY_get_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7788,1
    - Dst: orig_ec_sign
      Src: /src/openssl/test/evp_extra_test.c:7791,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: 7792
      start: 7782
    functionDepth: 2
    functionLinenumber: 7782
    functionLinenumberEnd: 7792
    functionName: tst_ec_sign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - orig_ec_sign
    - EC_KEY_get_ex_data
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tst_ec_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)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:7798,1
    - Dst: EC_KEY_METHOD_new
      Src: /src/openssl/test/evp_extra_test.c:7799,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:7804,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7808,1
    - Dst: EC_KEY_get_ex_new_index
      Src: /src/openssl/test/evp_extra_test.c:7811,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7813,1
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/openssl/test/evp_extra_test.c:7813,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7815,1
    - Dst: EC_KEY_set_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7815,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7817,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/evp_extra_test.c:7817,1
    - Dst: EC_KEY_METHOD_get_sign
      Src: /src/openssl/test/evp_extra_test.c:7820,1
    - Dst: EC_KEY_METHOD_set_sign
      Src: /src/openssl/test/evp_extra_test.c:7821,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7822,1
    - Dst: EC_KEY_set_method
      Src: /src/openssl/test/evp_extra_test.c:7822,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:7825,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7826,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7828,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:7828,1
    - Dst: do_sign_with_method
      Src: /src/openssl/test/evp_extra_test.c:7832,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:7837,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7838,1
    - Dst: EC_KEY_METHOD_free
      Src: /src/openssl/test/evp_extra_test.c:7839,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7841
      start: 7795
    functionDepth: 9
    functionLinenumber: 7795
    functionLinenumberEnd: 7841
    functionName: test_low_level_ec_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - EC_KEY_free
    - EC_KEY_METHOD_free
    - EVP_PKEY_new
    - EC_KEY_set_ex_data
    - EC_KEY_get_ex_new_index
    - EC_KEY_set_method
    - EC_KEY_METHOD_set_sign
    - TEST_int_gt
    - EC_KEY_generate_key
    - EC_KEY_METHOD_get_sign
    - EC_KEY_METHOD_new
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_free
    - EC_KEY_new_by_curve_name_ex
    - EC_KEY_get_default_method
    - TEST_skip
    - do_sign_with_method
    linkageType: ''
    returnType: int
    signature: int test_low_level_ec_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:7854,1
    - Dst: DH_get_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7854,1
    - Dst: orig_dh_compute_key
      Src: /src/openssl/test/evp_extra_test.c:7857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7851
    functionDepth: 2
    functionLinenumber: 7851
    functionLinenumberEnd: 7858
    functionName: tst_dh_compute_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - orig_dh_compute_key
    - DH_get_ex_data
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tst_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,\n
      \   DH *dh)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:7865,1
    - Dst: DH_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:7866,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:7875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7879,1
    - Dst: DH_get_ex_new_index
      Src: /src/openssl/test/evp_extra_test.c:7882,1
    - Dst: get_dh512
      Src: /src/openssl/test/evp_extra_test.c:7884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7885,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/test/evp_extra_test.c:7887,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7888,1
    - Dst: DH_new
      Src: /src/openssl/test/evp_extra_test.c:7890,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7891,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7893,1
    - Dst: DH_set_ex_data
      Src: /src/openssl/test/evp_extra_test.c:7893,1
    - Dst: DH_meth_get_compute_key
      Src: /src/openssl/test/evp_extra_test.c:7896,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7897,1
    - Dst: DH_meth_set_compute_key
      Src: /src/openssl/test/evp_extra_test.c:7897,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7899,1
    - Dst: DH_set_method
      Src: /src/openssl/test/evp_extra_test.c:7899,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:7902,1
    - Dst: DH_get0_p
      Src: /src/openssl/test/evp_extra_test.c:7902,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:7903,1
    - Dst: DH_get0_g
      Src: /src/openssl/test/evp_extra_test.c:7903,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7904,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7904,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7906,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/evp_extra_test.c:7906,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:7910,1
    - Dst: DH_generate_key
      Src: /src/openssl/test/evp_extra_test.c:7910,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:7913,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7914,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:7914,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7916,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:7916,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7918,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:7921,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7922,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7924,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/openssl/test/evp_extra_test.c:7924,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7929,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:7930,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7931,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7933,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:7933,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7935,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/evp_extra_test.c:7935,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7937,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:7937,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:7939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7940,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:7942,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:7942,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:7946,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:7951,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:7952,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:7953,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7954,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:7955,1
    - Dst: DH_meth_free
      Src: /src/openssl/test/evp_extra_test.c:7956,1
    - Dst: DH_free
      Src: /src/openssl/test/evp_extra_test.c:7957,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:7958,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7960
      start: 7861
    functionDepth: 8
    functionLinenumber: 7861
    functionLinenumberEnd: 7960
    functionName: test_low_level_dh_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - TEST_ptr
    - DH_set_ex_data
    - TEST_true
    - DH_free
    - DH_set_method
    - EVP_PKEY_derive_init
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_pkey
    - get_dh512
    - OPENSSL_free
    - TEST_int_gt
    - TEST_int_eq
    - DH_get_default_method
    - OPENSSL_malloc
    - DH_get_ex_new_index
    - DH_meth_get_compute_key
    - EVP_PKEY_keygen
    - DH_new
    - EVP_PKEY_get0_DH
    - DH_generate_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new
    - DH_meth_free
    - EVP_PKEY_assign_DH
    - EVP_PKEY_CTX_free
    - DH_get0_g
    - DH_set0_pqg
    - EVP_PKEY_keygen_init
    - EVP_PKEY_derive_set_peer
    - TEST_skip
    - DH_meth_dup
    - DH_meth_set_compute_key
    - DH_get0_p
    - BN_free
    - BN_dup
    linkageType: ''
    returnType: int
    signature: int test_low_level_dh_method(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/evp_extra_test.c:7969,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:7973,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:7974,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/evp_extra_test.c:7982,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:7986,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:7987,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:7989,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_extra_test.c:7993,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_extra_test.c:7994,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8005,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8009,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8010,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8011,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8013,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8016,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8018,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8019,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8021,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8023,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8025,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8028,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8030,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8031,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8031,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8032,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8033,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8034,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8034,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8036,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8039,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8039,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8042,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8043,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8045,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8045,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8046,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8046,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8048,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8050,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8051,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8052,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8054,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8055,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8056,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8057,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8060,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8061,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8063,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8064,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8065,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8066,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8067,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8069,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8072,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8075,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8077,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8081,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8082,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8084,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8085,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8088,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8089,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8091,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8092,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8094,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8095,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8098,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8100,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8101,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8102,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8104,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8104,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8107,1
    - Dst: setup_cipher_list
      Src: /src/openssl/test/evp_extra_test.c:8109,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8110,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8111,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8112,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8114,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8114,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8115,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8115,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8116,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8116,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8117,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8117,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8118,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8118,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8119,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8119,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8121,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8121,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8122,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8122,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8123,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8124,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8124,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8127,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8127,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8128,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:8128,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8131,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8134,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8136,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8139,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8141,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8143,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8146,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8149,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8153,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:8154,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8156,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8159,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:8162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8167
      start: 7964
    functionDepth: 4
    functionLinenumber: 7964
    functionLinenumberEnd: 8167
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - setup_cipher_list
    - ADD_ALL_TESTS
    - ADD_TEST
    - opt_arg
    - OSSL_NELEM
    - opt_next
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:8171,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:8172,1
    - Dst: cleanup_cipher_list
      Src: /src/openssl/test/evp_extra_test.c:8173,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:8175,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:8177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8178
      start: 8169
    functionDepth: 5
    functionLinenumber: 8169
    functionLinenumberEnd: 8178
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 7
    functionsReached:
    - cleanup_cipher_list
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/sysdefaulttest.c:27,1
    - Dst: TLS_method
      Src: /src/openssl/test/sysdefaulttest.c:27,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sysdefaulttest.c:29,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sysdefaulttest.c:32,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sysdefaulttest.c:34,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/sysdefaulttest.c:34,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sysdefaulttest.c:35,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/sysdefaulttest.c:35,1
    - Dst: TEST_info
      Src: /src/openssl/test/sysdefaulttest.c:36,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sysdefaulttest.c:39,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/sysdefaulttest.c:39,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sysdefaulttest.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: test_func
    functionSourceFile: /src/openssl/test/sysdefaulttest.c
    functionUses: 0
    functionsReached:
    - TLS_method
    - TEST_ptr
    - SSL_CTX_new
    - TEST_int_eq
    - TEST_ptr_null
    - SSL_CTX_get_max_proto_version
    - TEST_long_eq
    - SSL_CTX_free
    - ERR_peek_error
    - SSL_CTX_get_min_proto_version
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_func(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/test/sysdefaulttest.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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:76,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sysdefaulttest.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 90
    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: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_cipher_list
      Src: /src/openssl/test/fatalerrtest.c:42,1
    - Dst: TEST_false
      Src: /src/openssl/test/fatalerrtest.c:43,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/fatalerrtest.c:43,1
    - Dst: TEST_false
      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:45,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/fatalerrtest.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:47,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/fatalerrtest.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:49,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/fatalerrtest.c:49,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/fatalerrtest.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fatalerrtest.c:54,1
    - Dst: printf
      Src: /src/openssl/test/fatalerrtest.c:55,1
    - Dst: TEST_false
      Src: /src/openssl/test/fatalerrtest.c:60,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/fatalerrtest.c:60,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/fatalerrtest.c:63,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fatalerrtest.c:66,1
    - Dst: BIO_write
      Src: /src/openssl/test/fatalerrtest.c:66,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/fatalerrtest.c:70,1
    - Dst: SSL_read
      Src: /src/openssl/test/fatalerrtest.c:70,1
    - Dst: TEST_error
      Src: /src/openssl/test/fatalerrtest.c:72,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/fatalerrtest.c:75,1
    - Dst: SSL_write
      Src: /src/openssl/test/fatalerrtest.c:75,1
    - Dst: strlen
      Src: /src/openssl/test/fatalerrtest.c:75,1
    - Dst: SSL_free
      Src: /src/openssl/test/fatalerrtest.c:80,1
    - Dst: SSL_free
      Src: /src/openssl/test/fatalerrtest.c:81,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/fatalerrtest.c:82,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/fatalerrtest.c:83,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 86
    functionName: test_fatalerr
    functionSourceFile: /src/openssl/test/fatalerrtest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - SSL_write
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - create_ssl_connection
    - ERR_clear_error
    - SSL_get_wbio
    - BIO_write
    - TEST_int_le
    - TEST_int_gt
    - SSL_read
    - SSL_free
    - TEST_false
    - TLS_method
    - printf
    - SSL_CTX_set_cipher_list
    - create_ssl_ctx_pair
    - strlen
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_fatalerr(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/fatalerrtest.c:92,1
    - Dst: TEST_error
      Src: /src/openssl/test/fatalerrtest.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fatalerrtest.c:97,1
    - Dst: test_get_argument
      Src: /src/openssl/test/fatalerrtest.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fatalerrtest.c:98,1
    - Dst: test_get_argument
      Src: /src/openssl/test/fatalerrtest.c:98,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/fatalerrtest.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/fatalerrtest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/sslbuffertest.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - isalloced
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    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:78,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslbuffertest.c:78,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:84,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslbuffertest.c:84,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:104,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:104,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:106,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/sslbuffertest.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:106,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:109,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/sslbuffertest.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:109,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:111,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:111,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:111,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslbuffertest.c:114,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslbuffertest.c:119,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:122,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslbuffertest.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:135,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:135,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:138,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:138,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:140,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/sslbuffertest.c:140,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:140,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:140,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:142,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:142,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:142,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslbuffertest.c:145,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslbuffertest.c:149,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:152,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslbuffertest.c:157,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/sslbuffertest.c:164,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:166,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:167,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 75
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 69
    functionDepth: 7
    functionLinenumber: 69
    functionLinenumberEnd: 170
    functionName: test_func
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - SSL_alloc_buffers
    - SSL_write
    - TEST_mem_eq
    - ERR_print_errors_fp
    - SSL_free_buffers
    - TEST_true
    - TEST_error
    - SSL_read
    - SSL_free
    - SSL_get_error
    - checkbuffers
    - create_ssl_objects
    - create_ssl_connection
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_func(int test)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:191,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslbuffertest.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:195,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslbuffertest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:199,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslbuffertest.c:199,1
    - Dst: strlen
      Src: /src/openssl/test/sslbuffertest.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:204,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslbuffertest.c:204,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslbuffertest.c:205,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslbuffertest.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:213,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslbuffertest.c:213,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/sslbuffertest.c:214,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslbuffertest.c:215,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:237,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslbuffertest.c:237,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslbuffertest.c:244,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslbuffertest.c:244,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslbuffertest.c:253,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:253,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:258,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:259,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 261
    functionName: test_free_buffers
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - TEST_false
    - TEST_size_t_lt
    - SSL_free_buffers
    - TEST_true
    - TEST_error
    - SSL_get_rbio
    - SSL_read_ex
    - BIO_read_ex
    - BIO_write_ex
    - TEST_size_t_eq
    - strlen
    - TEST_size_t_gt
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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:269,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslbuffertest.c:274,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslbuffertest.c:274,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslbuffertest.c:275,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslbuffertest.c:275,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslbuffertest.c:278,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslbuffertest.c:278,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslbuffertest.c:278,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:281,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslbuffertest.c:285,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslbuffertest.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 288
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - TLS_server_method
    - create_ssl_ctx_pair
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslbuffertest.c:292,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslbuffertest.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    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_is_zero
    - TEST_true
    - TEST_long_eq
    - ossl_time_to_timeval
    - ossl_ticks2time
    - ossl_time_zero
    - ossl_time_from_timeval
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/openssl/test/base64_simdutf_test.c:24,1
    - Dst: time
      Src: /src/openssl/test/base64_simdutf_test.c:24,1
    - Dst: rand
      Src: /src/openssl/test/base64_simdutf_test.c:28,1
    - Dst: rand
      Src: /src/openssl/test/base64_simdutf_test.c:32,1
    - Dst: rand
      Src: /src/openssl/test/base64_simdutf_test.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - max_fill
    argTypes:
    - EVP_ENCODE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: fuzz_fill_encode_ctx
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached:
    - time
    - rand
    - srand
    linkageType: ''
    returnType: void
    signature: void fuzz_fill_encode_ctx(EVP_ENCODE_CTX *ctx, int max_fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: next_u32
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline next_u32(uint32_t *state)
  - 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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: conv_bin2ascii
    functionSourceFile: /src/openssl/test/base64_simdutf_test.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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: conv_bin2ascii
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: conv_bin2ascii(a, table)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:72,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:73,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:74,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:75,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:81,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:82,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/test/base64_simdutf_test.c:83,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: 92
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 92
    functionName: evp_encodeblock_int_old
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached:
    - conv_bin2ascii
    linkageType: ''
    returnType: int
    signature: "int evp_encodeblock_int_old(EVP_ENCODE_CTX *ctx, unsigned char *t,\n
      \   const unsigned char *f, int dlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/base64_simdutf_test.c:102,1
    - Dst: memcpy
      Src: /src/openssl/test/base64_simdutf_test.c:104,1
    - Dst: memcpy
      Src: /src/openssl/test/base64_simdutf_test.c:110,1
    - Dst: evp_encodeblock_int_old
      Src: /src/openssl/test/base64_simdutf_test.c:113,1
    - Dst: evp_encodeblock_int_old
      Src: /src/openssl/test/base64_simdutf_test.c:124,1
    - Dst: memcpy
      Src: /src/openssl/test/base64_simdutf_test.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: evp_encodeupdate_old
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - evp_encodeblock_int_old
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: "int evp_encodeupdate_old(EVP_ENCODE_CTX *ctx, unsigned char *out,
      int *outl,\n    const unsigned char *in, int inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_encodeblock_int_old
      Src: /src/openssl/test/base64_simdutf_test.c:148,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: 155
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: evp_encodefinal_old
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached:
    - evp_encodeblock_int_old
    linkageType: ''
    returnType: void
    signature: void evp_encodefinal_old(EVP_ENCODE_CTX *ctx, unsigned char *out, int
      *outl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next_u32
      Src: /src/openssl/test/base64_simdutf_test.c:168,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/test/base64_simdutf_test.c:178,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/test/base64_simdutf_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/base64_simdutf_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/base64_simdutf_test.c:181,1
    - Dst: fuzz_fill_encode_ctx
      Src: /src/openssl/test/base64_simdutf_test.c:184,1
    - Dst: memset
      Src: /src/openssl/test/base64_simdutf_test.c:186,1
    - Dst: memset
      Src: /src/openssl/test/base64_simdutf_test.c:187,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/test/base64_simdutf_test.c:192,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/test/base64_simdutf_test.c:193,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/test/base64_simdutf_test.c:206,1
    - Dst: evp_encodeupdate_old
      Src: /src/openssl/test/base64_simdutf_test.c:208,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/base64_simdutf_test.c:211,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/base64_simdutf_test.c:212,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/base64_simdutf_test.c:213,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/test/base64_simdutf_test.c:216,1
    - Dst: evp_encodefinal_old
      Src: /src/openssl/test/base64_simdutf_test.c:218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/base64_simdutf_test.c:224,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/base64_simdutf_test.c:225,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/base64_simdutf_test.c:229,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/base64_simdutf_test.c:230,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/base64_simdutf_test.c:237,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/base64_simdutf_test.c:238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 240
    functionName: test_encode_line_length_reinforced
    functionSourceFile: /src/openssl/test/base64_simdutf_test.c
    functionUses: 0
    functionsReached:
    - EVP_ENCODE_CTX_free
    - EVP_EncodeUpdate
    - TEST_ptr
    - evp_encodeupdate_old
    - TEST_mem_eq
    - fuzz_fill_encode_ctx
    - next_u32
    - EVP_EncodeInit
    - TEST_int_eq
    - memset
    - EVP_ENCODE_CTX_new
    - EVP_EncodeFinal
    - evp_encodefinal_old
    linkageType: ''
    returnType: int
    signature: int test_encode_line_length_reinforced(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/base64_simdutf_test.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/base64_simdutf_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:84,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/openssl/test/secmemtest.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:85,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:85,1
    - Dst: TEST_info
      Src: /src/openssl/test/secmemtest.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:115,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:116,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:116,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/secmemtest.c:124,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:125,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:126,1
    - Dst: TEST_info
      Src: /src/openssl/test/secmemtest.c:129,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:131,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:131,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 133
    functionName: test_sec_mem
    functionSourceFile: /src/openssl/test/secmemtest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - CRYPTO_secure_allocated
    - TEST_false
    - TEST_ptr
    - CRYPTO_secure_malloc_initialized
    - OPENSSL_free
    - TEST_true
    - CRYPTO_secure_used
    - CRYPTO_secure_malloc_init
    - OPENSSL_secure_clear_free
    - CRYPTO_secure_malloc_done
    - TEST_ptr_null
    - TEST_size_t_eq
    - TEST_info
    - OPENSSL_secure_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_sec_mem(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:142,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:143,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:143,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/secmemtest.c:147,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:153,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/secmemtest.c:163,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:169,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 175
    functionName: test_sec_mem_clear
    functionSourceFile: /src/openssl/test/secmemtest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - TEST_ptr
    - TEST_true
    - TEST_uchar_eq
    - CRYPTO_secure_malloc_init
    - CRYPTO_secure_malloc_done
    - OPENSSL_secure_free
    linkageType: ''
    returnType: int
    signature: int test_sec_mem_clear(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/secmemtest.c:179,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/secmemtest.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    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:
    - OPENSSL_zalloc
    - TEST_ptr
    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:
    - ASN1_OCTET_STRING_free
    - OPENSSL_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:
    - ASN1_INTEGER_new
    - TEST_ptr
    - ossl_cmp_asn1_get_int
    - ASN1_INTEGER_free
    - ASN1_INTEGER_set_int64
    - TEST_true
    - TEST_int_eq
    - ASN1_INTEGER_set
    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: 89
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 89
    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
    - TEST_int_eq
    - ASN1_OCTET_STRING_cmp
    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:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:95,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_asn_test.c:95,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_true
      Src: /src/openssl/test/cmp_asn_test.c:97,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_asn_test.c:97,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_asn_test.c:99,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_asn_test.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: test_ASN1_OCTET_STRING_set
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - ASN1_OCTET_STRING_new
    - EXECUTE_TEST
    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:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:110,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_asn_test.c:110,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_asn_test.c:112,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_asn_test.c:112,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_asn_test.c:114,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_asn_test.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: test_ASN1_OCTET_STRING_set_tgt_is_src
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ASN1_OCTET_STRING_set
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - ASN1_OCTET_STRING_new
    - EXECUTE_TEST
    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: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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:128,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_asn_test.c:130,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 8
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - RAND_bytes
    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: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    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: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    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:424,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: 429
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 429
    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:438,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/tls13groupselection_test.c:439,1
    - Dst: strlen
      Src: /src/openssl/test/tls13groupselection_test.c:439,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:443,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13groupselection_test.c:443,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13groupselection_test.c:443,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13groupselection_test.c:444,1
    - Dst: TEST_false_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:451,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:451,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:454,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13groupselection_test.c:454,1
    - Dst: TEST_false_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:460,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:460,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:465,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:466,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:467,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:468,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: 470
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 470
    functionName: test_invalidsyntax
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_ptr
    - TEST_true_or_end
    - SSL_CTX_set1_groups_list
    - TEST_size_t_ne
    - SSL_set1_groups_list
    - TEST_false_or_end
    - SSL_CTX_free
    - TLS_server_method
    - strlen
    - create_ssl_ctx_pair
    - create_ssl_objects
    - SSL_free
    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:484,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13groupselection_test.c:484,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13groupselection_test.c:484,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13groupselection_test.c:485,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:493,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:493,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:497,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:497,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:500,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:500,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:501,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:501,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/tls13groupselection_test.c:503,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13groupselection_test.c:506,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13groupselection_test.c:506,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:514,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:514,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:517,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:517,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:519,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:519,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:520,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:520,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/tls13groupselection_test.c:523,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/tls13groupselection_test.c:528,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/tls13groupselection_test.c:529,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:533,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13groupselection_test.c:533,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/tls13groupselection_test.c:540,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/tls13groupselection_test.c:541,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/test/tls13groupselection_test.c:542,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13groupselection_test.c:543,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/tls13groupselection_test.c:545,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/tls13groupselection_test.c:548,1
    - Dst: TEST_false_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:551,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13groupselection_test.c:551,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/tls13groupselection_test.c:553,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:560,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:561,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:562,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:563,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: 565
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 565
    functionName: test_groupnegotiation
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_msg_callback
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - TEST_str_eq
    - TLS_server_method
    - create_ssl_connection
    - TEST_true_or_end
    - SSL_set1_groups_list
    - TEST_false_or_end
    - TEST_int_eq
    - SSL_free
    - SSL_group_to_name
    - SSL_CTX_set1_groups_list
    - SSL_get_negotiated_group
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_set_min_proto_version
    - SSL_set_msg_callback_arg
    - SSL_set_options
    - create_ssl_objects
    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:578,1
    - Dst: strncmp
      Src: /src/openssl/test/tls13groupselection_test.c:580,1
    - Dst: strncmp
      Src: /src/openssl/test/tls13groupselection_test.c:584,1
    - Dst: test_invalidsyntax
      Src: /src/openssl/test/tls13groupselection_test.c:590,1
    - Dst: test_groupnegotiation
      Src: /src/openssl/test/tls13groupselection_test.c:593,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13groupselection_test.c:597,1
    - Dst: test_invalidsyntax
      Src: /src/openssl/test/tls13groupselection_test.c:601,1
    - Dst: test_groupnegotiation
      Src: /src/openssl/test/tls13groupselection_test.c:604,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13groupselection_test.c:608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 612
    functionName: tls13groupselection_test
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - strncmp
    - TEST_error
    - test_groupnegotiation
    - test_invalidsyntax
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int tls13groupselection_test(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13groupselection_test.c:616,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13groupselection_test.c:616,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13groupselection_test.c:617,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13groupselection_test.c:617,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/tls13groupselection_test.c:620,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls13groupselection_test.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_ptr
    - OSSL_NELEM
    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:
    - NCONF_get_section
    - printf
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    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_load
    - sk_OPENSSL_CSTRING_value
    - ERR_print_errors_fp
    - NCONF_default
    - sk_OPENSSL_CSTRING_free
    - NCONF_get_section_names
    - sk_OPENSSL_CSTRING_num
    - STACK_OF
    - dump_section
    - NCONF_free
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/chacha_internal_test.c:168,1
    - Dst: memcpy
      Src: /src/openssl/test/chacha_internal_test.c:169,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/test/chacha_internal_test.c:171,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/chacha_internal_test.c:178,1
    - Dst: TEST_info
      Src: /src/openssl/test/chacha_internal_test.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: test_cha_cha_internal
    functionSourceFile: /src/openssl/test/chacha_internal_test.c
    functionUses: 0
    functionsReached:
    - ChaCha20_ctr32
    - TEST_uchar_eq
    - memcpy
    - memset
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_cha_cha_internal(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/test/chacha_internal_test.c:233,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:240,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:241,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:242,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:243,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:244,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:245,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:246,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:247,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:248,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:249,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:250,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/chacha_internal_test.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 254
    functionName: test_chacha20_p10_fpr_abi
    functionSourceFile: /src/openssl/test/chacha_internal_test.c
    functionUses: 0
    functionsReached:
    - ChaCha20_ctr32
    - TEST_double_eq
    linkageType: ''
    returnType: int
    signature: int test_chacha20_p10_fpr_abi(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/test/chacha_internal_test.c:260,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/chacha_internal_test.c:263,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/chacha_internal_test.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/chacha_internal_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cpuid_setup
    - ADD_ALL_TESTS
    - ADD_TEST
    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: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    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: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    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: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    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:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - int*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    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:98,1
    - Dst: lh_int_new
      Src: /src/openssl/test/lhash_test.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:103,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/lhash_test.c:108,1
    - Dst: lh_int_insert
      Src: /src/openssl/test/lhash_test.c:108,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:109,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/lhash_test.c:114,1
    - Dst: lh_int_num_items
      Src: /src/openssl/test/lhash_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:119,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:119,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:120,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:124,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:124,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:125,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:129,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:134,1
    - Dst: lh_int_insert
      Src: /src/openssl/test/lhash_test.c:134,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:136,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:138,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:138,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:142,1
    - Dst: lh_int_doall
      Src: /src/openssl/test/lhash_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:145,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:146,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:150,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:151,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:156,1
    - Dst: lh_int_doall_short
      Src: /src/openssl/test/lhash_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:159,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:164,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:165,1
    - Dst: lh_int_delete
      Src: /src/openssl/test/lhash_test.c:171,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:172,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:173,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:179,1
    - Dst: lh_int_error
      Src: /src/openssl/test/lhash_test.c:179,1
    - Dst: lh_int_free
      Src: /src/openssl/test/lhash_test.c:184,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 186
    functionName: test_int_lhash
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - lh_int_new
    - TEST_ptr_eq
    - TEST_ptr
    - lh_int_doall
    - lh_int_doall_short
    - lh_int_error
    - lh_int_num_items
    - lh_int_insert
    - TEST_int_eq
    - TEST_ptr_null
    - memset
    - lh_int_delete
    - OSSL_NELEM
    - TEST_size_t_eq
    - lh_int_free
    - TEST_info
    - lh_int_retrieve
    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: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    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:201,1
    - Dst: int_find
      Src: /src/openssl/test/lhash_test.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - int_foreach
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: IMPLEMENT_HT_VALUE_TYPE_FNS
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - ossl_ht_test_int_from_value
    - int_find
    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: 1
    argNames:
    - key
    argTypes:
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: hashtable_hash
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hashtable_hash(HT_KEY *key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/lhash_test.c:229,1
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:241,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:247,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:249,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:251,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:251,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:251,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_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:286,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:287,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/lhash_test.c:288,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:290,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:291,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:296,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:297,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:305,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 307
    functionName: test_int_hashtable
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - ossl_ht_value_list_free
    - HT_SET_KEY_FIELD
    - ossl_ht_free
    - HT_INIT_KEY
    - ossl_ht_count
    - ossl_ht_foreach_until
    - ossl_ht_test_int_insert
    - TEST_int_eq
    - memset
    - OSSL_NELEM
    - TEST_size_t_eq
    - ossl_ht_delete
    - TEST_info
    - HT_KEY_RESET
    - ossl_ht_filter
    - TO_HT_KEY
    - ossl_ht_new
    linkageType: ''
    returnType: int
    signature: int test_int_hashtable(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:325,1
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:325,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:329,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:330,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:331,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:332,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:332,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:332,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/lhash_test.c:337,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:338,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:338,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/lhash_test.c:339,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 344
    functionName: test_hashtable_insert_replace_mfail
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - TEST_ptr
    - HT_SET_KEY_FIELD
    - ossl_ht_free
    - HT_INIT_KEY
    - MFAIL_end
    - ossl_ht_test_int_insert
    - TEST_int_eq
    - HT_KEY_RESET
    - TO_HT_KEY
    - ossl_ht_new
    linkageType: ''
    returnType: int
    signature: int test_hashtable_insert_replace_mfail(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:358,1
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:358,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:364,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/lhash_test.c:364,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:367,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:369,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:369,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lhash_test.c:372,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/lhash_test.c:376,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:377,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/lhash_test.c:378,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 385
    functionName: test_hashtable_free_mfail
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - TEST_ptr
    - HT_SET_KEY_FIELD
    - OPENSSL_free
    - ossl_ht_free
    - HT_INIT_KEY
    - MFAIL_end
    - ossl_ht_test_int_insert
    - TEST_int_eq
    - TO_HT_KEY
    - HT_KEY_RESET
    - OPENSSL_malloc
    - ossl_ht_new
    linkageType: ''
    returnType: int
    signature: int test_hashtable_free_mfail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    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: 417
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 417
    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:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:430,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:433,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/lhash_test.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:438,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:439,1
    - Dst: lh_int_insert
      Src: /src/openssl/test/lhash_test.c:443,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:447,1
    - Dst: lh_int_num_items
      Src: /src/openssl/test/lhash_test.c:447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:454,1
    - Dst: lh_int_delete
      Src: /src/openssl/test/lhash_test.c:454,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:455,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:458,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lhash_test.c:462,1
    - Dst: timeval_subtract
      Src: /src/openssl/test/lhash_test.c:469,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:470,1
    - Dst: lh_int_free
      Src: /src/openssl/test/lhash_test.c:472,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 474
    functionName: test_stress
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - lh_int_new
    - TEST_ptr
    - OPENSSL_free
    - lh_int_num_items
    - lh_int_insert
    - gettimeofday
    - TEST_int_eq
    - lh_int_delete
    - timeval_subtract
    - lh_int_free
    - TEST_info
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_stress(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lhash_test.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:508,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:511,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:514,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/lhash_test.c:518,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:519,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:520,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:524,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:525,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:526,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:526,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:526,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:529,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/lhash_test.c:535,1
    - Dst: ossl_ht_count
      Src: /src/openssl/test/lhash_test.c:535,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:541,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:542,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:546,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/lhash_test.c:546,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:546,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:547,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:552,1
    - Dst: ossl_ht_test_int_get
      Src: /src/openssl/test/lhash_test.c:552,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:552,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:553,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:554,1
    - Dst: timeval_subtract
      Src: /src/openssl/test/lhash_test.c:565,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:566,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:568,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 570
    functionName: test_hashtable_stress
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_ptr
    - HT_SET_KEY_FIELD
    - ossl_ht_test_int_get
    - ossl_ht_free
    - HT_INIT_KEY
    - ossl_ht_count
    - ossl_ht_test_int_insert
    - TEST_int_eq
    - TO_HT_KEY
    - timeval_subtract
    - TEST_size_t_eq
    - ossl_ht_delete
    - gettimeofday
    - HT_KEY_RESET
    - OPENSSL_malloc
    - ossl_ht_new
    linkageType: ''
    returnType: int
    signature: int test_hashtable_stress(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/lhash_test.c:589,1
    - Dst: getenv
      Src: /src/openssl/test/lhash_test.c:590,1
    - Dst: atoi
      Src: /src/openssl/test/lhash_test.c:593,1
    - Dst: atoi
      Src: /src/openssl/test/lhash_test.c:599,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:604,1
    - Dst: free
      Src: /src/openssl/test/lhash_test.c:606,1
    - Dst: free
      Src: /src/openssl/test/lhash_test.c:607,1
    - Dst: calloc
      Src: /src/openssl/test/lhash_test.c:608,1
    - Dst: calloc
      Src: /src/openssl/test/lhash_test.c:609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 611
    functionName: setup_num_workers
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - calloc
    - getenv
    - free
    - atoi
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int setup_num_workers(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_mt_TEST_MT_ENTRY_from_value
      Src: /src/openssl/test/lhash_test.c:633,1
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/test/lhash_test.c:637,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:643,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: hashtable_mt_free
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_atomic_load_int
    - TEST_info
    - CRYPTO_atomic_add
    - ossl_ht_mt_TEST_MT_ENTRY_from_value
    linkageType: ''
    returnType: void
    signature: void hashtable_mt_free(HT_VALUE *v)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:672,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:675,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:678,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/lhash_test.c:678,1
    - Dst: test_random
      Src: /src/openssl/test/lhash_test.c:680,1
    - Dst: test_random
      Src: /src/openssl/test/lhash_test.c:681,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/lhash_test.c:682,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:685,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:686,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:688,1
    - Dst: ossl_ht_read_lock
      Src: /src/openssl/test/lhash_test.c:695,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:698,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/lhash_test.c:698,1
    - Dst: ossl_ht_mt_TEST_MT_ENTRY_get
      Src: /src/openssl/test/lhash_test.c:701,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:701,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:704,1
    - Dst: ossl_ht_read_unlock
      Src: /src/openssl/test/lhash_test.c:708,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:710,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/lhash_test.c:710,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/test/lhash_test.c:719,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:721,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/lhash_test.c:721,1
    - Dst: ossl_ht_mt_TEST_MT_ENTRY_insert
      Src: /src/openssl/test/lhash_test.c:732,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:732,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:733,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/test/lhash_test.c:742,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:744,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/lhash_test.c:744,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/test/lhash_test.c:752,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:754,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/lhash_test.c:754,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:768,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/lhash_test.c:770,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:770,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:771,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/test/lhash_test.c:777,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:779,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/lhash_test.c:779,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 790
    functionName: do_mt_hash_work
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - ossl_ht_read_lock
    - ossl_ht_write_lock
    - CRYPTO_THREAD_unlock
    - ossl_ht_write_unlock
    - CRYPTO_atomic_add
    - HT_SET_KEY_FIELD
    - test_random
    - HT_INIT_KEY
    - TEST_true
    - ossl_ht_read_unlock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_read_lock
    - ossl_ht_delete
    - ossl_ht_mt_TEST_MT_ENTRY_insert
    - ossl_ht_mt_TEST_MT_ENTRY_get
    - TEST_info
    - HT_KEY_RESET
    - TO_HT_KEY
    linkageType: ''
    returnType: void
    signature: void do_mt_hash_work(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:806,1
    - Dst: setup_num_workers
      Src: /src/openssl/test/lhash_test.c:806,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:809,1
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:811,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:813,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:816,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/lhash_test.c:816,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:818,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/lhash_test.c:818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:820,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/lhash_test.c:820,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:823,1
    - Dst: run_thread
      Src: /src/openssl/test/lhash_test.c:827,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/lhash_test.c:833,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:843,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:848,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:853,1
    - Dst: timeval_subtract
      Src: /src/openssl/test/lhash_test.c:854,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:855,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:863,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/lhash_test.c:864,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/lhash_test.c:865,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/lhash_test.c:866,1
    - Dst: free
      Src: /src/openssl/test/lhash_test.c:867,1
    - Dst: free
      Src: /src/openssl/test/lhash_test.c:869,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 873
    functionName: test_hashtable_multithread
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_ptr
    - ossl_ht_free
    - CRYPTO_THREAD_lock_free
    - run_thread
    - TEST_true
    - free
    - memset
    - CRYPTO_THREAD_lock_new
    - wait_for_thread
    - timeval_subtract
    - gettimeofday
    - setup_num_workers
    - ossl_ht_new
    linkageType: ''
    returnType: int
    signature: int test_hashtable_multithread(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/lhash_test.c:877,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lhash_test.c:878,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/lhash_test.c:879,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/lhash_test.c:880,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/lhash_test.c:881,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/lhash_test.c:882,1
    - Dst: ADD_MFAIL_NO_CHECK_TEST
      Src: /src/openssl/test/lhash_test.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 885
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - ADD_MFAIL_TEST
    - ADD_MFAIL_NO_CHECK_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: 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:
    - OSSL_PROVIDER_gettable_params
    - get_globals
    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:
    - get_globals
    - OSSL_PROVIDER_get_params
    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:
    - get_globals
    - OSSL_PROVIDER_get_capabilities
    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:
    - get_globals
    - OSSL_PROVIDER_query_operation
    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:
    - get_globals
    - TEST_ulong_gt
    - OSSL_PROVIDER_unquery_operation
    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:
    - ossl_prov_ctx_get0_core_bio_method
    - OSSL_LIB_CTX_free
    - get_globals
    - memset
    - BIO_meth_free
    - ossl_prov_ctx_free
    - OSSL_PROVIDER_unload
    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:
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - ossl_prov_ctx_set0_handle
    - OSSL_LIB_CTX_free
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_bio_from_dispatch
    - memset
    - ossl_prov_ctx_new
    - ossl_prov_ctx_free
    - c_get_libctx
    - OSSL_FUNC_core_get_libctx
    - OSSL_PROVIDER_unload
    - ossl_prov_ctx_set0_core_bio_method
    - ossl_bio_prov_init_bio_method
    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:
    - OPENSSL_strdup
    - OPENSSL_free
    - get_globals
    - OSSL_PROVIDER_query_operation
    - strlen
    - strstr
    - OSSL_PROVIDER_unquery_operation
    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:
    - TEST_ulong_eq
    - get_globals
    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_cert_table
    - OSSL_NELEM
    - TEST_size_t_eq
    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:78,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/test/dsatest.c:78,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/test/dsatest.c:81,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:82,1
    - Dst: DSA_new
      Src: /src/openssl/test/dsatest.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:83,1
    - Dst: DSA_generate_parameters_ex
      Src: /src/openssl/test/dsatest.c:83,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:87,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:89,1
    - Dst: DSA_get0_pqg
      Src: /src/openssl/test/dsatest.c:92,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/dsatest.c:93,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:95,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:95,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/dsatest.c:98,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:100,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:100,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/dsatest.c:103,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:105,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:108,1
    - Dst: DSA_generate_key
      Src: /src/openssl/test/dsatest.c:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:110,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:110,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:112,1
    - Dst: DSA_verify
      Src: /src/openssl/test/dsatest.c:112,1
    - Dst: DSA_free
      Src: /src/openssl/test/dsatest.c:115,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/test/dsatest.c:116,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 58
    functionDepth: 12
    functionLinenumber: 58
    functionLinenumberEnd: 118
    functionName: dsa_test
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - DSA_sign
    - BN_GENCB_set
    - DSA_generate_parameters_ex
    - TEST_ptr
    - TEST_mem_eq
    - DSA_new
    - BN_GENCB_new
    - TEST_true
    - TEST_int_gt
    - DSA_generate_key
    - TEST_int_eq
    - DSA_verify
    - DSA_free
    - BN_bn2bin
    - DSA_get0_pqg
    - BN_GENCB_free
    linkageType: ''
    returnType: int
    signature: int dsa_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/dsatest.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p
    - n
    - arg
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    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:240,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:240,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:241,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:241,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:242,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:242,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:244,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/dsatest.c:244,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:245,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/dsatest.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:246,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/dsatest.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:247,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/dsatest.c:247,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:248,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/dsatest.c:248,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:250,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_type
      Src: /src/openssl/test/dsatest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:251,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/dsatest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:252,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/test/dsatest.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:253,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_seed
      Src: /src/openssl/test/dsatest.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:255,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_md_props
      Src: /src/openssl/test/dsatest.c:255,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:257,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/dsatest.c:257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:258,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/dsatest.c:258,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:259,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/dsatest.c:259,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:260,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/dsatest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:263,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/dsatest.c:263,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/dsatest.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:265,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/dsatest.c:265,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/dsatest.c:266,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_octet_string_param
      Src: /src/openssl/test/dsatest.c:269,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:273,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dsatest.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:275,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:276,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dsatest.c:276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:279,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dsatest.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:282,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:283,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/dsatest.c:283,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:290,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:291,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:292,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:293,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:294,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:295,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsatest.c:296,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsatest.c:297,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:298,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:299,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 145
    functionDepth: 7
    functionLinenumber: 145
    functionLinenumberEnd: 301
    functionName: dsa_keygen_test
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - EVP_PKEY_CTX_set_dsa_paramgen_md_props
    - TEST_ptr
    - EVP_PKEY_CTX_gettable_params
    - TEST_mem_eq
    - TEST_true
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set_dsa_paramgen_type
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_CTX_settable_params
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    - TEST_int_eq
    - TEST_false
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_generate
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - TEST_BN_eq
    - EVP_PKEY_get_utf8_string_param
    - BN_free
    - EVP_PKEY_CTX_set_dsa_paramgen_seed
    linkageType: ''
    returnType: int
    signature: int dsa_keygen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:310,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/dsatest.c:310,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:311,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/dsatest.c:311,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:313,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/dsatest.c:313,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:314,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/dsatest.c:314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:315,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/dsatest.c:315,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:316,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/dsatest.c:316,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsatest.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:319,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 9
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: test_dsa_default_paramgen_validate
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - TEST_ptr
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:350,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:351,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:352,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:352,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:353,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:353,1
    - 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_dup
      Src: /src/openssl/test/dsatest.c:355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:356,1
    - Dst: BN_new
      Src: /src/openssl/test/dsatest.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:357,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dsatest.c:357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:358,1
    - Dst: BN_new
      Src: /src/openssl/test/dsatest.c:358,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:359,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dsatest.c:359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:360,1
    - Dst: DSA_new
      Src: /src/openssl/test/dsatest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:363,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsatest.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:367,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:367,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dsatest.c:371,1
    - Dst: DSA_size
      Src: /src/openssl/test/dsatest.c:371,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:375,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:375,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:376,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_int_le
      Src: /src/openssl/test/dsatest.c:381,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:385,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:385,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:388,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:388,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:392,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:395,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsatest.c:395,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:398,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:398,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:403,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:404,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:405,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:406,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: DSA_free
      Src: /src/openssl/test/dsatest.c:411,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 324
    functionDepth: 12
    functionLinenumber: 324
    functionLinenumberEnd: 413
    functionName: test_dsa_sig_infinite_loop
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - DSA_size
    - BN_bin2bn
    - DSA_sign
    - BN_set_word
    - TEST_false
    - TEST_ptr
    - DSA_set0_pqg
    - DSA_set0_key
    - TEST_int_le
    - DSA_new
    - TEST_true
    - TEST_int_gt
    - BN_free
    - DSA_free
    - BN_new
    - BN_dup
    linkageType: ''
    returnType: int
    signature: int test_dsa_sig_infinite_loop(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:439,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:439,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:440,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:441,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:442,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:442,1
    - 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: DSA_new
      Src: /src/openssl/test/dsatest.c:444,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:447,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsatest.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:451,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:451,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:455,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:456,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:456,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:459,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:460,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:461,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:461,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:464,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:465,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:466,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:466,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:469,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:470,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:471,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:472,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:472,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:477,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:478,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:483,1
    - Dst: DSA_free
      Src: /src/openssl/test/dsatest.c:485,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 415
    functionDepth: 12
    functionLinenumber: 415
    functionLinenumberEnd: 487
    functionName: test_dsa_sig_neg_param
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - DSA_sign
    - TEST_false
    - TEST_ptr
    - DSA_set0_pqg
    - DSA_set0_key
    - BN_set_negative
    - DSA_new
    - TEST_true
    - BN_free
    - DSA_free
    linkageType: ''
    returnType: int
    signature: int test_dsa_sig_neg_param(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:494,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:495,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:496,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:497,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dsatest.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    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_BLD_free
    - TEST_uint_eq
    - OSSL_PARAM_get_BN
    - TEST_ptr
    - TEST_BN_eq
    - OPENSSL_free
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - TEST_str_eq
    - BN_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
    - CRYPTO_secure_allocated
    - OSSL_PARAM_BLD_free
    - TEST_uint_eq
    - OSSL_PARAM_get_BN
    - TEST_ptr
    - TEST_BN_eq
    - OPENSSL_free
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - BN_free
    - BN_get_flags
    - TEST_str_eq
    - BN_secure_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_octet_string
      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_utf8_ptr
      Src: /src/openssl/test/param_build_test.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:124,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/openssl/test/param_build_test.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:126,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/param_build_test.c:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:127,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:127,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:135,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:138,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:141,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:142,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:145,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:150,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:151,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/param_build_test.c:151,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:152,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:153,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:157,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:158,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/param_build_test.c:158,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:159,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:160,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:164,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:164,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:165,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:166,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:168,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/param_build_test.c:168,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/param_build_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:171,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:171,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:172,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:173,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:175,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/test/param_build_test.c:175,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/param_build_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:178,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:178,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:179,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:180,1
    - Dst: TEST_size_t_eq
      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_time_t
      Src: /src/openssl/test/param_build_test.c:182,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/param_build_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:185,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:186,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/param_build_test.c:186,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:187,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:188,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:189,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/param_build_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:192,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:192,1
    - Dst: TEST_str_eq
      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_string
      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_size_t_eq
      Src: /src/openssl/test/param_build_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:200,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:201,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/test/param_build_test.c:201,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:202,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:204,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:204,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:207,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:207,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:208,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:210,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:210,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:213,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:213,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:214,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:215,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:216,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:216,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:219,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:219,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:220,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:221,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:222,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:222,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:223,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:229,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:230,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:232,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:233,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:234,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:235,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:236,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:237,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:238,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 42
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 240
    functionName: template_public_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_set_word
    - OSSL_PARAM_get_int
    - TEST_ptr
    - TEST_double_eq
    - OSSL_PARAM_BLD_push_int64
    - TEST_true
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - OSSL_PARAM_BLD_push_int
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_merge
    - OSSL_PARAM_BLD_push_time_t
    - OSSL_PARAM_BLD_push_long
    - OSSL_PARAM_BLD_push_utf8_ptr
    - OPENSSL_free
    - BN_set_negative
    - OSSL_PARAM_dup
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_BLD_push_utf8_string
    - BN_secure_new
    - TEST_uint_eq
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_free
    - TEST_time_t_eq
    - BN_new
    - OSSL_PARAM_locate
    - TEST_BN_eq
    - OSSL_PARAM_BLD_push_octet_ptr
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_get_double
    - OSSL_PARAM_get_utf8_ptr
    - TEST_long_eq
    - OSSL_PARAM_get_time_t
    - BN_free
    - TEST_size_t_eq
    - OSSL_PARAM_BLD_push_int32
    - OSSL_PARAM_BLD_push_double
    - OSSL_PARAM_get_long
    - OSSL_PARAM_BLD_push_octet_string
    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:261,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/param_build_test.c:261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:262,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/param_build_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:263,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:271,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/test/param_build_test.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:272,1
    - Dst: OSSL_PARAM_BLD_push_ulong
      Src: /src/openssl/test/param_build_test.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:273,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      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_uint64
      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_size_t
      Src: /src/openssl/test/param_build_test.c:275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:276,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:277,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:278,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:279,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:280,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:281,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:282,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:283,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/param_build_test.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:284,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:285,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/param_build_test.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:287,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/openssl/test/param_build_test.c:287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:289,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:289,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:296,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:299,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:302,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:303,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:306,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:311,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:311,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:312,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:313,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/test/param_build_test.c:313,1
    - Dst: TEST_str_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_size_t_eq
      Src: /src/openssl/test/param_build_test.c:316,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:319,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:319,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:320,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:321,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/param_build_test.c:321,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:322,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:323,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:324,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:325,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:327,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:327,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:328,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:328,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:329,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:330,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:332,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/param_build_test.c:332,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:335,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:335,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:336,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:336,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:337,1
    - Dst: TEST_uint_eq
      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_true
      Src: /src/openssl/test/param_build_test.c:340,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/openssl/test/param_build_test.c:340,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:341,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:343,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:343,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:344,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:344,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:345,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:346,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:348,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/param_build_test.c:348,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:351,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:352,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:352,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:353,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:354,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:357,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:357,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:358,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:358,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:359,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:359,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:360,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:361,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:364,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:364,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:365,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:365,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:366,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:368,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:369,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:369,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:370,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:372,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:372,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:373,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:373,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:374,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:376,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:377,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:377,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:380,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:380,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:381,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:381,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:382,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:383,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:384,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:385,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:385,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:386,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:390,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:392,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:393,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:394,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/param_build_test.c:395,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/param_build_test.c:396,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:397,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:398,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:399,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:400,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:401,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:402,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 50
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 242
    functionDepth: 6
    functionLinenumber: 242
    functionLinenumberEnd: 404
    functionName: template_private_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_set_word
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_PARAM_get_ulong
    - TEST_true
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - TEST_size_t_eq
    - OPENSSL_secure_free
    - OSSL_PARAM_merge
    - OSSL_PARAM_BLD_push_size_t
    - BN_set_negative
    - OSSL_PARAM_dup
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_BLD_new
    - TEST_ulong_eq
    - TEST_int_eq
    - BN_secure_new
    - CRYPTO_secure_allocated
    - TEST_uint_eq
    - TEST_false
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_free
    - OSSL_PARAM_get_size_t
    - BN_get_flags
    - OPENSSL_secure_malloc
    - OSSL_PARAM_locate
    - TEST_BN_eq
    - OSSL_PARAM_BLD_push_uint32
    - OSSL_PARAM_BLD_push_octet_ptr
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_ulong
    - BN_free
    - OSSL_PARAM_BLD_push_uint64
    - OSSL_PARAM_BLD_push_uint
    - OSSL_PARAM_BLD_push_octet_string
    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:410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:414,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:421,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/param_build_test.c:421,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:424,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:424,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:429,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:436,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/param_build_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:437,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:437,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:442,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:446,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:447,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 449
    functionName: builder_limit_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_int
    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:455,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:456,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_uint
      Src: /src/openssl/test/param_build_test.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:469,1
    - Dst: OSSL_PARAM_BLD_push_ulong
      Src: /src/openssl/test/param_build_test.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:470,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/param_build_test.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:471,1
    - Dst: OSSL_PARAM_BLD_push_uint64
      Src: /src/openssl/test/param_build_test.c:471,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:472,1
    - Dst: OSSL_PARAM_BLD_push_size_t
      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_secure_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: TEST_true
      Src: /src/openssl/test/param_build_test.c:480,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/param_build_test.c:480,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:482,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/openssl/test/param_build_test.c:482,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:484,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/param_build_test.c:484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:485,1
    - Dst: BN_new
      Src: /src/openssl/test/param_build_test.c:485,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:486,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:486,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:487,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:488,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:491,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:494,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:495,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/test/param_build_test.c:495,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:496,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:497,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:498,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:501,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:502,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/param_build_test.c:502,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:503,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:504,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:505,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:508,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:508,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:509,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:510,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:511,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:512,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/param_build_test.c:512,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:515,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:515,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:516,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:517,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:518,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:519,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/openssl/test/param_build_test.c:519,1
    - Dst: TEST_ulong_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_size_t_eq
      Src: /src/openssl/test/param_build_test.c:525,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:526,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/param_build_test.c:526,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:529,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:529,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:530,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:531,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:532,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:534,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:534,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:535,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:536,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:539,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:539,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:540,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:541,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:542,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:542,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:543,1
    - Dst: BN_cmp
      Src: /src/openssl/test/param_build_test.c:543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:544,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:544,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:545,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:547,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:547,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:548,1
    - Dst: BN_cmp
      Src: /src/openssl/test/param_build_test.c:548,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:552,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:553,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:554,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:555,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:556,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:557,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:558,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:559,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:560,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 451
    functionDepth: 6
    functionLinenumber: 451
    functionLinenumberEnd: 562
    functionName: builder_merge_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_set_word
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_PARAM_get_ulong
    - TEST_true
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - TEST_size_t_eq
    - OSSL_PARAM_merge
    - OSSL_PARAM_BLD_push_size_t
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_BLD_new
    - TEST_ulong_eq
    - TEST_int_eq
    - BN_secure_new
    - TEST_uint_eq
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_free
    - OSSL_PARAM_get_size_t
    - BN_cmp
    - BN_new
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_uint32
    - OSSL_PARAM_BLD_push_octet_ptr
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_ulong
    - BN_free
    - OSSL_PARAM_BLD_push_uint64
    - OSSL_PARAM_BLD_push_uint
    - OSSL_PARAM_BLD_push_octet_string
    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:566,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/param_build_test.c:567,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/param_build_test.c:569,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/param_build_test.c:570,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/param_build_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/param_build_test.c:573,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/param_build_test.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 576
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - CRYPTO_secure_malloc_init
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:63,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:63,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:63,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:69,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:69,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:73,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:74,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:81,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:82,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:84,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:88,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:89,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:91,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:95,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:96,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:98,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:102,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:103,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:105,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:109,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:110,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:112,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:116,1
    - Dst: SSL_get_handshake_rtt
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:116,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:116,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:119,1
    - Dst: SSL_free
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:125,1
    - Dst: SSL_free
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:126,1
    - Dst: SSL_CTX_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
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 131
    functionName: test_handshake_rtt
    functionSourceFile: /src/openssl/test/ssl_handshake_rtt_test.c
    functionUses: 0
    functionsReached:
    - ossl_statem_client_write_transition
    - TLS_client_method
    - TEST_ptr
    - SSL_get_handshake_rtt
    - TEST_uint64_t_ge
    - TEST_true
    - SSL_CONNECTION_FROM_SSL
    - TEST_int_gt
    - ossl_statem_server_write_transition
    - SSL_CTX_free
    - TLS_server_method
    - OSSL_sleep
    - create_ssl_ctx_pair
    - create_ssl_objects
    - SSL_CONNECTION_GET_SSL
    - SSL_free
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: int_compare_backward
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_compare_backward(const int *const *a, const int *const *b)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:66,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:79,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:91,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:92,1
    - Dst: sk_sint_new_null
      Src: /src/openssl/test/stack_test.c:92,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:97,1
    - Dst: sk_sint_reserve
      Src: /src/openssl/test/stack_test.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:103,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:103,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:105,1
    - Dst: sk_sint_num
      Src: /src/openssl/test/stack_test.c:105,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:109,1
    - Dst: sk_sint_push
      Src: /src/openssl/test/stack_test.c:109,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:114,1
    - Dst: sk_sint_num
      Src: /src/openssl/test/stack_test.c:114,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:119,1
    - Dst: sk_sint_value
      Src: /src/openssl/test/stack_test.c:119,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:120,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:129,1
    - Dst: sk_sint_find
      Src: /src/openssl/test/stack_test.c:129,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:140,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:140,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:141,1
    - Dst: TEST_false
      Src: /src/openssl/test/stack_test.c:147,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:147,1
    - Dst: sk_sint_set_cmp_func
      Src: /src/openssl/test/stack_test.c:149,1
    - Dst: sk_sint_sort
      Src: /src/openssl/test/stack_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:151,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:151,1
    - Dst: sk_sint_set_cmp_func
      Src: /src/openssl/test/stack_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:154,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:154,1
    - Dst: sk_sint_set_cmp_func
      Src: /src/openssl/test/stack_test.c:156,1
    - Dst: TEST_false
      Src: /src/openssl/test/stack_test.c:157,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:157,1
    - Dst: sk_sint_sort
      Src: /src/openssl/test/stack_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:160,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:165,1
    - Dst: sk_sint_find
      Src: /src/openssl/test/stack_test.c:165,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:172,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:172,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:173,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:177,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:177,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:182,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:182,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:186,1
    - Dst: sk_sint_value
      Src: /src/openssl/test/stack_test.c:187,1
    - Dst: sk_sint_insert
      Src: /src/openssl/test/stack_test.c:192,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:193,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:197,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:197,1
    - Dst: sk_sint_insert
      Src: /src/openssl/test/stack_test.c:201,1
    - Dst: TEST_false
      Src: /src/openssl/test/stack_test.c:203,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:203,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:207,1
    - Dst: sk_sint_shift
      Src: /src/openssl/test/stack_test.c:207,1
    - Dst: sk_sint_free
      Src: /src/openssl/test/stack_test.c:212,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 107
    argCount: 1
    argNames:
    - reserve
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 214
    functionName: test_int_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - sk_sint_new_null
    - TEST_ptr_eq
    - sk_sint_find
    - sk_sint_insert
    - sk_sint_push
    - sk_sint_num
    - TEST_int_eq
    - STACK_OF
    - sk_sint_is_sorted
    - sk_sint_shift
    - TEST_false
    - sk_sint_reserve
    - sk_sint_free
    - sk_sint_sort
    - sk_sint_set_cmp_func
    - OSSL_NELEM
    - sk_sint_find_ex
    - TEST_info
    - sk_sint_value
    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: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:225,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:226,1
    - Dst: sk_uchar_new
      Src: /src/openssl/test/stack_test.c:226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:231,1
    - Dst: sk_uchar_reserve
      Src: /src/openssl/test/stack_test.c:231,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:236,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:236,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:237,1
    - Dst: sk_uchar_unshift
      Src: /src/openssl/test/stack_test.c:240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:242,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:242,1
    - Dst: sk_uchar_dup
      Src: /src/openssl/test/stack_test.c:246,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:247,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:249,1
    - Dst: sk_uchar_dup
      Src: /src/openssl/test/stack_test.c:250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:251,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:251,1
    - Dst: sk_uchar_dup
      Src: /src/openssl/test/stack_test.c:253,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:254,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:254,1
    - Dst: sk_uchar_sort
      Src: /src/openssl/test/stack_test.c:256,1
    - Dst: sk_uchar_sort
      Src: /src/openssl/test/stack_test.c:257,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:261,1
    - Dst: sk_uchar_pop
      Src: /src/openssl/test/stack_test.c:261,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:262,1
    - Dst: TEST_false
      Src: /src/openssl/test/stack_test.c:266,1
    - Dst: sk_uchar_is_sorted
      Src: /src/openssl/test/stack_test.c:266,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:269,1
    - Dst: sk_uchar_is_sorted
      Src: /src/openssl/test/stack_test.c:269,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:280,1
    - Dst: sk_uchar_is_sorted
      Src: /src/openssl/test/stack_test.c:280,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:288,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:288,1
    - Dst: sk_uchar_zero
      Src: /src/openssl/test/stack_test.c:292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:293,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:293,1
    - Dst: sk_uchar_insert
      Src: /src/openssl/test/stack_test.c:297,1
    - Dst: sk_uchar_insert
      Src: /src/openssl/test/stack_test.c:298,1
    - Dst: sk_uchar_insert
      Src: /src/openssl/test/stack_test.c:299,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:301,1
    - Dst: sk_uchar_value
      Src: /src/openssl/test/stack_test.c:301,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:302,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/stack_test.c:307,1
    - Dst: sk_uchar_delete
      Src: /src/openssl/test/stack_test.c:307,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:309,1
    - Dst: sk_uchar_delete
      Src: /src/openssl/test/stack_test.c:309,1
    - Dst: sk_uchar_set
      Src: /src/openssl/test/stack_test.c:313,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:315,1
    - Dst: sk_uchar_value
      Src: /src/openssl/test/stack_test.c:315,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:316,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:322,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:323,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:324,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 89
    argCount: 1
    argNames:
    - reserve
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 326
    functionName: test_uchar_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - sk_uchar_free
    - sk_uchar_reserve
    - sk_uchar_insert
    - TEST_true
    - TEST_ptr_null
    - TEST_ptr_eq
    - sk_uchar_pop
    - TEST_int_eq
    - STACK_OF
    - sk_uchar_sort
    - TEST_false
    - sk_uchar_delete
    - sk_uchar_num
    - sk_uchar_dup
    - sk_uchar_is_sorted
    - sk_uchar_value
    - sk_uchar_set
    - sk_uchar_new
    - sk_uchar_zero
    - OSSL_NELEM
    - sk_uchar_unshift
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_uchar_stack(int reserve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/stack_test.c:330,1
    - Dst: memcpy
      Src: /src/openssl/test/stack_test.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - TST_SS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: SS_copy
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: TST_SS
    signature: TST_SS *SS_copy(const TST_SS *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/stack_test.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - TST_SS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: SS_free
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void SS_free(TST_SS *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/stack_test.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: string_copy
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 4
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *string_copy(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/stack_test.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: string_free
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void string_free(char *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:354,1
    - Dst: sk_TST_SS_new_null
      Src: /src/openssl/test/stack_test.c:354,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:355,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:357,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/stack_test.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:365,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:369,1
    - Dst: sk_TST_SS_num
      Src: /src/openssl/test/stack_test.c:369,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:370,1
    - Dst: sk_TST_SS_push
      Src: /src/openssl/test/stack_test.c:373,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:375,1
    - Dst: sk_TST_SS_num
      Src: /src/openssl/test/stack_test.c:375,1
    - Dst: sk_TST_SS_deep_copy
      Src: /src/openssl/test/stack_test.c:379,1
    - Dst: sk_TST_SS_num
      Src: /src/openssl/test/stack_test.c:380,1
    - Dst: sk_TST_SS_free
      Src: /src/openssl/test/stack_test.c:382,1
    - Dst: sk_TST_SS_deep_copy
      Src: /src/openssl/test/stack_test.c:383,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:384,1
    - Dst: sk_TST_SS_value
      Src: /src/openssl/test/stack_test.c:387,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/stack_test.c:388,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:392,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:393,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/stack_test.c:396,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:397,1
    - Dst: sk_TST_SS_pop_free
      Src: /src/openssl/test/stack_test.c:403,1
    - Dst: sk_TST_SS_delete_ptr
      Src: /src/openssl/test/stack_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:408,1
    - Dst: SS_free
      Src: /src/openssl/test/stack_test.c:410,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:411,1
    - Dst: sk_TST_SS_num
      Src: /src/openssl/test/stack_test.c:411,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:414,1
    - Dst: sk_TST_SS_value
      Src: /src/openssl/test/stack_test.c:414,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:415,1
    - Dst: sk_TST_SS_pop_free
      Src: /src/openssl/test/stack_test.c:421,1
    - Dst: sk_TST_SS_pop_free
      Src: /src/openssl/test/stack_test.c:422,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 424
    functionName: test_SS_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - sk_TST_SS_new_null
    - sk_TST_SS_deep_copy
    - TEST_ptr_ne
    - sk_TST_SS_delete_ptr
    - SS_free
    - TEST_ptr
    - sk_TST_SS_value
    - TEST_char_eq
    - sk_TST_SS_free
    - sk_TST_SS_pop_free
    - TEST_int_eq
    - OSSL_NELEM
    - STACK_OF
    - sk_TST_SS_push
    - TEST_info
    - TEST_ptr_eq
    - sk_TST_SS_num
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_SS_stack(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:428,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/stack_test.c:428,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:429,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:437,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:440,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/stack_test.c:441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:443,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/stack_test.c:443,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/stack_test.c:444,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/stack_test.c:449,1
    - Dst: sk_OPENSSL_STRING_deep_copy
      Src: /src/openssl/test/stack_test.c:450,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/stack_test.c:451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:456,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/stack_test.c:456,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/stack_test.c:456,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/stack_test.c:459,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/stack_test.c:460,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/stack_test.c:461,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/stack_test.c:463,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/stack_test.c:464,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/test/stack_test.c:470,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/test/stack_test.c:471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 473
    functionName: test_OPENSSL_STRING_deep_copy_mfail
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - MFAIL_start
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - OPENSSL_free
    - sk_OPENSSL_STRING_deep_copy
    - MFAIL_end
    - sk_OPENSSL_STRING_value
    - TEST_str_eq
    - sk_OPENSSL_STRING_new_null
    - TEST_int_eq
    - sk_OPENSSL_STRING_pop_free
    - OSSL_NELEM
    - STACK_OF
    - TEST_ptr_ne
    linkageType: ''
    returnType: int
    signature: int test_OPENSSL_STRING_deep_copy_mfail(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:477,1
    - Dst: sk_TST_SU_new_null
      Src: /src/openssl/test/stack_test.c:477,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:479,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:489,1
    - Dst: sk_TST_SU_num
      Src: /src/openssl/test/stack_test.c:489,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:490,1
    - Dst: sk_TST_SU_push
      Src: /src/openssl/test/stack_test.c:493,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:495,1
    - Dst: sk_TST_SU_num
      Src: /src/openssl/test/stack_test.c:495,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:500,1
    - Dst: sk_TST_SU_value
      Src: /src/openssl/test/stack_test.c:500,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:501,1
    - Dst: sk_TST_SU_free
      Src: /src/openssl/test/stack_test.c:507,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 509
    functionName: test_SU_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - sk_TST_SU_num
    - sk_TST_SU_free
    - sk_TST_SU_push
    - sk_TST_SU_new_null
    - TEST_int_eq
    - OSSL_NELEM
    - STACK_OF
    - TEST_info
    - TEST_ptr_eq
    - sk_TST_SU_value
    linkageType: ''
    returnType: int
    signature: int test_SU_stack(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/stack_test.c:513,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/stack_test.c:514,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/stack_test.c:515,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/stack_test.c:516,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/stack_test.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - ADD_MFAIL_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/v3nametest.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    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:94,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/v3nametest.c:95,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:103,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:106,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/test/v3nametest.c:107,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/test/v3nametest.c:111,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/v3nametest.c:115,1
    - Dst: va_end
      Src: /src/openssl/test/v3nametest.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - crt
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: set_cn
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - X509_NAME_free
    - va_arg
    - X509_set_subject_name
    - va_start
    - X509_NAME_add_entry_by_NID
    - va_end
    - X509_NAME_new
    linkageType: ''
    returnType: int
    signature: int set_cn(X509 *crt, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/v3nametest.c:134,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/test/v3nametest.c:135,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:141,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:144,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/test/v3nametest.c:146,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/test/v3nametest.c:149,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/v3nametest.c:152,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/openssl/test/v3nametest.c:157,1
    - Dst: abort
      Src: /src/openssl/test/v3nametest.c:161,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/test/v3nametest.c:163,1
    - Dst: X509_add1_ext_i2d
      Src: /src/openssl/test/v3nametest.c:167,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/test/v3nametest.c:171,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/v3nametest.c:172,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/test/v3nametest.c:173,1
    - Dst: va_end
      Src: /src/openssl/test/v3nametest.c:174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - crt
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 176
    functionName: set_altname
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - X509_add1_ext_i2d
    - GENERAL_NAME_free
    - GENERAL_NAME_new
    - ASN1_IA5STRING_new
    - abort
    - sk_GENERAL_NAME_new_null
    - va_arg
    - sk_GENERAL_NAME_push
    - va_start
    - GENERAL_NAME_set0_value
    - va_end
    - GENERAL_NAMES_free
    - 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:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 181
    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:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 187
    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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 193
    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:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 199
    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:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    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:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 210
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    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:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 222
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 227
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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:262,1
    - Dst: X509_new
      Src: /src/openssl/test/v3nametest.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:264,1
    - Dst: X509_set_version
      Src: /src/openssl/test/v3nametest.c:264,1
    - Dst: X509_free
      Src: /src/openssl/test/v3nametest.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: make_cert
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_new
    - X509_free
    - TEST_true
    - X509_set_version
    linkageType: ''
    returnType: X509
    signature: X509 *make_cert(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/v3nametest.c:278,1
    - Dst: is_exception
      Src: /src/openssl/test/v3nametest.c:281,1
    - Dst: TEST_error
      Src: /src/openssl/test/v3nametest.c:283,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: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: check_message
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - is_exception
    - BIO_snprintf
    - 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:294,1
    - Dst: strlen
      Src: /src/openssl/test/v3nametest.c:295,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/v3nametest.c:296,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:299,1
    - Dst: memcpy
      Src: /src/openssl/test/v3nametest.c:301,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/v3nametest.c:304,1
    - Dst: X509_check_host
      Src: /src/openssl/test/v3nametest.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:314,1
    - Dst: check_message
      Src: /src/openssl/test/v3nametest.c:314,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/v3nametest.c:318,1
    - Dst: X509_check_host
      Src: /src/openssl/test/v3nametest.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:330,1
    - Dst: check_message
      Src: /src/openssl/test/v3nametest.c:330,1
    - Dst: X509_check_email
      Src: /src/openssl/test/v3nametest.c:335,1
    - Dst: strchr
      Src: /src/openssl/test/v3nametest.c:339,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:343,1
    - Dst: check_message
      Src: /src/openssl/test/v3nametest.c:343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/v3nametest.c:345,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: 349
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 349
    functionName: run_cert
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - strchr
    - X509_check_host
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - check_message
    - TEST_int_ge
    - OPENSSL_strcasecmp
    - strlen
    - memcpy
    - X509_check_email
    - 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:358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:360,1
    - Dst: make_cert
      Src: /src/openssl/test/v3nametest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:361,1
    - Dst: struct set_name_fn*::fn
      Src: /src/openssl/test/v3nametest.c:361,1
    - Dst: run_cert
      Src: /src/openssl/test/v3nametest.c:362,1
    - Dst: X509_free
      Src: /src/openssl/test/v3nametest.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 367
    functionName: call_run_cert
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_free
    - TEST_true
    - struct set_name_fn*::fn
    - run_cert
    - TEST_info
    - make_cert
    linkageType: ''
    returnType: int
    signature: int call_run_cert(int i)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/v3nametest.c:617,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:618,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/v3nametest.c:619,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:620,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:623,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:623,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:626,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/test/v3nametest.c:633,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/test/v3nametest.c:635,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:636,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:636,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:641,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:642,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3nametest.c:644,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/test/v3nametest.c:644,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/v3nametest.c:647,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/test/v3nametest.c:647,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:655,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/v3nametest.c:657,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/v3nametest.c:659,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/v3nametest.c:661,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/v3nametest.c:662,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 665
    functionName: test_GENERAL_NAME_cmp
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - GENERAL_NAME_free
    - GENERAL_NAME_cmp
    - d2i_GENERAL_NAME
    - TEST_int_eq
    - OSSL_NELEM
    - TEST_int_ne
    - 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:670,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:670,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3nametest.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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_int_eq
    - TEST_ptr_eq
    - TEST_ptr_null
    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_long_eq
    - TEST_int_eq
    - TEST_ptr_eq
    - TEST_ptr
    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_int_eq
    - TEST_ptr_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
    - OPENSSL_free
    - TEST_true
    - TEST_long_eq
    - TEST_ptr_null
    - CRYPTO_set_ex_data
    - 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_ptr
    - TEST_true
    - CRYPTO_get_ex_data
    - TEST_long_eq
    - 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:
    - OPENSSL_free
    - TEST_true
    - CRYPTO_get_ex_data
    - TEST_long_eq
    - CRYPTO_set_ex_data
    - 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:
    - TEST_int_eq
    - CRYPTO_set_ex_data
    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
    - TEST_true
    - CRYPTO_get_ex_data
    - TEST_ptr_null
    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:
    - MYOBJ_new
    - CRYPTO_dup_ex_data
    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:
    - OPENSSL_strdup
    - MYOBJ_gethello3
    - MYOBJ_dup
    - TEST_ptr
    - OPENSSL_free
    - MYOBJ_sethello
    - MYOBJ_allochello3
    - CRYPTO_get_ex_data
    - MYOBJ_gethello
    - CRYPTO_get_ex_new_index
    - TEST_int_eq
    - MYOBJ_new
    - TEST_ptr_null
    - MYOBJ_sethello2
    - MYOBJ_free
    - MYOBJ_gethello2
    - 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: 101
    functionsReached:
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_cfq_item_get_encoded
    - TEST_ptr
    - ossl_quic_cfq_item_get_pn_space
    - TEST_int_eq
    - TEST_ptr_null
    - TEST_ptr_eq
    - ossl_quic_cfq_item_get_state
    - ossl_quic_cfq_item_get_priority_next
    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:
    - TEST_ptr
    - TEST_uint64_t_eq
    - ossl_quic_cfq_free
    - ossl_quic_cfq_item_get_pn_space
    - TEST_ptr_null
    - TEST_ptr_eq
    - ossl_quic_cfq_add_frame
    - ossl_quic_cfq_new
    - TEST_int_eq
    - check
    - ossl_quic_cfq_item_get_encoded_len
    - ossl_quic_cfq_mark_lost
    - ossl_quic_cfq_item_get_encoded
    - TEST_uint_eq
    - ossl_quic_cfq_release
    - ossl_quic_cfq_item_get_state
    - ossl_quic_cfq_item_get_priority_next
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_cfq_item_get_frame_type
    - ossl_quic_cfq_mark_tx
    - OSSL_NELEM
    - TEST_size_t_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: 6
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 42
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_MSG_free
    - sk_X509_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:
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_new
    - tear_down
    - TEST_ptr
    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:82,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_protect_test.c:83,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/cmp_protect_test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 12
    functionLinenumber: 80
    functionLinenumberEnd: 87
    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:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:93,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/test/cmp_protect_test.c:93,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/cmp_protect_test.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 12
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: execute_calc_protection_pbmac_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_free
    - TEST_ptr
    - ASN1_STRING_cmp
    - TEST_true
    - ossl_cmp_calc_protection
    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:111,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/test/cmp_protect_test.c:113,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/cmp_protect_test.c:113,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: 105
    functionDepth: 12
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: verify_signature
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 3
    functionsReached:
    - OSSL_CMP_MSG_get0_header
    - ASN1_item_verify_ex
    - 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:123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:125,1
    - Dst: verify_signature
      Src: /src/openssl/test/cmp_protect_test.c:125,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/cmp_protect_test.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 12
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: execute_calc_protection_signature_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_free
    - TEST_ptr
    - TEST_true
    - ossl_cmp_calc_protection
    - verify_signature
    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:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:136,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:137,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/test/cmp_protect_test.c:137,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:138,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: test_cmp_calc_protection_no_key_no_secret
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - X509_ALGOR_new
    - 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:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:150,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_protect_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:151,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:151,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:152,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: test_cmp_calc_protection_pkey
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_pkey
    - 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:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:164,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_protect_test.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:165,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:165,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:166,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: test_cmp_calc_protection_pkey_Ed
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_pkey
    - 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:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:179,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_protect_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:181,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:181,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:182,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: test_cmp_calc_protection_pbmac
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - load_pkimsg
    - OSSL_CMP_CTX_set1_secretValue
    - 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:190,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/test/cmp_protect_test.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 13
    functionLinenumber: 188
    functionLinenumberEnd: 192
    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: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    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:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:201,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:202,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:202,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:203,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: test_MSG_protect_unprotected_request
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_MSG_dup
    - 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:214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:217,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:218,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:223,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_protect_test.c:223,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:225,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_protect_test.c:225,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:228,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 233
    functionName: test_MSG_protect_with_msg_sig_alg_protection_plus_rsa_key
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_CTX_set1_referenceValue
    - OSSL_CMP_MSG_dup
    - 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:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:240,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:241,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:242,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_protect_test.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:243,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/test/cmp_protect_test.c:243,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:245,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: test_MSG_protect_with_certificate_and_key
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_pkey
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_set1_cert
    - EXECUTE_TEST
    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:256,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:259,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:260,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:261,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/cmp_protect_test.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:262,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/test/cmp_protect_test.c:262,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:263,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: test_MSG_protect_certificate_based_without_cert
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set0_newPkey
    - EVP_PKEY_up_ref
    - tear_down
    - TEST_true
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_MSG_dup
    - 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:272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:274,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:275,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:275,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:276,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: test_MSG_protect_no_key_no_secret
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - SET_OPT_UNPROTECTED_SEND
    - OSSL_CMP_MSG_dup
    - 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:288,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:290,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:290,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:291,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/openssl/test/cmp_protect_test.c:292,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_protect_test.c:293,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_protect_test.c:295,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:298,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - with_ref
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: test_MSG_protect_pbmac_no_sender
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - ossl_cmp_hdr_set1_sender
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_CTX_set1_referenceValue
    - OSSL_CMP_MSG_dup
    - 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:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 308
    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:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 313
    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:317,1
    - Dst: ossl_cmp_msg_add_extraCerts
      Src: /src/openssl/test/cmp_protect_test.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 319
    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:323,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:324,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:324,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:325,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: test_MSG_add_extraCerts
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - tear_down
    - OSSL_CMP_MSG_dup
    - 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:339,1
    - Dst: X509_build_chain
      Src: /src/openssl/test/cmp_protect_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:342,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:344,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_protect_test.c:344,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:345,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:350,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/cmp_protect_test.c:350,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:351,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/cmp_protect_test.c:351,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/cmp_protect_test.c:352,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_protect_test.c:352,1
    - Dst: X509_build_chain
      Src: /src/openssl/test/cmp_protect_test.c:354,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:356,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:359,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_protect_test.c:359,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:360,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/cmp_protect_test.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 8
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: execute_cmp_build_cert_chain_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - X509_build_chain
    - X509_VERIFY_PARAM_set_flags
    - TEST_ptr
    - STACK_OF_X509_cmp
    - OSSL_STACK_OF_X509_free
    - X509_STORE_get0_param
    - X509_STORE_add_cert
    - TEST_true
    - TEST_int_eq
    - X509_STORE_new
    - STACK_OF
    - X509_STORE_free
    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:369,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:373,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:373,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:374,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:374,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:375,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:376,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:376,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:377,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:378,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:378,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:379,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:379,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:380,1
    - Dst: execute_cmp_build_cert_chain_test
      Src: /src/openssl/test/cmp_protect_test.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:386,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:386,1
    - Dst: execute_cmp_build_cert_chain_test
      Src: /src/openssl/test/cmp_protect_test.c:387,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 367
    functionDepth: 9
    functionLinenumber: 367
    functionLinenumberEnd: 391
    functionName: test_cmp_build_cert_chain
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - execute_cmp_build_cert_chain_test
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - TEST_true
    - sk_X509_push
    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:395,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:399,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:399,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:400,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:401,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:402,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:403,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:403,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:404,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 409
    functionName: test_cmp_build_cert_chain_missing_intermediate
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - TEST_true
    - sk_X509_push
    - 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:413,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:417,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:418,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:419,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:419,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:420,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:420,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:421,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:421,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:422,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:422,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:423,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: test_cmp_build_cert_chain_no_root
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - TEST_true
    - sk_X509_push
    - 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:432,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:436,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:437,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:438,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:438,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:439,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:439,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:440,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 445
    functionName: test_cmp_build_cert_chain_only_root
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - TEST_true
    - sk_X509_push
    - 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:449,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:453,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:453,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:454,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:454,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:455,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:455,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:456,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: test_cmp_build_cert_chain_no_certs
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - TEST_true
    - sk_X509_push
    - 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:466,1
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_protect_test.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:470,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/test/cmp_protect_test.c:470,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/test/cmp_protect_test.c:474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:475,1
    - Dst: STACK_OF_X509_cmp_deep
      Src: /src/openssl/test/cmp_protect_test.c:475,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/cmp_protect_test.c:479,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 482
    functionName: execute_X509_STORE_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_get1_all_certs
    - ossl_cmp_X509_STORE_add1_certs
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - STACK_OF_X509_cmp_deep
    - TEST_int_eq
    - X509_STORE_new
    - STACK_OF
    - X509_STORE_free
    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:486,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:488,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:488,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:489,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:490,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:491,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:492,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:493,1
    - Dst: sk_X509_dup
      Src: /src/openssl/test/cmp_protect_test.c:493,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:494,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 499
    functionName: test_X509_STORE
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - sk_X509_push
    - sk_X509_dup
    - 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:503,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:504,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:507,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:507,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:508,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:509,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:509,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:510,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:510,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:511,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:511,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:512,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: test_X509_STORE_only_self_issued
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_new_null
    - tear_down
    - TEST_true
    - sk_X509_push
    - 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:521,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_protect_test.c:523,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:524,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_protect_test.c:526,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:527,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:528,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:529,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:530,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:531,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:532,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:533,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_protect_test.c:534,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_protect_test.c:535,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_protect_test.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 537
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 7
    functionsReached:
    - X509_free
    - OSSL_CMP_MSG_free
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    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:556,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_protect_test.c:557,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_protect_test.c:561,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:562,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:562,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:563,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:564,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:564,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:565,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:565,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:566,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:566,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:567,1
    - Dst: test_get_argument
      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_error
      Src: /src/openssl/test/cmp_protect_test.c:574,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_protect_test.c:578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:581,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_protect_test.c:581,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:582,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:582,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:585,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_protect_test.c:585,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:588,1
    - Dst: load_pkey_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_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:591,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:593,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:595,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:595,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:597,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:597,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:598,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:598,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:599,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:599,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:600,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:602,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_protect_test.c:602,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:606,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:607,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:609,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:611,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:614,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:616,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:618,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: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:627,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
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 545
    functionDepth: 8
    functionLinenumber: 545
    functionLinenumberEnd: 634
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - RAND_bytes
    - test_get_argument
    - load_cert_pem
    - ADD_TEST
    - TEST_error
    - TEST_int_eq
    - load_pkimsg
    - test_arg_libctx
    - load_pkey_pem
    - test_skip_common_options
    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
    - ossl_statm_destroy
    - ossl_ackm_free
    - OPENSSL_free
    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:
    - TEST_ptr
    - new
    - helper_destroy
    - TEST_int_eq
    - memset
    - ossl_ackm_new
    - OPENSSL_calloc
    - ossl_statm_init
    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:322,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:324,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:326,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:328,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:330,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: 333
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 333
    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: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    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:348,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_ackm_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:356,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_ackm_test.c:356,1
    - Dst: ossl_ackm_set_loss_detection_deadline_callback
      Src: /src/openssl/test/quic_ackm_test.c:360,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_ackm_test.c:366,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:367,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:383,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/test/quic_ackm_test.c:383,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:389,1
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/test/quic_ackm_test.c:389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:396,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:398,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:405,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:405,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: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:416,1
    - Dst: ossl_ackm_get_loss_detection_deadline
      Src: /src/openssl/test/quic_ackm_test.c:421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:424,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_ackm_test.c:424,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_ackm_test.c:428,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_ackm_test.c:428,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_ackm_test.c:432,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:433,1
    - Dst: test_probe_counts
      Src: /src/openssl/test/quic_ackm_test.c:433,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:441,1
    - Dst: ossl_ackm_on_handshake_confirmed
      Src: /src/openssl/test/quic_ackm_test.c:441,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:445,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:447,1
    - Dst: ossl_ackm_on_timeout
      Src: /src/openssl/test/quic_ackm_test.c:447,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_ackm_test.c:452,1
    - Dst: memset
      Src: /src/openssl/test/quic_ackm_test.c:454,1
    - Dst: ossl_ackm_get0_probe_request
      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: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:460,1
    - Dst: test_probe_counts
      Src: /src/openssl/test/quic_ackm_test.c:460,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:474,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 104
    argCount: 3
    argNames:
    - tidx
    - space
    - mode
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 476
    functionName: test_tx_ack_case_actual
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_ackm_on_timeout
    - helper_destroy
    - ossl_ackm_get_loss_detection_deadline
    - ossl_time_compare
    - ossl_ackm_on_tx_packet
    - ossl_time_zero
    - ossl_ackm_get0_probe_request
    - test_probe_counts
    - OPENSSL_zalloc
    - ossl_ackm_on_pkt_space_discarded
    - TEST_int_gt
    - TEST_int_eq
    - ossl_ticks2time
    - ossl_ackm_on_handshake_confirmed
    - ossl_ackm_set_loss_detection_deadline_callback
    - helper_init
    - memset
    - TEST_skip
    - ossl_ackm_on_rx_ack_frame
    - ossl_time_add
    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: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    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: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    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: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    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:537,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_ackm_test.c:537,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_ackm_test.c:541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:542,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:564,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:568,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/test/quic_ackm_test.c:568,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:582,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:583,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:585,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:585,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:595,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:601,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:611,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 1
    argNames:
    - tidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 613
    functionName: test_tx_ack_time_script
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - ossl_ackm_on_rx_ack_frame
    - helper_destroy
    - helper_init
    - TEST_int_eq
    - ossl_ackm_on_tx_packet
    - ossl_time_add
    - ossl_ticks2time
    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: 652
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 652
    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: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    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: 664
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 664
    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: 670
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 670
    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: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    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: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    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: 688
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 688
    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: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    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: 700
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 700
    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: 907
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 907
    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:925,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:928,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_ackm_test.c:928,1
    - Dst: ossl_ackm_set_ack_deadline_callback
      Src: /src/openssl/test/quic_ackm_test.c:932,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_ackm_test.c:944,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:945,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_ackm_test.c:948,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:949,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:954,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:955,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:967,1
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/test/quic_ackm_test.c:967,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:973,1
    - Dst: ossl_ackm_on_rx_packet
      Src: /src/openssl/test/quic_ackm_test.c:973,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:982,1
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/test/quic_ackm_test.c:982,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:990,1
    - Dst: ossl_ackm_is_ack_desired
      Src: /src/openssl/test/quic_ackm_test.c:990,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:994,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/test/quic_ackm_test.c:994,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:994,1
    - Dst: ossl_time_is_zero
      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_true
      Src: /src/openssl/test/quic_ackm_test.c:1001,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/test/quic_ackm_test.c:1001,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:1001,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:1004,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_ackm_test.c:1004,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:1004,1
    - Dst: ossl_ackm_get_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:1013,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:1016,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_ackm_test.c:1019,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_ackm_test.c:1023,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_ackm_test.c:1026,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:1048,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/test/quic_ackm_test.c:1048,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:1061,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:1061,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_ackm_test.c:1084,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:1086,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_ackm_test.c:1087,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_ackm_test.c:1088,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 123
    argCount: 2
    argNames:
    - tidx
    - space
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 1090
    functionName: test_rx_ack_actual
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_uint64_t_eq
    - helper_destroy
    - TEST_true
    - ossl_ackm_on_rx_packet
    - TEST_error
    - ossl_time_compare
    - ossl_ackm_on_tx_packet
    - ossl_ackm_is_rx_pn_processable
    - OPENSSL_free
    - ossl_time_is_zero
    - TEST_int_eq
    - ossl_ackm_get_ack_frame
    - OPENSSL_calloc
    - ossl_ackm_is_ack_desired
    - ossl_ticks2time
    - ossl_time_is_infinite
    - helper_init
    - ossl_ackm_on_rx_ack_frame
    - ossl_time_infinite
    - TEST_size_t_eq
    - ossl_time_add
    - ossl_ackm_get_ack_deadline
    - ossl_ackm_set_ack_deadline_callback
    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:1100,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1101,1
    - Dst: test_tx_ack_case_actual
      Src: /src/openssl/test/quic_ackm_test.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1107
    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:1113,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1114,1
    - Dst: test_rx_ack_actual
      Src: /src/openssl/test/quic_ackm_test.c:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1109
    functionDepth: 3
    functionLinenumber: 1109
    functionLinenumberEnd: 1117
    functionName: test_rx_ack
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - test_rx_ack_actual
    - OSSL_NELEM
    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:1121,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1122,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_ackm_test.c:1123,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1123,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_ackm_test.c:1124,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1126
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/property_test.c:45,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:47,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:47,1
    - Dst: va_arg
      Src: /src/openssl/test/property_test.c:49,1
    - Dst: va_end
      Src: /src/openssl/test/property_test.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 7
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: add_property_names
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - ossl_property_name
    - va_arg
    - va_start
    - TEST_int_ne
    - va_end
    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: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: up_ref
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 156
    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: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: down_ref
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void down_ref(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: counted_up_ref
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int counted_up_ref(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: counted_down_ref
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void counted_down_ref(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:89,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/property_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:90,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:91,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:91,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:92,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:92,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:93,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:93,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:95,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:95,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:96,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:96,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:97,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:97,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:98,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:98,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:99,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:99,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:100,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:100,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:102,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:102,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:103,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:103,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:105,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:105,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:106,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:108,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:108,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:109,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:109,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:110,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:110,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:112,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:113,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:113,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:114,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:115,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:116,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:116,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:118,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:118,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:119,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:119,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:121,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:121,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:122,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:122,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:124,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:124,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:125,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:127,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:127,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:128,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:128,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:129,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:131,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/property_test.c:132,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 78
    functionDepth: 7
    functionLinenumber: 78
    functionLinenumberEnd: 134
    functionName: test_property_string
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - ossl_property_value_str
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - ossl_method_store_free
    - ossl_property_name
    - OSSL_LIB_CTX_free
    - ossl_property_name_str
    - ossl_method_store_new
    - ossl_property_value
    - TEST_int_eq
    - TEST_ptr_null
    - TEST_str_eq
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_property_string(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:183,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:183,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:184,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:186,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:187,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:187,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:188,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:188,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:190,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:191,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 8
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: test_property_parse
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr
    - ossl_method_store_free
    - ossl_property_free
    - ossl_property_match_count
    - ossl_method_store_new
    - TEST_int_eq
    - ossl_parse_query
    - ossl_parse_property
    linkageType: ''
    returnType: int
    signature: int test_property_parse(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:203,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:203,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:204,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:205,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:206,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:207,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:207,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:208,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:208,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:209,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:209,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:211,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:212,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:213,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 8
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: test_property_query_value_create
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr
    - ossl_method_store_free
    - ossl_property_free
    - ossl_property_match_count
    - ossl_method_store_new
    - TEST_int_eq
    - ossl_parse_query
    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:251,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:251,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:252,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:256,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:256,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:258,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:258,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:263,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 8
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: test_property_parse_error
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr
    - ossl_method_store_free
    - ossl_property_free
    - ossl_method_store_new
    - TEST_ptr_null
    - ossl_parse_query
    - ossl_parse_property
    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:301,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:301,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:304,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:304,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:305,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:307,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:308,1
    - Dst: ossl_property_merge
      Src: /src/openssl/test/property_test.c:308,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/property_test.c:309,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:309,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:311,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:312,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:313,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:314,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 8
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: test_property_merge
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr
    - ossl_method_store_free
    - ossl_property_free
    - ossl_property_match_count
    - ossl_method_store_new
    - TEST_int_ge
    - ossl_parse_query
    - ossl_property_merge
    - ossl_parse_property
    linkageType: ''
    returnType: int
    signature: int test_property_merge(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:325,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:325,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:327,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:328,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:328,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/property_test.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:330,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/test/property_test.c:330,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:333,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:335,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:339,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/test/property_test.c:339,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:341,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:345,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/test/property_test.c:345,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:346,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/test/property_test.c:346,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:347,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:347,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/property_test.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:349,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/test/property_test.c:349,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:351,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:355,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:356,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/test/property_test.c:356,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:358,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 319
    functionDepth: 8
    functionLinenumber: 319
    functionLinenumberEnd: 360
    functionName: test_property_defn_cache
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr
    - ossl_prop_defn_set
    - ossl_method_store_free
    - ossl_property_free
    - TEST_true
    - ossl_method_store_new
    - ossl_prop_defn_get
    - TEST_ptr_eq
    - TEST_ptr_ne
    - ossl_parse_property
    linkageType: ''
    returnType: int
    signature: int test_property_defn_cache(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:386,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:386,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:387,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:388,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:388,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:389,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:390,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:390,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:392,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:393,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 8
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: test_definition_compares
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr
    - ossl_method_store_free
    - ossl_property_free
    - ossl_property_match_count
    - ossl_method_store_new
    - TEST_int_eq
    - ossl_parse_query
    - ossl_parse_property
    linkageType: ''
    returnType: int
    signature: int test_definition_compares(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:415,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:415,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:416,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:419,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:420,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:420,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:423,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:428,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:433,1
    - Dst: ossl_method_store_remove
      Src: /src/openssl/test/property_test.c:433,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:434,1
    - Dst: ossl_method_store_remove
      Src: /src/openssl/test/property_test.c:434,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:435,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:440,1
    - Dst: ossl_method_store_remove
      Src: /src/openssl/test/property_test.c:440,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:443,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 398
    functionDepth: 8
    functionLinenumber: 398
    functionLinenumberEnd: 445
    functionName: test_register_deregister
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_false
    - TEST_ptr
    - ossl_method_store_add
    - ossl_method_store_free
    - ossl_method_store_remove
    - TEST_true
    - ossl_method_store_new
    - TEST_note
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_register_deregister(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:497,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:497,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:498,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:502,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:502,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:506,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:517,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:517,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:520,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:521,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:522,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:525,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:535,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:535,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:539,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:540,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:541,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:542,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:546,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:546,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:550,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:551,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:552,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:553,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:557,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:567,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:567,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:571,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:572,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:573,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:574,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:578,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:578,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:582,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:583,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:584,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:585,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:589,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:593,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 447
    functionDepth: 8
    functionLinenumber: 447
    functionLinenumberEnd: 595
    functionName: test_property
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_false
    - TEST_ptr
    - ossl_method_store_add
    - ossl_method_store_free
    - ossl_method_store_fetch
    - ossl_property_free
    - TEST_true
    - ossl_method_store_new
    - TEST_note
    - TEST_ptr_null
    - OSSL_NELEM
    - TEST_str_eq
    - 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:612,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:612,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:613,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/property_test.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:619,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:621,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_test.c:621,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:624,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_test.c:624,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:627,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/property_test.c:632,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/test/property_test.c:633,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/property_test.c:638,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/property_test.c:638,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:641,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 597
    functionDepth: 8
    functionLinenumber: 597
    functionLinenumberEnd: 643
    functionName: test_query_cache_stochastic
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_int_lt
    - TEST_ptr
    - ossl_method_store_cache_set
    - ossl_method_store_add
    - ossl_method_store_free
    - BIO_snprintf
    - TEST_true
    - ossl_method_store_new
    - TEST_note
    - ossl_method_store_cache_get
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_query_cache_stochastic(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:657,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:657,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:658,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:658,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:660,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_test.c:660,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:663,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_test.c:671,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:673,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:674,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/test/property_test.c:674,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:676,1
    - Dst: counted_down_ref
      Src: /src/openssl/test/property_test.c:679,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:684,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:685,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 645
    functionDepth: 7
    functionLinenumber: 645
    functionLinenumberEnd: 688
    functionName: test_query_cache_set_duplicate
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_method_store_cache_set
    - ossl_method_store_add
    - ossl_method_store_free
    - TEST_true
    - ossl_method_store_new
    - ossl_method_store_cache_get
    - TEST_int_eq
    - counted_down_ref
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_query_cache_set_duplicate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:695,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/property_test.c:695,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:698,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:698,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:699,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:699,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:700,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:700,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:701,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:701,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:702,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:702,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:703,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:703,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:704,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:704,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:705,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:705,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:706,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:706,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:707,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:707,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:708,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:708,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:709,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/property_test.c:709,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:710,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:710,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:711,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/property_test.c:711,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:712,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:712,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/property_test.c:714,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 690
    functionDepth: 12
    functionLinenumber: 690
    functionLinenumberEnd: 716
    functionName: test_fips_mode
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - EVP_default_properties_is_fips_enabled
    - EVP_set_default_properties
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - TEST_false
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_default_properties_enable_fips
    linkageType: ''
    returnType: int
    signature: int test_fips_mode(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:753,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:753,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/test/property_test.c:755,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/property_test.c:756,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/property_test.c:758,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:759,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/property_test.c:760,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/test/property_test.c:760,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:763,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/property_test.c:764,1
    - Dst: strlen
      Src: /src/openssl/test/property_test.c:764,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/property_test.c:769,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:770,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 745
    functionDepth: 5
    functionLinenumber: 745
    functionLinenumberEnd: 772
    functionName: test_property_list_to_string
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - ossl_property_list_to_string
    - TEST_ptr
    - OPENSSL_free
    - ossl_property_free
    - TEST_str_eq
    - TEST_size_t_eq
    - strlen
    - TEST_size_t_gt
    - ossl_parse_query
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_property_list_to_string(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:780,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:780,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/property_test.c:782,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/test/property_test.c:782,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 774
    functionDepth: 5
    functionLinenumber: 774
    functionLinenumberEnd: 788
    functionName: test_property_list_to_string_bounds
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - ossl_property_list_to_string
    - TEST_ptr
    - ossl_property_free
    - TEST_size_t_eq
    - ossl_parse_query
    linkageType: ''
    returnType: int
    signature: int test_property_list_to_string_bounds(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:792,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:793,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:794,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:794,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:795,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:795,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:796,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:796,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:797,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:798,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:798,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:799,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:800,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:801,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:802,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:803,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:804,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:804,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 807
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherlist_test.c:33,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherlist_test.c:34,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cipherlist_test.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CIPHERLIST_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 61
    functionsReached:
    - SSL_CTX_free
    - OPENSSL_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:44,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cipherlist_test.c:44,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:47,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/cipherlist_test.c:47,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/cipherlist_test.c:47,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_client_method
      Src: /src/openssl/test/cipherlist_test.c:48,1
    - Dst: tear_down
      Src: /src/openssl/test/cipherlist_test.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: set_up
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TLS_client_method
    - TEST_ptr
    - tear_down
    - SSL_CTX_new
    - TLS_server_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:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:157,1
    - Dst: SSL_new
      Src: /src/openssl/test/cipherlist_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:158,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/test/cipherlist_test.c:158,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/cipherlist_test.c:161,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherlist_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:163,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/cipherlist_test.c:168,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherlist_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:169,1
    - Dst: TEST_info
      Src: /src/openssl/test/cipherlist_test.c:170,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherlist_test.c:178,1
    - Dst: SSL_free
      Src: /src/openssl/test/cipherlist_test.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: test_default_cipherlist
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - TEST_ptr
    - sk_SSL_CIPHER_free
    - SSL_get1_supported_ciphers
    - SSL_CIPHER_get_id
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - OSSL_NELEM
    - STACK_OF
    - sk_SSL_CIPHER_num
    - TEST_info
    - SSL_free
    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:186,1
    - Dst: test_default_cipherlist
      Src: /src/openssl/test/cipherlist_test.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CIPHERLIST_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 188
    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: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    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: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    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:198,1
    - Dst: EXECUTE_CIPHERLIST_TEST
      Src: /src/openssl/test/cipherlist_test.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: test_default_cipherlist_implicit
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_CIPHERLIST_TEST
    - SETUP_CIPHERLIST_TEST_FIXTURE
    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:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:206,1
    - Dst: SSL_CTX_set_cipher_list
      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: tear_down
      Src: /src/openssl/test/cipherlist_test.c:208,1
    - Dst: EXECUTE_CIPHERLIST_TEST
      Src: /src/openssl/test/cipherlist_test.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: test_default_cipherlist_explicit
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - EXECUTE_CIPHERLIST_TEST
    - tear_down
    - SSL_CTX_set_cipher_list
    - TEST_true
    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:219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:221,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:221,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:224,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/cipherlist_test.c:224,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/cipherlist_test.c:224,1
    - Dst: SSL_new
      Src: /src/openssl/test/cipherlist_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:229,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:232,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:235,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/cipherlist_test.c:235,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/cipherlist_test.c:235,1
    - Dst: SSL_free
      Src: /src/openssl/test/cipherlist_test.c:241,1
    - Dst: tear_down
      Src: /src/openssl/test/cipherlist_test.c:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: test_default_cipherlist_clear
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - TEST_ptr
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - ERR_GET_REASON
    - SSL_CTX_set_cipher_list
    - tear_down
    - SSL_set_cipher_list
    - TEST_int_eq
    - ERR_get_error
    - SSL_free
    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:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:250,1
    - Dst: SSL_CTX_set_cipher_list
      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: tear_down
      Src: /src/openssl/test/cipherlist_test.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: test_stdname_cipherlist
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - tear_down
    - SSL_CTX_set_cipher_list
    - TEST_true
    - SETUP_CIPHERLIST_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_stdname_cipherlist(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_ciphers
      Src: /src/openssl/test/cipherlist_test.c:269,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherlist_test.c:272,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/cipherlist_test.c:273,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherlist_test.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - SSL_CTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: cipher_in_ctx
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_ciphers
    - sk_SSL_CIPHER_value
    - SSL_CIPHER_get_id
    - sk_SSL_CIPHER_num
    linkageType: ''
    returnType: int
    signature: int cipher_in_ctx(const SSL_CTX *ctx, uint32_t id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:283,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/cipherlist_test.c:283,1
    - Dst: TLS_method
      Src: /src/openssl/test/cipherlist_test.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:287,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/cipherlist_test.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:290,1
    - Dst: cipher_in_ctx
      Src: /src/openssl/test/cipherlist_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:291,1
    - Dst: cipher_in_ctx
      Src: /src/openssl/test/cipherlist_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:295,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/cipherlist_test.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:297,1
    - Dst: cipher_in_ctx
      Src: /src/openssl/test/cipherlist_test.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:301,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/cipherlist_test.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:303,1
    - Dst: cipher_in_ctx
      Src: /src/openssl/test/cipherlist_test.c:303,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherlist_test.c:308,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: test_set_ciphersuites_empty_elem
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - TLS_method
    - TEST_ptr
    - cipher_in_ctx
    - TEST_true
    - SSL_CTX_new
    - SSL_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_set_ciphersuites_empty_elem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:315,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:316,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:317,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:319,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 323
    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:
    - TEST_ptr
    - X509_free
    - BIO_free
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    - BIO_new_file
    - 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:
    - TEST_ptr
    - X509_free
    - BIO_free
    - BIO_new_file
    - 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_set1
      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_new
    - TEST_ptr
    - OCSP_BASICRESP_free
    - TEST_true
    - ASN1_BIT_STRING_set1
    - X509_NAME_add_entry_by_NID
    - ASN1_TIME_set
    - ASN1_INTEGER_set_uint64
    - ASN1_BIT_STRING_new
    - ASN1_TIME_free
    - OCSP_CERTID_free
    - X509_NAME_new
    - ASN1_BIT_STRING_free
    - EVP_sha256
    - X509_NAME_free
    - ASN1_INTEGER_free
    - OCSP_cert_id_new
    - OCSP_BASICRESP_new
    - OCSP_basic_add1_status
    - time
    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:
    - TEST_ptr
    - OCSP_BASICRESP_free
    - X509_free
    - sk_X509_new_null
    - make_dummy_resp
    - X509_cmp
    - TEST_true
    - OCSP_resp_get0_signer
    - sk_X509_push
    - EVP_sha1
    - get_cert_and_key
    - TEST_int_eq
    - sk_X509_free
    - STACK_OF
    - EVP_PKEY_free
    - OCSP_basic_sign
    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:
    - TEST_ptr
    - GENERAL_NAME_free
    - GENERAL_NAME_new
    - ACCESS_DESCRIPTION_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:
    - TEST_ptr
    - X509_free
    - TEST_true
    - OCSP_url_svcloc_new
    - X509_EXTENSION_free
    - X509_get_issuer_name
    - 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:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    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_set_key
    - BF_decrypt
    - 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_ecb_encrypt
    - TEST_mem_eq
    - BF_set_key
    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_ecb_encrypt
    - TEST_mem_eq
    - BF_set_key
    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
    - strlen
    - memcpy
    - BF_cbc_encrypt
    - BF_set_key
    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
    - BF_cfb64_encrypt
    - memset
    - strlen
    - memcpy
    - BF_set_key
    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
    - strlen
    - memcpy
    - BF_set_key
    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:
    - ebcdic2ascii
    - print_test_data
    - ADD_ALL_TESTS
    - ADD_TEST
    - opt_next
    - strlen
    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:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:70,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/test/algorithmid_test.c:70,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:79,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/openssl/test/algorithmid_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:80,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/algorithmid_test.c:80,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:89,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/test/algorithmid_test.c:89,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/algorithmid_test.c:94,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/algorithmid_test.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/algorithmid_test.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - pubkey
    - filename
    argTypes:
    - X509_PUBKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 102
    functionName: test_spki_aid
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OBJ_obj2txt
    - OPENSSL_free
    - i2d_X509_ALGOR
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_gettable_params
    - X509_PUBKEY_get0
    - X509_ALGOR_get0
    - OSSL_PARAM_octet_string
    - EVP_KEYMGMT_is_a
    - evp_pkey_export_to_provider
    - TEST_int_ge
    - TEST_info
    - evp_keymgmt_get_params
    linkageType: ''
    returnType: int
    signature: int test_spki_aid(const X509_PUBKEY *pubkey, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/algorithmid_test.c:106,1
    - Dst: test_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - filename
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 10
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: test_x509_spki_aid
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - X509_get_X509_PUBKEY
    - test_spki_aid
    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:126,1
    - Dst: X509_get0_signature
      Src: /src/openssl/test/algorithmid_test.c:132,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/algorithmid_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/algorithmid_test.c:134,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/test/algorithmid_test.c:134,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/openssl/test/algorithmid_test.c:134,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/algorithmid_test.c:136,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/algorithmid_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:137,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/test/algorithmid_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:138,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/algorithmid_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:141,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/algorithmid_test.c:141,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:141,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:142,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:144,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:145,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:145,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:145,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:146,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/test/algorithmid_test.c:146,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/algorithmid_test.c:150,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/test/algorithmid_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:153,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/algorithmid_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:154,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/algorithmid_test.c:154,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:155,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:157,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:159,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:163,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/algorithmid_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:164,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/algorithmid_test.c:164,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:165,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:173,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/algorithmid_test.c:173,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/algorithmid_test.c:178,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/algorithmid_test.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/algorithmid_test.c:185,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: 187
      start: 111
    functionDepth: 8
    functionLinenumber: 111
    functionLinenumberEnd: 187
    functionName: test_x509_sig_aid
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_CTX_gettable_params
    - TEST_mem_eq
    - TEST_true
    - EVP_MD_CTX_new
    - X509_get0_tbs_sigalg
    - OPENSSL_free
    - i2d_X509_ALGOR
    - OSSL_PARAM_locate_const
    - X509_get0_signature
    - OBJ_find_sigid_algs
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_get_params
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - X509_get0_pubkey
    - EVP_PKEY_is_a
    - X509_ALGOR_cmp
    - OBJ_nid2sn
    - OSSL_PARAM_octet_string
    - EVP_PKEY_get0_type_name
    - TEST_int_ge
    - EVP_DigestVerifyInit_ex
    - TEST_int_ne
    - TEST_info
    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:192,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:196,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:197,1
    - Dst: PEM_read_bio_X509_PUBKEY
      Src: /src/openssl/test/algorithmid_test.c:201,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:202,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:204,1
    - Dst: test_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:208,1
    - Dst: BIO_free
      Src: /src/openssl/test/algorithmid_test.c:210,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/algorithmid_test.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 10
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: test_spki_file
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - X509_PUBKEY_free
    - test_spki_aid
    - TEST_error
    - PEM_read_bio_X509_PUBKEY
    - BIO_new_file
    - TEST_openssl_errors
    linkageType: ''
    returnType: int
    signature: int test_spki_file(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/algorithmid_test.c:221,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:222,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:223,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/algorithmid_test.c:226,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:227,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:228,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/algorithmid_test.c:232,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:233,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:235,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/algorithmid_test.c:238,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:239,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:241,1
    - Dst: test_x509_sig_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: test_x509_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:247,1
    - Dst: BIO_free
      Src: /src/openssl/test/algorithmid_test.c:249,1
    - Dst: BIO_free
      Src: /src/openssl/test/algorithmid_test.c:250,1
    - Dst: X509_free
      Src: /src/openssl/test/algorithmid_test.c:251,1
    - Dst: X509_free
      Src: /src/openssl/test/algorithmid_test.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 215
    functionDepth: 11
    functionLinenumber: 215
    functionLinenumberEnd: 254
    functionName: test_x509_files
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - test_x509_spki_aid
    - X509_free
    - BIO_free
    - TEST_error
    - test_x509_sig_aid
    - BIO_new_file
    - TEST_openssl_errors
    - PEM_read_bio_X509
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    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:283,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:303,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:305,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/algorithmid_test.c:309,1
    - Dst: test_get_argument
      Src: /src/openssl/test/algorithmid_test.c:311,1
    - Dst: test_get_argument
      Src: /src/openssl/test/algorithmid_test.c:313,1
    - Dst: test_get_argument
      Src: /src/openssl/test/algorithmid_test.c:314,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:318,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:321,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/algorithmid_test.c:326,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/algorithmid_test.c:328,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 330
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - test_get_argument
    - ADD_TEST
    - opt_next
    - test_get_argument_count
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/membio_test.c:15,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/membio_test.c:15,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/membio_test.c:19,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:23,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:23,1
    - Dst: TEST_true
      Src: /src/openssl/test/membio_test.c:24,1
    - Dst: BIO_eof
      Src: /src/openssl/test/membio_test.c:24,1
    - Dst: TEST_true
      Src: /src/openssl/test/membio_test.c:25,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/membio_test.c:25,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/membio_test.c:29,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:30,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:30,1
    - Dst: TEST_true
      Src: /src/openssl/test/membio_test.c:31,1
    - Dst: BIO_eof
      Src: /src/openssl/test/membio_test.c:31,1
    - Dst: TEST_false
      Src: /src/openssl/test/membio_test.c:32,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/membio_test.c:32,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:37,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:37,1
    - Dst: TEST_false
      Src: /src/openssl/test/membio_test.c:38,1
    - Dst: BIO_eof
      Src: /src/openssl/test/membio_test.c:38,1
    - Dst: TEST_true
      Src: /src/openssl/test/membio_test.c:39,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/membio_test.c:39,1
    - Dst: BIO_free
      Src: /src/openssl/test/membio_test.c:44,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 46
    functionName: test_eof
    functionSourceFile: /src/openssl/test/membio_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_ptr
    - BIO_new
    - BIO_should_retry
    - BIO_read
    - BIO_set_mem_eof_return
    - BIO_free
    - TEST_true
    - BIO_eof
    - TEST_int_eq
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int test_eof(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/membio_test.c:51,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/test/membio_test.c:51,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/membio_test.c:59,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/membio_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/membio_test.c:63,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/membio_test.c:67,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/membio_test.c:67,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/membio_test.c:71,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/membio_test.c:71,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:75,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:75,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:77,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:79,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:81,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:85,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:85,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:86,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:89,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:89,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:91,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:91,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:92,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_eq
      Src: /src/openssl/test/membio_test.c:98,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:100,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:100,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:101,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:103,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:103,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:105,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:105,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:107,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:107,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:115,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:117,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:119,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:119,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:120,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:122,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:122,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:123,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:131,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:131,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/membio_test.c:132,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:132,1
    - Dst: TEST_false
      Src: /src/openssl/test/membio_test.c:133,1
    - Dst: BIO_eof
      Src: /src/openssl/test/membio_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/membio_test.c:134,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/membio_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:137,1
    - Dst: BIO_dgram_set_mtu
      Src: /src/openssl/test/membio_test.c:137,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:138,1
    - Dst: BIO_dgram_get_mtu
      Src: /src/openssl/test/membio_test.c:138,1
    - Dst: BIO_free
      Src: /src/openssl/test/membio_test.c:143,1
    - Dst: BIO_free
      Src: /src/openssl/test/membio_test.c:144,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 146
    functionName: test_dgram
    functionSourceFile: /src/openssl/test/membio_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - BIO_s_dgram_mem
    - TEST_true
    - BIO_new
    - BIO_should_retry
    - BIO_write
    - TEST_int_le
    - BIO_read
    - TEST_int_gt
    - TEST_int_eq
    - BIO_dgram_get_mtu
    - TEST_false
    - BIO_free
    - BIO_eof
    - BIO_set_mem_eof_return
    - TEST_int_lt
    - BIO_new_mem_buf
    - BIO_dgram_set_mtu
    linkageType: ''
    returnType: int
    signature: int test_dgram(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/membio_test.c:151,1
    - Dst: TEST_error
      Src: /src/openssl/test/membio_test.c:152,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/membio_test.c:156,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/membio_test.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    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:66,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:66,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:69,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:72,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:72,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:75,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:75,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:78,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:78,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:81,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:81,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:84,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:87,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:87,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:90,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:90,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:93,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:93,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:96,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:99,1
    - Dst: ossl_quic_txfc_has_become_blocked
      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_false
      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_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:114,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:117,1
    - Dst: ossl_quic_txfc_get_cwm
      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_swm
      Src: /src/openssl/test/quic_fc_test.c:120,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:123,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_fc_test.c:123,1
    - Dst: TEST_true
      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_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:132,1
    - Dst: ossl_quic_txfc_get_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_swm
      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_credit_local
      Src: /src/openssl/test/quic_fc_test.c:138,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:142,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:145,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:145,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:148,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:148,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:151,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:151,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:154,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:157,1
    - Dst: ossl_quic_txfc_consume_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_has_become_blocked
      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_false
      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_true
      Src: /src/openssl/test/quic_fc_test.c:169,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:169,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:172,1
    - Dst: ossl_quic_txfc_has_become_blocked
      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_true
      Src: /src/openssl/test/quic_fc_test.c:178,1
    - Dst: ossl_quic_txfc_consume_credit
      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_has_become_blocked
      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_false
      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
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 176
    argCount: 1
    argNames:
    - is_stream
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 194
    functionName: test_txfc
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txfc_get_swm
    - TEST_false
    - ossl_quic_txfc_consume_credit
    - TEST_uint64_t_eq
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_txfc_has_become_blocked
    - TEST_true
    - ossl_quic_txfc_get_credit
    - ossl_quic_txfc_get_credit_local
    - ossl_quic_txfc_get_cwm
    - ossl_quic_txfc_init
    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: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    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: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    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: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    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: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    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: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    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: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    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: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    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: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    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: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    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: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    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: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    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: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    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: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    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: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    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: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    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: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    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: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    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: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    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: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    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: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    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: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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:484,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:489,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_fc_test.c:489,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/quic_fc_test.c:498,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:502,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_fc_test.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:512,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:512,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:516,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/test/quic_fc_test.c:516,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:524,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:524,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:528,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/test/quic_fc_test.c:528,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_fc_test.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:536,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:538,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:538,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:543,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:543,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:546,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:551,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:553,1
    - Dst: ossl_quic_rxfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:553,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:558,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:558,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:561,1
    - Dst: ossl_quic_rxfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:561,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:566,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:568,1
    - Dst: ossl_quic_rxfc_get_rwm
      Src: /src/openssl/test/quic_fc_test.c:568,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:573,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:573,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:576,1
    - Dst: ossl_quic_rxfc_get_rwm
      Src: /src/openssl/test/quic_fc_test.c:576,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:581,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:583,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/test/quic_fc_test.c:583,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:589,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:592,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/test/quic_fc_test.c:592,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:600,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/test/quic_fc_test.c:600,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:606,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:606,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:609,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/test/quic_fc_test.c:609,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_fc_test.c:615,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_fc_test.c:615,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_fc_test.c:618,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 130
    argCount: 1
    argNames:
    - script
    argTypes:
    - struct rx_test_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 628
    functionName: run_rxfc_script
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_get_cwm
    - TEST_size_t_lt
    - ossl_quic_rxfc_init
    - ossl_quic_rxfc_on_retire
    - TEST_uint64_t_eq
    - ossl_quic_rxfc_get_rwm
    - ossl_quic_rxfc_get_error
    - TEST_true
    - ossl_quic_rxfc_get_swm
    - fprintf
    - TEST_int_eq
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_rxfc_on_rx_stream_frame
    - OSSL_NELEM
    - ossl_time_add
    - ossl_time_zero
    - ossl_ticks2time
    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:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 633
    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:637,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_fc_test.c:638,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/test/property_memfail.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: test_malloc
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *test_malloc(size_t num, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/openssl/test/property_memfail.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: test_realloc
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *test_realloc(void *ptr, size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/test/property_memfail.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: test_free
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 7
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void test_free(void *ptr, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: up_ref
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 156
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int up_ref(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: down_ref
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void down_ref(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/property_memfail.c:111,1
    - Dst: HT_INIT_KEY_EXTERNAL
      Src: /src/openssl/test/property_memfail.c:113,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/property_memfail.c:115,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/property_memfail.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: delete_providerless_cache_entry
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY_EXTERNAL
    - ossl_ht_delete
    - memcpy
    - TO_HT_KEY
    linkageType: ''
    returnType: int
    signature: int delete_providerless_cache_entry(OSSL_METHOD_STORE *store)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_memfail.c:132,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_memfail.c:134,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_memfail.c:143,1
    - Dst: delete_providerless_cache_entry
      Src: /src/openssl/test/property_memfail.c:146,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/test/property_memfail.c:148,1
    - Dst: down_ref
      Src: /src/openssl/test/property_memfail.c:156,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_memfail.c:157,1
    - Dst: fprintf
      Src: /src/openssl/test/property_memfail.c:160,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - expect_success
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 118
    functionDepth: 7
    functionLinenumber: 118
    functionLinenumberEnd: 165
    functionName: property_cache_workload
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 0
    functionsReached:
    - down_ref
    - ossl_method_store_cache_set
    - ossl_method_store_add
    - delete_providerless_cache_entry
    - ossl_method_store_free
    - fprintf
    - ossl_method_store_new
    - ossl_method_store_cache_get
    linkageType: ''
    returnType: int
    signature: int property_cache_workload(int expect_success)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/property_memfail.c:172,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/openssl/test/property_memfail.c:176,1
    - Dst: fprintf
      Src: /src/openssl/test/property_memfail.c:177,1
    - Dst: strcmp
      Src: /src/openssl/test/property_memfail.c:181,1
    - Dst: property_cache_workload
      Src: /src/openssl/test/property_memfail.c:182,1
    - Dst: fprintf
      Src: /src/openssl/test/property_memfail.c:183,1
    - Dst: strcmp
      Src: /src/openssl/test/property_memfail.c:186,1
    - Dst: strtol
      Src: /src/openssl/test/property_memfail.c:187,1
    - Dst: property_cache_workload
      Src: /src/openssl/test/property_memfail.c:188,1
    - Dst: fprintf
      Src: /src/openssl/test/property_memfail.c:191,1
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/test/property_memfail.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 8
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/openssl/test/property_memfail.c
    functionUses: 5
    functionsReached:
    - OPENSSL_cleanup
    - fprintf
    - property_cache_workload
    - strcmp
    - CRYPTO_set_mem_functions
    - strtol
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - 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_set_params
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_RAND_nonce
    - EVP_RAND_CTX_get_params
    - EVP_RAND_CTX_get0_rand
    - TEST_int_le
    - RAND_get0_private
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    - TEST_int_eq
    - fips_provider_version_lt
    - RAND_priv_bytes
    - EVP_RAND_get0_provider
    - strcmp
    - OSSL_PARAM_construct_int
    - OSSL_PROVIDER_get0_name
    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:
    - ossl_rand_range_uint32
    - test_get_libctx
    - TEST_uint_ge
    - ossl_rand_uniform_uint32
    - TEST_uint_lt
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    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:
    - ERR_pop_to_mark
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_free
    - TEST_ptr
    - EVP_RAND_CTX_new
    - TEST_size_t_le
    - TEST_int_le
    - EVP_RAND_generate
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - ERR_set_mark
    - EVP_RAND_CTX_get_params
    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:
    - TEST_false
    - TEST_true
    - fips_health_test_one
    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:
    - test_get_libctx
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_LIB_CTX_free
    - RAND_priv_bytes_ex
    - OSSL_PROVIDER_try_load
    - RAND_set1_random_provider
    - memset
    - RAND_bytes_ex
    - TEST_mem_ne
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    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_new
    - TEST_ptr
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - OSSL_LIB_CTX_free
    - RAND_get0_primary
    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:
    - TEST_ptr
    - OSSL_PROVIDER_available
    - test_get_argument
    - RAND_set_DRBG_type
    - ADD_TEST
    - OSSL_LIB_CTX_load_config
    - TEST_true
    - TEST_error
    - fips_provider_version_ge
    - test_skip_common_options
    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:
    - BIO_new_file
    - test_mk_file_path
    - TEST_ptr
    - 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:
    - getfile
    - TEST_ptr
    - PEM_read_bio_DHparams
    - BIO_free
    - DH_free
    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:
    - getfile
    - TEST_ptr
    - PEM_read_bio_DHparams
    - BIO_free
    - DH_free
    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:
    - PEM_read_bio_DSAparams
    - getfile
    - TEST_ptr
    - BIO_free
    - DSA_free
    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:
    - getfile
    - TEST_ptr
    - BIO_free
    - PEM_read_bio_DSAPrivateKey
    - DSA_free
    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:
    - getfile
    - TEST_ptr
    - BIO_free
    - PEM_read_bio_DSA_PUBKEY
    - DSA_free
    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:
    - getfile
    - TEST_ptr
    - BIO_free
    - PEM_read_bio_RSAPrivateKey
    - RSA_free
    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: 4
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: test_read_rsa_public
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - getfile
    - TEST_ptr
    - BIO_free
    - RSA_free
    - 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:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    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:
    - BN_set_word
    - TEST_ptr
    - RSA_free
    - TEST_int_eq
    - BN_free
    - RSA_X931_generate_key_ex
    - BN_new
    - ossl_rsa_new_with_ctx
    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:
    - test_get_libctx
    - ADD_TEST
    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:
    - OPENSSL_zalloc
    - EVP_CIPHER_fetch
    - 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:
    - OPENSSL_clear_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_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_construct_octet_string
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_get_octet_ptr
    - ossl_param_is_empty
    - EVP_CIPHER_CTX_get_params
    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:
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - OSSL_PARAM_locate_const
    - 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:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    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:
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - TEST_true
    - TEST_ptr
    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:
    - OSSL_PARAM_locate_const
    - strcmp
    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_load
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - OSSL_SELF_TEST_set_callback
    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:
    - strncmp
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - TEST_int_le
    - BIO_free
    - EVP_PKEY_keygen
    - TEST_true
    - strcmp
    - EVP_PKEY_Q_keygen
    - PEM_read_bio_Parameters_ex
    - TEST_ptr_null
    - TEST_int_eq
    - BIO_new_file
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - setup_selftest_pairwise_failure
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - OSSL_LIB_CTX_load_config
    - opt_arg
    - opt_next
    - opt_printf_stderr
    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_size_t_gt
    - TEST_ptr
    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_gettable_params
    - OSSL_PARAM_construct_int
    - EVP_MAC_CTX_get_params
    - check_fips_approved
    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:
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_gettable_params
    - check_fips_approved
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_locate_const
    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:
    - EVP_RAND_CTX_gettable_params
    - EVP_RAND_CTX_get_params
    - OSSL_PARAM_construct_int
    - check_fips_approved
    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:234,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:236,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_test.c:237,1
    - Dst: get_param
      Src: /src/openssl/test/evp_test.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:238,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/evp_test.c:238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - t
    - alg_obj
    argTypes:
    - EVP_TEST*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 244
    functionName: check_security_category
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - get_param
    - OSSL_PARAM_modified
    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:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - pkey
    argTypes:
    - EVP_TEST*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 250
    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:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    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:343,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: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    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:352,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_test.c:354,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_KDF_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: kdf_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_get_params
    - check_fips_approved
    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:364,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_test.c:366,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: cipher_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_get_params
    - check_fips_approved
    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:383,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_test.c:384,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:386,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: 390
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionName: memory_err_compare
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_ne
    - strcmp
    - TEST_mem_eq
    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:399,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    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:420,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - EVP_TEST_BUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    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:433,1
    - Dst: sk_EVP_TEST_BUFFER_new_null
      Src: /src/openssl/test/evp_test.c:433,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:437,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:437,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:441,1
    - Dst: parse_bin_chunk
      Src: /src/openssl/test/evp_test.c:447,1
    - Dst: evp_test_buffer_free
      Src: /src/openssl/test/evp_test.c:458,1
    - Dst: sk_EVP_TEST_BUFFER_push
      Src: /src/openssl/test/evp_test.c:459,1
    - Dst: evp_test_buffer_free
      Src: /src/openssl/test/evp_test.c:467,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: 469
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 469
    functionName: evp_test_buffer_append
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - sk_EVP_TEST_BUFFER_push
    - TEST_ptr
    - parse_bin_chunk
    - sk_EVP_TEST_BUFFER_new_null
    - parse_bin
    - evp_test_buffer_free
    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:478,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:483,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/openssl/test/evp_test.c:485,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:485,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:488,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:488,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:491,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 497
    functionName: evp_test_buffer_ncopy
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - atoi
    - memcpy
    - sk_EVP_TEST_BUFFER_num
    - sk_EVP_TEST_BUFFER_value
    - OPENSSL_malloc
    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:504,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:509,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/openssl/test/evp_test.c:512,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: evp_test_buffer_set_count
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - sk_EVP_TEST_BUFFER_num
    - sk_EVP_TEST_BUFFER_value
    - atoi
    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:555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:559,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:559,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:565,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:580,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: 582
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 582
    functionName: unescape
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - TEST_error
    - OPENSSL_malloc
    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:593,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:606,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:616,1
    - Dst: unescape
      Src: /src/openssl/test/evp_test.c:621,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:626,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/evp_test.c:626,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:627,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - value
    - buf
    - buflen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 634
    functionName: parse_bin
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 1
    functionsReached:
    - OPENSSL_hexstr2buf
    - TEST_ptr
    - unescape
    - TEST_openssl_errors
    - strcmp
    - strlen
    - TEST_info
    - 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:650,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:651,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:662,1
    - Dst: unescape
      Src: /src/openssl/test/evp_test.c:673,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/test/evp_test.c:681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:684,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/evp_test.c:684,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:685,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:686,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:689,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: 694
      start: 640
    functionDepth: 4
    functionLinenumber: 640
    functionLinenumberEnd: 694
    functionName: parse_bin_chunk
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 1
    functionsReached:
    - OPENSSL_hexstr2buf
    - OPENSSL_strndup
    - TEST_ptr
    - unescape
    - OPENSSL_free
    - TEST_openssl_errors
    - strcmp
    - strlen
    - 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:721,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:722,1
    - Dst: EVP_MD_fetch
      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: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:737,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 716
    functionDepth: 10
    functionLinenumber: 716
    functionLinenumberEnd: 741
    functionName: digest_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - is_digest_disabled
    - TEST_ptr
    - EVP_MD_fetch
    - sk_OPENSSL_STRING_new_null
    - EVP_MD_free
    - TEST_info
    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
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 751
    functionName: digest_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - sk_EVP_TEST_BUFFER_pop_free
    - EVP_MD_free
    - ctrlfree
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void digest_test_cleanup(EVP_TEST *t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:758,1
    - Dst: evp_test_buffer_append
      Src: /src/openssl/test/evp_test.c:759,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:760,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:761,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:762,1
    - Dst: evp_test_buffer_set_count
      Src: /src/openssl/test/evp_test.c:763,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:764,1
    - Dst: evp_test_buffer_ncopy
      Src: /src/openssl/test/evp_test.c:765,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:766,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:767,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:768,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:769,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:770,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:773,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:779,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 753
    functionDepth: 5
    functionLinenumber: 753
    functionLinenumberEnd: 782
    functionName: digest_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - evp_test_buffer_set_count
    - evp_test_buffer_append
    - strcmp
    - evp_test_buffer_ncopy
    - atoi
    - parse_bin
    - ctrladd
    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:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 787
    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:793,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_test.c:795,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:796,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_test.c:800,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:801,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - t
    - mctx
    argTypes:
    - EVP_TEST*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 789
    functionDepth: 8
    functionLinenumber: 789
    functionLinenumberEnd: 807
    functionName: test_duplicate_md_ctx
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - TEST_ptr
    - EVP_DigestFinalXOF
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_duplicate_md_ctx(EVP_TEST *t, EVP_MD_CTX *mctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/test/evp_test.c:820,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:823,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:823,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:826,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:827,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:830,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:831,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:832,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_test.c:839,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_test.c:843,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:847,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:849,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_test.c:851,1
    - Dst: evp_test_buffer_do
      Src: /src/openssl/test/evp_test.c:856,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/test/evp_test.c:861,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:865,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:865,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:868,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/openssl/test/evp_test.c:868,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:869,1
    - Dst: test_duplicate_md_ctx
      Src: /src/openssl/test/evp_test.c:871,1
    - Dst: test_duplicate_md_ctx
      Src: /src/openssl/test/evp_test.c:875,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_test.c:875,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_test.c:879,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_test.c:884,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_test.c:889,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:893,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:901,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:904,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/openssl/test/evp_test.c:904,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/evp_test.c:906,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:907,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/evp_test.c:907,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/test/evp_test.c:908,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:911,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:919,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:920,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:921,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 89
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 809
    functionDepth: 10
    functionLinenumber: 809
    functionLinenumberEnd: 923
    functionName: digest_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - EVP_DigestFinal
    - TEST_true
    - ctrl2params
    - TEST_size_t_eq
    - EVP_MD_CTX_new
    - OPENSSL_cleanse
    - sk_OPENSSL_STRING_num
    - memory_err_compare
    - OPENSSL_free
    - EVP_MD_CTX_dup
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_MD_CTX_copy
    - evp_test_buffer_do
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - test_duplicate_md_ctx
    - ctrl2params_free
    - EVP_MD_settable_ctx_params
    - EVP_MD_xof
    - sk_EVP_TEST_BUFFER_num
    - OSSL_PARAM_construct_size_t
    - EVP_Q_digest
    - OSSL_PARAM_construct_int
    - OSSL_NELEM
    - EVP_DigestFinalXOF
    - sk_EVP_TEST_BUFFER_value
    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:977,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_test.c:978,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:979,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:980,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:981,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:982,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:983,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - cdat
    argTypes:
    - CIPHER_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 986
    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:994,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:996,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:1000,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_test.c:1001,1
    - Dst: strstr
      Src: /src/openssl/test/evp_test.c:1003,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:1004,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1006,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1009,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1012,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1014,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:1014,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:1017,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:1020,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_test.c:1021,1
    - Dst: cipher_test_valid_fragmentation
      Src: /src/openssl/test/evp_test.c:1026,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:1027,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_test.c:1028,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1029,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1031,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 988
    functionDepth: 4
    functionLinenumber: 988
    functionLinenumberEnd: 1039
    functionName: cipher_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - cipher_test_valid_fragmentation
    - OPENSSL_zalloc
    - is_cipher_disabled
    - ERR_clear_last_mark
    - TEST_ptr
    - OPENSSL_free
    - EVP_CIPHER_get_flags
    - sk_OPENSSL_STRING_new_null
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_get_mode
    - TEST_info
    - strstr
    - ERR_set_mark
    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:1046,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1047,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1048,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1049,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1050,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1053,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1054,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_test.c:1055,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:1056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1041
    functionDepth: 4
    functionLinenumber: 1041
    functionLinenumberEnd: 1057
    functionName: cipher_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - EVP_CIPHER_free
    - OPENSSL_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: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: atoi
      Src: /src/openssl/test/evp_test.c:1068,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1074,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1075,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1076,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1077,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1078,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1079,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: atoi
      Src: /src/openssl/test/evp_test.c:1083,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1089,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1090,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1091,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:1098,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1101,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1105,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1106,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1108,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1114,1
    - Dst: strtol
      Src: /src/openssl/test/evp_test.c:1117,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1122,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1123,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1125,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1131,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1135,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1139,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:1140,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1059
    functionDepth: 5
    functionLinenumber: 1059
    functionLinenumberEnd: 1142
    functionName: cipher_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    - strtol
    - parse_bin
    - ctrladd
    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:1154,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_test.c:1155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1158,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_test.c:1158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1160,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_test.c:1160,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/test/evp_test.c:1162,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:1176,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:1179,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:1190,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:1193,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_test.c:1195,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:1203,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1206,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1207,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1214,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_test.c:1220,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1239,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1249,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/test/evp_test.c:1255,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1262,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_test.c:1267,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:1277,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:1278,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_test.c:1278,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_test.c:1279,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:1280,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1283,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:1286,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/test/evp_test.c:1286,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1288,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1292,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:1296,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/test/evp_test.c:1297,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1299,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_test.c:1300,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/evp_test.c:1301,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1304,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1306,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1309,1
    - Dst: EVP_CIPHER_CTX_dup
      Src: /src/openssl/test/evp_test.c:1313,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1315,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1319,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_test.c:1320,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/evp_test.c:1321,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1324,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:1327,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1330,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:1341,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1343,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1344,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1351,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1369,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1381,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1386,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1393,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/evp_test.c:1405,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:1409,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1412,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1414,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1418,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1420,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1427,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:1437,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1439,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1440,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_test.c:1445,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1455,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1465,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1472,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1480,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_test.c:1486,1
    - Dst: cipher_check_fips_approved
      Src: /src/openssl/test/evp_test.c:1490,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1497,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1498,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1506,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_test.c:1512,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1516,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1522,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:1531,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: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1535,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1536,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1541,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1542,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1543,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1545,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1546,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1547,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1549,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1550,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1551,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_test.c:1554,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_test.c:1554,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:1559,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1562,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_test.c:1564,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1569,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:1579,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:1580,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_test.c:1580,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:1581,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1584,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:1587,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/test/evp_test.c:1587,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1589,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1599,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1601,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1602,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 367
    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: 1604
      start: 1144
    functionDepth: 9
    functionLinenumber: 1144
    functionLinenumberEnd: 1604
    functionName: cipher_test_enc
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - ERR_clear_last_mark
    - TEST_true
    - EVP_CIPHER_CTX_dup
    - EVP_CIPHER_CTX_set_flags
    - fips_provider_version_ge
    - memcpy
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherInit_ex
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_copy
    - EVP_CIPHER_get0_name
    - memory_err_compare
    - OPENSSL_free
    - EVP_CIPHER_CTX_get_params
    - EVP_CipherInit_ex2
    - ERR_count_to_mark
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_CIPHER_CTX_set_key_length
    - cipher_check_fips_approved
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - EVP_CIPHER_get_flags
    - EVP_CipherFinal_ex
    - ERR_set_mark
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_get_updated_iv
    - ERR_print_errors_fp
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_padding
    - TEST_size_t_le
    - EVP_CIPHER_CTX_ctrl
    - TEST_info
    - EVP_CIPHER_is_a
    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:1614,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_test.c:1614,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_test.c:1619,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:1621,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:1631,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:1632,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:1633,1
    - Dst: cipher_test_valid_fragmentation
      Src: /src/openssl/test/evp_test.c:1637,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/evp_test.c:1655,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/evp_test.c:1660,1
    - Dst: cipher_test_enc
      Src: /src/openssl/test/evp_test.c:1667,1
    - Dst: cipher_test_enc
      Src: /src/openssl/test/evp_test.c:1673,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:1682,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:1686,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1606
    functionDepth: 10
    functionLinenumber: 1606
    functionLinenumberEnd: 1688
    functionName: cipher_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - cipher_test_valid_fragmentation
    - ctrl2params_free
    - sk_OPENSSL_STRING_num
    - EVP_CIPHER_get0_name
    - cipher_test_enc
    - BIO_snprintf
    - ctrl2params
    - EVP_CIPHER_get_iv_length
    - OSSL_NELEM
    - EVP_CIPHER_get_mode
    - TEST_info
    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:1744,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1745,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/test/evp_test.c:1749,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:1755,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1759,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1762,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1764,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1766,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1768,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1774,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:1774,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1778,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:1778,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1779,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1784,1
    - Dst: sk_OPENSSL_STRING_new_null
      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
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1738
    functionDepth: 10
    functionLinenumber: 1738
    functionLinenumberEnd: 1793
    functionName: mac_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strncmp
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - EVP_MAC_fetch
    - TEST_ptr
    - OPENSSL_free
    - strcmp
    - sk_OPENSSL_STRING_new_null
    - strlen
    - TEST_info
    - is_mac_disabled
    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:1799,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1800,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/test/evp_test.c:1801,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1803,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1804,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1805,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1806,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1807,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1795
    functionDepth: 4
    functionLinenumber: 1795
    functionLinenumberEnd: 1809
    functionName: mac_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_OPENSSL_STRING_pop_free
    - EVP_MAC_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:1816,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1817,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1818,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1819,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1820,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1821,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1822,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1823,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1824,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:1825,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1830,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1831,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1832,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1833,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1834,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1836,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1838,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:1839,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1840,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:1841,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1846,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:1847,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1811
    functionDepth: 5
    functionLinenumber: 1811
    functionLinenumberEnd: 1853
    functionName: mac_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - strcmp
    - atoi
    - parse_bin
    - ctrladd
    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:1861,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:1861,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:1863,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/test/evp_test.c:1866,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1874,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: 1876
      start: 1855
    functionDepth: 4
    functionLinenumber: 1855
    functionLinenumberEnd: 1876
    functionName: mac_test_ctrl_pkey
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_CTX_ctrl_str
    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:1896,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_test.c:1896,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1898,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_test.c:1899,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1903,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:1910,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1916,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_test.c:1916,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:1920,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/openssl/test/evp_test.c:1921,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:1923,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_test.c:1926,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_test.c:1927,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:1936,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1937,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1944,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:1944,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_test.c:1948,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:1952,1
    - Dst: mac_test_ctrl_pkey
      Src: /src/openssl/test/evp_test.c:1953,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:1954,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_test.c:1966,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:1974,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1978,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:1978,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:1982,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1983,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_test.c:1991,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:1992,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1993,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:1994,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:1995,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1878
    functionDepth: 8
    functionLinenumber: 1878
    functionLinenumberEnd: 1997
    functionName: mac_test_run_pkey
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - is_digest_disabled
    - TEST_ptr
    - mac_test_ctrl_pkey
    - EVP_DigestSignInit_ex
    - EVP_MD_CTX_new
    - sk_OPENSSL_STRING_num
    - memory_err_compare
    - OPENSSL_free
    - OSSL_LIB_CTX_set0_default
    - EVP_PKEY_new_CMAC_key
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - EVP_DigestSignUpdate
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OBJ_nid2sn
    - is_cipher_disabled
    - sk_OPENSSL_STRING_value
    - TEST_info
    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:2010,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2016,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2018,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:2029,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:2032,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:2035,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:2037,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:2040,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:2043,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2050,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2057,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2061,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2065,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2070,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2071,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_test.c:2074,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/evp_test.c:2076,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/test/evp_test.c:2080,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/evp_test.c:2084,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:2086,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/test/evp_test.c:2087,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:2088,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/evp_test.c:2090,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/test/evp_test.c:2094,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_test.c:2095,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_test.c:2101,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_test.c:2106,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:2112,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:2115,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2118,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2119,1
    - Dst: EVP_MAC_CTX_get_params
      Src: /src/openssl/test/evp_test.c:2119,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:2124,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:2129,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/evp_test.c:2142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2152,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2152,1
    - Dst: EVP_MAC_finalXOF
      Src: /src/openssl/test/evp_test.c:2156,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:2157,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/evp_test.c:2164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2168,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/evp_test.c:2172,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:2173,1
    - Dst: mac_check_fips_approved
      Src: /src/openssl/test/evp_test.c:2179,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/evp_test.c:2183,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2189,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2192,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:2194,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/evp_test.c:2195,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:2198,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:2203,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2204,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:2208,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:2213,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/evp_test.c:2219,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2220,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/test/evp_test.c:2220,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2225,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2232,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/test/evp_test.c:2233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2234,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 189
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 1999
    functionDepth: 7
    functionLinenumber: 1999
    functionLinenumberEnd: 2236
    functionName: mac_test_run_mac
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - OSSL_PARAM_construct_octet_string
    - is_digest_disabled
    - TEST_ptr
    - ERR_clear_last_mark
    - TEST_mem_eq
    - TEST_true
    - ctrl2params
    - EVP_MAC_finalXOF
    - EVP_MAC_CTX_get_mac_size
    - OPENSSL_cleanse
    - EVP_MAC_CTX_new
    - ERR_pop_to_mark
    - memory_err_compare
    - OPENSSL_free
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    - mac_check_fips_approved
    - TEST_int_eq
    - EVP_MAC_CTX_get_params
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - ctrl2params_free
    - TEST_false
    - EVP_MAC_CTX_free
    - fips_provider_version_gt
    - OSSL_PARAM_get_size_t
    - EVP_Q_mac
    - ERR_set_mark
    - EVP_MAC_final
    - OSSL_PARAM_locate
    - OSSL_PARAM_construct_int
    - is_cipher_disabled
    - EVP_MAC_init
    - OSSL_NELEM
    - TEST_size_t_eq
    - TEST_info
    - EVP_MAC_settable_ctx_params
    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:2243,1
    - Dst: mac_test_run_pkey
      Src: /src/openssl/test/evp_test.c:2244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2238
    functionDepth: 9
    functionLinenumber: 2238
    functionLinenumberEnd: 2245
    functionName: mac_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - mac_test_run_pkey
    - mac_test_run_mac
    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:2289,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:2289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2290,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:2290,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2293,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2284
    functionDepth: 4
    functionLinenumber: 2284
    functionLinenumberEnd: 2300
    functionName: kem_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - sk_OPENSSL_STRING_new_null
    - EVP_PKEY_free
    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:2306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2310,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2312,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2314,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2302
    functionDepth: 5
    functionLinenumber: 2302
    functionLinenumberEnd: 2316
    functionName: kem_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - ctrlfree
    linkageType: ''
    returnType: void
    signature: void kem_test_cleanup(EVP_TEST *t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2322,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2326,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:2327,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2328,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2329,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2330,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2331,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2332,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2333,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2335,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2336,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2338,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2339,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2340,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2341,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2342,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2343,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:2343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2318
    functionDepth: 5
    functionLinenumber: 2318
    functionLinenumberEnd: 2345
    functionName: kem_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - TEST_ptr
    - strcmp
    - parse_bin
    - ctrladd
    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:2358,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2360,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2361,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/evp_test.c:2366,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2371,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2374,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_test.c:2376,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_test.c:2381,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_test.c:2385,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2389,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2391,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2391,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_test.c:2395,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:2399,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2402,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2408,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2425,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2426,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2428,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2429,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: 2431
      start: 2347
    functionDepth: 12
    functionLinenumber: 2347
    functionLinenumberEnd: 2431
    functionName: encapsulate
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 20
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - sk_OPENSSL_STRING_num
    - ctrl2params_free
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_lt
    - OPENSSL_free
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - OSSL_PARAM_construct_end
    - ctrl2params
    - pkey_check_fips_approved
    - OSSL_NELEM
    - EVP_PKEY_CTX_set_kem_op
    - OPENSSL_malloc
    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:2445,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2446,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_test.c:2452,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_test.c:2457,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_test.c:2461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2465,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2465,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_test.c:2470,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2474,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2482,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2483,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2484,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: 2486
      start: 2433
    functionDepth: 12
    functionLinenumber: 2433
    functionLinenumberEnd: 2486
    functionName: decapsulate
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 18
    functionsReached:
    - ctrl2params_free
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - ctrl2params
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate
    - 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:2498,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2500,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_test.c:2506,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_test.c:2516,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2525,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:2529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2532,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_test.c:2532,1
    - Dst: encapsulate
      Src: /src/openssl/test/evp_test.c:2538,1
    - Dst: decapsulate
      Src: /src/openssl/test/evp_test.c:2545,1
    - Dst: decapsulate
      Src: /src/openssl/test/evp_test.c:2548,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2556,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2558,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2488
    functionDepth: 13
    functionLinenumber: 2488
    functionLinenumberEnd: 2560
    functionName: kem_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - encapsulate
    - find_key
    - TEST_ptr
    - pkey_check_security_category
    - OPENSSL_free
    - decapsulate
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_free
    - TEST_info
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_new_raw_public_key_ex
    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:2612,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:2614,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2616,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2621,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:2621,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2625,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_test.c:2625,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2626,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - t
    - keyname
    - use_public
    argTypes:
    - EVP_TEST*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2604
    functionDepth: 4
    functionLinenumber: 2604
    functionLinenumberEnd: 2632
    functionName: pkey_test_init_keyctx
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_free
    - TEST_info
    - EVP_PKEY_CTX_new_from_pkey
    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:2646,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2652,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2653,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - t
    - name
    - use_public
    argTypes:
    - EVP_TEST*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2634
    functionDepth: 5
    functionLinenumber: 2634
    functionLinenumberEnd: 2656
    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:2673,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2675,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:2678,1
    - Dst: is_pkey_disabled
      Src: /src/openssl/test/evp_test.c:2681,1
    - Dst: pkey_test_init_keyctx
      Src: /src/openssl/test/evp_test.c:2686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2692,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/evp_test.c:2693,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2694,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2697,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2698,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - t
    - name
    - use_public
    argTypes:
    - EVP_TEST*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2658
    functionDepth: 5
    functionLinenumber: 2658
    functionLinenumberEnd: 2701
    functionName: pkey_test_init_ex2
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - TEST_ptr
    - is_pkey_disabled
    - EVP_SIGNATURE_fetch
    - sk_OPENSSL_STRING_new_null
    - memcpy
    - TEST_info
    - pkey_test_init_keyctx
    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:2707,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:2708,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:2709,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2710,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2711,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2712,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/evp_test.c:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2703
    functionDepth: 5
    functionLinenumber: 2703
    functionLinenumberEnd: 2714
    functionName: pkey_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_SIGNATURE_free
    - ctrlfree
    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:2722,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:2722,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:2724,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/test/evp_test.c:2727,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:2733,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:2733,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2734,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2742,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: 2744
      start: 2716
    functionDepth: 4
    functionLinenumber: 2716
    functionLinenumberEnd: 2744
    functionName: pkey_test_ctrl
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - is_digest_disabled
    - TEST_ptr
    - is_cipher_disabled
    - OPENSSL_free
    - EVP_PKEY_CTX_ctrl_str
    - TEST_info
    linkageType: ''
    returnType: int
    signature: "int pkey_test_ctrl(EVP_TEST *t, EVP_PKEY_CTX *pctx,\n    const char
      *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2771,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2772,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2773,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2774,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2775,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:2776,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2777,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:2778,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2779,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:2780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2767
    functionDepth: 5
    functionLinenumber: 2767
    functionLinenumberEnd: 2782
    functionName: pkey_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_add_control
    - ctrladd
    - strcmp
    - parse_bin
    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:2795,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2796,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2798,1
    - Dst: PKEY_DATA*::keyopinit
      Src: /src/openssl/test/evp_test.c:2803,1
    - Dst: PKEY_DATA*::keyopinit_ex2
      Src: /src/openssl/test/evp_test.c:2808,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2817,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:2818,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:2820,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2784
    functionDepth: 5
    functionLinenumber: 2784
    functionLinenumberEnd: 2827
    functionName: pkey_test_run_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrl2params_free
    - sk_OPENSSL_STRING_num
    - ctrl2params
    - PKEY_DATA*::keyopinit
    - sk_OPENSSL_STRING_value
    - PKEY_DATA*::keyopinit_ex2
    - OSSL_NELEM
    - pkey_test_ctrl
    linkageType: ''
    returnType: int
    signature: int pkey_test_run_init(EVP_TEST *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2842,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2844,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:2847,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2850,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:2850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2851,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_test.c:2851,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2852,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_test.c:2852,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2857,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_test.c:2857,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2862,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_test.c:2862,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_test.c:2866,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:2867,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 9
    argNames:
    - pub
    - publen
    - ctx
    - ctxlen
    - msg
    - msglen
    - digestname
    - out
    - outlen
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2830
    functionDepth: 10
    functionLinenumber: 2830
    functionLinenumberEnd: 2869
    functionName: calculate_mu
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int calculate_mu(const uint8_t *pub, size_t publen,\n    const uint8_t
      *ctx, size_t ctxlen, const uint8_t *msg, size_t msglen,\n    const char *digestname,
      uint8_t *out, size_t outlen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_test.c:2876,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/evp_test.c:2877,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:2892,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2899,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2900,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2901,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_test.c:2904,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_test.c:2909,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:2919,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_test.c:2922,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/test/evp_test.c:2925,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_test.c:2926,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/evp_test.c:2929,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/evp_test.c:2931,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_test.c:2935,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_test.c:2938,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2945,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_test.c:2945,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2949,1
    - Dst: calculate_mu
      Src: /src/openssl/test/evp_test.c:2949,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_test.c:2954,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:2955,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2956,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 3
    argNames:
    - t
    - mu
    - mulen
    argTypes:
    - EVP_TEST*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2871
    functionDepth: 11
    functionLinenumber: 2871
    functionLinenumberEnd: 2958
    functionName: pkey_calculate_mu
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - TEST_true
    - ctrl2params
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_PKEY_get_octet_string_param
    - sk_OPENSSL_STRING_num
    - calculate_mu
    - EVP_MD_CTX_free
    - OSSL_PARAM_utf8_string
    - ctrl2params_free
    - EVP_PKEY_CTX_get0_pkey
    - EVP_MD_is_a
    - EVP_MD_fetch
    - EVP_MD_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_octet_string
    - OSSL_NELEM
    - EVP_DigestFinalXOF
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: int pkey_calculate_mu(EVP_TEST *t, uint8_t *mu, size_t *mulen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_run_init
      Src: /src/openssl/test/evp_test.c:2971,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2974,1
    - Dst: pkey_calculate_mu
      Src: /src/openssl/test/evp_test.c:2975,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:2983,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:2983,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2987,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_test.c:2987,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:2992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2993,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2993,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:2997,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3002,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3008,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:3012,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3013,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3013,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:3017,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3021,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:3026,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3030,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:3031,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 2960
    functionDepth: 12
    functionLinenumber: 2960
    functionLinenumberEnd: 3033
    functionName: pkey_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get0_pkey
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - pkey_check_security_category
    - pkey_test_run_init
    - PKEY_DATA*::keyop
    - memory_err_compare
    - OPENSSL_free
    - EVP_PKEY_CTX_dup
    - pkey_check_fips_approved
    - EVP_PKEY_CTX_free
    - pkey_calculate_mu
    - 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:3039,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3040,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3045,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3045,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_test.c:3047,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_test.c:3050,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:3052,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:3058,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3059,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3035
    functionDepth: 6
    functionLinenumber: 3035
    functionLinenumberEnd: 3061
    functionName: pkey_fromdata_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_fromdata_init
    - is_pkey_disabled
    - sk_OPENSSL_STRING_new_null
    - EVP_PKEY_CTX_new_from_name
    - TEST_info
    - EVP_PKEY_CTX_free
    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:3067,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:3068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 3063
    functionDepth: 5
    functionLinenumber: 3063
    functionLinenumberEnd: 3069
    functionName: pkey_fromdata_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_free
    - ctrlfree
    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:3076,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:3077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3079
    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:3087,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_test.c:3088,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:3098,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:3099,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:3100,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_test.c:3106,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:3110,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:3114,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:3115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3081
    functionDepth: 5
    functionLinenumber: 3081
    functionLinenumberEnd: 3117
    functionName: pkey_fromdata_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrl2params_free
    - sk_OPENSSL_STRING_num
    - pkey_check_security_category
    - OSSL_PARAM_octet_string
    - EVP_PKEY_fromdata
    - ctrl2params
    - OSSL_NELEM
    - EVP_PKEY_free
    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:3133,1
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3134,1
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3131
    functionDepth: 6
    functionLinenumber: 3131
    functionLinenumberEnd: 3137
    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:3153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3151
    functionDepth: 6
    functionLinenumber: 3151
    functionLinenumberEnd: 3155
    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:3172,1
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3173,1
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3170
    functionDepth: 6
    functionLinenumber: 3170
    functionLinenumberEnd: 3178
    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:3190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3188
    functionDepth: 6
    functionLinenumber: 3188
    functionLinenumberEnd: 3192
    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:3209,1
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3210,1
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3207
    functionDepth: 6
    functionLinenumber: 3207
    functionLinenumberEnd: 3213
    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:3220,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:3222,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:3222,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/evp_test.c:3224,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:3230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3215
    functionDepth: 6
    functionLinenumber: 3215
    functionLinenumberEnd: 3234
    functionName: verify_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get0_pkey
    - pkey_check_security_category
    - pkey_test_run_init
    - EVP_PKEY_verify
    - pkey_check_fips_approved
    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:3250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3248
    functionDepth: 6
    functionLinenumber: 3248
    functionLinenumberEnd: 3252
    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:3269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3267
    functionDepth: 6
    functionLinenumber: 3267
    functionLinenumberEnd: 3271
    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:3283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3284
      start: 3281
    functionDepth: 6
    functionLinenumber: 3281
    functionLinenumberEnd: 3284
    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:3292,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3295,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:3299,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3304,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3305,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3306,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:3307,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3308,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:3309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3286
    functionDepth: 5
    functionLinenumber: 3286
    functionLinenumberEnd: 3311
    functionName: pderive_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - strcmp
    - parse_bin
    - ctrladd
    - 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:3321,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:3325,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:3325,1
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/openssl/test/evp_test.c:3327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3334,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_test.c:3334,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:3339,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/evp_test.c:3340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3344,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3344,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:3348,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3352,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:3357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3363,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:3364,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3313
    functionDepth: 6
    functionLinenumber: 3313
    functionLinenumberEnd: 3366
    functionName: pderive_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_get0_pkey
    - TEST_ptr
    - EVP_PKEY_derive_set_peer_ex
    - pkey_check_security_category
    - pkey_test_run_init
    - memory_err_compare
    - OPENSSL_free
    - TEST_size_t_ne
    - EVP_PKEY_CTX_dup
    - pkey_check_fips_approved
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    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:3411,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3412,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3417,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3421,1
    - Dst: isdigit
      Src: /src/openssl/test/evp_test.c:3421,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - value
    - pr
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3407
    functionDepth: 1
    functionLinenumber: 3407
    functionLinenumberEnd: 3429
    functionName: parse_uint64
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_true
    - isdigit
    - TEST_error
    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:3436,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3437,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3438,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3439,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3440,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3441,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3442,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3431
    functionDepth: 2
    functionLinenumber: 3431
    functionLinenumberEnd: 3445
    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:3453,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3454,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3459,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/evp_test.c:3460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3448
    functionDepth: 2
    functionLinenumber: 3448
    functionLinenumberEnd: 3466
    functionName: pbkdf2_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_get_digestbyname
    - atoi
    - strcmp
    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:3473,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3474,1
    - Dst: pbkdf2_test_parse
      Src: /src/openssl/test/evp_test.c:3479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3468
    functionDepth: 3
    functionLinenumber: 3468
    functionLinenumberEnd: 3480
    functionName: pkcs12_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pbkdf2_test_parse
    - atoi
    - strcmp
    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:3487,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3488,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3492,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3494,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3496,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3502,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3507
      start: 3482
    functionDepth: 1
    functionLinenumber: 3482
    functionLinenumberEnd: 3507
    functionName: pbe_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - strcmp
    - TEST_error
    - is_kdf_disabled
    - TEST_info
    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:3513,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3514,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3509
    functionDepth: 0
    functionLinenumber: 3509
    functionLinenumberEnd: 3516
    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:3523,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3524,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3525,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3526,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3527,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3528,1
    - Dst: pbkdf2_test_parse
      Src: /src/openssl/test/evp_test.c:3530,1
    - Dst: pkcs12_test_parse
      Src: /src/openssl/test/evp_test.c:3532,1
    - Dst: scrypt_test_parse
      Src: /src/openssl/test/evp_test.c:3535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3518
    functionDepth: 5
    functionLinenumber: 3518
    functionLinenumberEnd: 3538
    functionName: pbe_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkcs12_test_parse
    - pbkdf2_test_parse
    - scrypt_test_parse
    - strcmp
    - parse_bin
    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:3547,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3549,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3549,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/test/evp_test.c:3554,1
    - Dst: EVP_PBE_scrypt
      Src: /src/openssl/test/evp_test.c:3564,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_test.c:3574,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/test/evp_test.c:3574,1
    - Dst: PKCS12_key_gen_uni
      Src: /src/openssl/test/evp_test.c:3580,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3589,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_test.c:3595,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3596,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:3597,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3540
    functionDepth: 10
    functionLinenumber: 3540
    functionLinenumberEnd: 3599
    functionName: pbe_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PBE_scrypt
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - PKCS5_PBKDF2_HMAC
    - PKCS12_key_gen_uni
    - EVP_MD_fetch
    - OSSL_LIB_CTX_set0_default
    - EVP_MD_get0_name
    - EVP_MD_free
    - 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:3633,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3633,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3635,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3637,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3641,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3641,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - t
    - encoding
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3629
    functionDepth: 1
    functionLinenumber: 3629
    functionLinenumberEnd: 3654
    functionName: encode_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - strcmp
    - 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:3660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3661,1
    - Dst: memset
      Src: /src/openssl/test/evp_test.c:3662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3663
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3663
    functionName: encode_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - memset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void encode_test_cleanup(EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3670,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3671,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3672,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3665
    functionDepth: 5
    functionLinenumber: 3665
    functionLinenumberEnd: 3675
    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:3685,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/test/evp_test.c:3685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3692,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/test/evp_test.c:3692,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3693,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3693,1
    - Dst: EVP_ENCODE_LENGTH
      Src: /src/openssl/test/evp_test.c:3693,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/test/evp_test.c:3696,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3706,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/test/evp_test.c:3706,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/test/evp_test.c:3715,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3718,1
    - Dst: EVP_DECODE_LENGTH
      Src: /src/openssl/test/evp_test.c:3724,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3725,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3725,1
    - Dst: memset
      Src: /src/openssl/test/evp_test.c:3731,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/test/evp_test.c:3734,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/test/evp_test.c:3743,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/test/evp_test.c:3754,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3761,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3777,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3778,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/evp_test.c:3779,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/evp_test.c:3780,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3677
    functionDepth: 4
    functionLinenumber: 3677
    functionLinenumberEnd: 3782
    functionName: encode_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DecodeInit
    - EVP_ENCODE_CTX_free
    - EVP_EncodeUpdate
    - TEST_ptr
    - memory_err_compare
    - EVP_DECODE_LENGTH
    - EVP_DecodeFinal
    - OPENSSL_free
    - TEST_true
    - EVP_DecodeUpdate
    - EVP_EncodeInit
    - EVP_ENCODE_LENGTH
    - memset
    - EVP_ENCODE_CTX_new
    - EVP_EncodeFinal
    - 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:3836,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3836,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/evp_test.c:3840,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/evp_test.c:3843,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/evp_test.c:3844,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_test.c:3848,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3849,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/evp_test.c:3852,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/evp_test.c:3855,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/evp_test.c:3856,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:3859,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_test.c:3865,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3866,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3829
    functionDepth: 10
    functionLinenumber: 3829
    functionLinenumberEnd: 3868
    functionName: rand_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_RAND_free
    - EVP_RAND_CTX_set_params
    - TEST_ptr
    - OPENSSL_free
    - EVP_RAND_CTX_new
    - EVP_RAND_fetch
    - sk_OPENSSL_STRING_new_null
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    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:3875,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3876,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3877,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3880,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3881,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3882,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3883,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3884,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3885,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3886,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3887,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3888,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3889,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_test.c:3891,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_test.c:3892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3870
    functionDepth: 5
    functionLinenumber: 3870
    functionLinenumberEnd: 3893
    functionName: rand_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_RAND_CTX_free
    - ctrlfree
    linkageType: ''
    returnType: void
    signature: void rand_test_cleanup(EVP_TEST *t)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:3903,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3904,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3910,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3911,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3912,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3913,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3915,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3916,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3917,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3918,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3919,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3920,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3922,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3923,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3924,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3925,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3926,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3927,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3928,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3929,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3930,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3931,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3933,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3934,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3934,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3935,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3936,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3936,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3937,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3938,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3941,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3942,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3947,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3948,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3951,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:3952,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3895
    functionDepth: 5
    functionLinenumber: 3895
    functionLinenumberEnd: 3955
    functionName: rand_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - TEST_ptr
    - strcmp
    - atoi
    - parse_bin
    - ctrladd
    - 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:3969,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3969,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:3972,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:3973,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:3975,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:3980,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:3982,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:3985,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:3987,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3988,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3989,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:3996,1
    - Dst: EVP_RAND_get_strength
      Src: /src/openssl/test/evp_test.c:3999,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:4005,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:4008,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4010,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4011,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/evp_test.c:4011,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4016,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/evp_test.c:4016,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:4022,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4024,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4025,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4025,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4028,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/evp_test.c:4028,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:4034,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4036,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4037,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4037,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4040,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/evp_test.c:4040,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:4046,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4048,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4049,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4049,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4052,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/evp_test.c:4052,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:4056,1
    - Dst: rand_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4058,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4060,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/evp_test.c:4060,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4061,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/evp_test.c:4061,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4062,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/openssl/test/evp_test.c:4062,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:4063,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/test/evp_test.c:4063,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4072,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4073,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4074,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 3957
    functionDepth: 4
    functionLinenumber: 3957
    functionLinenumberEnd: 4076
    functionName: rand_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_set_params
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - ctrl2params
    - EVP_RAND_instantiate
    - sk_OPENSSL_STRING_num
    - OPENSSL_free
    - EVP_RAND_generate
    - OSSL_PARAM_construct_end
    - TEST_int_eq
    - EVP_RAND_uninstantiate
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - ctrl2params_free
    - EVP_RAND_get_state
    - EVP_RAND_get_strength
    - EVP_RAND_reseed
    - OSSL_PARAM_construct_int
    - rand_check_fips_approved
    - OSSL_NELEM
    - EVP_RAND_verify_zeroization
    - TEST_info
    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:4109,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4115,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4115,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4118,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_test.c:4120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4122,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/test/evp_test.c:4125,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_test.c:4126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4128,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 4104
    functionDepth: 4
    functionLinenumber: 4104
    functionLinenumberEnd: 4134
    functionName: kdf_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - is_kdf_disabled
    - sk_OPENSSL_STRING_new_null
    - EVP_KDF_fetch
    - TEST_info
    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:4141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4144,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_test.c:4145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4136
    functionDepth: 5
    functionLinenumber: 4136
    functionLinenumberEnd: 4146
    functionName: kdf_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OPENSSL_free
    - ctrlfree
    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:4154,1
    - Dst: EVP_KDF_CTX_kdf
      Src: /src/openssl/test/evp_test.c:4154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4156,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4156,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:4158,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4164,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4165,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4166,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4171,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4172,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4173,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4178,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4179,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4180,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4185,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4186,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4187,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4192,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4193,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4194,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4199,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4200,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4201,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4206,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4207,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4208,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/evp_test.c:4213,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:4214,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4215,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4218,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4221,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:4222,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4223,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4229,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4230,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:4231,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4232,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4236,1
    - Dst: is_mac_disabled
      Src: /src/openssl/test/evp_test.c:4237,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4242,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: 4244
      start: 4148
    functionDepth: 3
    functionLinenumber: 4148
    functionLinenumberEnd: 4244
    functionName: kdf_test_ctrl
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - is_digest_disabled
    - TEST_ptr
    - is_cipher_disabled
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - OSSL_PARAM_locate_const
    - strcmp
    - OSSL_PARAM_construct_end
    - EVP_KDF_settable_ctx_params
    - strlen
    - TEST_info
    - is_mac_disabled
    - EVP_KDF_CTX_kdf
    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:4251,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4252,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4253,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4254,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:4255,1
    - Dst: kdf_test_ctrl
      Src: /src/openssl/test/evp_test.c:4256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4246
    functionDepth: 5
    functionLinenumber: 4246
    functionLinenumberEnd: 4258
    functionName: kdf_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ctrladd
    - parse_bin
    - kdf_test_ctrl
    - 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:4270,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4271,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:4273,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4275,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4285,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4285,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/evp_test.c:4290,1
    - Dst: EVP_KDF_CTX_dup
      Src: /src/openssl/test/evp_test.c:4291,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_test.c:4292,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_test.c:4295,1
    - Dst: kdf_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4299,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:4303,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4312,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4314
      start: 4260
    functionDepth: 6
    functionLinenumber: 4260
    functionLinenumberEnd: 4314
    functionName: kdf_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - ctrl2params_free
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - EVP_KDF_derive
    - fips_provider_version_gt
    - ctrl2params
    - EVP_KDF_CTX_dup
    - kdf_check_fips_approved
    - OSSL_NELEM
    - EVP_KDF_CTX_set_params
    - OPENSSL_malloc
    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:4344,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4345,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4350,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4350,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_test.c:4353,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_test.c:4355,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:4361,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4364
      start: 4340
    functionDepth: 5
    functionLinenumber: 4340
    functionLinenumberEnd: 4364
    functionName: pkey_kdf_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - is_kdf_disabled
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_init
    - TEST_info
    - EVP_PKEY_CTX_free
    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:4370,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:4371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4372
      start: 4366
    functionDepth: 5
    functionLinenumber: 4366
    functionLinenumberEnd: 4372
    functionName: pkey_kdf_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_free
    - OPENSSL_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:4379,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4380,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:4381,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:4382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4374
    functionDepth: 5
    functionLinenumber: 4374
    functionLinenumberEnd: 4384
    functionName: pkey_kdf_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_ctrl
    - HAS_PREFIX
    - strcmp
    - parse_bin
    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:4393,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:4398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4414,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4414,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:4418,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4422,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:4426,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4386
    functionDepth: 4
    functionLinenumber: 4386
    functionLinenumberEnd: 4435
    functionName: pkey_kdf_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - pkey_check_fips_approved
    - fips_provider_version_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:4462,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4462,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4463,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:4463,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4469,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4469,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4470,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4474,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4474,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4475,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4487,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4487,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - t
    - pair
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4498
      start: 4454
    functionDepth: 1
    functionLinenumber: 4454
    functionLinenumberEnd: 4498
    functionName: keypair_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - find_key
    - TEST_ptr
    - OPENSSL_free
    - TEST_true
    - TEST_info
    - 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:4502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4500
    functionDepth: 0
    functionLinenumber: 4500
    functionLinenumberEnd: 4504
    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: 4512
      start: 4509
    functionDepth: 0
    functionLinenumber: 4509
    functionLinenumberEnd: 4512
    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:4530,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:4538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4551
      start: 4514
    functionDepth: 3
    functionLinenumber: 4514
    functionLinenumberEnd: 4551
    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:4577,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4582,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4582,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4586,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4587,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4592
      start: 4573
    functionDepth: 1
    functionLinenumber: 4573
    functionLinenumberEnd: 4592
    functionName: keygen_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - TEST_ptr
    - is_pkey_disabled
    - sk_OPENSSL_STRING_new_null
    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:4598,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:4599,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4600,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4601,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4605
      start: 4594
    functionDepth: 0
    functionLinenumber: 4594
    functionLinenumberEnd: 4605
    functionName: keygen_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ctrlfree
    linkageType: ''
    returnType: void
    signature: void keygen_test_cleanup(EVP_TEST *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4612,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4613,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4613,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4614,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4615,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4615,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4616,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4617,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4618,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4607
    functionDepth: 1
    functionLinenumber: 4607
    functionLinenumberEnd: 4621
    functionName: keygen_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ctrladd
    - TEST_ptr
    - strcmp
    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:4631,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4633,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/openssl/test/evp_test.c:4634,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:4635,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4639,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_test.c:4643,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:4646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4647,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:4649,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4657,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: 4659
      start: 4624
    functionDepth: 3
    functionLinenumber: 4624
    functionLinenumberEnd: 4659
    functionName: check_pkey_expected_values
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - sk_OPENSSL_STRING_num
    - ctrl2params_free
    - TEST_mem_eq
    - OPENSSL_free
    - ctrl2params
    - TEST_error
    - OSSL_NELEM
    - EVP_PKEY_gettable_params
    - OPENSSL_malloc
    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:4673,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4675,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4679,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_test.c:4679,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4684,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_test.c:4684,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_test.c:4689,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4694,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_test.c:4695,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4697,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/evp_test.c:4698,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4701,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_test.c:4707,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4712,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:4717,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/test/evp_test.c:4720,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4721,1
    - Dst: check_pkey_expected_values
      Src: /src/openssl/test/evp_test.c:4725,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4734,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4739,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4739,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:4753,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:4756,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4757,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4758,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_test.c:4759,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_test.c:4760,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4661
    functionDepth: 8
    functionLinenumber: 4661
    functionLinenumberEnd: 4762
    functionName: keygen_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - check_pkey_expected_values
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - pkey_check_security_category
    - ctrl2params
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - OPENSSL_malloc_array
    - EVP_PKEY_CTX_new_from_pkey
    - evp_pkey_is_provided
    - sk_OPENSSL_STRING_num
    - EVP_PKEY_CTX_settable_params
    - OPENSSL_malloc
    - find_key
    - ctrl2params_free
    - EVP_PKEY_keygen
    - OSSL_PARAM_free
    - pkey_check_fips_approved
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int keygen_test_run(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4799,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:4800,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/evp_test.c:4804,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4808,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4808,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4810,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4811,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4813,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:4813,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4814,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: 4821
      start: 4793
    functionDepth: 2
    functionLinenumber: 4793
    functionLinenumberEnd: 4821
    functionName: digestsigver_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - is_digest_disabled
    - TEST_ptr
    - EVP_get_digestbyname
    - OPENSSL_free
    - strcmp
    - sk_OPENSSL_STRING_new_null
    - EVP_MD_CTX_new
    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:4825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4826
      start: 4823
    functionDepth: 3
    functionLinenumber: 4823
    functionLinenumberEnd: 4826
    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:4832,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:4833,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:4834,1
    - Dst: sk_EVP_TEST_BUFFER_pop_free
      Src: /src/openssl/test/evp_test.c:4835,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4836,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4837,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4840
      start: 4828
    functionDepth: 8
    functionLinenumber: 4828
    functionLinenumberEnd: 4840
    functionName: digestsigver_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_EVP_TEST_BUFFER_pop_free
    - EVP_MD_CTX_free
    - ctrlfree
    linkageType: ''
    returnType: void
    signature: void digestsigver_test_cleanup(EVP_TEST *t)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4847,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4852,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4854,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4863,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4865,1
    - Dst: evp_test_buffer_append
      Src: /src/openssl/test/evp_test.c:4866,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4868,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4869,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4872,1
    - Dst: evp_test_buffer_set_count
      Src: /src/openssl/test/evp_test.c:4873,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4874,1
    - Dst: evp_test_buffer_ncopy
      Src: /src/openssl/test/evp_test.c:4875,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4877,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:4878,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4879,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4880,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4881,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4882,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4842
    functionDepth: 5
    functionLinenumber: 4842
    functionLinenumberEnd: 4887
    functionName: digestsigver_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - evp_test_buffer_set_count
    - find_key
    - evp_test_buffer_append
    - strcmp
    - evp_test_buffer_ncopy
    - parse_bin
    - ctrladd
    - 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:4896,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4898,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4899,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_test.c:4901,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/evp_test.c:4903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - t
    - mdata
    argTypes:
    - EVP_TEST*
    - DIGESTSIGN_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4909
      start: 4889
    functionDepth: 3
    functionLinenumber: 4889
    functionLinenumberEnd: 4909
    functionName: check_deterministic_noncetype
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_modified
    - EVP_PKEY_CTX_set_params
    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:4913,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4919,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4920,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:4922,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/evp_test.c:4928,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_test.c:4934,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4941,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:4942,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:4944,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4949,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - t
    - data
    argTypes:
    - EVP_TEST*
    - DIGESTSIGN_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4951
      start: 4911
    functionDepth: 5
    functionLinenumber: 4911
    functionLinenumberEnd: 4951
    functionName: signverify_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 5
    functionsReached:
    - ctrl2params_free
    - sk_OPENSSL_STRING_num
    - EVP_DigestSignInit_ex
    - ctrl2params
    - EVP_MD_get0_name
    - sk_OPENSSL_STRING_value
    - OSSL_NELEM
    - EVP_DigestVerifyInit_ex
    - pkey_test_ctrl
    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:4956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4957
      start: 4953
    functionDepth: 2
    functionLinenumber: 4953
    functionLinenumberEnd: 4957
    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:4966,1
    - Dst: check_deterministic_noncetype
      Src: /src/openssl/test/evp_test.c:4968,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:4971,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4974,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:4975,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:4976,1
    - Dst: evp_test_buffer_do
      Src: /src/openssl/test/evp_test.c:4980,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:4986,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4990,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4990,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:4995,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:4999,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5006,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5008
      start: 4959
    functionDepth: 6
    functionLinenumber: 4959
    functionLinenumberEnd: 5008
    functionName: digestsign_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_num
    - EVP_DigestSignFinal
    - TEST_ptr
    - pkey_check_security_category
    - memory_err_compare
    - OPENSSL_free
    - signverify_init
    - sk_OPENSSL_STRING_value
    - evp_test_buffer_do
    - pkey_test_ctrl
    - OPENSSL_malloc
    - check_deterministic_noncetype
    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:5020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5021
      start: 5018
    functionDepth: 3
    functionLinenumber: 5018
    functionLinenumberEnd: 5021
    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:5026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5027
      start: 5023
    functionDepth: 2
    functionLinenumber: 5023
    functionLinenumberEnd: 5027
    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:5033,1
    - Dst: evp_test_buffer_do
      Src: /src/openssl/test/evp_test.c:5036,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_test.c:5041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5046
      start: 5029
    functionDepth: 6
    functionLinenumber: 5029
    functionLinenumberEnd: 5046
    functionName: digestverify_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - evp_test_buffer_do
    - signverify_init
    - 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:5058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5056
    functionDepth: 3
    functionLinenumber: 5056
    functionLinenumberEnd: 5059
    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:5067,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_test.c:5070,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5075,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:5075,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_test.c:5080,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:5085,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5092,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5094
      start: 5061
    functionDepth: 6
    functionLinenumber: 5061
    functionLinenumberEnd: 5094
    functionName: oneshot_digestsign_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - memory_err_compare
    - OPENSSL_free
    - signverify_init
    - EVP_DigestSign
    - 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:5106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5107
      start: 5104
    functionDepth: 3
    functionLinenumber: 5104
    functionLinenumberEnd: 5107
    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:5113,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/evp_test.c:5116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5121
      start: 5109
    functionDepth: 6
    functionLinenumber: 5109
    functionLinenumberEnd: 5121
    functionName: oneshot_digestverify_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - signverify_init
    - EVP_DigestVerify
    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:5168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5172
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5172
    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:5176,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_test.c:5177,1
    - Dst: EVP_TEST*::meth::cleanup
      Src: /src/openssl/test/evp_test.c:5180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5188,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/evp_test.c:5200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5202
      start: 5174
    functionDepth: 2
    functionLinenumber: 5174
    functionLinenumberEnd: 5202
    functionName: clear_test
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - test_clearstanza
    - ERR_clear_error
    - OPENSSL_free
    - OSSL_set_max_threads
    - EVP_TEST*::meth::cleanup
    linkageType: ''
    returnType: void
    signature: void clear_test(EVP_TEST *t)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5214,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5217,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5223,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5228,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5229,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5238,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_test.c:5243,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5245,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/evp_test.c:5250,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5252,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5258,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5205
    functionDepth: 2
    functionLinenumber: 5205
    functionLinenumberEnd: 5265
    functionName: check_test_error
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - TEST_info
    - strcmp
    - ERR_peek_error
    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:5282,1
    - Dst: EVP_TEST*::meth::run_test
      Src: /src/openssl/test/evp_test.c:5285,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5286,1
    - Dst: check_test_error
      Src: /src/openssl/test/evp_test.c:5290,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5291,1
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/openssl/test/evp_test.c:5300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5306
      start: 5268
    functionDepth: 3
    functionLinenumber: 5268
    functionLinenumberEnd: 5306
    functionName: run_test
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 11
    functionsReached:
    - fake_rand_set_public_private_callbacks
    - EVP_TEST*::meth::run_test
    - TEST_info
    - check_test_error
    - 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:5311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ppk
    - name
    - lst
    argTypes:
    - EVP_PKEY**
    - char*
    - KEY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5308
    functionDepth: 0
    functionLinenumber: 5308
    functionLinenumberEnd: 5318
    functionName: find_key
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 6
    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:5325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lst
    argTypes:
    - KEY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5320
    functionDepth: 4
    functionLinenumber: 5320
    functionLinenumberEnd: 5330
    functionName: free_key_list
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - OPENSSL_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:5337,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/evp_test.c:5338,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_test.c:5339,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_test.c:5344,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_test.c:5356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5361
      start: 5335
    functionDepth: 2
    functionLinenumber: 5335
    functionLinenumberEnd: 5361
    functionName: key_unsupported
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_GET_REASON
    - ERR_clear_error
    - 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: 5370
      start: 5364
    functionDepth: 0
    functionLinenumber: 5364
    functionLinenumberEnd: 5370
    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:5378,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_test.c:5383,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:5385,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:5387,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/evp_test.c:5388,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_test.c:5389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5397
      start: 5373
    functionDepth: 10
    functionLinenumber: 5373
    functionLinenumberEnd: 5397
    functionName: securitycheck_enabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_available
    - OSSL_PARAM_construct_end
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int securitycheck_enabled(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/test/evp_test.c:5411,1
    - Dst: isspace
      Src: /src/openssl/test/evp_test.c:5415,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_test.c:5421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - providers
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5425
      start: 5405
    functionDepth: 10
    functionLinenumber: 5405
    functionLinenumberEnd: 5425
    functionName: prov_available
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - isspace
    - OSSL_PROVIDER_available
    linkageType: ''
    returnType: int
    signature: int prov_available(char *providers)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: BIO_eof
      Src: /src/openssl/test/evp_test.c:5438,1
    - Dst: clear_test
      Src: /src/openssl/test/evp_test.c:5440,1
    - Dst: test_readstanza
      Src: /src/openssl/test/evp_test.c:5441,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5450,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/evp_test.c:5453,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5455,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5457,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5461,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5462,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5463,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5467,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/evp_test.c:5468,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5469,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5470,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5471,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5472,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5476,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/test/evp_test.c:5477,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5478,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5479,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5480,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5481,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5485,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5486,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5491,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:5496,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:5499,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5504,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:5508,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5509,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_test.c:5513,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_test.c:5516,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5518,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5519,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5520,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5521,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5524,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5525,1
    - Dst: prov_available
      Src: /src/openssl/test/evp_test.c:5526,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5527,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5535,1
    - Dst: prov_available
      Src: /src/openssl/test/evp_test.c:5536,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/evp_test.c:5537,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5539,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5542,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:5555,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5556,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5559,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:5559,1
    - Dst: take_value
      Src: /src/openssl/test/evp_test.c:5561,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5573,1
    - Dst: find_test
      Src: /src/openssl/test/evp_test.c:5573,1
    - Dst: EVP_TEST*::meth::init
      Src: /src/openssl/test/evp_test.c:5575,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:5576,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5585,1
    - Dst: securitycheck_enabled
      Src: /src/openssl/test/evp_test.c:5588,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5591,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5596,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5597,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5600,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5602,1
    - Dst: take_value
      Src: /src/openssl/test/evp_test.c:5605,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5606,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5608,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5610,1
    - Dst: take_value
      Src: /src/openssl/test/evp_test.c:5613,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5614,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/evp_test.c:5615,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:5615,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5616,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5620,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5622,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5624,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5628,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5630,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:5633,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5635,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5639,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:5640,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5641,1
    - Dst: EVP_TEST*::meth::parse
      Src: /src/openssl/test/evp_test.c:5646,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5649,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5653,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 208
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5663
      start: 5428
    functionDepth: 11
    functionLinenumber: 5428
    functionLinenumberEnd: 5663
    functionName: parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 24
    functionsReached:
    - TEST_ptr
    - TEST_error
    - EVP_TEST*::meth::parse
    - key_unsupported
    - OPENSSL_free
    - test_readstanza
    - take_value
    - atoi
    - clear_test
    - PEM_read_bio_PrivateKey_ex
    - OPENSSL_malloc
    - find_key
    - securitycheck_enabled
    - strcmp
    - EVP_PKEY_new_raw_private_key_ex
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_free
    - parse_bin
    - TEST_openssl_errors
    - EVP_PKEY_new_raw_public_key_ex
    - strchr
    - BIO_eof
    - fips_provider_version_match
    - find_test
    - prov_available
    - EVP_TEST*::meth::init
    - OSSL_set_max_threads
    - TEST_info
    - PEM_read_bio_PUBKEY_ex
    linkageType: ''
    returnType: int
    signature: int parse(EVP_TEST *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/evp_test.c:5668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5671,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:5671,1
    - Dst: test_start_file
      Src: /src/openssl/test/evp_test.c:5673,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5674,1
    - Dst: OSSL_INDICATOR_set_callback
      Src: /src/openssl/test/evp_test.c:5678,1
    - Dst: BIO_eof
      Src: /src/openssl/test/evp_test.c:5679,1
    - Dst: parse
      Src: /src/openssl/test/evp_test.c:5680,1
    - Dst: run_test
      Src: /src/openssl/test/evp_test.c:5685,1
    - Dst: test_end_file
      Src: /src/openssl/test/evp_test.c:5690,1
    - Dst: clear_test
      Src: /src/openssl/test/evp_test.c:5691,1
    - Dst: free_key_list
      Src: /src/openssl/test/evp_test.c:5693,1
    - Dst: free_key_list
      Src: /src/openssl/test/evp_test.c:5695,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_test.c:5697,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5701
      start: 5665
    functionDepth: 12
    functionLinenumber: 5665
    functionLinenumberEnd: 5701
    functionName: run_file_tests
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - test_start_file
    - test_end_file
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - BIO_free
    - run_test
    - free_key_list
    - parse
    - clear_test
    - OSSL_INDICATOR_set_callback
    - BIO_eof
    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:5706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5720
      start: 5703
    functionDepth: 1
    functionLinenumber: 5703
    functionLinenumberEnd: 5720
    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:5730,1
    - Dst: opt_next
      Src: /src/openssl/test/evp_test.c:5732,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5735,1
    - Dst: evp_test_process_mode
      Src: /src/openssl/test/evp_test.c:5738,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5738,1
    - Dst: opt_int
      Src: /src/openssl/test/evp_test.c:5740,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5740,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5744,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5747,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_test.c:5764,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/evp_test.c:5767,1
    - Dst: fake_rand_start
      Src: /src/openssl/test/evp_test.c:5771,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_test.c:5774,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5776
      start: 5722
    functionDepth: 1
    functionLinenumber: 5722
    functionLinenumberEnd: 5776
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - fake_rand_start
    - evp_test_process_mode
    - ADD_ALL_TESTS
    - test_get_argument_count
    - getenv
    - opt_arg
    - opt_next
    - opt_int
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/openssl/test/evp_test.c:5780,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_test.c:5781,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_test.c:5782,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_test.c:5783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5784
      start: 5778
    functionDepth: 4
    functionLinenumber: 5778
    functionLinenumberEnd: 5784
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 7
    functionsReached:
    - fake_rand_finish
    - OSSL_PROVIDER_unload
    - 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:5789,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5793,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5797,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5801,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5805,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5809,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5813,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5821
      start: 5786
    functionDepth: 3
    functionLinenumber: 5786
    functionLinenumberEnd: 5821
    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:5826,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5830,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5834,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5838,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5844,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5848,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5823
    functionDepth: 1
    functionLinenumber: 5823
    functionLinenumberEnd: 5856
    functionName: is_pkey_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 3
    functionsReached:
    - HAS_CASE_PREFIX
    - HAS_CASE_SUFFIX
    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:5861,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5862,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5866,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5870,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5878
      start: 5858
    functionDepth: 1
    functionLinenumber: 5858
    functionLinenumberEnd: 5878
    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:5882,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5890
      start: 5879
    functionDepth: 1
    functionLinenumber: 5879
    functionLinenumberEnd: 5890
    functionName: is_kdf_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 3
    functionsReached:
    - HAS_CASE_PREFIX
    - 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:5895,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5899,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5903,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5907,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5911,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5915,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5919,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5921,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5925,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5929,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5933,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5937,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5941,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5945,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5949,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5953,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5957
      start: 5892
    functionDepth: 1
    functionLinenumber: 5892
    functionLinenumberEnd: 5957
    functionName: is_cipher_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 5
    functionsReached:
    - HAS_CASE_PREFIX
    - HAS_CASE_SUFFIX
    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:
    - TEST_ptr_eq
    - ossl_quic_lcidm_generate
    - ossl_quic_lcidm_get_lcid_len
    - TEST_ptr
    - TEST_false
    - ossl_quic_lcidm_retire_odcid
    - TEST_uint64_t_eq
    - ossl_quic_lcidm_enrol_odcid
    - TEST_true
    - ossl_quic_lcidm_retire
    - ossl_quic_lcidm_lookup
    - ossl_quic_lcidm_new
    - ossl_quic_lcidm_free
    - TEST_size_t_eq
    - ossl_quic_lcidm_generate_initial
    - ossl_quic_lcidm_get_num_active_lcid
    - ossl_quic_lcidm_cull
    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:
    - TEST_ptr
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_sstream_mark_acked
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_sstream_new
    - TEST_size_t_gt
    - ossl_quic_sstream_mark_transmitted_fin
    - ossl_quic_sstream_fin
    - ossl_quic_sstream_mark_lost_fin
    - ossl_quic_sstream_mark_transmitted
    - ossl_quic_sstream_is_totally_acked
    - TEST_false
    - ossl_quic_sstream_mark_acked_fin
    - ossl_quic_sstream_free
    - ossl_quic_sstream_get_buffer_used
    - ossl_quic_sstream_append
    - ossl_quic_sstream_mark_lost
    - compare_iov
    - OSSL_NELEM
    - TEST_size_t_eq
    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:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_sstream_mark_acked
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_sstream_new
    - memcpy
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_quic_sstream_get_buffer_avail
    - ossl_quic_sstream_mark_transmitted
    - OPENSSL_malloc
    - ossl_quic_sstream_free
    - test_random
    - ossl_quic_sstream_get_buffer_size
    - ossl_quic_sstream_get_buffer_used
    - ossl_quic_sstream_set_buffer_size
    - ossl_quic_sstream_append
    - TEST_size_t_le
    - OSSL_NELEM
    - TEST_size_t_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:
    - memcpy
    - ossl_quic_rstream_get_record
    - 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: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 473
    functionName: test_rstream_simple
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_free
    - ossl_quic_rstream_new
    - ossl_quic_rstream_available
    - TEST_false
    - ossl_quic_rstream_queue_data
    - TEST_ptr
    - TEST_mem_eq
    - ossl_quic_rstream_move_to_rbuf
    - TEST_true
    - ossl_quic_rstream_resize_rbuf
    - read_fn
    - TEST_size_t_eq
    - ossl_quic_rstream_peek
    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_new
    - TEST_ptr
    - TEST_mem_eq
    - ossl_quic_rstream_move_to_rbuf
    - TEST_true
    - TEST_size_t_eq
    - ossl_quic_rstream_free
    - test_single_copy_read
    - OPENSSL_free
    - TEST_size_t_ge
    - ossl_quic_rstream_read
    - OPENSSL_malloc
    - test_random
    - TEST_uchar_eq
    - ossl_quic_rstream_queue_data
    - TEST_size_t_le
    - ossl_quic_rstream_set_cleanse
    - ossl_quic_rstream_resize_rbuf
    - TEST_info
    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_ALL_TESTS
    - ADD_TEST
    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:
    - ossl_time_zero
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    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:206,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic_tserver_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:212,1
    - Dst: is_want
      Src: /src/openssl/test/quic_tserver_test.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:225,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/quic_tserver_test.c:225,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_tserver_test.c:227,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_tserver_test.c:227,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_tserver_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_tserver_test.c:233,1
    - Dst: SSL_write
      Src: /src/openssl/test/quic_tserver_test.c:233,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:237,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic_tserver_test.c:237,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_tserver_test.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:247,1
    - Dst: ossl_quic_tserver_has_read_ended
      Src: /src/openssl/test/quic_tserver_test.c:247,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_tserver_test.c:250,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_tserver_test.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:263,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_tserver_test.c:263,1
    - Dst: ossl_quic_tserver_conclude
      Src: /src/openssl/test/quic_tserver_test.c:271,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_tserver_test.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:279,1
    - Dst: is_want
      Src: /src/openssl/test/quic_tserver_test.c:279,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_tserver_test.c:285,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_tserver_test.c:296,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_tserver_test.c:297,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_tserver_test.c:304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_tserver_test.c:305,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_tserver_test.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:311,1
    - Dst: ossl_quic_tserver_is_connected
      Src: /src/openssl/test/quic_tserver_test.c:311,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:328,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/quic_tserver_test.c:328,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_tserver_test.c:330,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_tserver_test.c:330,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_tserver_test.c:331,1
    - Dst: ossl_quic_conn_force_assist_thread_wake
      Src: /src/openssl/test/quic_tserver_test.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:340,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/quic_tserver_test.c:340,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_tserver_test.c:342,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_tserver_test.c:342,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:
    - SSL_handle_events
    - ossl_quic_tserver_read
    - TEST_ptr
    - SSL_write
    - TEST_mem_eq
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - TEST_true
    - ossl_quic_tserver_new
    - TEST_error
    - ossl_time_compare
    - OSSL_QUIC_client_thread_method
    - CRYPTO_THREAD_write_lock
    - BIO_up_ref
    - is_want
    - SSL_read_ex
    - SSL_CTX_free
    - ossl_quic_set_override_now_cb
    - ossl_time_zero
    - ossl_quic_tserver_conclude
    - ossl_quic_tserver_tick
    - SSL_get_event_timeout
    - ossl_quic_tserver_free
    - ossl_time_subtract
    - BIO_new_dgram
    - BIO_socket_nbio
    - TEST_int_gt
    - BIO_ADDR_rawport
    - TEST_int_eq
    - OSSL_sleep
    - BIO_closesocket
    - SSL_get_error
    - ossl_time_from_timeval
    - SSL_free
    - SSL_stream_conclude
    - SSL_set_blocking_mode
    - TEST_false
    - BIO_new_bio_dgram_pair
    - BIO_free
    - BIO_bind
    - SSL_set0_wbio
    - htonl
    - SSL_set0_rbio
    - ossl_quic_tserver_write
    - SSL_inject_net_dgram
    - real_now
    - ossl_ms2time
    - SSL_new
    - CRYPTO_THREAD_unlock
    - ossl_quic_conn_force_assist_thread_wake
    - TEST_size_t_le
    - TEST_skip
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_connect
    - SSL_CTX_new
    - BIO_socket
    - TEST_int_ge
    - BIO_dgram_set_peer
    - ossl_quic_tserver_has_read_ended
    - ossl_quic_tserver_is_connected
    - BIO_recvmmsg
    - ossl_time_add
    - BIO_sock_info
    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:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - CRYPTO_THREAD_lock_new
    - test_skip_common_options
    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_ptr
    - OSSL_PROVIDER_get0_default_search_path
    - TEST_true
    - TEST_str_eq
    - 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_new
    - TEST_ptr
    - OSSL_PROVIDER_get0_default_search_path
    - TEST_true
    - OSSL_LIB_CTX_free
    - TEST_str_ne
    - TEST_str_eq
    - 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:48,1
    - 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: TEST_long_ge
      Src: /src/openssl/test/servername_test.c:54,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/servername_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:55,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/servername_test.c:55,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/servername_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:59,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/servername_test.c:59,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:61,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/servername_test.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:63,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/servername_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:65,1
    - Dst: PACKET_get_length_prefixed_2
      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_1
      Src: /src/openssl/test/servername_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:69,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:69,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/servername_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:74,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/servername_test.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:75,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:78,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:78,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/servername_test.c:79,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/servername_test.c:79,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:80,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/servername_test.c:80,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/servername_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:82,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:82,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/servername_test.c:83,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/servername_test.c:83,1
    - Dst: TEST_false
      Src: /src/openssl/test/servername_test.c:84,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/test/servername_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:85,1
    - Dst: PACKET_strndup
      Src: /src/openssl/test/servername_test.c:85,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 25
    argCount: 2
    argNames:
    - bio
    - sni
    argTypes:
    - BIO*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 93
    functionName: get_sni_from_client_hello
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - TEST_uint_eq
    - TEST_false
    - PACKET_buf_init
    - TEST_size_t_le
    - PACKET_get_net_2
    - PACKET_strndup
    - TEST_size_t_ne
    - TEST_true
    - BIO_get_mem_data
    - PACKET_as_length_prefixed_2
    - PACKET_get_length_prefixed_2
    - memset
    - PACKET_contains_zero_byte
    - PACKET_get_1
    - PACKET_get_length_prefixed_1
    - TEST_long_ge
    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:105,1
    - Dst: TLS_method
      Src: /src/openssl/test/servername_test.c:105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:110,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/servername_test.c:110,1
    - Dst: SSL_new
      Src: /src/openssl/test/servername_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:114,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/servername_test.c:118,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:120,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:120,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:121,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:122,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:123,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:124,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/servername_test.c:128,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/servername_test.c:130,1
    - Dst: SSL_connect
      Src: /src/openssl/test/servername_test.c:130,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:133,1
    - Dst: get_sni_from_client_hello
      Src: /src/openssl/test/servername_test.c:133,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/servername_test.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/servername_test.c:141,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:142,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 145
    functionName: client_setup_sni_before_state
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - TLS_method
    - TEST_ptr
    - BIO_new
    - BIO_s_mem
    - OPENSSL_free
    - BIO_free
    - TEST_int_le
    - SSL_connect
    - TEST_true
    - TEST_str_eq
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_set_bio
    - get_sni_from_client_hello
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_CTX_set_max_proto_version
    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:157,1
    - Dst: TLS_method
      Src: /src/openssl/test/servername_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:162,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/servername_test.c:162,1
    - Dst: SSL_new
      Src: /src/openssl/test/servername_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:166,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:169,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:169,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:170,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:171,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:172,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:173,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/servername_test.c:177,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/servername_test.c:178,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/servername_test.c:181,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/servername_test.c:183,1
    - Dst: SSL_connect
      Src: /src/openssl/test/servername_test.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:186,1
    - Dst: get_sni_from_client_hello
      Src: /src/openssl/test/servername_test.c:186,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/servername_test.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/servername_test.c:194,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:195,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:196,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 198
    functionName: client_setup_sni_after_state
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_free
    - TEST_str_eq
    - BIO_new
    - OPENSSL_free
    - TEST_int_le
    - SSL_set_connect_state
    - get_sni_from_client_hello
    - SSL_set_tlsext_host_name
    - BIO_s_mem
    - SSL_free
    - TLS_method
    - BIO_free
    - SSL_new
    - SSL_connect
    - SSL_CTX_new
    - SSL_set_bio
    - SSL_CTX_set_max_proto_version
    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:206,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/servername_test.c:206,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/servername_test.c:206,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/servername_test.c:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:210,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/servername_test.c:210,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/servername_test.c:215,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:217,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/servername_test.c:217,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/servername_test.c:220,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/servername_test.c:220,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:228,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:229,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:230,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:231,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 234
    functionName: server_setup_sni
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - SSL_get_servername
    - TEST_true
    - TEST_ptr_null
    - TLS_server_method
    - SSL_CTX_free
    - SSL_set_tlsext_host_name
    - create_ssl_ctx_pair
    - create_ssl_objects
    - create_ssl_connection
    - SSL_free
    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: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    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:255,1
    - Dst: TEST_error
      Src: /src/openssl/test/servername_test.c:256,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:260,1
    - Dst: test_get_argument
      Src: /src/openssl/test/servername_test.c:260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:261,1
    - Dst: test_get_argument
      Src: /src/openssl/test/servername_test.c:261,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/servername_test.c:264,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/servername_test.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:184,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/siphash_internal_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:199,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:200,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:200,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:203,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:203,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:208,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:209,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:209,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:211,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:213,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:213,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:216,1
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:225,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:226,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:226,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:228,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:230,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:230,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:233,1
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:239,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:239,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:240,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:240,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:242,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:244,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:244,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:247,1
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:248,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 256
    functionName: test_siphash
    functionSourceFile: /src/openssl/test/siphash_internal_test.c
    functionUses: 0
    functionsReached:
    - SipHash_Final
    - TEST_mem_eq
    - TEST_size_t_le
    - SipHash_Init
    - SipHash_Update
    - TEST_true
    - SipHash_set_hash_size
    - TEST_info
    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: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:270,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:270,1
    - Dst: TEST_false
      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:272,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:273,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:274,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:277,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:278,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:278,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:279,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:280,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:283,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:284,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:285,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:286,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:286,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 287
    functionName: test_siphash_basic
    functionSourceFile: /src/openssl/test/siphash_internal_test.c
    functionUses: 0
    functionsReached:
    - SipHash_Final
    - TEST_false
    - SipHash_Init
    - TEST_true
    - TEST_int_eq
    - SipHash_set_hash_size
    linkageType: ''
    returnType: int
    signature: int test_siphash_basic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/siphash_internal_test.c:291,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/siphash_internal_test.c:292,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/siphash_internal_test.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/siphash_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:
    - SSL_handle_events
    - ossl_quic_tserver_read
    - TEST_ptr
    - SSL_write
    - TEST_mem_eq
    - TEST_true
    - qtest_create_quic_connection
    - SSL_CTX_free
    - ossl_quic_tserver_set_new_local_cid
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - TEST_int_eq
    - SSL_read
    - qtest_fault_free
    - SSL_free
    - qtest_create_quic_objects
    - ossl_quic_tserver_write
    - OSSL_QUIC_client_method
    - qtest_fault_set_packet_plain_listener
    - SSL_CTX_new
    - TEST_size_t_eq
    - strlen
    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:
    - TEST_ptr
    - OPENSSL_free
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - test_mk_file_path
    - test_skip_common_options
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/tls12psk.c:53,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:54,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls12psk.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: hello_session_id
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - OPENSSL_buf2hexstr
    - TEST_info
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void hello_session_id(const unsigned char *p, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:68,1
    - Dst: hello_session_id
      Src: /src/openssl/test/tls12psk.c:69,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:73,1
    - Dst: hello_session_id
      Src: /src/openssl/test/tls12psk.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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: 77
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: msg_cb
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - hello_session_id
    linkageType: ''
    returnType: void
    signature: "void msg_cb(int write_p, int version, int content_type,\n    const
      void *buf, size_t len, SSL *ssl, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/tls12psk.c:81,1
    - Dst: SSL_SESSION_has_ticket
      Src: /src/openssl/test/tls12psk.c:82,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/tls12psk.c:82,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls12psk.c:84,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:85,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:87,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: handshake_finished
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 1
    functionsReached:
    - SSL_get_session
    - SSL_is_server
    - SSL_session_reused
    - TEST_info
    - SSL_SESSION_has_ticket
    linkageType: ''
    returnType: void
    signature: void handshake_finished(const SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/tls12psk.c:94,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:99,1
    - Dst: SSL_alert_type_string_long
      Src: /src/openssl/test/tls12psk.c:100,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/test/tls12psk.c:101,1
    - Dst: handshake_finished
      Src: /src/openssl/test/tls12psk.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - type
    - val
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: info_cb
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - SSL_alert_desc_string_long
    - SSL_is_server
    - TEST_info
    - handshake_finished
    - SSL_alert_type_string_long
    linkageType: ''
    returnType: void
    signature: void info_cb(const SSL *ssl, int type, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/tls12psk.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: server_psk_cb
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int server_psk_cb(SSL *ssl, const char *identity,\n    unsigned
      char *psk, unsigned int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/openssl/test/tls12psk.c:122,1
    - Dst: memcpy
      Src: /src/openssl/test/tls12psk.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_id
    - psk
    - max
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: client_psk_cb
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strncpy
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int client_psk_cb(SSL *ssl, const char *hint,\n    char *identity,
      unsigned int max_id,\n    unsigned char *psk, unsigned int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/tls12psk.c:137,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/tls12psk.c:138,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls12psk.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls12psk.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ssl
    - id
    - len
    - copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: get_sess_cb
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - OPENSSL_buf2hexstr
    - SSL_SESSION_get_id
    - TEST_info
    - OPENSSL_free
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *get_sess_cb(SSL *ssl, const unsigned char *id, int len,
      int *copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/test/tls12psk.c:147,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/test/tls12psk.c:148,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls12psk.c:149,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls12psk.c:150,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/tls12psk.c:151,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/tls12psk.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - s_ctx
    - c_ctx
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: ctx_set_cache
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_set_options
    - SSL_CTX_set_psk_server_callback
    - SSL_CTX_set_session_cache_mode
    linkageType: ''
    returnType: int
    signature: int ctx_set_cache(SSL_CTX *s_ctx, SSL_CTX *c_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/test/tls12psk.c:158,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/test/tls12psk.c:159,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls12psk.c:160,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls12psk.c:161,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/tls12psk.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s_ctx
    - c_ctx
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: ctx_set_ticket
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set_psk_server_callback
    linkageType: ''
    returnType: int
    signature: int ctx_set_ticket(SSL_CTX *s_ctx, SSL_CTX *c_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_shutdown
      Src: /src/openssl/test/tls12psk.c:168,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/test/tls12psk.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: set_shutdown
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 6
    functionsReached:
    - SSL_set_shutdown
    linkageType: ''
    returnType: int
    signature: int set_shutdown(SSL *c, SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/test/tls12psk.c:176,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/tls12psk.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s_ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: set_server_cache
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_get_cb
    linkageType: ''
    returnType: int
    signature: int set_server_cache(SSL_CTX *s_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/tls12psk.c:183,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/tls12psk.c:184,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/tls12psk.c:185,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/tls12psk.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: set_callbacks
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - SSL_set_msg_callback
    - SSL_set_info_callback
    linkageType: ''
    returnType: int
    signature: int set_callbacks(SSL *c, SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:196,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/tls12psk.c:196,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/tls12psk.c:196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:197,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/tls12psk.c:197,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/tls12psk.c:197,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls12psk.c:198,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls12psk.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: sessid_matches
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - SSL_get0_session
    - SSL_SESSION_get_id
    - TEST_uint_eq
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int sessid_matches(SSL *c, SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:239,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls12psk.c:239,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls12psk.c:239,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls12psk.c:239,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:241,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/tls12psk.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:242,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/tls12psk.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:243,1
    - Dst: ctx_set_cache
      Src: /src/openssl/test/tls12psk.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:244,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls12psk.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:245,1
    - Dst: set_callbacks
      Src: /src/openssl/test/tls12psk.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:246,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls12psk.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:247,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls12psk.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:248,1
    - Dst: set_shutdown
      Src: /src/openssl/test/tls12psk.c:248,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:249,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/tls12psk.c:249,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/tls12psk.c:250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:251,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/tls12psk.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:252,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/openssl/test/tls12psk.c:252,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:254,1
    - Dst: set_server_cache
      Src: /src/openssl/test/tls12psk.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:255,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls12psk.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:256,1
    - Dst: set_callbacks
      Src: /src/openssl/test/tls12psk.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:257,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls12psk.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:258,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls12psk.c:258,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls12psk.c:259,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls12psk.c:259,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:262,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:263,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls12psk.c:264,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls12psk.c:265,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls12psk.c:266,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls12psk.c:267,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:268,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 13
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 271
    functionName: test_tls12_psk_resume_sessid_mismatch
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - set_shutdown
    - TEST_ptr
    - TEST_true
    - ctx_set_cache
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - set_callbacks
    - SSL_SESSION_set1_id
    - SSL_free
    - SSL_SESSION_get_id
    - TEST_uint_eq
    - TEST_false
    - SSL_SESSION_dup
    - SSL_CTX_set_cipher_list
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - set_server_cache
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_tls12_psk_resume_sessid_mismatch(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:290,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls12psk.c:290,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls12psk.c:290,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls12psk.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:292,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/tls12psk.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:293,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/tls12psk.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:294,1
    - Dst: ctx_set_ticket
      Src: /src/openssl/test/tls12psk.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:295,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls12psk.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:296,1
    - Dst: set_callbacks
      Src: /src/openssl/test/tls12psk.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:297,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls12psk.c:297,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:298,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls12psk.c:298,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:299,1
    - Dst: SSL_SESSION_has_ticket
      Src: /src/openssl/test/tls12psk.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls12psk.c:300,1
    - Dst: set_shutdown
      Src: /src/openssl/test/tls12psk.c:300,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls12psk.c:301,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/tls12psk.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:302,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/openssl/test/tls12psk.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:303,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls12psk.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:304,1
    - Dst: set_callbacks
      Src: /src/openssl/test/tls12psk.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:305,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls12psk.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:306,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls12psk.c:306,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:307,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/tls12psk.c:307,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls12psk.c:308,1
    - Dst: sessid_matches
      Src: /src/openssl/test/tls12psk.c:308,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:310,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:311,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls12psk.c:312,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls12psk.c:313,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls12psk.c:314,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls12psk.c:315,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:316,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls12psk.c:317,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 319
    functionName: test_tls12_psk_resume_ticket_mismatch
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - set_shutdown
    - TEST_ptr
    - sessid_matches
    - ctx_set_ticket
    - TEST_true
    - SSL_get1_session
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - set_callbacks
    - SSL_SESSION_set1_id
    - TEST_int_eq
    - SSL_free
    - SSL_SESSION_dup
    - SSL_CTX_set_cipher_list
    - SSL_set_session
    - SSL_SESSION_free
    - SSL_session_reused
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_SESSION_has_ticket
    - create_ssl_objects
    linkageType: ''
    returnType: int
    signature: int test_tls12_psk_resume_ticket_mismatch(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/tls12psk.c:325,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls12psk.c:326,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/tls12psk.c:330,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls12psk.c:330,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/tls12psk.c:331,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls12psk.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls12psk.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - test_skip_common_options
    - OSSL_NELEM
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_internal_test.c:54,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_internal_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_internal_test.c:56,1
    - Dst: ossl_ml_dsa_key_fetch_digests
      Src: /src/openssl/test/ml_dsa_internal_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_internal_test.c:58,1
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/test/ml_dsa_internal_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_internal_test.c:62,1
    - Dst: ossl_ml_dsa_set_prekey
      Src: /src/openssl/test/ml_dsa_internal_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_internal_test.c:66,1
    - Dst: ossl_ml_dsa_generate_key
      Src: /src/openssl/test/ml_dsa_internal_test.c:66,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_internal_test.c:70,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_dsa_internal_test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_internal_test.c:77,1
    - Dst: ossl_ml_dsa_sign
      Src: /src/openssl/test/ml_dsa_internal_test.c:77,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_dsa_internal_test.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_internal_test.c:89,1
    - Dst: ossl_ml_dsa_verify
      Src: /src/openssl/test/ml_dsa_internal_test.c:89,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/test/ml_dsa_internal_test.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_internal_test.c:100,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 46
    functionDepth: 7
    functionLinenumber: 46
    functionLinenumberEnd: 102
    functionName: test_sign_verify
    functionSourceFile: /src/openssl/test/ml_dsa_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_sign
    - TEST_ptr
    - ossl_ml_dsa_key_free
    - OPENSSL_free
    - ossl_ml_dsa_key_params
    - TEST_true
    - ossl_ml_dsa_set_prekey
    - ossl_ml_dsa_generate_key
    - ossl_ml_dsa_key_new
    - ossl_ml_dsa_verify
    - ossl_ml_dsa_key_fetch_digests
    - TEST_size_t_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_sign_verify(int evp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sign_verify
      Src: /src/openssl/test/ml_dsa_internal_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 8
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: test_ml_dsa_44
    functionSourceFile: /src/openssl/test/ml_dsa_internal_test.c
    functionUses: 0
    functionsReached:
    - test_sign_verify
    linkageType: ''
    returnType: int
    signature: int test_ml_dsa_44(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sign_verify
      Src: /src/openssl/test/ml_dsa_internal_test.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 8
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: test_ml_dsa_65
    functionSourceFile: /src/openssl/test/ml_dsa_internal_test.c
    functionUses: 0
    functionsReached:
    - test_sign_verify
    linkageType: ''
    returnType: int
    signature: int test_ml_dsa_65(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sign_verify
      Src: /src/openssl/test/ml_dsa_internal_test.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 8
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: test_ml_dsa_87
    functionSourceFile: /src/openssl/test/ml_dsa_internal_test.c
    functionUses: 0
    functionsReached:
    - test_sign_verify
    linkageType: ''
    returnType: int
    signature: int test_ml_dsa_87(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_internal_test.c:110,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_internal_test.c:111,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_internal_test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ml_dsa_internal_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: 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:112,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/acvp_test.c:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:119,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/acvp_test.c:120,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: 122
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 122
    functionName: sig_gen
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 2
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - TEST_int_gt
    - EVP_DigestSign
    - TEST_int_eq
    - EVP_PKEY_get_size
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    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:129,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/acvp_test.c:130,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:133,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:137,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/acvp_test.c:137,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pkey_ctx
    - expected
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 10
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: check_verify_message
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - fips_provider_version_match
    - OSSL_PROVIDER_available
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_get_params
    - TEST_int_eq
    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:155,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:155,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/acvp_test.c:156,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:157,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:159,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:161,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:161,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: test_output_memory
      Src: /src/openssl/test/acvp_test.c:167,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:173,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:174,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: ecdsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - test_output_memory
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_clear_free
    - pkey_get_bn_bytes
    - TEST_true
    - EVP_PKEY_Q_keygen
    - TEST_int_ge
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int ecdsa_keygen_test(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:188,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:190,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/acvp_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:193,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/acvp_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:197,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:198,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:199,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:200,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:200,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:207,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:208,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:209,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: 211
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 211
    functionName: ecdsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    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:221,1
    - Dst: ecdsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:226,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:226,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:227,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/acvp_test.c:227,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:232,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 9
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: ecdsa_pub_verify_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ecdsa_create_pkey
    - TEST_true
    - TEST_int_eq
    - EVP_PKEY_public_check
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_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:246,1
    - Dst: ECDSA_SIG_get0_r
      Src: /src/openssl/test/acvp_test.c:250,1
    - Dst: ECDSA_SIG_get0_s
      Src: /src/openssl/test/acvp_test.c:251,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:255,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:256,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:257,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:258,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:261,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:273,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:275,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: 277
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 277
    functionName: get_ecdsa_sig_rs_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BN_num_bytes
    - OPENSSL_free
    - ECDSA_SIG_free
    - ECDSA_SIG_get0_s
    - ECDSA_SIG_get0_r
    - d2i_ECDSA_SIG
    - 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:288,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:291,1
    - Dst: sig_gen
      Src: /src/openssl/test/acvp_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:293,1
    - Dst: get_ecdsa_sig_rs_bytes
      Src: /src/openssl/test/acvp_test.c:293,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:295,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:299,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:300,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:301,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 279
    functionDepth: 9
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: ecdsa_siggen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - test_output_memory
    - TEST_ptr
    - sig_gen
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    - get_ecdsa_sig_rs_bytes
    linkageType: ''
    returnType: int
    signature: int ecdsa_siggen_test(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:318,1
    - Dst: ecdsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:322,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/test/acvp_test.c:322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:323,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:323,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:324,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:325,1
    - Dst: ECDSA_SIG_set0
      Src: /src/openssl/test/acvp_test.c:325,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:329,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/test/acvp_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:330,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/acvp_test.c:330,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:331,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/acvp_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:333,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/test/acvp_test.c:333,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:334,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:335,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/acvp_test.c:335,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:339,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/acvp_test.c:339,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:340,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:345,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:347,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:348,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:349,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/acvp_test.c:350,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 306
    functionDepth: 11
    functionLinenumber: 306
    functionLinenumberEnd: 352
    functionName: ecdsa_sigver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - ECDSA_SIG_new
    - TEST_ptr
    - i2d_ECDSA_SIG
    - TEST_true
    - EVP_PKEY_verify_init
    - EVP_MD_CTX_new
    - OPENSSL_free
    - ECDSA_SIG_set0
    - TEST_int_gt
    - TEST_int_eq
    - EVP_MD_CTX_free
    - ecdsa_create_pkey
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_PKEY_free
    - EVP_DigestVerify
    - ECDSA_SIG_free
    - check_verify_message
    - BN_free
    - EVP_DigestVerifyInit_ex
    linkageType: ''
    returnType: int
    signature: int ecdsa_sigver_test(int id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:370,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:370,1
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:373,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:373,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:376,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:380,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:384,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/test/acvp_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:385,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:385,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:390,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:394,1
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/openssl/test/acvp_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:395,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/acvp_test.c:395,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:396,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/acvp_test.c:396,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:405,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:410,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:411,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:412,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 354
    functionDepth: 9
    functionLinenumber: 354
    functionLinenumberEnd: 414
    functionName: ecdh_cofactor_derive_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive_init_ex
    - TEST_ptr
    - TEST_skip
    - OSSL_PARAM_construct_end
    - TEST_note
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_set_params
    - EVP_PKEY_CTX_new_from_pkey
    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:425,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:428,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/acvp_test.c:432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:437,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: 439
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: pkey_get_octet_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_zalloc
    - OPENSSL_free
    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:452,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:453,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/acvp_test.c:453,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:457,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:457,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:458,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:458,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:459,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:460,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:460,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:467,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:468,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:469,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: 471
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 471
    functionName: eddsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_octet_string
    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:480,1
    - Dst: eddsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:484,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:485,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/acvp_test.c:485,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:489,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 473
    functionDepth: 9
    functionLinenumber: 473
    functionLinenumberEnd: 492
    functionName: eddsa_pub_verify_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - eddsa_create_pkey
    - TEST_true
    - TEST_int_eq
    - EVP_PKEY_public_check
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:504,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:504,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/acvp_test.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:506,1
    - Dst: pkey_get_octet_bytes
      Src: /src/openssl/test/acvp_test.c:506,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:508,1
    - Dst: pkey_get_octet_bytes
      Src: /src/openssl/test/acvp_test.c:508,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:512,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:513,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:518,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:519,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 9
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: eddsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - pkey_get_octet_bytes
    - test_output_memory
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_clear_free
    - TEST_true
    - EVP_PKEY_Q_keygen
    - TEST_int_ge
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int eddsa_keygen_test(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:533,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:533,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:534,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/acvp_test.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:535,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/acvp_test.c:535,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:536,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/test/acvp_test.c:536,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:537,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/acvp_test.c:537,1
    - Dst: TEST_info
      Src: /src/openssl/test/acvp_test.c:538,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 8
    functionLinenumber: 528
    functionLinenumberEnd: 541
    functionName: dsa_paramgen
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 1
    functionsReached:
    - TEST_info
    - TEST_ptr
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen
    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:548,1
    - Dst: dsa_paramgen
      Src: /src/openssl/test/acvp_test.c:548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:549,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:549,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:551,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:551,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:552,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:552,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:555,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 543
    functionDepth: 9
    functionLinenumber: 543
    functionLinenumberEnd: 558
    functionName: dsa_keygen
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - EVP_PKEY_keygen
    - TEST_int_gt
    - dsa_paramgen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:570,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:571,1
    - Dst: dsa_paramgen
      Src: /src/openssl/test/acvp_test.c:571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:572,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:572,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:574,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:574,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:577,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:578,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:578,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:580,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:580,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:583,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:584,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:585,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: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:594,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:595,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:596,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:597,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:598,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 560
    functionDepth: 9
    functionLinenumber: 560
    functionLinenumberEnd: 600
    functionName: dsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - test_output_memory
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_clear_free
    - TEST_skip
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - pkey_get_bn_bytes
    - dsa_paramgen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: int dsa_keygen_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:611,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:611,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:612,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/acvp_test.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:613,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/acvp_test.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:614,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/test/acvp_test.c:614,1
    - Dst: TEST_false
      Src: /src/openssl/test/acvp_test.c:619,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/acvp_test.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:622,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/acvp_test.c:622,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:623,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:623,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:625,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:625,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:627,1
    - Dst: pkey_get_octet_bytes
      Src: /src/openssl/test/acvp_test.c:627,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:630,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/acvp_test.c:630,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:634,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:635,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:636,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/acvp_test.c:637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:641,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:642,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:643,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:644,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:645,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 602
    functionDepth: 8
    functionLinenumber: 602
    functionLinenumberEnd: 647
    functionName: dsa_paramgen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - pkey_get_octet_bytes
    - TEST_false
    - TEST_ptr
    - EVP_PKEY_get_int_param
    - test_output_memory
    - OPENSSL_free
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - pkey_get_bn_bytes
    - test_printf_stderr
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: int
    signature: int dsa_paramgen_test(int id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:665,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:665,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:666,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:666,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:667,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:667,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:668,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/acvp_test.c:668,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:671,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/acvp_test.c:671,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:674,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:675,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:675,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:676,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:676,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:677,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:677,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:681,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:682,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:682,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:683,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:683,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:688,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/acvp_test.c:688,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:693,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/acvp_test.c:693,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:699,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:699,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:700,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:700,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:701,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:701,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:706,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:706,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:707,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:707,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:708,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:708,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:709,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:709,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:716,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:717,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:718,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: 720
      start: 649
    functionDepth: 6
    functionLinenumber: 649
    functionLinenumberEnd: 720
    functionName: dsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_int
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_octet_string
    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:730,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/acvp_test.c:730,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:731,1
    - Dst: dsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:731,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:737,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:739,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/acvp_test.c:739,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:744,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:745,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 722
    functionDepth: 9
    functionLinenumber: 722
    functionLinenumberEnd: 748
    functionName: dsa_pqver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - TEST_ptr
    - BN_CTX_free
    - TEST_true
    - dsa_create_pkey
    - BN_CTX_new_ex
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:759,1
    - Dst: DSA_SIG_get0
      Src: /src/openssl/test/acvp_test.c:763,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:767,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:768,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:769,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:770,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:773,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:775,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:785,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:787,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: 789
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 789
    functionName: get_dsa_sig_rs_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - DSA_SIG_get0
    - OPENSSL_zalloc
    - BN_num_bytes
    - OPENSSL_free
    - DSA_SIG_free
    - BN_bn2binpad
    - d2i_DSA_SIG
    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:800,1
    - Dst: dsa_keygen
      Src: /src/openssl/test/acvp_test.c:800,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:803,1
    - Dst: dsa_keygen
      Src: /src/openssl/test/acvp_test.c:803,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:805,1
    - Dst: sig_gen
      Src: /src/openssl/test/acvp_test.c:805,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:807,1
    - Dst: get_dsa_sig_rs_bytes
      Src: /src/openssl/test/acvp_test.c:807,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:809,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:810,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:814,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:815,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:816,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 791
    functionDepth: 9
    functionLinenumber: 791
    functionLinenumberEnd: 819
    functionName: dsa_siggen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - dsa_keygen
    - test_output_memory
    - TEST_ptr
    - sig_gen
    - OPENSSL_free
    - TEST_true
    - TEST_ptr_null
    - EVP_PKEY_free
    - get_dsa_sig_rs_bytes
    linkageType: ''
    returnType: int
    signature: int dsa_siggen_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:836,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/acvp_test.c:836,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:837,1
    - Dst: dsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:837,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:843,1
    - Dst: DSA_SIG_new
      Src: /src/openssl/test/acvp_test.c:843,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:844,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:844,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:845,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:845,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:846,1
    - Dst: DSA_SIG_set0
      Src: /src/openssl/test/acvp_test.c:846,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:850,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/acvp_test.c:850,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:851,1
    - Dst: EVP_Digest
      Src: /src/openssl/test/acvp_test.c:851,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:855,1
    - Dst: i2d_DSA_SIG
      Src: /src/openssl/test/acvp_test.c:855,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:856,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:856,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:857,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/acvp_test.c:857,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:858,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/acvp_test.c:858,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:863,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:864,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/acvp_test.c:865,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:866,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:867,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:868,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:869,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:870,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 821
    functionDepth: 10
    functionLinenumber: 821
    functionLinenumberEnd: 872
    functionName: dsa_sigver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_verify_init
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_free
    - TEST_int_gt
    - DSA_SIG_free
    - TEST_int_eq
    - EVP_Digest
    - DSA_SIG_set0
    - BN_CTX_new
    - BN_CTX_free
    - dsa_create_pkey
    - EVP_MD_fetch
    - DSA_SIG_new
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_verify
    - BN_free
    - i2d_DSA_SIG
    linkageType: ''
    returnType: int
    signature: int dsa_sigver_test(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:888,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:889,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:889,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:890,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:890,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:891,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:891,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:892,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/acvp_test.c:892,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:893,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:893,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:894,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/acvp_test.c:894,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:897,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:901,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:902,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: 904
      start: 876
    functionDepth: 5
    functionLinenumber: 876
    functionLinenumberEnd: 904
    functionName: cipher_enc
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - TEST_note
    - EVP_CipherFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    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:911,1
    - Dst: cipher_enc
      Src: /src/openssl/test/acvp_test.c:911,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:915,1
    - Dst: cipher_enc
      Src: /src/openssl/test/acvp_test.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 906
    functionDepth: 6
    functionLinenumber: 906
    functionLinenumberEnd: 919
    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:936,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:939,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:940,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:940,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:941,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:941,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:942,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:942,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:945,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:945,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:948,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:948,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:949,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/acvp_test.c:949,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:950,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:950,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:951,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:951,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:952,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:952,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:959,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/acvp_test.c:959,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:963,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:963,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:966,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:967,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:970,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:976,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:977,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: 979
      start: 921
    functionDepth: 5
    functionLinenumber: 921
    functionLinenumberEnd: 979
    functionName: aes_ccm_enc_dec
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - TEST_int_gt
    - TEST_note
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_fetch
    - TEST_int_eq
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    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:995,1
    - Dst: aes_ccm_enc_dec
      Src: /src/openssl/test/acvp_test.c:999,1
    - Dst: aes_ccm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 981
    functionDepth: 6
    functionLinenumber: 981
    functionLinenumberEnd: 1009
    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:1027,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1030,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:1030,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1031,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:1031,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1032,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:1032,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1033,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:1033,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1039,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:1039,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1049,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:1049,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1050,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/acvp_test.c:1050,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1051,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:1051,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1052,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:1052,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1055,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/acvp_test.c:1055,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1063,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1064,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:1064,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1068,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1071,1
    - Dst: EVP_CIPHER_CTX_gettable_params
      Src: /src/openssl/test/acvp_test.c:1079,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1081,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/acvp_test.c:1084,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/acvp_test.c:1086,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1088,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/acvp_test.c:1088,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/acvp_test.c:1091,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:1099,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:1100,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: 1102
      start: 1011
    functionDepth: 5
    functionLinenumber: 1011
    functionLinenumberEnd: 1102
    functionName: aes_gcm_enc_dec
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_construct_uint
    - EVP_CipherInit_ex
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    - TEST_note
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - TEST_uint_eq
    - EVP_CIPHER_CTX_gettable_params
    - EVP_CipherFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get_params
    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:1111,1
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1116,1
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1104
    functionDepth: 6
    functionLinenumber: 1104
    functionLinenumberEnd: 1127
    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:1138,1
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1129
    functionDepth: 6
    functionLinenumber: 1129
    functionLinenumberEnd: 1148
    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:1162,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:1162,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1164,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/acvp_test.c:1164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1171,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1172,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1172,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1173,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1178,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1179,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1179,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1180,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1180,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1185,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:1185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1186,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1187,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:1187,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1188,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:1188,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:1194,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:1195,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1196,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: 1198
      start: 1151
    functionDepth: 6
    functionLinenumber: 1151
    functionLinenumberEnd: 1198
    functionName: dh_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - BN_CTX_get
    - TEST_int_gt
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_utf8_string
    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:1211,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1215,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1215,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1216,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:1216,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1217,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1217,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1218,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:1218,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1219,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1219,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1221,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1221,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1225,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1226,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:1229,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1230,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1231,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1200
    functionDepth: 8
    functionLinenumber: 1200
    functionLinenumberEnd: 1234
    functionName: dh_safe_prime_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - test_output_memory
    - TEST_ptr
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - pkey_get_bn_bytes
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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:1244,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/acvp_test.c:1244,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1245,1
    - Dst: dh_create_pkey
      Src: /src/openssl/test/acvp_test.c:1245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1248,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:1248,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1249,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/acvp_test.c:1249,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1254,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1255,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1236
    functionDepth: 7
    functionLinenumber: 1236
    functionLinenumberEnd: 1258
    functionName: dh_safe_prime_keyver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_check
    - BN_CTX_free
    - TEST_true
    - BN_CTX_new_ex
    - TEST_int_eq
    - dh_create_pkey
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:1273,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:1273,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: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1281,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1281,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1282,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1287,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1288,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1288,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1289,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1293,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:1293,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1294,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1295,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:1295,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1296,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:1296,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:1302,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:1303,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1304,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: 1306
      start: 1261
    functionDepth: 6
    functionLinenumber: 1261
    functionLinenumberEnd: 1306
    functionName: rsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - OSSL_PARAM_free
    - TEST_true
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - TEST_int_eq
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/acvp_test.c:1331,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1336,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:1336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1337,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1338,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1339,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1340,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1341,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1341,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1342,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1342,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1343,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1343,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1345,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1345,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1347,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1347,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1349,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1349,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1351,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1351,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1353,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1353,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1355,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/acvp_test.c:1355,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1357,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/acvp_test.c:1357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1359,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:1359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1362,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1363,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1363,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1364,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:1364,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1365,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1365,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1366,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/test/acvp_test.c:1366,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1367,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/openssl/test/acvp_test.c:1367,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1368,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:1368,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1369,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1369,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1371,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1371,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1373,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1373,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1375,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1375,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1377,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1377,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1379,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1379,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1381,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1381,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1383,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1383,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1387,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1388,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1389,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1390,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1391,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1392,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1393,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1394,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1397,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1398,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1399,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1400,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1401,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1402,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1403,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1404,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1407,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1408,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1409,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1410,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1411,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1412,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1414,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1415,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1416,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1417,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1419,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1420,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1421,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1422,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1423,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:1424,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:1425,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 45
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1308
    functionDepth: 8
    functionLinenumber: 1308
    functionLinenumberEnd: 1427
    functionName: rsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - test_output_memory
    - OPENSSL_free
    - TEST_int_gt
    - TEST_note
    - OSSL_PARAM_BLD_new
    - fips_provider_version_lt
    - EVP_PKEY_keygen
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_BLD_push_uint32
    - pkey_get_bn_bytes
    - OSSL_PARAM_BLD_push_BN
    - BN_free
    linkageType: ''
    returnType: int
    signature: int rsa_keygen_test(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/acvp_test.c:1440,1
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:1441,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1443,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1446,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1448,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:1451,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1453,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1455,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:1455,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1456,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1456,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1457,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1457,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1458,1
    - Dst: sig_gen
      Src: /src/openssl/test/acvp_test.c:1458,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1462,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1463,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1464,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1469,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1429
    functionDepth: 9
    functionLinenumber: 1429
    functionLinenumberEnd: 1472
    functionName: rsa_siggen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - test_output_memory
    - TEST_ptr
    - sig_gen
    - OPENSSL_free
    - TEST_skip
    - TEST_true
    - strcmp
    - TEST_note
    - OSSL_PARAM_construct_end
    - EVP_PKEY_Q_keygen
    - pkey_get_bn_bytes
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int rsa_siggen_test(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1485,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1489,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1491,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:1494,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1498,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/acvp_test.c:1498,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1499,1
    - Dst: rsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:1499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1501,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/acvp_test.c:1501,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1502,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/acvp_test.c:1502,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:1505,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1506,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1506,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1507,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/acvp_test.c:1507,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:1510,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1511,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/acvp_test.c:1511,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:1512,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1517,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:1518,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/acvp_test.c:1519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1474
    functionDepth: 11
    functionLinenumber: 1474
    functionLinenumberEnd: 1521
    functionName: rsa_sigver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - rsa_create_pkey
    - TEST_ptr
    - EVP_PKEY_CTX_set_params
    - EVP_DigestVerify
    - BN_CTX_new
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_note
    - check_verify_message
    - EVP_PKEY_verify_init
    - TEST_int_eq
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int rsa_sigver_test(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1535,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:1535,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1536,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1536,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1537,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1538,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:1538,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1539,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/acvp_test.c:1539,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1540,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/acvp_test.c:1540,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1543,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1544,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/acvp_test.c:1545,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1546,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1548,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1551,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1552,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1553,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1554,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:1555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1523
    functionDepth: 9
    functionLinenumber: 1523
    functionLinenumberEnd: 1557
    functionName: rsa_decryption_primitive_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - test_output_memory
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_decrypt
    - pkey_get_bn_bytes
    - TEST_true
    - TEST_int_gt
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_decrypt_init
    - TEST_note
    - EVP_PKEY_CTX_set_rsa_padding
    - BN_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:1570,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1575,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1580,1
    - Dst: BIO_printf
      Src: /src/openssl/test/acvp_test.c:1585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - params
    - varg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1559
    functionDepth: 3
    functionLinenumber: 1559
    functionLinenumberEnd: 1589
    functionName: self_test_events
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_locate_const
    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:1603,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/acvp_test.c:1603,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1604,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/acvp_test.c:1604,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/acvp_test.c:1606,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/acvp_test.c:1609,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1610,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1611,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1611,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1615,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/acvp_test.c:1615,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1616,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/acvp_test.c:1616,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:1620,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1622,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1624,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1625,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1625,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/acvp_test.c:1629,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/acvp_test.c:1632,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1635,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1636,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1636,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1644,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/acvp_test.c:1644,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1645,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/acvp_test.c:1645,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1647,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/acvp_test.c:1647,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1651,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1654,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/acvp_test.c:1654,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1655,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/acvp_test.c:1655,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1659,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/acvp_test.c:1664,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/acvp_test.c:1667,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/acvp_test.c:1668,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1591
    functionDepth: 10
    functionLinenumber: 1591
    functionLinenumberEnd: 1670
    functionName: drbg_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_set_params
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - test_output_memory
    - TEST_mem_eq
    - EVP_RAND_CTX_new
    - EVP_RAND_generate
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_uint
    - EVP_RAND_uninstantiate
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    linkageType: ''
    returnType: int
    signature: int drbg_test(int id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1696,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:1696,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1698,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:1698,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1700,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:1700,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1702,1
    - Dst: EVP_CIPHER_CTX_settable_params
      Src: /src/openssl/test/acvp_test.c:1702,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1703,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1703,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/test/acvp_test.c:1706,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1707,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:1707,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1709,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1711,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:1715,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:1716,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1672
    functionDepth: 8
    functionLinenumber: 1672
    functionLinenumberEnd: 1718
    functionName: aes_cfb1_bits_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CIPHER_CTX_settable_params
    - TEST_int_gt
    - OSSL_PARAM_locate_const
    - TEST_int_eq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_set_flags
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: int aes_cfb1_bits_test(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/acvp_test.c:1726,1
    - Dst: opt_arg
      Src: /src/openssl/test/acvp_test.c:1729,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/acvp_test.c:1739,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/test/acvp_test.c:1742,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/acvp_test.c:1744,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1745,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1745,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1746,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1746,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1747,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1747,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1748,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/acvp_test.c:1749,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1751,1
    - Dst: fips_provider_version_lt
      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:1753,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1754,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1754,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1755,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1755,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1756,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1757,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1760,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1761,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1762,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1763,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/acvp_test.c:1767,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1768,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1768,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1769,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1769,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1770,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1770,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1771,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1771,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1772,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1772,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1776,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1777,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1777,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1778,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1778,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1779,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1779,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1780,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1780,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1781,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1782,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1786,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1787,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1787,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1788,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1788,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1791,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1791,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1720
    functionDepth: 7
    functionLinenumber: 1720
    functionLinenumberEnd: 1793
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_ALL_TESTS
    - ADD_TEST
    - opt_arg
    - OSSL_SELF_TEST_set_callback
    - OSSL_NELEM
    - opt_next
    - fips_provider_version_ge
    - fips_provider_version_lt
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/acvp_test.c:1797,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/acvp_test.c:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1795
    functionDepth: 4
    functionLinenumber: 1795
    functionLinenumberEnd: 1799
    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:
    - OPENSSL_zalloc
    - TEST_ptr
    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:57,1
    - Dst: ossl_cmp_pkisi_get0_statusString
      Src: /src/openssl/test/cmp_status_test.c:57,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/cmp_status_test.c:59,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_status_test.c:59,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_status_test.c:63,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/openssl/test/cmp_status_test.c:64,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_status_test.c:67,1
    - Dst: ossl_cmp_pkisi_check_pkifailureinfo
      Src: /src/openssl/test/cmp_status_test.c:68,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/test/cmp_status_test.c:74,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_STATUS_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: execute_PKISI_test
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_PKIStatus_to_string
    - ossl_cmp_pkisi_get_status
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_PKISI_free
    - TEST_int_eq
    - ossl_cmp_pkisi_get0_statusString
    - ossl_cmp_pkisi_check_pkifailureinfo
    - TEST_str_eq
    - strlen
    - sk_ASN1_UTF8STRING_value
    - ossl_cmp_pkisi_get_pkifailureinfo
    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:80,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_status_test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 87
    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: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    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:
    - d2i_PKCS12_bio
    - TEST_ptr
    - BIO_free
    - TEST_true
    - PKCS12_init_ex
    - BIO_new_file
    - PKCS12_free
    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
    - changepass
    - X509_free
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - TEST_ptr_null
    - STACK_OF
    - EVP_PKEY_free
    - PKCS12_free
    - PKCS12_load
    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
    - TEST_ptr
    - TEST_true
    - PKCS12_free
    - PKCS12_load
    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
    - TEST_ptr
    - X509_free
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - STACK_OF
    - EVP_PKEY_free
    - PKCS12_free
    - PKCS12_create_ex2
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_api_test.c:261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:264,1
    - Dst: PKCS12_load
      Src: /src/openssl/test/pkcs12_api_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:266,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_api_test.c:266,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:270,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/test/pkcs12_api_test.c:270,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:274,1
    - Dst: PKCS12_set_pbmac1_pbkdf2
      Src: /src/openssl/test/pkcs12_api_test.c:274,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:276,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_api_test.c:277,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:278,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 281
    functionName: test_PKCS12_set_pbmac1_pbkdf2_saltlen_zero
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_parse
    - TEST_ptr
    - X509_free
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - PKCS12_create_ex2
    - PKCS12_set_pbmac1_pbkdf2
    - STACK_OF
    - EVP_PKEY_free
    - PKCS12_free
    - PKCS12_load
    linkageType: ''
    returnType: int
    signature: int test_PKCS12_set_pbmac1_pbkdf2_saltlen_zero(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_api_test.c:289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:292,1
    - Dst: PKCS12_load
      Src: /src/openssl/test/pkcs12_api_test.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:294,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_api_test.c:294,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:296,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:298,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/test/pkcs12_api_test.c:298,1
    - Dst: TEST_false
      Src: /src/openssl/test/pkcs12_api_test.c:302,1
    - Dst: PKCS12_set_pbmac1_pbkdf2
      Src: /src/openssl/test/pkcs12_api_test.c:302,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:305,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_api_test.c:306,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:307,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: test_PKCS12_set_pbmac1_pbkdf2_invalid_saltlen
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_parse
    - TEST_false
    - TEST_ptr
    - X509_free
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - PKCS12_create_ex2
    - PKCS12_set_pbmac1_pbkdf2
    - STACK_OF
    - EVP_PKEY_free
    - PKCS12_free
    - PKCS12_load
    linkageType: ''
    returnType: int
    signature: int test_PKCS12_set_pbmac1_pbkdf2_invalid_saltlen(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/pkcs12_api_test.c:316,1
    - Dst: opt_arg
      Src: /src/openssl/test/pkcs12_api_test.c:319,1
    - Dst: opt_arg
      Src: /src/openssl/test/pkcs12_api_test.c:322,1
    - Dst: opt_int_arg
      Src: /src/openssl/test/pkcs12_api_test.c:327,1
    - Dst: opt_int_arg
      Src: /src/openssl/test/pkcs12_api_test.c:330,1
    - Dst: opt_int_arg
      Src: /src/openssl/test/pkcs12_api_test.c:333,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/pkcs12_api_test.c:342,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/pkcs12_api_test.c:343,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_api_test.c:348,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_api_test.c:349,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_api_test.c:350,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_api_test.c:351,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_api_test.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 354
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_LIB_CTX_free
    - opt_arg
    - opt_next
    - opt_int_arg
    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:358,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_api_test.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 360
    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:
    - ossl_isalnum
    - isalpha
    - isalnum
    - isascii
    - TEST_int_eq
    - ossl_isascii
    - ossl_isalpha
    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:
    - TEST_int_eq
    - ossl_toupper
    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:
    - TEST_int_eq
    - ossl_tolower
    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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:50,1
    - Dst: ASN1_LONG_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: test_long
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_LONG_DATA
    - ASN1_LONG_DATA_free
    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:76,1
    - Dst: ASN1_INT32_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    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:101,1
    - Dst: ASN1_UINT32_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: test_uint32
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_UINT32_DATA
    - ASN1_UINT32_DATA_free
    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:126,1
    - Dst: ASN1_INT64_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: test_int64
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ASN1_INT64_DATA_free
    - d2i_ASN1_INT64_DATA
    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:151,1
    - Dst: ASN1_UINT64_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    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:175,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_decode_test.c:177,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/test/asn1_decode_test.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: test_gentime
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_free
    - d2i_ASN1_GENERALIZEDTIME
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: int test_gentime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_UTCTIME
      Src: /src/openssl/test/asn1_decode_test.c:199,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_decode_test.c:201,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/openssl/test/asn1_decode_test.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 206
    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:234,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_decode_test.c:238,1
    - Dst: INVALIDTEMPLATE_free
      Src: /src/openssl/test/asn1_decode_test.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: test_invalid_template
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - INVALIDTEMPLATE_free
    - d2i_INVALIDTEMPLATE
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: int test_invalid_template(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_decode_test.c:257,1
    - Dst: ASN1_OBJECT_create
      Src: /src/openssl/test/asn1_decode_test.c:257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_decode_test.c:261,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/openssl/test/asn1_decode_test.c:261,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/asn1_decode_test.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: test_reuse_asn1_object
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_OBJECT
    - ASN1_OBJECT_create
    - TEST_ptr
    - 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:272,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:274,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:275,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:276,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:277,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:278,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 283
    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:
    - TEST_ptr
    - EVP_SIGNATURE_get0_provider
    - OSSL_PROVIDER_get0_name
    - EVP_SIGNATURE_fetch
    - TEST_info
    - TEST_ptr_eq
    - EVP_SIGNATURE_free
    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:59,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:62,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:66,1
    - Dst: fetch_sig
      Src: /src/openssl/test/provider_pkey_test.c:66,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_ptr
      Src: /src/openssl/test/provider_pkey_test.c:71,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:73,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:74,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:75,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:90,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/provider_pkey_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:99,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/provider_pkey_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:102,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/provider_pkey_test.c:102,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/provider_pkey_test.c:103,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:106,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:113,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:114,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:115,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:116,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 118
    functionName: test_pkey_sig
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_PROVIDER_unload
    - fake_rsa_start
    - TEST_true
    - fetch_sig
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_sign
    - fake_rsa_finish
    - TEST_size_t_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_sign_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:129,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:133,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:133,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:136,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/provider_pkey_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:139,1
    - Dst: EVP_PKEY_CTX_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:139,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:142,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_pkey_test.c:142,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_pkey_test.c:145,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:152,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:155,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:155,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:159,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/provider_pkey_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:162,1
    - Dst: EVP_PKEY_CTX_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:165,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_pkey_test.c:165,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_pkey_test.c:168,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:174,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:175,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:176,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 178
    functionName: test_alternative_keygen_init
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - OSSL_PROVIDER_load
    - TEST_ptr
    - fake_rsa_start
    - TEST_int_gt
    - OSSL_PROVIDER_get0_name
    - TEST_str_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_get0_provider
    - fake_rsa_finish
    - EVP_PKEY_CTX_free
    - OSSL_PROVIDER_unload
    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:190,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:193,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:197,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/provider_pkey_test.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:198,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:200,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:201,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:203,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:206,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:212,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/provider_pkey_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:213,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:215,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:215,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:216,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:218,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:221,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:223,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:227,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/provider_pkey_test.c:227,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:232,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:233,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:234,1
    - Dst: EVP_PKEY_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: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 180
    functionDepth: 6
    functionLinenumber: 180
    functionLinenumberEnd: 239
    functionName: test_pkey_eq
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - TEST_ptr
    - fake_rsa_key_params
    - EVP_PKEY_eq
    - fake_rsa_start
    - OSSL_PARAM_free
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - fake_rsa_finish
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int test_pkey_eq(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:249,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:256,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:259,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/provider_pkey_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:260,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:262,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:263,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:265,1
    - Dst: EVP_PKEY_can_sign
      Src: /src/openssl/test/provider_pkey_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:266,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:269,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:271,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:283,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/provider_pkey_test.c:283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:284,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:286,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:287,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:289,1
    - Dst: EVP_PKEY_can_sign
      Src: /src/openssl/test/provider_pkey_test.c:289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:290,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:293,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:295,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:297,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:303,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:304,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:305,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:308,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 310
    functionName: test_pkey_can_sign
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - fake_rsa_key_params
    - fake_rsa_start
    - OSSL_PARAM_free
    - TEST_true
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_can_sign
    - fake_rsa_finish
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_pkey_can_sign(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:325,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:325,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:328,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:331,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provider_pkey_test.c:331,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provider_pkey_test.c:335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:337,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:337,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/provider_pkey_test.c:341,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/provider_pkey_test.c:342,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/test/provider_pkey_test.c:344,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/openssl/test/provider_pkey_test.c:345,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/test/provider_pkey_test.c:346,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:350,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:350,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/provider_pkey_test.c:350,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: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:359,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 312
    functionDepth: 10
    functionLinenumber: 312
    functionLinenumberEnd: 361
    functionName: test_pkey_store
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_open_ex
    - OSSL_STORE_LOADER_fetch
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_close
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_STORE_load
    - fake_rsa_start
    - EVP_PKEY_is_a
    - OSSL_STORE_eof
    - TEST_int_eq
    - OSSL_STORE_INFO_get_type
    - fake_rsa_finish
    - EVP_PKEY_free
    - OSSL_STORE_INFO_free
    - OSSL_PROVIDER_unload
    - OSSL_STORE_LOADER_free
    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:375,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:375,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:378,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:381,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provider_pkey_test.c:381,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provider_pkey_test.c:385,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:388,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:388,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/provider_pkey_test.c:392,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/provider_pkey_test.c:393,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/test/provider_pkey_test.c:395,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/openssl/test/provider_pkey_test.c:396,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/test/provider_pkey_test.c:397,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:401,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:401,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/provider_pkey_test.c:401,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:403,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:406,1
    - Dst: OSSL_STORE_delete
      Src: /src/openssl/test/provider_pkey_test.c:406,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:410,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:414,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:414,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/provider_pkey_test.c:418,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/provider_pkey_test.c:419,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_pkey_test.c:420,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:427,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:428,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:429,1
    - Dst: fake_rsa_restore_store_state
      Src: /src/openssl/test/provider_pkey_test.c:430,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 363
    functionDepth: 10
    functionLinenumber: 363
    functionLinenumberEnd: 432
    functionName: test_pkey_delete
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_STORE_delete
    - fake_rsa_restore_store_state
    - TEST_ptr_null
    - OSSL_STORE_close
    - OSSL_STORE_LOADER_fetch
    - OSSL_PROVIDER_load
    - OSSL_STORE_load
    - fake_rsa_start
    - TEST_int_eq
    - OSSL_STORE_INFO_free
    - OSSL_PROVIDER_unload
    - OSSL_STORE_LOADER_free
    - OSSL_STORE_open_ex
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - OSSL_STORE_eof
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_INFO_get_type
    - fake_rsa_finish
    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:438,1
    - Dst: UI_set_result
      Src: /src/openssl/test/provider_pkey_test.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: fake_pw_read_string
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - UI_set_result
    - UI_get_string_type
    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:458,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:458,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:461,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:464,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provider_pkey_test.c:464,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provider_pkey_test.c:468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:470,1
    - Dst: UI_create_method
      Src: /src/openssl/test/provider_pkey_test.c:470,1
    - Dst: UI_method_set_reader
      Src: /src/openssl/test/provider_pkey_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:476,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:476,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:481,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_pkey_test.c:482,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:482,1
    - Dst: UI_destroy_method
      Src: /src/openssl/test/provider_pkey_test.c:490,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:491,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:492,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:493,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:494,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 10
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: test_pkey_store_open_ex
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - UI_destroy_method
    - OSSL_STORE_open_ex
    - OSSL_STORE_LOADER_fetch
    - UI_method_set_reader
    - OSSL_STORE_close
    - OSSL_PROVIDER_load
    - TEST_ptr
    - fake_rsa_start
    - UI_create_method
    - TEST_ptr_null
    - fake_rsa_finish
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - OSSL_STORE_LOADER_free
    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:503,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:505,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:510,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_pkey_test.c:510,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:511,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:512,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:512,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:513,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_pkey_test.c:513,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: 516
      start: 501
    functionDepth: 10
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: reset_ctx_providers
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - EVP_set_default_properties
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_PROVIDER_load
    - fake_rsa_start
    - OSSL_LIB_CTX_free
    - TEST_true
    - fake_rsa_finish
    - OSSL_PROVIDER_unload
    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:721,1
    - Dst: BIO_new
      Src: /src/openssl/test/provider_pkey_test.c:721,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/provider_pkey_test.c:721,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:722,1
    - Dst: BIO_write
      Src: /src/openssl/test/provider_pkey_test.c:722,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:723,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/provider_pkey_test.c:723,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/provider_pkey_test.c:724,1
    - Dst: BIO_seek
      Src: /src/openssl/test/provider_pkey_test.c:724,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:725,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/test/provider_pkey_test.c:725,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:726,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/test/provider_pkey_test.c:726,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:728,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/provider_pkey_test.c:731,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:741,1
    - Dst: reset_ctx_providers
      Src: /src/openssl/test/provider_pkey_test.c:741,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/provider_pkey_test.c:743,1
    - Dst: BIO_seek
      Src: /src/openssl/test/provider_pkey_test.c:743,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:744,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/provider_pkey_test.c:744,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:746,1
    - Dst: EVP_PKEY_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:746,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:748,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:752,1
    - Dst: reset_ctx_providers
      Src: /src/openssl/test/provider_pkey_test.c:752,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:755,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/test/provider_pkey_test.c:755,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:756,1
    - Dst: EVP_PKEY_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:756,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:758,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:762,1
    - Dst: reset_ctx_providers
      Src: /src/openssl/test/provider_pkey_test.c:762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:764,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/test/provider_pkey_test.c:764,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:765,1
    - Dst: EVP_PKEY_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:765,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:767,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/provider_pkey_test.c:774,1
    - Dst: BIO_free
      Src: /src/openssl/test/provider_pkey_test.c:775,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/provider_pkey_test.c:776,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:777,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:778,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:779,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:780,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 524
    functionDepth: 12
    functionLinenumber: 524
    functionLinenumberEnd: 782
    functionName: test_pkey_provider_decoder_props
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_seek
    - TEST_ptr_eq
    - d2i_PUBKEY_ex
    - BIO_new
    - OPENSSL_free
    - BIO_write
    - OSSL_LIB_CTX_free
    - TEST_int_gt
    - TEST_int_eq
    - PEM_read_bio_PrivateKey_ex
    - i2d_PUBKEY
    - OSSL_PROVIDER_unload
    - BIO_s_mem
    - BIO_free
    - EVP_PKEY_free
    - EVP_PKCS82PKEY_ex
    - EVP_PKEY2PKCS8
    - EVP_PKEY_get0_provider
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_int_ge
    - OSSL_NELEM
    - fake_rsa_finish
    - reset_ctx_providers
    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:786,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:790,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:791,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:792,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:793,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/provider_pkey_test.c:794,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:795,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:796,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 784
    functionDepth: 4
    functionLinenumber: 784
    functionLinenumberEnd: 800
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_LIB_CTX_new
    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:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 4
    functionLinenumber: 802
    functionLinenumberEnd: 805
    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:82,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/ssl_ctx_test.c:87,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/ssl_ctx_test.c:93,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ssl_ctx_test.c:99,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/ssl_ctx_test.c:101,1
    - Dst: SSL_new
      Src: /src/openssl/test/ssl_ctx_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:109,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:111,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:113,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:113,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:115,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:118,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:118,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:120,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:120,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:122,1
    - Dst: SSL_get_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:124,1
    - Dst: SSL_get_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:124,1
    - Dst: SSL_free
      Src: /src/openssl/test/ssl_ctx_test.c:130,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_ctx_test.c:131,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 1
    argNames:
    - idx_tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 133
    functionName: test_set_min_max_version
    functionSourceFile: /src/openssl/test/ssl_ctx_test.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - DTLS_client_method
    - SSL_new
    - SSL_get_max_proto_version
    - SSL_set_max_proto_version
    - TEST_skip
    - OSSL_QUIC_client_method
    - SSL_get_min_proto_version
    - SSL_CTX_new
    - TEST_int_eq
    - SSL_set_min_proto_version
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_free
    - SSL_CTX_get_min_proto_version
    - SSL_free
    - 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:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    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: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    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: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    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:95,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:98,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/danetest.c:98,1
    - Dst: PEM_read_bio
      Src: /src/openssl/test/danetest.c:103,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:105,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:106,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:107,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:114,1
    - Dst: d
      Src: /src/openssl/test/danetest.c:114,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/danetest.c:115,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/danetest.c:120,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/danetest.c:120,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:129,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/danetest.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:142,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/danetest.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - fp
    - nelem
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 145
    functionName: load_chain
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 1
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - sk_X509_new_null
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - strcmp
    - sk_X509_push
    - TEST_long_eq
    - STACK_OF
    - TEST_info
    - d
    - ERR_clear_error
    - PEM_read_bio
    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:152,1
    - Dst: strlen
      Src: /src/openssl/test/danetest.c:155,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:158,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:160,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:165,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: read_to_eol
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - isspace
    - _UC
    - TEST_error
    - BIO_gets
    - strlen
    linkageType: ''
    returnType: char
    signature: char *read_to_eol(BIO *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:182,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/danetest.c:182,1
    - Dst: strlen
      Src: /src/openssl/test/danetest.c:182,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:189,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:189,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/test/danetest.c:191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - in
    - result
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: hexdecode
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - isspace
    - TEST_ptr
    - OPENSSL_free
    - _UC
    - strlen
    - OPENSSL_hexchar2int
    - 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:220,1
    - Dst: strtol
      Src: /src/openssl/test/danetest.c:221,1
    - Dst: restore_errno
      Src: /src/openssl/test/danetest.c:222,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:224,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:224,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:227,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: checked_uint8
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - isspace
    - save_errno
    - restore_errno
    - _UC
    - strtol
    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:259,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:260,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/test/danetest.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:266,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:268,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ssl
    - rrdata
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 277
    functionName: tlsa_import_rr
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - struct tlsa_field*::parser
    - SSL_dane_tlsa_add
    - OPENSSL_free
    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:282,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: allws
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - isspace
    - _UC
    linkageType: ''
    returnType: int
    signature: int allws(const char *cp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read_to_eol
      Src: /src/openssl/test/danetest.c:295,1
    - Dst: STACK_OF
      Src: /src/openssl/test/danetest.c:296,1
    - Dst: sscanf
      Src: /src/openssl/test/danetest.c:312,1
    - Dst: allws
      Src: /src/openssl/test/danetest.c:315,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:320,1
    - Dst: SSL_new
      Src: /src/openssl/test/danetest.c:320,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/danetest.c:322,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/test/danetest.c:323,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:324,1
    - Dst: SSL_dane_set_flags
      Src: /src/openssl/test/danetest.c:328,1
    - Dst: read_to_eol
      Src: /src/openssl/test/danetest.c:331,1
    - Dst: tlsa_import_rr
      Src: /src/openssl/test/danetest.c:331,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:332,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/danetest.c:338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:339,1
    - Dst: load_chain
      Src: /src/openssl/test/danetest.c:339,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:340,1
    - Dst: verify_chain
      Src: /src/openssl/test/danetest.c:344,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/danetest.c:345,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/danetest.c:346,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/danetest.c:352,1
    - Dst: SSL_get0_dane_authority
      Src: /src/openssl/test/danetest.c:353,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/danetest.c:355,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:356,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/danetest.c:358,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:360,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/danetest.c:361,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:363,1
    - Dst: TEST_false
      Src: /src/openssl/test/danetest.c:367,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/danetest.c:372,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:373,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/danetest.c:377,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: 380
      start: 287
    functionDepth: 8
    functionLinenumber: 287
    functionLinenumberEnd: 380
    functionName: test_tlsafile
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - load_chain
    - TEST_error
    - SSL_set_verify_result
    - SSL_get0_dane_authority
    - ERR_clear_error
    - SSL_dane_set_flags
    - SSL_set_connect_state
    - TEST_int_eq
    - STACK_OF
    - SSL_free
    - TEST_false
    - SSL_dane_enable
    - tlsa_import_rr
    - read_to_eol
    - X509_verify_cert_error_string
    - SSL_new
    - OSSL_STACK_OF_X509_free
    - sscanf
    - SSL_get_verify_result
    - verify_chain
    - allws
    - TEST_info
    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:388,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/danetest.c:388,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:389,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/danetest.c:389,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/danetest.c:389,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:390,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/test/danetest.c:390,1
    - Dst: TEST_true
      Src: /src/openssl/test/danetest.c:391,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/test/danetest.c:391,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:392,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/openssl/test/danetest.c:392,1
    - Dst: EVP_sha512
      Src: /src/openssl/test/danetest.c:392,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:393,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/openssl/test/danetest.c:393,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/danetest.c:393,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:394,1
    - Dst: test_tlsafile
      Src: /src/openssl/test/danetest.c:394,1
    - Dst: BIO_free
      Src: /src/openssl/test/danetest.c:399,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/danetest.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 382
    functionDepth: 9
    functionLinenumber: 382
    functionLinenumberEnd: 403
    functionName: run_tlsatest
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_ptr
    - EVP_sha256
    - BIO_free
    - TEST_true
    - TEST_int_gt
    - test_tlsafile
    - SSL_CTX_new
    - EVP_sha512
    - SSL_CTX_free
    - SSL_CTX_dane_mtype_set
    - SSL_CTX_load_verify_file
    - BIO_new_file
    - SSL_CTX_dane_enable
    linkageType: ''
    returnType: int
    signature: int run_tlsatest(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/danetest.c:409,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:414,1
    - Dst: test_get_argument
      Src: /src/openssl/test/danetest.c:414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:415,1
    - Dst: test_get_argument
      Src: /src/openssl/test/danetest.c:415,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: ADD_TEST
      Src: /src/openssl/test/danetest.c:419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_set0_dane
      Src: /src/openssl/test/danetest.c:427,1
    - Dst: SSL_get0_dane
      Src: /src/openssl/test/danetest.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store_ctx
    - ssl
    argTypes:
    - X509_STORE_CTX*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: store_ctx_dane_init
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_set0_dane
    - SSL_get0_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:
    - TEST_ptr
    - BIO_new_fp
    - test_get_argument
    - BIO_free
    - X509_ACERT_free
    - TEST_int_eq
    - BIO_new_file
    - X509_ACERT_print
    - PEM_read_bio_X509_ACERT
    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:68,1
    - Dst: X509_ACERT_verify
      Src: /src/openssl/test/x509_acert_test.c:68,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_acert_test.c:74,1
    - Dst: X509_ACERT_free
      Src: /src/openssl/test/x509_acert_test.c:75,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_acert_test.c:76,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: test_acert_sign
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - X509_ACERT_sign
    - EVP_sha256
    - test_get_argument
    - X509_ACERT_verify
    - BIO_free
    - X509_ACERT_free
    - TEST_int_gt
    - EVP_RSA_gen
    - TEST_int_eq
    - EVP_PKEY_free
    - BIO_new_file
    - PEM_read_bio_X509_ACERT
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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:127,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/x509_acert_test.c:127,1
    - Dst: d2i_OSSL_IETF_ATTR_SYNTAX
      Src: /src/openssl/test/x509_acert_test.c:132,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:134,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_acert_test.c:135,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_acert_test.c:139,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_print
      Src: /src/openssl/test/x509_acert_test.c:139,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_free
      Src: /src/openssl/test/x509_acert_test.c:140,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_free
      Src: /src/openssl/test/x509_acert_test.c:147,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_acert_test.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: test_object_group_attr
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_new_fp
    - d2i_OSSL_IETF_ATTR_SYNTAX
    - BIO_free
    - OSSL_IETF_ATTR_SYNTAX_free
    - TEST_int_eq
    - TEST_ptr_null
    - OSSL_IETF_ATTR_SYNTAX_print
    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:157,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_acert_test.c:158,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509_acert_test.c:162,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_acert_test.c:164,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_acert_test.c:168,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_acert_test.c:169,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_acert_test.c:170,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_acert_test.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - test_get_argument_count
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:28,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/test/provider_internal_test.c:28,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:29,1
    - Dst: ossl_provider_get_params
      Src: /src/openssl/test/provider_internal_test.c:29,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:30,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/provider_internal_test.c:31,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_internal_test.c:32,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:33,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/test/provider_internal_test.c:33,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_internal_test.c:35,1
    - Dst: ossl_provider_free
      Src: /src/openssl/test/provider_internal_test.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - prov
    - expected_greeting
    argTypes:
    - OSSL_PROVIDER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: test_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 5
    functionsReached:
    - TEST_ptr
    - ossl_provider_activate
    - TEST_true
    - ossl_provider_free
    - ossl_provider_deactivate
    - ossl_provider_get_params
    - TEST_str_eq
    - TEST_size_t_gt
    - TEST_info
    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:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    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:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:64,1
    - Dst: ossl_provider_new
      Src: /src/openssl/test/provider_internal_test.c:64,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_internal_test.c:65,1
    - Dst: expected_greeting1
      Src: /src/openssl/test/provider_internal_test.c:65,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_internal_test.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 10
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: test_builtin_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - EVP_set_default_properties
    - TEST_ptr
    - ossl_provider_new
    - 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:78,1
    - Dst: ossl_provider_new
      Src: /src/openssl/test/provider_internal_test.c:78,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_internal_test.c:79,1
    - Dst: expected_greeting1
      Src: /src/openssl/test/provider_internal_test.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 7
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: test_loaded_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - expected_greeting1
    - TEST_ptr
    - 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:90,1
    - Dst: ossl_provider_find
      Src: /src/openssl/test/provider_internal_test.c:90,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_internal_test.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 7
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: test_configured_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - ossl_provider_find
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_configured_provider(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:103,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_internal_test.c:103,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:104,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_internal_test.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:105,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_internal_test.c:105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:106,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/provider_internal_test.c:106,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/provider_internal_test.c:108,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_internal_test.c:110,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_internal_test.c:113,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_internal_test.c:113,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_internal_test.c:116,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/provider_internal_test.c:116,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_internal_test.c:117,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/test/provider_internal_test.c:117,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_internal_test.c:119,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_internal_test.c:120,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_internal_test.c:122,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_internal_test.c:127,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/provider_internal_test.c:128,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_internal_test.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 10
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: test_cache_flushes
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - OSSL_PROVIDER_available
    - TEST_false
    - EVP_MD_get0_provider
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - OSSL_PROVIDER_get0_name
    - TEST_ptr_null
    - EVP_MD_free
    - TEST_info
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: int
    signature: int test_cache_flushes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:135,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:137,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:139,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    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_start
    - ERR_PACK
    - c_vset_error
    - c_set_error_debug
    - va_end
    - c_new_error
    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:
    - p_set_error
    - EVP_set_default_properties
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_available
    - EVP_DigestFinal
    - strcmp
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - strcpy
    - c_get_params
    - EVP_MD_CTX_new
    - strlen
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - OSSL_PROVIDER_unload
    - 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:
    - p_set_error
    - OSSL_FUNC_core_vset_error
    - p_teardown
    - OSSL_FUNC_BIO_vsnprintf
    - strdup
    - OSSL_FUNC_core_get_params
    - OSSL_LIB_CTX_new_child
    - EVP_MD_fetch
    - OSSL_FUNC_core_new_error
    - EVP_MD_free
    - OSSL_FUNC_core_set_error_debug
    - malloc
    - 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
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_read
    - BIO_free
    - TEST_int_eq
    - BIO_set_mem_buf
    - BIO_s_mem
    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_puts
    - BIO_get_mem_ptr
    - BIO_set_close
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_free
    - BUF_MEM_free
    - TEST_int_gt
    - TEST_int_eq
    - BIO_s_mem
    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_get_mem_ptr
    - TEST_int_lt
    - TEST_ptr
    - TEST_mem_eq
    - BIO_read
    - BIO_write
    - BIO_free
    - BIO_new_mem_buf
    - TEST_int_gt
    - TEST_int_eq
    - BIO_reset
    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_get_mem_ptr
    - BIO_set_flags
    - BIO_set_close
    - TEST_ptr
    - TEST_mem_eq
    - BIO_new
    - BIO_read
    - BIO_free
    - BIO_new_mem_buf
    - TEST_int_gt
    - TEST_int_eq
    - BIO_reset
    - BIO_set_mem_buf
    - BIO_s_mem
    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_puts
    - BIO_set_flags
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_read
    - BIO_free
    - TEST_int_gt
    - TEST_int_eq
    - BIO_reset
    - BIO_clear_flags
    - BIO_s_mem
    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_puts
    - BIO_set_flags
    - TEST_int_lt
    - TEST_ptr
    - BIO_new
    - TEST_mem_eq
    - BIO_read
    - BIO_free
    - TEST_int_gt
    - TEST_int_eq
    - BIO_reset
    - BIO_clear_flags
    - BIO_s_mem
    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:
    - PKCS7_set_type
    - BIO_set_flags
    - TEST_false
    - TEST_ptr
    - BIO_new
    - BIO_free
    - PKCS7_new
    - BIO_set_callback_ex
    - TEST_true
    - TEST_int_eq
    - BIO_set_mem_buf
    - ASN1_ITEM_rptr
    - PKCS7_free
    - i2d_ASN1_bio_stream
    - BIO_s_mem
    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_default_properties_is_fips_enabled
    - TEST_ptr
    - OSSL_PROVIDER_available
    - EVP_MD_get0_provider
    - EVP_MD_fetch
    - OSSL_PROVIDER_get0_name
    - TEST_int_eq
    - TEST_ptr_null
    - EVP_MD_free
    - TEST_str_eq
    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:
    - test_get_argument
    - ADD_TEST
    - strcmp
    - test_get_argument_count
    - TEST_error
    - test_skip_common_options
    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: 87
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 87
    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: 124
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 124
    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: 188
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 188
    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:194,1
    - Dst: key1
      Src: /src/openssl/test/rsa_test.c:198,1
    - Dst: key2
      Src: /src/openssl/test/rsa_test.c:201,1
    - Dst: key3
      Src: /src/openssl/test/rsa_test.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - ctext
    - idx
    argTypes:
    - RSA**
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: rsa_setkey
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - RSA_new
    - key3
    - key1
    - 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:224,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/test/rsa_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_test.c:229,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:232,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rsa_test.c:234,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rsa_test.c:234,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/rsa_test.c:237,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:247,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: 249
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 249
    functionName: test_rsa_simple
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_lt
    - TEST_mem_eq
    - TEST_int_gt
    - RSA_public_encrypt
    - RSA_free
    - TEST_int_eq
    - rsa_setkey
    - RSA_private_decrypt
    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:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 255
    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:269,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:276,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rsa_test.c:278,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:284,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_test.c:286,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:293,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_test.c:295,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 303
    functionName: test_rsa_oaep
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_int_le
    - RSA_free
    - test_rsa_simple
    - RSA_private_decrypt
    linkageType: ''
    returnType: int
    signature: int test_rsa_oaep(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:345,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_test.c:345,1
    - Dst: memset
      Src: /src/openssl/test/rsa_test.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:361,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_test.c:361,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:361,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:362,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/rsa_test.c:363,1
    - Dst: RSA_security_bits
      Src: /src/openssl/test/rsa_test.c:363,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 368
    functionName: test_rsa_security_bit
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_uint_eq
    - TEST_ptr
    - TEST_int_le
    - RSA_new
    - TEST_true
    - RSA_free
    - memset
    - RSA_set0_key
    - RSA_security_bits
    linkageType: ''
    returnType: int
    signature: int test_rsa_security_bit(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/rsa_test.c:467,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:469,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:470,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:470,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:471,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:472,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:473,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:474,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:474,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:475,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/rsa_test.c:475,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:476,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/rsa_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:477,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/rsa_test.c:477,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:478,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_test.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:479,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_test.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:480,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/rsa_test.c:480,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:481,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/rsa_test.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:482,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/rsa_test.c:482,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/rsa_test.c:484,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/rsa_test.c:485,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 370
    functionDepth: 8
    functionLinenumber: 370
    functionLinenumberEnd: 487
    functionName: test_EVP_rsa_legacy_key
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - EVP_PKEY_assign_RSA
    - EVP_DigestSignInit
    - TEST_ptr
    - EVP_sha256
    - RSA_new
    - TEST_true
    - RSA_set0_factors
    - EVP_DigestSign
    - memset
    - RSA_set0_key
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_new
    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:539,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:539,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:541,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:542,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:544,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:545,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_test.c:548,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_test.c:549,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_test.c:550,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_test.c:551,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:552,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - priv
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 556
    functionName: load_key
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 2
    functionsReached:
    - BN_bin2bn
    - TEST_false
    - TEST_ptr
    - RSA_new
    - RSA_free
    - BN_free
    - RSA_set0_key
    linkageType: ''
    returnType: RSA
    signature: RSA *load_key(int priv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:639,1
    - Dst: load_key
      Src: /src/openssl/test/rsa_test.c:639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:641,1
    - Dst: load_key
      Src: /src/openssl/test/rsa_test.c:641,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/rsa_test.c:643,1
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_test.c:643,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:647,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:647,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:650,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:650,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:654,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:654,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:659,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:659,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:664,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:664,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:668,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:668,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:674,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:674,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:681,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:681,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:687,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:688,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 690
    functionName: test_rsa_saos
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - RSA_verify_ASN1_OCTET_STRING
    - TEST_false
    - TEST_ptr
    - RSA_size
    - load_key
    - TEST_true
    - RSA_sign_ASN1_OCTET_STRING
    - RSA_free
    - TEST_int_ge
    linkageType: ''
    returnType: int
    signature: int test_rsa_saos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_test.c:694,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_test.c:695,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_test.c:696,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rsa_test.c:696,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_test.c:697,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_test.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 700
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_srt_gen_test.c:51,1
    - Dst: ossl_quic_srt_gen_new
      Src: /src/openssl/test/quic_srt_gen_test.c:51,1
    - Dst: memset
      Src: /src/openssl/test/quic_srt_gen_test.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srt_gen_test.c:58,1
    - Dst: ossl_quic_srt_gen_calculate_token
      Src: /src/openssl/test/quic_srt_gen_test.c:58,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_srt_gen_test.c:62,1
    - Dst: ossl_quic_srt_gen_free
      Src: /src/openssl/test/quic_srt_gen_test.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 71
    functionName: test_srt_gen
    functionSourceFile: /src/openssl/test/quic_srt_gen_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - ossl_quic_srt_gen_free
    - memset
    - ossl_quic_srt_gen_calculate_token
    - ossl_quic_srt_gen_new
    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:75,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_srt_gen_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/quic_srt_gen_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_internal_test.c:38,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_internal_test.c:45,1
    - Dst: TEST_note
      Src: /src/openssl/test/x509_internal_test.c:47,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/x509_internal_test.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 6
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: test_standard_exts
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - TEST_note
    - OSSL_NELEM
    - 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
    - TEST_mem_eq
    - TEST_note
    - ASN1_STRING_length
    - TEST_int_eq
    - TEST_ptr_null
    - ASN1_STRING_get0_data
    - a2i_IPADDRESS
    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_ptr
    - X509_PURPOSE_get0_name
    - X509_PURPOSE_get_trust
    - X509_PURPOSE_add
    - X509_PURPOSE_get_count
    - X509_PURPOSE_set
    - TEST_int_gt
    - TEST_int_eq
    - X509_PURPOSE_get_unused_id
    - X509_PURPOSE_get_by_sname
    - TEST_str_eq
    - X509_PURPOSE_get0_sname
    - TEST_int_ne
    - X509_PURPOSE_get_by_id
    - X509_PURPOSE_get_id
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/openssl/test/x509_internal_test.c:290,1
    - Dst: ossl_x509_verify_param_set_time_posix
      Src: /src/openssl/test/x509_internal_test.c:291,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/test/x509_internal_test.c:292,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:293,1
    - Dst: ossl_x509_check_crl_time
      Src: /src/openssl/test/x509_internal_test.c:301,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:302,1
    - Dst: X509_check_certificate_times
      Src: /src/openssl/test/x509_internal_test.c:311,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:312,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 8
    argNames:
    - ctx
    - x509
    - crl
    - test_time
    - notBefore
    - notAfter
    - file
    - line
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - X509_CRL*
    - int64_t
    - int64_t
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 331
    functionName: test_a_time
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_check_certificate_times
    - ossl_x509_check_crl_time
    - ossl_x509_check_cert_time
    - TEST_info
    - X509_STORE_CTX_get0_param
    - ossl_x509_verify_param_set_time_posix
    linkageType: ''
    returnType: int
    signature: "int test_a_time(X509_STORE_CTX *ctx, X509 *x509,\n    X509_CRL *crl,\n
      \   const int64_t test_time,\n    int64_t notBefore, int64_t notAfter,\n    const
      char *file, const int line)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:344,1
    - Dst: X509_new
      Src: /src/openssl/test/x509_internal_test.c:344,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:345,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:348,1
    - Dst: X509_CRL_new
      Src: /src/openssl/test/x509_internal_test.c:348,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:352,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/x509_internal_test.c:352,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:353,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/x509_internal_test.c:356,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:357,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_internal_test.c:357,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:358,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/test/x509_internal_test.c:361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:362,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/x509_internal_test.c:362,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:366,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/x509_internal_test.c:366,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:374,1
    - Dst: ossl_posix_to_asn1_time
      Src: /src/openssl/test/x509_internal_test.c:374,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:378,1
    - Dst: ossl_posix_to_asn1_time
      Src: /src/openssl/test/x509_internal_test.c:378,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:379,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:384,1
    - Dst: X509_set1_notBefore
      Src: /src/openssl/test/x509_internal_test.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:387,1
    - Dst: X509_set1_notAfter
      Src: /src/openssl/test/x509_internal_test.c:387,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_internal_test.c:388,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:391,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/openssl/test/x509_internal_test.c:391,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:394,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/openssl/test/x509_internal_test.c:394,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:399,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:403,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:407,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:412,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:416,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:420,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:424,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:428,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:432,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:436,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:440,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:444,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:449,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:453,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:457,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:461,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:465,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:469,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:473,1
    - Dst: test_a_time
      Src: /src/openssl/test/x509_internal_test.c:477,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/x509_internal_test.c:485,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:486,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/x509_internal_test.c:487,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:488,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:489,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 105
    argCount: 2
    argNames:
    - tests
    - ntests
    argTypes:
    - CERT_TEST_DATA*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 333
    functionDepth: 6
    functionLinenumber: 333
    functionLinenumberEnd: 491
    functionName: do_x509_time_tests
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - test_a_time
    - X509_STORE_CTX_set0_param
    - X509_VERIFY_PARAM_new
    - X509_CRL_new
    - ASN1_STRING_free
    - X509_CRL_set1_nextUpdate
    - X509_set1_notAfter
    - X509_STORE_CTX_new
    - X509_CRL_set1_lastUpdate
    - X509_set1_notBefore
    - X509_new
    - X509_CRL_free
    - ossl_posix_to_asn1_time
    - ASN1_TIME_new
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int do_x509_time_tests(CERT_TEST_DATA *tests, size_t ntests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_time_tests
      Src: /src/openssl/test/x509_internal_test.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 7
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: tests_X509_check_time
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - do_x509_time_tests
    linkageType: ''
    returnType: int
    signature: int tests_X509_check_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:520,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:520,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_internal_test.c:521,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/test/x509_internal_test.c:521,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/x509_internal_test.c:522,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_internal_test.c:524,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 527
    functionName: tests_X509_check_crypto
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - TEST_ptr
    - X509_free
    - TEST_err_r
    - TEST_ptr_null
    - EVP_PKEY_free
    - X509_get_pubkey
    linkageType: ''
    returnType: int
    signature: int tests_X509_check_crypto(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_internal_test.c:558,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:561,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:561,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_internal_test.c:562,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/test/x509_internal_test.c:562,1
    - Dst: TEST_err_r
      Src: /src/openssl/test/x509_internal_test.c:563,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/test/x509_internal_test.c:565,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: tests_x509_check_dpn
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - X509_get_ext_d2i
    - sk_DIST_POINT_pop_free
    - TEST_ptr
    - X509_free
    - TEST_err_r
    - TEST_ptr_null
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int tests_x509_check_dpn(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_internal_test.c:651,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:654,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/x509_internal_test.c:654,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:655,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_internal_test.c:655,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:656,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_internal_test.c:656,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:657,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/x509_internal_test.c:657,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:658,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:658,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:659,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:659,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:660,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/x509_internal_test.c:660,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:664,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/x509_internal_test.c:664,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/x509_internal_test.c:668,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/test/x509_internal_test.c:669,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/x509_internal_test.c:670,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/x509_internal_test.c:671,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/test/x509_internal_test.c:672,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/x509_internal_test.c:674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:676,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/x509_internal_test.c:676,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:677,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/x509_internal_test.c:677,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_internal_test.c:681,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/x509_internal_test.c:682,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/x509_internal_test.c:683,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_internal_test.c:684,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:685,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:686,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 645
    functionDepth: 5
    functionLinenumber: 645
    functionLinenumberEnd: 689
    functionName: tests_x509_check_akid
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_push
    - X509_STORE_CTX_set0_param
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ERR_clear_error
    - X509_VERIFY_PARAM_set_flags
    - TEST_int_eq
    - STACK_OF
    - X509_STORE_free
    - X509_STORE_CTX_new
    - sk_X509_new_null
    - X509_verify_cert
    - X509_VERIFY_PARAM_set_depth
    - X509_VERIFY_PARAM_set_time
    - X509_from_strings
    - X509_STORE_CTX_set0_trusted_stack
    - OSSL_STACK_OF_X509_free
    - X509_STORE_new
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int tests_x509_check_akid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_internal_test.c:756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:760,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/x509_internal_test.c:760,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:761,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_internal_test.c:761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:762,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_internal_test.c:762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:763,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/x509_internal_test.c:763,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:764,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:765,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:765,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:766,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/x509_internal_test.c:766,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:770,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/x509_internal_test.c:770,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/x509_internal_test.c:774,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/test/x509_internal_test.c:775,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/x509_internal_test.c:776,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/test/x509_internal_test.c:777,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/x509_internal_test.c:779,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:781,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/x509_internal_test.c:781,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:782,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/x509_internal_test.c:782,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_internal_test.c:786,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/x509_internal_test.c:787,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/x509_internal_test.c:788,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_internal_test.c:789,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:790,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:791,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 750
    functionDepth: 5
    functionLinenumber: 750
    functionLinenumberEnd: 794
    functionName: tests_x509_check_ext_duplicity
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_push
    - X509_STORE_CTX_set0_param
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ERR_clear_error
    - TEST_int_eq
    - STACK_OF
    - X509_STORE_free
    - X509_STORE_CTX_new
    - sk_X509_new_null
    - X509_verify_cert
    - X509_VERIFY_PARAM_set_depth
    - X509_VERIFY_PARAM_set_time
    - X509_from_strings
    - X509_STORE_CTX_set0_trusted_stack
    - OSSL_STACK_OF_X509_free
    - X509_STORE_new
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int tests_x509_check_ext_duplicity(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_internal_test.c:806,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:815,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/x509_internal_test.c:815,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:816,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_internal_test.c:816,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:817,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_internal_test.c:817,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:818,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/x509_internal_test.c:818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:819,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:819,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:820,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:820,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:821,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/x509_internal_test.c:821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:822,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/x509_internal_test.c:822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:823,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/x509_internal_test.c:823,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:824,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/x509_internal_test.c:824,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:825,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/test/x509_internal_test.c:825,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:826,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_internal_test.c:826,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:827,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/x509_internal_test.c:827,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:828,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/x509_internal_test.c:828,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:829,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/x509_internal_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:830,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/test/x509_internal_test.c:830,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:831,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_internal_test.c:831,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:835,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/x509_internal_test.c:835,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/x509_internal_test.c:839,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/test/x509_internal_test.c:840,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/x509_internal_test.c:841,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/test/x509_internal_test.c:842,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/x509_internal_test.c:844,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:846,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/x509_internal_test.c:846,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:847,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/x509_internal_test.c:847,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/x509_internal_test.c:851,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:852,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_internal_test.c:853,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/x509_internal_test.c:854,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:855,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_internal_test.c:856,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_internal_test.c:857,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/x509_internal_test.c:858,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/x509_internal_test.c:859,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_internal_test.c:860,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:861,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:862,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 800
    functionDepth: 7
    functionLinenumber: 800
    functionLinenumberEnd: 865
    functionName: tests_x509_check_ext_duplicity_nid_undef
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_push
    - X509_STORE_CTX_set0_param
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ERR_clear_error
    - ASN1_OCTET_STRING_free
    - X509_add_ext
    - TEST_int_eq
    - STACK_OF
    - ASN1_OBJECT_free
    - X509_STORE_free
    - ASN1_OCTET_STRING_set
    - X509_STORE_CTX_new
    - sk_X509_new_null
    - OBJ_txt2obj
    - X509_verify_cert
    - X509_VERIFY_PARAM_set_depth
    - ASN1_OCTET_STRING_new
    - X509_EXTENSION_free
    - X509_VERIFY_PARAM_set_time
    - X509_from_strings
    - X509_STORE_CTX_set0_trusted_stack
    - X509_EXTENSION_create_by_OBJ
    - OSSL_STACK_OF_X509_free
    - X509_STORE_new
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int tests_x509_check_ext_duplicity_nid_undef(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_internal_test.c:877,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:889,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/x509_internal_test.c:889,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:890,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_internal_test.c:890,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:891,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_internal_test.c:891,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:892,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/x509_internal_test.c:892,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:893,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:893,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:894,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_internal_test.c:894,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:895,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/x509_internal_test.c:895,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:896,1
    - Dst: OBJ_create
      Src: /src/openssl/test/x509_internal_test.c:896,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:897,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/x509_internal_test.c:897,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:898,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/x509_internal_test.c:898,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:899,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/x509_internal_test.c:899,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:900,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/test/x509_internal_test.c:900,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:901,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_internal_test.c:901,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:902,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/x509_internal_test.c:902,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:903,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/x509_internal_test.c:903,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:904,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/x509_internal_test.c:904,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:905,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/test/x509_internal_test.c:905,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:906,1
    - Dst: X509_add_ext
      Src: /src/openssl/test/x509_internal_test.c:906,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_internal_test.c:910,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/x509_internal_test.c:910,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/x509_internal_test.c:914,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/test/x509_internal_test.c:915,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/x509_internal_test.c:916,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/test/x509_internal_test.c:917,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/x509_internal_test.c:919,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:921,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/x509_internal_test.c:921,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:922,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/x509_internal_test.c:922,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/x509_internal_test.c:926,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:927,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_internal_test.c:928,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/x509_internal_test.c:929,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:930,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/x509_internal_test.c:931,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_internal_test.c:932,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/x509_internal_test.c:933,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/x509_internal_test.c:934,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_internal_test.c:935,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:936,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_internal_test.c:937,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 871
    functionDepth: 8
    functionLinenumber: 871
    functionLinenumberEnd: 940
    functionName: tests_x509_check_ext_duplicity_nid_dynamic
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_push
    - X509_STORE_CTX_set0_param
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ERR_clear_error
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - X509_add_ext
    - TEST_int_eq
    - STACK_OF
    - ASN1_OBJECT_free
    - X509_STORE_free
    - ASN1_OCTET_STRING_set
    - X509_STORE_CTX_new
    - sk_X509_new_null
    - X509_verify_cert
    - X509_VERIFY_PARAM_set_depth
    - ASN1_OCTET_STRING_new
    - X509_EXTENSION_free
    - X509_VERIFY_PARAM_set_time
    - X509_from_strings
    - X509_STORE_CTX_set0_trusted_stack
    - X509_EXTENSION_create_by_OBJ
    - OSSL_STACK_OF_X509_free
    - OBJ_create
    - X509_STORE_new
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: int tests_x509_check_ext_duplicity_nid_dynamic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:944,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_internal_test.c:945,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_internal_test.c:945,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:946,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:947,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:948,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:949,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:950,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:951,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:952,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 956
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:
    - tls13_hkdf_expand
    - TEST_mem_eq
    - tls13_derive_key
    - TEST_error
    - ssl_handshake_hash
    - ssl_handshake_md
    - tls13_derive_iv
    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_SESSION_new
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - tls13_generate_secret
    - SSL_CTX_free
    - tls13_generate_master_secret
    - ssl_handshake_md
    - SSL_free
    - TLS_method
    - tls13_generate_handshake_secret
    - SSL_new
    - EVP_MD_get_size
    - test_secret
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_CTX_new
    - TEST_size_t_eq
    - strlen
    - TEST_info
    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_set0_default
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    - ASYNC_pause_job
    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:85,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/openssl/test/asynctest.c:88,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:93,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/openssl/test/asynctest.c:96,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:98,1
    - Dst: ASYNC_WAIT_CTX_clear_fd
      Src: /src/openssl/test/asynctest.c:101,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:103,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/openssl/test/asynctest.c:106,1
    - Dst: ASYNC_WAIT_CTX_clear_fd
      Src: /src/openssl/test/asynctest.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: waitfd
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_wait_fd
    - ASYNC_WAIT_CTX_clear_fd
    - ASYNC_pause_job
    - ASYNC_get_current_job
    - ASYNC_get_wait_ctx
    linkageType: ''
    returnType: int
    signature: int waitfd(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_block_pause
      Src: /src/openssl/test/asynctest.c:116,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:117,1
    - Dst: ASYNC_unblock_pause
      Src: /src/openssl/test/asynctest.c:118,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: blockpause
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_block_pause
    - ASYNC_pause_job
    - ASYNC_unblock_pause
    linkageType: ''
    returnType: int
    signature: int blockpause(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:130,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:131,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:132,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:134,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:136,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:138,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:140,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:142,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:144,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:149,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:150,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:151,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:155,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:156,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 158
    functionName: test_ASYNC_init_thread
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_init_thread(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/asynctest.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    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:174,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:175,1
    - Dst: ASYNC_WAIT_CTX_set_callback
      Src: /src/openssl/test/asynctest.c:176,1
    - Dst: ASYNC_WAIT_CTX_get_callback
      Src: /src/openssl/test/asynctest.c:178,1
    - Dst: ASYNC_WAIT_CTX_set_status
      Src: /src/openssl/test/asynctest.c:183,1
    - Dst: ASYNC_WAIT_CTX_get_status
      Src: /src/openssl/test/asynctest.c:184,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:185,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:186,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:187,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:191,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionName: test_ASYNC_callback_status
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_get_callback
    - ASYNC_WAIT_CTX_set_callback
    - ASYNC_WAIT_CTX_get_status
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_set_status
    - ASYNC_init_thread
    - 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:204,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:205,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:206,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:209,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:213,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:214,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:215,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:219,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 196
    functionDepth: 6
    functionLinenumber: 196
    functionLinenumberEnd: 222
    functionName: test_ASYNC_start_job
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_start_job(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:232,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:233,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:234,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:237,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:240,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:241,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:242,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:246,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 224
    functionDepth: 6
    functionLinenumber: 224
    functionLinenumberEnd: 249
    functionName: test_ASYNC_get_current_job
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    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:259,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:260,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:262,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:264,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:266,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:271,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      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_changed_fds
      Src: /src/openssl/test/asynctest.c:278,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:282,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:286,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:288,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:290,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:294,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:298,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:300,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:302,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:307,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:308,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:309,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:313,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:314,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 316
    functionName: test_ASYNC_WAIT_CTX_get_all_fds
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_get_all_fds
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_get_changed_fds
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    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:324,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:325,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:326,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:328,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:331,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:332,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:333,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:337,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 318
    functionDepth: 6
    functionLinenumber: 318
    functionLinenumberEnd: 340
    functionName: test_ASYNC_block_pause
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - fprintf
    - ASYNC_WAIT_CTX_free
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    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:347,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:352,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:357,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:359,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:360,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:363,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:369,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:370,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:372,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:377,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:379,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:385,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:387,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:392,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:395,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:401,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:402,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:404,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:411,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:412,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/asynctest.c:413,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 342
    functionDepth: 6
    functionLinenumber: 342
    functionLinenumberEnd: 415
    functionName: test_ASYNC_start_job_ex
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - OSSL_LIB_CTX_new
    - fprintf
    - OSSL_LIB_CTX_free
    - ASYNC_WAIT_CTX_free
    - OSSL_LIB_CTX_set0_default
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_start_job_ex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/asynctest.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    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:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    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:435,1
    - Dst: ASYNC_get_mem_functions
      Src: /src/openssl/test/asynctest.c:438,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:441,1
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:446,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:447,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:451,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 461
    functionName: test_ASYNC_set_mem_functions
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_cleanup_thread
    - ASYNC_get_mem_functions
    - fprintf
    - ASYNC_init_thread
    - ASYNC_set_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:465,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:466,1
    - Dst: test_ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:469,1
    - Dst: test_ASYNC_callback_status
      Src: /src/openssl/test/asynctest.c:470,1
    - Dst: test_ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:471,1
    - Dst: test_ASYNC_get_current_job
      Src: /src/openssl/test/asynctest.c:472,1
    - Dst: test_ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:473,1
    - Dst: test_ASYNC_block_pause
      Src: /src/openssl/test/asynctest.c:474,1
    - Dst: test_ASYNC_start_job_ex
      Src: /src/openssl/test/asynctest.c:475,1
    - Dst: test_ASYNC_set_mem_functions
      Src: /src/openssl/test/asynctest.c:476,1
    - Dst: printf
      Src: /src/openssl/test/asynctest.c:480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 463
    functionDepth: 7
    functionLinenumber: 463
    functionLinenumberEnd: 482
    functionName: main
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 5
    functionsReached:
    - test_ASYNC_WAIT_CTX_get_all_fds
    - printf
    - fprintf
    - test_ASYNC_callback_status
    - test_ASYNC_block_pause
    - test_ASYNC_init_thread
    - ASYNC_is_capable
    - test_ASYNC_start_job
    - test_ASYNC_set_mem_functions
    - test_ASYNC_get_current_job
    - test_ASYNC_start_job_ex
    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: 292
    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_lt
    - TEST_int_le
    - TEST
    - TEST_int_gt
    - TEST_int_eq
    - TEST_int_ge
    - TEST_int_ne
    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_gt
    - TEST_uint_ne
    - TEST_uint_eq
    - TEST_uint_le
    - TEST
    - TEST_uint_ge
    - TEST_uint_lt
    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
    - TEST_char_le
    - TEST_char_ne
    - TEST_char_ge
    - TEST_char_lt
    - TEST_char_gt
    - 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_lt
    - TEST
    - TEST_uchar_gt
    - TEST_uchar_eq
    - TEST_uchar_le
    - TEST_uchar_ge
    - 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_gt
    - TEST_long_ne
    - TEST_long_lt
    - TEST
    - TEST_long_eq
    - TEST_long_le
    - TEST_long_ge
    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_ge
    - TEST
    - TEST_ulong_lt
    - TEST_ulong_eq
    - TEST_ulong_le
    - TEST_ulong_ne
    - TEST_ulong_gt
    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_lt
    - TEST_size_t_le
    - TEST_size_t_ge
    - TEST
    - TEST_size_t_ne
    - TEST_size_t_eq
    - TEST_size_t_gt
    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
    - TEST_time_t_le
    - TEST_time_t_lt
    - TEST_time_t_eq
    - TEST_time_t_ne
    - TEST_time_t_gt
    - TEST_time_t_ge
    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
    - TEST
    - TEST_ptr_null
    - TEST_ptr_eq
    - TEST_ptr_ne
    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_ne
    - TEST
    - TEST_str_eq
    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:
    - strlen
    - TEST
    - 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_ne_zero
    - TEST_BN_lt_zero
    - TEST_BN_eq_one
    - TEST_BN_le_zero
    - TEST
    - TEST_BN_ge_zero
    - TEST_BN_le
    - TEST_BN_eq_word
    - TEST_int_eq
    - TEST_BN_eq_zero
    - BN_dec2bn
    - TEST_BN_even
    - TEST_BN_gt_zero
    - TEST_BN_lt
    - TEST_BN_ne
    - TEST_BN_gt
    - TEST_BN_eq
    - TEST_BN_abs_eq_word
    - TEST_BN_odd
    - BN_free
    - TEST_BN_ge
    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:
    - strlen
    - TEST
    - TEST_mem_eq
    - TEST_str_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
    - TEST
    - TEST_true
    - BN_hex2bn
    - BN_free
    - TEST_BN_ne
    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_ptr
    - TEST_mem_eq
    - TEST_long_ne
    - TEST_ptr_null
    - TEST_str_eq
    - TEST_ptr_eq
    - TEST_long_lt
    - TEST_int_le
    - TEST_int_gt
    - TEST_char_lt
    - TEST_ulong_eq
    - TEST_int_eq
    - TEST_char_ne
    - TEST_char_eq
    - TEST_uchar_eq
    - TEST_char_le
    - TEST_str_ne
    - TEST_long_eq
    - TEST_mem_ne
    - TEST_size_t_eq
    - TEST_int_ne
    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:
    - BN_hex2bn
    - test_output_bignum
    - BN_free
    - 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:
    - ADD_ALL_TESTS
    - ADD_TEST
    - OSSL_NELEM
    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:169,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:171,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 184
    functionName: verify_npn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_printf
    - SSL_get0_next_proto_negotiated
    - memcmp
    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:210,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:212,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/ssl_old_test.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:218,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/ssl_old_test.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: servername_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - BIO_printf
    - SSL_set_SSL_CTX
    - SSL_get_servername
    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:227,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:234,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:238,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: verify_servername
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_get_SSL_CTX
    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:259,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ssl_old_test.c:263,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - outlen
    - in
    argTypes:
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 281
    functionName: next_protos_parse
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_malloc
    - OPENSSL_free
    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:291,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:293,1
    - Dst: abort
      Src: /src/openssl/test/ssl_old_test.c:295,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/ssl_old_test.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:302,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ssl_old_test.c:310,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:312,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:313,1
    - Dst: abort
      Src: /src/openssl/test/ssl_old_test.c:314,1
    - Dst: memcpy
      Src: /src/openssl/test/ssl_old_test.c:316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:319,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: 321
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 321
    functionName: cb_server_alpn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    - next_protos_parse
    - OPENSSL_free
    - fprintf
    - abort
    - memcpy
    - 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:327,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/ssl_old_test.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:330,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:334,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:340,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:346,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:351,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:356,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:360,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:361,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:370,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:371,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:372,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:373,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:374,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:375,1
    - Dst: SSL_get_SSL_CTX
      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_printf
      Src: /src/openssl/test/ssl_old_test.c:381,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 385
    functionName: verify_alpn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - BIO_write
    - SSL_get_SSL_CTX
    - SSL_get0_alpn_selected
    - strlen
    - memcmp
    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: 428
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 428
    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: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    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: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    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: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    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:472,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: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    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: 481
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 481
    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:490,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: 492
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 492
    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: 503
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 503
    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:512,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: 514
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 514
    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:522,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:524,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: 527
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: custom_ext_3_cli_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    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: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    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: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    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:558,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:560,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: 563
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 563
    functionName: custom_ext_1_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    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: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    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:579,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:581,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: 584
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: custom_ext_2_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    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: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    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:602,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:604,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: 607
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: custom_ext_3_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    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:614,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: 616
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 616
    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:631,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:632,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:633,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:634,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:635,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:636,1
    - 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:642,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:644,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:646,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:648,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:651,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:654,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:656,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:673,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:676,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:679,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:680,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:681,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:682,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:684,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:685,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:689,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:692,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:693,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:695,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:702,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:703,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:710,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:723,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:724,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:728,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 738
    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:742,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/test/ssl_old_test.c:749,1
    - Dst: strcpy
      Src: /src/openssl/test/ssl_old_test.c:750,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:751,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/ssl_old_test.c:751,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ssl_old_test.c:767,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:770,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/ssl_old_test.c:770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 740
    functionDepth: 6
    functionLinenumber: 740
    functionLinenumberEnd: 772
    functionName: print_key_details
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OBJ_nid2sn
    - EVP_PKEY_get_group_name
    - EVP_PKEY_get_bits
    - EVP_PKEY_get_id
    - strcpy
    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:781,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:782,1
    - Dst: SSL_get_version
      Src: /src/openssl/test/ssl_old_test.c:784,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/test/ssl_old_test.c:785,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/ssl_old_test.c:785,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/ssl_old_test.c:786,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/ssl_old_test.c:788,1
    - Dst: BIO_puts
      Src: /src/openssl/test/ssl_old_test.c:791,1
    - Dst: print_key_details
      Src: /src/openssl/test/ssl_old_test.c:792,1
    - Dst: SSL_get_peer_tmp_key
      Src: /src/openssl/test/ssl_old_test.c:795,1
    - Dst: BIO_puts
      Src: /src/openssl/test/ssl_old_test.c:796,1
    - Dst: print_key_details
      Src: /src/openssl/test/ssl_old_test.c:797,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ssl_old_test.c:798,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/test/ssl_old_test.c:800,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:801,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ssl_old_test.c:801,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - c_ssl
    - prefix
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 774
    functionDepth: 7
    functionLinenumber: 774
    functionLinenumberEnd: 803
    functionName: print_details
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_get0_peer_certificate
    - BIO_puts
    - BIO_printf
    - OBJ_nid2sn
    - SSL_CIPHER_get_version
    - SSL_get_version
    - print_key_details
    - SSL_get_current_cipher
    - X509_get0_pubkey
    - EVP_PKEY_free
    - SSL_get_peer_signature_nid
    - SSL_get_peer_tmp_key
    - SSL_CIPHER_get_name
    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:825,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 831
    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:836,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:839,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:840,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/test/ssl_old_test.c:843,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: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 833
    functionDepth: 5
    functionLinenumber: 833
    functionLinenumberEnd: 850
    functionName: read_session
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_free
    - ERR_print_errors
    - BIO_new_file
    - PEM_read_bio_SSL_SESSION
    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:857,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ssl_old_test.c:861,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:863,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:864,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/test/ssl_old_test.c:867,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - sess
    argTypes:
    - char*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 852
    functionDepth: 5
    functionLinenumber: 852
    functionLinenumberEnd: 870
    functionName: write_session
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_SSL_SESSION
    - BIO_printf
    - BIO_free
    - ERR_print_errors
    - BIO_new_file
    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:880,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:882,1
    - Dst: SSL_ctrl
      Src: /src/openssl/test/ssl_old_test.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - version
    - ssl
    - setting
    argTypes:
    - char*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: set_protocol_version
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 2
    functionsReached:
    - protocol_from_string
    - BIO_printf
    - SSL_ctrl
    linkageType: ''
    returnType: int
    signature: int set_protocol_version(const char *version, SSL *ssl, int setting)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ssl_old_test.c:926,1
    - Dst: STACK_OF
      Src: /src/openssl/test/ssl_old_test.c:938,1
    - Dst: test_open_streams
      Src: /src/openssl/test/ssl_old_test.c:947,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/ssl_old_test.c:949,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/ssl_old_test.c:951,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: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:956,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/ssl_old_test.c:960,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/ssl_old_test.c:962,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/openssl/test/ssl_old_test.c:964,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:965,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/openssl/test/ssl_old_test.c:968,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:969,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/ssl_old_test.c:973,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/openssl/test/ssl_old_test.c:975,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:976,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:984,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:985,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:989,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:991,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:993,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:995,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:997,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:999,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:1008,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1010,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: strspn
      Src: /src/openssl/test/ssl_old_test.c:1020,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:1020,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1021,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1027,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1031,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: HAS_PREFIX
      Src: /src/openssl/test/ssl_old_test.c:1043,1
    - Dst: atoi
      Src: /src/openssl/test/ssl_old_test.c:1046,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1049,1
    - Dst: atol
      Src: /src/openssl/test/ssl_old_test.c:1052,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:1055,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1060,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:1082,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1086,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1088,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1092,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1094,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1099,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1103,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1107,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1109,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1111,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1115,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1117,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1119,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1123,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1125,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1129,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1129,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1133,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1137,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1141,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1145,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1149,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1153,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1157,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1161,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1165,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1169,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1173,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1175,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1177,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1181,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1185,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1189,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1193,1
    - Dst: atoi
      Src: /src/openssl/test/ssl_old_test.c:1196,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1197,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1199,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1201,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1203,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1207,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/test/ssl_old_test.c:1216,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/test/ssl_old_test.c:1219,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/ssl_old_test.c:1225,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/ssl_old_test.c:1229,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/ssl_old_test.c:1231,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1236,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1238,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1240,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 300
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 890
    functionDepth: 6
    functionLinenumber: 890
    functionLinenumberEnd: 1246
    functionName: main
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 5
    functionsReached:
    - SSL_CONF_CTX_set_flags
    - BIO_printf
    - atol
    - sk_OPENSSL_STRING_push
    - BIO_new_fp
    - fprintf
    - SSL_CONF_CTX_new
    - strcmp
    - test_open_streams
    - strspn
    - sk_OPENSSL_STRING_new_null
    - atoi
    - SSL_CONF_cmd_argv
    - STACK_OF
    - ERR_print_errors
    - strlen
    - SSL_CONF_CTX_set1_prefix
    - 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:1932,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/openssl/test/ssl_old_test.c:1936,1
    - Dst: BIO_set_bind_mode
      Src: /src/openssl/test/ssl_old_test.c:1937,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/ssl_old_test.c:1938,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ssl_old_test.c:1941,1
    - Dst: BIO_get_accept_port
      Src: /src/openssl/test/ssl_old_test.c:1941,1
    - Dst: BIO_new_connect
      Src: /src/openssl/test/ssl_old_test.c:1943,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/openssl/test/ssl_old_test.c:1946,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/ssl_old_test.c:1948,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/ssl_old_test.c:1950,1
    - Dst: BIO_do_connect
      Src: /src/openssl/test/ssl_old_test.c:1958,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:1959,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/ssl_old_test.c:1966,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:1967,1
    - Dst: BIO_pop
      Src: /src/openssl/test/ssl_old_test.c:1976,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:1977,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:1980,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:1980,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:1984,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:1984,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/ssl_old_test.c:1988,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:1989,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:1990,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/ssl_old_test.c:1992,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:1993,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:1994,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2020,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2022,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2025,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2026,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2027,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2036,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2038,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2039,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2050,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2054,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2062,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2064,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2065,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2073,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2077,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2091,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2099,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2101,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2104,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2105,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2106,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2115,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2117,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2118,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2124,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2128,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2136,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2138,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2139,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2145,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2149,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2154,1
    - Dst: print_details
      Src: /src/openssl/test/ssl_old_test.c:2159,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2161,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2161,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2162,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2162,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2163,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2164,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2164,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2165,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2166,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2166,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2167,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2169,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2169,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2170,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2170,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2171,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2172,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2172,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2173,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2174,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2174,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2175,1
    - Dst: verify_npn
      Src: /src/openssl/test/ssl_old_test.c:2178,1
    - Dst: verify_serverinfo
      Src: /src/openssl/test/ssl_old_test.c:2181,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2182,1
    - Dst: verify_alpn
      Src: /src/openssl/test/ssl_old_test.c:2185,1
    - Dst: verify_servername
      Src: /src/openssl/test/ssl_old_test.c:2186,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2190,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2200,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:2202,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2203,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2204,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2205,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2206,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2208,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2210,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: 2214
      start: 1921
    functionDepth: 8
    functionLinenumber: 1921
    functionLinenumberEnd: 2214
    functionName: doit_localhost
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - BIO_get_accept_port
    - BIO_do_connect
    - BIO_snprintf
    - BIO_set_ssl
    - BIO_get_ktls_recv
    - print_details
    - BIO_f_ssl
    - SSL_get_wbio
    - BIO_set_conn_ip_family
    - BIO_should_retry
    - BIO_new
    - BIO_write
    - BIO_read
    - SSL_set_connect_state
    - verify_servername
    - fprintf
    - BIO_get_ktls_send
    - BIO_do_accept
    - BIO_new_accept
    - BIO_new_connect
    - BIO_free
    - printf
    - SSL_state_string_long
    - SSL_in_init
    - verify_npn
    - strcmp
    - memset
    - ERR_print_errors
    - SSL_get_rbio
    - BIO_printf
    - clock
    - BIO_set_nbio
    - BIO_pop
    - BIO_free_all
    - BIO_set_accept_ip_family
    - verify_alpn
    - BIO_set_bind_mode
    - SSL_set_bio
    - verify_serverinfo
    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:2229,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/ssl_old_test.c:2231,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2234,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2234,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2238,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2238,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/ssl_old_test.c:2242,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2243,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2244,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/ssl_old_test.c:2246,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2247,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2248,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2298,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2300,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2303,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2304,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2305,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2314,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2316,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2317,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2328,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2332,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2340,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2342,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2343,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2351,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2355,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2369,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2377,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2379,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2382,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2383,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2384,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2393,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2395,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2396,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2402,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2406,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2414,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2416,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2417,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2423,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2427,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2432,1
    - Dst: BIO_ctrl_pending
      Src: /src/openssl/test/ssl_old_test.c:2453,1
    - Dst: BIO_ctrl_get_write_guarantee
      Src: /src/openssl/test/ssl_old_test.c:2454,1
    - Dst: BIO_nread
      Src: /src/openssl/test/ssl_old_test.c:2465,1
    - Dst: assert
      Src: /src/openssl/test/ssl_old_test.c:2466,1
    - Dst: assert
      Src: /src/openssl/test/ssl_old_test.c:2467,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2472,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2474,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2481,1
    - Dst: BIO_ctrl_pending
      Src: /src/openssl/test/ssl_old_test.c:2490,1
    - Dst: BIO_ctrl_get_read_request
      Src: /src/openssl/test/ssl_old_test.c:2491,1
    - Dst: BIO_nwrite0
      Src: /src/openssl/test/ssl_old_test.c:2509,1
    - Dst: assert
      Src: /src/openssl/test/ssl_old_test.c:2510,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2513,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2515,1
    - Dst: BIO_nwrite
      Src: /src/openssl/test/ssl_old_test.c:2520,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2522,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2528,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2535,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2536,1
    - Dst: print_details
      Src: /src/openssl/test/ssl_old_test.c:2544,1
    - Dst: verify_npn
      Src: /src/openssl/test/ssl_old_test.c:2546,1
    - Dst: verify_serverinfo
      Src: /src/openssl/test/ssl_old_test.c:2549,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2550,1
    - Dst: verify_alpn
      Src: /src/openssl/test/ssl_old_test.c:2553,1
    - Dst: verify_servername
      Src: /src/openssl/test/ssl_old_test.c:2554,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2558,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2568,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2570,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2571,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2572,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2573,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2574,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2575,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2577,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2579,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 > 0)
      pos:
        line_end: 2465
        line_start: 2465
        source_file: /src/openssl/test/ssl_old_test.c
    - condition: (r > 0)
      pos:
        line_end: 2509
        line_start: 2509
        source_file: /src/openssl/test/ssl_old_test.c
    - condition: (r <= (int)num)
      pos:
        line_end: 2466
        line_start: 2466
        source_file: /src/openssl/test/ssl_old_test.c
    constantsTouched: []
    func_position:
      end: 2583
      start: 2217
    functionDepth: 8
    functionLinenumber: 2217
    functionLinenumberEnd: 2583
    functionName: doit_biopair
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - BIO_ctrl_get_write_guarantee
    - BIO_ctrl_pending
    - BIO_set_ssl
    - print_details
    - BIO_f_ssl
    - BIO_nread
    - BIO_nwrite0
    - BIO_new
    - BIO_should_retry
    - BIO_write
    - BIO_read
    - SSL_set_connect_state
    - BIO_nwrite
    - fprintf
    - verify_servername
    - BIO_free
    - printf
    - SSL_state_string_long
    - SSL_in_init
    - BIO_new_bio_pair
    - verify_npn
    - strcmp
    - BIO_ctrl_get_read_request
    - memset
    - assert
    - ERR_print_errors
    - clock
    - verify_alpn
    - SSL_set_bio
    - verify_serverinfo
    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:2612,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ssl_old_test.c:2614,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2617,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ssl_old_test.c:2617,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2618,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ssl_old_test.c:2618,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2620,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2624,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2624,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2625,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2625,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2627,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/ssl_old_test.c:2631,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2632,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2633,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2634,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/ssl_old_test.c:2640,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/ssl_old_test.c:2646,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/ssl_old_test.c:2652,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2653,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2659,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2660,1
    - Dst: BIO_pending
      Src: /src/openssl/test/ssl_old_test.c:2673,1
    - Dst: BIO_pending
      Src: /src/openssl/test/ssl_old_test.c:2677,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2682,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2683,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2684,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2688,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2689,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2690,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2694,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2695,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2701,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2705,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2706,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2708,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2711,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2713,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2717,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2721,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2727,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2730,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2734,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2735,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2737,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2740,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2742,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2746,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2750,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2767,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2771,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2772,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2774,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2777,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2779,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2783,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2784,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2789,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2803,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2807,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2808,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2810,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2813,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2815,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2819,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2820,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2825,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2832,1
    - Dst: print_details
      Src: /src/openssl/test/ssl_old_test.c:2842,1
    - Dst: verify_npn
      Src: /src/openssl/test/ssl_old_test.c:2844,1
    - Dst: verify_serverinfo
      Src: /src/openssl/test/ssl_old_test.c:2847,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2848,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2852,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2857,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2858,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:2859,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:2860,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:2861,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:2862,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2864,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2866,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 249
    argCount: 3
    argNames:
    - s_ssl
    - c_ssl
    - count
    argTypes:
    - SSL*
    - SSL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2590
    functionDepth: 8
    functionLinenumber: 2590
    functionLinenumberEnd: 2870
    functionName: doit
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - BIO_set_ssl
    - print_details
    - BIO_up_ref
    - BIO_f_ssl
    - OPENSSL_zalloc
    - BIO_new
    - BIO_should_retry
    - BIO_write
    - BIO_read
    - SSL_set_connect_state
    - BIO_pending
    - fprintf
    - OPENSSL_free
    - BIO_s_mem
    - BIO_should_read
    - BIO_free
    - printf
    - SSL_state_string_long
    - SSL_in_init
    - BIO_should_write
    - verify_npn
    - strcmp
    - ERR_print_errors
    - SSL_set_max_send_fragment
    - BIO_free_all
    - SSL_set_bio
    - verify_serverinfo
    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:2876,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/ssl_old_test.c:2876,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/test/ssl_old_test.c:2876,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2880,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/test/ssl_old_test.c:2880,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2882,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/test/ssl_old_test.c:2883,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/ssl_old_test.c:2884,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/ssl_old_test.c:2889,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2893,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/ssl_old_test.c:2894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2872
    functionDepth: 3
    functionLinenumber: 2872
    functionLinenumberEnd: 2905
    functionName: verify_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 2
    functionsReached:
    - X509_verify_cert_error_string
    - X509_NAME_oneline
    - X509_STORE_CTX_get_error_depth
    - printf
    - fprintf
    - X509_STORE_CTX_get_current_cert
    - X509_get_subject_name
    - X509_STORE_CTX_get_error
    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:2914,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2916,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2917,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2918,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/test/ssl_old_test.c:2921,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/ssl_old_test.c:2921,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2923,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/test/ssl_old_test.c:2924,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/ssl_old_test.c:2929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2907
    functionDepth: 3
    functionLinenumber: 2907
    functionLinenumberEnd: 2932
    functionName: app_verify_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get0_cert
    - X509_NAME_oneline
    - X509_STORE_CTX_get_error_depth
    - printf
    - X509_verify_cert
    - X509_get_subject_name
    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:2942,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2944,1
    - Dst: BN_free
      Src: /src/openssl/test/ssl_old_test.c:2946,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/ssl_old_test.c:2949,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2950,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/ssl_old_test.c:2952,1
    - Dst: BN_free
      Src: /src/openssl/test/ssl_old_test.c:2953,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/ssl_old_test.c:2956,1
    - Dst: BN_free
      Src: /src/openssl/test/ssl_old_test.c:2957,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: 2959
      start: 2936
    functionDepth: 5
    functionLinenumber: 2936
    functionLinenumberEnd: 2959
    functionName: psk_key2bn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BN_num_bytes
    - BN_hex2bn
    - BN_free
    - BN_bn2bin
    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:2970,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2974,1
    - Dst: psk_key2bn
      Src: /src/openssl/test/ssl_old_test.c:2976,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: 2982
      start: 2961
    functionDepth: 6
    functionLinenumber: 2961
    functionLinenumberEnd: 2982
    functionName: psk_client_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 5
    functionsReached:
    - fprintf
    - BIO_snprintf
    - psk_key2bn
    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:2990,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2991,1
    - Dst: psk_key2bn
      Src: /src/openssl/test/ssl_old_test.c:2994,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: 2996
      start: 2984
    functionDepth: 6
    functionLinenumber: 2984
    functionLinenumberEnd: 2996
    functionName: psk_server_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 5
    functionsReached:
    - BIO_printf
    - psk_key2bn
    - strcmp
    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:
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    - memset
    - memcpy
    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_zalloc
    - TEST_ptr
    - ctx_from_key_params
    - OPENSSL_free
    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:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - param_callback
    - 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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    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:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    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:134,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: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    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:146,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: 150
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 150
    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:159,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: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    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:175,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: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    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: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    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:196,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:198,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_cipherprov.c:201,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 6
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: fake_get_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ERR_raise
    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: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    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:227,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:229,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_cipherprov.c:232,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: fake_get_ctx_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ERR_raise
    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: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    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: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    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:311,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/fake_cipherprov.c:311,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: 315
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: fake_cipher_provider_init
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    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:321,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/fake_cipherprov.c:321,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_cipherprov.c:323,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/fake_cipherprov.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 327
    functionName: fake_cipher_start
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 4
    functionsReached:
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - TEST_true
    - TEST_ptr
    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:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: fake_cipher_finish
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 4
    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: 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: TEST_FL_size_t_eq
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_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: 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
    - strcmp
    - get_dhx512
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    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:115,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/endecode_test.c:116,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/endecode_test.c:123,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/endecode_test.c:125,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/endecode_test.c:126,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecode_test.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - type
    - genparams
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: make_key
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:175,1
    - Dst: encode_cb
      Src: /src/openssl/test/endecode_test.c:175,1
    - Dst: TEST_false
      Src: /src/openssl/test/endecode_test.c:180,1
    - Dst: decode_cb
      Src: /src/openssl/test/endecode_test.c:180,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:188,1
    - Dst: check_cb
      Src: /src/openssl/test/endecode_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:189,1
    - Dst: decode_cb
      Src: /src/openssl/test/endecode_test.c:189,1
    - Dst: strcmp
      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: TEST_true
      Src: /src/openssl/test/endecode_test.c:199,1
    - Dst: encode_cb
      Src: /src/openssl/test/endecode_test.c:199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:204,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/endecode_test.c:204,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:206,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/endecode_test.c:206,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:209,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/endecode_test.c:209,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:211,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/endecode_test.c:211,1
    - Dst: test_cb
      Src: /src/openssl/test/endecode_test.c:221,1
    - Dst: dump_cb
      Src: /src/openssl/test/endecode_test.c:228,1
    - Dst: dump_cb
      Src: /src/openssl/test/endecode_test.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:234,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:235,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:236,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: 238
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 238
    functionName: test_encode_decode
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_parameters_eq
    - dump_cb
    - TEST_false
    - OPENSSL_free
    - decode_cb
    - EVP_PKEY_eq
    - check_cb
    - TEST_true
    - strcmp
    - test_cb
    - TEST_int_eq
    - EVP_PKEY_free
    - 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:256,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecode_test.c:256,1
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:260,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/test/endecode_test.c:260,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:262,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/test/endecode_test.c:262,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:263,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:265,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/test/endecode_test.c:265,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:266,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:266,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:266,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:267,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/endecode_test.c:267,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:268,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:268,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:269,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:270,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:278,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:279,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: 281
      start: 242
    functionDepth: 11
    functionLinenumber: 242
    functionLinenumberEnd: 281
    functionName: encode_EVP_PKEY_prov
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - OSSL_ENCODER_CTX_free
    - BIO_new
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_to_bio
    - BIO_free
    - TEST_FL_int_gt
    - TEST_FL_true
    - TEST_FL_ptr
    - TEST_FL_long_gt
    - OSSL_ENCODER_CTX_set_passphrase
    - strlen
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_CTX_new_for_pkey
    - BIO_s_mem
    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:296,1
    - Dst: i2d_PKCS8PrivateKey
      Src: /src/openssl/test/endecode_test.c:296,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:297,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/endecode_test.c:297,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:298,1
    - Dst: i2d_PKCS8PrivateKey
      Src: /src/openssl/test/endecode_test.c:298,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:299,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:307,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: 309
      start: 283
    functionDepth: 14
    functionLinenumber: 283
    functionLinenumberEnd: 309
    functionName: encode_EVP_PKEY_i2d
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - i2d_PKCS8PrivateKey
    - TEST_ptr
    - OPENSSL_free
    - TEST_int_gt
    - TEST_int_eq
    - OPENSSL_malloc
    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:326,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:331,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/endecode_test.c:331,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:345,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecode_test.c:345,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/openssl/test/endecode_test.c:352,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:352,1
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:353,1
    - Dst: BIO_reset
      Src: /src/openssl/test/endecode_test.c:353,1
    - Dst: TEST_FL_int_eq
      Src: /src/openssl/test/endecode_test.c:355,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/test/endecode_test.c:355,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:358,1
    - Dst: TEST_FL_int_eq
      Src: /src/openssl/test/endecode_test.c:366,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/endecode_test.c:366,1
    - Dst: TEST_FL_int_eq
      Src: /src/openssl/test/endecode_test.c:369,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/endecode_test.c:369,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:379,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:380,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:381,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:382,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: 384
      start: 311
    functionDepth: 12
    functionLinenumber: 311
    functionLinenumberEnd: 384
    functionName: decode_EVP_PKEY_prov
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_parameters_eq
    - TEST_FL_int_eq
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_CTX_free
    - BIO_free
    - OSSL_DECODER_from_bio
    - EVP_PKEY_eq
    - BIO_new_mem_buf
    - strcmp
    - TEST_FL_int_gt
    - BIO_reset
    - TEST_FL_ptr
    - EVP_PKEY_free
    - 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:402,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:403,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/endecode_test.c:403,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:406,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:406,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:406,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:407,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/test/endecode_test.c:407,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:411,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:411,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:412,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:413,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:421,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/endecode_test.c:422,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: 424
      start: 386
    functionDepth: 5
    functionLinenumber: 386
    functionLinenumberEnd: 424
    functionName: encode_EVP_PKEY_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - PEM_write_bio_PrivateKey_traditional
    - BIO_new
    - BIO_free
    - EVP_CIPHER_fetch
    - TEST_FL_ptr
    - TEST_FL_true
    - TEST_FL_long_gt
    - EVP_CIPHER_free
    - strlen
    - BIO_s_mem
    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:439,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:439,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:439,1
    - Dst: TEST_FL_int_ge
      Src: /src/openssl/test/endecode_test.c:443,1
    - Dst: i2b_PrivateKey_bio
      Src: /src/openssl/test/endecode_test.c:443,1
    - Dst: TEST_FL_int_ge
      Src: /src/openssl/test/endecode_test.c:446,1
    - Dst: i2b_PublicKey_bio
      Src: /src/openssl/test/endecode_test.c:446,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:450,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:450,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:451,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:452,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:460,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: 462
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 462
    functionName: encode_EVP_PKEY_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - BIO_new
    - BIO_free
    - i2b_PrivateKey_bio
    - i2b_PublicKey_bio
    - TEST_FL_int_ge
    - TEST_FL_ptr
    - TEST_FL_true
    - TEST_FL_long_gt
    - BIO_s_mem
    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:467,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: pass_pw
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_strlcpy
    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:485,1
    - Dst: ossl_assert
      Src: /src/openssl/test/endecode_test.c:485,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:488,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:488,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:488,1
    - Dst: TEST_FL_int_ge
      Src: /src/openssl/test/endecode_test.c:489,1
    - Dst: i2b_PVK_bio_ex
      Src: /src/openssl/test/endecode_test.c:489,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:492,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:492,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:493,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:494,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:502,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: 504
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 504
    functionName: encode_EVP_PKEY_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_ptr
    - i2b_PVK_bio_ex
    - BIO_new
    - BIO_free
    - TEST_FL_int_ge
    - TEST_FL_ptr
    - TEST_FL_true
    - TEST_FL_long_gt
    - ossl_assert
    - BIO_s_mem
    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_size_t_eq
      Src: /src/openssl/test/endecode_test.c:510,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    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: 512
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: test_text
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_strn_eq
    - TEST_FL_size_t_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:518,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: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    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:529,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:531,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/endecode_test.c:534,1
    - Dst: strcat
      Src: /src/openssl/test/endecode_test.c:538,1
    - Dst: strcat
      Src: /src/openssl/test/endecode_test.c:539,1
    - Dst: strcpy
      Src: /src/openssl/test/endecode_test.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 544
    functionName: collect_name
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcat
    - OPENSSL_realloc
    - strcpy
    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:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - data
    - data_len
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - data
    - data_len
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 554
    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:561,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:564,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/test/endecode_test.c:565,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:568,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:569,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/endecode_test.c:569,1
    - Dst: EVP_PKEY_type_names_do_all
      Src: /src/openssl/test/endecode_test.c:570,1
    - Dst: TEST_note
      Src: /src/openssl/test/endecode_test.c:572,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:573,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:575,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/test/endecode_test.c:575,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:576,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/endecode_test.c:579,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: 581
      start: 556
    functionDepth: 6
    functionLinenumber: 556
    functionLinenumberEnd: 581
    functionName: check_unprotected_PKCS8_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - PKCS8_PRIV_KEY_INFO_free
    - OPENSSL_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - TEST_note
    - TEST_FL_true
    - TEST_FL_ptr
    - EVP_PKEY_type_names_do_all
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_PKCS82PKEY_ex
    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:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 592
    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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 603
    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:611,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: 613
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 613
    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:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 5
    functionLinenumber: 615
    functionLinenumberEnd: 624
    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:635,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:637,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:639,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:641,1
    - Dst: d2i_KeyParams
      Src: /src/openssl/test/endecode_test.c:645,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:647,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: 651
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 651
    functionName: check_params_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - d2i_KeyParams
    - strcmp
    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:659,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/endecode_test.c:659,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:663,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:663,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: 664
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 664
    functionName: check_params_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_FL_strn_eq
    - BIO_snprintf
    - TEST_FL_int_gt
    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:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 666
    functionDepth: 5
    functionLinenumber: 666
    functionLinenumberEnd: 673
    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:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 5
    functionLinenumber: 675
    functionLinenumberEnd: 682
    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:691,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/endecode_test.c:691,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:695,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:695,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: 696
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 696
    functionName: check_unprotected_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_FL_strn_eq
    - BIO_snprintf
    - TEST_FL_int_gt
    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:701,1
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: test_unprotected_via_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - test_encode_decode
    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:716,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:717,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:719,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: 721
      start: 712
    functionDepth: 5
    functionLinenumber: 712
    functionLinenumberEnd: 721
    functionName: check_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - TEST_FL_ptr
    - 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:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 723
    functionDepth: 5
    functionLinenumber: 723
    functionLinenumberEnd: 732
    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:741,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: 743
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 743
    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:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 745
    functionDepth: 5
    functionLinenumber: 745
    functionLinenumberEnd: 754
    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:764,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:765,1
    - Dst: X509_SIG_free
      Src: /src/openssl/test/endecode_test.c:767,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: 769
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 769
    functionName: check_protected_PKCS8_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_ptr
    - d2i_X509_SIG
    - X509_SIG_free
    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:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 5
    functionLinenumber: 771
    functionLinenumberEnd: 781
    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:789,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: 791
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 791
    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:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 803
    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:811,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/endecode_test.c:811,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:815,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:815,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:816,1
    - Dst: strstr
      Src: /src/openssl/test/endecode_test.c:816,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: 817
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: check_protected_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_strn_eq
    - BIO_snprintf
    - TEST_FL_int_gt
    - TEST_FL_ptr
    - strlen
    - strstr
    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:822,1
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 5
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: test_protected_via_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - test_encode_decode
    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:837,1
    - Dst: TEST_skip
      Src: /src/openssl/test/endecode_test.c:839,1
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:841,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 834
    functionDepth: 5
    functionLinenumber: 834
    functionLinenumberEnd: 849
    functionName: test_protected_via_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    - test_encode_decode
    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:856,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:858,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:858,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/endecode_test.c:858,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:860,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: 862
      start: 852
    functionDepth: 6
    functionLinenumber: 852
    functionLinenumberEnd: 862
    functionName: check_public_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_ptr
    - EVP_PKEY_free
    - TEST_FL_true
    - EVP_PKEY_is_a
    - 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:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 873
    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:880,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: 882
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 882
    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:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 884
    functionDepth: 5
    functionLinenumber: 884
    functionLinenumberEnd: 893
    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:900,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:901,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:903,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: 905
      start: 895
    functionDepth: 5
    functionLinenumber: 895
    functionLinenumberEnd: 905
    functionName: check_public_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_ptr
    - EVP_PKEY_free
    - b2i_PublicKey
    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:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 5
    functionLinenumber: 907
    functionLinenumberEnd: 913
    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: 917
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 917
    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: 920
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 920
    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: 922
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 922
    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: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    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: 930
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 930
    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: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    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: 963
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 963
    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: 972
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 972
    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: 982
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 982
    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: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    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: 996
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 996
    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: 1000
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1000
    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: 1010
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1010
    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: 1014
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1014
    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: 1020
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    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: 1022
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1022
    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: 1028
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1028
    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: 1030
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1030
    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:1195,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1196,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1197,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1198,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1199,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1200,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1201,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1202,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1202,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1203,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/endecode_test.c:1203,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1206,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1206,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1207,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1207,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1208,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1208,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1209,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1209,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1211,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/endecode_test.c:1211,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1213,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/endecode_test.c:1213,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1215,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1215,1
    - Dst: BN_value_one
      Src: /src/openssl/test/endecode_test.c:1216,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: 1217
      start: 1157
    functionDepth: 5
    functionLinenumber: 1157
    functionLinenumberEnd: 1217
    functionName: do_create_ec_explicit_prime_params
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_ptr
    - TEST_true
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - BN_value_one
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    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:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1219
    functionDepth: 6
    functionLinenumber: 1219
    functionLinenumberEnd: 1234
    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:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1236
    functionDepth: 6
    functionLinenumber: 1236
    functionLinenumberEnd: 1252
    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:1284,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1285,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1286,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1286,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1287,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1288,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1288,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1289,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1290,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1290,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1291,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1291,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1292,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1292,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1293,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1293,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1294,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/endecode_test.c:1294,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1297,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1297,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1298,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1298,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1299,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1299,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1300,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1300,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1302,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/endecode_test.c:1302,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1304,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1304,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: 1306
      start: 1255
    functionDepth: 5
    functionLinenumber: 1255
    functionLinenumberEnd: 1306
    functionName: do_create_ec_explicit_trinomial_params
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - TEST_ptr
    - TEST_true
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    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:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1308
    functionDepth: 6
    functionLinenumber: 1308
    functionLinenumberEnd: 1320
    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:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1322
    functionDepth: 6
    functionLinenumber: 1322
    functionLinenumberEnd: 1334
    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:1348,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/endecode_test.c:1348,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1349,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecode_test.c:1349,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:1351,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/endecode_test.c:1351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:1352,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/endecode_test.c:1352,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:1353,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:1354,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:1355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1340
    functionDepth: 11
    functionLinenumber: 1340
    functionLinenumberEnd: 1357
    functionName: ec_encode_to_data_multi
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - EVP_PKEY_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_data
    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: 1388
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1388
    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:1402,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/test/endecode_test.c:1403,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/endecode_test.c:1411,1
    - Dst: opt_next
      Src: /src/openssl/test/endecode_test.c:1418,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1424,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1427,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1430,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1433,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:1442,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/endecode_test.c:1446,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/endecode_test.c:1449,1
    - Dst: fips_provider_version_eq
      Src: /src/openssl/test/endecode_test.c:1454,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/endecode_test.c:1456,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/endecode_test.c:1464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1469,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/endecode_test.c:1469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1471,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/endecode_test.c:1471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1475,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/endecode_test.c:1475,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1476,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1477,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1477,1
    - Dst: create_ec_explicit_prime_params_namedcurve
      Src: /src/openssl/test/endecode_test.c:1478,1
    - Dst: create_ec_explicit_prime_params
      Src: /src/openssl/test/endecode_test.c:1479,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1480,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1481,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1481,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1483,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1483,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1484,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1484,1
    - Dst: create_ec_explicit_trinomial_params_namedcurve
      Src: /src/openssl/test/endecode_test.c:1485,1
    - Dst: create_ec_explicit_trinomial_params
      Src: /src/openssl/test/endecode_test.c:1486,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1487,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1488,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1488,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1494,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1497,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1498,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1499,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1502,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1503,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1506,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1507,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1508,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1509,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: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1515,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1519,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1520,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1521,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1522,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1526,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1527,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1528,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:1540,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1541,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1542,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1543,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1544,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1545,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:1549,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1550,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1551,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1556,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecode_test.c:1556,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1557,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1558,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecode_test.c:1558,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1559,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1563,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1564,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1565,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1566,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1573,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1574,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1575,1
    - Dst: ADD_TEST_SUITE_MSBLOB
      Src: /src/openssl/test/endecode_test.c:1576,1
    - Dst: ADD_TEST_SUITE_UNPROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1577,1
    - Dst: ADD_TEST_SUITE_PROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1579,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/endecode_test.c:1583,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1584,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1585,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1586,1
    - Dst: ADD_TEST_SUITE
      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
      Src: /src/openssl/test/endecode_test.c:1589,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1590,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1592,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1593,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1594,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1595,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1600,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1605,1
    - Dst: ADD_TEST_SUITE
      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
      Src: /src/openssl/test/endecode_test.c:1608,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1616,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1617,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:1621,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1622,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1623,1
    - Dst: ADD_TEST_SUITE_MSBLOB
      Src: /src/openssl/test/endecode_test.c:1628,1
    - Dst: ADD_TEST_SUITE_UNPROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1629,1
    - Dst: ADD_TEST_SUITE_PROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1631,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1636,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1637,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1638,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1644,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1645,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1646,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1647,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1648,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:1652,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1653,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1654,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1655,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1390
    functionDepth: 7
    functionLinenumber: 1390
    functionLinenumberEnd: 1661
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ADD_TEST_SUITE_UNPROTECTED_PVK
    - OSSL_PARAM_BLD_to_param
    - create_ec_explicit_prime_params
    - MAKE_KEYS
    - OSSL_PARAM_size_t
    - ADD_TEST_SUITE_PARAMS
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_new
    - MAKE_DOMAIN_KEYS
    - fips_provider_version_eq
    - OSSL_PROVIDER_add_builtin
    - OSSL_PARAM_utf8_string
    - fips_provider_version_lt
    - ADD_TEST_SUITE_PROTECTED_PVK
    - ADD_TEST
    - strcmp
    - create_ec_explicit_prime_params_namedcurve
    - create_ec_explicit_trinomial_params_namedcurve
    - create_ec_explicit_trinomial_params
    - ADD_TEST_SUITE_MSBLOB
    - test_get_libctx
    - ADD_TEST_SUITE
    - ADD_TEST_SUITE_LEGACY
    - opt_arg
    - opt_next
    - TEST_info
    - load_pkey_pem
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1666,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1667,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1668,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1669,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1671,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1672,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1673,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1674,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/endecode_test.c:1676,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1680,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1681,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1684,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1687,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1688,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1689,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1691,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1692,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1695,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1699,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1700,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1701,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1702,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1706,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1707,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1708,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1711,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1712,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1716,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1717,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1718,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:1726,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1727,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1728,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:1732,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1733,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1734,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1735,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:1739,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:1740,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:1741,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/endecode_test.c:1742,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/endecode_test.c:1743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1663
    functionDepth: 4
    functionLinenumber: 1663
    functionLinenumberEnd: 1744
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PARAM_BLD_free
    - FREE_KEYS
    - OSSL_PARAM_free
    - FREE_DOMAIN_KEYS
    - BN_CTX_free
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_unload
    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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    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: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    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:64,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: fake_rsa_keymgmt_new
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    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:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    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: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    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: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    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: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    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:143,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:145,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:147,1
    - 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_dup
      Src: /src/openssl/test/fake_rsaprov.c:161,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:164,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:166,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/fake_rsaprov.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: fake_rsa_key_params
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_dup
    - OSSL_PARAM_BN
    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:183,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/fake_rsaprov.c:183,1
    - Dst: param_callback
      Src: /src/openssl/test/fake_rsaprov.c:186,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/fake_rsaprov.c:187,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: 189
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: fake_rsa_keymgmt_export
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_key_params
    - param_callback
    - TEST_ptr
    - 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: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    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: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    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: 240
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 240
    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:247,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/fake_rsaprov.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 253
    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:261,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/fake_rsaprov.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:265,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: fake_rsa_gen
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_keymgmt_new
    - TEST_ptr
    - TEST_mem_eq
    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:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    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:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: fake_rsa_sig_newctx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    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:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    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:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:331,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fake_rsaprov.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - provkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 337
    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:346,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/fake_rsaprov.c:346,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/fake_rsaprov.c:352,1
    - Dst: memset
      Src: /src/openssl/test/fake_rsaprov.c:356,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: 360
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: fake_rsa_sig_sign
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_ge
    - TEST_int_eq
    - memset
    - TEST_ptr
    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:376,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 381
    functionName: fake_rsa_sig_dupctx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    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:390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:394,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fake_rsaprov.c:394,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/fake_rsaprov.c:403,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/fake_rsaprov.c:405,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: 412
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 412
    functionName: fake_rsa_dgstsgnvfy_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - TEST_ptr
    - TEST_int_gt
    - OSSL_PARAM_locate_const
    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:417,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: 418
      start: 414
    functionDepth: 6
    functionLinenumber: 414
    functionLinenumberEnd: 418
    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: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_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:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 440
    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:448,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/fake_rsaprov.c:465,1
    - Dst: memset
      Src: /src/openssl/test/fake_rsaprov.c:468,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: 477
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 477
    functionName: fake_rsa_dgstsgnvfy_final
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_ge
    - memset
    - TEST_ptr
    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:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 483
    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:489,1
    - Dst: fake_rsa_dgstsgnvfy_final
      Src: /src/openssl/test/fake_rsaprov.c:492,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: 493
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 493
    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:498,1
    - Dst: fake_rsa_dgstvfy_final
      Src: /src/openssl/test/fake_rsaprov.c:501,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: 502
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 502
    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:555,1
    - Dst: strncmp
      Src: /src/openssl/test/fake_rsaprov.c:558,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/fake_rsaprov.c:565,1
    - Dst: pw_cb
      Src: /src/openssl/test/fake_rsaprov.c:575,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:576,1
    - Dst: strncmp
      Src: /src/openssl/test/fake_rsaprov.c:579,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:580,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:585,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:586,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:589,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: 592
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 592
    functionName: fake_rsa_st_open_ex
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - strncmp
    - OPENSSL_zalloc
    - pw_cb
    - TEST_ptr
    - TEST_info
    - OSSL_PARAM_utf8_string
    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:598,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 603
    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: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    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: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    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:637,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:637,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fake_rsaprov.c:639,1
    - Dst: fake_rsa_keymgmt_import
      Src: /src/openssl/test/fake_rsaprov.c:639,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/fake_rsaprov.c:641,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/fake_rsaprov.c:642,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_rsaprov.c:645,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/fake_rsaprov.c:647,1
    - Dst: object_cb
      Src: /src/openssl/test/fake_rsaprov.c:648,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:653,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:657,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:661,1
    - Dst: fake_rsa_keymgmt_free
      Src: /src/openssl/test/fake_rsaprov.c:664,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: 668
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 668
    functionName: fake_rsa_st_load
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - TEST_ptr
    - fake_rsa_keymgmt_import
    - fake_rsa_keymgmt_new
    - TEST_int_gt
    - OSSL_PARAM_construct_end
    - fake_rsa_keymgmt_free
    - TEST_info
    - object_cb
    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: 676
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 676
    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: 684
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 684
    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:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    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:781,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/test/fake_rsaprov.c:785,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/fake_rsaprov.c:786,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: 788
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: fake_rsa_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_ex
    - OPENSSL_zalloc
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *fake_rsa_d2i_X509_PUBKEY_INTERNAL(const unsigned char
      **pp, long len, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/fake_rsaprov.c:807,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/test/fake_rsaprov.c:808,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:813,1
    - Dst: BIO_free
      Src: /src/openssl/test/fake_rsaprov.c:815,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: 817
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionName: fake_rsa_read_der
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_new_from_core_bio
    - asn1_d2i_read_bio
    - OPENSSL_free
    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:829,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/test/fake_rsaprov.c:830,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/fake_rsaprov.c:831,1
    - Dst: key_from_pkcs8
      Src: /src/openssl/test/fake_rsaprov.c:832,1
    - Dst: PROV_FAKE_RSA_LIBCTX_OF
      Src: /src/openssl/test/fake_rsaprov.c:832,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/fake_rsaprov.c:833,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: 836
      start: 821
    functionDepth: 6
    functionLinenumber: 821
    functionLinenumberEnd: 836
    functionName: fake_rsa_der2key_decode_p8
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PROV_FAKE_RSA_LIBCTX_OF
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - key_from_pkcs8
    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:844,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:848,1
    - Dst: fake_rsa_keymgmt_free
      Src: /src/openssl/test/fake_rsaprov.c:855,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/fake_rsaprov.c:860,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: 862
      start: 838
    functionDepth: 4
    functionLinenumber: 838
    functionLinenumberEnd: 862
    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:873,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/fake_rsaprov.c:879,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: 882
      start: 870
    functionDepth: 5
    functionLinenumber: 870
    functionLinenumberEnd: 882
    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:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 889
    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:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - desc
    argTypes:
    - int
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 923
    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:948,1
    - Dst: fake_rsa_read_der
      Src: /src/openssl/test/fake_rsaprov.c:952,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PKCS8
      Src: /src/openssl/test/fake_rsaprov.c:961,1
    - Dst: struct der2key_ctx_st*::desc::d2i_private_key
      Src: /src/openssl/test/fake_rsaprov.c:965,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PUBKEY
      Src: /src/openssl/test/fake_rsaprov.c:973,1
    - Dst: struct der2key_ctx_st*::desc::d2i_public_key
      Src: /src/openssl/test/fake_rsaprov.c:975,1
    - Dst: struct der2key_ctx_st*::desc::d2i_key_params
      Src: /src/openssl/test/fake_rsaprov.c:982,1
    - Dst: struct der2key_ctx_st*::desc::check_key
      Src: /src/openssl/test/fake_rsaprov.c:996,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/fake_rsaprov.c:997,1
    - Dst: struct der2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/test/fake_rsaprov.c:1002,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:1016,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/fake_rsaprov.c:1023,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/fake_rsaprov.c:1024,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_rsaprov.c:1028,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/fake_rsaprov.c:1030,1
    - Dst: data_cb
      Src: /src/openssl/test/fake_rsaprov.c:1032,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/fake_rsaprov.c:1036,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:1037,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: 1040
      start: 925
    functionDepth: 7
    functionLinenumber: 925
    functionLinenumberEnd: 1040
    functionName: fake_rsa_der2key_decode
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - struct der2key_ctx_st*::desc::d2i_key_params
    - struct der2key_ctx_st*::desc::adjust_key
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - struct der2key_ctx_st*::desc::d2i_public_key
    - struct der2key_ctx_st*::desc::check_key
    - ERR_raise
    - OSSL_PARAM_construct_end
    - fake_rsa_read_der
    - struct der2key_ctx_st*::desc::d2i_PUBKEY
    - struct der2key_ctx_st*::desc::free_key
    - data_cb
    - struct der2key_ctx_st*::desc::d2i_PKCS8
    - struct der2key_ctx_st*::desc::d2i_private_key
    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:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1051
    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:1058,1
    - Dst: export
      Src: /src/openssl/test/fake_rsaprov.c:1065,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: 1068
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1068
    functionName: der2key_export_object
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_prov_get_keymgmt_export
    - 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:1075,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: 1080
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1080
    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:1087,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: 1089
      start: 1084
    functionDepth: 7
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    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: 1093
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    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: 1108
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1108
    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: 1120
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1120
    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: 1169
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1169
    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: 1193
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1193
    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: 1219
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1219
    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:1225,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1221
    functionDepth: 4
    functionLinenumber: 1221
    functionLinenumberEnd: 1227
    functionName: fake_rsa_prov_teardown
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OPENSSL_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:1243,1
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/openssl/test/fake_rsaprov.c:1243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:1246,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/fake_rsaprov.c:1246,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/fake_rsaprov.c:1247,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: 1256
      start: 1236
    functionDepth: 5
    functionLinenumber: 1236
    functionLinenumberEnd: 1256
    functionName: fake_rsa_provider_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new_from_dispatch
    - TEST_ptr
    - OPENSSL_malloc
    - OSSL_LIB_CTX_free
    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:1262,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/fake_rsaprov.c:1262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:1264,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/fake_rsaprov.c:1264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 3
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: fake_rsa_start
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 9
    functionsReached:
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - TEST_true
    - TEST_ptr
    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:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: fake_rsa_finish
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 10
    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:
    - OSSL_STORE_LOADER_free
    - OSSL_DECODER_free
    - OSSL_STORE_LOADER_fetch
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - TEST_ptr
    - RAND_set_DRBG_type
    - TEST_true
    - OSSL_LIB_CTX_free
    - OSSL_ENCODER_free
    - OSSL_DECODER_fetch
    - TEST_int_ge
    - RAND_bytes_ex
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    - OSSL_ENCODER_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:
    - BN_clear
    - ossl_decode_der_dsa_sig
    - TEST_BN_eq_word
    - BN_free
    - BN_new
    - TEST_ptr_eq
    - TEST_info
    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:83,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_internal_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_internal_test.c:90,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ml_kem_internal_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_internal_test.c:91,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/ml_kem_internal_test.c:91,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_kem_internal_test.c:98,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_internal_test.c:113,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/ml_kem_internal_test.c:116,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_kem_internal_test.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:118,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_internal_test.c:118,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/test/ml_kem_internal_test.c:123,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/test/ml_kem_internal_test.c:124,1
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/test/ml_kem_internal_test.c:126,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_kem_internal_test.c:129,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_kem_internal_test.c:130,1
    - Dst: ossl_ml_kem_genkey
      Src: /src/openssl/test/ml_kem_internal_test.c:136,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_internal_test.c:141,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/ml_kem_internal_test.c:141,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:146,1
    - Dst: ossl_ml_kem_parse_public_key
      Src: /src/openssl/test/ml_kem_internal_test.c:154,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_internal_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:162,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_internal_test.c:162,1
    - Dst: ossl_ml_kem_encap_rand
      Src: /src/openssl/test/ml_kem_internal_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:174,1
    - Dst: EVP_Digest
      Src: /src/openssl/test/ml_kem_internal_test.c:174,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:176,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:182,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/test/ml_kem_internal_test.c:189,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:194,1
    - Dst: memset
      Src: /src/openssl/test/ml_kem_internal_test.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:201,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/test/ml_kem_internal_test.c:201,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/ml_kem_internal_test.c:207,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_kem_internal_test.c:216,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/test/ml_kem_internal_test.c:216,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:221,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_internal_test.c:226,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/ml_kem_internal_test.c:226,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/test/ml_kem_internal_test.c:234,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/test/ml_kem_internal_test.c:235,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_internal_test.c:236,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_internal_test.c:237,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/ml_kem_internal_test.c:241,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 74
    functionDepth: 14
    functionLinenumber: 74
    functionLinenumberEnd: 243
    functionName: sanity_test
    functionSourceFile: /src/openssl/test/ml_kem_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_set_params
    - TEST_ptr
    - TEST_mem_eq
    - TEST_true
    - OSSL_PARAM_construct_uint
    - ossl_ml_kem_encap_rand
    - ossl_ml_kem_key_new
    - OPENSSL_free
    - TEST_int_le
    - RAND_get0_public
    - RAND_get0_private
    - OSSL_PARAM_construct_end
    - ossl_ml_kem_parse_public_key
    - OPENSSL_malloc
    - RAND_priv_bytes
    - EVP_Digest
    - ossl_ml_kem_genkey
    - TEST_false
    - RAND_bytes
    - ossl_ml_kem_key_vinfo
    - EVP_MD_fetch
    - memset
    - EVP_MD_free
    - ossl_ml_kem_key_free
    - ossl_ml_kem_decap
    - TEST_mem_ne
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int sanity_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:247,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/ml_kem_internal_test.c:247,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_internal_test.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 7
    functionLinenumber: 245
    functionLinenumberEnd: 252
    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:82,1
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_load_cert_file_test.c:83,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:85,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_load_cert_file_test.c:85,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:86,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/test/x509_load_cert_file_test.c:86,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/test/x509_load_cert_file_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:87,1
    - Dst: X509_load_cert_file
      Src: /src/openssl/test/x509_load_cert_file_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:88,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/test/x509_load_cert_file_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:89,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:91,1
    - Dst: X509_STORE_get0_objects
      Src: /src/openssl/test/x509_load_cert_file_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:92,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:92,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:94,1
    - Dst: X509_STORE_get1_objects
      Src: /src/openssl/test/x509_load_cert_file_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:95,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:95,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:98,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/openssl/test/x509_load_cert_file_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:100,1
    - Dst: X509_OBJECT_get_type
      Src: /src/openssl/test/x509_load_cert_file_test.c:100,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:104,1
    - Dst: X509_load_crl_file
      Src: /src/openssl/test/x509_load_cert_file_test.c:104,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:110,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:111,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:112,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 10
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: test_load_cert_file
    functionSourceFile: /src/openssl/test/x509_load_cert_file_test.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_pop_free
    - TEST_ptr
    - TEST_true
    - X509_OBJECT_get_type
    - sk_X509_num
    - TEST_int_eq
    - X509_STORE_get0_objects
    - STACK_OF
    - X509_STORE_free
    - X509_STORE_get1_objects
    - X509_load_crl_file
    - sk_X509_OBJECT_num
    - X509_STORE_add_lookup
    - X509_load_cert_file
    - sk_X509_OBJECT_value
    - X509_STORE_get1_all_certs
    - OSSL_STACK_OF_X509_free
    - X509_LOOKUP_file
    - X509_STORE_new
    linkageType: ''
    returnType: int
    signature: int test_load_cert_file(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_load_cert_file_test.c:128,1
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_load_cert_file_test.c:130,1
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_load_cert_file_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:134,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/x509_load_cert_file_test.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:135,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/x509_load_cert_file_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:140,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_load_cert_file_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:141,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_load_cert_file_test.c:141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:142,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/x509_load_cert_file_test.c:142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:143,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/x509_load_cert_file_test.c:143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:144,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_load_cert_file_test.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:145,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/x509_load_cert_file_test.c:145,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:146,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/x509_load_cert_file_test.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:147,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/test/x509_load_cert_file_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:148,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/x509_load_cert_file_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:151,1
    - Dst: X509_STORE_get0_objects
      Src: /src/openssl/test/x509_load_cert_file_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:152,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:154,1
    - Dst: X509_STORE_CTX_get1_certs
      Src: /src/openssl/test/x509_load_cert_file_test.c:154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:155,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:156,1
    - Dst: X509_STORE_CTX_get1_crls
      Src: /src/openssl/test/x509_load_cert_file_test.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:157,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:157,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:163,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:164,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:165,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:166,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:167,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:168,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:169,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:170,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 120
    functionDepth: 8
    functionLinenumber: 120
    functionLinenumberEnd: 173
    functionName: test_load_same_cn_certs
    functionSourceFile: /src/openssl/test/x509_load_cert_file_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    - TEST_ptr
    - X509_free
    - X509_STORE_CTX_free
    - TEST_true
    - sk_X509_num
    - X509_STORE_add_crl
    - TEST_int_eq
    - sk_X509_CRL_num
    - X509_STORE_get0_objects
    - STACK_OF
    - X509_STORE_free
    - X509_STORE_CTX_new
    - sk_X509_OBJECT_num
    - CRL_from_strings
    - X509_NAME_new
    - X509_from_strings
    - sk_X509_CRL_pop_free
    - X509_NAME_free
    - OSSL_STACK_OF_X509_free
    - X509_CRL_free
    - X509_STORE_add_cert
    - X509_STORE_CTX_get1_certs
    - X509_STORE_new
    - X509_STORE_CTX_get1_crls
    - X509_NAME_add_entry_by_txt
    linkageType: ''
    returnType: int
    signature: int test_load_same_cn_certs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_from_strings
      Src: /src/openssl/test/x509_load_cert_file_test.c:184,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:185,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_load_cert_file_test.c:187,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:188,1
    - Dst: MFAIL_start
      Src: /src/openssl/test/x509_load_cert_file_test.c:191,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/x509_load_cert_file_test.c:192,1
    - Dst: MFAIL_end
      Src: /src/openssl/test/x509_load_cert_file_test.c:193,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:196,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 8
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: test_x509_store_add_mfail
    functionSourceFile: /src/openssl/test/x509_load_cert_file_test.c
    functionUses: 0
    functionsReached:
    - X509_from_strings
    - MFAIL_start
    - TEST_ptr
    - X509_free
    - X509_STORE_add_cert
    - MFAIL_end
    - X509_STORE_new
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: int test_x509_store_add_mfail(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509_load_cert_file_test.c:205,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_load_cert_file_test.c:206,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_load_cert_file_test.c:210,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_load_cert_file_test.c:214,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_load_cert_file_test.c:216,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_load_cert_file_test.c:217,1
    - Dst: ADD_MFAIL_TEST
      Src: /src/openssl/test/x509_load_cert_file_test.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_load_cert_file_test.c
    functionUses: 0
    functionsReached:
    - ADD_MFAIL_TEST
    - test_get_argument
    - ADD_TEST
    - TEST_error
    - test_skip_common_options
    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: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    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:47,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/cc_dummy.c:49,1
    - Dst: dummy_update_diag
      Src: /src/openssl/test/cc_dummy.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: dummy_set_input_params
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - dummy_update_diag
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_locate_const
    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:66,1
    - Dst: dummy_update_diag
      Src: /src/openssl/test/cc_dummy.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: dummy_bind_diagnostic
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - dummy_update_diag
    - OSSL_PARAM_locate_const
    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:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 88
    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: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    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: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    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:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    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: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    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: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    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: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    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: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    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: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    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
    - TEST_error
    - TEST_int_eq
    - TEST_info
    - print_alert
    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:
    - TEST_int_eq
    - ssl_protocol_name
    - 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:
    - TEST_int_eq
    - ssl_session_ticket_name
    - 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:
    - TEST_int_eq
    - ssl_session_id_name
    - 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:
    - strlen
    - TEST_str_eq
    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:
    - print_ca_names
    - sk_X509_NAME_num
    - TEST_note
    - TEST_int_eq
    - sk_X509_NAME_value
    - TEST_info
    - X509_NAME_cmp
    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_ptr
    - TEST_str_eq
    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_session_id
    - check_alerts
    - check_result
    - check_session_ticket_app_data
    - check_server_cert_type
    - check_npn
    - check_server_ca_names
    - check_client_sign_hash
    - check_client_sign_type
    - check_client_cert_type
    - check_cipher
    - check_protocol
    - check_resumption
    - check_client_ca_names
    - check_tmp_key
    - check_alpn
    - check_server_sign_hash
    - check_compression
    - check_server_sign_type
    - check_servername
    - check_session_ticket
    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:424,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:424,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/ssl_test.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:425,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:425,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:429,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/ssl_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:430,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:430,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:433,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/ssl_test.c:434,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:435,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:435,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:436,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:436,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:439,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/ssl_test.c:440,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:441,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:444,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:459,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:460,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:460,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:461,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:466,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:466,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_test.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:467,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:470,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:470,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:474,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_test.c:474,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:475,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:475,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:479,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_test.c:480,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:481,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:483,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:483,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:486,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_test.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:488,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:492,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:498,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/test/ssl_test.c:498,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:503,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_test.c:504,1
    - Dst: CONF_modules_load
      Src: /src/openssl/test/ssl_test.c:504,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:507,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/ssl_test.c:508,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:509,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:514,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/ssl_test.c:515,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: do_handshake
      Src: /src/openssl/test/ssl_test.c:525,1
    - Dst: check_test
      Src: /src/openssl/test/ssl_test.c:529,1
    - Dst: CONF_modules_unload
      Src: /src/openssl/test/ssl_test.c:532,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:533,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:534,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:535,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:536,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:537,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test.c:538,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/openssl/test/ssl_test.c:539,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 103
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 394
    functionDepth: 9
    functionLinenumber: 394
    functionLinenumberEnd: 541
    functionName: test_handshake
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_init_ssl
    - BIO_snprintf
    - TEST_true
    - SSL_CTX_set_options
    - CONF_modules_unload
    - SSL_TEST_CTX_create
    - SSL_CTX_free
    - TLS_server_method
    - HANDSHAKE_RESULT_free
    - DTLS_server_method
    - TEST_int_gt
    - check_test
    - DTLS_client_method
    - SSL_CTX_config
    - do_handshake
    - SSL_CTX_set_dh_auto
    - SSL_CTX_new_ex
    - fips_provider_version_match
    - TLS_client_method
    - TEST_skip
    - CONF_modules_load
    - SSL_TEST_CTX_free
    - SSL_CTX_set_max_proto_version
    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:550,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:551,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:555,1
    - Dst: NCONF_new
      Src: /src/openssl/test/ssl_test.c:555,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_test.c:557,1
    - Dst: NCONF_load
      Src: /src/openssl/test/ssl_test.c:557,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ssl_test.c:557,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ssl_test.c:558,1
    - Dst: NCONF_get_number_e
      Src: /src/openssl/test/ssl_test.c:558,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:561,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/ssl_test.c:565,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ssl_test.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 570
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - test_arg_libctx
    - TEST_ptr
    - NCONF_load
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_int_gt
    - TEST_error
    - TEST_int_ne
    - test_skip_common_options
    - NCONF_get_number_e
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/openssl/test/ssl_test.c:574,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ssl_test.c:575,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ssl_test.c:576,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/ssl_test.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - NCONF_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_digestbynid
    - SSL_CIPHER_get_digest_nid
    - EVP_get_cipherbynid
    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
    - TEST_skip
    - TEST_true
    - ssl3_get_cipher
    - cipher_enabled
    - TEST_info
    - 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
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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_note
    - memcpy
    - TEST_ptr_null
    - EVP_PKEY_free
    - OPENSSL_cleanse
    - lms_pubkey_from_data
    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_new_for_pkey
    - TEST_ptr
    - TEST_false
    - OSSL_DECODER_from_data
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    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_new_for_pkey
    - TEST_ptr
    - OSSL_DECODER_from_bio
    - TEST_true
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    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:
    - BIO_free
    - key_decode_from_bio
    - TEST_ptr
    - BIO_new_mem_buf
    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_new_for_pkey
    - TEST_ptr
    - OSSL_DECODER_from_data
    - TEST_true
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    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:
    - TEST_ptr
    - EVP_PKEY_eq
    - key_decode_from_data
    - EVP_PKEY_Q_keygen
    - TEST_int_eq
    - OSSL_NELEM
    - EVP_PKEY_free
    - TEST_int_ne
    - lms_pubkey_from_data
    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:
    - TEST_ptr
    - EVP_PKEY_check
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - lms_pubkey_from_data
    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:272,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:273,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: lms_verify_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_verify
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    - lms_pubkey_from_data
    linkageType: ''
    returnType: int
    signature: int lms_verify_test(int tst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:286,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:286,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:288,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/lms_test.c:288,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/lms_test.c:291,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/lms_test.c:292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:295,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/lms_test.c:295,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:301,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/lms_test.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 278
    functionDepth: 10
    functionLinenumber: 278
    functionLinenumberEnd: 304
    functionName: lms_digest_verify_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_match
    - TEST_ptr
    - OSSL_PROVIDER_available
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - lms_pubkey_from_data
    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:313,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:315,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/lms_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:317,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/lms_test.c:317,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:323,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/lms_test.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 306
    functionDepth: 8
    functionLinenumber: 306
    functionLinenumberEnd: 326
    functionName: lms_digest_signing_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_DigestSignInit_ex
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - lms_pubkey_from_data
    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:336,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:337,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:338,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:339,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/lms_test.c:339,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:341,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:342,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 7
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: lms_message_signing_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_sign_message_init
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - lms_pubkey_from_data
    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:352,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/lms_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:353,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/lms_test.c:353,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: lms_paramgen_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int lms_paramgen_fail_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:364,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/lms_test.c:364,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:365,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/lms_test.c:365,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: lms_keygen_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - TEST_ptr
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int lms_keygen_fail_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:378,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:379,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:382,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/lms_test.c:382,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:386,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 371
    functionDepth: 7
    functionLinenumber: 371
    functionLinenumberEnd: 389
    functionName: lms_verify_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_verify_init
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - lms_pubkey_from_data
    linkageType: ''
    returnType: int
    signature: int lms_verify_fail_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/lms_test.c:411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:415,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:415,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:416,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:417,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:420,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:428,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:428,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:431,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:440,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:441,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:442,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lms_test.c:443,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 446
    functionName: lms_verify_bad_sig_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_verify
    - TEST_note
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    - lms_pubkey_from_data
    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:465,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:465,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:466,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:467,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:467,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/lms_test.c:470,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/lms_test.c:473,1
    - Dst: memcpy
      Src: /src/openssl/test/lms_test.c:474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:480,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:480,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:482,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:482,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:485,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:494,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:495,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 454
    functionDepth: 7
    functionLinenumber: 454
    functionLinenumberEnd: 499
    functionName: lms_verify_bad_sig_len_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_size_t_le
    - EVP_PKEY_verify
    - TEST_note
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - memcpy
    - EVP_PKEY_free
    - OPENSSL_cleanse
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    - lms_pubkey_from_data
    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:512,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/lms_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:515,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:515,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:521,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:523,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:523,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:526,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:527,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:527,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:530,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:535,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:537,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:545,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:546,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:547,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lms_test.c:548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 501
    functionDepth: 7
    functionLinenumber: 501
    functionLinenumberEnd: 551
    functionName: lms_verify_bad_pub_sig_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - TEST_ptr
    - OPENSSL_free
    - EVP_PKEY_verify
    - TEST_note
    - EVP_SIGNATURE_fetch
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    - lms_pubkey_from_data
    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: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/lms_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/lms_test.c:573,1
    - Dst: opt_arg
      Src: /src/openssl/test/lms_test.c:576,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/lms_test.c:586,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/lms_test.c:589,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/lms_test.c:590,1
    - Dst: TEST_skip
      Src: /src/openssl/test/lms_test.c:591,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:594,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:595,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:596,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:597,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:598,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:599,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/lms_test.c:600,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/lms_test.c:600,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:601,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:602,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:603,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:604,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:605,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:606,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:607,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:608,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 564
    functionDepth: 5
    functionLinenumber: 564
    functionLinenumberEnd: 612
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - test_get_libctx
    - ADD_ALL_TESTS
    - TEST_skip
    - ADD_TEST
    - opt_arg
    - opt_next
    - ERR_get_error
    - EVP_PKEY_CTX_new_from_name
    - OSSL_NELEM
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/lms_test.c:616,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/lms_test.c:617,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/lms_test.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 619
    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:
    - ebcdic2ascii
    - HMAC
    - TEST_ptr
    - EVP_md5
    - TEST_str_eq
    - pt
    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:
    - HMAC_CTX_free
    - TEST_false
    - TEST_ptr
    - HMAC_CTX_get_md
    - HMAC_Update
    - EVP_sha1
    - TEST_ptr_null
    - HMAC_Init_ex
    - HMAC_CTX_new
    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_eq
    - HMAC_CTX_free
    - HMAC_CTX_get_md
    - TEST_ptr
    - TEST_false
    - HMAC_Update
    - EVP_sha256
    - TEST_true
    - TEST_str_eq
    - EVP_sha1
    - HMAC_CTX_new
    - TEST_ptr_null
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_reset
    - pt
    linkageType: ''
    returnType: int
    signature: int test_hmac_run(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:208,1
    - Dst: HMAC
      Src: /src/openssl/test/hmactest.c:208,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:208,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: 203
    functionDepth: 8
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: test_hmac_single_shot
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - HMAC
    - TEST_ptr
    - EVP_sha1
    - TEST_str_eq
    - pt
    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_free
    - HMAC_Update
    - TEST_ptr
    - EVP_sha256
    - TEST_false
    - TEST_true
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    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_free
    - HMAC_Update
    - TEST_ptr
    - HMAC_CTX_copy
    - TEST_true
    - TEST_str_eq
    - EVP_sha1
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    - pt
    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
    - TEST_ptr
    - TEST_true
    - EVP_DigestSignUpdate
    - EVP_sha1
    - EVP_PKEY_new_mac_key
    - EVP_MD_CTX_copy
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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: 242
    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:398,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/hmactest.c:398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:401,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:401,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/hmactest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:409,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:414,1
    - Dst: memset
      Src: /src/openssl/test/hmactest.c:416,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:417,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:417,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:421,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:421,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:424,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:425,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:425,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:431,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 389
    functionDepth: 12
    functionLinenumber: 389
    functionLinenumberEnd: 433
    functionName: test_hmac_chunks
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - HMAC_CTX_free
    - HMAC_Update
    - TEST_ptr
    - EVP_get_digestbyname
    - TEST_true
    - TEST_str_eq
    - memset
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    - pt
    linkageType: ''
    returnType: int
    signature: int test_hmac_chunks(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hmactest.c:437,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:438,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:439,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:440,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:441,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:442,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:443,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hmactest.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    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_set_default_properties
    - OSSL_LIB_CTX_new
    - TEST_ptr
    - OSSL_PROVIDER_load
    - TEST_true
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - EVP_MD_free
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    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:191,1
    - Dst: strcmp
      Src: /src/openssl/test/mem_alloc_test.c:195,1
    - Dst: TEST_note
      Src: /src/openssl/test/mem_alloc_test.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: my_malloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 1
    functionsReached:
    - malloc
    - strcmp
    - TEST_note
    linkageType: ''
    returnType: void
    signature: "void *my_malloc(const size_t num,\n    const char *const file, const
      int line)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/test/mem_alloc_test.c:214,1
    - Dst: free
      Src: /src/openssl/test/mem_alloc_test.c:216,1
    - Dst: realloc
      Src: /src/openssl/test/mem_alloc_test.c:218,1
    - Dst: strcmp
      Src: /src/openssl/test/mem_alloc_test.c:222,1
    - Dst: TEST_note
      Src: /src/openssl/test/mem_alloc_test.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - addr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: my_realloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - malloc
    - strcmp
    - realloc
    - TEST_note
    - free
    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:237,1
    - Dst: TEST_note
      Src: /src/openssl/test/mem_alloc_test.c:238,1
    - Dst: free
      Src: /src/openssl/test/mem_alloc_test.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: my_free
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - free
    - strcmp
    - TEST_note
    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:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - sz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 259
    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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    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:276,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 279
    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:293,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:295,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:298,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:301,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:316,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: 322
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 322
    functionName: check_counts
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - CRYPTO_get_alloc_counts
    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:338,1
    - Dst: ERR_peek_last_error_all
      Src: /src/openssl/test/mem_alloc_test.c:340,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:349,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/mem_alloc_test.c:350,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/mem_alloc_test.c:350,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:352,1
    - Dst: TEST_str_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_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:355,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:361,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:362,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/mem_alloc_test.c:363,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/mem_alloc_test.c:363,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:364,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:365,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:366,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:367,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:368,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:374,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:375,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/mem_alloc_test.c:376,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/mem_alloc_test.c:376,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:378,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:379,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_ptr
      Src: /src/openssl/test/mem_alloc_test.c:387,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:388,1
    - Dst: check_zero_mem
      Src: /src/openssl/test/mem_alloc_test.c:391,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:402,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:408,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/mem_alloc_test.c:412,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:418,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: 421
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 421
    functionName: check_exp
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - check_counts
    - check_zero_mem
    - ERR_PACK
    - TEST_ptr
    - ERR_count_to_mark
    - TEST_error
    - ERR_peek_last_error_all
    - TEST_int_eq
    - TEST_ptr_null
    - TEST_ulong_eq
    - TEST_str_eq
    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:434,1
    - Dst: OPENSSL_secure_calloc
      Src: /src/openssl/test/mem_alloc_test.c:441,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:450,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/mem_alloc_test.c:454,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/mem_alloc_test.c:461,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/mem_alloc_test.c:465,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/mem_alloc_test.c:470,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/mem_alloc_test.c:474,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:497,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:504,1
    - Dst: check_exp
      Src: /src/openssl/test/mem_alloc_test.c:505,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/mem_alloc_test.c:509,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:511,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: 514
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 514
    functionName: test_xalloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - check_exp_prep
    - OPENSSL_zalloc
    - check_exp
    - OPENSSL_free
    - IS_FAIL
    - OPENSSL_secure_calloc
    - OPENSSL_secure_zalloc
    - OPENSSL_calloc
    - OPENSSL_secure_free
    - OPENSSL_malloc_array
    - OPENSSL_malloc
    - OPENSSL_secure_malloc_array
    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:567,1
    - Dst: OPENSSL_clear_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:573,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:577,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/test/mem_alloc_test.c:582,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/mem_alloc_test.c:586,1
    - Dst: CRYPTO_clear_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:592,1
    - Dst: CRYPTO_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:596,1
    - Dst: CRYPTO_clear_realloc
      Src: /src/openssl/test/mem_alloc_test.c:600,1
    - Dst: CRYPTO_realloc
      Src: /src/openssl/test/mem_alloc_test.c:603,1
    - Dst: check_exp
      Src: /src/openssl/test/mem_alloc_test.c:614,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:617,1
    - Dst: MIN
      Src: /src/openssl/test/mem_alloc_test.c:623,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:634,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:653,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:658,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: 661
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 661
    functionName: test_xrealloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - MIN
    - check_exp_prep
    - CRYPTO_clear_realloc_array
    - OPENSSL_clear_realloc
    - CRYPTO_clear_realloc
    - CRYPTO_realloc
    - check_exp
    - OPENSSL_free
    - OPENSSL_realloc
    - OPENSSL_realloc_array
    - TEST_error
    - OPENSSL_clear_realloc_array
    - CRYPTO_realloc_array
    linkageType: ''
    returnType: int
    signature: "int test_xrealloc(const bool clear, const bool array, const bool macro,\n
      \   const struct array_realloc_vector *td)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_exp_prep
      Src: /src/openssl/test/mem_alloc_test.c:674,1
    - Dst: OPENSSL_aligned_alloc_array
      Src: /src/openssl/test/mem_alloc_test.c:679,1
    - Dst: OPENSSL_aligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:684,1
    - Dst: CRYPTO_aligned_alloc_array
      Src: /src/openssl/test/mem_alloc_test.c:689,1
    - Dst: CRYPTO_aligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:692,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:710,1
    - Dst: check_exp
      Src: /src/openssl/test/mem_alloc_test.c:711,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/mem_alloc_test.c:716,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:720,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:720,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/mem_alloc_test.c:722,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:725,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - array
    - macro
    - td
    argTypes:
    - bool
    - bool
    - struct array_aligned_alloc_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 663
    functionDepth: 3
    functionLinenumber: 663
    functionLinenumberEnd: 728
    functionName: test_xaligned_alloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - check_exp_prep
    - check_exp
    - TEST_ptr
    - TEST_uint64_t_eq
    - OPENSSL_free
    - CRYPTO_aligned_alloc
    - IS_FAIL
    - OPENSSL_aligned_alloc
    - CRYPTO_aligned_alloc_array
    - OPENSSL_aligned_alloc_array
    - TEST_ptr_null
    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:732,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 734
    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:738,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 740
    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:744,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 4
    functionLinenumber: 742
    functionLinenumberEnd: 746
    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:750,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 752
    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:756,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 758
    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:762,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 4
    functionLinenumber: 760
    functionLinenumberEnd: 764
    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:768,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 766
    functionDepth: 4
    functionLinenumber: 766
    functionLinenumberEnd: 770
    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:774,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 4
    functionLinenumber: 772
    functionLinenumberEnd: 776
    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:780,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 4
    functionLinenumber: 778
    functionLinenumberEnd: 782
    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:786,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 4
    functionLinenumber: 784
    functionLinenumberEnd: 788
    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:792,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 4
    functionLinenumber: 790
    functionLinenumberEnd: 794
    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:798,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 4
    functionLinenumber: 796
    functionLinenumberEnd: 800
    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:804,1
    - Dst: test_xaligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 4
    functionLinenumber: 802
    functionLinenumberEnd: 806
    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:810,1
    - Dst: test_xaligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 4
    functionLinenumber: 808
    functionLinenumberEnd: 812
    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:819,1
    - Dst: OPENSSL_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
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:824,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/mem_alloc_test.c:825,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:826,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:826,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:829,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/mem_alloc_test.c:830,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:831,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:832,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:832,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:835,1
    - Dst: CRYPTO_calloc
      Src: /src/openssl/test/mem_alloc_test.c:836,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/mem_alloc_test.c:837,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:838,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 842
    functionName: test_free
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 7
    functionsReached:
    - check_counts
    - OPENSSL_free
    - CRYPTO_calloc
    - TEST_int_eq
    - save_counts
    - 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:846,1
    - Dst: TEST_info
      Src: /src/openssl/test/mem_alloc_test.c:847,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:849,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:849,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:850,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:850,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:851,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:851,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:852,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:852,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:854,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:854,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:855,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:855,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:856,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:856,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:857,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:857,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:859,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:859,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:860,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:860,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:861,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:861,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:862,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:862,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:864,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:864,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:865,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:866,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/mem_alloc_test.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 871
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - ADD_TEST
    - CRYPTO_secure_malloc_init
    - OSSL_NELEM
    - TEST_info
    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:876,1
    - Dst: fprintf
      Src: /src/openssl/test/mem_alloc_test.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 883
    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: 2
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_test_flags
    - BIO_next
    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:
    - BIO_read
    - copy_flags
    - 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:
    - OPENSSL_memdup
    - TEST_ptr
    - OPENSSL_free
    - BIO_write
    - BIO_next
    - 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: 3
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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: 1
    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: 1
    functionsReached:
    - SSL_new
    - TEST_ptr
    - SSL_CIPHER_get_auth_nid
    - sk_SSL_CIPHER_free
    - SSL_get1_supported_ciphers
    - SSL_CTX_new
    - sk_SSL_CIPHER_value
    - SSL_CTX_free
    - STACK_OF
    - sk_SSL_CIPHER_num
    - TEST_int_ne
    - TLS_server_method
    - OPENSSL_malloc_array
    - SSL_free
    - 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:
    - SSL_CTX_get_ciphers
    - SSL_CTX_set_ciphersuites
    - TEST_ptr
    - SSL_write
    - ERR_GET_REASON
    - TEST_true
    - TEST_error
    - SSL_CTX_free
    - TLS_server_method
    - create_ssl_connection
    - BIO_new
    - bio_f_tls_corrupt_filter
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - SSL_read
    - STACK_OF
    - SSL_free
    - SSL_CTX_set_cipher_list
    - ERR_get_error
    - sk_SSL_CIPHER_num
    - create_ssl_ctx_pair
    - SSL_CTX_set_dh_auto
    - TEST_int_lt
    - TLS_client_method
    - TEST_int_ge
    - TEST_info
    - create_ssl_objects
    - SSL_CTX_set_max_proto_version
    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: 1
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - setup_cipher_list
    - TEST_ptr
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - test_skip_common_options
    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: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 7
    functionsReached:
    - bio_f_tls_corrupt_filter_free
    - OPENSSL_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:38,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:39,1
    - Dst: TEST_str_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_int_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
    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: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: clientconf_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_str_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:52,1
    - Dst: TEST_str_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_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:55,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:57,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:59,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: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: serverconf_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_str_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:67,1
    - Dst: clientconf_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test_ctx_test.c:68,1
    - Dst: serverconf_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
    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: 72
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: extraconf_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - clientconf_eq
    - TEST_true
    - serverconf_eq
    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:76,1
    - 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: extraconf_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: TEST_int_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:85,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:87,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:91,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:93,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:95,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:97,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:101,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - ctx2
    argTypes:
    - SSL_TEST_CTX*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 107
    functionName: testctx_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    - extraconf_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:113,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ssl_test_ctx_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:116,1
    - Dst: SSL_TEST_CTX_new
      Src: /src/openssl/test/ssl_test_ctx_test.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: set_up
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - TEST_ptr
    - 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:128,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/openssl/test/ssl_test_ctx_test.c:128,1
    - Dst: testctx_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:130,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - SSL_TEST_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: execute_test
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - SSL_TEST_CTX_free
    - SSL_TEST_CTX_create
    - TEST_ptr
    - testctx_eq
    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:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - SSL_TEST_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: tear_down
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 65
    functionsReached:
    - SSL_TEST_CTX_free
    - OPENSSL_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: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    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:152,1
    - Dst: EXECUTE_SSL_TEST_CTX_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: test_empty_configuration
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_SSL_TEST_CTX_TEST
    - SETUP_SSL_TEST_CTX_TEST_FIXTURE
    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:161,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/ssl_test_ctx_test.c:180,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:181,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/ssl_test_ctx_test.c:188,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:189,1
    - Dst: EXECUTE_SSL_TEST_CTX_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:194,1
    - Dst: tear_down
      Src: /src/openssl/test/ssl_test_ctx_test.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: test_good_configuration
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - SETUP_SSL_TEST_CTX_TEST_FIXTURE
    - TEST_ptr
    - tear_down
    - EXECUTE_SSL_TEST_CTX_TEST
    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:225,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/openssl/test/ssl_test_ctx_test.c:225,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: test_bad_configuration
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - SSL_TEST_CTX_create
    - TEST_ptr_null
    - SSL_TEST_CTX_free
    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:238,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test_ctx_test.c:239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:243,1
    - Dst: NCONF_new
      Src: /src/openssl/test/ssl_test_ctx_test.c:243,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_test_ctx_test.c:246,1
    - Dst: NCONF_load
      Src: /src/openssl/test/ssl_test_ctx_test.c:246,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ssl_test_ctx_test.c:246,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:249,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:250,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ssl_test_ctx_test.c:251,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ssl_test_ctx_test.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - NCONF_load
    - test_get_argument
    - ADD_ALL_TESTS
    - ADD_TEST
    - TEST_int_gt
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    - NCONF_new
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    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:
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OSSL_PROVIDER_load
    - OSSL_LIB_CTX_load_config
    - opt_printf_stderr
    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_ptr
    - test_get_argument
    - strcmp
    - 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_load
    - OSSL_PROVIDER_available
    - OSSL_PARAM_construct_utf8_ptr
    - sscanf
    - OSSL_PROVIDER_unload
    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: 7
    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: 10
    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:185,1
    - Dst: isspace
      Src: /src/openssl/test/testutil/provider.c:189,1
    - Dst: isdigit
      Src: /src/openssl/test/testutil/provider.c:209,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/provider.c:212,1
    - Dst: sscanf
      Src: /src/openssl/test/testutil/provider.c:215,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/provider.c:216,1
    - Dst: fips_provider_version_eq
      Src: /src/openssl/test/testutil/provider.c:221,1
    - Dst: fips_provider_version_ne
      Src: /src/openssl/test/testutil/provider.c:224,1
    - Dst: fips_provider_version_le
      Src: /src/openssl/test/testutil/provider.c:227,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/testutil/provider.c:230,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/testutil/provider.c:233,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/testutil/provider.c:236,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/provider.c:240,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 2
    argNames:
    - libctx
    - versions
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 171
    functionDepth: 12
    functionLinenumber: 171
    functionLinenumberEnd: 247
    functionName: fips_provider_version_match
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 6
    functionsReached:
    - isspace
    - fips_provider_version_lt
    - fips_provider_version_le
    - fips_provider_version_gt
    - fips_provider_version_ne
    - sscanf
    - fips_provider_version_eq
    - fips_provider_version_ge
    - TEST_info
    - isdigit
    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_int
    - OSSL_PARAM_size_t
    - OSSL_PARAM_uint
    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:
    - OSSL_LIB_CTX_new
    - TEST_ptr
    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_info
    - TEST_ptr
    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:
    - TEST_ptr
    - RAND_set_DRBG_type
    - RAND_get0_public
    - RAND_get0_private
    - TEST_true
    - OSSL_PROVIDER_try_load
    - check_rng
    - RAND_get0_primary
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_unload
    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:
    - fake_rand_set_callback
    - RAND_get0_public
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/testutil/compare.c:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: strip_line_ends
    functionSourceFile: /src/openssl/test/testutil/compare.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void strip_line_ends(char *str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/compare.c:31,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/testutil/compare.c:34,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/compare.c:35,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/testutil/compare.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/compare.c:39,1
    - Dst: BIO_gets
      Src: /src/openssl/test/testutil/compare.c:42,1
    - Dst: BIO_puts
      Src: /src/openssl/test/testutil/compare.c:43,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/compare.c:44,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/testutil/compare.c:48,1
    - Dst: BIO_seek
      Src: /src/openssl/test/testutil/compare.c:48,1
    - Dst: BIO_gets
      Src: /src/openssl/test/testutil/compare.c:51,1
    - Dst: BIO_gets
      Src: /src/openssl/test/testutil/compare.c:54,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/compare.c:55,1
    - Dst: strip_line_ends
      Src: /src/openssl/test/testutil/compare.c:58,1
    - Dst: strip_line_ends
      Src: /src/openssl/test/testutil/compare.c:59,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/compare.c:60,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/compare.c:63,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/compare.c:66,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/compare.c:67,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/compare.c:68,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/compare.c:69,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/testutil/compare.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/compare.c:80,1
    - Dst: BIO_eof
      Src: /src/openssl/test/testutil/compare.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/compare.c:81,1
    - Dst: BIO_eof
      Src: /src/openssl/test/testutil/compare.c:81,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/compare.c:86,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/compare.c:87,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 2
    argNames:
    - membio
    - reffile
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 89
    functionName: compare_with_reference_file
    functionSourceFile: /src/openssl/test/testutil/compare.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - TEST_ptr
    - strip_line_ends
    - BIO_free
    - TEST_true
    - TEST_error
    - BIO_gets
    - TEST_int_ge
    - BIO_seek
    - TEST_str_eq
    - BIO_new_file
    - strlen
    - TEST_info
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: int compare_with_reference_file(BIO *membio, const char *reffile)
  - 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_fail_message_prefix
    - test_vprintf_stderr
    - test_printf_stderr
    - test_flush_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:
    - test_printf_stderr
    - va_end
    - test_fail_message_va
    - 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:
    - test_printf_stderr
    - va_end
    - test_fail_message_va
    - 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: 0
    functionsReached:
    - test_flush_stdout
    - test_vprintf_stderr
    - test_printf_stderr
    - va_start
    - va_end
    - test_flush_stderr
    linkageType: ''
    returnType: void
    signature: void test_note(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:164,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:165,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 168
    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:174,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:175,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:176,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: test_skip_c90
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    - va_end
    - test_fail_message_va
    - 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:183,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/tests.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: test_openssl_errors
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 3
    functionsReached:
    - ERR_print_errors_cb
    - ERR_clear_error
    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: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    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: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    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:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - b
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 266
    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:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - b
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 274
    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:281,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:282,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:283,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:284,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: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: test_str_eq
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strlen
    - test_fail_string_message
    - strcmp
    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:295,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:296,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:297,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:298,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: 302
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: test_str_ne
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strlen
    - test_fail_string_message
    - strcmp
    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:309,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:310,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:311,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 7
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - s2
    - n
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: test_strn_eq
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strncmp
    - test_fail_string_message
    - 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, const char *s2, size_t n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/test/testutil/tests.c:323,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:324,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:325,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - s2
    - n
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: test_strn_ne
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strncmp
    - test_fail_string_message
    - 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, const char *s2, size_t n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/testutil/tests.c:337,1
    - Dst: test_fail_memory_message
      Src: /src/openssl/test/testutil/tests.c:338,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: 343
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: test_mem_eq
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - memcmp
    - test_fail_memory_message
    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:352,1
    - Dst: test_fail_memory_message
      Src: /src/openssl/test/testutil/tests.c:353,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: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: test_mem_ne
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - memcmp
    - test_fail_memory_message
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - lib
    - reason
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: test_err_r
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_err_r(const char *file, int line, int lib, int reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - data
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: test_err_s
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_err_s(const char *file, int line, const char *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/testutil/tests.c:385,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/testutil/tests.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - e
    argTypes:
    - int
    - int
    - struct test_err_expect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: err_r_cb
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_GET_REASON
    linkageType: ''
    returnType: int
    signature: int err_r_cb(int lib, int reason, struct test_err_expect *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/testutil/tests.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - e
    argTypes:
    - char*
    - struct test_err_expect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: err_s_cb
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int err_s_cb(const char *data, struct test_err_expect *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/testutil/tests.c:406,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/tests.c:416,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/tests.c:417,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/tests.c:418,1
    - Dst: err_s_cb
      Src: /src/openssl/test/testutil/tests.c:424,1
    - Dst: err_r_cb
      Src: /src/openssl/test/testutil/tests.c:424,1
    - Dst: ERR_new
      Src: /src/openssl/test/testutil/tests.c:427,1
    - Dst: ERR_set_debug
      Src: /src/openssl/test/testutil/tests.c:428,1
    - Dst: ERR_set_error
      Src: /src/openssl/test/testutil/tests.c:429,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/testutil/tests.c:429,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/testutil/tests.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/tests.c:431,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/tests.c:432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/tests.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - lib
    - reason
    - str
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 437
    functionName: test_err_helper
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_get_error_all
    - ERR_GET_REASON
    - err_s_cb
    - ERR_set_debug
    - err_r_cb
    - ERR_new
    - ERR_set_error
    - ERR_GET_LIB
    linkageType: ''
    returnType: int
    signature: int test_err_helper(int lib, int reason, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_err_helper
      Src: /src/openssl/test/testutil/tests.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - lib
    - reason
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: test_err_r
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_err_helper
    linkageType: ''
    returnType: int
    signature: int test_err_r(const char *file, int line, int lib, int reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_err_helper
      Src: /src/openssl/test/testutil/tests.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - data
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: test_err_s
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_err_helper
    linkageType: ''
    returnType: int
    signature: int test_err_s(const char *file, int line, const char *data)
  - 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: 471
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 471
    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:481,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/openssl/test/testutil/tests.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: test_BN_eq_one
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_mono_message
    - BN_is_one
    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:489,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/openssl/test/testutil/tests.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: test_BN_odd
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - BN_is_odd
    - test_fail_bignum_mono_message
    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:497,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/openssl/test/testutil/tests.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: test_BN_even
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - BN_is_odd
    - test_fail_bignum_mono_message
    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:509,1
    - Dst: BN_new
      Src: /src/openssl/test/testutil/tests.c:511,1
    - Dst: BN_set_word
      Src: /src/openssl/test/testutil/tests.c:512,1
    - Dst: test_fail_bignum_message
      Src: /src/openssl/test/testutil/tests.c:513,1
    - Dst: BN_free
      Src: /src/openssl/test/testutil/tests.c:514,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: 516
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: test_BN_eq_word
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_message
    - BN_set_word
    - BN_free
    - BN_is_word
    - BN_new
    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:523,1
    - Dst: BN_dup
      Src: /src/openssl/test/testutil/tests.c:525,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/testutil/tests.c:526,1
    - Dst: BN_new
      Src: /src/openssl/test/testutil/tests.c:527,1
    - Dst: BN_set_word
      Src: /src/openssl/test/testutil/tests.c:528,1
    - Dst: test_fail_bignum_message
      Src: /src/openssl/test/testutil/tests.c:529,1
    - Dst: BN_free
      Src: /src/openssl/test/testutil/tests.c:531,1
    - Dst: BN_free
      Src: /src/openssl/test/testutil/tests.c:532,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: 534
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: test_BN_abs_eq_word
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_message
    - BN_set_word
    - BN_set_negative
    - BN_free
    - BN_new
    - BN_abs_is_word
    - BN_dup
    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:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 539
    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: 558
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 558
    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:
    - TEST_ptr
    - BIO_new
    - BIO_free
    - TEST_int_gt
    - BIO_read_filename
    - BIO_s_file
    - X509_new_ex
    - PEM_read_bio_X509
    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:
    - TEST_ptr
    - BIO_new
    - BIO_free
    - TEST_int_gt
    - BIO_read_filename
    - BIO_s_file
    - PEM_read_bio_PrivateKey_ex
    - ERR_peek_error
    - EVP_PKEY_free
    - TEST_info
    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:
    - TEST_ptr
    - BIO_free
    - X509_REQ_new_ex
    - BIO_new_file
    - d2i_X509_REQ_bio
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *load_csr_der(const char *file, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue_strings
      Src: /src/openssl/test/testutil/load.c:115,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/testutil/load.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pem
    - out
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: glue2bio
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 1
    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/testutil/load.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/load.c:129,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/load.c:133,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/test/testutil/load.c:134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/load.c:136,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/load.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: CRL_from_strings
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 25
    functionsReached:
    - PEM_read_bio_X509_CRL
    - OPENSSL_free
    - BIO_free
    - glue2bio
    - ERR_clear_error
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *CRL_from_strings(const char **pem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glue2bio
      Src: /src/openssl/test/testutil/load.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/load.c:151,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/load.c:155,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/testutil/load.c:156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/load.c:158,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/load.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: X509_from_strings
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 24
    functionsReached:
    - ERR_clear_error
    - OPENSSL_free
    - BIO_free
    - glue2bio
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: X509 *X509_from_strings(const char **pem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glue2bio
      Src: /src/openssl/test/testutil/load.c:170,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/load.c:173,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/load.c:177,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/testutil/load.c:178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/load.c:179,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/load.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: PKEY_from_strings
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BIO_free
    - PEM_read_bio_PrivateKey_ex
    - glue2bio
    - ERR_clear_error
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *PKEY_from_strings(const char **pem)
  - 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: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    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:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sd
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mfail_install
      Src: /src/openssl/test/testutil/main.c:34,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/main.c:35,1
    - Dst: global_init
      Src: /src/openssl/test/testutil/main.c:39,1
    - Dst: test_open_streams
      Src: /src/openssl/test/testutil/main.c:41,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/main.c:44,1
    - Dst: setup_test_framework
      Src: /src/openssl/test/testutil/main.c:48,1
    - Dst: setup_tests
      Src: /src/openssl/test/testutil/main.c:51,1
    - Dst: run_tests
      Src: /src/openssl/test/testutil/main.c:52,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/testutil/main.c:53,1
    - Dst: opt_check_usage
      Src: /src/openssl/test/testutil/main.c:54,1
    - Dst: opt_help
      Src: /src/openssl/test/testutil/main.c:56,1
    - Dst: test_get_options
      Src: /src/openssl/test/testutil/main.c:56,1
    - Dst: pulldown_test_framework
      Src: /src/openssl/test/testutil/main.c:59,1
    - Dst: test_close_streams
      Src: /src/openssl/test/testutil/main.c:60,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/main.c:72,1
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/test/testutil/main.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/openssl/test/testutil/main.c
    functionUses: 5
    functionsReached:
    - cleanup_tests
    - setup_tests
    - opt_check_usage
    - mfail_install
    - setup_test_framework
    - OPENSSL_cleanup
    - run_tests
    - test_get_options
    - global_init
    - test_open_streams
    - getenv
    - test_printf_stderr
    - test_close_streams
    - opt_help
    - pulldown_test_framework
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/testutil/helper.c:22,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/testutil/helper.c:26,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/testutil/helper.c:29,1
    - Dst: OPENSSL_timegm
      Src: /src/openssl/test/testutil/helper.c:32,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/testutil/helper.c:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - asn1_string
    - out_time_t
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 6
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: test_asn1_string_to_time_t
    functionSourceFile: /src/openssl/test/testutil/helper.c
    functionUses: 2
    functionsReached:
    - ASN1_TIME_to_tm
    - ASN1_TIME_set_string
    - ASN1_TIME_new
    - OPENSSL_timegm
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: int test_asn1_string_to_time_t(const char *asn1_string, time_t *out_time_t)
  - 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: 1
    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: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: test_printf_stderr
    functionSourceFile: /src/openssl/test/testutil/output.c
    functionUses: 9
    functionsReached:
    - test_vprintf_stderr
    - va_end
    - 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: 1
    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: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: test_printf_taperr
    functionSourceFile: /src/openssl/test/testutil/output.c
    functionUses: 0
    functionsReached:
    - test_vprintf_taperr
    - va_end
    - 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:
    - abort
    - TEST_info
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *app_malloc(size_t sz, const char *what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/apps_shims.c:40,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/testutil/apps_shims.c:40,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/apps_shims.c:41,1
    - Dst: abort
      Src: /src/openssl/test/testutil/apps_shims.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - n
    - sz
    - what
    argTypes:
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: app_malloc_array
    functionSourceFile: /src/openssl/test/testutil/apps_shims.c
    functionUses: 0
    functionsReached:
    - abort
    - TEST_info
    - OPENSSL_malloc_array
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void *app_malloc_array(size_t n, 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: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    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: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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:
    - CRYPTO_THREAD_get_local
    - OPENSSL_zalloc
    - CRYPTO_THREAD_set_local
    - OPENSSL_free
    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:
    - CRYPTO_THREAD_get_local
    - CRYPTO_THREAD_set_local
    - OPENSSL_free
    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
    - BIO_f_prefix
    - BIO_set_prefix
    - CRYPTO_THREAD_lock_new
    - init_local_test_data
    - BIO_push
    - BIO_f_linebuffer
    - OPENSSL_assert
    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:
    - BIO_free
    - CRYPTO_THREAD_lock_free
    - BIO_free_all
    - cleanup_local_test_data
    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:
    - CRYPTO_THREAD_write_lock
    - OPENSSL_assert
    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: 3
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: test_vprintf_stdout
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - test_io_lock
    - test_io_unlock
    - BIO_vprintf
    - 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: 3
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: test_vprintf_stderr
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 3
    functionsReached:
    - test_io_lock
    - test_io_unlock
    - BIO_vprintf
    - get_bio_err
    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:
    - test_io_lock
    - BIO_flush
    - test_io_unlock
    - 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:
    - test_io_lock
    - BIO_flush
    - get_bio_err
    - test_io_unlock
    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: 3
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: test_vprintf_tapout
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - test_io_lock
    - test_io_unlock
    - BIO_vprintf
    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: 3
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: test_vprintf_taperr
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - test_io_lock
    - test_io_unlock
    - BIO_vprintf
    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:
    - test_io_lock
    - BIO_flush
    - test_io_unlock
    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:
    - test_io_lock
    - BIO_flush
    - test_io_unlock
    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:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: test_skip_common_options
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 56
    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: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: test_get_argument_count
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 15
    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:40,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/options.c:42,1
    - Dst: opt_num_rest
      Src: /src/openssl/test/testutil/options.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: test_get_argument
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 68
    functionsReached:
    - OPENSSL_assert
    - opt_rest
    - opt_num_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:52,1
    - Dst: opt_num_rest
      Src: /src/openssl/test/testutil/options.c:53,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/options.c:55,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/options.c:56,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/options.c:61,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/options.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: opt_check_usage
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 1
    functionsReached:
    - test_printf_stderr
    - opt_num_rest
    - opt_rest
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: void opt_check_usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/options.c:73,1
    - Dst: test_vprintf_stderr
      Src: /src/openssl/test/testutil/options.c:74,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/options.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: opt_printf_stderr
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 3
    functionsReached:
    - test_vprintf_stderr
    - va_end
    - 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: 2
    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: 2
    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:44,1
    - Dst: test_fail_message_prefix
      Src: /src/openssl/test/testutil/format_output.c:50,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:57,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:59,1
    - Dst: test_string_null_empty
      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: strncmp
      Src: /src/openssl/test/testutil/format_output.c:66,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:67,1
    - Dst: isprint
      Src: /src/openssl/test/testutil/format_output.c:74,1
    - Dst: isprint
      Src: /src/openssl/test/testutil/format_output.c:79,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:96,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:99,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:101,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:103,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:105,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:107,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/format_output.c:118,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: 119
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 119
    functionName: test_fail_string_common
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - strncmp
    - test_fail_message_prefix
    - isprint
    - test_string_null_empty
    - BIO_get_indent
    - test_printf_stderr
    - test_diff_header
    - test_flush_stderr
    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:132,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:134,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: 135
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: test_fail_string_message
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 4
    functionsReached:
    - test_fail_string_common
    - test_printf_stderr
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - m
    - l
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 141
    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: 163
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 163
    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: 2
    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_printf_stderr
    - test_bignum_zero_null
    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:
    - hex_convert_memory
    - BN_is_zero
    - strcpy
    - strlen
    - BN_is_negative
    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_fail_message_prefix
    - BN_num_bytes
    - test_bignum_zero_print
    - OPENSSL_free
    - test_bignum_header_line
    - test_flush_stderr
    - convert_bn_memory
    - test_printf_stderr
    - BN_cmp
    - test_diff_header
    - OPENSSL_malloc_array
    - BN_bn2binpad
    - BN_is_negative
    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_fail_bignum_common
    - test_printf_stderr
    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_fail_bignum_common
    - test_printf_stderr
    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:390,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/testutil/format_output.c:391,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/testutil/format_output.c:395,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:397,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:400,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:402,1
    - Dst: test_fail_bignum_common
      Src: /src/openssl/test/testutil/format_output.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - name
    - bn
    argTypes:
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 6
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: test_output_bignum
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 5
    functionsReached:
    - hex_convert_memory
    - BN_num_bytes
    - BN_is_zero
    - test_bignum_zero_null
    - test_printf_stderr
    - test_fail_bignum_common
    - BN_bn2bin
    - BN_is_negative
    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:417,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - c
    argTypes:
    - unsigned char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 420
    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:438,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:445,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:447,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:448,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:449,1
    - Dst: memcmp
      Src: /src/openssl/test/testutil/format_output.c:454,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:455,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:461,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:465,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:490,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:493,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:495,1
    - Dst: test_memory_null_empty
      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_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:501,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/format_output.c:512,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: 513
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 513
    functionName: test_fail_memory_common
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - hex_convert_memory
    - test_fail_message_prefix
    - test_memory_null_empty
    - test_printf_stderr
    - test_diff_header
    - memcmp
    - test_flush_stderr
    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:527,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:529,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: 530
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 530
    functionName: test_fail_memory_message
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 2
    functionsReached:
    - test_fail_memory_common
    - test_printf_stderr
    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:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - m
    - l
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 536
    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:64,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:64,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: 63
        line_start: 63
        source_file: /src/openssl/test/testutil/driver.c
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: add_test
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - assert
    - OSSL_NELEM
    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:75,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:75,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: 74
        line_start: 74
        source_file: /src/openssl/test/testutil/driver.c
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: add_all_tests
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - assert
    - OSSL_NELEM
    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:
    - Dst: assert
      Src: /src/openssl/test/testutil/driver.c:89,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - test_case_name
    - flags
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (num_tests != OSSL_NELEM(all_tests))
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/openssl/test/testutil/driver.c
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: add_mfail_test
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - assert
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: void add_mfail_test(const char *test_case_name, int (*test_fn)(void),
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    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:113,1
    - Dst: test_random_seed
      Src: /src/openssl/test/testutil/driver.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: set_seed
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 10
    functionsReached:
    - test_random_seed
    - time
    linkageType: ''
    returnType: void
    signature: void set_seed(int s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/testutil/driver.c:119,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/driver.c:120,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/driver.c:121,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:124,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:125,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:128,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:128,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:130,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:130,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:132,1
    - Dst: copy_argv
      Src: /src/openssl/test/testutil/driver.c:136,1
    - Dst: win32_utf8argv
      Src: /src/openssl/test/testutil/driver.c:141,1
    - Dst: opt_init
      Src: /src/openssl/test/testutil/driver.c:144,1
    - Dst: test_get_options
      Src: /src/openssl/test/testutil/driver.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 147
    functionName: setup_test_framework
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 1
    functionsReached:
    - copy_argv
    - test_adjust_streams_tap_level
    - opt_init
    - win32_utf8argv
    - test_get_options
    - getenv
    - atoi
    - set_seed
    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:158,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:164,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/driver.c:173,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/driver.c:181,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/driver.c:188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - name
    - testname
    - itname
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 197
    functionName: check_single_test_params
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - atoi
    - test_printf_stderr
    - strcmp
    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:208,1
    - Dst: opt_next
      Src: /src/openssl/test/testutil/driver.c:209,1
    - Dst: opt_help
      Src: /src/openssl/test/testutil/driver.c:217,1
    - Dst: test_get_options
      Src: /src/openssl/test/testutil/driver.c:217,1
    - Dst: opt_flag
      Src: /src/openssl/test/testutil/driver.c:223,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:224,1
    - Dst: opt_flag
      Src: /src/openssl/test/testutil/driver.c:227,1
    - Dst: opt_int
      Src: /src/openssl/test/testutil/driver.c:228,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:228,1
    - Dst: opt_int
      Src: /src/openssl/test/testutil/driver.c:232,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:232,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:235,1
    - Dst: opt_int
      Src: /src/openssl/test/testutil/driver.c:238,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:238,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:240,1
    - Dst: check_single_test_params
      Src: /src/openssl/test/testutil/driver.c:244,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 249
    functionName: process_shared_options
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - check_single_test_params
    - test_adjust_streams_tap_level
    - test_get_options
    - opt_flag
    - opt_begin
    - opt_arg
    - set_seed
    - opt_next
    - opt_help
    - opt_int
    linkageType: ''
    returnType: int
    signature: int process_shared_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/driver.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    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:260,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/test/testutil/driver.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - success
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: finalize
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 8
    functionsReached:
    - ERR_print_errors_cb
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: void finalize(int success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/test/testutil/driver.c:269,1
    - Dst: strdup
      Src: /src/openssl/test/testutil/driver.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - title
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    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:279,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/driver.c:280,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:284,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:286,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:288,1
    - Dst: va_start
      Src: /src/openssl/test/testutil/driver.c:289,1
    - Dst: test_vprintf_tapout
      Src: /src/openssl/test/testutil/driver.c:290,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/driver.c:291,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:293,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:294,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - verdict
    - description
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: test_verdict
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - test_printf_tapout
    - test_vprintf_tapout
    - test_flush_stdout
    - test_flush_tapout
    - va_start
    - va_end
    - test_flush_stderr
    linkageType: ''
    returnType: void
    signature: "void test_verdict(int verdict,\n    const char *description, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/openssl/test/testutil/driver.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start
    argTypes:
    - clock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: mfail_elapsed_secs
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - clock
    linkageType: ''
    returnType: double
    signature: double mfail_elapsed_secs(clock_t start)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/openssl/test/testutil/driver.c:311,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:314,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/testutil/driver.c:315,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:316,1
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/driver.c:317,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:318,1
    - Dst: mfail_init
      Src: /src/openssl/test/testutil/driver.c:320,1
    - Dst: mfail_has_next
      Src: /src/openssl/test/testutil/driver.c:322,1
    - Dst: mfail_get_phase
      Src: /src/openssl/test/testutil/driver.c:323,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/driver.c:326,1
    - Dst: test_fn
      Src: /src/openssl/test/testutil/driver.c:327,1
    - Dst: mfail_get_count
      Src: /src/openssl/test/testutil/driver.c:330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/testutil/driver.c:331,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/driver.c:332,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:336,1
    - Dst: mfail_is_installed
      Src: /src/openssl/test/testutil/driver.c:338,1
    - Dst: mfail_env_skip_all
      Src: /src/openssl/test/testutil/driver.c:338,1
    - Dst: mfail_was_triggered
      Src: /src/openssl/test/testutil/driver.c:342,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/testutil/driver.c:343,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/driver.c:344,1
    - Dst: mfail_get_point
      Src: /src/openssl/test/testutil/driver.c:346,1
    - Dst: mfail_get_mode
      Src: /src/openssl/test/testutil/driver.c:349,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:350,1
    - Dst: mfail_get_point
      Src: /src/openssl/test/testutil/driver.c:352,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:353,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/testutil/driver.c:354,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/driver.c:355,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:363,1
    - Dst: mfail_is_installed
      Src: /src/openssl/test/testutil/driver.c:364,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:365,1
    - Dst: mfail_env_skip_all
      Src: /src/openssl/test/testutil/driver.c:366,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:367,1
    - Dst: mfail_was_slow_skipped
      Src: /src/openssl/test/testutil/driver.c:368,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:369,1
    - Dst: mfail_get_slow_threshold
      Src: /src/openssl/test/testutil/driver.c:371,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:373,1
    - Dst: mfail_elapsed_secs
      Src: /src/openssl/test/testutil/driver.c:374,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:377,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - test_case_name
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 380
    functionName: mfail_run_test
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - mfail_get_mode
    - test_adjust_streams_tap_level
    - test_printf_tapout
    - test_flush_stdout
    - TEST_error
    - mfail_was_slow_skipped
    - test_flush_tapout
    - ERR_clear_error
    - test_verdict
    - mfail_init
    - TEST_int_eq
    - mfail_elapsed_secs
    - mfail_has_next
    - mfail_was_triggered
    - mfail_get_phase
    - mfail_get_count
    - clock
    - mfail_get_point
    - test_fn
    - mfail_get_slow_threshold
    - mfail_is_installed
    - mfail_env_skip_all
    - test_printf_stdout
    linkageType: ''
    returnType: int
    signature: "int mfail_run_test(const char *test_case_name,\n    int (*test_fn)(void),
      int flags)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:389,1
    - Dst: process_shared_options
      Src: /src/openssl/test/testutil/driver.c:391,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:398,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/testutil/driver.c:401,1
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/driver.c:402,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:404,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:407,1
    - Dst: test_random
      Src: /src/openssl/test/testutil/driver.c:413,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:426,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:430,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:433,1
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/driver.c:435,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/driver.c:436,1
    - Dst: mfail_run_test
      Src: /src/openssl/test/testutil/driver.c:438,1
    - Dst: test_fn
      Src: /src/openssl/test/testutil/driver.c:441,1
    - Dst: finalize
      Src: /src/openssl/test/testutil/driver.c:442,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:443,1
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/driver.c:449,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:452,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/testutil/driver.c:454,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:455,1
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/driver.c:456,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:457,1
    - Dst: test_random
      Src: /src/openssl/test/testutil/driver.c:466,1
    - Dst: gcd
      Src: /src/openssl/test/testutil/driver.c:467,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/driver.c:475,1
    - Dst: param_test_fn
      Src: /src/openssl/test/testutil/driver.c:476,1
    - Dst: finalize
      Src: /src/openssl/test/testutil/driver.c:484,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:487,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:490,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:498,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:503,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 100
    argCount: 1
    argNames:
    - test_prog_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 382
    functionDepth: 6
    functionLinenumber: 382
    functionLinenumberEnd: 511
    functionName: run_tests
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 1
    functionsReached:
    - process_shared_options
    - test_adjust_streams_tap_level
    - ERR_clear_error
    - test_verdict
    - param_test_fn
    - test_printf_tapout
    - test_random
    - set_test_title
    - test_flush_stdout
    - test_fn
    - gcd
    - test_flush_tapout
    - mfail_run_test
    - finalize
    - OSSL_NELEM
    - test_printf_stdout
    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:524,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/driver.c:529,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/testutil/driver.c:529,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:533,1
    - Dst: strcpy
      Src: /src/openssl/test/testutil/driver.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - list
    - out_len
    argTypes:
    - char*[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 536
    functionName: glue_strings
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 3
    functionsReached:
    - strlen
    - TEST_ptr
    - OPENSSL_malloc
    - strcpy
    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:547,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:548,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:548,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/testutil/driver.c:549,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/test/testutil/driver.c:553,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:561,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/test/testutil/driver.c:572,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/test/testutil/driver.c:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 579
    functionName: test_mk_file_path
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 27
    functionsReached:
    - strlen
    - OPENSSL_zalloc
    - OPENSSL_strlcat
    - OPENSSL_strlcpy
    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:
    - TEST_ptr
    - set_test_title
    - memset
    - BIO_new_file
    - TEST_info
    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_puts
    - TEST_ptr
    - BIO_new
    - TEST_int_gt
    - TEST_error
    - BIO_gets
    - BIO_reset
    - BIO_s_mem
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int read_key(STANZA *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/test/testutil/stanza.c:72,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/stanza.c:77,1
    - Dst: isspace
      Src: /src/openssl/test/testutil/stanza.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    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:92,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:94,1
    - Dst: strchr
      Src: /src/openssl/test/testutil/stanza.c:94,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:95,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:109,1
    - Dst: strchr
      Src: /src/openssl/test/testutil/stanza.c:109,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:114,1
    - Dst: strip_spaces
      Src: /src/openssl/test/testutil/stanza.c:114,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:115,1
    - Dst: strip_spaces
      Src: /src/openssl/test/testutil/stanza.c:118,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:121,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:122,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:129,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:130,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:131,1
    - Dst: read_key
      Src: /src/openssl/test/testutil/stanza.c:132,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/testutil/stanza.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:137,1
    - Dst: OPENSSL_strdup
      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
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 145
    functionName: test_readstanza
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 3
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - TEST_int_lt
    - TEST_ptr
    - strip_spaces
    - strcmp
    - BIO_gets
    - TEST_info
    - read_key
    linkageType: ''
    returnType: int
    signature: int test_readstanza(STANZA *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/stanza.c:153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/stanza.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    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:
    - OPENSSL_free
    - BIO_write
    - OSSL_trace_get_category_name
    - BIO_set_prefix
    - BIO_snprintf
    - OPENSSL_buf2hexstr
    - CRYPTO_THREAD_get_current_id
    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:
    - BIO_free_all
    - OPENSSL_free
    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:92,1
    - Dst: fprintf
      Src: /src/openssl/test/testutil/testutil_init.c:94,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/test/testutil/testutil_init.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/testutil_init.c:98,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/test/testutil/testutil_init.c:99,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/testutil/testutil_init.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: setup_trace_category
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - sk_tracedata_push
    - BIO_new
    - BIO_new_fp
    - OSSL_trace_enabled
    - BIO_f_prefix
    - OSSL_trace_get_category_name
    - OPENSSL_free
    - fprintf
    - BIO_free_all
    - BIO_push
    - OSSL_trace_set_callback
    linkageType: ''
    returnType: void
    signature: void setup_trace_category(int category)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/openssl/test/testutil/testutil_init.c:113,1
    - Dst: sk_tracedata_new_null
      Src: /src/openssl/test/testutil/testutil_init.c:115,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/testutil_init.c:116,1
    - Dst: strtok
      Src: /src/openssl/test/testutil/testutil_init.c:122,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/openssl/test/testutil/testutil_init.c:123,1
    - Dst: setup_trace_category
      Src: /src/openssl/test/testutil/testutil_init.c:127,1
    - Dst: setup_trace_category
      Src: /src/openssl/test/testutil/testutil_init.c:130,1
    - Dst: fprintf
      Src: /src/openssl/test/testutil/testutil_init.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/testutil_init.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: setup_trace
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - setup_trace_category
    - OPENSSL_free
    - atexit
    - fprintf
    - sk_tracedata_new_null
    - OSSL_trace_get_category_num
    - strtok
    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:145,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/testutil_init.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    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_p
    - openc_opcode
    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_p
    - openc_opcode
    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_p
    - openc_fp
    - openc_opcode
    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_p
    - openc_opcode
    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:
    - SCRIPT_INFO*::gen_func
    - TEST_false
    - opgen_END
    - TEST_true
    - TEST_error
    - GEN_CTX_init
    - GEN_CTX_finish
    - GEN_CTX_cleanup
    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:
    - TEST_size_t_ge
    - memcpy
    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:390,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:396,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:404,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:405,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:406,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:411,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:412,1
    - Dst: strlen
      Src: /src/openssl/test/radix/terp.c:413,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:414,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:416,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:421,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:422,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:423,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:429,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:430,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:431,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:438,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:439,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:441,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:442,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:443,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:448,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:450,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:451,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:454,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: 462
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 462
    functionName: SRDR_print_one
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - PRINT_OPC
    - TEST_error
    - GET_OPERAND
    - strlen
    - memcpy
    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: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    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:472,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:475,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:477,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:479,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:481,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:483,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:489,1
    - Dst: SRDR_print_one
      Src: /src/openssl/test/radix/terp.c:489,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:496,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:497,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:498,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: 505
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 505
    functionName: GEN_SCRIPT_print
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SRDR_print_one
    - PRINT_OPC
    - TEST_true
    - 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:511,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/terp.c:514,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: 516
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 516
    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:549,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/test/radix/terp.c:565,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: 569
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 569
    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:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - terp
    argTypes:
    - TERP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 579
    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:592,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/terp.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - terp
    - spare
    argTypes:
    - TERP*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 600
    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:605,1
    - Dst: TERP_stk_ensure_capacity
      Src: /src/openssl/test/radix/terp.c:605,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - terp
    - buf
    - buf_len
    argTypes:
    - TERP*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 611
    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:616,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - terp
    - buf
    - buf_len
    argTypes:
    - TERP*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: TERP_stk_pop
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_ge
    - memcpy
    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:626,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:627,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - terp
    - bio
    - header
    argTypes:
    - TERP*
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 5
    functionLinenumber: 624
    functionLinenumberEnd: 629
    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: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    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: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    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:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - terp
    argTypes:
    - TERP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    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:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - terp
    - spin_count
    argTypes:
    - TERP*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 651
    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:662,1
    - Dst: TERP_now
      Src: /src/openssl/test/radix/terp.c:664,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/radix/terp.c:665,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:673,1
    - Dst: TERP_log_spin
      Src: /src/openssl/test/radix/terp.c:678,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:679,1
    - Dst: SRDR_print_one
      Src: /src/openssl/test/radix/terp.c:679,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:682,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:685,1
    - Dst: SRDR_save
      Src: /src/openssl/test/radix/terp.c:687,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/radix/terp.c:694,1
    - Dst: TERP_now
      Src: /src/openssl/test/radix/terp.c:694,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:695,1
    - Dst: TERP_log_spin
      Src: /src/openssl/test/radix/terp.c:697,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:702,1
    - Dst: TERP*::cfg::per_op_cb
      Src: /src/openssl/test/radix/terp.c:702,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:703,1
    - Dst: TERP_log_spin
      Src: /src/openssl/test/radix/terp.c:705,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:716,1
    - Dst: TERP_STK_PUSH
      Src: /src/openssl/test/radix/terp.c:717,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:722,1
    - Dst: TERP_STK_PUSH
      Src: /src/openssl/test/radix/terp.c:723,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:728,1
    - Dst: TERP_STK_PUSH
      Src: /src/openssl/test/radix/terp.c:729,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:734,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:742,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:743,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:745,1
    - Dst: v
      Src: /src/openssl/test/radix/terp.c:748,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/terp.c:751,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:755,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/terp.c:760,1
    - Dst: TERP_SPIN_AGAIN
      Src: /src/openssl/test/radix/terp.c:764,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/terp.c:766,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:770,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:777,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:786,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:790,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/radix/terp.c:792,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:793,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/radix/terp.c:794,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/terp.c:795,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/radix/terp.c:796,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:797,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 122
    argCount: 1
    argNames:
    - terp
    argTypes:
    - TERP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 653
    functionDepth: 5
    functionLinenumber: 653
    functionLinenumberEnd: 801
    functionName: TERP_execute
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - TEST_error
    - ossl_time_compare
    - SRDR_init
    - SRDR_print_one
    - TERP_GET_OPERAND
    - ERR_peek_last_error
    - TEST_int_eq
    - TERP*::cfg::per_op_cb
    - TEST_false
    - SRDR_save
    - ERR_print_errors
    - BIO_printf
    - TERP_STK_PUSH
    - v
    - TERP_log_spin
    - TERP_SPIN_AGAIN
    - TERP_now
    - ossl_time_add
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int TERP_execute(TERP *terp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:810,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:813,1
    - Dst: GEN_SCRIPT_init
      Src: /src/openssl/test/radix/terp.c:813,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:814,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:820,1
    - Dst: GEN_SCRIPT_print
      Src: /src/openssl/test/radix/terp.c:820,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:821,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:827,1
    - Dst: TERP_init
      Src: /src/openssl/test/radix/terp.c:827,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:832,1
    - Dst: TERP_execute
      Src: /src/openssl/test/radix/terp.c:834,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:838,1
    - Dst: TERP_print_stack
      Src: /src/openssl/test/radix/terp.c:846,1
    - Dst: TERP_cleanup
      Src: /src/openssl/test/radix/terp.c:847,1
    - Dst: GEN_SCRIPT_cleanup
      Src: /src/openssl/test/radix/terp.c:850,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:852,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:855,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - script_info
    - cfg
    argTypes:
    - SCRIPT_INFO*
    - TERP_CONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 803
    functionDepth: 6
    functionLinenumber: 803
    functionLinenumberEnd: 858
    functionName: TERP_run
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - GEN_SCRIPT_cleanup
    - BIO_printf
    - TERP_execute
    - GEN_SCRIPT_print
    - TEST_true
    - GEN_SCRIPT_init
    - SCRIPT_INFO_print
    - TERP_init
    - TEST_error
    - TERP_print_stack
    - TERP_cleanup
    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: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    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: 862
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 862
    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:
    - F_POP
    - RP
    - 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:
    - ossl_crypto_mutex_lock
    - BIO_printf
    - BIO_flush
    - RP
    - ossl_crypto_mutex_unlock
    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:65,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/radix/quic_ops.c:65,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/radix/quic_ops.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - is_server
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: ssl_ctx_configure
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_keylog_callback
    - SSL_CTX_use_certificate_file
    - SSL_CTX_set_alpn_select_cb
    - TEST_true
    - SSL_CTX_use_PrivateKey_file
    - TEST_int_eq
    - ossl_quic_set_diag_title
    - RP
    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:83,1
    - Dst: BIO_socket
      Src: /src/openssl/test/radix/quic_ops.c:85,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:89,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/radix/quic_ops.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:92,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/radix/quic_ops.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:95,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/radix/quic_ops.c:95,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:99,1
    - Dst: BIO_bind
      Src: /src/openssl/test/radix/quic_ops.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:103,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/radix/quic_ops.c:103,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/radix/quic_ops.c:106,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/radix/quic_ops.c:106,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/radix/quic_ops.c:112,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/radix/quic_ops.c:116,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/radix/quic_ops.c:118,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: 120
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 120
    functionName: ssl_create_bound_socket
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_bind
    - BIO_ADDR_new
    - BIO_socket_nbio
    - TEST_true
    - TEST_int_gt
    - htonl
    - BIO_closesocket
    - BIO_socket
    - TEST_int_ge
    - BIO_ADDR_rawport
    - BIO_sock_info
    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:128,1
    - Dst: ssl_create_bound_socket
      Src: /src/openssl/test/radix/quic_ops.c:128,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:131,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/radix/quic_ops.c:131,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/radix/quic_ops.c:132,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/radix/quic_ops.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:137,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/radix/quic_ops.c:137,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/radix/quic_ops.c:140,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: 143
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: ssl_attach_bio_dgram
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_new_dgram
    - ssl_create_bound_socket
    - SSL_set0_wbio
    - TEST_true
    - SSL_set0_rbio
    - BIO_up_ref
    - BIO_closesocket
    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: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    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: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: client_hello_cb
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 2
    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:194,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/radix/quic_ops.c:199,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/radix/quic_ops.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:200,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/radix/quic_ops.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:204,1
    - Dst: SSL_CTX_set_domain_flags
      Src: /src/openssl/test/radix/quic_ops.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:210,1
    - Dst: ssl_ctx_configure
      Src: /src/openssl/test/radix/quic_ops.c:210,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:214,1
    - Dst: SSL_new_domain
      Src: /src/openssl/test/radix/quic_ops.c:214,1
    - Dst: SSL_CTX_set_new_pending_conn_cb
      Src: /src/openssl/test/radix/quic_ops.c:218,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/radix/quic_ops.c:219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:221,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/radix/quic_ops.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:224,1
    - Dst: SSL_new
      Src: /src/openssl/test/radix/quic_ops.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:228,1
    - Dst: ssl_attach_bio_dgram
      Src: /src/openssl/test/radix/quic_ops.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:231,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:231,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:231,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:232,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/radix/quic_ops.c:239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 184
    functionDepth: 7
    functionLinenumber: 184
    functionLinenumberEnd: 241
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_client_hello_cb
    - SSL_CTX_set_new_pending_conn_cb
    - SSL_new
    - TEST_ptr
    - RADIX_PROCESS_set_ssl
    - SSL_new_listener
    - OSSL_QUIC_client_method
    - OSSL_QUIC_server_method
    - TEST_true
    - SSL_CTX_new
    - ssl_attach_bio_dgram
    - SSL_CTX_free
    - SSL_CTX_set_domain_flags
    - SSL_new_domain
    - RP
    - ssl_ctx_configure
    - SSL_free
    - F_POP2
    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:250,1
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:251,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:253,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:253,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:256,1
    - Dst: SSL_new_listener_from
      Src: /src/openssl/test/radix/quic_ops.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:259,1
    - Dst: ssl_attach_bio_dgram
      Src: /src/openssl/test/radix/quic_ops.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:262,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:262,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:262,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:263,1
    - Dst: radix_activate_slot
      Src: /src/openssl/test/radix/quic_ops.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 243
    functionDepth: 7
    functionLinenumber: 243
    functionLinenumberEnd: 272
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - RADIX_PROCESS_set_ssl
    - RADIX_PROCESS_get_obj
    - SSL_new_listener_from
    - TEST_true
    - REQUIRE_SSL
    - ssl_attach_bio_dgram
    - TEST_ptr_null
    - radix_activate_slot
    - RP
    - SSL_free
    - F_POP2
    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:279,1
    - Dst: SSL_listen
      Src: /src/openssl/test/radix/quic_ops.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:282,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/radix/quic_ops.c:285,1
    - Dst: radix_activate_slot
      Src: /src/openssl/test/radix/quic_ops.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_get0_domain
    - TEST_true
    - REQUIRE_SSL
    - SSL_listen
    - 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:300,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:301,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:302,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:304,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:304,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:304,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/radix/quic_ops.c:308,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:311,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/radix/quic_ops.c:313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:316,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:322,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:322,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:322,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 330
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - F_SPIN_AGAIN
    - RADIX_PROCESS_get_obj
    - RADIX_PROCESS_set_ssl
    - F_POP
    - TEST_true
    - SSL_accept_stream
    - REQUIRE_SSL
    - SSL_new_stream
    - TEST_ptr_null
    - RP
    - SSL_free
    - F_POP2
    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:339,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:340,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:342,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:342,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:342,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/radix/quic_ops.c:345,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:349,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:349,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:349,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:350,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/quic_ops.c:356,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/radix/quic_ops.c:358,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:359,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/radix/quic_ops.c:362,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 374
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - RADIX_PROCESS_set_ssl
    - F_SPIN_AGAIN
    - RADIX_PROCESS_get_obj
    - TEST_true
    - REQUIRE_SSL
    - TEST_ptr_null
    - RP
    - TEST_ptr_eq
    - SSL_accept_connection
    - SSL_free
    - F_POP2
    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:381,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/radix/quic_ops.c:383,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:384,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 392
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - TEST_ptr_null
    - SSL_accept_connection
    - SSL_free
    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:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:403,1
    - Dst: RADIX_PROCESS_get_ssl
      Src: /src/openssl/test/radix/quic_ops.c:403,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:403,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/radix/quic_ops.c:406,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:407,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 415
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - RADIX_PROCESS_get_ssl
    - TEST_ptr
    - SSL_accept_stream
    - TEST_ptr_null
    - RP
    - SSL_free
    - F_POP2
    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:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 5
    functionLinenumber: 417
    functionLinenumberEnd: 422
    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:431,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:432,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:434,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/test/radix/quic_ops.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_stream_reset
    - TEST_true
    - F_POP2
    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:448,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:449,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:451,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/radix/quic_ops.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - F_POP
    - 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:465,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:466,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:469,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/radix/quic_ops.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 475
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_set_incoming_stream_policy
    - F_POP
    - 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:485,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:486,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:487,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:488,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/radix/quic_ops.c:490,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/radix/quic_ops.c:491,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/radix/quic_ops.c:491,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/radix/quic_ops.c:493,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:494,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 503
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - ossl_quic_engine_set_inhibit_tick
    - REQUIRE_SSL
    - TEST_int_ge
    - SSL_shutdown_ex
    - ossl_quic_conn_get_channel
    - ossl_quic_channel_get0_engine
    - F_SPIN_AGAIN
    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:510,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:512,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/radix/quic_ops.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 518
    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:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 525
    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:529,1
    - Dst: SSL_want
      Src: /src/openssl/test/radix/quic_ops.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:532,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/quic_ops.c:544,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 547
    functionName: check_consistent_want
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 1
    functionsReached:
    - SSL_want
    - SSL_get_error
    - TEST_true
    - TEST_error
    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:556,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:557,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/radix/quic_ops.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:560,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:561,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 568
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - TEST_true
    - REQUIRE_SSL
    - check_consistent_want
    - TEST_size_t_eq
    - F_POP2
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_write)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:577,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:578,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/radix/quic_ops.c:584,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:585,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:587,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/radix/quic_ops.c:587,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/radix/quic_ops.c:589,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:590,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:591,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:592,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_ops.c:600,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 570
    functionDepth: 8
    functionLinenumber: 570
    functionLinenumberEnd: 602
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - TEST_ptr
    - RAND_bytes
    - OPENSSL_free
    - F_POP
    - TEST_true
    - REQUIRE_SSL
    - TEST_int_eq
    - check_consistent_want
    - TEST_size_t_eq
    - 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:612,1
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:613,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:614,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/test/radix/quic_ops.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:617,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:618,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 625
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - TEST_true
    - REQUIRE_SSL
    - SSL_write_ex2
    - check_consistent_want
    - TEST_size_t_eq
    - F_POP2
    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:633,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/radix/quic_ops.c:635,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:636,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:637,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:637,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 644
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex
    - TEST_false
    - TEST_true
    - REQUIRE_SSL
    - check_consistent_want
    - 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:653,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:654,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:656,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:657,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:657,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/radix/quic_ops.c:657,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/radix/quic_ops.c:660,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:660,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:660,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:661,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:663,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:663,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:667,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:669,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:670,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:671,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/radix/quic_ops.c:675,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:675,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_ops.c:678,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
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 685
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - F_SPIN_AGAIN
    - TEST_mem_eq
    - RT
    - OPENSSL_free
    - TEST_true
    - REQUIRE_SSL
    - SSL_read_ex
    - check_consistent_want
    - OPENSSL_malloc
    - F_POP2
    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:695,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:696,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/radix/quic_ops.c:698,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:699,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:700,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:700,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:701,1
    - Dst: is_want
      Src: /src/openssl/test/radix/quic_ops.c:704,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - F_POP
    - TEST_true
    - REQUIRE_SSL
    - SSL_read_ex
    - is_want
    - check_consistent_want
    - TEST_size_t_eq
    - F_SPIN_AGAIN
    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:717,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:720,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:721,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/radix/quic_ops.c:721,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:725,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/radix/quic_ops.c:725,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:730,1
    - Dst: SSL_connect
      Src: /src/openssl/test/radix/quic_ops.c:731,1
    - Dst: radix_activate_slot
      Src: /src/openssl/test/radix/quic_ops.c:732,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:733,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:733,1
    - Dst: is_want
      Src: /src/openssl/test/radix/quic_ops.c:737,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:738,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:740,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 748
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_set_blocking_mode
    - TEST_false
    - RT
    - SSL_set_alpn_protos
    - SSL_connect
    - TEST_true
    - REQUIRE_SSL
    - TEST_int_eq
    - is_want
    - check_consistent_want
    - radix_activate_slot
    - F_SPIN_AGAIN
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_connect_wait)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:757,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/radix/quic_ops.c:759,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:760,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:760,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:761,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:762,1
    - Dst: is_want
      Src: /src/openssl/test/radix/quic_ops.c:765,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:766,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:768,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/radix/quic_ops.c:768,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:772,1
    - Dst: SSL_want
      Src: /src/openssl/test/radix/quic_ops.c:772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 778
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_want
    - TEST_false
    - TEST_true
    - REQUIRE_SSL
    - TEST_int_eq
    - SSL_read_ex
    - is_want
    - check_consistent_want
    - SSL_get_error
    - TEST_size_t_eq
    - F_SPIN_AGAIN
    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:787,1
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:788,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:789,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/radix/quic_ops.c:793,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:794,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:796,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:798,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:800,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/quic_ops.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 808
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - F_POP
    - SSL_get_conn_close_info
    - REQUIRE_SSL
    - TEST_int_eq
    - TEST_info
    - F_POP2
    - F_SPIN_AGAIN
    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:817,1
    - Dst: SSL_peek_ex
      Src: /src/openssl/test/radix/quic_ops.c:819,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 826
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_peek_ex
    - F_SPIN_AGAIN
    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:833,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:834,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/radix/quic_ops.c:834,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/radix/quic_ops.c:834,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:836,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/radix/quic_ops.c:836,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/radix/quic_ops.c:836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 843
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - ERR_peek_last_error
    - ERR_GET_REASON
    - TEST_size_t_eq
    - ERR_GET_LIB
    - F_POP2
    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:851,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:852,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:854,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/radix/quic_ops.c:854,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:855,1
    - Dst: SSL_want
      Src: /src/openssl/test/radix/quic_ops.c:855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 861
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_want
    - F_POP
    - REQUIRE_SSL
    - TEST_int_eq
    - TEST_size_t_eq
    - SSL_get_error
    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:869,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:870,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/test/radix/quic_ops.c:872,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - F_POP
    - TEST_uint64_t_eq
    - SSL_get_stream_id
    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:888,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:889,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:889,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:889,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/radix/quic_ops.c:892,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:895,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 900
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - RADIX_PROCESS_get_obj
    - TEST_uint64_t_lt
    - RT
    - RP
    - F_POP2
    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:907,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/radix/quic_ops.c:908,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:911,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 916
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_lt
    - F_POP
    - 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:923,1
    - Dst: radix_skip_time
      Src: /src/openssl/test/radix/quic_ops.c:925,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/radix/quic_ops.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 929
    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:940,1
    - Dst: REQUIRE_SSL_N
      Src: /src/openssl/test/radix/quic_ops.c:941,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/radix/quic_ops.c:942,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/radix/quic_ops.c:943,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:944,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:944,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:947,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/radix/quic_ops.c:947,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:950,1
    - Dst: BIO_get_fd
      Src: /src/openssl/test/radix/quic_ops.c:950,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:951,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:955,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/radix/quic_ops.c:955,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:956,1
    - Dst: ntohs
      Src: /src/openssl/test/radix/quic_ops.c:956,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/radix/quic_ops.c:956,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:963,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/radix/quic_ops.c:963,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/radix/quic_ops.c:968,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 970
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - BIO_get_fd
    - TEST_ptr
    - BIO_ADDR_free
    - BIO_sock_info
    - BIO_ADDR_new
    - TEST_true
    - ntohs
    - BIO_ADDR_rawport
    - TEST_int_ge
    - BIO_dgram_set_peer
    - SSL_get_rbio
    - REQUIRE_SSL_N
    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:977,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/radix/quic_ops.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 984
    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: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    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: 994
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 994
    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: 998
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 998
    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: 1002
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    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: 1006
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    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: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    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: 1016
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1016
    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: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    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: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    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: 1031
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1031
    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: 1035
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1035
    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: 1040
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    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: 1046
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1046
    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: 1053
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    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: 1057
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1057
    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: 1064
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1064
    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: 1071
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    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: 1075
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    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: 1081
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    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: 1085
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1085
    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: 1089
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1089
    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: 1093
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1093
    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: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    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: 1102
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    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: 1107
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    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: 1110
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1110
    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: 1116
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1116
    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: 1120
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1120
    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: 1124
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    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: 1129
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1129
    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: 1132
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1132
    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: 1137
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1137
    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: 1142
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    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: 1145
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1145
    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: 1150
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1150
    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: 1156
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1156
    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: 1162
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1162
    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: 1169
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1169
    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: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1173
    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: 1180
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1180
    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: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    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: 1189
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    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: 1194
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1194
    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: 1198
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1198
    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: 1202
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    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: 1206
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1206
    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:
    - bindings_process_finish
    - TEST_true
    - bindings_adjust_terp_config
    - bindings_process_init
    - 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:
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    - OSSL_NELEM
    - test_skip_common_options
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_tests.c:110,1
    - Dst: REQUIRE_SSL_5
      Src: /src/openssl/test/radix/quic_tests.c:111,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:113,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:118,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:123,1
    - Dst: SSL_get0_listener
      Src: /src/openssl/test/radix/quic_tests.c:123,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/radix/quic_tests.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_tests.c:163,1
    - Dst: SSL_poll
      Src: /src/openssl/test/radix/quic_tests.c:163,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/radix/quic_tests.c:163,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/radix/quic_tests.c:167,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_tests.c:168,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/radix/quic_tests.c:171,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/radix/quic_tests.c:172,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/radix/quic_tests.c:179,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/radix/quic_tests.c:179,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/radix/quic_tests.c:179,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 185
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_tests.c
    functionUses: 0
    functionsReached:
    - SSL_get0_listener
    - TEST_uint64_t_eq
    - SSL_as_poll_descriptor
    - F_POP
    - TEST_uint64_t_ge
    - ossl_time_subtract
    - TEST_true
    - ossl_time_now
    - SSL_poll
    - OSSL_NELEM
    - TEST_size_t_eq
    - REQUIRE_SSL_5
    - ossl_time2ms
    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:271,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_tests.c:272,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_tests.c:280,1
    - Dst: SSL_poll
      Src: /src/openssl/test/radix/quic_tests.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_tests.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    - F_POP
    - TEST_true
    - REQUIRE_SSL
    - SSL_poll
    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:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - TEST_ptr
    - 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:
    - assert
    - SSL_free
    - OPENSSL_free
    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:
    - TEST_ptr
    - ossl_crypto_mutex_free
    - BIO_new_file
    - lh_RADIX_OBJ_free
    - ossl_safe_getenv
    - lh_RADIX_OBJ_new
    - sk_RADIX_THREAD_new
    - 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:
    - BIO_printf
    - stream_state_to_str
    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:265,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:269,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/test/radix/quic_bindings.c:272,1
    - Dst: SSL_get_stream_write_state
      Src: /src/openssl/test/radix/quic_bindings.c:273,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/openssl/test/radix/quic_bindings.c:275,1
    - Dst: SSL_get_stream_write_error_code
      Src: /src/openssl/test/radix/quic_bindings.c:278,1
    - Dst: report_ssl_state
      Src: /src/openssl/test/radix/quic_bindings.c:281,1
    - Dst: report_ssl_state
      Src: /src/openssl/test/radix/quic_bindings.c:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - ssl
    - bio
    - pfx
    argTypes:
    - SSL*
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 284
    functionName: report_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - SSL_is_connection
    - BIO_printf
    - report_ssl_state
    - SSL_get_stream_read_error_code
    - SSL_get_conn_close_info
    - SSL_is_listener
    - SSL_get_stream_id
    - SSL_get_stream_read_state
    - SSL_get_stream_write_error_code
    - SSL_get_stream_write_state
    - ossl_quic_frame_type_to_string
    - ossl_quic_err_to_string
    - SSL_is_quic
    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:291,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/radix/quic_bindings.c:292,1
    - Dst: report_ssl
      Src: /src/openssl/test/radix/quic_bindings.c:293,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/radix/quic_bindings.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - arg
    argTypes:
    - RADIX_OBJ*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: report_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - report_ssl
    - BIO_printf
    - ERR_set_mark
    - ERR_pop_to_mark
    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:301,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:304,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - bio
    argTypes:
    - RADIX_THREAD*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 309
    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:314,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:317,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:319,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/radix/quic_bindings.c:320,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:322,1
    - Dst: lh_RADIX_OBJ_doall_arg
      Src: /src/openssl/test/radix/quic_bindings.c:323,1
    - Dst: RADIX_THREAD_report_state
      Src: /src/openssl/test/radix/quic_bindings.c:326,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:326,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rp
    - bio
    - verbose
    argTypes:
    - RADIX_PROCESS*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 331
    functionName: RADIX_PROCESS_report_state
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - lh_RADIX_OBJ_doall_arg
    - RADIX_THREAD_report_state
    - sk_RADIX_THREAD_value
    - ossl_time2ms
    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:342,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:343,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:345,1
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:346,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:348,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:350,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/radix/quic_bindings.c:355,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/radix/quic_bindings.c:356,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/radix/quic_bindings.c:358,1
    - Dst: BIO_write
      Src: /src/openssl/test/radix/quic_bindings.c:359,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:360,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/radix/quic_bindings.c:361,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:362,1
    - Dst: RADIX_THREAD_report_state
      Src: /src/openssl/test/radix/quic_bindings.c:365,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - rp
    - bio
    argTypes:
    - RADIX_PROCESS*
    - BIO*
    assertStmts:
    - condition: (rt->done)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 370
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 370
    functionName: RADIX_PROCESS_report_thread_results
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - sk_RADIX_THREAD_num
    - BIO_printf
    - BIO_write
    - BIO_set_prefix
    - BIO_snprintf
    - BIO_get_mem_data
    - RADIX_THREAD_report_state
    - assert
    - sk_RADIX_THREAD_value
    - ossl_crypto_mutex_unlock
    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:386,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:387,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:389,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:391,1
    - Dst: RADIX_THREAD_join
      Src: /src/openssl/test/radix/quic_bindings.c:391,1
    - Dst: RADIX_PROCESS_report_thread_results
      Src: /src/openssl/test/radix/quic_bindings.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rp
    - testresult
    argTypes:
    - RADIX_PROCESS*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 404
    functionName: RADIX_PROCESS_join_all_threads
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - RADIX_PROCESS_report_thread_results
    - TEST_true
    - RADIX_THREAD_join
    - sk_RADIX_THREAD_value
    - sk_RADIX_THREAD_num
    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:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 410
    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:418,1
    - Dst: sk_RADIX_THREAD_num
      Src: /src/openssl/test/radix/quic_bindings.c:420,1
    - Dst: RADIX_THREAD_free
      Src: /src/openssl/test/radix/quic_bindings.c:421,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:421,1
    - Dst: sk_RADIX_THREAD_free
      Src: /src/openssl/test/radix/quic_bindings.c:423,1
    - Dst: lh_RADIX_OBJ_doall
      Src: /src/openssl/test/radix/quic_bindings.c:426,1
    - Dst: lh_RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:427,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/radix/quic_bindings.c:430,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/radix/quic_bindings.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rp
    argTypes:
    - RADIX_PROCESS*
    assertStmts:
    - condition: (rp->done_join_all_threads)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: RADIX_PROCESS_cleanup
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - RADIX_THREAD_free
    - sk_RADIX_THREAD_free
    - ossl_crypto_mutex_free
    - BIO_free_all
    - lh_RADIX_OBJ_doall
    - assert
    - lh_RADIX_OBJ_free
    - sk_RADIX_THREAD_value
    - sk_RADIX_THREAD_num
    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:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rp
    - name
    argTypes:
    - RADIX_PROCESS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    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:448,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_bindings.c:451,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:453,1
    - Dst: lh_RADIX_OBJ_delete
      Src: /src/openssl/test/radix/quic_bindings.c:456,1
    - Dst: RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:458,1
    - Dst: lh_RADIX_OBJ_insert
      Src: /src/openssl/test/radix/quic_bindings.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - rp
    - name
    - obj
    argTypes:
    - RADIX_PROCESS*
    - char*
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 467
    functionName: RADIX_PROCESS_set_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - TEST_false
    - lh_RADIX_OBJ_insert
    - RADIX_PROCESS_get_obj
    - TEST_true
    - RADIX_OBJ_free
    - lh_RADIX_OBJ_delete
    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:473,1
    - Dst: RADIX_OBJ_new
      Src: /src/openssl/test/radix/quic_bindings.c:473,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:476,1
    - Dst: RADIX_PROCESS_set_obj
      Src: /src/openssl/test/radix/quic_bindings.c:476,1
    - Dst: RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rp
    - name
    - ssl
    argTypes:
    - RADIX_PROCESS*
    - char*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: RADIX_PROCESS_set_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 4
    functionsReached:
    - TEST_ptr
    - TEST_true
    - RADIX_OBJ_free
    - RADIX_PROCESS_set_obj
    - RADIX_OBJ_new
    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:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rp
    - name
    argTypes:
    - RADIX_PROCESS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: RADIX_PROCESS_get_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    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:498,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:499,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/radix/quic_bindings.c:499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:505,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/radix/quic_bindings.c:505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:506,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:511,1
    - Dst: sk_RADIX_THREAD_push
      Src: /src/openssl/test/radix/quic_bindings.c:511,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:512,1
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:517,1
    - Dst: sk_RADIX_THREAD_num
      Src: /src/openssl/test/radix/quic_bindings.c:517,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: 516
        line_start: 516
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 519
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 519
    functionName: RADIX_THREAD_new
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr
    - OPENSSL_free
    - sk_RADIX_THREAD_push
    - TEST_true
    - assert
    - sk_RADIX_THREAD_num
    - ossl_crypto_mutex_new
    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:526,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/radix/quic_bindings.c:527,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:528,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/radix/quic_bindings.c:529,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts:
    - condition: (rt->t == NULL)
      pos:
        line_end: 525
        line_start: 525
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 531
      start: 521
    functionDepth: 4
    functionLinenumber: 521
    functionLinenumberEnd: 531
    functionName: RADIX_THREAD_free
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_free
    - BIO_free_all
    - assert
    - OPENSSL_free
    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:538,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/radix/quic_bindings.c:540,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: RADIX_THREAD_join
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_thread_native_join
    - ossl_crypto_thread_native_clean
    - 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:555,1
    - Dst: abort
      Src: /src/openssl/test/radix/quic_bindings.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 557
    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:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    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:566,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_bindings.c:567,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/radix/quic_bindings.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:570,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/radix/quic_bindings.c:570,1
    - Dst: set_override_bio_out
      Src: /src/openssl/test/radix/quic_bindings.c:573,1
    - Dst: set_override_bio_err
      Src: /src/openssl/test/radix/quic_bindings.c:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 576
    functionName: radix_thread_init
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    - set_override_bio_err
    - TEST_ptr
    - TEST_true
    - CRYPTO_THREAD_set_local
    - TEST_ptr_null
    - set_override_bio_out
    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:580,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:585,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/radix/quic_bindings.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: radix_thread_cleanup
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local
    - radix_get_thread
    - TEST_ptr
    - 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:593,1
    - Dst: RADIX_PROCESS_init
      Src: /src/openssl/test/radix/quic_bindings.c:593,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:596,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/radix/quic_bindings.c:596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:600,1
    - Dst: RADIX_THREAD_new
      Src: /src/openssl/test/radix/quic_bindings.c:600,1
    - Dst: radix_thread_init
      Src: /src/openssl/test/radix/quic_bindings.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - node_idx
    - process_idx
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 605
    functionName: bindings_process_init
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - RADIX_PROCESS_init
    - TEST_ptr
    - TEST_true
    - CRYPTO_THREAD_init_local
    - RADIX_THREAD_new
    - radix_thread_init
    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:611,1
    - Dst: RADIX_PROCESS_join_all_threads
      Src: /src/openssl/test/radix/quic_bindings.c:611,1
    - Dst: RADIX_PROCESS_report_state
      Src: /src/openssl/test/radix/quic_bindings.c:616,1
    - Dst: radix_thread_cleanup
      Src: /src/openssl/test/radix/quic_bindings.c:618,1
    - Dst: RADIX_PROCESS_cleanup
      Src: /src/openssl/test/radix/quic_bindings.c:619,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:622,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - testresult_main
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 628
    functionName: bindings_process_finish
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - RADIX_PROCESS_report_state
    - TEST_true
    - RADIX_PROCESS_cleanup
    - radix_thread_cleanup
    - RADIX_PROCESS_join_all_threads
    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: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: RP
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 9
    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: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: RT
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 224
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:637,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:637,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:638,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:639,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:639,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/radix/quic_bindings.c:641,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/radix/quic_bindings.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: get_time
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 3
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_time_now
    - ossl_time_add
    - RP
    - ossl_crypto_mutex_unlock
    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:646,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:646,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:647,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/radix/quic_bindings.c:647,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:647,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:648,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: radix_skip_time
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - ossl_time_add
    - ossl_crypto_mutex_lock
    - RP
    - ossl_crypto_mutex_unlock
    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:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 655
    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:659,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - terp
    - arg
    argTypes:
    - TERP*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: do_per_op
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - RP
    - lh_RADIX_OBJ_doall
    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: 668
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 668
    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:672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:673,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_bindings.c:673,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: 677
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 677
    functionName: expect_slot_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - RT
    - TEST_ptr
    - 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: 686
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 686
    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: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    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: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    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: 707
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 707
    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: 716
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 716
    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: 719
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 719
    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: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    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: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    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: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    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:734,1
    - Dst: bindings_adjust_terp_config
      Src: /src/openssl/test/radix/quic_bindings.c:734,1
    - Dst: TERP_run
      Src: /src/openssl/test/radix/quic_bindings.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 728
    functionDepth: 7
    functionLinenumber: 728
    functionLinenumberEnd: 743
    functionName: RADIX_THREAD_worker_run
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - bindings_adjust_terp_config
    - TEST_true
    - TERP_run
    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:750,1
    - Dst: radix_thread_init
      Src: /src/openssl/test/radix/quic_bindings.c:750,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:754,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:755,1
    - Dst: RADIX_THREAD_worker_run
      Src: /src/openssl/test/radix/quic_bindings.c:757,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:759,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:762,1
    - Dst: radix_thread_cleanup
      Src: /src/openssl/test/radix/quic_bindings.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 745
    functionDepth: 8
    functionLinenumber: 745
    functionLinenumberEnd: 766
    functionName: RADIX_THREAD_worker_main
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - RADIX_THREAD_worker_run
    - TEST_true
    - radix_thread_cleanup
    - ossl_crypto_mutex_unlock
    - radix_thread_init
    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: 774
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 774
    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:781,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_bindings.c:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 782
    functionName: radix_activate_slot
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 3
    functionsReached:
    - RT
    - radix_activate_obj
    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:790,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:791,1
    - Dst: TEST_skip
      Src: /src/openssl/test/radix/quic_bindings.c:795,1
    - Dst: F_SKIP_REST
      Src: /src/openssl/test/radix/quic_bindings.c:796,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:798,1
    - Dst: RADIX_THREAD_new
      Src: /src/openssl/test/radix/quic_bindings.c:798,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:801,1
    - Dst: BIO_new
      Src: /src/openssl/test/radix/quic_bindings.c:801,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/radix/quic_bindings.c:801,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:806,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:807,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/radix/quic_bindings.c:807,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:809,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:813,1
    - Dst: RADIX_THREAD_free
      Src: /src/openssl/test/radix/quic_bindings.c:818,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 784
    functionDepth: 5
    functionLinenumber: 784
    functionLinenumberEnd: 821
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - RADIX_THREAD_free
    - TEST_ptr
    - BIO_new
    - F_POP
    - TEST_skip
    - F_SKIP_REST
    - ossl_crypto_thread_native_start
    - ossl_crypto_mutex_unlock
    - RADIX_THREAD_new
    - BIO_s_mem
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_spawn_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RT
      Src: /src/openssl/test/radix/quic_bindings.c:825,1
    - Dst: ossl_crypto_mutex_lock
      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_doall
      Src: /src/openssl/test/radix/quic_bindings.c:830,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:830,1
    - Dst: lh_RADIX_OBJ_flush
      Src: /src/openssl/test/radix/quic_bindings.c:831,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:831,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:838,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 840
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - RT
    - lh_RADIX_OBJ_doall
    - lh_RADIX_OBJ_flush
    - RP
    - ossl_crypto_mutex_unlock
    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: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    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: 846
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 846
    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:145,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: 151
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 151
    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:196,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:196,1
    - Dst: SSL_CTX_use_certificate_chain_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_use_PrivateKey_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:226,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:227,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:237,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:240,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 247
    functionName: create_ctx
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_alpn_select_cb
    - fprintf
    - SSL_CTX_use_PrivateKey_file
    - OSSL_QUIC_server_method
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_CTX_use_certificate_chain_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:289,1
    - Dst: BIO_socket
      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: setsockopt
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:304,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:305,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:313,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:315,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:322,1
    - Dst: htons
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:322,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:323,1
    - Dst: BIO_bind
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:328,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:329,1
    - Dst: BIO_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:336,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:336,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:338,1
    - Dst: BIO_set_fd
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:345,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:346,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:353,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:357,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:358,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:359,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 361
    functionName: create_socket
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - BIO_set_fd
    - BIO_s_datagram
    - BIO_new
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_bind
    - BIO_free
    - fprintf
    - BIO_ADDR_new
    - htons
    - BIO_socket
    - memset
    - setsockopt
    - BIO_closesocket
    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:383,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:397,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:399,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:407,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:412,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:419,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:420,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:421,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 427
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert_error_string
    - fprintf
    - SSL_get_stream_read_state
    - SSL_get_verify_result
    - SSL_get_error
    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:475,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:478,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:482,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:488,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:495,1
    - Dst: strrchr
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:498,1
    - Dst: strchr
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:504,1
    - Dst: snprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:508,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:510,1
    - Dst: BIO_new_file
      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:513,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:514,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:519,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:521,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:522,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:523,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:524,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:534,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:536,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:539,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:543,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:557,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:558,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:561,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 1
    argNames:
    - stream
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 459
    functionDepth: 7
    functionLinenumber: 459
    functionLinenumberEnd: 563
    functionName: process_new_stream
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - strchr
    - SSL_stream_conclude
    - SSL_write_ex
    - ERR_print_errors_fp
    - strrchr
    - BIO_free
    - fprintf
    - handle_io_failure
    - SSL_read_ex
    - memset
    - BIO_read_ex
    - BIO_new_file
    - snprintf
    - SSL_get_error
    - BIO_eof
    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:612,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:620,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:624,1
    - Dst: SSL_listen
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:627,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:636,1
    - Dst: printf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:639,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:640,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:642,1
    - Dst: printf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:645,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:654,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:657,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:672,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:684,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:685,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:686,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:687,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:688,1
    - Dst: process_new_stream
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:691,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:692,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:700,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:703,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:707,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - sock
    argTypes:
    - SSL_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 601
    functionDepth: 8
    functionLinenumber: 601
    functionLinenumberEnd: 709
    functionName: run_quic_server
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - process_new_stream
    - ERR_print_errors_fp
    - SSL_new_listener
    - printf
    - SSL_set_incoming_stream_policy
    - fprintf
    - ERR_GET_REASON
    - SSL_shutdown
    - SSL_accept_stream
    - ERR_reason_error_string
    - getenv
    - ERR_get_error
    - SSL_listen
    - SSL_set_bio
    - SSL_free
    - SSL_accept_connection
    - ERR_clear_error
    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:760,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:764,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:768,1
    - Dst: create_ctx
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:771,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:772,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:773,1
    - Dst: strtoul
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:778,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:780,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:783,1
    - Dst: create_socket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:786,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:787,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:788,1
    - Dst: run_quic_server
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:793,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:794,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:795,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:802,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 752
    functionDepth: 7
    functionLinenumber: 752
    functionLinenumberEnd: 805
    functionName: main
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 7
    functionsReached:
    - strtoul
    - ERR_print_errors_fp
    - run_quic_server
    - BIO_free
    - fprintf
    - getenv
    - create_socket
    - create_ctx
    - SSL_CTX_free
    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_set_fd
    - BIO_s_datagram
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_lookup_ex
    - BIO_free
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_ADDR_dup
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    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_SET
    - SSL_get_event_timeout
    - SSL_get_fd
    - select
    - FD_ZERO
    - SSL_net_read_desired
    - SSL_net_write_desired
    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:
    - X509_verify_cert_error_string
    - fprintf
    - SSL_get_stream_read_state
    - SSL_get_verify_result
    - wait_for_activity
    - SSL_get_error
    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:416,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:419,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:427,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:429,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:434,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ssl
    - ctx
    - filename
    argTypes:
    - SSL*
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 443
    functionName: setup_session_cache
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - SSL_set_session
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_new_cb
    - BIO_new_file
    - PEM_read_bio_SSL_SESSION
    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:537,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:538,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:539,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:545,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:546,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:547,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:568,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:571,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:575,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:578,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:582,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:584,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:592,1
    - Dst: memset
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:595,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:596,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:599,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:601,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:616,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:617,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:619,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:620,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:625,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:626,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:645,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:650,1
    - Dst: strlen
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:651,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:653,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:655,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:665,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:666,1
    - Dst: OPENSSL_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:669,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 674
    functionName: build_request_set
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - OPENSSL_free
    - ERR_clear_error
    - BIO_free
    - ERR_GET_REASON
    - SSL_as_poll_descriptor
    - fprintf
    - BIO_snprintf
    - handle_io_failure
    - OPENSSL_realloc_array
    - BIO_flush
    - SSL_new_stream
    - memset
    - SSL_write_ex2
    - ERR_get_error
    - BIO_new_file
    - strlen
    - SSL_free
    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:711,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:711,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:713,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:722,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:730,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:731,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:739,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:740,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:740,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:741,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:747,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:749,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:753,1
    - Dst: setup_session_cache
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:754,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:754,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:755,1
    - Dst: create_socket_bio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:764,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:766,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:769,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:775,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:776,1
    - Dst: SSL_set1_dnsname
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:786,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:787,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:792,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:793,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:798,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:799,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:808,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:809,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:814,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:815,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:817,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:823,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:824,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:825,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: 830
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 830
    functionName: setup_connection
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - BIO_ADDR_free
    - SSL_CTX_free
    - SSL_set1_dnsname
    - create_socket_bio
    - SSL_CTX_set_verify
    - fprintf
    - getenv
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_set_blocking_mode
    - handle_io_failure
    - SSL_CTX_set_default_verify_paths
    - setup_session_cache
    - SSL_set1_initial_peer_addr
    - SSL_new
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_connect
    - SSL_CTX_new
    - SSL_set_bio
    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:868,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:880,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:885,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:893,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:895,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:900,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:901,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:902,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:906,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:908,1
    - Dst: setup_connection
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:914,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:915,1
    - Dst: strtok
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:919,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:923,1
    - Dst: strtok
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:928,1
    - Dst: build_request_set
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:932,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:941,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:943,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:972,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:974,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:984,1
    - Dst: BIO_write
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:995,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:997,1
    - Dst: build_request_set
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1009,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1018,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1019,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1020,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1033,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1040,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1041,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1042,1
    - Dst: BIO_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:1045,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1046,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1048,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1049,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1050,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1051,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 856
    functionDepth: 7
    functionLinenumber: 856
    functionLinenumberEnd: 1053
    functionName: main
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 7
    functionsReached:
    - BIO_ADDR_free
    - SSL_read_ex
    - BIO_read_ex
    - SSL_poll
    - SSL_CTX_free
    - BIO_new_file
    - OPENSSL_zalloc
    - OPENSSL_free
    - BIO_write
    - fprintf
    - OPENSSL_realloc
    - OPENSSL_realloc_array
    - SSL_free
    - BIO_free
    - handle_io_failure
    - build_request_set
    - BIO_eof
    - ERR_print_errors_fp
    - SSL_shutdown
    - setup_connection
    - strtok
    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
    - BIO_get_data
    - TEST_ptr
    - 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_time_subtract
    - printf
    - ossl_time_compare
    - ossl_ms2time
    - ossl_time2ms
    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:
    - BIO_sendmmsg
    - TEST_ptr
    - ERR_raise
    - struct noisy_dgram_st*::now_cb
    - ossl_time_now
    - BIO_next
    - BIO_get_data
    - bandwidth_limit
    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:
    - printf
    - BIO_dump_fp
    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_ptr
    - BIO_recvmmsg
    - TEST_size_t_le
    - get_noise
    - printf
    - ERR_raise
    - struct noisy_dgram_st*::now_cb
    - BIO_dump_fp
    - ossl_time_now
    - bio_msg_copy
    - TEST_size_t_eq
    - flip_bits
    - BIO_get_data
    - BIO_next
    - bandwidth_limit
    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:
    - BIO_ADDR_free
    - OPENSSL_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:
    - data_free
    - OPENSSL_zalloc
    - TEST_ptr
    - BIO_set_init
    - BIO_ADDR_new
    - OPENSSL_malloc
    - BIO_set_data
    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_get_data
    - data_free
    - BIO_set_init
    - BIO_set_data
    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_set_sendmmsg
    - BIO_meth_new
    - BIO_meth_set_recvmmsg
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    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_BLD_free
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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
    - get_dh_from_pg_bn
    - BN_free
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 8
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: get_dh512
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 2
    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:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 8
    functionLinenumber: 91
    functionLinenumberEnd: 121
    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:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 8
    functionLinenumber: 123
    functionLinenumberEnd: 158
    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:165,1
    - Dst: BN_set_word
      Src: /src/openssl/test/helpers/predefined_dhparams.c:166,1
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/openssl/test/helpers/predefined_dhparams.c:169,1
    - Dst: get_dh_from_pg_bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:173,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:176,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 7
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: get_dh2048
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - BN_get_rfc3526_prime_2048
    - BN_set_word
    - get_dh_from_pg_bn
    - BN_free
    - BN_new
    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:186,1
    - Dst: BN_set_word
      Src: /src/openssl/test/helpers/predefined_dhparams.c:187,1
    - Dst: BN_get_rfc3526_prime_4096
      Src: /src/openssl/test/helpers/predefined_dhparams.c:190,1
    - Dst: get_dh_from_pg_bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:194,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:197,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 7
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: get_dh4096
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - BN_get_rfc3526_prime_4096
    - get_dh_from_pg_bn
    - BN_free
    - BN_new
    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:96,1
    - Dst: bio_msg_copy
      Src: /src/openssl/test/helpers/pktsplitbio.c:99,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/pktsplitbio.c:104,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: 113
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 113
    functionName: pkt_split_dgram_recvmmsg
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - ossl_quic_wire_decode_pkt_hdr
    - TEST_ptr
    - PACKET_buf_init
    - memmove
    - bio_msg_copy
    - assert
    - BIO_recvmmsg
    - BIO_get_data
    - BIO_next
    - TEST_size_t_eq
    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:124,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/pktsplitbio.c:127,1
    - Dst: BIO_meth_set_sendmmsg
      Src: /src/openssl/test/helpers/pktsplitbio.c:128,1
    - Dst: BIO_meth_set_recvmmsg
      Src: /src/openssl/test/helpers/pktsplitbio.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: bio_f_pkt_split_dgram_filter
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 0
    functionsReached:
    - BIO_meth_new
    - BIO_meth_set_recvmmsg
    - BIO_meth_set_ctrl
    - BIO_meth_set_sendmmsg
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: server_srp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake_srp.c
    functionUses: 0
    functionsReached:
    - SSL_set_srp_server_param_pw
    - strcmp
    - 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:51,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:52,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:55,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:56,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/test/helpers/handshake_srp.c:61,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake_srp.c:64,1
    - Dst: SSL_CTX_set_srp_username_callback
      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_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:71,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/test/helpers/handshake_srp.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake_srp.c:79,1
    - Dst: SSL_CTX_set_srp_username
      Src: /src/openssl/test/helpers/handshake_srp.c:79,1
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/openssl/test/helpers/handshake_srp.c:82,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:83,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/test/helpers/handshake_srp.c:86,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: 89
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 89
    functionName: configure_handshake_ctx_for_srp
    functionSourceFile: /src/openssl/test/helpers/handshake_srp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - SSL_CTX_set_srp_cb_arg
    - TEST_ptr
    - OPENSSL_free
    - SSL_CTX_set_srp_username
    - TEST_true
    - SSL_CTX_set_srp_username_callback
    - 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:
    - OPENSSL_zalloc
    - TEST_ptr
    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:85,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:88,1
    - Dst: SSL_alert_type_string
      Src: /src/openssl/test/helpers/handshake.c:88,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:89,1
    - Dst: SSL_alert_desc_string
      Src: /src/openssl/test/helpers/handshake.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: info_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_alert_type_string
    - SSL_alert_desc_string
    - strcmp
    - 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:105,1
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:106,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:113,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/helpers/handshake.c:115,1
    - Dst: SSL_clear_options
      Src: /src/openssl/test/helpers/handshake.c:121,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/helpers/handshake.c:122,1
    - Dst: SSL_CTX_get_options
      Src: /src/openssl/test/helpers/handshake.c:122,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - s
    - arg
    - ignore
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: select_server_ctx
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_options
    - SSL_get_servername
    - SSL_clear_options
    - SSL_set_SSL_CTX
    - strcmp
    - SSL_get_ex_data
    - SSL_set_options
    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:143,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/openssl/test/helpers/handshake.c:149,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:176,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/helpers/handshake.c:176,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/helpers/handshake.c:178,1
    - Dst: SSL_clear_options
      Src: /src/openssl/test/helpers/handshake.c:184,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/helpers/handshake.c:185,1
    - Dst: SSL_CTX_get_options
      Src: /src/openssl/test/helpers/handshake.c:185,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:189,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/helpers/handshake.c:189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - s
    - arg
    - ignore
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 197
    functionName: client_hello_select_server_ctx
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_options
    - SSL_client_hello_get0_ext
    - SSL_clear_options
    - SSL_set_SSL_CTX
    - SSL_get_ex_data
    - strlen
    - SSL_set_options
    - 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:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    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:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 226
    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:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 235
    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:243,1
    - Dst: SSL_client_hello_get0_session_id
      Src: /src/openssl/test/helpers/handshake.c:248,1
    - Dst: SSL_client_hello_get0_random
      Src: /src/openssl/test/helpers/handshake.c:249,1
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/openssl/test/helpers/handshake.c:249,1
    - Dst: SSL_client_hello_get0_compression_methods
      Src: /src/openssl/test/helpers/handshake.c:249,1
    - Dst: client_hello_select_server_ctx
      Src: /src/openssl/test/helpers/handshake.c:253,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/helpers/handshake.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: client_hello_nov12_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - client_hello_select_server_ctx
    - SSL_client_hello_get0_legacy_version
    - SSL_set_max_proto_version
    - SSL_client_hello_get0_ciphers
    - SSL_client_hello_get0_session_id
    - SSL_client_hello_get0_random
    - 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:271,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/openssl/test/helpers/handshake.c:277,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 283
    functionName: server_ocsp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - i2d_OCSP_RESPONSE
    - SSL_set_tlsext_status_ocsp_resp
    - OPENSSL_free
    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:287,1
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/handshake.c:292,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/helpers/handshake.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 297
    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:305,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/test/helpers/handshake.c:308,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/helpers/handshake.c:310,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/helpers/handshake.c:312,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/openssl/test/helpers/handshake.c:313,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/helpers/handshake.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: client_ocsp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_get_tlsext_status_ocsp_resp
    - OCSP_RESPONSE_free
    - d2i_OCSP_RESPONSE
    - OCSP_response_status
    - 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:323,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/helpers/handshake.c:326,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/test/helpers/handshake.c:331,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/test/helpers/handshake.c:336,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/helpers/handshake.c:338,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/helpers/handshake.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: client_ocsp_cb_ext
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_get0_tlsext_status_ocsp_resp_ex
    - sk_OCSP_RESPONSE_num
    - OCSP_response_status
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    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:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 350
    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:355,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:360,1
    - Dst: SSL_set_retry_verify
      Src: /src/openssl/test/helpers/handshake.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: verify_retry_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - 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: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    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: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    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:386,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: 389
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 389
    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:396,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/helpers/handshake.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:407,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/handshake.c:407,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/handshake.c:415,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/helpers/handshake.c:421,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/helpers/handshake.c:428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:434,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - protos
    - out
    - outlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 437
    functionName: parse_protos
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_free
    - TEST_ptr_null
    - strlen
    - memcpy
    - OPENSSL_malloc
    - TEST_size_t_gt
    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:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:457,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: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: client_npn_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    - TEST_true
    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: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    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:493,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: 501
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 501
    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:506,1
    - Dst: SSL_SESSION_set1_ticket_appdata
      Src: /src/openssl/test/helpers/handshake.c:512,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: generate_session_ticket_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_SESSION_set1_ticket_appdata
    - 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: 533
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 533
    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:550,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/helpers/handshake.c:550,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:555,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/helpers/handshake.c:555,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:560,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/helpers/handshake.c:560,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/helpers/handshake.c:567,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/helpers/handshake.c:571,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/helpers/handshake.c:574,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/openssl/test/helpers/handshake.c:586,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/helpers/handshake.c:598,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/helpers/handshake.c:599,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/helpers/handshake.c:602,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/helpers/handshake.c:603,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/helpers/handshake.c:608,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/helpers/handshake.c:611,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/helpers/handshake.c:614,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/openssl/test/helpers/handshake.c:619,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:620,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:626,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:628,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:629,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:630,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:636,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:638,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:639,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:640,1
    - Dst: sk_OCSP_RESPONSE_new_null
      Src: /src/openssl/test/helpers/handshake.c:646,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:647,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/test/helpers/handshake.c:648,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:650,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:651,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:652,1
    - Dst: sk_OCSP_RESPONSE_new_null
      Src: /src/openssl/test/helpers/handshake.c:658,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:659,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/test/helpers/handshake.c:660,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:662,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:663,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:664,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:670,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:672,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:673,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:674,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/helpers/handshake.c:687,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/helpers/handshake.c:691,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:696,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:696,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/openssl/test/helpers/handshake.c:700,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:704,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:704,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:707,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/openssl/test/helpers/handshake.c:709,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:713,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:713,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/openssl/test/helpers/handshake.c:717,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:722,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:722,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/helpers/handshake.c:726,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:729,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:730,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:730,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/helpers/handshake.c:734,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:741,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:741,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:744,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/helpers/handshake.c:744,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:748,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake.c:752,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:753,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/helpers/handshake.c:755,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:759,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake.c:761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:762,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/helpers/handshake.c:764,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/openssl/test/helpers/handshake.c:772,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:773,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:773,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/helpers/handshake.c:774,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/openssl/test/helpers/handshake.c:774,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:778,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:781,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:785,1
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/openssl/test/helpers/handshake.c:785,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:789,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/openssl/test/helpers/handshake.c:789,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:794,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/openssl/test/helpers/handshake.c:794,1
    - Dst: configure_handshake_ctx_for_srp
      Src: /src/openssl/test/helpers/handshake.c:802,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:809,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/helpers/handshake.c:809,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:811,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/helpers/handshake.c:811,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: 818
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 818
    functionName: configure_handshake_ctx
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_tlsext_status_type
    - SSL_CTX_set_tlsext_ticket_keys
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_CTX_set_cert_verify_callback
    - SSL_CTX_set_alpn_protos
    - SSL_CTX_set_tlsext_status_arg
    - OPENSSL_zalloc
    - OPENSSL_free
    - SSL_CTX_compress_certs
    - TEST_int_eq
    - configure_handshake_ctx_for_srp
    - sk_OCSP_RESPONSE_new_null
    - SSL_CTX_set_npn_advertised_cb
    - SSL_CTX_set_session_ticket_cb
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_max_send_fragment
    - SSL_CTX_enable_ct
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - SSL_CTX_set_tlsext_status_cb
    - SSL_CTX_set_client_hello_cb
    - sk_OCSP_RESPONSE_push
    - OPENSSL_strdup
    - SSL_CTX_set_tlsext_servername_arg
    - parse_protos
    - SSL_CTX_set_next_proto_select_cb
    - TEST_long_eq
    - SSL_CTX_set_default_ctlog_list_file
    - OCSP_response_create
    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:825,1
    - Dst: ssl_servername_name
      Src: /src/openssl/test/helpers/handshake.c:826,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/helpers/handshake.c:828,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: 829
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 829
    functionName: configure_handshake_ssl
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - ssl_servername_name
    - SSL_set_tlsext_host_name
    - SSL_set_post_handshake_auth
    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:860,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/handshake.c:860,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:861,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:861,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:862,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:862,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/handshake.c:871,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:872,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - peer
    - ctx
    argTypes:
    - PEER*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: create_peer
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSL_new
    - TEST_ptr
    - OPENSSL_free
    - SSL_free
    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:879,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:880,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 882
    functionName: peer_free_data
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - OPENSSL_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:890,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/helpers/handshake.c:893,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 908
    functionName: do_handshake_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - SSL_get_error
    - SSL_do_handshake
    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:923,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/handshake.c:930,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/helpers/handshake.c:932,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:941,1
    - Dst: SSL_write
      Src: /src/openssl/test/helpers/handshake.c:952,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:955,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 979
    functionName: do_app_data_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_write
    - TEST_int_le
    - TEST_int_eq
    - SSL_read
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: void do_app_data_step(PEER *peer)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:993,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:997,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:998,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1017,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1019,1
    - Dst: SSL_renegotiate_pending
      Src: /src/openssl/test/helpers/handshake.c:1024,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1030,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/helpers/handshake.c:1031,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/helpers/handshake.c:1040,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/helpers/handshake.c:1044,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/helpers/handshake.c:1052,1
    - Dst: SSL_renegotiate_abbreviated
      Src: /src/openssl/test/helpers/handshake.c:1054,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1060,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1080,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/helpers/handshake.c:1087,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1092,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1101,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/helpers/handshake.c:1102,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/helpers/handshake.c:1111,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1117,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/handshake.c:1132,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:1141,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/helpers/handshake.c:1147,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 2
    argNames:
    - test_ctx
    - peer
    argTypes:
    - SSL_TEST_CTX*
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1152
    functionName: do_reneg_setup_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_renegotiate_pending
    - do_handshake_step
    - SSL_in_init
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_verify_client_post_handshake
    - SSL_is_server
    - TEST_int_eq
    - SSL_set_cipher_list
    - SSL_read
    - SSL_key_update
    - SSL_renegotiate_abbreviated
    - SSL_set_options
    - SSL_renegotiate
    - SSL_get_error
    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:1173,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/handshake.c:1177,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:1182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1187
    functionName: do_shutdown_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - SSL_shutdown
    - SSL_get_error
    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: 1208
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1208
    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: 1219
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1219
    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:1226,1
    - Dst: post_handshake_op
      Src: /src/openssl/test/helpers/handshake.c:1226,1
    - Dst: post_handshake_op
      Src: /src/openssl/test/helpers/handshake.c:1232,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/handshake.c:1242,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: 1246
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1246
    functionName: next_phase
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - renegotiate_op
    - post_handshake_op
    - TEST_error
    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:1253,1
    - Dst: do_app_data_step
      Src: /src/openssl/test/helpers/handshake.c:1256,1
    - Dst: do_reneg_setup_step
      Src: /src/openssl/test/helpers/handshake.c:1259,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1262,1
    - Dst: do_app_data_step
      Src: /src/openssl/test/helpers/handshake.c:1265,1
    - Dst: do_shutdown_step
      Src: /src/openssl/test/helpers/handshake.c:1268,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/handshake.c:1271,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: 1274
      start: 1248
    functionDepth: 3
    functionLinenumber: 1248
    functionLinenumberEnd: 1274
    functionName: do_connect_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - do_handshake_step
    - do_app_data_step
    - do_reneg_setup_step
    - TEST_error
    - do_shutdown_step
    linkageType: ''
    returnType: void
    signature: "void do_connect_step(const SSL_TEST_CTX *test_ctx, PEER *peer,\n    connect_phase_t
      phase)"
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    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: 1295
    functionDepth: 0
    functionLinenumber: 1295
    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:
    - OPENSSL_strndup
    - TEST_ptr
    - OPENSSL_strnlen
    - TEST_size_t_eq
    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:
    - OBJ_txt2nid
    - EVP_PKEY_is_a
    - EVP_PKEY_get_id
    - EVP_PKEY_get_group_name
    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:
    - SSL_get0_peer_certificate
    - pkey_type
    - X509_get0_pubkey
    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
    - BIO_new_dgram_sctp
    - setsockopt
    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_sock_init
    - BIO_connect
    - BIO_ADDRINFO_address
    - BIO_lookup_ex
    - BIO_accept_ex
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_listen
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - set_sock_as_sctp
    linkageType: ''
    returnType: int
    signature: int create_sctp_socks(int *ssock, int *csock)
  - BBCount: 41
    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_negotiated_group
      Src: /src/openssl/test/helpers/handshake.c:1823,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/helpers/handshake.c:1825,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/test/helpers/handshake.c:1828,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/test/helpers/handshake.c:1829,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/openssl/test/helpers/handshake.c:1831,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/openssl/test/helpers/handshake.c:1832,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1834,1
    - Dst: SSL_dup_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1838,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1840,1
    - Dst: SSL_dup_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1844,1
    - Dst: peer_pkey_type
      Src: /src/openssl/test/helpers/handshake.c:1846,1
    - Dst: peer_pkey_type
      Src: /src/openssl/test/helpers/handshake.c:1847,1
    - Dst: ctx_data_free_data
      Src: /src/openssl/test/helpers/handshake.c:1849,1
    - Dst: ctx_data_free_data
      Src: /src/openssl/test/helpers/handshake.c:1850,1
    - Dst: ctx_data_free_data
      Src: /src/openssl/test/helpers/handshake.c:1851,1
    - Dst: peer_free_data
      Src: /src/openssl/test/helpers/handshake.c:1853,1
    - Dst: peer_free_data
      Src: /src/openssl/test/helpers/handshake.c:1854,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 214
    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: 1856
      start: 1527
    functionDepth: 10
    functionLinenumber: 1527
    functionLinenumberEnd: 1856
    functionName: do_handshake_internal
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - SSL_get0_session
    - TEST_ptr
    - SSL_set_info_callback
    - peer_pkey_type
    - TEST_true
    - SSL_get_peer_tmp_key
    - SSL_version
    - SSL_CIPHER_get_name
    - SSL_get1_session
    - BIO_up_ref
    - BIO_new_dgram_sctp
    - HANDSHAKE_RESULT_free
    - HANDSHAKE_RESULT_new
    - next_phase
    - BIO_new
    - SSL_set_connect_state
    - create_sctp_socks
    - TEST_int_gt
    - TEST_note
    - SSL_get_session
    - do_connect_step
    - TEST_int_eq
    - SSL_get_current_compression
    - SSL_get0_alpn_selected
    - SSL_get_current_cipher
    - handshake_status
    - SSL_CTX_set_mode
    - SSL_get_peer_signature_nid
    - BIO_s_mem
    - SSL_SESSION_get0_ticket_appdata
    - SSL_get_peer_signature_type_nid
    - SSL_SESSION_get_id
    - OPENSSL_strndup
    - SSL_CTX_add_session
    - configure_handshake_ssl
    - SSL_SESSION_dup
    - SSL_set_session
    - SSL_get_negotiated_group
    - SSL_dup_CA_list
    - memset
    - SSL_get0_peer_CA_list
    - pkey_type
    - EVP_PKEY_free
    - SSL_session_reused
    - ctx_data_free_data
    - BIO_set_nbio
    - SSL_SESSION_get0_ticket
    - SSL_get0_next_proto_negotiated
    - SSL_get_ex_new_index
    - TEST_int_ge
    - peer_free_data
    - SSL_set_ex_data
    - dup_str
    - strlen
    - SSL_set_bio
    - time
    - create_peer
    - configure_handshake_ctx
    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:1866,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/openssl/test/helpers/handshake.c:1879,1
    - Dst: do_handshake_internal
      Src: /src/openssl/test/helpers/handshake.c:1881,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/helpers/handshake.c:1885,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/helpers/handshake.c:1886,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: 1888
      start: 1858
    functionDepth: 11
    functionLinenumber: 1858
    functionLinenumberEnd: 1888
    functionName: do_handshake
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 20
    functionsReached:
    - SSL_SESSION_free
    - HANDSHAKE_RESULT_free
    - do_handshake_internal
    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: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    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: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: load_cert_asn1
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - d2i_X509
    - TEST_ptr
    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:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 15
    functionLinenumber: 86
    functionLinenumberEnd: 95
    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:103,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    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:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    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: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    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:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    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:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    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:148,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/pkcs12.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:149,1
    - Dst: PKCS12_add_safes
      Src: /src/openssl/test/helpers/pkcs12.c:154,1
    - Dst: PKCS12_add_safes_ex
      Src: /src/openssl/test/helpers/pkcs12.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:157,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:161,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/test/helpers/pkcs12.c:165,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/helpers/pkcs12.c:167,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/helpers/pkcs12.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:169,1
    - Dst: PKCS12_set_mac
      Src: /src/openssl/test/helpers/pkcs12.c:169,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:169,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:175,1
    - Dst: write_p12
      Src: /src/openssl/test/helpers/pkcs12.c:179,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/helpers/pkcs12.c:182,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 140
    functionDepth: 10
    functionLinenumber: 140
    functionLinenumberEnd: 184
    functionName: generate_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 2
    functionsReached:
    - PKCS12_free
    - OBJ_nid2sn
    - TEST_ptr
    - BIO_new
    - PKCS12_add_safes
    - write_p12
    - EVP_get_digestbynid
    - PKCS12_add_safes_ex
    - TEST_true
    - EVP_MD_fetch
    - PKCS12_set_mac
    - EVP_MD_free
    - strlen
    - sk_PKCS7_pop_free
    - i2d_PKCS12_bio
    - BIO_s_mem
    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:189,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:194,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:194,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/pkcs12.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p12
    - outfile
    argTypes:
    - PKCS12*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: write_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - BIO_free
    - TEST_int_eq
    - i2d_PKCS12_bio
    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:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:209,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:212,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/pkcs12.c:213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:214,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/pkcs12.c:217,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/test/helpers/pkcs12.c:217,1
    - Dst: check_p12_mac
      Src: /src/openssl/test/helpers/pkcs12.c:220,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - bio
    - mac
    argTypes:
    - BIO*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: from_bio_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - d2i_PKCS12_bio
    - PKCS12_free
    - TEST_false
    - TEST_ptr
    - BIO_free
    - PKCS12_init_ex
    - check_p12_mac
    - PKCS12_mac_present
    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:233,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:237,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/pkcs12.c:238,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:239,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/pkcs12.c:242,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/test/helpers/pkcs12.c:242,1
    - Dst: check_p12_mac
      Src: /src/openssl/test/helpers/pkcs12.c:245,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - infile
    - mac
    argTypes:
    - char*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 252
    functionName: read_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - d2i_PKCS12_bio
    - PKCS12_free
    - TEST_false
    - TEST_ptr
    - BIO_free
    - check_p12_mac
    - BIO_new_file
    - PKCS12_mac_present
    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:256,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/test/helpers/pkcs12.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:257,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/test/helpers/pkcs12.c:257,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p12
    - mac
    argTypes:
    - PKCS12*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: check_p12_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 2
    functionsReached:
    - strlen
    - PKCS12_mac_present
    - 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: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    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:272,1
    - Dst: PKCS12_add_safe
      Src: /src/openssl/test/helpers/pkcs12.c:272,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: end_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 8
    functionsReached:
    - sk_PKCS12_SAFEBAG_pop_free
    - PKCS12_add_safe
    - 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:283,1
    - Dst: PKCS12_add_safe
      Src: /src/openssl/test/helpers/pkcs12.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:287,1
    - Dst: PKCS12_add_safe_ex
      Src: /src/openssl/test/helpers/pkcs12.c:287,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pb
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: end_contentinfo_encrypted
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - PKCS12_add_safe_ex
    - sk_PKCS12_SAFEBAG_pop_free
    - PKCS12_add_safe
    - 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:333,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:340,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/helpers/pkcs12.c:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:344,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/openssl/test/helpers/pkcs12.c:344,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:347,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/openssl/test/helpers/pkcs12.c:347,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:348,1
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/pkcs12.c:351,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:351,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/openssl/test/helpers/pkcs12.c:352,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/helpers/pkcs12.c:352,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/test/helpers/pkcs12.c:353,1
    - Dst: PKCS12_SAFEBAG_set0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:354,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/test/helpers/pkcs12.c:355,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:358,1
    - Dst: PKCS12_add1_attr_by_txt
      Src: /src/openssl/test/helpers/pkcs12.c:358,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:360,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - bag
    - attr
    argTypes:
    - PKCS12_SAFEBAG*
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 328
    functionDepth: 8
    functionLinenumber: 328
    functionLinenumberEnd: 368
    functionName: add_attributes
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_set0_attrs
    - X509_ATTRIBUTE_free
    - PKCS12_add_friendlyname
    - TEST_true
    - OBJ_txt2nid
    - X509_ATTRIBUTE_create
    - PKCS12_SAFEBAG_get0_attrs
    - OBJ_txt2obj
    - STACK_OF
    - PKCS12_add1_attr_by_txt
    - strlen
    - TEST_info
    - PKCS12_add_localkeyid
    - X509at_add1_attr
    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:380,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:381,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/test/helpers/pkcs12.c:386,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/helpers/pkcs12.c:386,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/pkcs12.c:388,1
    - Dst: PKCS12_add_cert
      Src: /src/openssl/test/helpers/pkcs12.c:390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:391,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:396,1
    - Dst: add_attributes
      Src: /src/openssl/test/helpers/pkcs12.c:396,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/pkcs12.c:401,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: 402
      start: 370
    functionDepth: 9
    functionLinenumber: 370
    functionLinenumberEnd: 402
    functionName: add_certbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - TEST_ptr
    - X509_NAME_oneline
    - OPENSSL_free
    - X509_free
    - TEST_true
    - add_attributes
    - X509_get_subject_name
    - load_cert_asn1
    - PKCS12_add_cert
    - TEST_info
    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:413,1
    - Dst: load_pkey_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:415,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:416,1
    - Dst: PKCS12_add_key
      Src: /src/openssl/test/helpers/pkcs12.c:422,1
    - Dst: PKCS12_add_key_ex
      Src: /src/openssl/test/helpers/pkcs12.c:424,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:426,1
    - Dst: add_attributes
      Src: /src/openssl/test/helpers/pkcs12.c:430,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/pkcs12.c:433,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: 434
      start: 404
    functionDepth: 16
    functionLinenumber: 404
    functionLinenumberEnd: 434
    functionName: add_keybag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 5
    functionsReached:
    - PKCS12_add_key
    - TEST_ptr
    - load_pkey_asn1
    - add_attributes
    - PKCS12_add_key_ex
    - EVP_PKEY_free
    - TEST_info
    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:444,1
    - Dst: PKCS12_add_secret
      Src: /src/openssl/test/helpers/pkcs12.c:446,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:448,1
    - Dst: add_attributes
      Src: /src/openssl/test/helpers/pkcs12.c:452,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: 454
      start: 436
    functionDepth: 9
    functionLinenumber: 436
    functionLinenumberEnd: 454
    functionName: add_secretbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 3
    functionsReached:
    - PKCS12_add_secret
    - TEST_ptr
    - add_attributes
    - strlen
    - TEST_info
    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:465,1
    - Dst: OPENSSL_uni2asc
      Src: /src/openssl/test/helpers/pkcs12.c:470,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/helpers/pkcs12.c:470,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/helpers/pkcs12.c:471,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/helpers/pkcs12.c:472,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/helpers/pkcs12.c:477,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:477,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/helpers/pkcs12.c:477,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/helpers/pkcs12.c:478,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/helpers/pkcs12.c:483,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:483,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/helpers/pkcs12.c:484,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/helpers/pkcs12.c:485,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/pkcs12.c:495,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - av
    - txt
    argTypes:
    - ASN1_TYPE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 497
    functionName: check_asn1_string
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - OPENSSL_uni2asc
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_free
    - ASN1_STRING_length
    - TEST_str_eq
    - ASN1_STRING_get0_data
    - strlen
    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:507,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/test/helpers/pkcs12.c:511,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/test/helpers/pkcs12.c:512,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/helpers/pkcs12.c:513,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/pkcs12.c:517,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:518,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/test/helpers/pkcs12.c:518,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/test/helpers/pkcs12.c:521,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/test/helpers/pkcs12.c:522,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:523,1
    - Dst: check_asn1_string
      Src: /src/openssl/test/helpers/pkcs12.c:523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - bag_attrs
    - attrs
    argTypes:
    - STACK_OF*
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 499
    functionDepth: 7
    functionLinenumber: 499
    functionLinenumberEnd: 534
    functionName: check_attrs
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - X509_ATTRIBUTE_get0_object
    - X509_ATTRIBUTE_get0_type
    - TEST_true
    - strcmp
    - TEST_int_eq
    - X509_ATTRIBUTE_count
    - check_asn1_string
    - OBJ_obj2txt
    - sk_X509_ATTRIBUTE_value
    linkageType: ''
    returnType: int
    signature: int check_attrs(const STACK_OF(X509_ATTRIBUTE) *bag_attrs, const PKCS12_ATTR
      *attrs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/helpers/pkcs12.c:546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:547,1
    - Dst: check_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:551,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:551,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:552,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/test/helpers/pkcs12.c:552,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:553,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/test/helpers/pkcs12.c:553,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/openssl/test/helpers/pkcs12.c:557,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:558,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/helpers/pkcs12.c:562,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/openssl/test/helpers/pkcs12.c:562,1
    - Dst: load_cert_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:567,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/pkcs12.c:568,1
    - Dst: X509_cmp
      Src: /src/openssl/test/helpers/pkcs12.c:568,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/pkcs12.c:571,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/pkcs12.c:572,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - pb
    - bytes
    - len
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 536
    functionDepth: 8
    functionLinenumber: 536
    functionLinenumberEnd: 573
    functionName: check_certbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - PKCS12_SAFEBAG_get_bag_nid
    - TEST_false
    - TEST_ptr
    - PKCS12_SAFEBAG_get0_bag_obj
    - X509_free
    - PKCS12_SAFEBAG_get_nid
    - sk_PKCS12_SAFEBAG_value
    - X509_cmp
    - check_attrs
    - TEST_int_eq
    - PKCS12_SAFEBAG_get0_attrs
    - TEST_ptr_null
    - PKCS12_SAFEBAG_get1_cert
    - load_cert_asn1
    linkageType: ''
    returnType: void
    signature: "void check_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes,
      int len,\n    const PKCS12_ATTR *attrs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/helpers/pkcs12.c:587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:588,1
    - Dst: check_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:593,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:593,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/test/helpers/pkcs12.c:598,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/openssl/test/helpers/pkcs12.c:600,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:601,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/helpers/pkcs12.c:601,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/openssl/test/helpers/pkcs12.c:609,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:609,1
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/openssl/test/helpers/pkcs12.c:611,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:611,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:613,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:617,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/helpers/pkcs12.c:617,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/helpers/pkcs12.c:618,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/helpers/pkcs12.c:622,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/helpers/pkcs12.c:629,1
    - Dst: PKCS12_SAFEBAG_get0_bag_type
      Src: /src/openssl/test/helpers/pkcs12.c:629,1
    - Dst: load_pkey_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:635,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:636,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/helpers/pkcs12.c:636,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/pkcs12.c:639,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/pkcs12.c:640,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - pb
    - bytes
    - len
    - attrs
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 575
    functionDepth: 16
    functionLinenumber: 575
    functionLinenumberEnd: 641
    functionName: check_keybag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 5
    functionsReached:
    - EVP_PKCS82PKEY
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_ptr
    - PKCS12_decrypt_skey_ex
    - load_pkey_asn1
    - PKCS12_SAFEBAG_get0_bag_type
    - PKCS12_SAFEBAG_get_nid
    - EVP_PKEY_eq
    - sk_PKCS12_SAFEBAG_value
    - TEST_true
    - PKCS12_SAFEBAG_get0_p8inf
    - check_attrs
    - PKCS12_SAFEBAG_get0_attrs
    - PKCS12_decrypt_skey
    - TEST_ptr_null
    - EVP_PKEY_free
    - strlen
    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:650,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:651,1
    - Dst: check_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:656,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:656,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:657,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/test/helpers/pkcs12.c:657,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:658,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/test/helpers/pkcs12.c:658,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:659,1
    - Dst: check_asn1_string
      Src: /src/openssl/test/helpers/pkcs12.c:659,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/openssl/test/helpers/pkcs12.c:659,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: 661
      start: 643
    functionDepth: 8
    functionLinenumber: 643
    functionLinenumberEnd: 661
    functionName: check_secretbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 3
    functionsReached:
    - PKCS12_SAFEBAG_get_bag_nid
    - TEST_ptr
    - PKCS12_SAFEBAG_get0_bag_obj
    - PKCS12_SAFEBAG_get_nid
    - sk_PKCS12_SAFEBAG_value
    - TEST_true
    - check_attrs
    - TEST_int_eq
    - PKCS12_SAFEBAG_get0_attrs
    - check_asn1_string
    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:670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:671,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:675,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:676,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 681
    functionName: start_check_pkcs12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - from_bio_p12
    - PKCS12_unpack_authsafes
    - PKCS12_free
    - TEST_ptr
    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:690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:691,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:695,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:696,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 683
    functionDepth: 4
    functionLinenumber: 683
    functionLinenumberEnd: 701
    functionName: start_check_pkcs12_with_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - from_bio_p12
    - PKCS12_unpack_authsafes
    - PKCS12_free
    - TEST_ptr
    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:710,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:711,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:716,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 721
    functionName: start_check_pkcs12_file
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - PKCS12_unpack_authsafes
    - PKCS12_free
    - read_p12
    - TEST_ptr
    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:730,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:731,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:736,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 723
    functionDepth: 4
    functionLinenumber: 723
    functionLinenumberEnd: 741
    functionName: start_check_pkcs12_file_with_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - PKCS12_unpack_authsafes
    - PKCS12_free
    - read_p12
    - TEST_ptr
    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:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 749
    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:757,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:758,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:762,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/test/helpers/pkcs12.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: start_check_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 8
    functionsReached:
    - decode_contentinfo
    - TEST_info
    - sk_PKCS12_SAFEBAG_num
    - TEST_ptr
    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:771,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:772,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:776,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/test/helpers/pkcs12.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 777
    functionName: start_check_contentinfo_encrypted
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - decode_contentinfo
    - TEST_info
    - sk_PKCS12_SAFEBAG_num
    - TEST_ptr
    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:784,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/test/helpers/pkcs12.c:784,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: end_check_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached:
    - TEST_int_eq
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS12_SAFEBAG_num
    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: 2
    functionsReached:
    - sk_X509_num
    - sk_X509_value
    - X509_cmp
    linkageType: ''
    returnType: int
    signature: int STACK_OF_X509_cmp(const STACK_OF(X509) *sk1, const STACK_OF(X509)
      *sk2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/test/helpers/cmp_testlib.c:73,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/helpers/cmp_testlib.c:73,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/helpers/cmp_testlib.c:75,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/helpers/cmp_testlib.c:76,1
    - Dst: sk_X509_find
      Src: /src/openssl/test/helpers/cmp_testlib.c:77,1
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/cmp_testlib.c:77,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/helpers/cmp_testlib.c:80,1
    - Dst: X509_cmp
      Src: /src/openssl/test/helpers/cmp_testlib.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - sk1
    - sk2
    argTypes:
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: STACK_OF_X509_cmp_deep
    functionSourceFile: /src/openssl/test/helpers/cmp_testlib.c
    functionUses: 1
    functionsReached:
    - sk_X509_find
    - X509_cmp
    - sk_X509_num
    - sk_X509_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int STACK_OF_X509_cmp_deep(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:110,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: 111
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 111
    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:
    - BIO_ctrl
    - PACKET_buf_init
    - ossl_quic_wire_peek_frame_header
    - SSL_is_server
    - SSL_trace
    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:290,1
    - Dst: bio_f_noisy_dgram_filter
      Src: /src/openssl/test/helpers/quictestlib.c:290,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:292,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:296,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:296,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:302,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/helpers/quictestlib.c:309,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/helpers/quictestlib.c:310,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/quictestlib.c:313,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:315,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:319,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/test/helpers/quictestlib.c:319,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/quictestlib.c:322,1
    - Dst: qtest_get_bio_method
      Src: /src/openssl/test/helpers/quictestlib.c:322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:323,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/quictestlib.c:326,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/quictestlib.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:330,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:330,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/quictestlib.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:339,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/test/helpers/quictestlib.c:339,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/helpers/quictestlib.c:343,1
    - Dst: qtest_reset_time
      Src: /src/openssl/test/helpers/quictestlib.c:349,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/test/helpers/quictestlib.c:351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:356,1
    - Dst: ossl_quic_tserver_new
      Src: /src/openssl/test/helpers/quictestlib.c:356,1
    - Dst: ossl_quic_tserver_get_short_header_conn_id_len
      Src: /src/openssl/test/helpers/quictestlib.c:360,1
    - Dst: ossl_quic_tserver_set_msg_callback
      Src: /src/openssl/test/helpers/quictestlib.c:366,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/quictestlib.c:372,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/helpers/quictestlib.c:376,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/quictestlib.c:377,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/helpers/quictestlib.c:378,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/helpers/quictestlib.c:379,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/helpers/quictestlib.c:380,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:381,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/helpers/quictestlib.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:385,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:386,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/quictestlib.c:387,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: 392
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 392
    functionName: qtest_create_quic_objects
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 25
    functionsReached:
    - SSL_set_msg_callback
    - TEST_ptr
    - BIO_ADDR_free
    - qtest_get_bio_method
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - TEST_true
    - htons
    - ossl_quic_tserver_new
    - SSL_CTX_free
    - BIO_up_ref
    - BIO_dgram_set_caps
    - ossl_quic_set_override_now_cb
    - ossl_quic_tserver_get_short_header_conn_id_len
    - ossl_crypto_condvar_free
    - ossl_crypto_mutex_new
    - OPENSSL_zalloc
    - BIO_new
    - BIO_new_fp
    - ossl_quic_tserver_free
    - OPENSSL_free
    - BIO_new_dgram
    - bio_f_pkt_split_dgram_filter
    - TEST_int_eq
    - qtest_reset_time
    - SSL_set_bio
    - SSL_free
    - BIO_set_data
    - bio_f_noisy_dgram_filter
    - ossl_quic_tserver_set_msg_callback
    - SSL_set_blocking_mode
    - TEST_false
    - SSL_CTX_up_ref
    - BIO_new_bio_dgram_pair
    - BIO_free
    - CRYPTO_THREAD_lock_new
    - BIO_push
    - BIO_dgram_set0_local_addr
    - BIO_ctrl
    - SSL_set1_initial_peer_addr
    - SSL_new
    - SSL_set_alpn_protos
    - BIO_free_all
    - close
    - ossl_crypto_condvar_new
    - create_test_sockets
    - SSL_set_msg_callback_arg
    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:396,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/helpers/quictestlib.c:398,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/helpers/quictestlib.c:398,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: qtest_add_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 7
    functionsReached:
    - ossl_time_add
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - ossl_ms2time
    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:406,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/helpers/quictestlib.c:407,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: qtest_get_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_time_zero
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    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:415,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/helpers/quictestlib.c:417,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:418,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/helpers/quictestlib.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 421
    functionName: qtest_reset_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_time_zero
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - qtest_add_time
    linkageType: ''
    returnType: void
    signature: void qtest_reset_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 426
    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:430,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/helpers/quictestlib.c:430,1
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 431
    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:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ts
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 443
    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: 452
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 452
    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:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    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:479,1
    - Dst: BIO_pending
      Src: /src/openssl/test/helpers/quictestlib.c:483,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/helpers/quictestlib.c:483,1
    - Dst: BIO_pending
      Src: /src/openssl/test/helpers/quictestlib.c:484,1
    - Dst: ossl_quic_tserver_get0_rbio
      Src: /src/openssl/test/helpers/quictestlib.c:484,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/helpers/quictestlib.c:494,1
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:498,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/helpers/quictestlib.c:500,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/test/helpers/quictestlib.c:502,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/test/helpers/quictestlib.c:502,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/helpers/quictestlib.c:503,1
    - Dst: ossl_quic_tserver_get_deadline
      Src: /src/openssl/test/helpers/quictestlib.c:503,1
    - Dst: ossl_time_min
      Src: /src/openssl/test/helpers/quictestlib.c:504,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/test/helpers/quictestlib.c:505,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/helpers/quictestlib.c:509,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/helpers/quictestlib.c:509,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/helpers/quictestlib.c:511,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/helpers/quictestlib.c:511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - s
    - qtserv
    argTypes:
    - SSL*
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 514
    functionName: qtest_wait_for_timeout
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - SSL_get_blocking_mode
    - ossl_quic_tserver_get0_rbio
    - SSL_get_event_timeout
    - qtest_get_time
    - ossl_time_subtract
    - ossl_time_is_infinite
    - BIO_pending
    - ossl_time_now
    - ossl_time_infinite
    - OSSL_sleep
    - SSL_get_rbio
    - ossl_quic_tserver_get_deadline
    - ossl_time_min
    - ossl_time_from_timeval
    - ossl_time2ms
    - 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:536,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:542,1
    - Dst: SSL_get_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:553,1
    - Dst: run_thread
      Src: /src/openssl/test/helpers/quictestlib.c:553,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/quictestlib.c:559,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:569,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/test/helpers/quictestlib.c:571,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:572,1
    - Dst: SSL_connect
      Src: /src/openssl/test/helpers/quictestlib.c:574,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/quictestlib.c:576,1
    - Dst: tsan_store
      Src: /src/openssl/test/helpers/quictestlib.c:582,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/quictestlib.c:589,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/helpers/quictestlib.c:590,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/helpers/quictestlib.c:597,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/helpers/quictestlib.c:599,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:602,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/test/helpers/quictestlib.c:606,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:608,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/helpers/quictestlib.c:610,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/helpers/quictestlib.c:614,1
    - Dst: ossl_quic_tserver_is_handshake_confirmed
      Src: /src/openssl/test/helpers/quictestlib.c:616,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/quictestlib.c:623,1
    - Dst: qtest_wait_for_timeout
      Src: /src/openssl/test/helpers/quictestlib.c:628,1
    - Dst: defined
      Src: /src/openssl/test/helpers/quictestlib.c:633,1
    - Dst: tsan_load
      Src: /src/openssl/test/helpers/quictestlib.c:634,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:644,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/test/helpers/quictestlib.c:646,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:647,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:648,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/helpers/quictestlib.c:648,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:648,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/quictestlib.c:651,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 98
    argCount: 3
    argNames:
    - qtserv
    - clientssl
    - wanterr
    argTypes:
    - QUIC_TSERVER*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 660
    functionName: qtest_create_quic_connection_ex
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - SSL_handle_events
    - TEST_ptr
    - TEST_true
    - TEST_error
    - wait_for_thread
    - qtest_add_time
    - ossl_quic_tserver_tick
    - tsan_load
    - run_thread
    - ossl_quic_tserver_is_term_any
    - SSL_get_error
    - SSL_get_blocking_mode
    - tsan_store
    - qtest_wait_for_timeout
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_condvar_wait
    - ossl_quic_tserver_is_handshake_confirmed
    - ossl_crypto_mutex_unlock
    - defined
    - TEST_openssl_errors
    - ossl_crypto_mutex_lock
    - SSL_connect
    - TEST_info
    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:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qtserv
    - clientssl
    argTypes:
    - QUIC_TSERVER*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: qtest_create_quic_connection
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 24
    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:678,1
    - Dst: tsan_load
      Src: /src/openssl/test/helpers/quictestlib.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 680
    functionName: run_server_shutdown_thread
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - tsan_load
    - ossl_quic_tserver_tick
    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:694,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/helpers/quictestlib.c:696,1
    - Dst: SSL_get_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:700,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:708,1
    - Dst: run_thread
      Src: /src/openssl/test/helpers/quictestlib.c:708,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/quictestlib.c:713,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/quictestlib.c:720,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/helpers/quictestlib.c:731,1
    - Dst: tsan_store
      Src: /src/openssl/test/helpers/quictestlib.c:735,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:737,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/helpers/quictestlib.c:737,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - qtserv
    - clientssl
    argTypes:
    - QUIC_TSERVER*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 743
    functionName: qtest_shutdown
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 3
    functionsReached:
    - SSL_get_blocking_mode
    - ossl_quic_tserver_tick
    - tsan_store
    - ossl_crypto_mutex_free
    - run_thread
    - TEST_true
    - SSL_shutdown
    - TEST_error
    - wait_for_thread
    - ossl_crypto_condvar_free
    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:749,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:754,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/helpers/quictestlib.c:754,1
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/helpers/quictestlib.c:757,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:758,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:759,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/quictestlib.c:760,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/helpers/quictestlib.c:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - qtserv
    - code
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 765
    functionName: qtest_check_server_transport_err
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tserver_tick
    - TEST_ptr
    - TEST_false
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_tserver_is_term_any
    - ossl_quic_tserver_get_terminate_cause
    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:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtserv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 770
    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:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtserv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 775
    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:782,1
    - Dst: handshake_finish
      Src: /src/openssl/test/helpers/quictestlib.c:783,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fault
    argTypes:
    - QTEST_FAULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: qtest_fault_free
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 8
    functionsReached:
    - OPENSSL_free
    - handshake_finish
    - packet_plain_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:818,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/quictestlib.c:821,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:831,1
    - Dst: QTEST_FAULT*::pplaincb
      Src: /src/openssl/test/helpers/quictestlib.c:844,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: 817
        line_start: 817
        source_file: /src/openssl/test/helpers/quictestlib.c
    constantsTouched: []
    func_position:
      end: 853
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 853
    functionName: packet_plain_mutate
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - QTEST_FAULT*::pplaincb
    - memcpy
    - assert
    - OPENSSL_malloc
    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:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 864
    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:873,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: 877
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 877
    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:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 909
    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: qtest_fault_resize_plain_packet
      Src: /src/openssl/test/helpers/quictestlib.c:933,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/quictestlib.c:934,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/quictestlib.c:938,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - fault
    - frame
    - frame_len
    argTypes:
    - QTEST_FAULT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 942
    functionName: qtest_fault_prepend_frame
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 19
    functionsReached:
    - memmove
    - TEST_info
    - memcpy
    - qtest_fault_resize_plain_packet
    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:954,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:961,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/quictestlib.c:963,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/helpers/quictestlib.c:964,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/test/helpers/quictestlib.c:965,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/quictestlib.c:966,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:981,1
    - Dst: QTEST_FAULT*::encextcb
      Src: /src/openssl/test/helpers/quictestlib.c:983,1
    - Dst: QTEST_FAULT*::handshakecb
      Src: /src/openssl/test/helpers/quictestlib.c:993,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: 1001
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 1001
    functionName: handshake_mutate
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - QTEST_FAULT*::handshakecb
    - PACKET_data
    - PACKET_get_net_3
    - PACKET_get_1
    - memcpy
    - OPENSSL_malloc
    - QTEST_FAULT*::encextcb
    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:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    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:1018,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: 1022
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1022
    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:1031,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: 1035
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1035
    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:1059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1064
    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:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1079
    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:1093,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/helpers/quictestlib.c:1097,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:1101,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/helpers/quictestlib.c:1102,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/helpers/quictestlib.c:1103,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:1108,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/helpers/quictestlib.c:1111,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:1114,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:1114,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/quictestlib.c:1115,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/helpers/quictestlib.c:1116,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/helpers/quictestlib.c:1117,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/helpers/quictestlib.c:1121,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/quictestlib.c:1131,1
    - Dst: qtest_fault_resize_message
      Src: /src/openssl/test/helpers/quictestlib.c:1155,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: 1159
      start: 1081
    functionDepth: 5
    functionLinenumber: 1081
    functionLinenumberEnd: 1159
    functionName: qtest_fault_delete_extension
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - PACKET_remaining
    - qtest_fault_resize_message
    - WPACKET_get_total_written
    - PACKET_buf_init
    - WPACKET_cleanup
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - PACKET_data
    - PACKET_get_length_prefixed_2
    - memmove
    - WPACKET_finish
    - WPACKET_init
    - 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: 1166
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1166
    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:1171,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/quictestlib.c:1182,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/helpers/quictestlib.c:1185,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/test/helpers/quictestlib.c:1193,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/quictestlib.c:1196,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:1199,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/quictestlib.c:1204,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/helpers/quictestlib.c:1208,1
    - Dst: QTEST_DATA*::fault::pciphercb
      Src: /src/openssl/test/helpers/quictestlib.c:1217,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/quictestlib.c:1229,1
    - Dst: QTEST_DATA*::fault::datagramcb
      Src: /src/openssl/test/helpers/quictestlib.c:1233,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/helpers/quictestlib.c:1237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:1242,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:1250,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: 1253
      start: 1167
    functionDepth: 3
    functionLinenumber: 1167
    functionLinenumberEnd: 1253
    functionName: pcipher_sendmmsg
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - PACKET_remaining
    - QTEST_DATA*::fault::datagramcb
    - ossl_quic_wire_decode_pkt_hdr
    - QTEST_DATA*::fault::pciphercb
    - PACKET_buf_init
    - OPENSSL_free
    - BIO_MSG_N
    - BIO_next
    - BIO_get_data
    - memcpy
    - OPENSSL_malloc
    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:1257,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - parg
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1255
    functionDepth: 3
    functionLinenumber: 1255
    functionLinenumberEnd: 1263
    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:1267,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/quictestlib.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1269
    functionName: pcipher_destroy
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int pcipher_destroy(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/quictestlib.c:1278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:1280,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1283,1
    - Dst: BIO_meth_set_sendmmsg
      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_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1284,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1285,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/quictestlib.c:1285,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/quictestlib.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1293
    functionName: qtest_get_bio_method
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - TEST_ptr
    - BIO_meth_set_destroy
    - BIO_meth_set_sendmmsg
    - TEST_true
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_free
    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: 1303
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1303
    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: 1313
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1313
    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:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1328
    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:1337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:1337,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1339,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1339,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1341,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1341,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1344,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1348,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1348,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: 1353
      start: 1330
    functionDepth: 3
    functionLinenumber: 1330
    functionLinenumberEnd: 1353
    functionName: qtest_fault_set_bw_limit
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - BIO_ctrl
    - TEST_int_eq
    - TEST_ptr
    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:1361,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1366,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/test/helpers/quictestlib.c:1366,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/test/helpers/quictestlib.c:1369,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1372,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/test/helpers/quictestlib.c:1372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BIO_MSG*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1376
    functionName: bio_msg_copy
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - BIO_ADDR_copy
    - BIO_ADDR_clear
    - memcpy
    - 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:48,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:51,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/helpers/ssltestlib.c:52,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/helpers/ssltestlib.c:53,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/helpers/ssltestlib.c:54,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:55,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:56,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:57,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: bio_f_tls_dump_filter
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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: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: 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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    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:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    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:84,1
    - Dst: BIO_test_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:86,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:87,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: copy_flags
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 4
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_test_flags
    - BIO_next
    linkageType: ''
    returnType: void
    signature: void copy_flags(BIO *bio)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:119,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:126,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:127,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:129,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:133,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:134,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:137,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:138,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:140,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:142,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:153,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:155,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:158,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:159,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:164,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:168,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:170,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:172,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:183,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:186,1
    - Dst: fflush
      Src: /src/openssl/test/helpers/ssltestlib.c:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 188
    functionName: dump_data
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    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:193,1
    - Dst: BIO_read
      Src: /src/openssl/test/helpers/ssltestlib.c:195,1
    - Dst: copy_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:196,1
    - Dst: dump_data
      Src: /src/openssl/test/helpers/ssltestlib.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: tls_dump_read
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - copy_flags
    - dump_data
    - 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:208,1
    - Dst: BIO_write
      Src: /src/openssl/test/helpers/ssltestlib.c:210,1
    - Dst: copy_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 214
    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:219,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 233
    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: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    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:243,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/ssltestlib.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 244
    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:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - MEMPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    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:284,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:286,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:287,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/helpers/ssltestlib.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:288,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/helpers/ssltestlib.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:289,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/helpers/ssltestlib.c:289,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:290,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:291,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:292,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: bio_s_mempacket_test
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - TEST_true
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: bio_s_mempacket_test_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 5
    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:307,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/ssltestlib.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:309,1
    - Dst: sk_MEMPACKET_new_null
      Src: /src/openssl/test/helpers/ssltestlib.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:310,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:315,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: mempacket_test_new
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - TEST_ptr
    - OPENSSL_free
    - sk_MEMPACKET_new_null
    - BIO_set_data
    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:322,1
    - Dst: sk_MEMPACKET_pop_free
      Src: /src/openssl/test/helpers/ssltestlib.c:324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:325,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:326,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: mempacket_test_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 5
    functionsReached:
    - BIO_set_init
    - OPENSSL_free
    - sk_MEMPACKET_pop_free
    - BIO_get_data
    - BIO_set_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:342,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:348,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:349,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/helpers/ssltestlib.c:352,1
    - Dst: sk_MEMPACKET_shift
      Src: /src/openssl/test/helpers/ssltestlib.c:355,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/ssltestlib.c:391,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/helpers/ssltestlib.c:395,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:404,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:405,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 407
    functionName: mempacket_test_read
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - sk_MEMPACKET_value
    - mempacket_free
    - BIO_set_retry_read
    - memmove
    - sk_MEMPACKET_shift
    - BIO_get_data
    - memcpy
    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:415,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:420,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:429,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:451,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:455,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/ssltestlib.c:460,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:470,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:478,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:479,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 490
    functionName: mempacket_swap_epoch
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - sk_MEMPACKET_value
    - OPENSSL_free
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_num
    - memmove
    - BIO_get_data
    - memcpy
    - 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:495,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:497,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:508,1
    - Dst: sk_MEMPACKET_delete
      Src: /src/openssl/test/helpers/ssltestlib.c:513,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:517,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - bio
    - d
    - s
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 526
    functionName: mempacket_move_packet
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - sk_MEMPACKET_value
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_delete
    - BIO_get_data
    - sk_MEMPACKET_num
    linkageType: ''
    returnType: int
    signature: int mempacket_move_packet(BIO *bio, int d, int s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:536,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:537,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:542,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - bio
    - rectype
    - hs_msg_type
    - pktidx
    - recidx
    argTypes:
    - BIO*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 567
    functionName: mempacket_find_record
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - BIO_get_data
    - sk_MEMPACKET_value
    - sk_MEMPACKET_num
    linkageType: ''
    returnType: int
    signature: "int mempacket_find_record(BIO *bio, int rectype, int hs_msg_type,\n
      \   int *pktidx, int *recidx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:576,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:578,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:585,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:605,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:612,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:616,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:619,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:620,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:624,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:625,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:626,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:632,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:634,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - bio
    - pktidx
    - recidx
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 637
    functionName: mempacket_split_packet_at
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - sk_MEMPACKET_value
    - OPENSSL_free
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_num
    - BIO_get_data
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int mempacket_split_packet_at(BIO *bio, int pktidx, int recidx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:646,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:654,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/helpers/ssltestlib.c:658,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:687,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - bio
    - pktidx
    - recidx
    - data
    - datalen
    argTypes:
    - BIO*
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 690
    functionName: mempacket_append_to_record
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_get_data
    - memcpy
    - sk_MEMPACKET_value
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: "int mempacket_append_to_record(BIO *bio, int pktidx, int recidx,\n
      \   unsigned char *data, size_t datalen)"
  - BBCount: 6
    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:696,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:703,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:707,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/helpers/ssltestlib.c:712,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:714,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:718,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 724
    functionName: mempacket_dup_last_packet
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_memdup
    - sk_MEMPACKET_value
    - mempacket_free
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_num
    - 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:729,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:761,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:765,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:765,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:775,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:778,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:785,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:786,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:786,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:790,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:803,1
    - Dst: sk_MEMPACKET_push
      Src: /src/openssl/test/helpers/ssltestlib.c:824,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:835,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: 837
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 837
    functionName: mempacket_test_inject
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - sk_MEMPACKET_value
    - TEST_ptr
    - mempacket_free
    - OPENSSL_malloc
    - sk_MEMPACKET_push
    - sk_MEMPACKET_insert
    - BIO_get_data
    - memcpy
    - sk_MEMPACKET_num
    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:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 842
    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:847,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:852,1
    - Dst: BIO_get_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:855,1
    - Dst: BIO_set_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:858,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:864,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 894
    functionName: mempacket_test_ctrl
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - sk_MEMPACKET_value
    - BIO_set_shutdown
    - BIO_get_shutdown
    - BIO_get_data
    - sk_MEMPACKET_num
    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: 900
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 900
    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:904,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/ssltestlib.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 905
    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:918,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:918,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:920,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:920,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:922,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/helpers/ssltestlib.c:922,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:924,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/helpers/ssltestlib.c:924,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:926,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/helpers/ssltestlib.c:926,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:928,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:928,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:930,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:930,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:932,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:932,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 937
    functionName: bio_s_always_retry
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 6
    functionsReached:
    - TEST_ptr
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - TEST_true
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 942
    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:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 948
    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:952,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 955
    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: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    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:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 966
    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:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 972
    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:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    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:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 998
    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:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    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:1018,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1018,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1020,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:1020,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1022,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:1022,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1024,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:1024,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1026,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:1026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1031
    functionName: bio_s_maybe_retry
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - TEST_ptr
    - BIO_meth_set_destroy
    - TEST_true
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    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:1040,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:1045,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1048
    functionName: maybe_retry_new
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - 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:1052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1054,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:1055,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: maybe_retry_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    - OPENSSL_free
    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:1062,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:1068,1
    - Dst: BIO_write
      Src: /src/openssl/test/helpers/ssltestlib.c:1073,1
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1060
    functionDepth: 4
    functionLinenumber: 1060
    functionLinenumberEnd: 1074
    functionName: maybe_retry_write
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_get_data
    - BIO_next
    - BIO_set_retry_write
    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:1078,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:1090,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:1096,1
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1098
    functionName: maybe_retry_ctrl
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_get_data
    - BIO_next
    - BIO_set_retry_write
    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:1111,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1111,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1112,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/helpers/ssltestlib.c:1112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1120,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1120,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/helpers/ssltestlib.c:1132,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/helpers/ssltestlib.c:1132,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1138,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:1138,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1141,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:1141,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1146,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:1146,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1149,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:1149,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1154,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/helpers/ssltestlib.c:1154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1157,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/helpers/ssltestlib.c:1157,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1161,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/helpers/ssltestlib.c:1161,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1173,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1175,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: 1177
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1177
    functionName: create_ssl_ctx_pair
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 128
    functionsReached:
    - SSL_CTX_new_ex
    - TLS_client_method
    - TEST_ptr
    - SSL_CTX_use_certificate_file
    - TEST_true
    - SSL_CTX_set_options
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_check_private_key
    - TEST_int_eq
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - TLS_server_method
    - SSL_CTX_set_max_proto_version
    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:1190,1
    - Dst: openssl_fdset
      Src: /src/openssl/test/helpers/ssltestlib.c:1191,1
    - Dst: select
      Src: /src/openssl/test/helpers/ssltestlib.c:1195,1
    - Dst: FD_ISSET
      Src: /src/openssl/test/helpers/ssltestlib.c:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1198
    functionName: wait_until_sock_readable
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - FD_ZERO
    - FD_ISSET
    - openssl_fdset
    - select
    linkageType: ''
    returnType: int
    signature: int wait_until_sock_readable(int sock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/helpers/ssltestlib.c:1208,1
    - Dst: inet_addr
      Src: /src/openssl/test/helpers/ssltestlib.c:1210,1
    - Dst: BIO_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1212,1
    - Dst: bind
      Src: /src/openssl/test/helpers/ssltestlib.c:1217,1
    - Dst: getsockname
      Src: /src/openssl/test/helpers/ssltestlib.c:1220,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/helpers/ssltestlib.c:1224,1
    - Dst: listen
      Src: /src/openssl/test/helpers/ssltestlib.c:1228,1
    - Dst: BIO_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1231,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/ssltestlib.c:1236,1
    - Dst: accept
      Src: /src/openssl/test/helpers/ssltestlib.c:1250,1
    - Dst: connect
      Src: /src/openssl/test/helpers/ssltestlib.c:1254,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/ssltestlib.c:1260,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/ssltestlib.c:1260,1
    - Dst: close
      Src: /src/openssl/test/helpers/ssltestlib.c:1269,1
    - Dst: close
      Src: /src/openssl/test/helpers/ssltestlib.c:1271,1
    - Dst: close
      Src: /src/openssl/test/helpers/ssltestlib.c:1274,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: 1276
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1276
    functionName: create_test_sockets
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 4
    functionsReached:
    - inet_addr
    - bind
    - BIO_ADDR_rawmake
    - listen
    - BIO_socket_nbio
    - getsockname
    - BIO_socket
    - memset
    - close
    - 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:1287,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1291,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1291,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1294,1
    - Dst: BIO_new_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1294,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1295,1
    - Dst: BIO_new_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1295,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/ssltestlib.c:1298,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1298,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/ssltestlib.c:1299,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1299,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1302,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1303,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1305,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1305,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1306,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1306,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1307,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1309,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1310,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1313,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1313,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1314,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1315,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1316,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1317,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1318,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1326,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1327,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1328,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1329,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: 1331
      start: 1278
    functionDepth: 3
    functionLinenumber: 1278
    functionLinenumberEnd: 1331
    functionName: create_ssl_objects2
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - SSL_new
    - TEST_false
    - TEST_ptr
    - SSL_get_wpoll_descriptor
    - BIO_new_socket
    - BIO_free
    - TEST_true
    - TEST_int_eq
    - SSL_set_bio
    - SSL_get_rpoll_descriptor
    - SSL_free
    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: 1338
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1338
    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:1353,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1353,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1357,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1357,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/helpers/ssltestlib.c:1360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1361,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1361,1
    - Dst: bio_s_mempacket_test
      Src: /src/openssl/test/helpers/ssltestlib.c:1361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1362,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1362,1
    - Dst: bio_s_mempacket_test
      Src: /src/openssl/test/helpers/ssltestlib.c:1362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1365,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1365,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/ssltestlib.c:1365,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1366,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1366,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/ssltestlib.c:1366,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1371,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/ssltestlib.c:1371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1374,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/ssltestlib.c:1374,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/helpers/ssltestlib.c:1378,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/helpers/ssltestlib.c:1379,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/ssltestlib.c:1382,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/ssltestlib.c:1384,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1385,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1389,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1390,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1396,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1397,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1398,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1399,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1400,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1401,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: 1404
      start: 1345
    functionDepth: 5
    functionLinenumber: 1345
    functionLinenumberEnd: 1404
    functionName: create_ssl_objects
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 120
    functionsReached:
    - SSL_new
    - TEST_ptr
    - BIO_new
    - BIO_set_mem_eof_return
    - BIO_free
    - SSL_is_dtls
    - bio_s_mempacket_test
    - BIO_up_ref
    - BIO_push
    - SSL_set_bio
    - SSL_free
    - BIO_s_mem
    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:1421,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1428,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1432,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1437,1
    - Dst: SSL_connect
      Src: /src/openssl/test/helpers/ssltestlib.c:1445,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1447,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1452,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/helpers/ssltestlib.c:1454,1
    - Dst: DTLSv1_listen
      Src: /src/openssl/test/helpers/ssltestlib.c:1464,1
    - Dst: SSL_accept
      Src: /src/openssl/test/helpers/ssltestlib.c:1478,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1480,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1488,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/helpers/ssltestlib.c:1490,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/ssltestlib.c:1502,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1504,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/ssltestlib.c:1510,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1512,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1519,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/helpers/ssltestlib.c:1528,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1539,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: 1542
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1542
    functionName: create_bare_ssl_connection_ex
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - SSL_accept
    - TEST_ptr
    - BIO_ADDR_free
    - SSL_connect
    - BIO_ADDR_new
    - TEST_error
    - SSL_is_dtls
    - DTLSv1_listen
    - SSL_read
    - OSSL_sleep
    - TEST_info
    - SSL_get_error
    - TEST_openssl_errors
    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:1547,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: 1549
      start: 1544
    functionDepth: 3
    functionLinenumber: 1544
    functionLinenumberEnd: 1549
    functionName: create_bare_ssl_connection
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 9
    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:1562,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1572,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1573,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1575,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1575,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: 1584
      start: 1555
    functionDepth: 3
    functionLinenumber: 1555
    functionLinenumberEnd: 1584
    functionName: create_ssl_connection_ex
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - TEST_int_eq
    - SSL_read_ex
    - TEST_size_t_eq
    - create_bare_ssl_connection_ex
    - SSL_get_error
    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:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - serverssl
    - clientssl
    - want
    argTypes:
    - SSL*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1586
    functionDepth: 4
    functionLinenumber: 1586
    functionLinenumberEnd: 1589
    functionName: create_ssl_connection
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 120
    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:1593,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:1594,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1595,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - serverssl
    - clientssl
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1597
    functionName: shutdown_ssl_connection
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 6
    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:1612,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/helpers/ssltestlib.c:1618,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1623,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1624,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1625,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1626,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/test/helpers/ssltestlib.c:1626,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1627,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/test/helpers/ssltestlib.c:1627,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1628,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/test/helpers/ssltestlib.c:1629,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ssl
    - mdsize
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1635
    functionName: create_a_psk
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - SSL_SESSION_new
    - SSL_CIPHER_find
    - TEST_ptr
    - SSL_SESSION_set1_master_key
    - TEST_true
    - SSL_SESSION_free
    - SSL_SESSION_set_protocol_version
    - SSL_SESSION_set_cipher
    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:1648,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/helpers/ssltestlib.c:1648,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1651,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1651,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/helpers/ssltestlib.c:1654,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1656,1
    - Dst: i2d_X509
      Src: /src/openssl/test/helpers/ssltestlib.c:1666,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/helpers/ssltestlib.c:1667,1
    - Dst: X509_up_ref
      Src: /src/openssl/test/helpers/ssltestlib.c:1669,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/openssl/test/helpers/ssltestlib.c:1671,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1672,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1679,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1680,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: 1682
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1682
    functionName: ssl_ctx_add_large_cert_chain
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - TEST_ptr
    - X509_up_ref
    - X509_free
    - BIO_free
    - SSL_CTX_add_extra_chain_cert
    - X509_new_ex
    - BIO_new_file
    - i2d_X509
    - OPENSSL_assert
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:31,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: 29
    functionDepth: 3
    functionLinenumber: 29
    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:74,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: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    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: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    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:107,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: parse_expected_result
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:117,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - ssl_test_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    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:134,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alert
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: parse_alert
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 140
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    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:149,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    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:165,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: parse_protocol
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:171,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:188,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: parse_client_verify_callback
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:198,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - ssl_verify_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    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:215,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: parse_servername
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:227,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: parse_expected_servername
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:237,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_servername_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    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:258,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - server_conf
    - value
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: parse_servername_callback
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:268,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - ssl_servername_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    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:283,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: parse_session_ticket
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:293,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_session_ticket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 296
    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:313,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: parse_session_id
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:323,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_session_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    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:339,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: parse_test_method
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:349,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - ssl_test_method_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    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:386,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: parse_handshake_mode
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:396,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ssl_handshake_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    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:414,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: parse_key_update_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:434,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: parse_ct_validation
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:444,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ssl_ct_validation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    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:469,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - server_conf
    - value
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: parse_certstatus
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:479,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert_status
    argTypes:
    - ssl_cert_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    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:505,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: parse_max_fragment_len_mode
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_enum
    - OSSL_NELEM
    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:515,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - MFL_mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 517
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:533,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:534,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:535,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:536,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:537,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:538,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:539,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:541,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:542,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:543,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:545,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:547,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:549,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:551,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:554,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:558,1
    - Dst: EC_curve_nist2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:561,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - ptype
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 578
    functionName: parse_expected_key_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - EC_curve_nist2nid
    - OBJ_ln2nid
    - strcmp
    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:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 580
    functionDepth: 6
    functionLinenumber: 580
    functionLinenumberEnd: 584
    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:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 6
    functionLinenumber: 586
    functionLinenumberEnd: 591
    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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 6
    functionLinenumber: 593
    functionLinenumberEnd: 598
    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:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 605
    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:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 612
    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:622,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ptype
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 629
    functionName: parse_expected_sign_hash
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - OBJ_ln2nid
    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:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 6
    functionLinenumber: 631
    functionLinenumberEnd: 636
    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:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 638
    functionDepth: 6
    functionLinenumber: 638
    functionLinenumberEnd: 643
    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:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 662
    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:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 668
    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:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 775
    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:779,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:781,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:783,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - SSL_TEST_EXTRA_CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 794
    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:798,1
    - Dst: ssl_test_extra_conf_free_data
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 800
    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:806,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:807,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:808,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:809,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:810,1
    - Dst: sk_X509_NAME_pop_free
      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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 815
    functionName: SSL_TEST_CTX_free
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 4
    functionsReached:
    - sk_X509_NAME_pop_free
    - ssl_test_ctx_free_extra_data
    - OPENSSL_free
    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:820,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:824,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:824,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:827,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:829,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:830,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:831,1
    - Dst: parse
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:832,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:833,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:842,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: 848
      start: 817
    functionDepth: 12
    functionLinenumber: 817
    functionLinenumberEnd: 848
    functionName: parse_client_options
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - NCONF_get_section
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - parse
    - STACK_OF
    - OSSL_NELEM
    - TEST_info
    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:853,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:857,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:857,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:860,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:862,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:863,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:864,1
    - Dst: parse
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:865,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:866,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:875,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: 881
      start: 850
    functionDepth: 12
    functionLinenumber: 850
    functionLinenumberEnd: 881
    functionName: parse_server_options
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - NCONF_get_section
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - parse
    - STACK_OF
    - OSSL_NELEM
    - TEST_info
    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:886,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:891,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:891,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:892,1
    - Dst: SSL_TEST_CTX_new
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:892,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:895,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:897,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:900,1
    - Dst: parse_client_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:901,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:903,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:904,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:906,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:907,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:909,1
    - Dst: parse_client_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:910,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:913,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:914,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:917,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:918,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:922,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:923,1
    - Dst: parse
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:924,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:925,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:934,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:943,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: 947
      start: 883
    functionDepth: 13
    functionLinenumber: 883
    functionLinenumberEnd: 947
    functionName: SSL_TEST_CTX_create
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 3
    functionsReached:
    - parse_server_options
    - TEST_ptr
    - NCONF_get_section
    - SSL_TEST_CTX_new
    - SSL_TEST_CTX_free
    - strcmp
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - parse
    - STACK_OF
    - parse_client_options
    - OSSL_NELEM
    - TEST_info
    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: DSA_new
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:89,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:94,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:94,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:95,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:96,1
    - Dst: DSA_free
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:97,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:98,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:99,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dsaparams.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 104
    functionName: load_dsa_params
    functionSourceFile: /src/openssl/test/helpers/predefined_dsaparams.c
    functionUses: 2
    functionsReached:
    - BN_bin2bn
    - DSA_set0_pqg
    - DSA_new
    - BN_free
    - DSA_free
    linkageType: ''
    returnType: DSA
    signature: DSA *load_dsa_params(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/mfail/mfail.c:61,1
    - Dst: strcmp
      Src: /src/openssl/test/mfail/mfail.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: env_is_true
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - getenv
    - strcmp
    linkageType: ''
    returnType: int
    signature: int env_is_true(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/mfail/mfail.c:67,1
    - Dst: atoi
      Src: /src/openssl/test/mfail/mfail.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - dflt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: env_int
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - getenv
    - atoi
    linkageType: ''
    returnType: int
    signature: int env_int(const char *name, int dflt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/mfail/mfail.c:74,1
    - Dst: __sanitizer_print_stack_trace
      Src: /src/openssl/test/mfail/mfail.c:75,1
    - Dst: backtrace
      Src: /src/openssl/test/mfail/mfail.c:81,1
    - Dst: backtrace_symbols
      Src: /src/openssl/test/mfail/mfail.c:82,1
    - Dst: fprintf
      Src: /src/openssl/test/mfail/mfail.c:86,1
    - Dst: fprintf
      Src: /src/openssl/test/mfail/mfail.c:89,1
    - Dst: free
      Src: /src/openssl/test/mfail/mfail.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: mfail_print_bt
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - backtrace
    - backtrace_symbols
    - fprintf
    - __sanitizer_print_stack_trace
    - free
    linkageType: ''
    returnType: void
    signature: void mfail_print_bt(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mfail_print_bt
      Src: /src/openssl/test/mfail/mfail.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: should_fail
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - mfail_print_bt
    linkageType: ''
    returnType: int
    signature: int should_fail(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: should_fail
      Src: /src/openssl/test/mfail/mfail.c:119,1
    - Dst: malloc
      Src: /src/openssl/test/mfail/mfail.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: mf_malloc
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - malloc
    - should_fail
    linkageType: ''
    returnType: void
    signature: void *mf_malloc(size_t num, const char *file, int line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mf_malloc
      Src: /src/openssl/test/mfail/mfail.c:127,1
    - Dst: free
      Src: /src/openssl/test/mfail/mfail.c:129,1
    - Dst: should_fail
      Src: /src/openssl/test/mfail/mfail.c:132,1
    - Dst: realloc
      Src: /src/openssl/test/mfail/mfail.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - addr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: mf_realloc
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - free
    - mf_malloc
    - realloc
    - should_fail
    linkageType: ''
    returnType: void
    signature: void *mf_realloc(void *addr, size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/test/mfail/mfail.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: mf_free
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mf_free(void *addr, const char *file, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: env_is_true
      Src: /src/openssl/test/mfail/mfail.c:146,1
    - Dst: env_is_true
      Src: /src/openssl/test/mfail/mfail.c:149,1
    - Dst: env_is_true
      Src: /src/openssl/test/mfail/mfail.c:150,1
    - Dst: env_int
      Src: /src/openssl/test/mfail/mfail.c:151,1
    - Dst: env_int
      Src: /src/openssl/test/mfail/mfail.c:152,1
    - Dst: env_int
      Src: /src/openssl/test/mfail/mfail.c:153,1
    - Dst: env_int
      Src: /src/openssl/test/mfail/mfail.c:154,1
    - Dst: env_is_true
      Src: /src/openssl/test/mfail/mfail.c:155,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/openssl/test/mfail/mfail.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - optional
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: mfail_install
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached:
    - env_is_true
    - CRYPTO_set_mem_functions
    - env_int
    linkageType: ''
    returnType: int
    signature: int mfail_install(int optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: mfail_is_installed
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_is_installed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: mfail_env_skip_all
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_env_skip_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: mfail_env_skip_slow
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_env_skip_slow(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - i
    - total
    - n
    - seq
    - start
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: compute_point
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compute_point(int i, int total, int n, int seq, int start)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - seq
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: mfail_init
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mfail_init(int seq, int flags)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: compute_point
      Src: /src/openssl/test/mfail/mfail.c:260,1
    - Dst: compute_point
      Src: /src/openssl/test/mfail/mfail.c:277,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 297
    functionName: mfail_has_next
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached:
    - compute_point
    linkageType: ''
    returnType: int
    signature: int mfail_has_next(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: mfail_start
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mfail_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: mfail_end
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mfail_end(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: mfail_arm_once
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mfail_arm_once(int point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: mfail_disarm
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mfail_disarm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: mfail_was_triggered
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_was_triggered(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: mfail_was_slow_skipped
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_was_slow_skipped(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: mfail_get_count
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_get_count(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: mfail_get_total
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_get_total(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: mfail_get_phase
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_get_phase(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: mfail_get_mode
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_get_mode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: mfail_iterations
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_iterations(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: mfail_get_slow_threshold
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_get_slow_threshold(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: mfail_get_point
    functionSourceFile: /src/openssl/test/mfail/mfail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfail_get_point(void)
  - 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_set_verify
    - TLS_client_method
    - OSSL_QUIC_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - SSL_CTX_free
    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_new
    - SSL_set_connect_state
    - SSL_set_alpn_protos
    - SSL_set_fd
    - SSL_set1_host
    - SSL_set_tlsext_host_name
    - SSL_free
    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: 409
    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: 13
    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:
    - freeaddrinfo
    - signal
    - tx
    - rx
    - getaddrinfo
    - fwrite
    - fprintf
    - socket
    - teardown
    - teardown_ctx
    - new_conn
    - close
    - connect
    - create_ssl_ctx
    - snprintf
    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_set_verify
    - TLS_client_method
    - OSSL_QUIC_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - SSL_CTX_free
    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_default_loop
    - calloc
    - uv_timer_init
    - uv_udp_init
    - uv_tcp_init
    - uv_udp_connect
    - setup_ssl
    - uv_close
    - uv_tcp_connect
    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:
    - write_deferred
    - handle_pending_writes
    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: 14
    functionsReached:
    - uv_cancel
    - uv_default_loop
    - uv_run
    - BIO_free_all
    - uv_close
    - SSL_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-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:
    - flush_write_buf
    - malloc
    - SSL_read
    - free
    - APP_CONN*::app_read_cb
    - SSL_get_error
    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:
    - APP_CONN*::app_read_cb
    - set_rx
    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:
    - dequeue_upper_write_op
    - free
    - try_write
    - set_rx
    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:
    - handshake_ssl
    - net_error
    - on_rx_push
    - BIO_write
    - fprintf
    - assert
    - free
    - handle_pending_writes
    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_udp_recv_stop
    - uv_udp_recv_start
    - uv_read_stop
    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:
    - uv_udp_send
    - uv_write
    - calloc
    - BIO_read
    - malloc
    - fprintf
    - free
    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:
    - set_timer
    - APP_CONN*::app_connect_cb
    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:
    - flush_write_buf
    - set_rx
    - handshake_done_ssl
    - fprintf
    - SSL_do_handshake
    - SSL_get_error
    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:
    - handshake_ssl
    - SSL_new
    - BIO_new_bio_dgram_pair
    - SSL_set_connect_state
    - SSL_set_alpn_protos
    - BIO_new_bio_pair
    - SSL_set1_host
    - SSL_set_tlsext_host_name
    - SSL_set_bio
    - SSL_free
    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_default_loop
    - fprintf
    - uv_stop
    - setup_ssl
    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:
    - SSL_handle_events
    - flush_write_buf
    - set_rx
    - 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
    - timeval_to_ms
    - SSL_get_event_timeout
    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:
    - UPPER_WRITE_OP*::cb
    - flush_write_buf
    - 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:
    - flush_write_buf
    - calloc
    - set_rx
    - enqueue_upper_write_op
    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:
    - uv_default_loop
    - free
    - fwrite
    - uv_stop
    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_default_loop
    - app_write
    - uv_stop
    - 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:
    - freeaddrinfo
    - uv_default_loop
    - uv_run
    - getaddrinfo
    - fprintf
    - teardown
    - teardown_ctx
    - new_conn
    - uv_loop_close
    - create_ssl_ctx
    - snprintf
    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_set_verify
    - TLS_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - OSSL_QUIC_client_thread_method
    - SSL_CTX_free
    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:
    - BIO_f_buffer
    - calloc
    - BIO_get_conn_hostname
    - BIO_new
    - BIO_set_nbio
    - SSL_set_alpn_protos
    - BIO_free_all
    - BIO_get_ssl
    - SSL_set1_host
    - BIO_new_ssl_connect
    - BIO_set_conn_hostname
    - BIO_push
    - free
    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: 411
    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_read
    - BIO_should_write
    - 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_rpoll_descriptor
    - BIO_get_fd
    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_read_desired
    - SSL_net_write_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: 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-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_pending_rx
    - get_conn_pending_tx
    - poll
    - tx
    - get_conn_fd
    - rx
    - fwrite
    - fprintf
    - teardown
    - teardown_ctx
    - new_conn
    - create_ssl_ctx
    - snprintf
    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_set_verify
    - TLS_client_method
    - OSSL_QUIC_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - SSL_CTX_free
    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:
    - BIO_f_buffer
    - calloc
    - BIO_get_conn_hostname
    - BIO_new
    - BIO_set_nbio
    - SSL_set_alpn_protos
    - BIO_free_all
    - BIO_get_ssl
    - SSL_set1_host
    - BIO_new_ssl_connect
    - BIO_set_conn_hostname
    - BIO_push
    - free
    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: 413
    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_read
    - BIO_should_write
    - 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_rpoll_descriptor
    - BIO_get_fd
    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_read_desired
    - SSL_net_write_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:
    - timeval_to_ms
    - SSL_get_event_timeout
    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: 16
    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_set_verify
    - TLS_client_method
    - OSSL_QUIC_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - SSL_CTX_free
    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: 414
    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_read_desired
    - SSL_net_write_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: 16
    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:342,1
    - Dst: write
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:345,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:347,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: 352
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 352
    functionName: pump
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 1
    functionsReached:
    - poll
    - net_rx_space
    - net_tx_avail
    - write_net_rx
    - fprintf
    - read_net_tx
    - write
    - read
    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:367,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:371,1
    - Dst: create_ssl_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:375,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:377,1
    - Dst: getaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:384,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:386,1
    - Dst: signal
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:390,1
    - Dst: socket
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:393,1
    - Dst: socket
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:395,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:398,1
    - Dst: connect
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:402,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:404,1
    - Dst: fcntl
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:408,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:410,1
    - Dst: new_conn
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:414,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:416,1
    - Dst: tx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:422,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:427,1
    - Dst: pump
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:429,1
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:429,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:430,1
    - Dst: rx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:438,1
    - Dst: fwrite
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:440,1
    - Dst: pump
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:444,1
    - Dst: get_conn_pending_rx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:444,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:445,1
    - Dst: teardown
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:454,1
    - Dst: teardown_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:456,1
    - Dst: freeaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:458,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 460
    functionName: main
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 7
    functionsReached:
    - freeaddrinfo
    - get_conn_pending_rx
    - signal
    - get_conn_pending_tx
    - tx
    - rx
    - getaddrinfo
    - fwrite
    - fprintf
    - socket
    - teardown
    - pump
    - teardown_ctx
    - new_conn
    - connect
    - create_ssl_ctx
    - snprintf
    - fcntl
    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_set_verify
    - TLS_client_method
    - OSSL_QUIC_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - SSL_CTX_free
    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_get_conn_hostname
    - SSL_set_alpn_protos
    - BIO_free_all
    - BIO_get_ssl
    - SSL_set1_host
    - BIO_set_conn_hostname
    - BIO_new_ssl_connect
    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: 417
    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: 17
    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:
    - tx
    - rx
    - fwrite
    - fprintf
    - teardown
    - teardown_ctx
    - new_conn
    - create_ssl_ctx
    - snprintf
    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_set_verify
    - TLS_client_method
    - OSSL_QUIC_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_new
    - SSL_CTX_free
    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:
    - SSL_new
    - calloc
    - SSL_set_connect_state
    - SSL_set_alpn_protos
    - SSL_set_fd
    - SSL_set1_host
    - SSL_set_tlsext_host_name
    - free
    - SSL_free
    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: 418
    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_read_desired
    - SSL_net_write_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:
    - timeval_to_ms
    - SSL_get_event_timeout
    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: 18
    functionsReached:
    - free
    - SSL_shutdown
    - SSL_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:
    - ERR_print_errors_fp
    - exit
    - i2d_PKCS12_fp
    - fopen
    - PKCS12_create
    - fprintf
    - ERR_load_crypto_strings
    - rewind
    - OpenSSL_add_all_algorithms
    - PKCS12_free
    - PEM_read_X509
    - fclose
    - PEM_read_PrivateKey
    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:
    - sk_PKCS7_num
    - sk_PKCS12_SAFEBAG_num
    - sk_PKCS12_SAFEBAG_value
    - PKCS12_unpack_p7data
    - OBJ_obj2nid
    - PKCS12_unpack_authsafes
    - STACK_OF
    - sk_PKCS7_pop_free
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS7_value
    - PKCS12_get_friendlyname
    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:
    - find_friendly_name
    - PKCS12_parse
    - ERR_print_errors_fp
    - exit
    - OPENSSL_free
    - X509_free
    - OSSL_STACK_OF_X509_free
    - fopen
    - fprintf
    - sk_X509_num
    - d2i_PKCS12_fp
    - PEM_write_PrivateKey
    - sk_X509_value
    - STACK_OF
    - EVP_PKEY_free
    - PKCS12_free
    - PEM_write_X509_AUX
    - fclose
    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_set_alpn_select_cb
    - fprintf
    - SSL_CTX_use_PrivateKey_file
    - OSSL_QUIC_server_method
    - SSL_CTX_check_private_key
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_CTX_use_certificate_chain_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
    - fprintf
    - socket
    - htons
    - BIO_closesocket
    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_write_ex2
    - SSL_shutdown
    - fprintf
    - ERR_print_errors_fp
    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_set_blocking_mode
    - ERR_print_errors_fp
    - SSL_new_listener
    - fprintf
    - SSL_set_fd
    - SSL_listen
    - run_quic_conn
    - SSL_accept_connection
    - SSL_free
    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:
    - strtoul
    - ERR_print_errors_fp
    - run_quic_server
    - fprintf
    - create_socket
    - create_ctx
    - SSL_CTX_free
    - BIO_closesocket
    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:304,1
    - Dst: vfprintf
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:305,1
    - Dst: putc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 307
    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:314,1
    - Dst: vwarnx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:315,1
    - Dst: va_end
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:316,1
    - Dst: exit
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: errx
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 23
    functionsReached:
    - vwarnx
    - va_end
    - exit
    - va_start
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    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: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: strncasecmp
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 7
    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: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    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: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    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: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    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: 370
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 370
    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:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    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: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    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: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    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: 399
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 399
    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:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rb
    - rpos
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    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:412,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: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    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:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 424
    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:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 431
    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:436,1
    - Dst: rb_to_txt_full
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 445
    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_simple
    - rb_to_txt_full
    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:451,1
    - Dst: rb_eof
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:455,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: 465
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 465
    functionName: rb_txt_simple_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_simple
    - rb_eof
    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:470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:473,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 476
    functionName: rb_txt_simple_ondestroy_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_simple
    - OPENSSL_free
    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:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rb
    - sz
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 488
    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:496,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:501,1
    - Dst: strlen
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:504,1
    - Dst: rb_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - fill_pattern
    - fsize
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 516
    functionName: new_txt_simple_respoonse
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - 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:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 530
    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:535,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:538,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: rb_txt_full_ondestroy_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_full
    - OPENSSL_free
    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:546,1
    - Dst: rb_eof
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:551,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: 568
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 568
    functionName: rb_txt_full_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_full
    - rb_eof
    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:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rb
    - sz
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 580
    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:591,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:595,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:596,1
    - Dst: strlen
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:599,1
    - Dst: time
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:601,1
    - Dst: ctime_r
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:602,1
    - Dst: snprintf
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:604,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:612,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:613,1
    - Dst: rb_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - fill_pattern
    - fsize
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 629
    functionName: new_txt_full_respoonse
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ctime_r
    - OPENSSL_free
    - rb_init
    - strlen
    - snprintf
    - time
    - 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: 648
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 648
    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: 657
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 657
    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:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pe
    - ssl
    argTypes:
    - struct poll_event*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 670
    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:680,1
    - Dst: init_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 685
    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:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ssl_listener
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 698
    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:706,1
    - Dst: init_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:709,1
    - Dst: ossl_list_peccx_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:718,1
    - Dst: ossl_list_peccx_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ssl_qconn
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 723
    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:730,1
    - Dst: init_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ssl_qs
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 739
    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: 750
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 750
    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: 757
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 757
    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: 764
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 764
    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: 771
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 771
    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: 778
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 778
    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:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 788
    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:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 795
    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:806,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: 808
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 808
    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:813,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:820,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:825,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:826,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:827,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:832,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:833,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:834,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:838,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:839,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:840,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:843,1
    - Dst: pe_type_to_name
      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:847,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:848,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pe
    - rc
    - caller
    argTypes:
    - struct poll_event*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 810
    functionDepth: 5
    functionLinenumber: 810
    functionLinenumberEnd: 854
    functionName: handle_ssl_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - err_str_n
    - pe_type_to_name
    - get_ssl_from_pe
    - SSL_get_error
    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: 888
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 888
    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:893,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:893,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:898,1
    - Dst: pe_disable_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:899,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:905,1
    - Dst: stream_state_str
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:907,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 913
    functionName: handle_read_stream_state
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - pe_disable_read
    - SSL_get_stream_read_state
    - pe_type_to_name
    - get_ssl_from_pe
    - 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:918,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:918,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:923,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:929,1
    - Dst: stream_state_str
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:931,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 936
    functionName: handle_write_stream_state
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - pe_type_to_name
    - get_ssl_from_pe
    - SSL_get_stream_write_state
    - 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:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pm
    - pe
    argTypes:
    - struct poll_manager*
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 946
    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: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: 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:963,1
    - Dst: ossl_list_pe_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:967,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:968,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 979
    functionName: create_poll_manager
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_malloc_array
    - ossl_list_pe_init
    - OPENSSL_free
    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:992,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:997,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1009,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1019,1
    - Dst: ossl_list_pe_num
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1020,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1021,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1025,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1026,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1027,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1028,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pm
    argTypes:
    - struct poll_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1034
    functionName: rebuild_poll_set
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OSSL_LIST_FOREACH
    - DPRINTF
    - pe_type_to_name
    - OPENSSL_realloc_array
    - POLL_PRINTA
    - ossl_list_pe_num
    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:1044,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1045,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1047,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pm
    argTypes:
    - struct poll_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1049
    functionName: destroy_poll_manager
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - destroy_pe
    - OSSL_LIST_FOREACH_DELSAFE
    - OPENSSL_free
    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:1059,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1059,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1060,1
    - Dst: remove_pe_from_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1062,1
    - Dst: struct poll_event*::pe_cb_ondestroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1064,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1066,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1069
    functionName: destroy_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 1
    functionsReached:
    - DPRINTF
    - struct poll_event*::pe_cb_ondestroy
    - OPENSSL_free
    - pe_type_to_name
    - remove_pe_from_pm
    - get_ssl_from_pe
    - SSL_free
    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: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    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: 1081
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1081
    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:1090,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1091,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1094
    functionName: pe_handle_listener_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - POLL_PRINTA
    - pe_type_to_name
    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: 1107
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1107
    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:1134,1
    - Dst: ossl_list_peccx_insert_tail
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1142,1
    - Dst: ossl_list_peccx_insert_tail
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1146,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: 1155
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1155
    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:1165,1
    - Dst: ossl_list_peccx_remove
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1170,1
    - Dst: ossl_list_peccx_head
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1176,1
    - Dst: ossl_list_peccx_remove
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pec
    - stype
    argTypes:
    - struct poll_event_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1191
    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:1201,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1201,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1202,1
    - Dst: handle_read_stream_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1205,1
    - 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:1210,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1211,1
    - Dst: handle_write_stream_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1213,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1217,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1217,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1223
    functionName: app_handle_stream_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - handle_read_stream_state
    - pe_type_to_name
    - POLL_PRINTA
    - handle_write_stream_state
    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:1241,1
    - Dst: rb_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1245,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1247,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1248,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1249,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1249,1
    - Dst: pe_disable_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1250,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1264,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1264,1
    - Dst: rb_advrpos
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1266,1
    - Dst: handle_ssl_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1231
    functionDepth: 6
    functionLinenumber: 1231
    functionLinenumberEnd: 1274
    functionName: app_write_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - SSL_stream_conclude
    - SSL_write_ex
    - rb_advrpos
    - rb_read
    - pe_type_to_name
    - pe_disable_write
    - handle_ssl_error
    - get_ssl_from_pe
    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:1284,1
    - Dst: pe_resume_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pes
    argTypes:
    - struct poll_event_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1297
    functionName: app_setup_response
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - pe_resume_write
    - request_new_stream
    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:1308,1
    - Dst: isdigit
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1321
    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:1338,1
    - Dst: strncasecmp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1341,1
    - Dst: isspace
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1345,1
    - Dst: isalnum
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1355,1
    - Dst: ispunct
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1355,1
    - Dst: basename
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1367,1
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1377,1
    - Dst: new_txt_full_respoonse
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1378,1
    - Dst: get_fsize
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1378,1
    - Dst: app_setup_response
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1383,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: 1376
        line_start: 1376
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    constantsTouched: []
    func_position:
      end: 1386
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1386
    functionName: parse_request
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - isspace
    - ispunct
    - app_setup_response
    - get_fsize
    - isalnum
    - new_txt_full_respoonse
    - basename
    - strncasecmp
    - assert
    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: 1404
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1404
    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:1416,1
    - Dst: wrap_around
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1428,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1431,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1431,1
    - Dst: pe_disable_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1434,1
    - Dst: handle_ssl_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1440,1
    - Dst: handle_read_stream_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1442,1
    - Dst: parse_request
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1413
    functionDepth: 6
    functionLinenumber: 1413
    functionLinenumberEnd: 1451
    functionName: app_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - handle_read_stream_state
    - pe_disable_read
    - handle_ssl_error
    - pe_to_stream
    - SSL_read_ex
    - wrap_around
    - get_ssl_from_pe
    - parse_request
    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:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1453
    functionDepth: 2
    functionLinenumber: 1453
    functionLinenumberEnd: 1457
    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:1472,1
    - Dst: pe_to_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1473,1
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1474,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1476,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1479,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1481,1
    - Dst: new_stream_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1485,1
    - Dst: get_response_from_pec
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1502,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1505,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1507,1
    - Dst: pe_resume_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1508,1
    - Dst: pe_resume_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1511,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1514,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: 1471
        line_start: 1471
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    - condition: (pec != NULL)
      pos:
        line_end: 1473
        line_start: 1473
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    constantsTouched: []
    func_position:
      end: 1519
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1519
    functionName: app_new_stream_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - destroy_pe
    - add_pe_to_pm
    - pe_to_connection
    - pe_resume_read
    - SSL_new_stream
    - assert
    - get_ssl_from_pe
    - get_response_from_pec
    - pe_resume_write
    - SSL_free
    - new_stream_pe
    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:1527,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1529,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1536,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1536,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1547,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1549,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1554,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1555,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1561
    functionName: app_handle_qconn_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - DPRINTF
    - SSL_shutdown
    - pe_type_to_name
    - get_ssl_from_pe
    - 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:1576,1
    - Dst: pe_to_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1577,1
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1578,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1581,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1584,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1586,1
    - Dst: new_stream_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1590,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1596,1
    - Dst: pe_pause_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1606,1
    - Dst: pe_resume_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1609,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1611,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: 1575
        line_start: 1575
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    - condition: (pec != NULL)
      pos:
        line_end: 1577
        line_start: 1577
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    constantsTouched: []
    func_position:
      end: 1616
      start: 1566
    functionDepth: 2
    functionLinenumber: 1566
    functionLinenumberEnd: 1616
    functionName: app_accept_stream_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - add_pe_to_pm
    - pe_pause_write
    - pe_to_connection
    - SSL_accept_stream
    - pe_resume_read
    - assert
    - get_ssl_from_pe
    - SSL_free
    - new_stream_pe
    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:1624,1
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1628,1
    - Dst: struct poll_event_context*::peccx_cb_ondestroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1630,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1631,1
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1634,1
    - Dst: struct poll_event_context*::peccx_cb_ondestroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1636,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1639
    functionName: app_destroy_qconn
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - struct poll_event_context*::peccx_cb_ondestroy
    - OSSL_LIST_FOREACH_DELSAFE
    - pe_to_connection
    - OPENSSL_free
    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:1648,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1649,1
    - Dst: new_qconn_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1653,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1659,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - listener_pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1641
    functionDepth: 2
    functionLinenumber: 1641
    functionLinenumberEnd: 1666
    functionName: app_accept_qconn
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_accept_connection
    - add_pe_to_pm
    - get_ssl_from_pe
    - new_qconn_pe
    - SSL_free
    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:1684,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1687,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1694,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1703,1
    - Dst: new_listener_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1706,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1715,1
    - Dst: rebuild_poll_set
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1724,1
    - Dst: SSL_poll
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1725,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1735,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1736,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1737,1
    - Dst: struct poll_event*::pe_cb_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1740,1
    - Dst: struct poll_event*::pe_cb_in
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1742,1
    - Dst: struct poll_event*::pe_cb_out
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1744,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1748,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1755,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1756,1
    - Dst: destroy_poll_manager
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1757,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: 1759
      start: 1672
    functionDepth: 3
    functionLinenumber: 1672
    functionLinenumberEnd: 1759
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - DPRINTF
    - new_listener_pe
    - SSL_set_blocking_mode
    - destroy_pe
    - SSL_new_listener
    - rebuild_poll_set
    - add_pe_to_pm
    - SSL_set_fd
    - pe_type_to_name
    - struct poll_event*::pe_cb_error
    - SSL_poll
    - destroy_poll_manager
    - SSL_listen
    - struct poll_event*::pe_cb_in
    - POLL_PRINTA
    - struct poll_event*::pe_cb_out
    - SSL_free
    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:1795,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: 1801
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1801
    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:1814,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1814,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1833,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1834,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1844,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1845,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1860,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1863,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1870
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set_verify
    - DPRINTF
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_PrivateKey_file
    - OSSL_QUIC_server_method
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_CTX_use_certificate_chain_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:1880,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1881,1
    - Dst: htons
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1886,1
    - Dst: bind
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1889,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1890,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1891,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1896,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1897,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1873
    functionDepth: 3
    functionLinenumber: 1873
    functionLinenumberEnd: 1903
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - DPRINTF
    - bind
    - socket
    - htons
    - BIO_socket_nbio
    - BIO_closesocket
    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:1919,1
    - Dst: create_ctx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1922,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1923,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1924,1
    - Dst: strtoul
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1928,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1930,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1931,1
    - Dst: create_socket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1935,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1936,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1937,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1938,1
    - Dst: create_poll_manager
      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: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: run_quic_server
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1949,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
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1952,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1953,1
    - Dst: destroy_poll_manager
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1956,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1958,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1906
    functionDepth: 7
    functionLinenumber: 1906
    functionLinenumberEnd: 1962
    functionName: main
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 7
    functionsReached:
    - strtoul
    - create_poll_manager
    - ERR_print_errors_fp
    - run_quic_server
    - errx
    - SSL_CTX_free
    - create_ctx
    - create_socket
    - destroy_poll_manager
    - BIO_closesocket
    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: 17
    functionLinenumber: 15
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_sign2.c
    functionUses: 7
    functionsReached:
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - printf
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - CMS_add1_signer
    - BIO_new_file
    - CMS_ContentInfo_free
    - EVP_PKEY_free
    - 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:
    - PEM_read_bio_CMS
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - CMS_decrypt
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    - BIO_new_file
    - CMS_ContentInfo_free
    - 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: 19
    functionLinenumber: 15
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_enc.c
    functionUses: 7
    functionsReached:
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - X509_free
    - sk_X509_new_null
    - printf
    - OSSL_STACK_OF_X509_free
    - fprintf
    - BIO_free
    - ERR_load_crypto_strings
    - sk_X509_push
    - OpenSSL_add_all_algorithms
    - EVP_des_ede3_cbc
    - STACK_OF
    - BIO_new_file
    - CMS_encrypt
    - CMS_ContentInfo_free
    - 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:
    - BIO_printf
    - BIO_new_fp
    - sk_CMS_SignerInfo_num
    - BIO_free
    - X509_ATTRIBUTE_get0_type
    - ASN1_GENERALIZEDTIME_print
    - fprintf
    - sk_CMS_SignerInfo_value
    - STACK_OF
    - ASN1_UTCTIME_print
    - CMS_get0_SignerInfos
    - CMS_signed_get_attr
    - CMS_signed_get_attr_by_NID
    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: 16
    functionLinenumber: 58
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_ver.c
    functionUses: 7
    functionsReached:
    - print_signingTime
    - ERR_print_errors_fp
    - X509_free
    - SMIME_read_CMS
    - printf
    - CMS_verify
    - X509_STORE_add_cert
    - fprintf
    - BIO_free
    - ERR_load_crypto_strings
    - X509_STORE_new
    - OpenSSL_add_all_algorithms
    - X509_STORE_free
    - BIO_new_file
    - CMS_ContentInfo_free
    - 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: 19
    functionLinenumber: 18
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_denc.c
    functionUses: 7
    functionsReached:
    - ERR_print_errors_fp
    - CMS_final
    - X509_free
    - sk_X509_new_null
    - OSSL_STACK_OF_X509_free
    - BIO_free
    - fprintf
    - ERR_load_crypto_strings
    - sk_X509_push
    - OpenSSL_add_all_algorithms
    - EVP_des_ede3_cbc
    - STACK_OF
    - PEM_write_bio_CMS
    - BIO_new_file
    - CMS_encrypt
    - CMS_ContentInfo_free
    - 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:
    - ERR_print_errors_fp
    - X509_free
    - SMIME_read_CMS
    - printf
    - BIO_free
    - CMS_decrypt
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - EVP_PKEY_free
    - BIO_new_file
    - CMS_ContentInfo_free
    - 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:
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - BIO_free
    - fprintf
    - ERR_load_crypto_strings
    - OpenSSL_add_all_algorithms
    - CMS_compress
    - BIO_new_file
    - CMS_ContentInfo_free
    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:
    - ERR_print_errors_fp
    - SMIME_read_CMS
    - BIO_free
    - fprintf
    - ERR_load_crypto_strings
    - OpenSSL_add_all_algorithms
    - CMS_uncompress
    - BIO_new_file
    - 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: 17
    functionLinenumber: 15
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_sign.c
    functionUses: 7
    functionsReached:
    - SMIME_write_CMS
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - CMS_ContentInfo_free
    - BIO_new_file
    - EVP_PKEY_free
    - 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:68,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/openssl/demos/encode/rsa_encode.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:75,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/encode/rsa_encode.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/rsa_encode.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - libctx
    - f
    - passphrase
    argTypes:
    - OSSL_LIB_CTX*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 94
    functionName: load_key
    functionSourceFile: /src/openssl/demos/encode/rsa_encode.c
    functionUses: 3
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_CTX_free
    - fprintf
    - EVP_PKEY_free
    - strlen
    - OSSL_DECODER_from_fp
    - 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:126,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:128,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/demos/encode/rsa_encode.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:147,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/demos/encode/rsa_encode.c:152,1
    - Dst: strlen
      Src: /src/openssl/demos/encode/rsa_encode.c:154,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:156,1
    - Dst: OSSL_ENCODER_to_fp
      Src: /src/openssl/demos/encode/rsa_encode.c:162,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:163,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/demos/encode/rsa_encode.c:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pkey
    - f
    - passphrase
    argTypes:
    - EVP_PKEY*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 102
    functionDepth: 11
    functionLinenumber: 102
    functionLinenumberEnd: 171
    functionName: store_key
    functionSourceFile: /src/openssl/demos/encode/rsa_encode.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_to_fp
    - OSSL_ENCODER_CTX_set_cipher
    - fprintf
    - strlen
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_new_for_pkey
    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:188,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:190,1
    - Dst: store_key
      Src: /src/openssl/demos/encode/rsa_encode.c:194,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/rsa_encode.c:201,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/encode/rsa_encode.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/openssl/demos/encode/rsa_encode.c
    functionUses: 7
    functionsReached:
    - store_key
    - load_key
    - fprintf
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    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:68,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/openssl/demos/encode/ec_encode.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:75,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/encode/ec_encode.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/ec_encode.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - libctx
    - f
    - passphrase
    argTypes:
    - OSSL_LIB_CTX*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 94
    functionName: load_key
    functionSourceFile: /src/openssl/demos/encode/ec_encode.c
    functionUses: 4
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_CTX_free
    - fprintf
    - EVP_PKEY_free
    - strlen
    - OSSL_DECODER_from_fp
    - 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:126,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:128,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/demos/encode/ec_encode.c:149,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:150,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/demos/encode/ec_encode.c:155,1
    - Dst: strlen
      Src: /src/openssl/demos/encode/ec_encode.c:157,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:159,1
    - Dst: OSSL_ENCODER_to_fp
      Src: /src/openssl/demos/encode/ec_encode.c:165,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:166,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/demos/encode/ec_encode.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pkey
    - f
    - passphrase
    argTypes:
    - EVP_PKEY*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 102
    functionDepth: 11
    functionLinenumber: 102
    functionLinenumberEnd: 174
    functionName: store_key
    functionSourceFile: /src/openssl/demos/encode/ec_encode.c
    functionUses: 1
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_to_fp
    - OSSL_ENCODER_CTX_set_cipher
    - fprintf
    - strlen
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_new_for_pkey
    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:191,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:193,1
    - Dst: store_key
      Src: /src/openssl/demos/encode/ec_encode.c:197,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:198,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/ec_encode.c:204,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/encode/ec_encode.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/openssl/demos/encode/ec_encode.c
    functionUses: 7
    functionsReached:
    - store_key
    - load_key
    - fprintf
    - OSSL_LIB_CTX_free
    - EVP_PKEY_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: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    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:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: h3_stream_free
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - OPENSSL_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: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    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: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    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: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    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:95,1
    - Dst: nghttp3_conn_del
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:97,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:98,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: OSSL_DEMO_H3_CONN_free
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    - lh_OSSL_DEMO_H3_STREAM_doall
    - lh_OSSL_DEMO_H3_STREAM_free
    - nghttp3_conn_del
    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:108,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:114,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:115,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:120,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_insert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - type
    argTypes:
    - OSSL_DEMO_H3_CONN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: h3_conn_create_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise_data
    - OPENSSL_free
    - lh_OSSL_DEMO_H3_STREAM_insert
    - SSL_get_stream_id
    - 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: lh_OSSL_DEMO_H3_STREAM_delete
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:134,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:135,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: 136
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 136
    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:148,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: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    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:161,1
    - Dst: h3_conn_remove_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:164,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: 166
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: h3_conn_stream_close
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OSSL_DEMO_H3_CONN*::stream_close_cb
    - h3_conn_remove_stream
    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:177,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:180,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: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: h3_conn_stop_sending
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OSSL_DEMO_H3_CONN*::stop_sending_cb
    - SSL_free
    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:195,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:201,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: 206
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 206
    functionName: h3_conn_reset_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_stream_reset
    - OSSL_DEMO_H3_CONN*::reset_stream_cb
    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:216,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: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:238,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:243,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_new
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:250,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:253,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:255,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:266,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:267,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:281,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:286,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:291,1
    - Dst: nghttp3_settings_default
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:296,1
    - Dst: nghttp3_conn_client_new
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:320,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:323,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:325,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:337,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:339,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:341,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:345,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:349,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:351,1
    - Dst: nghttp3_conn_del
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:358,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:359,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:360,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:361,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:363,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 4
    argNames:
    - qconn
    - callbacks
    - settings
    - user_data
    argTypes:
    - SSL*
    - nghttp3_callbacks*
    - nghttp3_settings*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 365
    functionName: OSSL_DEMO_H3_CONN_new_for_conn
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise_data
    - OPENSSL_free
    - h3_stream_free
    - lh_OSSL_DEMO_H3_STREAM_new
    - SSL_set_alpn_protos
    - SSL_set_default_stream_mode
    - h3_conn_create_stream
    - nghttp3_settings_default
    - nghttp3_conn_bind_control_stream
    - nghttp3_conn_client_new
    - nghttp3_conn_bind_qpack_streams
    - nghttp3_strerror
    - lh_OSSL_DEMO_H3_STREAM_free
    - nghttp3_conn_del
    linkageType: ''
    returnType: OSSL_DEMO_H3_CONN
    signature: "OSSL_DEMO_H3_CONN *OSSL_DEMO_H3_CONN_new_for_conn(SSL *qconn,\n    const
      nghttp3_callbacks *callbacks,\n    const nghttp3_settings *settings,\n    void
      *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_socket
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:377,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:377,1
    - Dst: BIO_connect
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:381,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:381,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:384,1
    - Dst: BIO_new
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:387,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:387,1
    - Dst: BIO_set_fd
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:389,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 1
    functionsReached:
    - BIO_set_fd
    - BIO_s_datagram
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_socket_nbio
    - BIO_socket
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    linkageType: ''
    returnType: BIO
    signature: 'BIO *

      create_socket_bio(const BIO_ADDRINFO *bai)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_socket_bio
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:408,1
    - Dst: SSL_new
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:411,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:415,1
    - Dst: SSL_set1_dnsname
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:419,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:423,1
    - Dst: OSSL_DEMO_H3_CONN_new_for_conn
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:426,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:434,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - ctx
    - bai
    - bare_hostname
    - callbacks
    - settings
    - user_data
    argTypes:
    - SSL_CTX*
    - BIO_ADDRINFO*
    - char*
    - nghttp3_callbacks*
    - nghttp3_settings*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 437
    functionName: OSSL_DEMO_H3_CONN_new_for_addr
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - OSSL_DEMO_H3_CONN_new_for_conn
    - BIO_free_all
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_set_bio
    - SSL_set1_dnsname
    - create_socket_bio
    linkageType: ''
    returnType: OSSL_DEMO_H3_CONN
    signature: "OSSL_DEMO_H3_CONN *OSSL_DEMO_H3_CONN_new_for_addr(SSL_CTX *ctx, const
      BIO_ADDRINFO *bai,\n    const char *bare_hostname,\n    const nghttp3_callbacks
      *callbacks,\n    const nghttp3_settings *settings,\n    void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    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: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: OSSL_DEMO_H3_CONN_get0_connection
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: SSL *OSSL_DEMO_H3_CONN_get0_connection(const OSSL_DEMO_H3_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - list
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: h3_conn_collect_streams
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    linkageType: ''
    returnType: void
    signature: void h3_conn_collect_streams(OSSL_DEMO_H3_STREAM *s, void *list)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:486,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:502,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:505,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:507,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:510,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:512,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:517,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:520,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:523,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:525,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:527,1
    - Dst: assert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:550,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:551,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:554,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:556,1
    - Dst: assert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:568,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: 549
        line_start: 549
        source_file: /src/openssl/demos/http3/ossl-nghttp3.c
    - condition: (consumed <= s->buf_total - s->buf_cur)
      pos:
        line_end: 567
        line_start: 567
        source_file: /src/openssl/demos/http3/ossl-nghttp3.c
    constantsTouched: []
    func_position:
      end: 576
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 576
    functionName: h3_conn_pump_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - SSL_get_stream_read_error_code
    - nghttp3_conn_read_stream
    - SSL_get_stream_read_state
    - SSL_read_ex
    - assert
    - nghttp3_strerror
    - nghttp3_conn_close_stream
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: void h3_conn_pump_stream(OSSL_DEMO_H3_STREAM *s, void *conn_)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:605,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:618,1
    - Dst: ARRAY_LEN
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:619,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_retrieve
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:633,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:634,1
    - Dst: nghttp3_vec_len
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:640,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:649,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:650,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:656,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:658,1
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:667,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:677,1
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:687,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:701,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_num_items
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:710,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:711,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_doall_arg
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:717,1
    - Dst: SSL_poll
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:723,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:725,1
    - Dst: h3_conn_pump_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:733,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:737,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 742
    functionName: OSSL_DEMO_H3_CONN_handle_events
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - nghttp3_vec_len
    - lh_OSSL_DEMO_H3_STREAM_retrieve
    - SSL_accept_stream
    - SSL_poll
    - ERR_raise_data
    - nghttp3_conn_block_stream
    - OPENSSL_free
    - lh_OSSL_DEMO_H3_STREAM_doall_arg
    - fprintf
    - nghttp3_conn_add_write_offset
    - nghttp3_conn_unblock_stream
    - lh_OSSL_DEMO_H3_STREAM_num_items
    - SSL_get_error
    - OPENSSL_malloc
    - SSL_write_ex2
    - nghttp3_conn_add_ack_offset
    - h3_conn_pump_stream
    - ARRAY_LEN
    - nghttp3_conn_writev_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:753,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:759,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:764,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:767,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:769,1
    - Dst: h3_conn_remove_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:776,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: 778
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 778
    functionName: OSSL_DEMO_H3_CONN_submit_request
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - h3_conn_create_stream
    - h3_conn_remove_stream
    - nghttp3_strerror
    - nghttp3_conn_submit_request
    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:34,1
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - nv
    - name
    - value
    argTypes:
    - nghttp3_nv*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    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:49,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:50,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:52,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:53,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:54,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:55,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: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: on_recv_header
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - nghttp3_rcbuf_get_buf
    - fwrite
    - 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:64,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: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DEMO_H3_STREAM_get_user_data
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:74,1
    - Dst: fopen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:80,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:83,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:90,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:91,1
    - Dst: ferror
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - h3conn
    - stream_id
    - data
    - datalen
    - conn_user_data
    - user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 99
    functionName: on_recv_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - fopen
    - fprintf
    - ferror
    - OSSL_DEMO_H3_STREAM_get_user_data
    - 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 *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - h3conn
    - stream_id
    - conn_user_data
    - user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    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 *user_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:118,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:119,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:120,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: snprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:127,1
    - Dst: malloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:132,1
    - Dst: sprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:136,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:138,1
    - Dst: OSSL_DEMO_H3_CONN_submit_request
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:140,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:141,1
    - Dst: OSSL_DEMO_H3_CONN_handle_events
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:148,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:149,1
    - Dst: fclose
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:154,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:155,1
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - conn
    - bare_hostname
    - path
    argTypes:
    - OSSL_DEMO_H3_CONN*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 159
    functionName: try_conn
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - OSSL_DEMO_H3_CONN_handle_events
    - make_nv
    - sprintf
    - fprintf
    - free
    - OSSL_DEMO_H3_CONN_submit_request
    - malloc
    - snprintf
    - fclose
    linkageType: ''
    returnType: int
    signature: int try_conn(OSSL_DEMO_H3_CONN *conn, const char *bare_hostname, const
      char *path)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:180,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:191,1
    - Dst: fopen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:196,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:198,1
    - Dst: feof
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:201,1
    - Dst: realloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:203,1
    - Dst: fscanf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:205,1
    - Dst: feof
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:207,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:209,1
    - Dst: fclose
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:210,1
    - Dst: calloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:213,1
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:213,1
    - Dst: memcpy
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:214,1
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:214,1
    - Dst: fclose
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:216,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:223,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:224,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:229,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:237,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:240,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:245,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:245,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:248,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:250,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:271,1
    - Dst: OSSL_DEMO_H3_CONN_new_for_addr
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:272,1
    - Dst: try_conn
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:276,1
    - Dst: OSSL_DEMO_H3_CONN_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:280,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:286,1
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:292,1
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:293,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:296,1
    - Dst: OSSL_DEMO_H3_CONN_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:298,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:299,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:300,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 161
    functionDepth: 7
    functionLinenumber: 161
    functionLinenumberEnd: 302
    functionName: main
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 7
    functionsReached:
    - calloc
    - SSL_CTX_free
    - OSSL_DEMO_H3_CONN_new_for_addr
    - feof
    - memcpy
    - fclose
    - SSL_CTX_set_verify
    - try_conn
    - BIO_lookup_ex
    - OSSL_DEMO_H3_CONN_free
    - fprintf
    - BIO_ADDRINFO_next
    - BIO_parse_hostserv
    - BIO_ADDRINFO_free
    - SSL_CTX_set_default_verify_paths
    - free
    - ERR_print_errors_fp
    - fopen
    - OSSL_QUIC_client_method
    - realloc
    - SSL_CTX_new
    - fscanf
    - strlen
    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:
    - printf
    - exit
    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:
    - fprintf
    - strncpy
    - nghttp3_rcbuf_get_buf
    - memset
    - memcpy
    - fwrite
    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:
    - ERR_print_errors_fp
    - SSL_has_pending
    - nghttp3_err_is_fatal
    - printf
    - fprintf
    - nghttp3_conn_read_stream
    - SSL_read
    - SSL_get_error
    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:
    - add_id
    - get_ids_connection
    - printf
    - fprintf
    - fflush
    - SSL_get_stream_id
    - SSL_new_stream
    - nghttp3_conn_bind_control_stream
    - nghttp3_conn_bind_qpack_streams
    - SSL_free
    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:577,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:585,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:586,1
    - Dst: SSL_get_stream_type
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:587,1
    - Dst: add_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:588,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:590,1
    - Dst: reuse_h3ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:591,1
    - Dst: SSL_get_stream_type
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:594,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:597,1
    - Dst: reuse_h3ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:601,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:604,1
    - Dst: quic_server_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:607,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:624,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:630,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:633,1
    - Dst: quic_server_h3streams
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:634,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:636,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:645,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:657,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:669,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:670,1
    - Dst: quic_server_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:671,1
    - Dst: SSL_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:677,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:678,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:683,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:688,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:704,1
    - Dst: get_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:705,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:707,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:709,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:723,1
    - Dst: get_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:724,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:727,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:728,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:738,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:739,1
    - Dst: remove_marked_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:747,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 206
    argCount: 2
    argNames:
    - curh3conn
    - h3ssl
    argTypes:
    - nghttp3_conn**
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 463
    functionDepth: 8
    functionLinenumber: 463
    functionLinenumberEnd: 749
    functionName: read_from_ssl_ids
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - add_ids_connection
    - SSL_accept_stream
    - remove_marked_ids
    - quic_server_h3streams
    - SSL_poll
    - fprintf
    - SSL_read
    - nghttp3_conn_del
    - SSL_get_error
    - SSL_free
    - close_all_ids
    - add_id
    - nghttp3_conn_server_new
    - SSL_as_poll_descriptor
    - printf
    - SSL_set_incoming_stream_policy
    - quic_server_read
    - SSL_get_stream_id
    - replace_ids_connection
    - reuse_h3ssl
    - exit
    - get_ids_connection
    - nghttp3_settings_default
    - SSL_get_stream_type
    - get_id_status
    - set_id_status
    - 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:759,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 7
    functionLinenumber: 751
    functionLinenumberEnd: 763
    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:770,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:772,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:773,1
    - Dst: strcmp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:775,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:776,1
    - Dst: stat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:779,1
    - Dst: S_ISREG
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:781,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:782,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 788
    functionName: get_file_length
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - strcat
    - printf
    - strcmp
    - memset
    - S_ISREG
    - stat
    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:793,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:800,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:802,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:803,1
    - Dst: malloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:805,1
    - Dst: open
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:807,1
    - Dst: read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:808,1
    - Dst: close
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:809,1
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:810,1
    - Dst: close
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:813,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: get_file_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - open
    - strcat
    - printf
    - free
    - get_file_length
    - memset
    - close
    - malloc
    - read
    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:830,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:840,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: 848
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 848
    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:860,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:861,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:862,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:865,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:870,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: 873
      start: 850
    functionDepth: 7
    functionLinenumber: 850
    functionLinenumberEnd: 873
    functionName: quic_server_write
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - SSL_write_ex2
    - fprintf
    - ERR_print_errors_fp
    - printf
    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: 876
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 876
    functionName: OSSL_NELEM
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 325
    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:893,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: 900
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 900
    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:907,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:907,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:912,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:913,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:917,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:918,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:922,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:923,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:928,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 934
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_set_alpn_select_cb
    - fprintf
    - SSL_CTX_use_PrivateKey_file
    - OSSL_QUIC_server_method
    - SSL_CTX_check_private_key
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_CTX_use_certificate_chain_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:942,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:943,1
    - Dst: htons
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:948,1
    - Dst: bind
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:950,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:951,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 962
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 3
    functionsReached:
    - bind
    - fprintf
    - socket
    - htons
    - BIO_closesocket
    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:991,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:992,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:997,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:998,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1003,1
    - Dst: FD_SET
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1004,1
    - Dst: SSL_net_read_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: FD_SET
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1009,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1015,1
    - Dst: select
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1039
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 1
    functionsReached:
    - FD_SET
    - SSL_get_event_timeout
    - fprintf
    - SSL_get_fd
    - select
    - FD_ZERO
    - SSL_net_read_desired
    - SSL_net_write_desired
    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:1050,1
    - Dst: SSL_new_listener
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1053,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1057,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1061,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1069,1
    - Dst: nghttp3_mem_default
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1079,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1080,1
    - Dst: init_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1090,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1092,1
    - Dst: add_ids_listener
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1093,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1096,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1097,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1098,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1100,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1111,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1112,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1120,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1121,1
    - Dst: handle_events_from_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1126,1
    - Dst: read_from_ssl_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1128,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1130,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1133,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1136,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1145,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1148,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1151,1
    - Dst: quic_server_h3streams
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1152,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1153,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1161,1
    - Dst: get_file_length
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1162,1
    - Dst: snprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1167,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1169,1
    - Dst: snprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1172,1
    - Dst: malloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1173,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1174,1
    - Dst: snprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1177,1
    - Dst: get_file_data
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1178,1
    - Dst: abort
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1180,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1181,1
    - Dst: strstr
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1183,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1184,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: 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:1191,1
    - Dst: nghttp3_conn_submit_response
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1195,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1196,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1199,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1206,1
    - Dst: nghttp3_arraylen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1207,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1209,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1214,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1216,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1224,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1229,1
    - Dst: quic_server_write
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1233,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1235,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1239,1
    - Dst: nghttp3_vec_len
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1241,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1242,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1246,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1254,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1258,1
    - Dst: get_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1267,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1269,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1272,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1276,1
    - Dst: handle_events_from_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1278,1
    - Dst: read_from_ssl_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1280,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1282,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1286,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1289,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:1297,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1302,1
    - Dst: are_all_clientid_closed
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1306,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1307,1
    - Dst: close_all_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1318,1
    - Dst: get_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1319,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1321,1
    - Dst: replace_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1322,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1330,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1332,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 224
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1042
    functionDepth: 9
    functionLinenumber: 1042
    functionLinenumberEnd: 1334
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 3
    functionsReached:
    - nghttp3_vec_len
    - are_all_clientid_closed
    - get_file_length
    - quic_server_h3streams
    - quic_server_write
    - nghttp3_mem_default
    - SSL_listen
    - set_id_status
    - read_from_ssl_ids
    - make_nv
    - SSL_new_listener
    - fprintf
    - getenv
    - nghttp3_conn_add_write_offset
    - abort
    - SSL_free
    - SSL_set_blocking_mode
    - add_ids_listener
    - close_all_ids
    - printf
    - SSL_set_fd
    - memset
    - malloc
    - snprintf
    - strstr
    - replace_ids_connection
    - init_ids
    - ERR_print_errors_fp
    - nghttp3_conn_submit_response
    - get_ids_connection
    - nghttp3_arraylen
    - fflush
    - get_file_data
    - nghttp3_conn_writev_stream
    - wait_for_activity
    - handle_events_from_ids
    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:1348,1
    - Dst: create_ctx
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1354,1
    - Dst: strtoul
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1358,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1360,1
    - Dst: create_socket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1365,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1369,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1375,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1377,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1380,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1340
    functionDepth: 7
    functionLinenumber: 1340
    functionLinenumberEnd: 1383
    functionName: main
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 7
    functionsReached:
    - strtoul
    - ERR_print_errors_fp
    - run_quic_server
    - fprintf
    - create_socket
    - create_ctx
    - SSL_CTX_free
    - BIO_closesocket
    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_f_md
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - BIO_new
    - OPENSSL_free
    - BIO_read
    - BIO_free
    - fprintf
    - EVP_MD_get_size
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - BIO_push
    - BIO_set_md
    - BIO_gets
    - EVP_MD_free
    - fileno
    - BIO_new_fd
    - 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:
    - CRYPTO_memcmp
    - OPENSSL_free
    - printf
    - fprintf
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - atoi
    - EVP_DigestUpdate
    - BIO_dump_indent_fp
    - EVP_DigestFinalXOF
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - EVP_DigestInit
    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:85,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:87,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:96,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:99,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:103,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:105,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:111,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:118,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:120,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:127,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:128,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:132,1
    - Dst: strlen
      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:136,1
    - Dst: strlen
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:136,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:137,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:140,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:141,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:145,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:147,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:150,1
    - Dst: memcmp
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:152,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:154,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:156,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:158,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:164,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:167,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:168,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:170,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 74
    functionDepth: 10
    functionLinenumber: 74
    functionLinenumberEnd: 172
    functionName: demonstrate_digest
    functionSourceFile: /src/openssl/demos/digest/EVP_MD_demo.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OPENSSL_free
    - EVP_DigestFinal
    - fprintf
    - EVP_MD_get_size
    - OSSL_LIB_CTX_free
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - strlen
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - memcmp
    - OPENSSL_malloc
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: int demonstrate_digest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demonstrate_digest
      Src: /src/openssl/demos/digest/EVP_MD_demo.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: 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:
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OPENSSL_free
    - BIO_read
    - EVP_DigestFinal
    - fprintf
    - OSSL_LIB_CTX_free
    - EVP_MD_get_size
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - EVP_DigestInit
    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:
    - ERR_print_errors_fp
    - BIO_free
    - demonstrate_digest
    - fileno
    - BIO_new_fd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:84,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:85,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:86,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aesccm.c:89,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aesccm.c:93,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/demos/cipher/aesccm.c:97,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesccm.c:100,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/demos/cipher/aesccm.c:107,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/demos/cipher/aesccm.c:111,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:115,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:119,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:123,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:127,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:128,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/demos/cipher/aesccm.c:131,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesccm.c:135,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/cipher/aesccm.c:137,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/demos/cipher/aesccm.c:139,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:143,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:144,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aesccm.c:149,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aesccm.c:151,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aesccm.c:152,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 155
    functionName: aes_ccm_encrypt
    functionSourceFile: /src/openssl/demos/cipher/aesccm.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - ERR_print_errors_fp
    - EVP_CIPHER_CTX_get_params
    - printf
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptInit_ex
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int aes_ccm_encrypt(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:169,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:170,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:171,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aesccm.c:173,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aesccm.c:177,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/demos/cipher/aesccm.c:181,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesccm.c:184,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/demos/cipher/aesccm.c:191,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/demos/cipher/aesccm.c:195,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:199,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:203,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:207,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:211,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:212,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:214,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aesccm.c:220,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aesccm.c:222,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aesccm.c:223,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 157
    functionDepth: 7
    functionLinenumber: 157
    functionLinenumberEnd: 226
    functionName: aes_ccm_decrypt
    functionSourceFile: /src/openssl/demos/cipher/aesccm.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - ERR_print_errors_fp
    - printf
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex2
    - EVP_DecryptInit_ex
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int aes_ccm_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_ccm_encrypt
      Src: /src/openssl/demos/cipher/aesccm.c:230,1
    - Dst: aes_ccm_decrypt
      Src: /src/openssl/demos/cipher/aesccm.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 8
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/openssl/demos/cipher/aesccm.c
    functionUses: 7
    functionsReached:
    - aes_ccm_encrypt
    - aes_ccm_decrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:66,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:67,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:68,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aeskeywrap.c:71,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/demos/cipher/aeskeywrap.c:74,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aeskeywrap.c:77,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/demos/cipher/aeskeywrap.c:84,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aeskeywrap.c:88,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/demos/cipher/aeskeywrap.c:92,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:97,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:98,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:100,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:101,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:103,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:108,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:110,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 58
    functionDepth: 8
    functionLinenumber: 58
    functionLinenumberEnd: 114
    functionName: aes_wrap_encrypt
    functionSourceFile: /src/openssl/demos/cipher/aeskeywrap.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - printf
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_set_flags
    - EVP_CIPHER_CTX_free
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_wrap_encrypt(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:124,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:125,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:126,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aeskeywrap.c:128,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/demos/cipher/aeskeywrap.c:131,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aeskeywrap.c:134,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/demos/cipher/aeskeywrap.c:141,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aeskeywrap.c:145,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/demos/cipher/aeskeywrap.c:149,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:154,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:155,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:157,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:158,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:160,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:165,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:167,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:168,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 116
    functionDepth: 8
    functionLinenumber: 116
    functionLinenumberEnd: 171
    functionName: aes_wrap_decrypt
    functionSourceFile: /src/openssl/demos/cipher/aeskeywrap.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - printf
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_set_flags
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_wrap_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_encrypt
      Src: /src/openssl/demos/cipher/aeskeywrap.c:175,1
    - Dst: aes_wrap_decrypt
      Src: /src/openssl/demos/cipher/aeskeywrap.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/openssl/demos/cipher/aeskeywrap.c
    functionUses: 7
    functionsReached:
    - aes_wrap_encrypt
    - aes_wrap_decrypt
    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_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - ERR_print_errors_fp
    - printf
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_size_t
    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
    - EVP_CIPHER_CTX_set_params
    - ERR_print_errors_fp
    - printf
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - OSSL_PARAM_construct_size_t
    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_CIPHER_CTX_new
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - printf
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_EncryptUpdate
    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
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - printf
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_fetch
    - BIO_dump_fp
    - EVP_CIPHER_free
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    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_encrypt
    - aria_cbc_decrypt
    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:57,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:59,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:60,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - libctx
    - propq
    - public
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 12
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: get_key
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - fprintf
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    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:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:79,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:86,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:88,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:95,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:97,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:104,1
    - Dst: strlen
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:104,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:105,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_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:118,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:121,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:123,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:126,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:127,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:132,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:133,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:140,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:141,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:142,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: 144
      start: 66
    functionDepth: 8
    functionLinenumber: 66
    functionLinenumberEnd: 144
    functionName: demo_sign
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - OPENSSL_free
    - fprintf
    - EVP_DigestSignInit_ex
    - EVP_DigestSignUpdate
    - EVP_MD_CTX_free
    - BIO_dump_indent_fp
    - strlen
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - 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:158,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:160,1
    - Dst: get_key
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:164,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:166,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:170,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:172,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:179,1
    - Dst: strlen
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:179,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:180,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_DigestVerifyFinal
      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: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:191,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:196,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:197,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: 199
      start: 146
    functionDepth: 8
    functionLinenumber: 146
    functionLinenumberEnd: 199
    functionName: demo_verify
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 0
    functionsReached:
    - fprintf
    - EVP_MD_CTX_free
    - strlen
    - EVP_PKEY_free
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX_new
    - get_key
    - EVP_DigestVerifyFinal
    - EVP_DigestVerifyInit_ex
    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:209,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:211,1
    - Dst: demo_sign
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:214,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:215,1
    - Dst: demo_verify
      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: ERR_print_errors_fp
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:226,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 7
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OPENSSL_free
    - demo_verify
    - fprintf
    - OSSL_LIB_CTX_free
    - demo_sign
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:44,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:47,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:52,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:54,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:59,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:61,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:63,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: 32
    functionDepth: 14
    functionLinenumber: 32
    functionLinenumberEnd: 107
    functionName: sign
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_hash.c
    functionUses: 183
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_DigestSignFinal
    - OPENSSL_free
    - fprintf
    - EVP_DigestSignInit_ex
    - OSSL_PARAM_construct_end
    - EVP_DigestSignUpdate
    - d2i_PrivateKey_ex
    - EVP_PKEY_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - 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:145,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:153,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:154,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:159,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:160,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:167,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:168,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: 170
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 170
    functionName: verify
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_hash.c
    functionUses: 136
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - d2i_PublicKey
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_DigestVerifyUpdate
    - EVP_PKEY_free
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - 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:179,1
    - Dst: verify
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:182,1
    - Dst: printf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:189,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_hash.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - sign
    - verify
    - printf
    - OSSL_LIB_CTX_free
    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:39,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:41,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:53,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:54,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:59,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:60,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:65,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:68,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:70,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:75,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:76,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:81,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:82,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: 84
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 84
    functionName: demo_sign
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - fprintf
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - BIO_dump_indent_fp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - 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:98,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:100,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:104,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:106,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:115,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:118,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:122,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: 124
      start: 86
    functionDepth: 8
    functionLinenumber: 86
    functionLinenumberEnd: 124
    functionName: demo_verify
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 1
    functionsReached:
    - EVP_DigestVerify
    - fprintf
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:139,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:141,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:145,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:150,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:153,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:155,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:164,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: 167
      start: 126
    functionDepth: 9
    functionLinenumber: 126
    functionLinenumberEnd: 167
    functionName: create_key
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_octet_string_param
    - fprintf
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    - EVP_PKEY_new_raw_public_key_ex
    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:177,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:179,1
    - Dst: create_key
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:182,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:183,1
    - Dst: demo_sign
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:187,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:189,1
    - Dst: demo_verify
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:192,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:194,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:201,1
    - Dst: EVP_PKEY_free
      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: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:204,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 169
    functionDepth: 10
    functionLinenumber: 169
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OPENSSL_free
    - demo_verify
    - fprintf
    - OSSL_LIB_CTX_free
    - create_key
    - EVP_PKEY_free
    - demo_sign
    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:91,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:96,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:98,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:103,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:106,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:112,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:113,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:117,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: 120
      start: 38
    functionDepth: 14
    functionLinenumber: 38
    functionLinenumberEnd: 120
    functionName: sign
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_direct.c
    functionUses: 186
    functionsReached:
    - EVP_PKEY_CTX_set_signature_md
    - OPENSSL_malloc
    - OPENSSL_free
    - fprintf
    - EVP_MD_fetch
    - d2i_PrivateKey_ex
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_MD_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_sign_init
    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:136,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:138,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:143,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:145,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:150,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:152,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:157,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:158,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:162,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:163,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:167,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:168,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:173,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:176,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:183,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:184,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:185,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: 187
      start: 126
    functionDepth: 10
    functionLinenumber: 126
    functionLinenumberEnd: 187
    functionName: verify
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_direct.c
    functionUses: 139
    functionsReached:
    - EVP_PKEY_CTX_set_signature_md
    - d2i_PublicKey
    - fprintf
    - EVP_PKEY_verify_init
    - EVP_MD_fetch
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_MD_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:196,1
    - Dst: verify
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:199,1
    - Dst: printf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:206,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_direct.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - sign
    - verify
    - printf
    - OSSL_LIB_CTX_free
    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:50,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:54,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:57,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:59,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:67,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:70,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:72,1
    - Dst: EVP_PKEY_print_params_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:73,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - libctx
    - p_params
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 8
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: generate_dsa_params
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - fprintf
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen
    - EVP_PKEY_print_params_fp
    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:88,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:92,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:95,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:103,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:106,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:108,1
    - Dst: EVP_PKEY_print_public_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:110,1
    - Dst: EVP_PKEY_print_private_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:111,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:112,1
    - Dst: EVP_PKEY_print_params_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
    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: 117
      start: 79
    functionDepth: 8
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: generate_dsa_key
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_print_public_fp
    - EVP_PKEY_keygen
    - fprintf
    - EVP_PKEY_free
    - EVP_PKEY_print_private_fp
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:125,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pkey
    - p_public_key
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: extract_public_key
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_todata
    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:145,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pkey
    - p_keypair
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: extract_keypair
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_clear_free
    - EVP_PKEY_todata
    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:170,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:173,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:175,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:178,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:182,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:185,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:188,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:192,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:197,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:202,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:207,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:209,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:215,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:216,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:218,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:219,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:220,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: 222
      start: 159
    functionDepth: 8
    functionLinenumber: 159
    functionLinenumberEnd: 222
    functionName: demo_sign
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 2
    functionsReached:
    - EVP_DigestSignFinal
    - EVP_MD_CTX_create
    - OPENSSL_free
    - fprintf
    - EVP_DigestSignInit_ex
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - EVP_DigestSignUpdate
    - BIO_dump_indent_fp
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - 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:233,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:236,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:238,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:241,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:245,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:248,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:251,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:254,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:259,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:260,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:261,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: 263
      start: 224
    functionDepth: 8
    functionLinenumber: 224
    functionLinenumberEnd: 263
    functionName: demo_verify
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 2
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_CTX_new_from_name
    - EVP_DigestVerifyInit_ex
    - EVP_PKEY_free
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_DigestVerifyFinal
    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:276,1
    - Dst: generate_dsa_params
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:280,1
    - Dst: generate_dsa_key
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:283,1
    - Dst: extract_public_key
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:286,1
    - Dst: extract_keypair
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:289,1
    - Dst: demo_sign
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:293,1
    - Dst: demo_verify
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:297,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:303,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:305,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:306,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:307,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:308,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:309,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:310,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 265
    functionDepth: 9
    functionLinenumber: 265
    functionLinenumberEnd: 313
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_new
    - ERR_print_errors_fp
    - OPENSSL_free
    - demo_verify
    - OSSL_PARAM_free
    - OSSL_LIB_CTX_free
    - generate_dsa_key
    - EVP_PKEY_free
    - OSSL_PARAM_clear_free
    - generate_dsa_params
    - extract_keypair
    - extract_public_key
    - demo_sign
    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:
    - SMIME_write_PKCS7
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - printf
    - fprintf
    - ERR_load_crypto_strings
    - PKCS7_sign
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - PKCS7_free
    - BIO_new_file
    - EVP_PKEY_free
    - 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:
    - SMIME_read_PKCS7
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - printf
    - fprintf
    - ERR_load_crypto_strings
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - PKCS7_free
    - BIO_new_file
    - EVP_PKEY_free
    - PKCS7_decrypt
    - 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:
    - SMIME_write_PKCS7
    - PKCS7_sign_add_signer
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - printf
    - fprintf
    - ERR_load_crypto_strings
    - PKCS7_sign
    - BIO_reset
    - OpenSSL_add_all_algorithms
    - PEM_read_bio_PrivateKey
    - PKCS7_free
    - BIO_new_file
    - EVP_PKEY_free
    - 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: 15
    functionLinenumber: 15
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smenc.c
    functionUses: 7
    functionsReached:
    - SMIME_write_PKCS7
    - ERR_print_errors_fp
    - X509_free
    - sk_X509_new_null
    - printf
    - OSSL_STACK_OF_X509_free
    - fprintf
    - BIO_free
    - ERR_load_crypto_strings
    - sk_X509_push
    - OpenSSL_add_all_algorithms
    - STACK_OF
    - PKCS7_free
    - BIO_new_file
    - EVP_des_ede3_cbc
    - PKCS7_encrypt
    - 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: 13
    functionLinenumber: 15
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smver.c
    functionUses: 7
    functionsReached:
    - SMIME_read_PKCS7
    - ERR_print_errors_fp
    - X509_free
    - BIO_free
    - printf
    - X509_STORE_add_cert
    - fprintf
    - PKCS7_free
    - ERR_load_crypto_strings
    - X509_STORE_new
    - OpenSSL_add_all_algorithms
    - X509_STORE_free
    - BIO_new_file
    - PKCS7_verify
    - 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_ssl_ctx
    - BIO_puts
    - NCONF_load
    - NCONF_get_section
    - BIO_do_connect
    - SSL_CONF_CTX_new
    - sk_CONF_VALUE_value
    - NCONF_free
    - SSL_CONF_cmd
    - BIO_get_ssl
    - BIO_new_fp
    - BIO_read
    - BIO_write
    - fprintf
    - STACK_OF
    - BIO_set_conn_hostname
    - SSL_CONF_CTX_free
    - SSL_CONF_CTX_finish
    - NCONF_new
    - BIO_free
    - strcmp
    - BIO_new_ssl_connect
    - SSL_CONF_CTX_set_flags
    - TLS_client_method
    - ERR_print_errors_fp
    - BIO_free_all
    - SSL_CTX_new
    - sk_CONF_VALUE_num
    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:33,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/server-conf.c:39,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/server-conf.c:39,1
    - Dst: NCONF_new
      Src: /src/openssl/demos/bio/server-conf.c:41,1
    - Dst: NCONF_load
      Src: /src/openssl/demos/bio/server-conf.c:43,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:45,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:47,1
    - Dst: NCONF_get_section
      Src: /src/openssl/demos/bio/server-conf.c:51,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:54,1
    - Dst: SSL_CONF_CTX_new
      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_flags
      Src: /src/openssl/demos/bio/server-conf.c:61,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/demos/bio/server-conf.c:62,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/demos/bio/server-conf.c:63,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/demos/bio/server-conf.c:65,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/demos/bio/server-conf.c:66,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:70,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-conf.c:72,1
    - Dst: strcmp
      Src: /src/openssl/demos/bio/server-conf.c:75,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:78,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/demos/bio/server-conf.c:83,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:84,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-conf.c:85,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/server-conf.c:90,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/server-conf.c:92,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/server-conf.c:100,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/server-conf.c:110,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/server-conf.c:114,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-conf.c:121,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/server-conf.c:122,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-conf.c:123,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/server-conf.c:127,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/server-conf.c:131,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-conf.c:132,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-conf.c:138,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/server-conf.c:139,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-conf.c:140,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 24
    functionDepth: 7
    functionLinenumber: 24
    functionLinenumberEnd: 142
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/server-conf.c
    functionUses: 7
    functionsReached:
    - SSL_CONF_CTX_set_ssl_ctx
    - NCONF_load
    - NCONF_get_section
    - SSL_CONF_CTX_new
    - sk_CONF_VALUE_value
    - SSL_CONF_cmd
    - TLS_server_method
    - BIO_should_retry
    - BIO_read
    - fprintf
    - STACK_OF
    - BIO_do_accept
    - SSL_CONF_CTX_finish
    - BIO_new_accept
    - NCONF_new
    - BIO_free
    - printf
    - strcmp
    - SSL_CONF_CTX_set_flags
    - ERR_print_errors_fp
    - BIO_pop
    - BIO_free_all
    - fflush
    - SSL_CTX_new
    - BIO_new_ssl
    - sk_CONF_VALUE_num
    - BIO_set_accept_bios
    - fwrite
    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:
    - sigaction
    - signal
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: void sigsetup(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/saccept.c:67,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/saccept.c:67,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/bio/saccept.c:68,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/bio/saccept.c:70,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/demos/bio/saccept.c:72,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/saccept.c:76,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/saccept.c:78,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/saccept.c:86,1
    - Dst: sigsetup
      Src: /src/openssl/demos/bio/saccept.c:90,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/saccept.c:99,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/saccept.c:103,1
    - Dst: printf
      Src: /src/openssl/demos/bio/saccept.c:110,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/saccept.c:111,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/saccept.c:112,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/saccept.c:117,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/saccept.c:118,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/saccept.c:124,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/saccept.c:125,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/saccept.c:126,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 52
    functionDepth: 7
    functionLinenumber: 52
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/saccept.c
    functionUses: 7
    functionsReached:
    - ERR_print_errors_fp
    - fwrite
    - BIO_read
    - BIO_pop
    - printf
    - BIO_free
    - BIO_free_all
    - SSL_CTX_use_PrivateKey_file
    - fflush
    - SSL_CTX_check_private_key
    - SSL_CTX_new
    - BIO_new_ssl
    - BIO_set_accept_bios
    - BIO_do_accept
    - sigsetup
    - TLS_server_method
    - BIO_new_accept
    - SSL_CTX_use_certificate_chain_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:36,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/server-arg.c:36,1
    - Dst: SSL_CONF_CTX_new
      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_flags
      Src: /src/openssl/demos/bio/server-arg.c:40,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/demos/bio/server-arg.c:41,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/demos/bio/server-arg.c:45,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:47,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:51,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-arg.c:52,1
    - Dst: strcmp
      Src: /src/openssl/demos/bio/server-arg.c:59,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:62,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:69,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/demos/bio/server-arg.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:75,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-arg.c:76,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/openssl/demos/bio/server-arg.c:86,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/openssl/demos/bio/server-arg.c:88,1
    - Dst: X509_NAME_print_ex_fp
      Src: /src/openssl/demos/bio/server-arg.c:89,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/demos/bio/server-arg.c:89,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-arg.c:91,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/openssl/demos/bio/server-arg.c:92,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-arg.c:94,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/server-arg.c:98,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/server-arg.c:100,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/server-arg.c:108,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/server-arg.c:118,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/server-arg.c:122,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-arg.c:129,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/server-arg.c:130,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-arg.c:131,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/server-arg.c:136,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-arg.c:137,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-arg.c:143,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/server-arg.c:144,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-arg.c:145,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 23
    functionDepth: 7
    functionLinenumber: 23
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/server-arg.c
    functionUses: 7
    functionsReached:
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_new
    - SSL_CONF_cmd_argv
    - TLS_server_method
    - SSL_CTX_get0_certificate
    - BIO_read
    - fprintf
    - SSL_CTX_set_current_cert
    - X509_get_subject_name
    - BIO_do_accept
    - SSL_CONF_CTX_finish
    - BIO_new_accept
    - BIO_free
    - printf
    - strcmp
    - SSL_CONF_CTX_set_flags
    - ERR_print_errors_fp
    - BIO_pop
    - fflush
    - BIO_free_all
    - SSL_CTX_new
    - BIO_new_ssl
    - BIO_set_accept_bios
    - fwrite
    - X509_NAME_print_ex_fp
    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_ssl_ctx
    - BIO_puts
    - BIO_do_connect
    - SSL_CONF_CTX_new
    - SSL_CONF_cmd_argv
    - BIO_get_ssl
    - BIO_new_fp
    - BIO_read
    - BIO_write
    - fprintf
    - BIO_set_conn_hostname
    - SSL_CONF_CTX_free
    - SSL_CONF_CTX_finish
    - BIO_free
    - strcmp
    - BIO_new_ssl_connect
    - SSL_CONF_CTX_set_flags
    - TLS_client_method
    - ERR_print_errors_fp
    - BIO_free_all
    - SSL_CTX_new
    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: 14
    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:67,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/demos/bio/sconnect.c:67,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/demos/bio/sconnect.c:71,1
    - Dst: BIO_new
      Src: /src/openssl/demos/bio/sconnect.c:74,1
    - Dst: BIO_s_connect
      Src: /src/openssl/demos/bio/sconnect.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/sconnect.c:76,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/demos/bio/sconnect.c:80,1
    - Dst: BIO_get_conn_hostname
      Src: /src/openssl/demos/bio/sconnect.c:83,1
    - Dst: SSL_set1_dnsname
      Src: /src/openssl/demos/bio/sconnect.c:84,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/sconnect.c:85,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/demos/bio/sconnect.c:89,1
    - Dst: BIO_push
      Src: /src/openssl/demos/bio/sconnect.c:90,1
    - Dst: strlen
      Src: /src/openssl/demos/bio/sconnect.c:93,1
    - Dst: BIO_write
      Src: /src/openssl/demos/bio/sconnect.c:97,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/sconnect.c:99,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/sconnect.c:100,1
    - Dst: sleep
      Src: /src/openssl/demos/bio/sconnect.c:101,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/sconnect.c:114,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/sconnect.c:118,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/sconnect.c:119,1
    - Dst: sleep
      Src: /src/openssl/demos/bio/sconnect.c:120,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/sconnect.c:125,1
    - Dst: ERR_peek_error
      Src: /src/openssl/demos/bio/sconnect.c:132,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/sconnect.c:133,1
    - Dst: perror
      Src: /src/openssl/demos/bio/sconnect.c:134,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/sconnect.c:136,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/sconnect.c:139,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/bio/sconnect.c:140,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 33
    functionDepth: 7
    functionLinenumber: 33
    functionLinenumberEnd: 142
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/sconnect.c
    functionUses: 7
    functionsReached:
    - perror
    - BIO_set_ssl
    - SSL_CTX_free
    - sock_init
    - SSL_set1_dnsname
    - BIO_f_ssl
    - SSL_CTX_set_verify
    - dbug_init
    - BIO_new
    - BIO_should_retry
    - BIO_write
    - BIO_read
    - SSL_set_connect_state
    - sleep
    - fprintf
    - BIO_set_conn_hostname
    - BIO_get_conn_hostname
    - BIO_free
    - SSL_CTX_load_verify_locations
    - BIO_push
    - TLS_client_method
    - SSL_new
    - ERR_print_errors_fp
    - BIO_s_connect
    - BIO_set_nbio
    - BIO_free_all
    - SSL_CTX_new
    - ERR_peek_error
    - strlen
    - fwrite
    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:32,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/server-cmod.c:32,1
    - Dst: CONF_modules_load_file
      Src: /src/openssl/demos/bio/server-cmod.c:34,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-cmod.c:35,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/demos/bio/server-cmod.c:39,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-cmod.c:40,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/server-cmod.c:45,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/server-cmod.c:47,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/server-cmod.c:55,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/server-cmod.c:65,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/server-cmod.c:69,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-cmod.c:76,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/server-cmod.c:77,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-cmod.c:78,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/server-cmod.c:82,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/server-cmod.c:86,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-cmod.c:87,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-cmod.c:93,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/server-cmod.c:94,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-cmod.c:95,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 22
    functionDepth: 9
    functionLinenumber: 22
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/server-cmod.c
    functionUses: 7
    functionsReached:
    - ERR_print_errors_fp
    - BIO_should_retry
    - CONF_modules_load_file
    - BIO_read
    - SSL_CTX_config
    - printf
    - BIO_pop
    - fprintf
    - BIO_free_all
    - fwrite
    - fflush
    - BIO_free
    - SSL_CTX_new
    - BIO_new_ssl
    - BIO_set_accept_bios
    - BIO_do_accept
    - TLS_server_method
    - BIO_new_accept
    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:52,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:54,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - libctx
    - propq
    - public
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 12
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: get_key
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 2
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    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:65,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:68,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:71,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:78,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - propq
    argTypes:
    - OSSL_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 88
    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:108,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:110,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:115,1
    - Dst: set_optional_params
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:118,1
    - Dst: EVP_PKEY_encrypt_init_ex
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:120,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:121,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:126,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:129,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:131,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:134,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:135,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:140,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:141,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:147,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:148,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:149,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: 151
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 151
    functionName: do_encrypt
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 5
    functionsReached:
    - OPENSSL_zalloc
    - EVP_PKEY_encrypt
    - OPENSSL_free
    - fprintf
    - BIO_dump_indent_fp
    - EVP_PKEY_free
    - EVP_PKEY_encrypt_init_ex
    - get_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - set_optional_params
    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:165,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:167,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:170,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:172,1
    - Dst: set_optional_params
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:177,1
    - Dst: EVP_PKEY_decrypt_init_ex
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:179,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:180,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:184,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:185,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:188,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:190,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:193,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:194,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:199,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:200,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:206,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:207,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:208,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: 210
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 210
    functionName: do_decrypt
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - fprintf
    - EVP_PKEY_decrypt
    - EVP_PKEY_decrypt_init_ex
    - BIO_dump_indent_fp
    - EVP_PKEY_free
    - get_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - set_optional_params
    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:220,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:221,1
    - Dst: do_decrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:224,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:226,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:229,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:236,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:237,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:238,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 212
    functionDepth: 7
    functionLinenumber: 212
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 7
    functionsReached:
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - OPENSSL_free
    - fprintf
    - OSSL_LIB_CTX_free
    - do_decrypt
    - 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: 2
    functionsReached:
    - BIO_set_fd
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_lookup_ex
    - BIO_s_socket
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    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_dnsname
      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_read_ex
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - SSL_set1_dnsname
    - create_socket_bio
    - SSL_CTX_set_verify
    - SSL_set_tlsext_host_name
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - printf
    - strcmp
    - SSL_CTX_set_default_verify_paths
    - X509_verify_cert_error_string
    - TLS_client_method
    - SSL_new
    - ERR_print_errors_fp
    - SSL_connect
    - SSL_shutdown
    - SSL_get_verify_result
    - SSL_CTX_new
    - strlen
    - SSL_set_bio
    - fwrite
    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: 1
    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:
    - vwarnx
    - va_end
    - exit
    - va_start
    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: 34
    functionsReached:
    - vwarnx
    - va_end
    - va_start
    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:271,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/tls-server-block.c:274,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/tls-server-block.c:275,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:281,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 283
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/tls-server-block.c
    functionUses: 7
    functionsReached:
    - SSL_CTX_set_timeout
    - warnx
    - SSL_CTX_set_options
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_free
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set_min_proto_version
    - SSL_read_ex
    - TLS_server_method
    - ERR_clear_error
    - SSL_CTX_set_session_id_context
    - SSL_CTX_set_verify
    - SSL_CTX_set_security_level
    - fprintf
    - BIO_do_accept
    - BIO_new_accept
    - SSL_CTX_use_certificate_chain_file
    - SSL_free
    - SSL_write_ex
    - SSL_accept
    - BIO_free
    - SSL_new
    - ERR_print_errors_fp
    - errx
    - BIO_pop
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_new
    - BIO_set_bind_mode
    - SSL_set_bio
    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: 3
    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:
    - vwarnx
    - va_end
    - exit
    - va_start
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/guide/quic-server-block.c:90,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: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    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:108,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/guide/quic-server-block.c:108,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/guide/quic-server-block.c:127,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:128,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/guide/quic-server-block.c:138,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:139,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-server-block.c:154,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/guide/quic-server-block.c:157,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 164
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_alpn_select_cb
    - fprintf
    - SSL_CTX_use_PrivateKey_file
    - OSSL_QUIC_server_method
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_CTX_use_certificate_chain_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:173,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:174,1
    - Dst: htons
      Src: /src/openssl/demos/guide/quic-server-block.c:179,1
    - Dst: bind
      Src: /src/openssl/demos/guide/quic-server-block.c:182,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:183,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:184,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 193
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - bind
    - fprintf
    - socket
    - htons
    - BIO_closesocket
    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:212,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/guide/quic-server-block.c:216,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/guide/quic-server-block.c:220,1
    - Dst: ERR_clear_error
      Src: /src/openssl/demos/guide/quic-server-block.c:229,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-block.c:232,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/guide/quic-server-block.c:233,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:235,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-block.c:238,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-server-block.c:241,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-server-block.c:242,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:245,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/demos/guide/quic-server-block.c:250,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:251,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-block.c:252,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-server-block.c:260,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-block.c:263,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-block.c:267,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 269
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - SSL_stream_conclude
    - SSL_write_ex
    - SSL_new_listener
    - printf
    - fprintf
    - SSL_shutdown
    - SSL_set_fd
    - SSL_read_ex
    - SSL_listen
    - SSL_free
    - SSL_accept_connection
    - ERR_clear_error
    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:283,1
    - Dst: create_ctx
      Src: /src/openssl/demos/guide/quic-server-block.c:286,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-block.c:287,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:288,1
    - Dst: strtoul
      Src: /src/openssl/demos/guide/quic-server-block.c:292,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:294,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:295,1
    - Dst: create_socket
      Src: /src/openssl/demos/guide/quic-server-block.c:299,1
    - Dst: SSL_CTX_free
      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: run_quic_server
      Src: /src/openssl/demos/guide/quic-server-block.c:306,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:307,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:308,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-block.c:309,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:310,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:314,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 272
    functionDepth: 7
    functionLinenumber: 272
    functionLinenumberEnd: 318
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 7
    functionsReached:
    - strtoul
    - ERR_print_errors_fp
    - run_quic_server
    - errx
    - SSL_CTX_free
    - create_ctx
    - create_socket
    - BIO_closesocket
    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: 3
    functionsReached:
    - BIO_set_fd
    - BIO_s_datagram
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_lookup_ex
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_ADDR_dup
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    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:153,1
    - Dst: strcmp
      Src: /src/openssl/demos/guide/quic-multi-stream.c:157,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:159,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/quic-multi-stream.c:173,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/demos/guide/quic-multi-stream.c:173,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:175,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-multi-stream.c:184,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/guide/quic-multi-stream.c:187,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:188,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/quic-multi-stream.c:193,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:195,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/demos/guide/quic-multi-stream.c:203,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:204,1
    - Dst: create_socket_bio
      Src: /src/openssl/demos/guide/quic-multi-stream.c:212,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:214,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/quic-multi-stream.c:217,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/guide/quic-multi-stream.c:223,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:224,1
    - Dst: SSL_set1_dnsname
      Src: /src/openssl/demos/guide/quic-multi-stream.c:234,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:235,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/demos/guide/quic-multi-stream.c:240,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:241,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/demos/guide/quic-multi-stream.c:246,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:247,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/guide/quic-multi-stream.c:252,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:253,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-multi-stream.c:258,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:259,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/quic-multi-stream.c:260,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-multi-stream.c:260,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/guide/quic-multi-stream.c:268,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/guide/quic-multi-stream.c:269,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:271,1
    - Dst: write_a_request
      Src: /src/openssl/demos/guide/quic-multi-stream.c:276,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:277,1
    - Dst: write_a_request
      Src: /src/openssl/demos/guide/quic-multi-stream.c:281,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:282,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:293,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:299,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/quic-multi-stream.c:307,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:310,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-multi-stream.c:320,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-multi-stream.c:330,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:332,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:337,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:342,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:349,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/guide/quic-multi-stream.c:364,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:366,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:370,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:376,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/quic-multi-stream.c:377,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:378,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-multi-stream.c:381,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-multi-stream.c:387,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:389,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:393,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:397,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:403,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-multi-stream.c:412,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:414,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-multi-stream.c:428,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:435,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:436,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_CTX_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:439,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:440,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 134
    functionDepth: 7
    functionLinenumber: 134
    functionLinenumberEnd: 442
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-multi-stream.c
    functionUses: 7
    functionsReached:
    - BIO_ADDR_free
    - SSL_accept_stream
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_set1_dnsname
    - create_socket_bio
    - SSL_CTX_set_verify
    - SSL_get_stream_read_state
    - SSL_set_tlsext_host_name
    - SSL_get_error
    - SSL_free
    - write_a_request
    - printf
    - strcmp
    - SSL_CTX_set_default_verify_paths
    - SSL_new_stream
    - X509_verify_cert_error_string
    - SSL_set1_initial_peer_addr
    - SSL_new
    - ERR_print_errors_fp
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_set_default_stream_mode
    - SSL_connect
    - SSL_shutdown
    - SSL_get_verify_result
    - SSL_CTX_new
    - SSL_set_bio
    - fwrite
    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: 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-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:
    - vwarnx
    - va_end
    - exit
    - va_start
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/guide/quic-server-non-block.c:90,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: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    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:108,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/guide/quic-server-non-block.c:108,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/guide/quic-server-non-block.c:127,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:128,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/guide/quic-server-non-block.c:138,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:139,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-server-non-block.c:154,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/guide/quic-server-non-block.c:157,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 164
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 5
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_alpn_select_cb
    - fprintf
    - SSL_CTX_use_PrivateKey_file
    - OSSL_QUIC_server_method
    - SSL_CTX_new
    - SSL_CTX_free
    - SSL_CTX_use_certificate_chain_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:173,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:174,1
    - Dst: htons
      Src: /src/openssl/demos/guide/quic-server-non-block.c:179,1
    - Dst: bind
      Src: /src/openssl/demos/guide/quic-server-non-block.c:182,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:183,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:184,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/guide/quic-server-non-block.c:189,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:190,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 5
    functionsReached:
    - bind
    - fprintf
    - socket
    - htons
    - BIO_socket_nbio
    - BIO_closesocket
    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:224,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:225,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/quic-server-non-block.c:230,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/quic-server-non-block.c:231,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/demos/guide/quic-server-non-block.c:236,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/quic-server-non-block.c:237,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/demos/guide/quic-server-non-block.c:238,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/quic-server-non-block.c:239,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/demos/guide/quic-server-non-block.c:245,1
    - Dst: select
      Src: /src/openssl/demos/guide/quic-server-non-block.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 269
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 2
    functionsReached:
    - FD_SET
    - SSL_get_event_timeout
    - fprintf
    - SSL_get_fd
    - select
    - FD_ZERO
    - SSL_net_read_desired
    - SSL_net_write_desired
    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:294,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/quic-server-non-block.c:298,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-server-non-block.c:315,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:317,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:325,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:330,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-server-non-block.c:337,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:338,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/quic-server-non-block.c:339,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-server-non-block.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 345
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 4
    functionsReached:
    - X509_verify_cert_error_string
    - printf
    - SSL_get_stream_read_state
    - SSL_get_verify_result
    - wait_for_activity
    - SSL_get_error
    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:360,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/guide/quic-server-non-block.c:364,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/guide/quic-server-non-block.c:371,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/guide/quic-server-non-block.c:380,1
    - Dst: ERR_clear_error
      Src: /src/openssl/demos/guide/quic-server-non-block.c:393,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:396,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/guide/quic-server-non-block.c:397,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/quic-server-non-block.c:398,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:399,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-server-non-block.c:403,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:407,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-server-non-block.c:411,1
    - Dst: SSL_has_pending
      Src: /src/openssl/demos/guide/quic-server-non-block.c:416,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:420,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/guide/quic-server-non-block.c:426,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-server-non-block.c:429,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:431,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:436,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-server-non-block.c:443,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-server-non-block.c:444,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:448,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:453,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 455
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 5
    functionsReached:
    - SSL_set_blocking_mode
    - SSL_has_pending
    - SSL_new_listener
    - printf
    - fprintf
    - handle_io_failure
    - SSL_set_fd
    - SSL_shutdown
    - SSL_write_ex2
    - SSL_read_ex
    - SSL_listen
    - wait_for_activity
    - SSL_free
    - SSL_accept_connection
    - ERR_clear_error
    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:470,1
    - Dst: create_ctx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:473,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-non-block.c:474,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:475,1
    - Dst: strtoul
      Src: /src/openssl/demos/guide/quic-server-non-block.c:479,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:481,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:482,1
    - Dst: create_socket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:486,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:487,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-non-block.c:488,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:489,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/guide/quic-server-non-block.c:493,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:494,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:495,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-non-block.c:496,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:497,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:501,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 458
    functionDepth: 7
    functionLinenumber: 458
    functionLinenumberEnd: 505
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 7
    functionsReached:
    - strtoul
    - ERR_print_errors_fp
    - run_quic_server
    - errx
    - SSL_CTX_free
    - create_ctx
    - create_socket
    - BIO_closesocket
    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: 4
    functionsReached:
    - BIO_set_fd
    - BIO_s_datagram
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_lookup_ex
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_ADDR_dup
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    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_dnsname
      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:
    - BIO_ADDR_free
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_set1_dnsname
    - create_socket_bio
    - SSL_CTX_set_verify
    - SSL_get_stream_read_state
    - SSL_set_tlsext_host_name
    - SSL_get_error
    - SSL_free
    - SSL_write_ex
    - printf
    - strcmp
    - SSL_CTX_set_default_verify_paths
    - SSL_write_ex2
    - X509_verify_cert_error_string
    - SSL_set1_initial_peer_addr
    - SSL_new
    - ERR_print_errors_fp
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_connect
    - SSL_shutdown
    - SSL_get_verify_result
    - SSL_CTX_new
    - strlen
    - SSL_set_bio
    - fwrite
    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: 5
    functionsReached:
    - BIO_set_fd
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_lookup_ex
    - BIO_s_socket
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    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:
    - FD_ZERO
    - FD_SET
    - SSL_get_fd
    - select
    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:
    - X509_verify_cert_error_string
    - printf
    - SSL_get_verify_result
    - wait_for_activity
    - SSL_get_error
    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_dnsname
      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:
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - SSL_set1_dnsname
    - create_socket_bio
    - SSL_CTX_set_verify
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_write_ex
    - printf
    - handle_io_failure
    - strcmp
    - SSL_CTX_set_default_verify_paths
    - TLS_client_method
    - SSL_new
    - ERR_print_errors_fp
    - SSL_connect
    - SSL_shutdown
    - SSL_CTX_new
    - strlen
    - SSL_set_bio
    - fwrite
    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: 6
    functionsReached:
    - BIO_set_fd
    - BIO_s_datagram
    - BIO_ADDRINFO_address
    - BIO_new
    - BIO_lookup_ex
    - BIO_socket_nbio
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_free
    - BIO_socket
    - BIO_ADDR_dup
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_connect
    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_SET
    - SSL_get_event_timeout
    - SSL_get_fd
    - select
    - FD_ZERO
    - SSL_net_read_desired
    - SSL_net_write_desired
    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:
    - X509_verify_cert_error_string
    - printf
    - SSL_get_stream_read_state
    - SSL_get_verify_result
    - wait_for_activity
    - SSL_get_error
    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_dnsname
      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:
    - BIO_ADDR_free
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_set1_dnsname
    - create_socket_bio
    - SSL_CTX_set_verify
    - SSL_set_tlsext_host_name
    - SSL_free
    - SSL_set_blocking_mode
    - SSL_write_ex
    - printf
    - handle_io_failure
    - strcmp
    - SSL_CTX_set_default_verify_paths
    - SSL_write_ex2
    - SSL_set1_initial_peer_addr
    - SSL_new
    - ERR_print_errors_fp
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_connect
    - SSL_shutdown
    - SSL_CTX_new
    - strlen
    - SSL_set_bio
    - fwrite
    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_CTX_free
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_octet_string
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - EVP_KDF_derive
    - OSSL_get_max_threads
    - EVP_KDF_CTX_new
    - fprintf
    - printf
    - OSSL_PARAM_construct_end
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_uint
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_uint32
    - OSSL_set_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:
    - OSSL_PARAM_construct_utf8_string
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - EVP_KDF_derive
    - printf
    - EVP_KDF_CTX_new
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - EVP_KDF_fetch
    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:
    - OSSL_PARAM_construct_utf8_string
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - EVP_KDF_derive
    - printf
    - EVP_KDF_CTX_new
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_KDF_fetch
    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_CTX_free
    - CRYPTO_memcmp
    - OSSL_PARAM_construct_octet_string
    - OSSL_LIB_CTX_new
    - EVP_KDF_free
    - EVP_KDF_derive
    - printf
    - EVP_KDF_CTX_new
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - EVP_KDF_fetch
    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_update
    - CRYPTO_memcmp
    - OSSL_LIB_CTX_new
    - EVP_MAC_fetch
    - putchar
    - EVP_MAC_free
    - ERR_print_errors_fp
    - EVP_MAC_CTX_free
    - printf
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - OSSL_PARAM_construct_uint
    - BIO_dump_indent_fp
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    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:75,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:77,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/cmac-aes256.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:84,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/cmac-aes256.c:89,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:91,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/mac/cmac-aes256.c:96,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/mac/cmac-aes256.c:98,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/cmac-aes256.c:101,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:102,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/cmac-aes256.c:107,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:108,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/cmac-aes256.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:114,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/mac/cmac-aes256.c:117,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:119,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/cmac-aes256.c:123,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:124,1
    - Dst: printf
      Src: /src/openssl/demos/mac/cmac-aes256.c:128,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/cmac-aes256.c:129,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/cmac-aes256.c:130,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:133,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/cmac-aes256.c:137,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:138,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/cmac-aes256.c:145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:147,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:148,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:149,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:150,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 64
    functionDepth: 10
    functionLinenumber: 64
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/cmac-aes256.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_update
    - EVP_MAC_CTX_new
    - OSSL_LIB_CTX_new
    - EVP_MAC_fetch
    - OPENSSL_free
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - printf
    - EVP_MAC_final
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - putchar
    - EVP_MAC_init
    - BIO_dump_indent_fp
    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_update
    - memcpy
    - EVP_MAC_CTX_new
    - OSSL_LIB_CTX_new
    - EVP_MAC_fetch
    - fprintf
    - OSSL_LIB_CTX_free
    - EVP_CIPHER_CTX_free
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - printf
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_EncryptInit_ex
    - EVP_MAC_final
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - putchar
    - EVP_MAC_init
    - BIO_dump_indent_fp
    - EVP_EncryptUpdate
    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:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_update
    - OSSL_PARAM_construct_octet_string
    - CRYPTO_memcmp
    - OSSL_LIB_CTX_new
    - EVP_MAC_fetch
    - putchar
    - EVP_MAC_free
    - ERR_print_errors_fp
    - EVP_MAC_CTX_free
    - printf
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - BIO_dump_indent_fp
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    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:84,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:86,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/hmac-sha512.c:91,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:93,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/hmac-sha512.c:98,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:100,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/mac/hmac-sha512.c:105,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/mac/hmac-sha512.c:107,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/hmac-sha512.c:110,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:111,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/hmac-sha512.c:116,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:117,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/hmac-sha512.c:122,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:123,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/mac/hmac-sha512.c:126,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:128,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/hmac-sha512.c:132,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:133,1
    - Dst: printf
      Src: /src/openssl/demos/mac/hmac-sha512.c:137,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/hmac-sha512.c:138,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/hmac-sha512.c:139,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:142,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/hmac-sha512.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:147,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/hmac-sha512.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:156,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:157,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:158,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:159,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:160,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 72
    functionDepth: 10
    functionLinenumber: 72
    functionLinenumberEnd: 162
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/hmac-sha512.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_update
    - EVP_MAC_CTX_new
    - OSSL_LIB_CTX_new
    - EVP_MAC_fetch
    - OPENSSL_free
    - fprintf
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MD_CTX_free
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - printf
    - EVP_MAC_final
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - putchar
    - EVP_MAC_init
    - BIO_dump_indent_fp
    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:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_int
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    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:
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_get_utf8_string_param
    - fprintf
    - EVP_PKEY_get_bn_param
    - BIO_dump_indent_fp
    - BN_clear_free
    - BN_bn2bin
    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:
    - EVP_PKEY_free
    - get_key_values
    - ERR_print_errors_fp
    - do_ec_keygen
    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:
    - fprintf
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen
    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:
    - EVP_PKEY_keygen_init
    - dsa_print_key
    - dsa_genparams
    - fprintf
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:66,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:67,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:70,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:72,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:76,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:78,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:81,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:85,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:88,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:90,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:95,1
    - Dst: OSSL_PARAM_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: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:98,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: 100
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 100
    functionName: create_merged_key
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c
    functionUses: 0
    functionsReached:
    - fprintf
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_merge
    - EVP_PKEY_todata
    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:116,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:122,1
    - Dst: strlen
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:122,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:124,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:129,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:131,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:135,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:137,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:147,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:155,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:158,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:160,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:161,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:162,1
    - Dst: create_merged_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:165,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:169,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:170,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:179,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:181,1
    - Dst: create_merged_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:182,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:185,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:186,1
    - Dst: dsa_print_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:190,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:190,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:195,1
    - Dst: EVP_PKEY_CTX_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: BIO_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:199,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 102
    functionDepth: 9
    functionLinenumber: 102
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c
    functionUses: 7
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_param_check
    - dsa_print_key
    - EVP_PKEY_CTX_get0_pkey
    - BIO_free
    - fprintf
    - BIO_new_mem_buf
    - OSSL_PARAM_construct_end
    - create_merged_key
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_free
    - strlen
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_hexstr2buf_ex
    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_keygen_init
    - fprintf
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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
    - PEM_write_PUBKEY
    - fprintf
    - EVP_PKEY_get_bn_param
    - PEM_write_PrivateKey
    - BN_free
    - BN_clear_free
    - EVP_PKEY_get_int_param
    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:
    - dump_key
    - fprintf
    - OSSL_LIB_CTX_free
    - strcmp
    - generate_rsa_key_long
    - atoi
    - generate_rsa_key_short
    - EVP_PKEY_free
    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_BLD_free
    - BN_bin2bn
    - dsa_print_key
    - fprintf
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    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_utf8_string
    - OSSL_PARAM_construct_int
    - dsa_print_key
    - fprintf
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen
    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:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - peer
    - libctx
    argTypes:
    - PEER_DATA*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: get_peer_public_key
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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:78,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/keyexch/ecdh.c:80,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/keyexch/ecdh.c:82,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/keyexch/ecdh.c:86,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/demos/keyexch/ecdh.c:87,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/demos/keyexch/ecdh.c:88,1
    - Dst: get_peer_public_key
      Src: /src/openssl/demos/keyexch/ecdh.c:89,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/ecdh.c:90,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/keyexch/ecdh.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - peer
    - libctx
    argTypes:
    - PEER_DATA*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 7
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: create_peer
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_end
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    - 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:102,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/ecdh.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 104
    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:114,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/demos/keyexch/ecdh.c:118,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:121,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/ecdh.c:150,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/keyexch/ecdh.c:152,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/ecdh.c:161,1
    - Dst: printf
      Src: /src/openssl/demos/keyexch/ecdh.c:166,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/keyexch/ecdh.c:167,1
    - Dst: putchar
      Src: /src/openssl/demos/keyexch/ecdh.c:168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/keyexch/ecdh.c:172,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/keyexch/ecdh.c:173,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: 175
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 175
    functionName: generate_secret
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - putchar
    - OPENSSL_free
    - printf
    - BIO_dump_indent_fp
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:190,1
    - Dst: create_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:191,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:192,1
    - Dst: generate_secret
      Src: /src/openssl/demos/keyexch/ecdh.c:200,1
    - Dst: generate_secret
      Src: /src/openssl/demos/keyexch/ecdh.c:201,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:202,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/keyexch/ecdh.c:208,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:209,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:212,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/keyexch/ecdh.c:218,1
    - Dst: destroy_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:219,1
    - Dst: destroy_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 222
    functionName: main
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 7
    functionsReached:
    - generate_secret
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - destroy_peer
    - fprintf
    - create_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:73,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/demos/keyexch/x25519.c:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:80,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/demos/keyexch/x25519.c:85,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_get_octet_string_param
    - fprintf
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    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:130,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:133,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/keyexch/x25519.c:138,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:140,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/demos/keyexch/x25519.c:145,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:146,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/demos/keyexch/x25519.c:151,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:152,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/x25519.c:157,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:158,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/keyexch/x25519.c:173,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:175,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/x25519.c:180,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:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - putchar
    - OPENSSL_malloc
    - OPENSSL_clear_free
    - printf
    - fprintf
    - BIO_dump_indent_fp
    - EVP_PKEY_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_new_raw_public_key_ex
    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:219,1
    - Dst: keyexch_x25519_after
      Src: /src/openssl/demos/keyexch/x25519.c:229,1
    - Dst: keyexch_x25519_after
      Src: /src/openssl/demos/keyexch/x25519.c:232,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/keyexch/x25519.c:243,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:244,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/keyexch/x25519.c:249,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:250,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/demos/keyexch/x25519.c:257,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/demos/keyexch/x25519.c:258,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/x25519.c:260,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/x25519.c:261,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/keyexch/x25519.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - use_kat
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 203
    functionDepth: 10
    functionLinenumber: 203
    functionLinenumberEnd: 264
    functionName: keyexch_x25519
    functionSourceFile: /src/openssl/demos/keyexch/x25519.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - OPENSSL_clear_free
    - fprintf
    - OSSL_LIB_CTX_free
    - keyexch_x25519_before
    - keyexch_x25519_after
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int keyexch_x25519(int use_kat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/keyexch/x25519.c:269,1
    - Dst: keyexch_x25519
      Src: /src/openssl/demos/keyexch/x25519.c:270,1
    - Dst: printf
      Src: /src/openssl/demos/keyexch/x25519.c:274,1
    - Dst: keyexch_x25519
      Src: /src/openssl/demos/keyexch/x25519.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 11
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: main
    functionSourceFile: /src/openssl/demos/keyexch/x25519.c
    functionUses: 7
    functionsReached:
    - printf
    - keyexch_x25519
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/sslecho/echecho.c:44,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:46,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:47,1
    - Dst: htons
      Src: /src/openssl/demos/sslecho/echecho.c:52,1
    - Dst: setsockopt
      Src: /src/openssl/demos/sslecho/echecho.c:56,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:58,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:59,1
    - Dst: bind
      Src: /src/openssl/demos/sslecho/echecho.c:62,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:63,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:64,1
    - Dst: listen
      Src: /src/openssl/demos/sslecho/echecho.c:67,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:68,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - isServer
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 74
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 6
    functionsReached:
    - exit
    - bind
    - perror
    - socket
    - htons
    - listen
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int create_socket(bool isServer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/demos/sslecho/echecho.c:82,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/sslecho/echecho.c:84,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/sslecho/echecho.c:86,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:88,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:89,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - isServer
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: create_context
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - ERR_print_errors_fp
    - exit
    - perror
    - SSL_CTX_new
    - TLS_server_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_context(bool isServer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/demos/sslecho/echecho.c:100,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/demos/sslecho/echecho.c:102,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/demos/sslecho/echecho.c:104,1
    - Dst: OSSL_ECHSTORE_read_echconfiglist
      Src: /src/openssl/demos/sslecho/echecho.c:106,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/demos/sslecho/echecho.c:108,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/sslecho/echecho.c:110,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/demos/sslecho/echecho.c:113,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/sslecho/echecho.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - server
    - buf
    - len
    argTypes:
    - SSL_CTX*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: configure_ech
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_free
    - OSSL_ECHSTORE_read_pem
    - OSSL_ECHSTORE_read_echconfiglist
    - BIO_free_all
    - BIO_new_mem_buf
    - OSSL_ECHSTORE_new
    - SSL_CTX_set1_echstore
    linkageType: ''
    returnType: int
    signature: "int configure_ech(SSL_CTX *ctx, int server,\n    unsigned char *buf,
      size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/sslecho/echecho.c:121,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:122,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:123,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/sslecho/echecho.c:126,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:127,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:128,1
    - Dst: configure_ech
      Src: /src/openssl/demos/sslecho/echecho.c:131,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:134,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 7
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: configure_server_context
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 0
    functionsReached:
    - ERR_print_errors_fp
    - exit
    - SSL_CTX_use_PrivateKey_file
    - configure_ech
    - SSL_CTX_use_certificate_chain_file
    linkageType: ''
    returnType: void
    signature: void configure_server_context(SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/sslecho/echecho.c:145,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/demos/sslecho/echecho.c:151,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:152,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:153,1
    - Dst: configure_ech
      Src: /src/openssl/demos/sslecho/echecho.c:155,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:158,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: configure_client_context
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - ERR_print_errors_fp
    - exit
    - SSL_CTX_load_verify_locations
    - configure_ech
    linkageType: ''
    returnType: void
    signature: void configure_client_context(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:165,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:166,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:167,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:168,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: usage
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 9
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:201,1
    - Dst: usage
      Src: /src/openssl/demos/sslecho/echecho.c:206,1
    - Dst: usage
      Src: /src/openssl/demos/sslecho/echecho.c:213,1
    - Dst: create_context
      Src: /src/openssl/demos/sslecho/echecho.c:220,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:225,1
    - Dst: configure_server_context
      Src: /src/openssl/demos/sslecho/echecho.c:228,1
    - Dst: create_socket
      Src: /src/openssl/demos/sslecho/echecho.c:231,1
    - Dst: accept
      Src: /src/openssl/demos/sslecho/echecho.c:240,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:243,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/echecho.c:244,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:247,1
    - Dst: SSL_new
      Src: /src/openssl/demos/sslecho/echecho.c:250,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/sslecho/echecho.c:251,1
    - Dst: SSL_accept
      Src: /src/openssl/demos/sslecho/echecho.c:254,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:255,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:259,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/demos/sslecho/echecho.c:261,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:262,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/sslecho/echecho.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/sslecho/echecho.c:266,1
    - Dst: SSL_read
      Src: /src/openssl/demos/sslecho/echecho.c:272,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:274,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:276,1
    - Dst: strcmp
      Src: /src/openssl/demos/sslecho/echecho.c:282,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:284,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:289,1
    - Dst: SSL_write
      Src: /src/openssl/demos/sslecho/echecho.c:291,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:292,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/sslecho/echecho.c:298,1
    - Dst: SSL_free
      Src: /src/openssl/demos/sslecho/echecho.c:299,1
    - Dst: close
      Src: /src/openssl/demos/sslecho/echecho.c:300,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:303,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:308,1
    - Dst: configure_client_context
      Src: /src/openssl/demos/sslecho/echecho.c:311,1
    - Dst: create_socket
      Src: /src/openssl/demos/sslecho/echecho.c:314,1
    - Dst: inet_pton
      Src: /src/openssl/demos/sslecho/echecho.c:317,1
    - Dst: htons
      Src: /src/openssl/demos/sslecho/echecho.c:318,1
    - Dst: connect
      Src: /src/openssl/demos/sslecho/echecho.c:320,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/echecho.c:321,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:324,1
    - Dst: SSL_new
      Src: /src/openssl/demos/sslecho/echecho.c:328,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/sslecho/echecho.c:329,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/sslecho/echecho.c:331,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/sslecho/echecho.c:333,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/sslecho/echecho.c:336,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:338,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/demos/sslecho/echecho.c:340,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/sslecho/echecho.c:344,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/sslecho/echecho.c:345,1
    - Dst: getline
      Src: /src/openssl/demos/sslecho/echecho.c:351,1
    - Dst: SSL_write
      Src: /src/openssl/demos/sslecho/echecho.c:361,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:362,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:363,1
    - Dst: SSL_read
      Src: /src/openssl/demos/sslecho/echecho.c:368,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:370,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:371,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:376,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:379,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:382,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/echecho.c:384,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/sslecho/echecho.c:390,1
    - Dst: SSL_free
      Src: /src/openssl/demos/sslecho/echecho.c:391,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/sslecho/echecho.c:393,1
    - Dst: close
      Src: /src/openssl/demos/sslecho/echecho.c:396,1
    - Dst: close
      Src: /src/openssl/demos/sslecho/echecho.c:398,1
    - Dst: free
      Src: /src/openssl/demos/sslecho/echecho.c:401,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/echecho.c:403,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 172
    functionDepth: 7
    functionLinenumber: 172
    functionLinenumberEnd: 406
    functionName: main
    functionSourceFile: /src/openssl/demos/sslecho/echecho.c
    functionUses: 7
    functionsReached:
    - SSL_write
    - perror
    - htons
    - SSL_set1_host
    - SSL_CTX_free
    - accept
    - getline
    - SSL_ech_get1_status
    - OPENSSL_free
    - SSL_read
    - connect
    - SSL_set_tlsext_host_name
    - inet_pton
    - configure_client_context
    - SSL_free
    - SSL_accept
    - printf
    - usage
    - SSL_set_fd
    - strcmp
    - create_context
    - free
    - SSL_new
    - ERR_print_errors_fp
    - exit
    - SSL_connect
    - configure_server_context
    - SSL_shutdown
    - create_socket
    - close
    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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: closesocket
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/sslecho/main.c:48,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:50,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:51,1
    - Dst: htons
      Src: /src/openssl/demos/sslecho/main.c:56,1
    - Dst: setsockopt
      Src: /src/openssl/demos/sslecho/main.c:60,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:62,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:63,1
    - Dst: bind
      Src: /src/openssl/demos/sslecho/main.c:66,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:67,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:68,1
    - Dst: listen
      Src: /src/openssl/demos/sslecho/main.c:71,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:72,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - isServer
    argTypes:
    - flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 78
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 7
    functionsReached:
    - exit
    - bind
    - perror
    - socket
    - htons
    - listen
    - setsockopt
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET create_socket(flag isServer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/demos/sslecho/main.c:86,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/sslecho/main.c:88,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/sslecho/main.c:90,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:92,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:93,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - isServer
    argTypes:
    - flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: create_context
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 1
    functionsReached:
    - TLS_client_method
    - ERR_print_errors_fp
    - exit
    - perror
    - SSL_CTX_new
    - TLS_server_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:103,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:104,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:105,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/sslecho/main.c:108,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:109,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 7
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: configure_server_context
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_use_PrivateKey_file
    - exit
    - ERR_print_errors_fp
    - SSL_CTX_use_certificate_chain_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:120,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/demos/sslecho/main.c:126,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:127,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 7
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: configure_client_context
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_verify
    - exit
    - ERR_print_errors_fp
    - SSL_CTX_load_verify_locations
    linkageType: ''
    returnType: void
    signature: void configure_client_context(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: printf
      Src: /src/openssl/demos/sslecho/main.c:137,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: usage
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 10
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/demos/sslecho/main.c:172,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:176,1
    - Dst: usage
      Src: /src/openssl/demos/sslecho/main.c:181,1
    - Dst: usage
      Src: /src/openssl/demos/sslecho/main.c:188,1
    - Dst: create_context
      Src: /src/openssl/demos/sslecho/main.c:195,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:200,1
    - Dst: configure_server_context
      Src: /src/openssl/demos/sslecho/main.c:203,1
    - Dst: create_socket
      Src: /src/openssl/demos/sslecho/main.c:206,1
    - Dst: accept
      Src: /src/openssl/demos/sslecho/main.c:215,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:218,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:219,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:222,1
    - Dst: SSL_new
      Src: /src/openssl/demos/sslecho/main.c:225,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/sslecho/main.c:226,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:227,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:228,1
    - Dst: SSL_accept
      Src: /src/openssl/demos/sslecho/main.c:232,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:233,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:237,1
    - Dst: SSL_read
      Src: /src/openssl/demos/sslecho/main.c:242,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:244,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:246,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:248,1
    - Dst: strcmp
      Src: /src/openssl/demos/sslecho/main.c:254,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:256,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:261,1
    - Dst: SSL_write
      Src: /src/openssl/demos/sslecho/main.c:263,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:264,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/sslecho/main.c:270,1
    - Dst: SSL_free
      Src: /src/openssl/demos/sslecho/main.c:271,1
    - Dst: closesocket
      Src: /src/openssl/demos/sslecho/main.c:272,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:280,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:285,1
    - Dst: configure_client_context
      Src: /src/openssl/demos/sslecho/main.c:288,1
    - Dst: create_socket
      Src: /src/openssl/demos/sslecho/main.c:291,1
    - Dst: inet_pton
      Src: /src/openssl/demos/sslecho/main.c:294,1
    - Dst: htons
      Src: /src/openssl/demos/sslecho/main.c:295,1
    - Dst: connect
      Src: /src/openssl/demos/sslecho/main.c:297,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:298,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:301,1
    - Dst: SSL_new
      Src: /src/openssl/demos/sslecho/main.c:305,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/sslecho/main.c:306,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:307,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/sslecho/main.c:311,1
    - Dst: SSL_set1_dnsname
      Src: /src/openssl/demos/sslecho/main.c:313,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:314,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/sslecho/main.c:319,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:321,1
    - Dst: memset
      Src: /src/openssl/demos/sslecho/main.c:326,1
    - Dst: fgets
      Src: /src/openssl/demos/sslecho/main.c:327,1
    - Dst: SSL_write
      Src: /src/openssl/demos/sslecho/main.c:338,1
    - Dst: strlen
      Src: /src/openssl/demos/sslecho/main.c:338,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:339,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:340,1
    - Dst: SSL_read
      Src: /src/openssl/demos/sslecho/main.c:345,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:347,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:348,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:353,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:356,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:359,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:361,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/sslecho/main.c:367,1
    - Dst: SSL_free
      Src: /src/openssl/demos/sslecho/main.c:368,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/sslecho/main.c:370,1
    - Dst: closesocket
      Src: /src/openssl/demos/sslecho/main.c:373,1
    - Dst: closesocket
      Src: /src/openssl/demos/sslecho/main.c:375,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:377,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 136
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 142
    functionDepth: 7
    functionLinenumber: 142
    functionLinenumberEnd: 380
    functionName: main
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 7
    functionsReached:
    - SSL_write
    - perror
    - htons
    - SSL_CTX_free
    - accept
    - SSL_set1_dnsname
    - signal
    - SSL_read
    - connect
    - SSL_set_tlsext_host_name
    - inet_pton
    - configure_client_context
    - SSL_free
    - SSL_accept
    - fgets
    - printf
    - usage
    - SSL_set_fd
    - strcmp
    - create_context
    - memset
    - SSL_new
    - ERR_print_errors_fp
    - exit
    - SSL_connect
    - configure_server_context
    - SSL_shutdown
    - create_socket
    - closesocket
    - strlen
    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:80,1
    - Dst: app_malloc_array
      Src: /src/openssl/apps/ecparam.c:82,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/apps/ecparam.c:83,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/ecparam.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ecparam.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - out
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: list_builtin_curves
    functionSourceFile: /src/openssl/apps/ecparam.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - BIO_printf
    - OPENSSL_free
    - EC_get_builtin_curves
    - app_malloc_array
    linkageType: ''
    returnType: int
    signature: int list_builtin_curves(BIO *out)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/ecparam.c:117,1
    - Dst: opt_next
      Src: /src/openssl/apps/ecparam.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:123,1
    - Dst: opt_help
      Src: /src/openssl/apps/ecparam.c:126,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_format
      Src: /src/openssl/apps/ecparam.c:137,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:137,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:162,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:165,1
    - Dst: opt_string
      Src: /src/openssl/apps/ecparam.c:166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:170,1
    - Dst: opt_string
      Src: /src/openssl/apps/ecparam.c:171,1
    - Dst: opt_rand
      Src: /src/openssl/apps/ecparam.c:178,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ecparam.c:182,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ecparam.c:189,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/ecparam.c:192,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ecparam.c:196,1
    - Dst: list_builtin_curves
      Src: /src/openssl/apps/ecparam.c:200,1
    - Dst: strcmp
      Src: /src/openssl/apps/ecparam.c:211,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:212,1
    - Dst: strcmp
      Src: /src/openssl/apps/ecparam.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:216,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/ecparam.c:220,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/ecparam.c:223,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/ecparam.c:226,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/ecparam.c:229,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/ecparam.c:231,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/ecparam.c:232,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:232,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:233,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/ecparam.c:235,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:235,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:236,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/ecparam.c:238,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/apps/ecparam.c:239,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/ecparam.c:240,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:241,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/ecparam.c:245,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/ecparam.c:248,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:252,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ecparam.c:257,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:260,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ecparam.c:265,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:267,1
    - Dst: EVP_PKEY_set_octet_string_param
      Src: /src/openssl/apps/ecparam.c:273,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:275,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ecparam.c:279,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/ecparam.c:284,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:285,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:290,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ecparam.c:293,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:296,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/ecparam.c:299,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:299,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:300,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/apps/ecparam.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:302,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:305,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/ecparam.c:312,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/ecparam.c:315,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:316,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/ecparam.c:330,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:330,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:331,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/ecparam.c:332,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/ecparam.c:333,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:334,1
    - Dst: assert
      Src: /src/openssl/apps/ecparam.c:337,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/ecparam.c:338,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/ecparam.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ecparam.c:342,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ecparam.c:351,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ecparam.c:352,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ecparam.c:353,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ecparam.c:354,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ecparam.c:355,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ecparam.c:356,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/apps/ecparam.c:357,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/ecparam.c:358,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/ecparam.c:359,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ecparam.c:360,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 209
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/openssl/apps/ecparam.c
    constantsTouched: []
    func_position:
      end: 362
      start: 100
    functionDepth: 11
    functionLinenumber: 100
    functionLinenumberEnd: 362
    functionName: ecparam_main
    functionSourceFile: /src/openssl/apps/ecparam.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_PKEY_param_check
    - load_keyparams_suppress
    - OSSL_ENCODER_to_bio
    - opt_rand
    - EVP_PKEY_print_params
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_set_utf8_string_param
    - app_RAND_load
    - OSSL_PARAM_construct_end
    - app_get0_propq
    - opt_provider
    - EVP_PKEY_set_octet_string_param
    - opt_check_rest_arg
    - OSSL_PARAM_construct_utf8_string
    - opt_init
    - app_get0_libctx
    - EVP_PKEY_keygen
    - strcmp
    - assert
    - EVP_PKEY_free
    - list_builtin_curves
    - OPENSSL_strcasecmp
    - opt_help
    - bio_open_owner
    - ERR_print_errors
    - EVP_PKEY_CTX_free
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_keygen_init
    - BIO_printf
    - OSSL_ENCODER_CTX_free
    - opt_string
    - opt_format
    - BIO_free_all
    - opt_arg
    - opt_next
    - OSSL_ENCODER_CTX_new_for_pkey
    linkageType: ''
    returnType: int
    signature: int ecparam_main(int argc, char **argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/skeyutl.c:47,1
    - Dst: opt_init
      Src: /src/openssl/apps/skeyutl.c:52,1
    - Dst: opt_next
      Src: /src/openssl/apps/skeyutl.c:53,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:58,1
    - Dst: opt_help
      Src: /src/openssl/apps/skeyutl.c:61,1
    - Dst: opt_arg
      Src: /src/openssl/apps/skeyutl.c:68,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/skeyutl.c:71,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_puts
      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: app_params_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: EVP_SKEY_get0_provider_name
      Src: /src/openssl/apps/skeyutl.c:121,1
    - Dst: EVP_SKEY_get0_skeymgmt_name
      Src: /src/openssl/apps/skeyutl.c:122,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/skeyutl.c:127,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/skeyutl.c:131,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/skeyutl.c:132,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/apps/skeyutl.c:133,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/apps/skeyutl.c:134,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/skeyutl.c:135,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 137
    functionName: skeyutl_main
    functionSourceFile: /src/openssl/apps/skeyutl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_SKEY_free
    - EVP_SKEY_get0_key_id
    - app_params_new_from_opts
    - app_get0_propq
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_free
    - sk_OPENSSL_STRING_push
    - opt_init
    - app_get0_libctx
    - EVP_CIPHER_name
    - sk_OPENSSL_STRING_free
    - EVP_CIPHER_free
    - ERR_print_errors
    - opt_help
    - app_params_free
    - EVP_SKEYMGMT_get0_gen_settable_params
    - EVP_SKEY_get0_skeymgmt_name
    - BIO_printf
    - EVP_SKEY_generate
    - opt_arg
    - EVP_SKEY_get0_provider_name
    - opt_next
    - opt_cipher_any
    linkageType: ''
    returnType: int
    signature: int skeyutl_main(int argc, char **argv)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:88,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:89,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:90,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/verify.c:98,1
    - Dst: opt_init
      Src: /src/openssl/apps/verify.c:101,1
    - Dst: opt_next
      Src: /src/openssl/apps/verify.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:107,1
    - Dst: opt_help
      Src: /src/openssl/apps/verify.c:110,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/verify.c:111,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/openssl/apps/verify.c:112,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/apps/verify.c:113,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:115,1
    - Dst: X509_PURPOSE_get0_sname
      Src: /src/openssl/apps/verify.c:116,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/openssl/apps/verify.c:117,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/verify.c:120,1
    - Dst: X509_VERIFY_PARAM_get_count
      Src: /src/openssl/apps/verify.c:121,1
    - Dst: X509_VERIFY_PARAM_get0
      Src: /src/openssl/apps/verify.c:122,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:124,1
    - Dst: X509_VERIFY_PARAM_get0_name
      Src: /src/openssl/apps/verify.c:125,1
    - Dst: opt_verify
      Src: /src/openssl/apps/verify.c:130,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:135,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:138,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:141,1
    - Dst: load_certs
      Src: /src/openssl/apps/verify.c:154,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:154,1
    - Dst: load_certs
      Src: /src/openssl/apps/verify.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:163,1
    - Dst: load_crls
      Src: /src/openssl/apps/verify.c:168,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:168,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:213,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/verify.c:216,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/verify.c:218,1
    - Dst: store_setup_crl_download
      Src: /src/openssl/apps/verify.c:221,1
    - Dst: check
      Src: /src/openssl/apps/verify.c:225,1
    - Dst: check
      Src: /src/openssl/apps/verify.c:231,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/verify.c:238,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/verify.c:239,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/verify.c:240,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/verify.c:241,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/verify.c:242,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/verify.c:243,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 134
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 245
    functionName: verify_main
    functionSourceFile: /src/openssl/apps/verify.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - X509_STORE_set_verify_cb
    - X509_PURPOSE_get0_name
    - X509_PURPOSE_get_count
    - X509_VERIFY_PARAM_get0
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - ERR_clear_error
    - store_setup_crl_download
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - X509_STORE_free
    - X509_PURPOSE_get0_sname
    - check
    - opt_verify
    - X509_PURPOSE_get0
    - sk_OPENSSL_STRING_push
    - opt_init
    - sk_OPENSSL_STRING_free
    - opt_num_rest
    - opt_help
    - X509_VERIFY_PARAM_get0_name
    - load_crls
    - BIO_printf
    - load_certs
    - sk_X509_CRL_pop_free
    - set_nameopt
    - OSSL_STACK_OF_X509_free
    - setup_verify
    - opt_arg
    - X509_STORE_set1_param
    - opt_next
    - opt_rest
    - X509_VERIFY_PARAM_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:255,1
    - Dst: load_cert
      Src: /src/openssl/apps/verify.c:258,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/verify.c:263,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/verify.c:264,1
    - Dst: x509_ctrl_string
      Src: /src/openssl/apps/verify.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:266,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/verify.c:267,1
    - Dst: X509_free
      Src: /src/openssl/apps/verify.c:268,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/verify.c:274,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:276,1
    - Dst: X509_STORE_set_flags
      Src: /src/openssl/apps/verify.c:281,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/verify.c:282,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/verify.c:283,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:284,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/apps/verify.c:290,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/apps/verify.c:292,1
    - Dst: X509_verify_cert
      Src: /src/openssl/apps/verify.c:293,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/verify.c:294,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:295,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/openssl/apps/verify.c:300,1
    - Dst: X509_STORE_CTX_get_num_untrusted
      Src: /src/openssl/apps/verify.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/verify.c:302,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/verify.c:303,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/verify.c:304,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:305,1
    - Dst: X509_NAME_print_ex_fp
      Src: /src/openssl/apps/verify.c:306,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/verify.c:307,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/verify.c:308,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/verify.c:310,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/verify.c:311,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/verify.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:316,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/verify.c:320,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/verify.c:324,1
    - Dst: X509_free
      Src: /src/openssl/apps/verify.c:325,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: 328
      start: 247
    functionDepth: 7
    functionLinenumber: 247
    functionLinenumberEnd: 328
    functionName: check
    functionSourceFile: /src/openssl/apps/verify.c
    functionUses: 110
    functionsReached:
    - BIO_puts
    - X509_STORE_CTX_init
    - X509_free
    - X509_STORE_CTX_free
    - X509_NAME_print_ex_fp
    - sk_X509_num
    - sk_OPENSSL_STRING_num
    - X509_STORE_set_flags
    - STACK_OF
    - X509_get_subject_name
    - X509_STORE_CTX_set0_crls
    - X509_STORE_CTX_new
    - X509_STORE_CTX_get_num_untrusted
    - x509_ctrl_string
    - X509_verify_cert
    - ERR_print_errors
    - get_nameopt
    - X509_STORE_CTX_set0_trusted_stack
    - BIO_printf
    - X509_STORE_CTX_get1_chain
    - load_cert
    - OSSL_STACK_OF_X509_free
    - sk_OPENSSL_STRING_value
    - sk_X509_value
    - X509_STORE_CTX_get_error
    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:332,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/verify.c:333,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/verify.c:337,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/verify.c:338,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/verify.c:339,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/verify.c:340,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:342,1
    - Dst: X509_STORE_CTX_get0_parent_ctx
      Src: /src/openssl/apps/verify.c:343,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/apps/verify.c:345,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/verify.c:346,1
    - Dst: policies_print
      Src: /src/openssl/apps/verify.c:356,1
    - Dst: policies_print
      Src: /src/openssl/apps/verify.c:390,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/verify.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 330
    functionDepth: 7
    functionLinenumber: 330
    functionLinenumberEnd: 394
    functionName: cb
    functionSourceFile: /src/openssl/apps/verify.c
    functionUses: 311
    functionsReached:
    - X509_verify_cert_error_string
    - BIO_puts
    - BIO_printf
    - ERR_clear_error
    - X509_STORE_CTX_get_error_depth
    - policies_print
    - X509_STORE_CTX_get_current_cert
    - X509_get_subject_name
    - X509_STORE_CTX_get0_parent_ctx
    - get_nameopt
    - X509_STORE_CTX_get_error
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: int cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/gendsa.c:67,1
    - Dst: opt_init
      Src: /src/openssl/apps/gendsa.c:68,1
    - Dst: opt_next
      Src: /src/openssl/apps/gendsa.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:74,1
    - Dst: opt_help
      Src: /src/openssl/apps/gendsa.c:78,1
    - Dst: opt_arg
      Src: /src/openssl/apps/gendsa.c:81,1
    - Dst: opt_arg
      Src: /src/openssl/apps/gendsa.c:84,1
    - Dst: opt_rand
      Src: /src/openssl/apps/gendsa.c:87,1
    - Dst: opt_provider
      Src: /src/openssl/apps/gendsa.c:91,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/gendsa.c:95,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/gendsa.c:107,1
    - Dst: opt_rest
      Src: /src/openssl/apps/gendsa.c:109,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/gendsa.c:112,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/gendsa.c:115,1
    - Dst: app_passwd
      Src: /src/openssl/apps/gendsa.c:119,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/gendsa.c:120,1
    - Dst: load_keyparams
      Src: /src/openssl/apps/gendsa.c:124,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/gendsa.c:126,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/gendsa.c:130,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:132,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/gendsa.c:135,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/gendsa.c:137,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/gendsa.c:137,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/gendsa.c:137,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/gendsa.c:139,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/gendsa.c:142,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/gendsa.c:144,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/gendsa.c:145,1
    - Dst: app_keygen
      Src: /src/openssl/apps/gendsa.c:148,1
    - Dst: assert
      Src: /src/openssl/apps/gendsa.c:152,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/gendsa.c:153,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/gendsa.c:154,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/gendsa.c:160,1
    - Dst: BIO_free
      Src: /src/openssl/apps/gendsa.c:162,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/gendsa.c:163,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/gendsa.c:164,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/gendsa.c:165,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/gendsa.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/gendsa.c:167,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 106
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/openssl/apps/gendsa.c
    constantsTouched: []
    func_position:
      end: 169
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 169
    functionName: gendsa_main
    functionSourceFile: /src/openssl/apps/gendsa.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_PKEY_get_bits
    - opt_set_unknown_name
    - opt_cipher
    - opt_rand
    - EVP_PKEY_CTX_new_from_pkey
    - PEM_write_bio_PrivateKey
    - app_RAND_load
    - OPENSSL_free
    - load_keyparams
    - app_passwd
    - app_get0_propq
    - opt_provider
    - opt_check_rest_arg
    - opt_init
    - BIO_free
    - app_get0_libctx
    - assert
    - EVP_PKEY_free
    - bio_open_owner
    - ERR_print_errors
    - opt_help
    - EVP_CIPHER_free
    - EVP_PKEY_CTX_free
    - app_keygen
    - opt_unknown
    - EVP_PKEY_keygen_init
    - BIO_printf
    - BIO_free_all
    - opt_arg
    - opt_next
    - opt_rest
    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:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    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: 62
    BranchProfiles: []
    Callsites:
    - Dst: TLS_client_method
      Src: /src/openssl/apps/s_time.c:149,1
    - Dst: opt_init
      Src: /src/openssl/apps/s_time.c:151,1
    - Dst: opt_next
      Src: /src/openssl/apps/s_time.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:157,1
    - Dst: opt_help
      Src: /src/openssl/apps/s_time.c:160,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:164,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_time.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:175,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:179,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/s_time.c:182,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:182,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:186,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:189,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:192,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:201,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:207,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:210,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_time.c:216,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:219,1
    - Dst: strlen
      Src: /src/openssl/apps/s_time.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:222,1
    - Dst: opt_provider
      Src: /src/openssl/apps/s_time.c:243,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/s_time.c:250,1
    - Dst: getenv
      Src: /src/openssl/apps/s_time.c:254,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/s_time.c:256,1
    - Dst: SSL_CTX_set_quiet_shutdown
      Src: /src/openssl/apps/s_time.c:259,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/s_time.c:260,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/s_time.c:262,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_time.c:266,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/apps/s_time.c:267,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/apps/s_time.c:269,1
    - Dst: set_cert_stuff
      Src: /src/openssl/apps/s_time.c:271,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_time.c:274,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_time.c:276,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_time.c:282,1
    - Dst: SSL_CTX_get0_param
      Src: /src/openssl/apps/s_time.c:283,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/apps/s_time.c:285,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:290,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:295,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:296,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:298,1
    - Dst: doConnection
      Src: /src/openssl/apps/s_time.c:301,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_time.c:305,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_time.c:307,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_time.c:309,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/apps/s_time.c:312,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_time.c:313,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:313,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_time.c:316,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_time.c:319,1
    - Dst: fputc
      Src: /src/openssl/apps/s_time.c:325,1
    - Dst: fflush
      Src: /src/openssl/apps/s_time.c:326,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_time.c:328,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:331,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:333,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:335,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:336,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:348,1
    - Dst: doConnection
      Src: /src/openssl/apps/s_time.c:351,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_time.c:352,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_time.c:357,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_time.c:358,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_time.c:360,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/apps/s_time.c:363,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:364,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_time.c:365,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:370,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:372,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:374,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:377,1
    - Dst: doConnection
      Src: /src/openssl/apps/s_time.c:380,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_time.c:384,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_time.c:386,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_time.c:388,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/apps/s_time.c:391,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:392,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_time.c:393,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_time.c:396,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_time.c:399,1
    - Dst: fputc
      Src: /src/openssl/apps/s_time.c:405,1
    - Dst: fflush
      Src: /src/openssl/apps/s_time.c:406,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:408,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:410,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:413,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:414,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:416,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:417,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_time.c:421,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_time.c:422,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 251
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 424
    functionName: s_time_main
    functionSourceFile: /src/openssl/apps/s_time.c
    functionUses: 0
    functionsReached:
    - doConnection
    - BIO_puts
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_get0_param
    - SSL_write
    - BIO_snprintf
    - SSL_CTX_set_options
    - set_cert_stuff
    - SSL_version
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - opt_int_arg
    - SSL_CTX_set_verify
    - SSL_get_fd
    - opt_provider
    - getenv
    - SSL_read
    - opt_check_rest_arg
    - BIO_closesocket
    - SSL_free
    - opt_init
    - fputc
    - printf
    - SSL_CTX_set_cipher_list
    - ERR_print_errors
    - SSL_session_reused
    - opt_help
    - X509_VERIFY_PARAM_set_depth
    - SSL_CTX_set_quiet_shutdown
    - SSL_set_shutdown
    - BIO_printf
    - TLS_client_method
    - tm_Time_F
    - set_nameopt
    - ctx_set_verify_locations
    - fflush
    - opt_arg
    - SSL_CTX_new
    - opt_next
    - strlen
    - time
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int s_time_main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/apps/s_time.c:435,1
    - Dst: BIO_s_connect
      Src: /src/openssl/apps/s_time.c:435,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/apps/s_time.c:438,1
    - Dst: BIO_set_conn_mode
      Src: /src/openssl/apps/s_time.c:439,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_time.c:440,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_time.c:445,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_time.c:447,1
    - Dst: SSL_clear
      Src: /src/openssl/apps/s_time.c:457,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_time.c:458,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_time.c:459,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_time.c:462,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_time.c:465,1
    - Dst: SSL_connect
      Src: /src/openssl/apps/s_time.c:468,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_time.c:470,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:472,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/s_time.c:473,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_time.c:475,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_time.c:477,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:488,1
    - Dst: setsockopt
      Src: /src/openssl/apps/s_time.c:490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - scon
    - host
    - ctx
    argTypes:
    - SSL*
    - char*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 496
    functionName: doConnection
    functionSourceFile: /src/openssl/apps/s_time.c
    functionUses: 1
    functionsReached:
    - X509_verify_cert_error_string
    - BIO_puts
    - BIO_printf
    - SSL_new
    - BIO_new
    - BIO_s_connect
    - BIO_free
    - SSL_set_connect_state
    - SSL_connect
    - SSL_get_fd
    - setsockopt
    - BIO_set_conn_mode
    - BIO_set_conn_hostname
    - ERR_print_errors
    - SSL_set_bio
    - SSL_free
    - SSL_clear
    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:77,1
    - Dst: opt_init
      Src: /src/openssl/apps/asn1parse.c:91,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/asn1parse.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:94,1
    - Dst: opt_next
      Src: /src/openssl/apps/asn1parse.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:103,1
    - Dst: opt_help
      Src: /src/openssl/apps/asn1parse.c:106,1
    - Dst: opt_format
      Src: /src/openssl/apps/asn1parse.c:110,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:110,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:114,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:126,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:129,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:132,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:132,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:138,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:138,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/asn1parse.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:145,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:148,1
    - Dst: ASN1_ITEM_lookup
      Src: /src/openssl/apps/asn1parse.c:155,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:155,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:159,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:159,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/asn1parse.c:160,1
    - Dst: ASN1_ITEM_get
      Src: /src/openssl/apps/asn1parse.c:162,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:165,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/asn1parse.c:174,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/asn1parse.c:178,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/asn1parse.c:181,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:182,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/asn1parse.c:185,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/asn1parse.c:188,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/apps/asn1parse.c:191,1
    - Dst: PEM_read_bio
      Src: /src/openssl/apps/asn1parse.c:194,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/asn1parse.c:195,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:196,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/apps/asn1parse.c:202,1
    - Dst: do_generate
      Src: /src/openssl/apps/asn1parse.c:206,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:208,1
    - Dst: BIO_new
      Src: /src/openssl/apps/asn1parse.c:216,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/asn1parse.c:216,1
    - Dst: BIO_push
      Src: /src/openssl/apps/asn1parse.c:218,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/apps/asn1parse.c:226,1
    - Dst: BIO_read
      Src: /src/openssl/apps/asn1parse.c:228,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/asn1parse.c:242,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/asn1parse.c:245,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:248,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/asn1parse.c:248,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:250,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/asn1parse.c:251,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/apps/asn1parse.c:258,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:259,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/asn1parse.c:261,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:262,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/apps/asn1parse.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:269,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/apps/asn1parse.c:269,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:270,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/asn1parse.c:274,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/asn1parse.c:275,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/asn1parse.c:283,1
    - Dst: BIO_write
      Src: /src/openssl/apps/asn1parse.c:292,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/asn1parse.c:293,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:294,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/apps/asn1parse.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:304,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:305,1
    - Dst: ASN1_item_print
      Src: /src/openssl/apps/asn1parse.c:308,1
    - Dst: ASN1_item_free
      Src: /src/openssl/apps/asn1parse.c:309,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/apps/asn1parse.c:311,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:312,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:319,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:320,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:321,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:323,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/apps/asn1parse.c:324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/asn1parse.c:325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/asn1parse.c:326,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:327,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/asn1parse.c:328,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 233
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 330
    functionName: asn1parse_main
    functionSourceFile: /src/openssl/apps/asn1parse.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_f_base64
    - ASN1_item_free
    - ASN1_parse_dump
    - BUF_MEM_free
    - sk_OPENSSL_STRING_num
    - BIO_new
    - ASN1_TYPE_free
    - BIO_read
    - BIO_write
    - OPENSSL_free
    - ASN1_ITEM_lookup
    - sk_OPENSSL_STRING_new_null
    - ASN1_STRING_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - opt_check_rest_arg
    - ASN1_TYPE_get
    - PEM_read_bio
    - sk_OPENSSL_STRING_push
    - opt_init
    - BIO_free
    - bio_open_default
    - ASN1_item_d2i
    - sk_OPENSSL_STRING_free
    - ERR_print_errors
    - BIO_push
    - opt_help
    - ASN1_item_print
    - ASN1_ITEM_get
    - BUF_MEM_new
    - BIO_printf
    - opt_format
    - OBJ_create_objects
    - sk_OPENSSL_STRING_value
    - ASN1_tag2str
    - opt_arg
    - strtol
    - d2i_ASN1_TYPE
    - opt_next
    - BUF_MEM_grow
    - do_generate
    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:340,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/asn1parse.c:343,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:345,1
    - Dst: ASN1_generate_nconf
      Src: /src/openssl/apps/asn1parse.c:350,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/asn1parse.c:351,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/apps/asn1parse.c:357,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/apps/asn1parse.c:362,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/apps/asn1parse.c:367,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:369,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/asn1parse.c:373,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:374,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - genstr
    - genconf
    - buf
    argTypes:
    - char*
    - char*
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 376
    functionName: do_generate
    functionSourceFile: /src/openssl/apps/asn1parse.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - app_load_config
    - i2d_ASN1_TYPE
    - ASN1_TYPE_free
    - NCONF_get_string
    - NCONF_free
    - ASN1_generate_nconf
    - BUF_MEM_grow
    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:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_STRING*
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    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:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    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: 210
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/req.c:281,1
    - Dst: LHASH_OF
      Src: /src/openssl/apps/req.c:282,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/req.c:308,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/req.c:310,1
    - Dst: opt_init
      Src: /src/openssl/apps/req.c:311,1
    - Dst: opt_next
      Src: /src/openssl/apps/req.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:317,1
    - Dst: opt_help
      Src: /src/openssl/apps/req.c:320,1
    - Dst: opt_format
      Src: /src/openssl/apps/req.c:324,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:324,1
    - Dst: opt_format
      Src: /src/openssl/apps/req.c:328,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:328,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:332,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:344,1
    - Dst: opt_format
      Src: /src/openssl/apps/req.c:347,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:347,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:351,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:354,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:357,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:360,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:363,1
    - Dst: opt_rand
      Src: /src/openssl/apps/req.c:366,1
    - Dst: opt_provider
      Src: /src/openssl/apps/req.c:370,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:374,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/req.c:379,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/req.c:381,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:381,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/req.c:386,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/req.c:387,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:387,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/req.c:392,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/req.c:393,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:393,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/req.c:427,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:427,1
    - Dst: set_cert_ex
      Src: /src/openssl/apps/req.c:431,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:431,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:444,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:448,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:451,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:454,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/req.c:457,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:459,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:466,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/req.c:469,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:469,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:477,1
    - Dst: set_ext_copy
      Src: /src/openssl/apps/req.c:483,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:483,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:484,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:485,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:491,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:494,1
    - Dst: lh_OPENSSL_STRING_new
      Src: /src/openssl/apps/req.c:496,1
    - Dst: BIO_new
      Src: /src/openssl/apps/req.c:497,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/req.c:497,1
    - Dst: duplicated
      Src: /src/openssl/apps/req.c:501,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:505,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:506,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/apps/req.c:513,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:513,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:515,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:515,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/req.c:520,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/req.c:526,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/req.c:529,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:534,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:536,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:538,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:540,1
    - Dst: isatty
      Src: /src/openssl/apps/req.c:545,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/req.c:545,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:546,1
    - Dst: app_passwd
      Src: /src/openssl/apps/req.c:550,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:551,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:559,1
    - Dst: app_load_config_bio
      Src: /src/openssl/apps/req.c:561,1
    - Dst: if
      Src: /src/openssl/apps/req.c:567,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:568,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/req.c:570,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:574,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/req.c:577,1
    - Dst: BIO_free
      Src: /src/openssl/apps/req.c:578,1
    - Dst: add_oid_section
      Src: /src/openssl/apps/req.c:582,1
    - Dst: opt_check_md
      Src: /src/openssl/apps/req.c:587,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:591,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:597,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/req.c:603,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/req.c:604,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/req.c:615,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/req.c:616,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:622,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:625,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:627,1
    - Dst: ASN1_STRING_set_default_mask_asc
      Src: /src/openssl/apps/req.c:628,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:629,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:634,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:635,1
    - Dst: load_key
      Src: /src/openssl/apps/req.c:640,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/req.c:643,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:646,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/req.c:651,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/req.c:653,1
    - Dst: set_keygen_ctx
      Src: /src/openssl/apps/req.c:656,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:661,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:662,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:663,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:664,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:670,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:671,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:672,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:680,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/req.c:688,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/req.c:689,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/req.c:690,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:691,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/req.c:697,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/req.c:699,1
    - Dst: app_keygen
      Src: /src/openssl/apps/req.c:701,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:705,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:709,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:713,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:715,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:717,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/req.c:719,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:723,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:725,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:726,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/req.c:733,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/req.c:735,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/req.c:735,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/req.c:736,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/req.c:742,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:744,1
    - Dst: parse_name
      Src: /src/openssl/apps/req.c:752,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:757,1
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/req.c:759,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:764,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:773,1
    - Dst: load_key
      Src: /src/openssl/apps/req.c:776,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/req.c:786,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/req.c:790,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:791,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:798,1
    - Dst: X509_REQ_new_ex
      Src: /src/openssl/apps/req.c:804,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:804,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:804,1
    - Dst: make_REQ
      Src: /src/openssl/apps/req.c:809,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:810,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:816,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:820,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/req.c:821,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:822,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:824,1
    - Dst: X509_new_ex
      Src: /src/openssl/apps/req.c:827,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:827,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:828,1
    - Dst: X509_set_serialNumber
      Src: /src/openssl/apps/req.c:833,1
    - Dst: rand_serial
      Src: /src/openssl/apps/req.c:836,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/apps/req.c:836,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/req.c:840,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:845,1
    - Dst: set_cert_times
      Src: /src/openssl/apps/req.c:846,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/req.c:848,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/apps/req.c:850,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:854,1
    - Dst: copy_extensions
      Src: /src/openssl/apps/req.c:855,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:856,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/req.c:861,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/openssl/apps/req.c:866,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/req.c:868,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:869,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/req.c:875,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/req.c:879,1
    - Dst: X509_add1_ext_i2d
      Src: /src/openssl/apps/req.c:885,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:888,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/req.c:893,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:901,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/req.c:905,1
    - Dst: do_EXT_REQ_add_nconf
      Src: /src/openssl/apps/req.c:909,1
    - Dst: do_EXT_REQ_add_nconf
      Src: /src/openssl/apps/req.c:913,1
    - Dst: do_X509_REQ_sign
      Src: /src/openssl/apps/req.c:916,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:924,1
    - Dst: print_name
      Src: /src/openssl/apps/req.c:925,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:925,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/req.c:928,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:929,1
    - Dst: print_name
      Src: /src/openssl/apps/req.c:934,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:934,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:942,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/req.c:947,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:952,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:955,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/req.c:964,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:965,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:971,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:974,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/req.c:977,1
    - Dst: X509_print_ex
      Src: /src/openssl/apps/req.c:982,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/req.c:982,1
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/apps/req.c:984,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/req.c:984,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:988,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:990,1
    - Dst: print_name
      Src: /src/openssl/apps/req.c:996,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/req.c:996,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:996,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/req.c:1003,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:1005,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1007,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1010,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/req.c:1011,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/req.c:1011,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/req.c:1014,1
    - Dst: BN_print
      Src: /src/openssl/apps/req.c:1016,1
    - Dst: BN_free
      Src: /src/openssl/apps/req.c:1017,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1019,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1021,1
    - Dst: i2d_X509_REQ_bio
      Src: /src/openssl/apps/req.c:1026,1
    - Dst: PEM_write_bio_X509_REQ_NEW
      Src: /src/openssl/apps/req.c:1028,1
    - Dst: PEM_write_bio_X509_REQ
      Src: /src/openssl/apps/req.c:1030,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1032,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/req.c:1038,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/req.c:1040,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1042,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/req.c:1049,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/req.c:1051,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/req.c:1052,1
    - Dst: BIO_free
      Src: /src/openssl/apps/req.c:1053,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/req.c:1054,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1055,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:1056,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1057,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1058,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1059,1
    - Dst: lh_OPENSSL_STRING_doall
      Src: /src/openssl/apps/req.c:1060,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1061,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: OPENSSL_free
      Src: /src/openssl/apps/req.c:1070,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/req.c:1072,1
    CyclomaticComplexity: 324
    EdgeCount: 324
    ICount: 683
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 275
    functionDepth: 7
    functionLinenumber: 275
    functionLinenumberEnd: 1074
    functionName: req_main
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_is_a
    - copy_extensions
    - X509_set_serialNumber
    - load_key
    - app_conf_try_number
    - opt_check_md
    - make_REQ
    - ERR_clear_error
    - lh_OPENSSL_STRING_new
    - EVP_aes_256_cbc
    - PEM_write_bio_PrivateKey
    - BIO_new
    - pkey_ctrl_string
    - app_passwd
    - X509_set_pubkey
    - sk_OPENSSL_STRING_new_null
    - X509_REQ_new_ex
    - STACK_OF
    - X509_REQ_get0_pubkey
    - if
    - app_get0_libctx
    - strcmp
    - sk_OPENSSL_STRING_free
    - X509V3_set_ctx_test
    - app_keygen
    - opt_unknown
    - set_keygen_ctx
    - opt_format
    - X509_REQ_get_subject_name
    - s2i_ASN1_INTEGER
    - X509V3_set_ctx
    - do_EXT_REQ_add_nconf
    - opt_arg
    - X509_REQ_print_ex
    - do_X509_REQ_verify
    - X509_new_ex
    - cert_matches_key
    - load_csr_autofmt
    - BIO_puts
    - i2d_X509_REQ_bio
    - ERR_GET_REASON
    - opt_set_unknown_name
    - i2d_X509_bio
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - opt_provider
    - sk_OPENSSL_STRING_push
    - set_ext_copy
    - isatty
    - bio_open_owner
    - ERR_print_errors
    - PEM_write_bio_PUBKEY
    - ASN1_STRING_set_default_mask_asc
    - set_nameopt
    - PEM_write_bio_X509
    - ASN1_INTEGER_free
    - BIO_free_all
    - set_cert_ex
    - ERR_peek_error
    - do_X509_REQ_sign
    - X509V3_set_issuer_pkey
    - X509_free
    - parse_name
    - X509_set_subject_name
    - set_cert_times
    - duplicated
    - opt_check_rest_arg
    - app_load_config_bio
    - app_RAND_load_conf
    - X509_REQ_set_subject_name
    - bio_open_default
    - EVP_PKEY_CTX_set_cb
    - print_name
    - X509_get0_pubkey
    - EVP_PKEY_free
    - opt_help
    - get_nameopt
    - LHASH_OF
    - BIO_printf
    - X509_REQ_free
    - X509_check_private_key
    - OBJ_create_objects
    - BN_free
    - BN_print
    - opt_rand
    - EVP_PKEY_get_bn_param
    - NCONF_free
    - BIO_new_file
    - rand_serial
    - opt_int_arg
    - PEM_write_bio_X509_REQ_NEW
    - lh_OPENSSL_STRING_free
    - fileno_stdin
    - OPENSSL_free
    - app_conf_try_string
    - X509_print_ex
    - app_get0_propq
    - X509_get_subject_name
    - X509_get_serialNumber
    - X509_add1_ext_i2d
    - do_X509_sign
    - PEM_write_bio_X509_REQ
    - BIO_s_mem
    - opt_init
    - BIO_free
    - add_oid_section
    - load_cert_pass
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_free
    - X509_NAME_free
    - do_EXT_add_nconf
    - sk_OPENSSL_STRING_value
    - X509_set_issuer_name
    - EVP_get_cipherbyname
    - opt_next
    - EVP_PKEY_CTX_set_app_data
    - lh_OPENSSL_STRING_doall
    linkageType: ''
    returnType: int
    signature: int req_main(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/req.c:1081,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:1084,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:1085,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:1088,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/req.c:1090,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1092,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:1097,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/req.c:1099,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1101,1
    - Dst: X509_REQ_set_version
      Src: /src/openssl/apps/req.c:1107,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/req.c:1111,1
    - Dst: auto_info
      Src: /src/openssl/apps/req.c:1113,1
    - Dst: prompt_info
      Src: /src/openssl/apps/req.c:1115,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/openssl/apps/req.c:1120,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: 1126
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1126
    functionName: make_REQ
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - NCONF_get_section
    - X509_REQ_set_subject_name
    - app_conf_try_string
    - strcmp
    - X509_REQ_set_pubkey
    - STACK_OF
    - X509_REQ_set_version
    - auto_info
    - prompt_info
    linkageType: ''
    returnType: int
    signature: "int make_REQ(X509_REQ *req, EVP_PKEY *pkey, const X509_NAME *fsubj,\n
      \   int multirdn, int attribs, unsigned long chtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_data
      Src: /src/openssl/apps/req.c:1375,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/apps/req.c:1381,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: 1386
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1386
    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:1395,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/openssl/apps/req.c:1401,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1403,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: 1408
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1408
    functionName: add_attribute_object
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - X509_REQ_add1_attr_by_NID
    - BIO_puts
    - build_data
    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:1417,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/req.c:1418,1
    - Dst: join
      Src: /src/openssl/apps/req.c:1420,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1422,1
    - Dst: fgets
      Src: /src/openssl/apps/req.c:1426,1
    - Dst: join
      Src: /src/openssl/apps/req.c:1439,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1445,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1447,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/req.c:1452,1
    - Dst: req_check_len
      Src: /src/openssl/apps/req.c:1454,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: 1460
      start: 1410
    functionDepth: 3
    functionLinenumber: 1410
    functionLinenumberEnd: 1460
    functionName: build_data
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 2
    functionsReached:
    - ebcdic2ascii
    - BIO_puts
    - BIO_printf
    - fgets
    - BIO_flush
    - join
    - strlen
    - req_check_len
    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:1465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - len
    - n_min
    - n_max
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1475
    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:1483,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1484,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1489
    functionName: check_end
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    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:1498,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1498,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1501,1
    - Dst: memcpy
      Src: /src/openssl/apps/req.c:1504,1
    - Dst: memcpy
      Src: /src/openssl/apps/req.c:1505,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: 1507
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1507
    functionName: join
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 19
    functionsReached:
    - strlen
    - BIO_printf
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int join(char buf[], size_t buf_size, const char *name,\n    const
      char *tail, const char *desc)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/apps/req.c:1534,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1540,1
    - Dst: strncmp
      Src: /src/openssl/apps/req.c:1542,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1545,1
    - Dst: atol
      Src: /src/openssl/apps/req.c:1565,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/req.c:1571,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1573,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/openssl/apps/req.c:1576,1
    - Dst: BIO_reset
      Src: /src/openssl/apps/req.c:1581,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/apps/req.c:1582,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/req.c:1584,1
    - Dst: X509_free
      Src: /src/openssl/apps/req.c:1585,1
    - Dst: BIO_free
      Src: /src/openssl/apps/req.c:1589,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1592,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/req.c:1596,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1598,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1599,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/apps/req.c:1606,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/req.c:1608,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1611,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1612,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/req.c:1620,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1621,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1622,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/req.c:1626,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:1626,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:1627,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/req.c:1628,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1629,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/req.c:1631,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:1631,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:1632,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1636,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/req.c:1640,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1641,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:1642,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:1645,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:1645,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/apps/req.c:1652,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/apps/req.c:1653,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1654,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:1655,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 101
    argCount: 3
    argNames:
    - gstr
    - pkeytype
    - pkeylen
    argTypes:
    - char*
    - char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1509
    functionDepth: 6
    functionLinenumber: 1509
    functionLinenumberEnd: 1661
    functionName: set_keygen_ctx
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - EVP_PKEY_CTX_is_a
    - X509_free
    - EVP_PKEY_get_bits
    - EVP_PKEY_CTX_new_from_name
    - BIO_new_file
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_pkey
    - app_get0_propq
    - X509_get_pubkey
    - strncmp
    - OPENSSL_strndup
    - BIO_free
    - app_get0_libctx
    - BIO_reset
    - EVP_PKEY_free
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_size_t
    - strchr
    - OPENSSL_strdup
    - BIO_printf
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get0_type_name
    - PEM_read_bio_Parameters
    - atol
    - strlen
    - PEM_read_bio_X509
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *set_keygen_ctx(const char *gstr,\n    char **pkeytype,
      long *pkeylen)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/apps/crl.c:109,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/crl.c:124,1
    - Dst: opt_init
      Src: /src/openssl/apps/crl.c:125,1
    - Dst: opt_next
      Src: /src/openssl/apps/crl.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:131,1
    - Dst: opt_help
      Src: /src/openssl/apps/crl.c:134,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl.c:138,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:138,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:142,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl.c:145,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:145,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:149,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl.c:152,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:152,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:156,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:159,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:162,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:170,1
    - Dst: set_dateopt
      Src: /src/openssl/apps/crl.c:191,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:191,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/crl.c:222,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:222,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/crl.c:226,1
    - Dst: opt_provider
      Src: /src/openssl/apps/crl.c:229,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/crl.c:236,1
    - Dst: opt_md
      Src: /src/openssl/apps/crl.c:239,1
    - Dst: load_crl
      Src: /src/openssl/apps/crl.c:241,1
    - Dst: setup_verify
      Src: /src/openssl/apps/crl.c:246,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/crl.c:250,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/apps/crl.c:250,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/crl.c:253,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/crl.c:254,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:255,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/openssl/apps/crl.c:259,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:260,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:262,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/crl.c:265,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/openssl/apps/crl.c:265,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/apps/crl.c:266,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:268,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/apps/crl.c:271,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/crl.c:272,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:276,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:279,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:285,1
    - Dst: load_crl
      Src: /src/openssl/apps/crl.c:288,1
    - Dst: load_key
      Src: /src/openssl/apps/crl.c:291,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:293,1
    - Dst: X509_CRL_diff
      Src: /src/openssl/apps/crl.c:296,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:297,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/crl.c:298,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:300,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:303,1
    - Dst: X509_CRL_get0_signature
      Src: /src/openssl/apps/crl.c:311,1
    - Dst: corrupt_signature
      Src: /src/openssl/apps/crl.c:313,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:314,1
    - Dst: print_name
      Src: /src/openssl/apps/crl.c:322,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:322,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/apps/crl.c:327,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:328,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:330,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/crl.c:331,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/crl.c:332,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:334,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:336,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/apps/crl.c:340,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:340,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/crl.c:340,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/crl.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:346,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:348,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:355,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:356,1
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/apps/crl.c:357,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:357,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:361,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/crl.c:362,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/apps/crl.c:362,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:363,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:366,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/apps/crl.c:367,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/crl.c:368,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/apps/crl.c:368,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:370,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:371,1
    - Dst: X509_CRL_digest
      Src: /src/openssl/apps/crl.c:378,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:379,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:382,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/apps/crl.c:383,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:385,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/crl.c:390,1
    - Dst: X509_CRL_print_ex
      Src: /src/openssl/apps/crl.c:395,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/crl.c:395,1
    - Dst: i2d_X509_CRL_bio
      Src: /src/openssl/apps/crl.c:403,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/crl.c:405,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:407,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl.c:414,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/crl.c:415,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/crl.c:416,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:417,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/crl.c:418,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/crl.c:419,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 291
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 100
    functionDepth: 11
    functionLinenumber: 100
    functionLinenumberEnd: 421
    functionName: crl_main
    functionSourceFile: /src/openssl/apps/crl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - X509_STORE_CTX_init
    - opt_md
    - X509_NAME_hash_old
    - X509_STORE_CTX_free
    - opt_set_unknown_name
    - load_key
    - EVP_sha1
    - X509_CRL_get0_nextUpdate
    - X509_CRL_print_ex
    - i2d_X509_CRL_bio
    - corrupt_signature
    - X509_CRL_get0_lastUpdate
    - X509_CRL_get_issuer
    - X509_CRL_digest
    - set_dateopt
    - X509_CRL_get0_signature
    - EVP_MD_get0_name
    - app_get0_propq
    - opt_provider
    - X509_STORE_free
    - X509_get_pubkey
    - opt_check_rest_arg
    - i2a_ASN1_INTEGER
    - X509_CRL_verify
    - X509_STORE_CTX_new
    - opt_init
    - app_get0_libctx
    - bio_open_default
    - X509_CRL_get_ext_d2i
    - load_crl
    - print_name
    - PEM_write_bio_X509_CRL
    - EVP_MD_free
    - EVP_PKEY_free
    - ERR_print_errors
    - opt_help
    - X509_STORE_add_lookup
    - X509_STORE_CTX_get_obj_by_subject
    - X509_OBJECT_get0_X509
    - get_nameopt
    - opt_unknown
    - BIO_printf
    - ASN1_TIME_print_ex
    - opt_format
    - set_nameopt
    - X509_CRL_free
    - X509_CRL_diff
    - X509_LOOKUP_file
    - setup_verify
    - ASN1_INTEGER_free
    - X509_NAME_hash_ex
    - opt_arg
    - BIO_free_all
    - opt_next
    - X509_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int crl_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/apps/speed.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - int
    argTypes:
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    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:156,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    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: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VOID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    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:190,1
    - Dst: GetLastError
      Src: /src/openssl/apps/speed.c:192,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:193,1
    - Dst: ExitProcess
      Src: /src/openssl/apps/speed.c:194,1
    - Dst: Sleep
      Src: /src/openssl/apps/speed.c:197,1
    - Dst: app_tminterval
      Src: /src/openssl/apps/speed.c:198,1
    - Dst: app_tminterval
      Src: /src/openssl/apps/speed.c:200,1
    - Dst: TerminateThread
      Src: /src/openssl/apps/speed.c:202,1
    - Dst: CloseHandle
      Src: /src/openssl/apps/speed.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: Time_F
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 1
    functionsReached:
    - ExitProcess
    - BIO_printf
    - GetLastError
    - CreateThread
    - TerminateThread
    - CloseHandle
    - Sleep
    - app_tminterval
    linkageType: ''
    returnType: double
    signature: double Time_F(int s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - name
    - result
    - pairs
    - nbelem
    argTypes:
    - char*
    - unsigned int*
    - OPT_PAIR[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 229
    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: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    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: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    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: 589
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 589
    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:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 5
    functionLinenumber: 660
    functionLinenumberEnd: 664
    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:671,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/speed.c:672,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/apps/speed.c:674,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/speed.c:676,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/speed.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 666
    functionDepth: 8
    functionLinenumber: 666
    functionLinenumberEnd: 680
    functionName: have_md
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - opt_md_silent
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: int have_md(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/openssl/apps/speed.c:687,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/apps/speed.c:688,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:691,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:693,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/speed.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 697
    functionName: have_cipher
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - opt_cipher_silent
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: int have_cipher(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/openssl/apps/speed.c:708,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/apps/speed.c:710,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/speed.c:711,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:717,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/apps/speed.c:718,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/speed.c:719,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/apps/speed.c:720,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:726,1
    - Dst: EVP_Digest
      Src: /src/openssl/apps/speed.c:727,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/speed.c:735,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/speed.c:736,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - mdname
    - algindex
    - args
    argTypes:
    - char*
    - ossl_unused
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 699
    functionDepth: 9
    functionLinenumber: 699
    functionLinenumberEnd: 738
    functionName: EVP_Digest_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - COND
    - EVP_MD_xof
    - opt_md_silent
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex2
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    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:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 10
    functionLinenumber: 740
    functionLinenumberEnd: 743
    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:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 10
    functionLinenumber: 745
    functionLinenumberEnd: 748
    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:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 10
    functionLinenumber: 750
    functionLinenumberEnd: 753
    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:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 10
    functionLinenumber: 755
    functionLinenumberEnd: 758
    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:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 10
    functionLinenumber: 760
    functionLinenumberEnd: 763
    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:771,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/speed.c:771,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/speed.c:771,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/apps/speed.c:776,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/apps/speed.c:780,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: 785
      start: 765
    functionDepth: 10
    functionLinenumber: 765
    functionLinenumberEnd: 785
    functionName: mac_setup
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_fetch
    - app_get0_libctx
    - app_get0_propq
    - EVP_MAC_CTX_set_params
    - EVP_MAC_CTX_new
    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:793,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/apps/speed.c:794,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: 798
      start: 787
    functionDepth: 4
    functionLinenumber: 787
    functionLinenumberEnd: 798
    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:808,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/apps/speed.c:811,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/speed.c:812,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/speed.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - algindex
    - args
    argTypes:
    - ossl_unused
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 817
    functionName: EVP_MAC_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_init
    - EVP_MAC_update
    - COND
    - EVP_MAC_final
    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:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 7
    functionLinenumber: 819
    functionLinenumberEnd: 822
    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:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 7
    functionLinenumber: 824
    functionLinenumberEnd: 827
    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:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 7
    functionLinenumber: 829
    functionLinenumberEnd: 832
    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:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 7
    functionLinenumber: 834
    functionLinenumberEnd: 837
    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:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 10
    functionLinenumber: 839
    functionLinenumberEnd: 842
    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:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 10
    functionLinenumber: 844
    functionLinenumberEnd: 847
    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:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 10
    functionLinenumber: 849
    functionLinenumberEnd: 852
    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:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 10
    functionLinenumber: 854
    functionLinenumberEnd: 857
    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:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 10
    functionLinenumber: 859
    functionLinenumberEnd: 862
    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:874,1
    - Dst: EVP_Cipher
      Src: /src/openssl/apps/speed.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 878
    functionName: EVP_Cipher_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - COND
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: int EVP_Cipher_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:888,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/speed.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 893
    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:906,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/apps/speed.c:909,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:912,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:913,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/apps/speed.c:918,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:919,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:924,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:925,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/speed.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ciphername
    - key
    - keylen
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 899
    functionDepth: 6
    functionLinenumber: 899
    functionLinenumberEnd: 933
    functionName: init_evp_cipher_ctx
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_key_length
    - opt_cipher_silent
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    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:941,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/speed.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 935
    functionDepth: 8
    functionLinenumber: 935
    functionLinenumberEnd: 944
    functionName: RAND_bytes_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - COND
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int RAND_bytes_loop(void *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:955,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:956,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:959,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:963,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:964,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:967,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/apps/speed.c:972,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/apps/speed.c:974,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:977,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 947
    functionDepth: 5
    functionLinenumber: 947
    functionLinenumberEnd: 979
    functionName: EVP_Update_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - EVP_DecryptUpdate
    - EVP_EncryptFinal_ex
    - EVP_DecryptFinal_ex
    - EVP_CipherInit_ex
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int EVP_Update_loop(void *args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:997,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1000,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1002,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1003,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1004,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1011,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1013,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1014,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1015,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:1018,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1019,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1020,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1021,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:1025,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1027,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1028,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1029,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:1033,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1034,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1035,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1036,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:1039,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1040,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1041,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1042,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/apps/speed.c:1044,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 989
    functionDepth: 6
    functionLinenumber: 989
    functionLinenumberEnd: 1048
    functionName: EVP_Update_loop_aead_enc
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - exit
    - dofail
    - COND
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: int EVP_Update_loop_aead_enc(void *args)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1069,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1072,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1074,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1075,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1076,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1084,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1086,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1087,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1088,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:1091,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1092,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1093,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1094,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/apps/speed.c:1098,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1099,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1100,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1101,1
    - Dst: memcpy
      Src: /src/openssl/apps/speed.c:1104,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1106,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1108,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1109,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1110,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:1114,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1116,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1117,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1118,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:1122,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1123,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1124,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1125,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:1128,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1129,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1130,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1131,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/apps/speed.c:1133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1059
    functionDepth: 6
    functionLinenumber: 1059
    functionLinenumberEnd: 1137
    functionName: EVP_Update_loop_aead_dec
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - exit
    - dofail
    - COND
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - memcpy
    - EVP_CipherInit_ex
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: int EVP_Update_loop_aead_dec(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1148,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1150,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1152,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1139
    functionDepth: 6
    functionLinenumber: 1139
    functionLinenumberEnd: 1159
    functionName: RSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - EVP_PKEY_sign
    - dofail
    linkageType: ''
    returnType: int
    signature: int RSA_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1170,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1171,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1173,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1161
    functionDepth: 6
    functionLinenumber: 1161
    functionLinenumberEnd: 1180
    functionName: RSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - dofail
    - EVP_PKEY_verify
    linkageType: ''
    returnType: int
    signature: int RSA_verify_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1191,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/apps/speed.c:1193,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1195,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1182
    functionDepth: 6
    functionLinenumber: 1182
    functionLinenumberEnd: 1202
    functionName: RSA_encrypt_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - EVP_PKEY_encrypt
    - dofail
    linkageType: ''
    returnType: int
    signature: int RSA_encrypt_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1213,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/apps/speed.c:1215,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1217,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1204
    functionDepth: 6
    functionLinenumber: 1204
    functionLinenumberEnd: 1224
    functionName: RSA_decrypt_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - EVP_PKEY_decrypt
    - dofail
    linkageType: ''
    returnType: int
    signature: int RSA_decrypt_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1235,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/apps/speed.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1242
    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:1255,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1257,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1259,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1246
    functionDepth: 6
    functionLinenumber: 1246
    functionLinenumberEnd: 1266
    functionName: DSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - EVP_PKEY_sign
    - dofail
    linkageType: ''
    returnType: int
    signature: int DSA_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1277,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1278,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1280,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1268
    functionDepth: 6
    functionLinenumber: 1268
    functionLinenumberEnd: 1287
    functionName: DSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - COND
    - dofail
    - EVP_PKEY_verify
    linkageType: ''
    returnType: int
    signature: int DSA_verify_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1301,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1304,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/speed.c:1306,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/speed.c:1307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1309,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1290
    functionDepth: 6
    functionLinenumber: 1290
    functionLinenumberEnd: 1316
    functionName: ECDSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - dofail
    - COND
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: int ECDSA_sign_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1329,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1331,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/apps/speed.c:1333,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/speed.c:1334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1336,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1318
    functionDepth: 6
    functionLinenumber: 1318
    functionLinenumberEnd: 1343
    functionName: ECDSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - EVP_DigestVerify
    - dofail
    - COND
    - EVP_PKEY_verify
    - EVP_DigestVerifyInit_ex
    linkageType: ''
    returnType: int
    signature: int ECDSA_verify_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1355,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/apps/speed.c:1356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1359
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1368,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/speed.c:1369,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/speed.c:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1361
    functionDepth: 8
    functionLinenumber: 1361
    functionLinenumberEnd: 1382
    functionName: KEM_keygen_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - COND
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int KEM_keygen_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1394,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/apps/speed.c:1395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1399
    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:1411,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/apps/speed.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1416
    functionName: KEM_decaps_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - COND
    - EVP_PKEY_decapsulate
    linkageType: ''
    returnType: int
    signature: int KEM_decaps_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1425,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/speed.c:1426,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/speed.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1418
    functionDepth: 8
    functionLinenumber: 1418
    functionLinenumberEnd: 1432
    functionName: SIG_keygen_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - COND
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int SIG_keygen_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:1439,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1445,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1447,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1450,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1451,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:1456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1434
    functionDepth: 6
    functionLinenumber: 1434
    functionLinenumberEnd: 1458
    functionName: SIG_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - dofail
    - OPENSSL_free
    - app_malloc
    - COND
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: int SIG_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1470,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1471,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1474,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1460
    functionDepth: 6
    functionLinenumber: 1460
    functionLinenumberEnd: 1481
    functionName: SIG_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - COND
    - dofail
    - EVP_PKEY_verify
    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:1485,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/apps/speed.c:1486,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1489,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1493,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/speed.c:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - length
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1499
    functionName: check_block_size
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_get0_name
    - EVP_CIPHER_CTX_get_block_size
    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:1512,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/apps/speed.c:1519,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1535,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1536,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/speed.c:1550,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1556,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1558,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1559,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1563,1
    - Dst: FD_SET
      Src: /src/openssl/apps/speed.c:1565,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1571,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1575,1
    - Dst: select
      Src: /src/openssl/apps/speed.c:1580,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1585,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1586,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1599,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1601,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1602,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1606,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/speed.c:1610,1
    - Dst: PeekNamedPipe
      Src: /src/openssl/apps/speed.c:1614,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/apps/speed.c:1619,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:1639,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1640,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 97
    argCount: 2
    argNames:
    - async_jobs
    - loopargs
    argTypes:
    - int
    - loopargs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1501
    functionDepth: 6
    functionLinenumber: 1501
    functionLinenumberEnd: 1648
    functionName: run_benchmark
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - PeekNamedPipe
    - FD_SET
    - dofail
    - ASYNC_WAIT_CTX_get_all_fds
    - select
    - FD_ZERO
    - loop_function
    - FD_ISSET
    - ASYNC_start_job
    linkageType: ''
    returnType: int
    signature: "int run_benchmark(int async_jobs,\n    int (*loop_function)(void *),
      loopargs_t *loopargs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1659
    functionName: EC_CURVE_NAME
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EC_CURVE_NAME(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/apps/speed.c:1665,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/speed.c:1673,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/speed.c:1674,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/apps/speed.c:1675,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/speed.c:1676,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1677,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1678,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/speed.c:1681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EC_CURVE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1660
    functionDepth: 8
    functionLinenumber: 1660
    functionLinenumberEnd: 1683
    functionName: get_ecdsa
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - BIO_printf
    - dofail
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_utf8_string
    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: 1687
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1687
    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: 1705
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1705
    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:1714,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1714,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/speed.c:1714,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1715,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/speed.c:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEM**
    - EVP_KEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 2
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: kems_cmp
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_provider
    - strcmp
    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:1720,1
    - Dst: is_kem_fetchable
      Src: /src/openssl/apps/speed.c:1722,1
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/apps/speed.c:1723,1
    - Dst: sk_EVP_KEM_push
      Src: /src/openssl/apps/speed.c:1724,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/apps/speed.c:1725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - stack
    argTypes:
    - EVP_KEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1718
    functionDepth: 3
    functionLinenumber: 1718
    functionLinenumberEnd: 1726
    functionName: collect_kem
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - sk_EVP_KEM_push
    - EVP_KEM_up_ref
    - EVP_KEM_free
    - STACK_OF
    - is_kem_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_kem(EVP_KEM *kem, void *stack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1735,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/speed.c:1740,1
    - Dst: EVP_KEM_fetch
      Src: /src/openssl/apps/speed.c:1741,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/speed.c:1741,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/speed.c:1741,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/speed.c:1742,1
    - Dst: EVP_KEM_get0_name
      Src: /src/openssl/apps/speed.c:1744,1
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1746,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/apps/speed.c:1748,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/apps/speed.c:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - algo
    - idx
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1728
    functionDepth: 10
    functionLinenumber: 1728
    functionLinenumberEnd: 1755
    functionName: kem_locate
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - EVP_KEM_get0_name
    - app_get0_libctx
    - strcmp
    - EVP_KEM_free
    - app_get0_propq
    - EVP_KEM_fetch
    - ERR_set_mark
    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:1762,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1762,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/speed.c:1762,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1763,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/speed.c:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SIGNATURE**
    - EVP_SIGNATURE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1759
    functionDepth: 2
    functionLinenumber: 1759
    functionLinenumberEnd: 1764
    functionName: signatures_cmp
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_SIGNATURE_get0_provider
    - strcmp
    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:1768,1
    - Dst: is_signature_fetchable
      Src: /src/openssl/apps/speed.c:1770,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/apps/speed.c:1771,1
    - Dst: sk_EVP_SIGNATURE_push
      Src: /src/openssl/apps/speed.c:1772,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/apps/speed.c:1773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - stack
    argTypes:
    - EVP_SIGNATURE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1766
    functionDepth: 3
    functionLinenumber: 1766
    functionLinenumberEnd: 1774
    functionName: collect_signatures
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - EVP_SIGNATURE_up_ref
    - sk_EVP_SIGNATURE_push
    - is_signature_fetchable
    - EVP_SIGNATURE_free
    linkageType: ''
    returnType: void
    signature: void collect_signatures(EVP_SIGNATURE *sig, void *stack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1783,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/speed.c:1788,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/apps/speed.c:1789,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/speed.c:1789,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/speed.c:1789,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/speed.c:1790,1
    - Dst: EVP_SIGNATURE_get0_name
      Src: /src/openssl/apps/speed.c:1792,1
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1794,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/apps/speed.c:1796,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/apps/speed.c:1800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - algo
    - idx
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1776
    functionDepth: 3
    functionLinenumber: 1776
    functionLinenumberEnd: 1803
    functionName: sig_locate
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - app_get0_libctx
    - strcmp
    - app_get0_propq
    - EVP_SIGNATURE_fetch
    - EVP_SIGNATURE_get0_name
    - ERR_set_mark
    - EVP_SIGNATURE_free
    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: 1814
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1814
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1908
    functionName: STRSZ
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRSZ(lit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4386,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4389,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:4391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - length
    - tm
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4384
    functionDepth: 2
    functionLinenumber: 4384
    functionLinenumberEnd: 4392
    functionName: print_message
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - BIO_printf
    - alarm
    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:4397,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4400,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:4402,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: 4403
      start: 4394
    functionDepth: 2
    functionLinenumber: 4394
    functionLinenumberEnd: 4403
    functionName: pkey_print_message
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - BIO_printf
    - alarm
    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:4407,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4410,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:4412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - str2
    - tm
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4405
    functionDepth: 2
    functionLinenumber: 4405
    functionLinenumberEnd: 4413
    functionName: kskey_print_message
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - BIO_printf
    - alarm
    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:4418,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:4419,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4422,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: 4426
      start: 4415
    functionDepth: 6
    functionLinenumber: 4415
    functionLinenumberEnd: 4426
    functionName: print_result
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - dofail
    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:4434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - string
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4451
      start: 4429
    functionDepth: 0
    functionLinenumber: 4429
    functionLinenumberEnd: 4451
    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:4460,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: 4468
      start: 4453
    functionDepth: 0
    functionLinenumber: 4453
    functionLinenumberEnd: 4468
    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: 27
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc_array
      Src: /src/openssl/apps/speed.c:4478,1
    - Dst: pipe
      Src: /src/openssl/apps/speed.c:4480,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:4481,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:4482,1
    - Dst: fflush
      Src: /src/openssl/apps/speed.c:4484,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4485,1
    - Dst: fork
      Src: /src/openssl/apps/speed.c:4486,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4487,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4490,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4491,1
    - Dst: dup
      Src: /src/openssl/apps/speed.c:4492,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:4493,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:4494,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4499,1
    - Dst: printf
      Src: /src/openssl/apps/speed.c:4502,1
    - Dst: fdopen
      Src: /src/openssl/apps/speed.c:4514,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4515,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4517,1
    - Dst: fgets
      Src: /src/openssl/apps/speed.c:4520,1
    - Dst: strchr
      Src: /src/openssl/apps/speed.c:4521,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4525,1
    - Dst: printf
      Src: /src/openssl/apps/speed.c:4530,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4532,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4536,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4536,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4537,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4539,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4539,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4541,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4542,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4543,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4543,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4544,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4546,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4546,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4549,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4549,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4552,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4552,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4555,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4555,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4559,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4560,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4561,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4561,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4562,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4564,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4564,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4567,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4567,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4571,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4572,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4573,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4573,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4574,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4576,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4576,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4579,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4579,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4582,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4583,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4584,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4584,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4585,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4587,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4587,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4591,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4592,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4593,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4593,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4594,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4596,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4596,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4600,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4601,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4602,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4602,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4603,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4603,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4606,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4606,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4609,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4609,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4612,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4613,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4614,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4614,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4615,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4615,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4618,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4618,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4621,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4621,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/speed.c:4624,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4625,1
    - Dst: fclose
      Src: /src/openssl/apps/speed.c:4630,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4632,1
    - Dst: wait
      Src: /src/openssl/apps/speed.c:4634,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4636,1
    - Dst: WIFEXITED
      Src: /src/openssl/apps/speed.c:4640,1
    - Dst: WEXITSTATUS
      Src: /src/openssl/apps/speed.c:4640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4641,1
    - Dst: WEXITSTATUS
      Src: /src/openssl/apps/speed.c:4641,1
    - Dst: WIFSIGNALED
      Src: /src/openssl/apps/speed.c:4642,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4643,1
    - Dst: WTERMSIG
      Src: /src/openssl/apps/speed.c:4644,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 143
    argCount: 2
    argNames:
    - multi
    - size_num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4470
    functionDepth: 3
    functionLinenumber: 4470
    functionLinenumberEnd: 4648
    functionName: do_multi
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - fork
    - BIO_puts
    - dup
    - WEXITSTATUS
    - fdopen
    - fclose
    - wait
    - OPENSSL_free
    - strtoint
    - WIFEXITED
    - WIFSIGNALED
    - atof
    - sstrsep
    - pipe
    - fgets
    - printf
    - WTERMSIG
    - BIO_flush
    - app_malloc_array
    - HAS_PREFIX
    - strchr
    - BIO_printf
    - exit
    - fflush
    - close
    - OSSL_NELEM
    - CHECK_AND_SKIP_PREFIX
    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:4658,1
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:4669,1
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:4670,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/apps/speed.c:4671,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4672,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/apps/speed.c:4673,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4674,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/apps/speed.c:4676,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4677,1
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:4680,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/apps/speed.c:4681,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4682,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/apps/speed.c:4683,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4684,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/speed.c:4685,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:4687,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4690,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/speed.c:4691,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4692,1
    - Dst: print_message
      Src: /src/openssl/apps/speed.c:4695,1
    - Dst: Time_F
      Src: /src/openssl/apps/speed.c:4696,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:4697,1
    - Dst: memset
      Src: /src/openssl/apps/speed.c:4702,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:4713,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:4720,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/speed.c:4726,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:4727,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:4731,1
    - Dst: EVP_Cipher
      Src: /src/openssl/apps/speed.c:4733,1
    - Dst: Time_F
      Src: /src/openssl/apps/speed.c:4736,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4737,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/speed.c:4739,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4744,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4746,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4747,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4748,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4750,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4751,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4753,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4755,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4757,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4758,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4759,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4763,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4765,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:4767,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4771,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4772,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:4773,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: 4774
      start: 4651
    functionDepth: 8
    functionLinenumber: 4651
    functionLinenumberEnd: 4774
    functionName: multiblock_speed
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - app_bail_out
    - BIO_puts
    - app_malloc
    - EVP_CIPHER_CTX_rand_key
    - EVP_CIPHER_get0_name
    - OPENSSL_free
    - fprintf
    - EVP_CIPHER_CTX_free
    - Time_F
    - RAND_bytes
    - OPENSSL_clear_free
    - print_message
    - memset
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - BIO_printf
    - COND
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX_ctrl
    - OSSL_NELEM
    - EVP_Cipher
    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:59,1
    - Dst: strlen
      Src: /src/openssl/apps/kdf.c:59,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/kdf.c:63,1
    - Dst: app_malloc
      Src: /src/openssl/apps/kdf.c:67,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/kdf.c:68,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/kdf.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - optp
    - name
    - arg
    argTypes:
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: alloc_kdf_algorithm_name
    functionSourceFile: /src/openssl/apps/kdf.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - OPENSSL_free
    - app_malloc
    - BIO_snprintf
    - sk_OPENSSL_STRING_new_null
    - strlen
    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:79,1
    - Dst: opt_init
      Src: /src/openssl/apps/kdf.c:89,1
    - Dst: opt_next
      Src: /src/openssl/apps/kdf.c:90,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:94,1
    - Dst: opt_help
      Src: /src/openssl/apps/kdf.c:97,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/kdf.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:107,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/kdf.c:111,1
    - Dst: sk_OPENSSL_STRING_push
      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:116,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/openssl/apps/kdf.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:122,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/openssl/apps/kdf.c:123,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:128,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/openssl/apps/kdf.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:129,1
    - Dst: opt_provider
      Src: /src/openssl/apps/kdf.c:134,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/kdf.c:141,1
    - Dst: opt_rest
      Src: /src/openssl/apps/kdf.c:142,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/apps/kdf.c:146,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/kdf.c:146,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/kdf.c:147,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:149,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/apps/kdf.c:153,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/kdf.c:159,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/openssl/apps/kdf.c:159,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/apps/kdf.c:164,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/kdf.c:165,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/kdf.c:166,1
    - Dst: app_params_free
      Src: /src/openssl/apps/kdf.c:169,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/kdf.c:174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/kdf.c:179,1
    - Dst: app_malloc
      Src: /src/openssl/apps/kdf.c:182,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/apps/kdf.c:186,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/kdf.c:187,1
    - Dst: BIO_write
      Src: /src/openssl/apps/kdf.c:192,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/apps/kdf.c:194,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/kdf.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:199,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/kdf.c:205,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/kdf.c:206,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/kdf.c:207,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/apps/kdf.c:208,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/apps/kdf.c:209,1
    - Dst: BIO_free
      Src: /src/openssl/apps/kdf.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:214,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 216
    functionName: kdf_main
    functionSourceFile: /src/openssl/apps/kdf.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - app_malloc
    - EVP_KDF_CTX_new
    - OPENSSL_buf2hexstr
    - opt_int_arg
    - EVP_KDF_CTX_set_params
    - OPENSSL_free
    - BIO_write
    - EVP_KDF_derive
    - EVP_KDF_free
    - app_params_new_from_opts
    - app_get0_propq
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - sk_OPENSSL_STRING_push
    - opt_init
    - OPENSSL_clear_free
    - app_get0_libctx
    - BIO_free
    - bio_open_default
    - sk_OPENSSL_STRING_free
    - opt_num_rest
    - EVP_KDF_settable_ctx_params
    - ERR_print_errors
    - opt_help
    - app_params_free
    - EVP_KDF_CTX_free
    - BIO_printf
    - opt_arg
    - alloc_kdf_algorithm_name
    - EVP_KDF_fetch
    - opt_next
    - opt_rest
    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: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    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: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    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_puts
      Src: /src/openssl/apps/s_client.c:161,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:168,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_client.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:178,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_client.c:182,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:192,1
    - Dst: memcpy
      Src: /src/openssl/apps/s_client.c:196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:200,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:205,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: 207
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 207
    functionName: psk_client_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - BIO_snprintf
    - memcpy
    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:221,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_client.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:229,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/apps/s_client.c:235,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:238,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/apps/s_client.c:242,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/apps/s_client.c:244,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/apps/s_client.c:245,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/apps/s_client.c:246,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:250,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/apps/s_client.c:253,1
    - Dst: SSL_CIPHER_get_handshake_digest
      Src: /src/openssl/apps/s_client.c:257,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:262,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:266,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:272,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: 274
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 274
    functionName: psk_use_session_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_hexstr2buf
    - SSL_CIPHER_find
    - SSL_SESSION_new
    - OPENSSL_free
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_get0_cipher
    - SSL_CIPHER_get_handshake_digest
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - SSL_SESSION_set_protocol_version
    - SSL_SESSION_set_cipher
    - strlen
    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:285,1
    - Dst: SSL_get_servername_type
      Src: /src/openssl/apps/s_client.c:286,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_client.c:287,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: ssl_servername_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - SSL_session_reused
    - BIO_puts
    - SSL_get_servername_type
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: int ssl_servername_cb(SSL *s, int *ad, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:313,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:316,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:317,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:320,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/apps/s_client.c:323,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: 326
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: next_proto_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_puts
    - 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:342,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_client.c:344,1
    - Dst: PEM_write_bio
      Src: /src/openssl/apps/s_client.c:346,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: 348
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 348
    functionName: serverinfo_cli_parse_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio
    - memcpy
    - BIO_snprintf
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:358,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:364,1
    - Dst: isspace
      Src: /src/openssl/apps/s_client.c:376,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:376,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/s_client.c:378,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - inptr
    - result
    argTypes:
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 398
    functionName: hexdecode
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - isspace
    - OPENSSL_free
    - app_malloc
    - _UC
    - strlen
    - OPENSSL_hexchar2int
    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:412,1
    - Dst: strtol
      Src: /src/openssl/apps/s_client.c:413,1
    - Dst: restore_errno
      Src: /src/openssl/apps/s_client.c:414,1
    - Dst: isspace
      Src: /src/openssl/apps/s_client.c:416,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:416,1
    - Dst: isspace
      Src: /src/openssl/apps/s_client.c:419,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - inptr
    - out
    argTypes:
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 424
    functionName: checked_uint8
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - isspace
    - save_errno
    - restore_errno
    - _UC
    - strtol
    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:453,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:454,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/apps/s_client.c:460,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:461,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:464,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:465,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:470,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - con
    - rrdata
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 476
    functionName: tlsa_import_rr
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - SSL_dane_tlsa_add
    - OPENSSL_free
    - ERR_print_errors
    - struct tlsa_field*::parser
    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: 939
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 939
    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: 940
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 940
    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: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    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:949,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 953
    functionName: freeandcopy
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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:959,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:962,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/apps/s_client.c:964,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:965,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:973,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:974,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_client.c:976,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 985
    functionName: new_session_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - PEM_write_bio_SSL_SESSION
    - BIO_printf
    - SSL_SESSION_print
    - BIO_free
    - SSL_version
    - BIO_new_file
    linkageType: ''
    returnType: int
    signature: int new_session_cb(SSL *s, SSL_SESSION *sess)
  - BBCount: 489
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:993,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:998,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:999,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:1001,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:1003,1
    - Dst: TLS_client_method
      Src: /src/openssl/apps/s_client.c:1004,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:1112,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:1113,1
    - Dst: __has_feature
      Src: /src/openssl/apps/s_client.c:1116,1
    - Dst: __msan_unpoison
      Src: /src/openssl/apps/s_client.c:1117,1
    - Dst: __msan_unpoison
      Src: /src/openssl/apps/s_client.c:1118,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1126,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/s_client.c:1127,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/apps/s_client.c:1128,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1131,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/s_client.c:1131,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:1135,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:1136,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:1137,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/apps/s_client.c:1139,1
    - Dst: opt_init
      Src: /src/openssl/apps/s_client.c:1141,1
    - Dst: opt_next
      Src: /src/openssl/apps/s_client.c:1142,1
    - Dst: IS_INET_FLAG
      Src: /src/openssl/apps/s_client.c:1144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1145,1
    - Dst: IS_UNIX_FLAG
      Src: /src/openssl/apps/s_client.c:1150,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1151,1
    - Dst: IS_PROT_FLAG
      Src: /src/openssl/apps/s_client.c:1157,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1158,1
    - Dst: IS_NO_PROT_FLAG
      Src: /src/openssl/apps/s_client.c:1161,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1164,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1173,1
    - Dst: opt_help
      Src: /src/openssl/apps/s_client.c:1176,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1193,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1193,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1197,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1197,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1201,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1201,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1204,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1204,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1207,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1210,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1213,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1219,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1219,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1225,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1231,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1234,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/s_client.c:1237,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1237,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1241,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1247,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1250,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_client.c:1253,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1253,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_client.c:1257,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1257,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_client.c:1272,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1274,1
    - Dst: opt_flag
      Src: /src/openssl/apps/s_client.c:1274,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1275,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1275,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1276,1
    - Dst: opt_verify
      Src: /src/openssl/apps/s_client.c:1281,1
    - Dst: args_excert
      Src: /src/openssl/apps/s_client.c:1286,1
    - Dst: opt_rand
      Src: /src/openssl/apps/s_client.c:1314,1
    - Dst: opt_provider
      Src: /src/openssl/apps/s_client.c:1318,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/s_client.c:1339,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/s_client.c:1344,1
    - Dst: dbug_init
      Src: /src/openssl/apps/s_client.c:1351,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:1358,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1358,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1360,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1360,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1385,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1388,1
    - Dst: isxdigit
      Src: /src/openssl/apps/s_client.c:1389,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:1389,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1391,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1396,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1400,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1405,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1410,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1411,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1428,1
    - Dst: DTLS_client_method
      Src: /src/openssl/apps/s_client.c:1468,1
    - Dst: DTLS_client_method
      Src: /src/openssl/apps/s_client.c:1476,1
    - Dst: DTLS_client_method
      Src: /src/openssl/apps/s_client.c:1486,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/apps/s_client.c:1496,1
    - Dst: atol
      Src: /src/openssl/apps/s_client.c:1523,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1523,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_client.c:1533,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1533,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1537,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1540,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1543,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1549,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1555,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1558,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1564,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1567,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1580,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1584,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1587,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1590,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1596,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1599,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1602,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_client.c:1606,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1607,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1607,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1608,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1617,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1621,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1624,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:1625,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1628,1
    - Dst: opt_pair
      Src: /src/openssl/apps/s_client.c:1636,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1636,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1643,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1647,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1650,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1653,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1656,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1662,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1665,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1667,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1685,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1689,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1692,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1698,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1713,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1720,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1723,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1726,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_client.c:1729,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1732,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1735,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_client.c:1753,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1754,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1754,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/s_client.c:1762,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1765,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1771,1
    - Dst: opt_rest
      Src: /src/openssl/apps/s_client.c:1771,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/s_client.c:1772,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/s_client.c:1775,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1782,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1787,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1793,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1803,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1812,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_client.c:1821,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1823,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1825,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1827,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1840,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1845,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1847,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1853,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1854,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1856,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_client.c:1860,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1862,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1864,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1866,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1871,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_client.c:1879,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1882,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1891,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1900,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_client.c:1911,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1913,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_client.c:1920,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1921,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_client.c:1925,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1926,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1931,1
    - Dst: load_key
      Src: /src/openssl/apps/s_client.c:1939,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_client.c:1946,1
    - Dst: load_certs
      Src: /src/openssl/apps/s_client.c:1953,1
    - Dst: load_crl
      Src: /src/openssl/apps/s_client.c:1959,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/s_client.c:1962,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/s_client.c:1963,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1964,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/s_client.c:1965,1
    - Dst: load_excert
      Src: /src/openssl/apps/s_client.c:1970,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:1975,1
    - Dst: BIO_s_null
      Src: /src/openssl/apps/s_client.c:1975,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_client.c:1977,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1979,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_client.c:1984,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1988,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_client.c:1993,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1994,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/s_client.c:1999,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_client.c:1999,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_client.c:1999,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/openssl/apps/s_client.c:2003,1
    - Dst: ssl_ctx_security_debug
      Src: /src/openssl/apps/s_client.c:2006,1
    - Dst: config_ctx
      Src: /src/openssl/apps/s_client.c:2008,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/apps/s_client.c:2012,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2013,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_client.c:2021,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/s_client.c:2025,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/s_client.c:2028,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_client.c:2032,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_client.c:2035,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_client.c:2040,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_client.c:2042,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/apps/s_client.c:2045,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2046,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_client.c:2051,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/apps/s_client.c:2055,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2056,1
    - Dst: SSL_CTX_set_split_send_fragment
      Src: /src/openssl/apps/s_client.c:2062,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2063,1
    - Dst: SSL_CTX_set_max_pipelines
      Src: /src/openssl/apps/s_client.c:2069,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2070,1
    - Dst: SSL_CTX_set_default_read_buffer_len
      Src: /src/openssl/apps/s_client.c:2076,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/openssl/apps/s_client.c:2080,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2081,1
    - Dst: ssl_load_stores
      Src: /src/openssl/apps/s_client.c:2088,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2092,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:2096,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/apps/s_client.c:2096,1
    - Dst: SSL_add_file_cert_subjects_to_stack
      Src: /src/openssl/apps/s_client.c:2098,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/apps/s_client.c:2099,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2100,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/apps/s_client.c:2103,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2109,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/apps/s_client.c:2110,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:2114,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2117,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/s_client.c:2120,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2121,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2123,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/apps/s_client.c:2128,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/openssl/apps/s_client.c:2133,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2134,1
    - Dst: ssl_ctx_set_excert
      Src: /src/openssl/apps/s_client.c:2141,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/openssl/apps/s_client.c:2145,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_client.c:2149,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2152,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/apps/s_client.c:2156,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:2160,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/apps/s_client.c:2164,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2168,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/apps/s_client.c:2175,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/openssl/apps/s_client.c:2179,1
    - Dst: ctx_set_ctlog_list_file
      Src: /src/openssl/apps/s_client.c:2183,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/s_client.c:2193,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_client.c:2197,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_client.c:2199,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2201,1
    - Dst: ssl_ctx_add_crls
      Src: /src/openssl/apps/s_client.c:2205,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_client.c:2207,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_client.c:2212,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_client.c:2213,1
    - Dst: set_up_srp_arg
      Src: /src/openssl/apps/s_client.c:2217,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/apps/s_client.c:2222,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2223,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/apps/s_client.c:2227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2228,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_client.c:2238,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/apps/s_client.c:2239,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_client.c:2241,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_client.c:2249,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2251,1
    - Dst: SSL_CTX_ech_set1_outer_alpn_protos
      Src: /src/openssl/apps/s_client.c:2254,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:2258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:2261,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_client.c:2265,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/apps/s_client.c:2270,1
    - Dst: SSL_set1_client_cert_type
      Src: /src/openssl/apps/s_client.c:2273,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2274,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/openssl/apps/s_client.c:2278,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2279,1
    - Dst: SSL_ech_set1_grease_suite
      Src: /src/openssl/apps/s_client.c:2285,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:2286,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2292,1
    - Dst: SSL_ech_set_grease_type
      Src: /src/openssl/apps/s_client.c:2293,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2294,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:2296,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:2304,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2306,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/s_client.c:2309,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2310,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2312,1
    - Dst: SSL_set_session
      Src: /src/openssl/apps/s_client.c:2315,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:2316,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2317,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:2321,1
    - Dst: SSL_set_mode
      Src: /src/openssl/apps/s_client.c:2325,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_client.c:2327,1
    - Dst: is_dNS_name
      Src: /src/openssl/apps/s_client.c:2331,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/apps/s_client.c:2334,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2335,1
    - Dst: SSL_set1_ech_config_list
      Src: /src/openssl/apps/s_client.c:2342,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:2343,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2345,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2350,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/apps/s_client.c:2355,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2356,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:2358,1
    - Dst: SSL_ech_set1_outer_server_name
      Src: /src/openssl/apps/s_client.c:2363,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2365,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:2367,1
    - Dst: SSL_get1_echstore
      Src: /src/openssl/apps/s_client.c:2373,1
    - Dst: OSSL_ECHSTORE_downselect
      Src: /src/openssl/apps/s_client.c:2374,1
    - Dst: SSL_set1_echstore
      Src: /src/openssl/apps/s_client.c:2375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2376,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:2378,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/s_client.c:2381,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/apps/s_client.c:2387,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2388,1
    - Dst: tlsa_import_rrset
      Src: /src/openssl/apps/s_client.c:2394,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2395,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2401,1
    - Dst: SSL_dane_set_flags
      Src: /src/openssl/apps/s_client.c:2408,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2410,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/apps/s_client.c:2418,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2419,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/s_client.c:2422,1
    - Dst: load_rpk_file
      Src: /src/openssl/apps/s_client.c:2423,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/s_client.c:2423,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2428,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2434,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2438,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2444,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:2447,1
    - Dst: init_client
      Src: /src/openssl/apps/s_client.c:2449,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2452,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:2452,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2453,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2456,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/apps/s_client.c:2463,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/apps/s_client.c:2466,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2468,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/s_client.c:2477,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/apps/s_client.c:2480,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/s_client.c:2482,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2483,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2484,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2485,1
    - Dst: BIO_sock_info
      Src: /src/openssl/apps/s_client.c:2488,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2489,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:2490,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2491,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:2492,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2493,1
    - Dst: BIO_ctrl_set_connected
      Src: /src/openssl/apps/s_client.c:2497,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:2498,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_client.c:2504,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_client.c:2508,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_client.c:2512,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2513,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_client.c:2514,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2515,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_client.c:2518,1
    - Dst: DTLS_set_link_mtu
      Src: /src/openssl/apps/s_client.c:2519,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2520,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2521,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_client.c:2526,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/apps/s_client.c:2532,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/apps/s_client.c:2533,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2534,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_client.c:2539,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2542,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2543,1
    - Dst: BIO_set_conn_address
      Src: /src/openssl/apps/s_client.c:2549,1
    - Dst: BIO_set_tfo
      Src: /src/openssl/apps/s_client.c:2550,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2556,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/apps/s_client.c:2556,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2558,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2559,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2562,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_client.c:2566,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_client.c:2567,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_client.c:2572,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_client.c:2575,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_client.c:2576,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_client.c:2580,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_client.c:2581,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/apps/s_client.c:2585,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/apps/s_client.c:2586,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/apps/s_client.c:2587,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_client.c:2591,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_client.c:2592,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:2595,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2595,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:2596,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2598,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/openssl/apps/s_client.c:2615,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2635,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2635,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2638,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2641,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2644,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2649,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2651,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2652,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2658,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2659,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2662,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2663,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2664,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2666,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2669,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2670,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2673,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2674,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2675,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2677,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2683,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2683,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2686,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2689,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2690,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2692,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2693,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2696,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2697,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2700,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2701,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2702,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2704,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2707,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2708,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2711,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2711,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2714,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2717,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2720,1
    - Dst: isdigit
      Src: /src/openssl/apps/s_client.c:2721,1
    - Dst: isdigit
      Src: /src/openssl/apps/s_client.c:2721,1
    - Dst: isdigit
      Src: /src/openssl/apps/s_client.c:2721,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2722,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2723,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2724,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2725,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2726,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2731,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2736,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2738,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2742,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2743,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2745,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2752,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2754,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2756,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2760,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2780,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_client.c:2781,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2784,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2785,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2786,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2788,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_client.c:2789,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2794,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2794,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2797,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2800,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2801,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2802,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2803,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:2808,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:2809,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2809,1
    - Dst: BIO_get_buffer_num_lines
      Src: /src/openssl/apps/s_client.c:2819,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/s_client.c:2820,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/s_client.c:2821,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:2822,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2825,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2831,1
    - Dst: sscanf
      Src: /src/openssl/apps/s_client.c:2832,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2837,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2838,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2842,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2847,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2848,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2849,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2851,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2879,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2881,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2885,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2888,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2892,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2901,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2910,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2917,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2924,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2929,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2930,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2940,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2941,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2944,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2950,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2950,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2953,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2956,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2957,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2959,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2960,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2961,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2963,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2966,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2967,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2971,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2972,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2973,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2975,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2978,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2979,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2981,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2985,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2986,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2992,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2992,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2995,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2998,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:3001,1
    - Dst: make_uppercase
      Src: /src/openssl/apps/s_client.c:3007,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_client.c:3008,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:3012,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:3013,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3014,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3016,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3019,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:3020,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3022,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3027,1
    - Dst: strncpy
      Src: /src/openssl/apps/s_client.c:3034,1
    - Dst: make_uppercase
      Src: /src/openssl/apps/s_client.c:3035,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_client.c:3036,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3037,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:3052,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/s_client.c:3052,1
    - Dst: NCONF_new
      Src: /src/openssl/apps/s_client.c:3053,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3056,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:3057,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3060,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/apps/s_client.c:3061,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3062,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:3063,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3065,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3068,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3072,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/s_client.c:3073,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:3075,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3076,1
    - Dst: ASN1_generate_nconf
      Src: /src/openssl/apps/s_client.c:3079,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:3081,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/s_client.c:3082,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3083,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:3086,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3089,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/s_client.c:3089,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/s_client.c:3090,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:3091,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/s_client.c:3092,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:3094,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3096,1
    - Dst: ldap_ExtendedResponse_parse
      Src: /src/openssl/apps/s_client.c:3099,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3101,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3104,1
    - Dst: SSL_get0_session
      Src: /src/openssl/apps/s_client.c:3113,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/openssl/apps/s_client.c:3114,1
    - Dst: SSL_get0_session
      Src: /src/openssl/apps/s_client.c:3114,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/openssl/apps/s_client.c:3116,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:3117,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3122,1
    - Dst: BIO_read_ex
      Src: /src/openssl/apps/s_client.c:3127,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/apps/s_client.c:3130,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_client.c:3131,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3138,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3139,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3145,1
    - Dst: user_data_init
      Src: /src/openssl/apps/s_client.c:3148,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:3150,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:3151,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/apps/s_client.c:3154,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/apps/s_client.c:3160,1
    - Dst: SSL_total_renegotiations
      Src: /src/openssl/apps/s_client.c:3160,1
    - Dst: SSL_get_key_update_type
      Src: /src/openssl/apps/s_client.c:3161,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3169,1
    - Dst: print_ssl_summary
      Src: /src/openssl/apps/s_client.c:3170,1
    - Dst: print_stuff
      Src: /src/openssl/apps/s_client.c:3173,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3178,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3186,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_client.c:3188,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_client.c:3189,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:3190,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3190,1
    - Dst: user_data_process
      Src: /src/openssl/apps/s_client.c:3198,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3200,1
    - Dst: user_data_has_data
      Src: /src/openssl/apps/s_client.c:3218,1
    - Dst: SSL_has_pending
      Src: /src/openssl/apps/s_client.c:3228,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3239,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:3239,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3242,1
    - Dst: fileno_stdout
      Src: /src/openssl/apps/s_client.c:3242,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/apps/s_client.c:3253,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3254,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3254,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/apps/s_client.c:3256,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3257,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3257,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/apps/s_client.c:3261,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3262,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3262,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/apps/s_client.c:3264,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3265,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3265,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3289,1
    - Dst: has_stdin_waiting
      Src: /src/openssl/apps/s_client.c:3291,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3294,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3298,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3302,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:3303,1
    - Dst: SSL_handle_events
      Src: /src/openssl/apps/s_client.c:3309,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3311,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3311,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3312,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3312,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3313,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3317,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3317,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_client.c:3319,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_client.c:3320,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3337,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3342,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_client.c:3343,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3348,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3354,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3358,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:3369,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3372,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3390,1
    - Dst: fileno_stdout
      Src: /src/openssl/apps/s_client.c:3390,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/s_client.c:3394,1
    - Dst: raw_write_stdout
      Src: /src/openssl/apps/s_client.c:3396,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3399,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3411,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3411,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_client.c:3412,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_client.c:3414,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3425,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_client.c:3426,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3433,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3438,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3445,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:3448,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3450,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3452,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3455,1
    - Dst: has_stdin_waiting
      Src: /src/openssl/apps/s_client.c:3473,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3475,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:3475,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_client.c:3481,1
    - Dst: assert
      Src: /src/openssl/apps/s_client.c:3495,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_client.c:3497,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3504,1
    - Dst: user_data_add
      Src: /src/openssl/apps/s_client.c:3509,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:3520,1
    - Dst: print_stuff
      Src: /src/openssl/apps/s_client.c:3522,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_client.c:3523,1
    - Dst: shutdown
      Src: /src/openssl/apps/s_client.c:3535,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3535,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:3544,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3545,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3546,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:3547,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:3549,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3549,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:3552,1
    - Dst: print_stuff
      Src: /src/openssl/apps/s_client.c:3555,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_client.c:3556,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:3558,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3560,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_client.c:3562,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_client.c:3563,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_client.c:3564,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/s_client.c:3565,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_client.c:3566,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/s_client.c:3567,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3570,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3572,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:3573,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3574,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3575,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3576,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3577,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3578,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3579,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3580,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3581,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/s_client.c:3582,1
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/s_client.c:3583,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_client.c:3584,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_client.c:3585,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_client.c:3586,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/apps/s_client.c:3587,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_client.c:3588,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_client.c:3589,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_client.c:3590,1
    - Dst: clear_free
      Src: /src/openssl/apps/s_client.c:3591,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3592,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3594,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/s_client.c:3597,1
    CyclomaticComplexity: 802
    EdgeCount: 802
    ICount: 2030
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (lf_num == 0)
      pos:
        line_end: 3494
        line_start: 3494
        source_file: /src/openssl/apps/s_client.c
    constantsTouched: []
    func_position:
      end: 3600
      start: 987
    functionDepth: 6
    functionLinenumber: 987
    functionLinenumberEnd: 3600
    functionName: s_client_main
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - IS_UNIX_FLAG
    - SSL_get0_session
    - NCONF_load_bio
    - opt_pair
    - SSL_ech_set1_outer_server_name
    - OSSL_ECHSTORE_downselect
    - app_malloc
    - load_key
    - BIO_ADDR_new
    - shutdown
    - opt_next
    - SSL_set_tlsext_status_type
    - SSL_CTX_free
    - X509_VERIFY_PARAM_new
    - ERR_clear_error
    - SSL_CTX_set_verify
    - BIO_f_buffer
    - BIO_new
    - BIO_read
    - DTLS_set_link_mtu
    - app_passwd
    - SSL_get1_echstore
    - sk_OPENSSL_STRING_new_null
    - atoi
    - STACK_OF
    - ssl_load_stores
    - BIO_set_tfo
    - SSL_set_tlsext_host_name
    - PEM_read_bio_SSL_SESSION
    - opt_verify
    - SSL_set1_client_cert_type
    - BIO_set_callback_arg
    - NCONF_new
    - BIO_s_null
    - SSL_is_init_finished
    - app_get0_libctx
    - SSL_SESSION_get_max_early_data
    - load_crl
    - ssl_excert_free
    - opt_num_rest
    - freeandcopy
    - sk_OPENSSL_STRING_free
    - strstr
    - SSL_CTX_set_max_pipelines
    - DTLS_get_link_min_mtu
    - BIO_ctrl_set_connected
    - HAS_PREFIX
    - OSSL_ECHSTORE_free
    - user_data_add
    - SSL_new
    - user_data_init
    - opt_format
    - OSSL_STACK_OF_X509_free
    - SSL_CTX_clear_mode
    - X509_CRL_free
    - sscanf
    - is_dNS_name
    - FD_ZERO
    - opt_arg
    - SSL_CTX_add_client_custom_ext
    - ssl_ctx_add_crls
    - SSL_set_bio
    - SSL_CTX_set_psk_use_session_callback
    - BIO_sock_info
    - SSL_total_renegotiations
    - IS_NO_PROT_FLAG
    - BIO_puts
    - SSL_has_pending
    - _UC
    - SSL_CTX_set_options
    - set_keylog_file
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set_tlsext_use_srtp
    - SSL_net_write_desired
    - X509_VERIFY_PARAM_free
    - SSL_CTX_set_tlsext_status_arg
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - SSL_set_connect_state
    - SSL_get_fd
    - sk_X509_CRL_push
    - opt_provider
    - get_last_socket_error
    - SSL_read
    - SSL_CONF_CTX_free
    - BIO_closesocket
    - ctx_set_ctlog_list_file
    - SSL_get_error
    - SSL_free
    - SSL_set1_echstore
    - sk_OPENSSL_STRING_push
    - ssl_ctx_security_debug
    - SSL_set_blocking_mode
    - IS_PROT_FLAG
    - SSL_dane_enable
    - BIO_get_buffer_num_lines
    - SSL_CTX_set_tlsext_servername_callback
    - clear_free
    - load_excert
    - SSL_CTX_set_max_send_fragment
    - strncpy
    - ASN1_generate_nconf
    - ERR_print_errors
    - BIO_push
    - print_ssl_summary
    - isdigit
    - SSL_CTX_new_ex
    - OPENSSL_strdup
    - SSL_CTX_set1_param
    - isxdigit
    - BIO_ctrl
    - ascii2ebcdic
    - sk_X509_CRL_pop_free
    - set_nameopt
    - BIO_pop
    - OSSL_QUIC_client_method
    - ctx_set_verify_locations
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_write_early_data
    - sk_X509_NAME_pop_free
    - SSL_CTX_set_info_callback
    - strlen
    - SSL_set_msg_callback_arg
    - opt_rest
    - SSL_ech_set_grease_type
    - SSL_set_msg_callback
    - BIO_ADDR_free
    - BIO_new_socket
    - SSL_add_file_cert_subjects_to_stack
    - X509_free
    - tlsa_import_rrset
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_ech_set1_grease_suite
    - BIO_new_dgram_sctp
    - SSL_set_tlsext_debug_arg
    - user_data_process
    - SSL_CTX_dane_enable
    - wait_for_async
    - has_stdin_waiting
    - SSL_get_event_timeout
    - ssl_ctx_set_excert
    - BIO_socket_nbio
    - opt_flag
    - IS_INET_FLAG
    - opt_check_rest_arg
    - SSL_CTX_set0_CA_list
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_ech_set1_outer_alpn_protos
    - SSL_set_post_handshake_auth
    - SSL_set_session
    - BIO_f_nbio_test
    - args_excert
    - assert
    - fileno_stdout
    - SSL_get_key_update_type
    - EVP_PKEY_free
    - opt_help
    - init_client
    - __msan_unpoison
    - TLS_client_method
    - BIO_printf
    - load_certs
    - sk_X509_CRL_new_null
    - user_data_has_data
    - NCONF_get_string
    - config_ctx
    - SSL_set1_server_cert_type
    - set_up_srp_arg
    - memcmp
    - SSL_CTX_set_max_proto_version
    - SSL_handle_events
    - SSL_set_mode
    - SSL_write
    - SSL_CTX_set_split_send_fragment
    - opt_rand
    - SSL_CONF_CTX_new
    - dup_bio_out
    - select
    - ldap_ExtendedResponse_parse
    - raw_write_stdout
    - BIO_read_ex
    - SSL_CTX_set_min_proto_version
    - NCONF_free
    - BIO_new_file
    - SSL_CTX_set_alpn_protos
    - opt_int_arg
    - print_stuff
    - FD_ISSET
    - SSL_dane_set_flags
    - dbug_init
    - X509_VERIFY_PARAM_set_flags
    - fileno_stdin
    - next_protos_parse
    - OPENSSL_free
    - load_rpk_file
    - BIO_write
    - BIO_new_dgram
    - SSL_set1_ech_config_list
    - BIO_set_callback_ex
    - BIO_pending
    - ASN1_TYPE_free
    - BIO_parse_hostserv
    - app_get0_propq
    - ASN1_STRING_length
    - BIO_gets
    - SSL_CTX_set_mode
    - ASN1_STRING_get0_data
    - BIO_s_mem
    - do_ssl_shutdown
    - DTLS_client_method
    - opt_init
    - SSL_CTX_config
    - BIO_free
    - OPENSSL_clear_free
    - SSL_SESSION_free
    - BIO_set_conn_address
    - SSL_CTX_enable_ct
    - BIO_flush
    - set_cert_key_stuff
    - load_cert_pass
    - SSL_CTX_set_tlsext_status_cb
    - raw_read_stdin
    - openssl_fdset
    - sk_X509_NAME_new_null
    - SSL_CONF_CTX_set_flags
    - SSL_set1_initial_peer_addr
    - SSL_CTX_set_default_read_buffer_len
    - make_uppercase
    - sk_OPENSSL_STRING_value
    - SSL_CTX_set_next_proto_select_cb
    - SSL_net_read_desired
    - SSL_CTX_sess_set_new_cb
    - SSL_set_tlsext_debug_callback
    - atol
    - OSSL_HTTP_proxy_connect
    - SSL_set_options
    - opt_getprog
    - __has_feature
    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: 3469
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3469
    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:3607,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/apps/s_client.c:3608,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/apps/s_client.c:3609,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3602
    functionDepth: 2
    functionLinenumber: 3602
    functionLinenumberEnd: 3615
    functionName: ec_curve_name
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_group_name
    - OPENSSL_malloc
    - OPENSSL_free
    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:3619,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/s_client.c:3625,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/s_client.c:3627,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/apps/s_client.c:3627,1
    - Dst: EVP_PKEY_id
      Src: /src/openssl/apps/s_client.c:3628,1
    - Dst: ec_curve_name
      Src: /src/openssl/apps/s_client.c:3629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3631,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/s_client.c:3633,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/apps/s_client.c:3633,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3635,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/s_client.c:3636,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/s_client.c:3637,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/apps/s_client.c:3637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - cert
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3617
    functionDepth: 6
    functionLinenumber: 3617
    functionLinenumberEnd: 3639
    functionName: print_cert_key_info
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - EVP_PKEY_get_bits
    - EVP_PKEY_get0_type_name
    - OBJ_nid2ln
    - EVP_PKEY_id
    - ec_curve_name
    - X509_get0_pubkey
    - EVP_PKEY_get_base_id
    - X509_get_signature_nid
    linkageType: ''
    returnType: void
    signature: void print_cert_key_info(BIO *bio, X509 *cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_ech_get1_retry_config
      Src: /src/openssl/apps/s_client.c:3652,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3653,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:3661,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/s_client.c:3661,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3662,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/apps/s_client.c:3663,1
    - Dst: OSSL_ECHSTORE_read_echconfiglist
      Src: /src/openssl/apps/s_client.c:3664,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3665,1
    - Dst: OSSL_ECHSTORE_num_entries
      Src: /src/openssl/apps/s_client.c:3668,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3670,1
    - Dst: OSSL_ECHSTORE_get1_info
      Src: /src/openssl/apps/s_client.c:3672,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3675,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3681,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3682,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3684,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_client.c:3688,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3689,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3690,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3691,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/s_client.c:3692,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3694
      start: 3642
    functionDepth: 5
    functionLinenumber: 3642
    functionLinenumberEnd: 3694
    functionName: print_ech_retry_configs
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_free
    - BIO_puts
    - BIO_printf
    - BIO_new
    - OSSL_ECHSTORE_read_echconfiglist
    - BIO_write
    - OSSL_ECHSTORE_get1_info
    - OSSL_ECHSTORE_num_entries
    - OPENSSL_free
    - BIO_free_all
    - OSSL_ECHSTORE_new
    - SSL_ech_get1_retry_config
    - BIO_s_mem
    linkageType: ''
    returnType: void
    signature: void print_ech_retry_configs(BIO *bio, SSL *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3701,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3704,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3707,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3710,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3713,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3716,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3719,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3722,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3725,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3728,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3731,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - bio
    - s
    - estat
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3697
    functionDepth: 2
    functionLinenumber: 3697
    functionLinenumberEnd: 3737
    functionName: print_ech_status
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_ech_status(BIO *bio, SSL *s, int estat)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:3743,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:3745,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_client.c:3752,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/openssl/apps/s_client.c:3762,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3766,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/s_client.c:3767,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/s_client.c:3768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3770,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/s_client.c:3771,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/s_client.c:3771,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/s_client.c:3771,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3772,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/s_client.c:3773,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/s_client.c:3773,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/s_client.c:3773,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3774,1
    - Dst: print_cert_key_info
      Src: /src/openssl/apps/s_client.c:3775,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3776,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/apps/s_client.c:3777,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/s_client.c:3777,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3778,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/apps/s_client.c:3779,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/s_client.c:3779,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3780,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_client.c:3782,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3786,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/s_client.c:3787,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3789,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_client.c:3793,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/s_client.c:3794,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3796,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/apps/s_client.c:3800,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3801,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/apps/s_client.c:3802,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3803,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/s_client.c:3805,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3808,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/s_client.c:3809,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3811,1
    - Dst: print_ca_names
      Src: /src/openssl/apps/s_client.c:3815,1
    - Dst: ssl_print_sigalgs
      Src: /src/openssl/apps/s_client.c:3817,1
    - Dst: ssl_print_tmp_key
      Src: /src/openssl/apps/s_client.c:3818,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_client.c:3830,1
    - Dst: SSL_ct_is_enabled
      Src: /src/openssl/apps/s_client.c:3830,1
    - Dst: SSL_get0_peer_scts
      Src: /src/openssl/apps/s_client.c:3831,1
    - Dst: sk_SCT_num
      Src: /src/openssl/apps/s_client.c:3832,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3834,1
    - Dst: SSL_CTX_get0_ctlog_store
      Src: /src/openssl/apps/s_client.c:3836,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3838,1
    - Dst: sk_SCT_value
      Src: /src/openssl/apps/s_client.c:3840,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3842,1
    - Dst: SCT_validation_status_string
      Src: /src/openssl/apps/s_client.c:3843,1
    - Dst: SCT_print
      Src: /src/openssl/apps/s_client.c:3844,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3846,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3848,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3853,1
    - Dst: BIO_number_read
      Src: /src/openssl/apps/s_client.c:3856,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_client.c:3856,1
    - Dst: BIO_number_written
      Src: /src/openssl/apps/s_client.c:3857,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_client.c:3857,1
    - Dst: print_verify_detail
      Src: /src/openssl/apps/s_client.c:3859,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3860,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_client.c:3860,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/s_client.c:3861,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3862,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/apps/s_client.c:3863,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_client.c:3863,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3864,1
    - Dst: SSL_get_version
      Src: /src/openssl/apps/s_client.c:3864,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/s_client.c:3868,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3869,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/s_client.c:3870,1
    - Dst: ssl_print_secure_renegotiation_notes
      Src: /src/openssl/apps/s_client.c:3873,1
    - Dst: SSL_get_current_compression
      Src: /src/openssl/apps/s_client.c:3876,1
    - Dst: SSL_get_current_expansion
      Src: /src/openssl/apps/s_client.c:3877,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3878,1
    - Dst: SSL_COMP_get_name
      Src: /src/openssl/apps/s_client.c:3880,1
    - Dst: SSL_COMP_get_name
      Src: /src/openssl/apps/s_client.c:3881,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/apps/s_client.c:3884,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_client.c:3884,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3885,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/apps/s_client.c:3886,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_client.c:3886,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3887,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/apps/s_client.c:3890,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3895,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/s_client.c:3896,1
    - Dst: BIO_sock_info
      Src: /src/openssl/apps/s_client.c:3897,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3898,1
    - Dst: ntohs
      Src: /src/openssl/apps/s_client.c:3899,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/apps/s_client.c:3899,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:3901,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/apps/s_client.c:3908,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3909,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3910,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3911,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/apps/s_client.c:3917,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3919,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3920,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3921,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3923,1
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/openssl/apps/s_client.c:3928,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3931,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/apps/s_client.c:3937,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3939,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3943,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3947,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/apps/s_client.c:3956,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3957,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/s_client.c:3958,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_client.c:3961,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_client.c:3961,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_client.c:3964,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3965,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:3970,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/apps/s_client.c:3971,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:3974,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3977,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3979,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3981,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3982,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3984,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3986,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/apps/s_client.c:3988,1
    - Dst: print_ech_status
      Src: /src/openssl/apps/s_client.c:3989,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3991,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3992,1
    - Dst: print_ech_retry_configs
      Src: /src/openssl/apps/s_client.c:3996,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3997,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3998,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3999,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:4003,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 147
    argCount: 3
    argNames:
    - bio
    - s
    - full
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3740
    functionDepth: 10
    functionLinenumber: 3740
    functionLinenumberEnd: 4004
    functionName: print_stuff
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_ADDR_free
    - X509_get0_notBefore
    - EVP_PKEY_get_bits
    - app_malloc
    - SSL_get_SSL_CTX
    - BIO_ADDR_new
    - ntohs
    - BIO_get_ktls_recv
    - SSL_version
    - sk_X509_num
    - SSL_COMP_get_name
    - SSL_get_wbio
    - BIO_number_written
    - SSL_ech_get1_status
    - print_ech_retry_configs
    - SSL_CTX_get0_ctlog_store
    - SSL_get_current_expansion
    - SSL_CIPHER_get_version
    - BIO_write
    - OPENSSL_free
    - print_ech_status
    - SSL_get_fd
    - SSL_get_session
    - sk_SCT_value
    - SSL_get_current_cipher
    - SSL_get_current_compression
    - BIO_get_ktls_send
    - BIO_ADDR_rawport
    - STACK_OF
    - X509_get_subject_name
    - SSL_get0_alpn_selected
    - SCT_validation_status_string
    - ASN1_TIME_print
    - ssl_print_tmp_key
    - SSL_get_version
    - ssl_print_sigalgs
    - SSL_export_keying_material
    - SSL_get_negotiated_client_cert_type
    - EVP_PKEY_print_public
    - BIO_flush
    - SSL_get_selected_srtp_profile
    - print_cert_key_info
    - sk_SCT_num
    - SSL_session_reused
    - SSL_get_rbio
    - get_nameopt
    - SSL_get0_peer_scts
    - X509_get0_pubkey
    - X509_get_issuer_name
    - ssl_print_secure_renegotiation_notes
    - SSL_get_early_data_status
    - SSL_get0_peer_certificate
    - X509_verify_cert_error_string
    - BIO_printf
    - X509_get0_notAfter
    - SCT_print
    - SSL_SESSION_print
    - print_ca_names
    - PEM_write_bio_X509
    - SSL_get_negotiated_server_cert_type
    - BIO_number_read
    - SSL_get_verify_result
    - SSL_ct_is_enabled
    - dump_cert_text
    - OSSL_TRACE_ENABLED
    - sk_X509_value
    - print_verify_detail
    - SSL_get_peer_cert_chain
    - strlen
    - SSL_get0_peer_rpk
    - BIO_sock_info
    - SSL_get0_next_proto_negotiated
    - X509_NAME_print_ex
    - SSL_CIPHER_get_name
    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:4010,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:4013,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/apps/s_client.c:4014,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4016,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4019,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_client.c:4023,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4025,1
    - Dst: print_ocsp_response
      Src: /src/openssl/apps/s_client.c:4027,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/apps/s_client.c:4027,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/openssl/apps/s_client.c:4030,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4032,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4034,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/apps/s_client.c:4037,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4039,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/apps/s_client.c:4040,1
    - Dst: print_ocsp_response
      Src: /src/openssl/apps/s_client.c:4043,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/apps/s_client.c:4044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4048
      start: 4007
    functionDepth: 3
    functionLinenumber: 4007
    functionLinenumberEnd: 4048
    functionName: ocsp_resp_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - SSL_get_tlsext_status_ocsp_resp
    - SSL_get0_tlsext_status_ocsp_resp_ex
    - BIO_puts
    - BIO_printf
    - OCSP_RESPONSE_free
    - sk_OCSP_RESPONSE_num
    - d2i_OCSP_RESPONSE
    - print_ocsp_response
    - BIO_dump_indent
    - SSL_version
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    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:4053,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4057,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/openssl/apps/s_client.c:4058,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bp
    - rsp
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4050
    functionDepth: 4
    functionLinenumber: 4050
    functionLinenumberEnd: 4060
    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:4100,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4102,1
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:4109,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4111,1
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:4119,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4121,1
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:4127,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - buf
    - rem
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4063
    functionDepth: 3
    functionLinenumber: 4063
    functionLinenumberEnd: 4141
    functionName: ldap_ExtendedResponse_parse
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - ASN1_get_object
    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:4152,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4147
    functionDepth: 0
    functionLinenumber: 4147
    functionLinenumberEnd: 4207
    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: 4219
      start: 4209
    functionDepth: 0
    functionLinenumber: 4209
    functionLinenumberEnd: 4219
    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: 4234
      start: 4221
    functionDepth: 0
    functionLinenumber: 4221
    functionLinenumberEnd: 4234
    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_puts
      Src: /src/openssl/apps/s_client.c:4248,1
    - Dst: SSL_is_quic
      Src: /src/openssl/apps/s_client.c:4255,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4256,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:4257,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4258,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4263,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4265,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4269,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4273,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_client.c:4274,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_client.c:4275,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:4276,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:4276,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4280,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_client.c:4281,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4288,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4290,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4294,1
    - Dst: SSL_key_update
      Src: /src/openssl/apps/s_client.c:4295,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/apps/s_client.c:4301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:4310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - user_data
    - cmd
    - arg
    argTypes:
    - struct user_data_st*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4312
      start: 4243
    functionDepth: 3
    functionLinenumber: 4243
    functionLinenumberEnd: 4312
    functionName: user_data_execute
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - SSL_stream_conclude
    - SSL_is_quic
    - SSL_set_connect_state
    - SSL_get_fd
    - SSL_version
    - SSL_key_update
    - OPENSSL_strcasecmp
    - BIO_closesocket
    - SSL_renegotiate
    - 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:4330,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:4334,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:4338,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:4343,1
    - Dst: strchr
      Src: /src/openssl/apps/s_client.c:4353,1
    - Dst: strchr
      Src: /src/openssl/apps/s_client.c:4368,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4376,1
    - Dst: strchr
      Src: /src/openssl/apps/s_client.c:4383,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4395,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4397,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4399,1
    - Dst: SSL_is_quic
      Src: /src/openssl/apps/s_client.c:4401,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4402,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:4405,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4406,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4413,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4417,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:4420,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4422,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/s_client.c:4458,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: 4468
      start: 4314
    functionDepth: 4
    functionLinenumber: 4314
    functionLinenumberEnd: 4468
    functionName: user_data_process
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - strchr
    - ebcdic2ascii
    - BIO_printf
    - user_data_execute
    - SSL_version
    - OPENSSL_strcasecmp
    - SSL_is_quic
    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: 4473
      start: 4470
    functionDepth: 0
    functionLinenumber: 4470
    functionLinenumberEnd: 4473
    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:120,1
    - Dst: opt_next
      Src: /src/openssl/apps/passwd.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:126,1
    - Dst: opt_help
      Src: /src/openssl/apps/passwd.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/passwd.c:135,1
    - Dst: opt_arg
      Src: /src/openssl/apps/passwd.c:179,1
    - Dst: opt_rand
      Src: /src/openssl/apps/passwd.c:188,1
    - Dst: opt_provider
      Src: /src/openssl/apps/passwd.c:192,1
    - Dst: opt_rest
      Src: /src/openssl/apps/passwd.c:199,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/passwd.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:216,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/passwd.c:225,1
    - Dst: app_malloc
      Src: /src/openssl/apps/passwd.c:235,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/passwd.c:251,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/passwd.c:259,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:265,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:266,1
    - Dst: do_passwd
      Src: /src/openssl/apps/passwd.c:270,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:278,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/passwd.c:280,1
    - Dst: strchr
      Src: /src/openssl/apps/passwd.c:282,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/passwd.c:289,1
    - Dst: strchr
      Src: /src/openssl/apps/passwd.c:290,1
    - Dst: do_passwd
      Src: /src/openssl/apps/passwd.c:293,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/passwd.c:304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:307,1
    - Dst: BIO_free
      Src: /src/openssl/apps/passwd.c:308,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 167
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (passwds != NULL)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/openssl/apps/passwd.c
    - condition: (passwd != NULL)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/openssl/apps/passwd.c
    - condition: (*passwds != NULL)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/openssl/apps/passwd.c
    constantsTouched: []
    func_position:
      end: 310
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 310
    functionName: passwd_main
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - app_malloc
    - opt_rand
    - app_RAND_load
    - OPENSSL_free
    - opt_provider
    - BIO_gets
    - do_passwd
    - EVP_read_pw_string
    - opt_init
    - BIO_free
    - bio_open_default
    - assert
    - ERR_print_errors
    - opt_help
    - strchr
    - BIO_printf
    - opt_arg
    - opt_next
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int passwd_main(int argc, char **argv)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:335,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:338,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:339,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:342,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:346,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:347,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:349,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/passwd.c:353,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:356,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:361,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:366,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:367,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:370,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:372,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:379,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:381,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:383,1
    - Dst: EVP_md5
      Src: /src/openssl/apps/passwd.c:383,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:384,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:388,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:389,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:390,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:393,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:396,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:398,1
    - Dst: EVP_md5
      Src: /src/openssl/apps/passwd.c:398,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:399,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:400,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:401,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:402,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:406,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:409,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:414,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:418,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:422,1
    - Dst: EVP_md5
      Src: /src/openssl/apps/passwd.c:422,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:424,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:429,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:433,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:436,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:440,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:443,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:444,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:462,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:466,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:466,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:476,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:480,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:480,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/passwd.c:482,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:482,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:489,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:490,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:491,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 120
    argCount: 3
    argNames:
    - passwd
    - magic
    - salt
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (salt_len <= 8)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/openssl/apps/passwd.c
    - condition: (strlen(out_buf) < sizeof(out_buf))
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/openssl/apps/passwd.c
    - condition: (16 == sizeof(buf_perm))
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/openssl/apps/passwd.c
    - condition: (output == out_buf + strlen(out_buf))
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/openssl/apps/passwd.c
    - condition: (i == 15)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/openssl/apps/passwd.c
    constantsTouched: []
    func_position:
      end: 493
      start: 321
    functionDepth: 8
    functionLinenumber: 321
    functionLinenumberEnd: 493
    functionName: md5crypt
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - OPENSSL_strdup
    - ascii2ebcdic
    - OPENSSL_free
    - OPENSSL_strlcat
    - EVP_DigestFinal_ex
    - EVP_md5
    - EVP_DigestUpdate
    - assert
    - EVP_MD_CTX_new
    - strlen
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - OPENSSL_strlcpy
    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:531,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:532,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/passwd.c:540,1
    - Dst: EVP_sha512
      Src: /src/openssl/apps/passwd.c:544,1
    - Dst: strncmp
      Src: /src/openssl/apps/passwd.c:551,1
    - Dst: strtoul
      Src: /src/openssl/apps/passwd.c:554,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:569,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:572,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:576,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:577,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:579,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/passwd.c:583,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:586,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:591,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:592,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:593,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/passwd.c:597,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:601,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:601,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:603,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:604,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:606,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:609,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:612,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:614,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:615,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:616,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:619,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:621,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:622,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:623,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:624,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:625,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:629,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:632,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:637,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:643,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:647,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:651,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:654,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/passwd.c:657,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:660,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:661,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:664,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:668,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:671,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/passwd.c:674,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:677,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:678,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:681,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:683,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:688,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:692,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:695,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:699,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:702,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:703,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:706,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:707,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:711,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:732,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:733,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: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: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:756,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:757,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:758,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:759,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:760,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/passwd.c:767,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:767,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:773,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:774,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:775,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:776,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:777,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 201
    argCount: 3
    argNames:
    - passwd
    - magic
    - salt
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 500
    functionDepth: 8
    functionLinenumber: 500
    functionLinenumberEnd: 779
    functionName: shacrypt
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_strlcat
    - EVP_sha512
    - EVP_MD_CTX_free
    - strncmp
    - OPENSSL_strlcpy
    - ebcdic2ascii
    - OPENSSL_strdup
    - strtoul
    - ascii2ebcdic
    - EVP_sha256
    - EVP_DigestFinal_ex
    - b64_from_24bit
    - strlen
    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: 723
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 723
    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:787,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:788,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:801,1
    - Dst: app_malloc
      Src: /src/openssl/apps/passwd.c:804,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/passwd.c:805,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/passwd.c:813,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:817,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:820,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:825,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:830,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:830,1
    - Dst: md5crypt
      Src: /src/openssl/apps/passwd.c:834,1
    - Dst: md5crypt
      Src: /src/openssl/apps/passwd.c:836,1
    - Dst: shacrypt
      Src: /src/openssl/apps/passwd.c:838,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:842,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:844,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:846,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: 786
        line_start: 786
        source_file: /src/openssl/apps/passwd.c
    - condition: (salt_malloc_p != NULL)
      pos:
        line_end: 787
        line_start: 787
        source_file: /src/openssl/apps/passwd.c
    - condition: (saltlen != 0)
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/openssl/apps/passwd.c
    - condition: (*salt_p != NULL)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/openssl/apps/passwd.c
    - condition: (strlen(passwd) <= pw_maxlen)
      pos:
        line_end: 829
        line_start: 829
        source_file: /src/openssl/apps/passwd.c
    - condition: (hash != NULL)
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/openssl/apps/passwd.c
    constantsTouched: []
    func_position:
      end: 851
      start: 781
    functionDepth: 9
    functionLinenumber: 781
    functionLinenumberEnd: 851
    functionName: do_passwd
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - md5crypt
    - ascii2ebcdic
    - RAND_bytes
    - app_malloc
    - assert
    - strlen
    - shacrypt
    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:64,1
    - Dst: opt_next
      Src: /src/openssl/apps/sess_id.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:70,1
    - Dst: opt_help
      Src: /src/openssl/apps/sess_id.c:73,1
    - Dst: opt_format
      Src: /src/openssl/apps/sess_id.c:77,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:77,1
    - Dst: opt_format
      Src: /src/openssl/apps/sess_id.c:81,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:81,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:86,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:89,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:101,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/sess_id.c:107,1
    - Dst: load_sess_id
      Src: /src/openssl/apps/sess_id.c:110,1
    - Dst: SSL_SESSION_get0_peer
      Src: /src/openssl/apps/sess_id.c:114,1
    - Dst: strlen
      Src: /src/openssl/apps/sess_id.c:117,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:119,1
    - Dst: SSL_SESSION_set1_id_context
      Src: /src/openssl/apps/sess_id.c:122,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:124,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/sess_id.c:130,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/sess_id.c:136,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:140,1
    - Dst: X509_print
      Src: /src/openssl/apps/sess_id.c:142,1
    - Dst: i2d_SSL_SESSION_bio
      Src: /src/openssl/apps/sess_id.c:148,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/apps/sess_id.c:150,1
    - Dst: SSL_SESSION_print_keylog
      Src: /src/openssl/apps/sess_id.c:152,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:154,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:158,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/sess_id.c:163,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/sess_id.c:165,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:167,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:171,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/sess_id.c:177,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/sess_id.c:178,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 180
    functionName: sess_id_main
    functionSourceFile: /src/openssl/apps/sess_id.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - load_sess_id
    - SSL_SESSION_set1_id_context
    - i2d_X509_bio
    - opt_check_rest_arg
    - SSL_SESSION_print_keylog
    - PEM_write_bio_SSL_SESSION
    - i2d_SSL_SESSION_bio
    - opt_init
    - bio_open_default
    - SSL_SESSION_free
    - opt_help
    - BIO_printf
    - X509_print
    - opt_format
    - SSL_SESSION_print
    - PEM_write_bio_X509
    - BIO_free_all
    - opt_arg
    - opt_next
    - strlen
    - SSL_SESSION_get0_peer
    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:187,1
    - Dst: d2i_SSL_SESSION_bio
      Src: /src/openssl/apps/sess_id.c:191,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/sess_id.c:193,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:195,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/sess_id.c:196,1
    - Dst: BIO_free
      Src: /src/openssl/apps/sess_id.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - infile
    - format
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: load_sess_id
    functionSourceFile: /src/openssl/apps/sess_id.c
    functionUses: 1
    functionsReached:
    - d2i_SSL_SESSION_bio
    - BIO_puts
    - BIO_free
    - bio_open_default
    - ERR_print_errors
    - PEM_read_bio_SSL_SESSION
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *load_sess_id(char *infile, int format)
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkey.c:92,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/pkey.c:98,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkey.c:99,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkey.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:105,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkey.c:108,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkey.c:112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:112,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkey.c:116,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:116,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/pkey.c:121,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/pkey.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:126,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:132,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:135,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/pkey.c:162,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:168,1
    - Dst: opt_string
      Src: /src/openssl/apps/pkey.c:169,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:177,1
    - Dst: opt_string
      Src: /src/openssl/apps/pkey.c:178,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkey.c:183,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkey.c:190,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:194,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:197,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/pkey.c:208,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:212,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/pkey.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:226,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkey.c:232,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:233,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/pkey.c:238,1
    - Dst: load_key
      Src: /src/openssl/apps/pkey.c:240,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkey.c:244,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/pkey.c:252,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/pkey.c:256,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/pkey.c:259,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/pkey.c:262,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/apps/pkey.c:263,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/pkey.c:271,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkey.c:273,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/apps/pkey.c:278,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/apps/pkey.c:280,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:283,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:289,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkey.c:290,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/pkey.c:298,1
    - Dst: assert
      Src: /src/openssl/apps/pkey.c:301,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/apps/pkey.c:303,1
    - Dst: encode_private_key
      Src: /src/openssl/apps/pkey.c:308,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:314,1
    - Dst: i2d_PUBKEY_bio
      Src: /src/openssl/apps/pkey.c:319,1
    - Dst: assert
      Src: /src/openssl/apps/pkey.c:322,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/pkey.c:324,1
    - Dst: encode_private_key
      Src: /src/openssl/apps/pkey.c:327,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkey.c:332,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/pkey.c:338,1
    - Dst: assert
      Src: /src/openssl/apps/pkey.c:341,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/pkey.c:342,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkey.c:350,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkey.c:351,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkey.c:352,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkey.c:353,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/pkey.c:354,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkey.c:355,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkey.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkey.c:357,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 250
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/openssl/apps/pkey.c
    - condition: (private)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/openssl/apps/pkey.c
    - condition: (private)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/openssl/apps/pkey.c
    constantsTouched: []
    func_position:
      end: 360
      start: 80
    functionDepth: 9
    functionLinenumber: 80
    functionLinenumberEnd: 360
    functionName: pkey_main
    functionSourceFile: /src/openssl/apps/pkey.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_PKEY_check
    - opt_set_unknown_name
    - opt_cipher
    - load_key
    - EVP_PKEY_public_check
    - i2d_PrivateKey_bio
    - OPENSSL_free
    - load_pubkey
    - app_passwd
    - OSSL_PARAM_construct_end
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - opt_check_rest_arg
    - OSSL_PARAM_construct_utf8_string
    - sk_OPENSSL_STRING_push
    - PEM_write_bio_PrivateKey_traditional
    - EVP_PKEY_print_private
    - opt_init
    - EVP_PKEY_print_public
    - sk_OPENSSL_STRING_free
    - EVP_CIPHER_free
    - EVP_PKEY_CTX_new
    - bio_open_owner
    - ERR_print_errors
    - opt_help
    - EVP_PKEY_is_a
    - PEM_write_bio_PUBKEY
    - assert
    - encode_private_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - opt_unknown
    - BIO_printf
    - opt_string
    - opt_format
    - BIO_free_all
    - opt_arg
    - opt_next
    - i2d_PUBKEY_bio
    - EVP_PKEY_set_params
    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: 91
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 91
    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:101,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/genpkey.c:105,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/apps/genpkey.c:107,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:111,1
    - Dst: param_datatype_2name
      Src: /src/openssl/apps/genpkey.c:113,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:116,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - algname
    - libctx
    - propq
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: show_gen_pkeyopt
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - BIO_puts
    - BIO_printf
    - EVP_PKEY_CTX_settable_params
    - param_datatype_2name
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void show_gen_pkeyopt(const char *algname, OSSL_LIB_CTX *libctx, const
      char *propq)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/genpkey.c:135,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/genpkey.c:136,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/genpkey.c:137,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/genpkey.c:139,1
    - Dst: opt_init
      Src: /src/openssl/apps/genpkey.c:140,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/genpkey.c:141,1
    - Dst: opt_next
      Src: /src/openssl/apps/genpkey.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:149,1
    - Dst: opt_help
      Src: /src/openssl/apps/genpkey.c:153,1
    - Dst: show_gen_pkeyopt
      Src: /src/openssl/apps/genpkey.c:154,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genpkey.c:154,1
    - Dst: opt_format
      Src: /src/openssl/apps/genpkey.c:157,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:157,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/genpkey.c:162,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/genpkey.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:167,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:170,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:173,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:178,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:181,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/genpkey.c:184,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:184,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/genpkey.c:200,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/genpkey.c:203,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:203,1
    - Dst: opt_provider
      Src: /src/openssl/apps/genpkey.c:208,1
    - Dst: opt_rand
      Src: /src/openssl/apps/genpkey.c:212,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/genpkey.c:219,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/genpkey.c:222,1
    - Dst: init_keygen_file
      Src: /src/openssl/apps/genpkey.c:227,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genpkey.c:227,1
    - Dst: init_gen_str
      Src: /src/openssl/apps/genpkey.c:231,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genpkey.c:231,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/genpkey.c:237,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/genpkey.c:238,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/genpkey.c:239,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:240,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:241,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/genpkey.c:245,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:248,1
    - Dst: app_passwd
      Src: /src/openssl/apps/genpkey.c:254,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:255,1
    - Dst: BIO_new
      Src: /src/openssl/apps/genpkey.c:259,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/genpkey.c:259,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/apps/genpkey.c:262,1
    - Dst: BIO_new
      Src: /src/openssl/apps/genpkey.c:265,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/genpkey.c:265,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/apps/genpkey.c:268,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/genpkey.c:272,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/genpkey.c:273,1
    - Dst: app_paramgen
      Src: /src/openssl/apps/genpkey.c:275,1
    - Dst: app_keygen
      Src: /src/openssl/apps/genpkey.c:276,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/genpkey.c:281,1
    - Dst: assert
      Src: /src/openssl/apps/genpkey.c:283,1
    - Dst: encode_private_key
      Src: /src/openssl/apps/genpkey.c:284,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/genpkey.c:286,1
    - Dst: assert
      Src: /src/openssl/apps/genpkey.c:288,1
    - Dst: encode_private_key
      Src: /src/openssl/apps/genpkey.c:289,1
    - Dst: i2d_PUBKEY_bio
      Src: /src/openssl/apps/genpkey.c:291,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:293,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:300,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/genpkey.c:306,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/genpkey.c:308,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:311,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/genpkey.c:317,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:319,1
    - Dst: mem_bio_to_file
      Src: /src/openssl/apps/genpkey.c:322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:324,1
    - Dst: strerror
      Src: /src/openssl/apps/genpkey.c:325,1
    - Dst: mem_bio_to_file
      Src: /src/openssl/apps/genpkey.c:328,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:330,1
    - Dst: strerror
      Src: /src/openssl/apps/genpkey.c:331,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/genpkey.c:334,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genpkey.c:335,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:336,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/genpkey.c:337,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/genpkey.c:338,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/genpkey.c:339,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/genpkey.c:340,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/genpkey.c:341,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 212
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/openssl/apps/genpkey.c
    - condition: (private)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/openssl/apps/genpkey.c
    constantsTouched: []
    func_position:
      end: 343
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 343
    functionName: genpkey_main
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - strerror
    - opt_set_unknown_name
    - opt_cipher
    - opt_rand
    - PEM_write_bio_Parameters
    - EVP_PKEY_print_params
    - NCONF_free
    - sk_OPENSSL_STRING_num
    - mem_bio_to_file
    - app_RAND_load
    - BIO_new
    - OPENSSL_free
    - pkey_ctrl_string
    - show_gen_pkeyopt
    - app_passwd
    - app_get0_propq
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - opt_check_rest_arg
    - BIO_s_mem
    - init_keygen_file
    - sk_OPENSSL_STRING_push
    - EVP_PKEY_print_private
    - opt_init
    - app_get0_libctx
    - EVP_PKEY_CTX_set_cb
    - sk_OPENSSL_STRING_free
    - assert
    - encode_private_key
    - ERR_print_errors
    - app_paramgen
    - opt_help
    - PEM_write_bio_PUBKEY
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_free
    - BIO_set_mem_eof_return
    - init_gen_str
    - opt_unknown
    - app_keygen
    - BIO_printf
    - opt_format
    - BIO_free_all
    - sk_OPENSSL_STRING_value
    - opt_arg
    - app_load_config_modules
    - opt_next
    - EVP_PKEY_CTX_set_app_data
    - i2d_PUBKEY_bio
    linkageType: ''
    returnType: int
    signature: int genpkey_main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:352,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/genpkey.c:356,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:358,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/apps/genpkey.c:362,1
    - Dst: BIO_free
      Src: /src/openssl/apps/genpkey.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:366,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/genpkey.c:370,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/genpkey.c:373,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genpkey.c:375,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:380,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:381,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:382,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genpkey.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - pctx
    - file
    - libctx
    - propq
    argTypes:
    - EVP_PKEY_CTX**
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 385
    functionName: init_keygen_file
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - EVP_PKEY_keygen_init
    - BIO_free
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_free
    - ERR_print_errors
    - BIO_new_file
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: "int init_keygen_file(EVP_PKEY_CTX **pctx, const char *file,\n    OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:394,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/genpkey.c:398,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/genpkey.c:403,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/genpkey.c:406,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:414,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:415,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - pctx
    - algname
    - do_param
    - libctx
    - propq
    argTypes:
    - EVP_PKEY_CTX**
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 418
    functionName: init_gen_str
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_new_from_name
    - ERR_print_errors
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: "int init_gen_str(EVP_PKEY_CTX **pctx,\n    const char *algname, 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:324,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cms.c:324,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:324,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:326,1
    - Dst: SMIME_read_CMS_ex
      Src: /src/openssl/apps/cms.c:331,1
    - Dst: PEM_read_bio_CMS
      Src: /src/openssl/apps/cms.c:334,1
    - Dst: d2i_CMS_bio
      Src: /src/openssl/apps/cms.c:337,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:340,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:344,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:349,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: 351
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 351
    functionName: load_content_info
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - PEM_read_bio_CMS
    - CMS_ContentInfo_new_ex
    - app_get0_libctx
    - app_get0_propq
    - CMS_ContentInfo_free
    - SMIME_read_CMS_ex
    - d2i_CMS_bio
    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:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - recipidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 364
    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: 305
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:376,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:377,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:378,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/cms.c:378,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/cms.c:381,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cms.c:408,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/cms.c:413,1
    - Dst: opt_init
      Src: /src/openssl/apps/cms.c:414,1
    - Dst: opt_next
      Src: /src/openssl/apps/cms.c:415,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:420,1
    - Dst: opt_help
      Src: /src/openssl/apps/cms.c:423,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:427,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:427,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:431,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:431,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:435,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:458,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:467,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:565,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:565,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:570,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:573,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:576,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:579,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:591,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:594,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:598,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:600,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:600,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:605,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:607,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:607,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/cms.c:614,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:614,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:619,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:620,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:623,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:623,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:625,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:625,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:632,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:633,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:636,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:638,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:638,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:644,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:648,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:649,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cms.c:652,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:652,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:654,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:654,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:659,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:662,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:665,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:668,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:671,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:674,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:680,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:682,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:687,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:689,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:693,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:696,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:702,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:706,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:708,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:712,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:714,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:717,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:720,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:720,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:725,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:725,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/cms.c:729,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:733,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:740,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:741,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:744,1
    - Dst: alloc_recip_opt
      Src: /src/openssl/apps/cms.c:750,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:759,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:762,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:765,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:768,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:771,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/cms.c:777,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:780,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:785,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:786,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/cms.c:791,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:794,1
    - Dst: app_malloc
      Src: /src/openssl/apps/cms.c:799,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:800,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:801,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:812,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:812,1
    - Dst: opt_verify
      Src: /src/openssl/apps/cms.c:816,1
    - Dst: opt_rand
      Src: /src/openssl/apps/cms.c:821,1
    - Dst: opt_provider
      Src: /src/openssl/apps/cms.c:825,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/cms.c:829,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:829,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:834,1
    - Dst: opt_flag
      Src: /src/openssl/apps/cms.c:840,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/cms.c:844,1
    - Dst: opt_md
      Src: /src/openssl/apps/cms.c:848,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/cms.c:851,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/cms.c:853,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/cms.c:856,1
    - Dst: opt_rest
      Src: /src/openssl/apps/cms.c:861,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:864,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:869,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:873,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:879,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:885,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:893,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:899,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:901,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:903,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:907,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:911,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:919,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:925,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:926,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:930,1
    - Dst: app_passwd
      Src: /src/openssl/apps/cms.c:934,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:935,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:943,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:949,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:952,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:955,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/cms.c:971,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:973,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:978,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/cms.c:982,1
    - Dst: load_certs
      Src: /src/openssl/apps/cms.c:989,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:993,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:999,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:1005,1
    - Dst: load_key
      Src: /src/openssl/apps/cms.c:1021,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1028,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1035,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:1039,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1041,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/cms.c:1046,1
    - Dst: load_content_info
      Src: /src/openssl/apps/cms.c:1053,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1057,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cms.c:1058,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1059,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1064,1
    - Dst: CMS_get1_certs
      Src: /src/openssl/apps/cms.c:1065,1
    - Dst: save_certs
      Src: /src/openssl/apps/cms.c:1066,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1067,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cms.c:1072,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cms.c:1079,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1080,1
    - Dst: load_content_info
      Src: /src/openssl/apps/cms.c:1084,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/cms.c:1089,1
    - Dst: setup_verify
      Src: /src/openssl/apps/cms.c:1095,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/cms.c:1099,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/cms.c:1101,1
    - Dst: CMS_data_create_ex
      Src: /src/openssl/apps/cms.c:1107,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1107,1
    - Dst: CMS_digest_create_ex
      Src: /src/openssl/apps/cms.c:1109,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1109,1
    - Dst: CMS_compress
      Src: /src/openssl/apps/cms.c:1111,1
    - Dst: CMS_encrypt_ex
      Src: /src/openssl/apps/cms.c:1115,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1115,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:1118,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cms.c:1126,1
    - Dst: CMS_add1_recipient
      Src: /src/openssl/apps/cms.c:1137,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/apps/cms.c:1141,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/apps/cms.c:1143,1
    - Dst: cms_set_pkey_param
      Src: /src/openssl/apps/cms.c:1145,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/apps/cms.c:1149,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/apps/cms.c:1151,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/apps/cms.c:1159,1
    - Dst: CMS_RecipientInfo_kemri_get0_ctx
      Src: /src/openssl/apps/cms.c:1161,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/apps/cms.c:1163,1
    - Dst: CMS_RecipientInfo_kemri_set_ukm
      Src: /src/openssl/apps/cms.c:1170,1
    - Dst: CMS_RecipientInfo_kemri_get0_kdf_alg
      Src: /src/openssl/apps/cms.c:1178,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cms.c:1179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1181,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/apps/cms.c:1185,1
    - Dst: CMS_add0_recipient_key
      Src: /src/openssl/apps/cms.c:1192,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/cms.c:1202,1
    - Dst: CMS_add0_recipient_password
      Src: /src/openssl/apps/cms.c:1205,1
    - Dst: CMS_final
      Src: /src/openssl/apps/cms.c:1212,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/cms.c:1214,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/cms.c:1214,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1216,1
    - Dst: CMS_EncryptedData_encrypt_ex
      Src: /src/openssl/apps/cms.c:1223,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1224,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1228,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/apps/cms.c:1230,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/apps/cms.c:1233,1
    - Dst: CMS_sign_receipt
      Src: /src/openssl/apps/cms.c:1234,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:1237,1
    - Dst: CMS_sign_ex
      Src: /src/openssl/apps/cms.c:1252,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1252,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1254,1
    - Dst: CMS_set1_eContentType
      Src: /src/openssl/apps/cms.c:1258,1
    - Dst: make_receipt_request
      Src: /src/openssl/apps/cms.c:1261,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1263,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/cms.c:1269,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/cms.c:1273,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/cms.c:1274,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:1276,1
    - Dst: load_key
      Src: /src/openssl/apps/cms.c:1281,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/apps/cms.c:1293,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1295,1
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/openssl/apps/cms.c:1300,1
    - Dst: cms_set_pkey_param
      Src: /src/openssl/apps/cms.c:1302,1
    - Dst: CMS_add1_ReceiptRequest
      Src: /src/openssl/apps/cms.c:1305,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1306,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1309,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cms.c:1311,1
    - Dst: CMS_final_digest
      Src: /src/openssl/apps/cms.c:1319,1
    - Dst: CMS_final
      Src: /src/openssl/apps/cms.c:1321,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1323,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1330,1
    - Dst: CMS_decrypt
      Src: /src/openssl/apps/cms.c:1337,1
    - Dst: CMS_decrypt_set1_key
      Src: /src/openssl/apps/cms.c:1340,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1343,1
    - Dst: CMS_decrypt_set1_pkey_and_peer
      Src: /src/openssl/apps/cms.c:1349,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1350,1
    - Dst: CMS_decrypt_set1_password
      Src: /src/openssl/apps/cms.c:1356,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1357,1
    - Dst: CMS_decrypt
      Src: /src/openssl/apps/cms.c:1362,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1363,1
    - Dst: CMS_data
      Src: /src/openssl/apps/cms.c:1367,1
    - Dst: CMS_uncompress
      Src: /src/openssl/apps/cms.c:1370,1
    - Dst: CMS_digest_verify
      Src: /src/openssl/apps/cms.c:1373,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1374,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1376,1
    - Dst: CMS_EncryptedData_decrypt
      Src: /src/openssl/apps/cms.c:1380,1
    - Dst: CMS_verify
      Src: /src/openssl/apps/cms.c:1384,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1385,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1388,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1395,1
    - Dst: CMS_get0_signers
      Src: /src/openssl/apps/cms.c:1395,1
    - Dst: save_certs
      Src: /src/openssl/apps/cms.c:1397,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1398,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/cms.c:1403,1
    - Dst: receipt_request_print
      Src: /src/openssl/apps/cms.c:1406,1
    - Dst: CMS_verify_receipt
      Src: /src/openssl/apps/cms.c:1409,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1410,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1412,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/cms.c:1420,1
    - Dst: ASN1_PCTX_new
      Src: /src/openssl/apps/cms.c:1421,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/openssl/apps/cms.c:1423,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/openssl/apps/cms.c:1424,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/cms.c:1424,1
    - Dst: ASN1_PCTX_set_nm_flags
      Src: /src/openssl/apps/cms.c:1425,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/cms.c:1425,1
    - Dst: CMS_ContentInfo_print_ctx
      Src: /src/openssl/apps/cms.c:1428,1
    - Dst: ASN1_PCTX_free
      Src: /src/openssl/apps/cms.c:1429,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1433,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1435,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1437,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/apps/cms.c:1440,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/apps/cms.c:1442,1
    - Dst: PEM_write_bio_CMS_stream
      Src: /src/openssl/apps/cms.c:1444,1
    - Dst: i2d_CMS_bio_stream
      Src: /src/openssl/apps/cms.c:1446,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1448,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1452,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/cms.c:1460,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cms.c:1461,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cms.c:1462,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/cms.c:1463,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1464,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1466,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1468,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/cms.c:1469,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/apps/cms.c:1470,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1471,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1472,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1475,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1483,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1485,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cms.c:1488,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1489,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1490,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1491,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1492,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cms.c:1493,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cms.c:1494,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cms.c:1495,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cms.c:1496,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/cms.c:1497,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:1498,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:1499,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1500,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1501,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1502,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cms.c:1503,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1504,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1505,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/cms.c:1506,1
    CyclomaticComplexity: 483
    EdgeCount: 483
    ICount: 1078
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 366
    functionDepth: 18
    functionLinenumber: 366
    functionLinenumberEnd: 1508
    functionName: cms_main
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - CMS_add0_recipient_password
    - opt_md
    - app_malloc
    - load_key
    - ASN1_PCTX_new
    - X509_VERIFY_PARAM_new
    - make_receipt_request
    - EVP_aes_256_cbc
    - ASN1_PCTX_free
    - CMS_EncryptedData_encrypt_ex
    - app_passwd
    - CMS_RecipientInfo_kemri_get0_kdf_alg
    - ASN1_PCTX_set_str_flags
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - X509_STORE_free
    - opt_verify
    - CMS_sign_ex
    - load_content_info
    - CMS_RecipientInfo_kemri_set_ukm
    - app_get0_libctx
    - CMS_encrypt_ex
    - sk_OPENSSL_STRING_free
    - OBJ_txt2obj
    - EVP_MD_free
    - EVP_EncryptInit_ex
    - CMS_verify_receipt
    - EVP_PKEY_CTX_ctrl
    - opt_unknown
    - CMS_RecipientInfo_kari_get0_ctx
    - opt_format
    - OSSL_STACK_OF_X509_free
    - opt_arg
    - sk_X509_free
    - CMS_sign_receipt
    - sk_X509_value
    - CMS_add1_signer
    - BIO_puts
    - X509_STORE_set_verify_cb
    - ERR_GET_REASON
    - opt_set_unknown_name
    - sk_X509_push
    - sk_X509_num
    - CMS_compress
    - X509_VERIFY_PARAM_free
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - opt_provider
    - CMS_final_digest
    - ASN1_OBJECT_free
    - sk_OPENSSL_STRING_push
    - ASN1_PCTX_set_flags
    - CMS_decrypt_set1_pkey_and_peer
    - EVP_CIPHER_free
    - ERR_print_errors
    - CMS_add0_recipient_key
    - CMS_decrypt_set1_password
    - CMS_add1_ReceiptRequest
    - OPENSSL_strdup
    - CMS_final
    - set_nameopt
    - CMS_get1_certs
    - BIO_free_all
    - X509_STORE_set1_param
    - ERR_peek_error
    - opt_rest
    - CMS_get0_SignerInfos
    - opt_cipher_any
    - SMIME_write_CMS
    - X509_free
    - EVP_CIPHER_get_nid
    - CMS_SignerInfo_get0_pkey_ctx
    - PEM_write_bio_CMS_stream
    - opt_flag
    - sk_CMS_SignerInfo_value
    - sk_X509_new_null
    - CMS_RecipientInfo_kemri_get0_ctx
    - bio_open_default
    - CMS_add1_recipient
    - EVP_PKEY_free
    - opt_help
    - get_nameopt
    - save_certs
    - CMS_ContentInfo_print_ctx
    - ASN1_PCTX_set_nm_flags
    - BIO_printf
    - load_certs
    - CMS_decrypt
    - setup_verify
    - CMS_digest_verify
    - CMS_RecipientInfo_type
    - CMS_set1_eContentType
    - CMS_data_create_ex
    - i2d_CMS_bio_stream
    - CMS_ReceiptRequest_free
    - OPENSSL_hexstr2buf
    - CMS_verify
    - opt_rand
    - alloc_recip_opt
    - CMS_uncompress
    - NCONF_free
    - BIO_new_file
    - CMS_get0_signers
    - CMS_decrypt_set1_key
    - OPENSSL_free
    - CMS_EncryptedData_decrypt
    - app_get0_propq
    - CMS_RecipientInfo_get0_pkey_ctx
    - CMS_ContentInfo_free
    - opt_init
    - BIO_free
    - X509_ALGOR_set0
    - cms_set_pkey_param
    - load_cert
    - sk_OPENSSL_STRING_value
    - app_load_config_modules
    - CMS_digest_create_ex
    - opt_next
    - CMS_data
    - receipt_request_print
    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:1516,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:1519,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/cms.c:1520,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cms.c:1520,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - signerfile
    - signers
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1510
    functionDepth: 3
    functionLinenumber: 1510
    functionLinenumberEnd: 1523
    functionName: save_certs
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 1
    functionsReached:
    - BIO_free
    - PEM_write_bio_X509
    - sk_X509_num
    - sk_X509_value
    - BIO_new_file
    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:1531,1
    - Dst: policies_print
      Src: /src/openssl/apps/cms.c:1539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1542
    functionName: cms_cb
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - policies_print
    - X509_STORE_CTX_get_error
    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:1564,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1568,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/apps/cms.c:1571,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/apps/cms.c:1572,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/apps/cms.c:1573,1
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/openssl/apps/cms.c:1574,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1575,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1577,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1579,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/cms.c:1580,1
    - Dst: CMS_ReceiptRequest_get0_values
      Src: /src/openssl/apps/cms.c:1584,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1586,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/cms.c:1587,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/cms.c:1588,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/apps/cms.c:1589,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1590,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1592,1
    - Dst: gnames_stack_print
      Src: /src/openssl/apps/cms.c:1593,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1595,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1597,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1599,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1601,1
    - Dst: gnames_stack_print
      Src: /src/openssl/apps/cms.c:1602,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/apps/cms.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1562
    functionDepth: 5
    functionLinenumber: 1562
    functionLinenumberEnd: 1606
    functionName: receipt_request_print
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - CMS_ReceiptRequest_get0_values
    - sk_CMS_SignerInfo_num
    - CMS_get1_ReceiptRequest
    - BIO_dump_indent
    - ASN1_STRING_length
    - sk_CMS_SignerInfo_value
    - STACK_OF
    - ERR_print_errors
    - ASN1_STRING_get0_data
    - CMS_get0_SignerInfos
    - CMS_ReceiptRequest_free
    - gnames_stack_print
    linkageType: ''
    returnType: void
    signature: void receipt_request_print(CMS_ContentInfo *cms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1645,1
    - Dst: make_names_stack
      Src: /src/openssl/apps/cms.c:1648,1
    - Dst: make_names_stack
      Src: /src/openssl/apps/cms.c:1652,1
    - Dst: CMS_ReceiptRequest_create0_ex
      Src: /src/openssl/apps/cms.c:1658,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cms.c:1659,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/apps/cms.c:1664,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/apps/cms.c:1665,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: 1667
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1667
    functionName: make_receipt_request
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 1
    functionsReached:
    - app_get0_libctx
    - make_names_stack
    - CMS_ReceiptRequest_create0_ex
    - STACK_OF
    - 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: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    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: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    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: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    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:128,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rehash.c:134,1
    - Dst: memcmp
      Src: /src/openssl/apps/rehash.c:143,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:144,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:146,1
    - Dst: strcmp
      Src: /src/openssl/apps/rehash.c:150,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:159,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:161,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rehash.c:164,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/rehash.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:169,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:171,1
    - Dst: memcpy
      Src: /src/openssl/apps/rehash.c:186,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: 189
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 189
    functionName: add_entry
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 6
    functionsReached:
    - OPENSSL_strdup
    - BIO_printf
    - BIO_puts
    - OPENSSL_free
    - app_malloc
    - opt_getprog
    - strcmp
    - OSSL_NELEM
    - memcpy
    - memcmp
    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:205,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/rehash.c:208,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:212,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/apps/rehash.c:213,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:214,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: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 230
    functionName: handle_symlink
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strncasecmp
    - isxdigit
    - strtoul
    - OSSL_NELEM
    - add_entry
    - strlen
    - OPENSSL_hexchar2int
    - readlink
    linkageType: ''
    returnType: int
    signature: int handle_symlink(const char *filename, const char *fullpath)
  - BBCount: 16
    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:269,1
    - Dst: sk_X509_INFO_value
      Src: /src/openssl/apps/rehash.c:270,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:281,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:284,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/rehash.c:290,1
    - Dst: X509_digest
      Src: /src/openssl/apps/rehash.c:291,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:292,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/rehash.c:298,1
    - Dst: X509_CRL_digest
      Src: /src/openssl/apps/rehash.c:299,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:300,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/apps/rehash.c:308,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/rehash.c:309,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/rehash.c:309,1
    - Dst: add_entry
      Src: /src/openssl/apps/rehash.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:314,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:315,1
    - Dst: add_entry
      Src: /src/openssl/apps/rehash.c:320,1
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/apps/rehash.c:320,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/openssl/apps/rehash.c:325,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - filename
    - fullpath
    - h
    argTypes:
    - char*
    - char*
    - enum Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 235
    functionDepth: 11
    functionLinenumber: 235
    functionLinenumberEnd: 327
    functionName: do_file
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - X509_NAME_hash_old
    - X509_digest
    - strrchr
    - sk_X509_INFO_pop_free
    - BIO_new_file
    - X509_CRL_get_issuer
    - X509_CRL_digest
    - app_get0_propq
    - STACK_OF
    - X509_get_subject_name
    - PEM_X509_INFO_read_bio
    - BIO_free
    - app_get0_libctx
    - add_entry
    - OPENSSL_strcasecmp
    - BIO_printf
    - X509_NAME_hash_ex
    - sk_X509_INFO_value
    - OSSL_NELEM
    - sk_X509_INFO_num
    - opt_getprog
    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:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    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:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: ends_with_dirsep
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 1
    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:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    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:368,1
    - Dst: app_access
      Src: /src/openssl/apps/rehash.c:370,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:371,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:374,1
    - Dst: ends_with_dirsep
      Src: /src/openssl/apps/rehash.c:375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:381,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/openssl/apps/rehash.c:383,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:384,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/apps/rehash.c:388,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:389,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/rehash.c:391,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/rehash.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:393,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/apps/rehash.c:394,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:395,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/apps/rehash.c:402,1
    - Dst: sk_OPENSSL_STRING_sort
      Src: /src/openssl/apps/rehash.c:403,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rehash.c:406,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/rehash.c:408,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/rehash.c:410,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:411,1
    - Dst: lstat
      Src: /src/openssl/apps/rehash.c:415,1
    - Dst: S_ISLNK
      Src: /src/openssl/apps/rehash.c:417,1
    - Dst: handle_symlink
      Src: /src/openssl/apps/rehash.c:417,1
    - Dst: do_file
      Src: /src/openssl/apps/rehash.c:419,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:422,1
    - Dst: memset
      Src: /src/openssl/apps/rehash.c:426,1
    - Dst: bit_set
      Src: /src/openssl/apps/rehash.c:429,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:435,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:438,1
    - Dst: bit_isset
      Src: /src/openssl/apps/rehash.c:442,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:445,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:449,1
    - Dst: unlink
      Src: /src/openssl/apps/rehash.c:451,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:452,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:454,1
    - Dst: strerror
      Src: /src/openssl/apps/rehash.c:454,1
    - Dst: symlink
      Src: /src/openssl/apps/rehash.c:457,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:458,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:460,1
    - Dst: strerror
      Src: /src/openssl/apps/rehash.c:461,1
    - Dst: bit_set
      Src: /src/openssl/apps/rehash.c:464,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:467,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:471,1
    - Dst: unlink
      Src: /src/openssl/apps/rehash.c:473,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:474,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:476,1
    - Dst: strerror
      Src: /src/openssl/apps/rehash.c:476,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:480,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:483,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/apps/rehash.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:490,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 2
    argNames:
    - dirname
    - h
    argTypes:
    - char*
    - enum Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 356
    functionDepth: 12
    functionLinenumber: 356
    functionLinenumberEnd: 492
    functionName: do_dir
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - unlink
    - app_malloc
    - strerror
    - BIO_snprintf
    - lstat
    - sk_OPENSSL_STRING_new
    - bit_isset
    - ends_with_dirsep
    - sk_OPENSSL_STRING_num
    - bit_set
    - OPENSSL_free
    - STACK_OF
    - sk_OPENSSL_STRING_push
    - symlink
    - do_file
    - S_ISLNK
    - sk_OPENSSL_STRING_pop_free
    - memset
    - OPENSSL_DIR_read
    - OPENSSL_strdup
    - BIO_printf
    - handle_symlink
    - OPENSSL_DIR_end
    - app_access
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_sort
    - OSSL_NELEM
    - strlen
    - opt_getprog
    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:531,1
    - Dst: opt_next
      Src: /src/openssl/apps/rehash.c:532,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:536,1
    - Dst: opt_help
      Src: /src/openssl/apps/rehash.c:539,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rehash.c:554,1
    - Dst: opt_rest
      Src: /src/openssl/apps/rehash.c:561,1
    - Dst: EVP_sha1
      Src: /src/openssl/apps/rehash.c:563,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/apps/rehash.c:564,1
    - Dst: do_dir
      Src: /src/openssl/apps/rehash.c:571,1
    - Dst: getenv
      Src: /src/openssl/apps/rehash.c:572,1
    - Dst: X509_get_default_cert_dir_env
      Src: /src/openssl/apps/rehash.c:572,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/rehash.c:574,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:576,1
    - Dst: strtok
      Src: /src/openssl/apps/rehash.c:580,1
    - Dst: strtok
      Src: /src/openssl/apps/rehash.c:580,1
    - Dst: do_dir
      Src: /src/openssl/apps/rehash.c:581,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:582,1
    - Dst: do_dir
      Src: /src/openssl/apps/rehash.c:584,1
    - Dst: X509_get_default_cert_dir
      Src: /src/openssl/apps/rehash.c:584,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 523
    functionDepth: 13
    functionLinenumber: 523
    functionLinenumberEnd: 589
    functionName: rehash_main
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - BIO_printf
    - BIO_puts
    - X509_get_default_cert_dir_env
    - opt_init
    - OPENSSL_free
    - EVP_MD_get_size
    - opt_provider
    - EVP_sha1
    - getenv
    - strtok
    - opt_next
    - opt_help
    - X509_get_default_cert_dir
    - opt_rest
    - do_dir
    linkageType: ''
    returnType: int
    signature: int rehash_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: rehash_main
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    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:108,1
    - Dst: i2d_RSAPublicKey_bio
      Src: /src/openssl/apps/rsa.c:115,1
    - Dst: i2d_RSA_PUBKEY_bio
      Src: /src/openssl/apps/rsa.c:117,1
    - Dst: PEM_write_bio_RSAPublicKey
      Src: /src/openssl/apps/rsa.c:120,1
    - Dst: PEM_write_bio_RSA_PUBKEY
      Src: /src/openssl/apps/rsa.c:122,1
    - Dst: i2b_PublicKey_bio
      Src: /src/openssl/apps/rsa.c:125,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: 131
      start: 103
    functionDepth: 9
    functionLinenumber: 103
    functionLinenumberEnd: 131
    functionName: try_legacy_encoding
    functionSourceFile: /src/openssl/apps/rsa.c
    functionUses: 0
    functionsReached:
    - i2d_RSAPublicKey_bio
    - i2b_PublicKey_bio
    - EVP_PKEY_get0_RSA
    - PEM_write_bio_RSA_PUBKEY
    - 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: 65
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/rsa.c:152,1
    - Dst: opt_init
      Src: /src/openssl/apps/rsa.c:153,1
    - Dst: opt_next
      Src: /src/openssl/apps/rsa.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:159,1
    - Dst: opt_help
      Src: /src/openssl/apps/rsa.c:162,1
    - Dst: opt_format
      Src: /src/openssl/apps/rsa.c:166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:170,1
    - Dst: opt_format
      Src: /src/openssl/apps/rsa.c:173,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:173,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:177,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:180,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:183,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/rsa.c:215,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rsa.c:218,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/rsa.c:228,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/rsa.c:231,1
    - Dst: app_passwd
      Src: /src/openssl/apps/rsa.c:235,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:236,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:240,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/rsa.c:256,1
    - Dst: load_key
      Src: /src/openssl/apps/rsa.c:258,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:262,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/rsa.c:265,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/rsa.c:265,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:266,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/rsa.c:270,1
    - Dst: assert
      Src: /src/openssl/apps/rsa.c:275,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/rsa.c:276,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/rsa.c:277,1
    - Dst: perror
      Src: /src/openssl/apps/rsa.c:278,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:279,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/rsa.c:288,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:289,1
    - Dst: BN_print
      Src: /src/openssl/apps/rsa.c:290,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:291,1
    - Dst: BN_free
      Src: /src/openssl/apps/rsa.c:292,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/rsa.c:298,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:300,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:301,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/apps/rsa.c:304,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/rsa.c:305,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:308,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:310,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:311,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:313,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:322,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:333,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:338,1
    - Dst: assert
      Src: /src/openssl/apps/rsa.c:346,1
    - Dst: assert
      Src: /src/openssl/apps/rsa.c:359,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/rsa.c:368,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/apps/rsa.c:371,1
    - Dst: try_legacy_encoding
      Src: /src/openssl/apps/rsa.c:373,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:374,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/rsa.c:382,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/rsa.c:382,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/rsa.c:386,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/rsa.c:386,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/rsa.c:389,1
    - Dst: strlen
      Src: /src/openssl/apps/rsa.c:391,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/apps/rsa.c:398,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/apps/rsa.c:399,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:400,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/rsa.c:405,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsa.c:406,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:407,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/rsa.c:412,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/rsa.c:413,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/rsa.c:414,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/rsa.c:415,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsa.c:416,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsa.c:417,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 248
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/openssl/apps/rsa.c
    - condition: (pubin || private)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/openssl/apps/rsa.c
    - condition: (private)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/openssl/apps/rsa.c
    constantsTouched: []
    func_position:
      end: 419
      start: 133
    functionDepth: 11
    functionLinenumber: 133
    functionLinenumberEnd: 419
    functionName: rsa_main
    functionSourceFile: /src/openssl/apps/rsa.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_ENCODER_to_bio
    - EVP_PKEY_check
    - opt_set_unknown_name
    - opt_cipher
    - load_key
    - perror
    - EVP_PKEY_get_bn_param
    - OSSL_ENCODER_CTX_set_params
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - OSSL_ENCODER_CTX_get_num_encoders
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_CIPHER_get0_name
    - OPENSSL_free
    - load_pubkey
    - try_legacy_encoding
    - app_passwd
    - opt_provider
    - opt_check_rest_arg
    - OSSL_ENCODER_CTX_set_passphrase
    - EVP_PKEY_print_private
    - opt_init
    - EVP_PKEY_print_public
    - assert
    - EVP_PKEY_free
    - bio_open_owner
    - ERR_print_errors
    - EVP_PKEY_is_a
    - opt_help
    - EVP_PKEY_CTX_free
    - OSSL_ENCODER_CTX_set_cipher
    - get_ui_method
    - EVP_CIPHER_free
    - opt_unknown
    - OSSL_PARAM_construct_int
    - BIO_printf
    - OSSL_ENCODER_CTX_free
    - opt_format
    - BIO_free_all
    - opt_arg
    - BN_free
    - opt_next
    - strlen
    - BN_print
    - OSSL_ENCODER_CTX_new_for_pkey
    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: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: IS_FETCHABLE
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FETCHABLE(type, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: OPENSSL_HAS_DISABLED
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_HAS_DISABLED(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bio
    - ','
    - name
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: OPENSSL_PRINT_DISABLED
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_PRINT_DISABLED(bio, name, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/openssl/apps/list.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    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:98,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/list.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:101,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/list.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:107,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: 109
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: legacy_cipher_fn
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - BIO_printf
    - 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:116,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:116,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:116,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:117,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_CIPHER**
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: cipher_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_CIPHER_get0_provider
    - strcmp
    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:122,1
    - Dst: is_cipher_fetchable
      Src: /src/openssl/apps/list.c:124,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/apps/list.c:125,1
    - Dst: sk_EVP_CIPHER_push
      Src: /src/openssl/apps/list.c:126,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/list.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - stack
    argTypes:
    - EVP_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: collect_ciphers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_free
    - is_cipher_fetchable
    - STACK_OF
    - 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:132,1
    - Dst: sk_EVP_CIPHER_new
      Src: /src/openssl/apps/list.c:132,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:136,1
    - Dst: include_legacy
      Src: /src/openssl/apps/list.c:140,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:141,1
    - Dst: EVP_CIPHER_do_all_sorted
      Src: /src/openssl/apps/list.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:146,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/openssl/apps/list.c:147,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:147,1
    - Dst: sk_EVP_CIPHER_sort
      Src: /src/openssl/apps/list.c:148,1
    - Dst: sk_EVP_CIPHER_num
      Src: /src/openssl/apps/list.c:149,1
    - Dst: sk_EVP_CIPHER_value
      Src: /src/openssl/apps/list.c:150,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:151,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/apps/list.c:153,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:156,1
    - Dst: EVP_CIPHER_names_do_all
      Src: /src/openssl/apps/list.c:157,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:158,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:161,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:162,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:162,1
    - Dst: EVP_CIPHER_get0_description
      Src: /src/openssl/apps/list.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:168,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:169,1
    - Dst: EVP_CIPHER_gettable_params
      Src: /src/openssl/apps/list.c:170,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:171,1
    - Dst: EVP_CIPHER_gettable_ctx_params
      Src: /src/openssl/apps/list.c:172,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:173,1
    - Dst: EVP_CIPHER_settable_ctx_params
      Src: /src/openssl/apps/list.c:174,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:177,1
    - Dst: sk_EVP_CIPHER_pop_free
      Src: /src/openssl/apps/list.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 130
    functionDepth: 9
    functionLinenumber: 130
    functionLinenumberEnd: 180
    functionName: list_ciphers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_CIPHER_gettable_params
    - EVP_CIPHER_do_all_provided
    - EVP_CIPHER_get0_description
    - sk_EVP_CIPHER_new
    - STACK_OF
    - sk_EVP_CIPHER_num
    - sk_EVP_CIPHER_pop_free
    - app_get0_libctx
    - sk_EVP_CIPHER_value
    - sk_OPENSSL_CSTRING_free
    - print_param_types
    - print_names
    - sk_EVP_CIPHER_sort
    - BIO_printf
    - EVP_CIPHER_gettable_ctx_params
    - EVP_CIPHER_get0_provider
    - OSSL_PROVIDER_get0_name
    - include_legacy
    - EVP_CIPHER_names_do_all
    - EVP_CIPHER_do_all_sorted
    - EVP_CIPHER_is_a
    - sk_OPENSSL_CSTRING_new
    - EVP_CIPHER_settable_ctx_params
    linkageType: ''
    returnType: void
    signature: void list_ciphers(const char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:187,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/apps/list.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:193,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: 195
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 195
    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:201,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:201,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/apps/list.c:201,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:202,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/apps/list.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_MD**
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: md_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_MD_get0_provider
    - strcmp
    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:207,1
    - Dst: is_digest_fetchable
      Src: /src/openssl/apps/list.c:209,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/apps/list.c:210,1
    - Dst: sk_EVP_MD_push
      Src: /src/openssl/apps/list.c:211,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/list.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - digest
    - stack
    argTypes:
    - EVP_MD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: collect_digests
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - is_digest_fetchable
    - sk_EVP_MD_push
    - EVP_MD_free
    - STACK_OF
    - EVP_MD_up_ref
    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:217,1
    - Dst: sk_EVP_MD_new
      Src: /src/openssl/apps/list.c:217,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:221,1
    - Dst: include_legacy
      Src: /src/openssl/apps/list.c:225,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:226,1
    - Dst: EVP_MD_do_all_sorted
      Src: /src/openssl/apps/list.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:231,1
    - Dst: EVP_MD_do_all_provided
      Src: /src/openssl/apps/list.c:232,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:232,1
    - Dst: sk_EVP_MD_sort
      Src: /src/openssl/apps/list.c:233,1
    - Dst: sk_EVP_MD_num
      Src: /src/openssl/apps/list.c:234,1
    - Dst: sk_EVP_MD_value
      Src: /src/openssl/apps/list.c:235,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:236,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/apps/list.c:238,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:241,1
    - Dst: EVP_MD_names_do_all
      Src: /src/openssl/apps/list.c:242,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:243,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:244,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:246,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:247,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/apps/list.c:247,1
    - Dst: EVP_MD_get0_description
      Src: /src/openssl/apps/list.c:250,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:253,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:254,1
    - Dst: EVP_MD_gettable_params
      Src: /src/openssl/apps/list.c:255,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:256,1
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/apps/list.c:257,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:258,1
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/apps/list.c:259,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:262,1
    - Dst: sk_EVP_MD_pop_free
      Src: /src/openssl/apps/list.c:264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 215
    functionDepth: 10
    functionLinenumber: 215
    functionLinenumberEnd: 265
    functionName: list_digests
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_MD_get0_provider
    - EVP_MD_do_all_provided
    - EVP_MD_names_do_all
    - sk_EVP_MD_new
    - STACK_OF
    - EVP_MD_gettable_ctx_params
    - EVP_MD_settable_ctx_params
    - EVP_MD_gettable_params
    - app_get0_libctx
    - EVP_MD_is_a
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_MD_pop_free
    - EVP_MD_get0_description
    - print_param_types
    - print_names
    - sk_EVP_MD_num
    - EVP_MD_do_all_sorted
    - sk_EVP_MD_sort
    - BIO_printf
    - OSSL_PROVIDER_get0_name
    - include_legacy
    - sk_EVP_MD_value
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_digests(const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:270,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:270,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/apps/list.c:270,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:271,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/apps/list.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_MAC**
    - EVP_MAC**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: mac_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_MAC_get0_provider
    - strcmp
    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:276,1
    - Dst: is_mac_fetchable
      Src: /src/openssl/apps/list.c:278,1
    - Dst: sk_EVP_MAC_push
      Src: /src/openssl/apps/list.c:279,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/apps/list.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - stack
    argTypes:
    - EVP_MAC*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: collect_macs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_EVP_MAC_push
    - EVP_MAC_up_ref
    - is_mac_fetchable
    - STACK_OF
    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:285,1
    - Dst: sk_EVP_MAC_new
      Src: /src/openssl/apps/list.c:285,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:289,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:292,1
    - Dst: EVP_MAC_do_all_provided
      Src: /src/openssl/apps/list.c:293,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:293,1
    - Dst: sk_EVP_MAC_sort
      Src: /src/openssl/apps/list.c:294,1
    - Dst: sk_EVP_MAC_num
      Src: /src/openssl/apps/list.c:295,1
    - Dst: sk_EVP_MAC_value
      Src: /src/openssl/apps/list.c:296,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:297,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/apps/list.c:299,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:302,1
    - Dst: EVP_MAC_names_do_all
      Src: /src/openssl/apps/list.c:303,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:304,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:305,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:307,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:308,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/apps/list.c:308,1
    - Dst: EVP_MAC_get0_description
      Src: /src/openssl/apps/list.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:314,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:315,1
    - Dst: EVP_MAC_gettable_params
      Src: /src/openssl/apps/list.c:316,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:317,1
    - Dst: EVP_MAC_gettable_ctx_params
      Src: /src/openssl/apps/list.c:318,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:319,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/apps/list.c:320,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:323,1
    - Dst: sk_EVP_MAC_pop_free
      Src: /src/openssl/apps/list.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 283
    functionDepth: 10
    functionLinenumber: 283
    functionLinenumberEnd: 326
    functionName: list_macs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - sk_EVP_MAC_pop_free
    - EVP_MAC_get0_description
    - EVP_MAC_gettable_params
    - EVP_MAC_gettable_ctx_params
    - STACK_OF
    - EVP_MAC_get0_provider
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_MAC_value
    - print_names
    - print_param_types
    - sk_EVP_MAC_new
    - EVP_MAC_names_do_all
    - BIO_printf
    - sk_EVP_MAC_num
    - sk_EVP_MAC_sort
    - EVP_MAC_is_a
    - EVP_MAC_do_all_provided
    - OSSL_PROVIDER_get0_name
    - EVP_MAC_settable_ctx_params
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_macs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:334,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:334,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/apps/list.c:334,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:335,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/apps/list.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KDF**
    - EVP_KDF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: kdf_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_KDF_get0_provider
    - strcmp
    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:340,1
    - Dst: is_kdf_fetchable
      Src: /src/openssl/apps/list.c:342,1
    - Dst: EVP_KDF_up_ref
      Src: /src/openssl/apps/list.c:343,1
    - Dst: sk_EVP_KDF_push
      Src: /src/openssl/apps/list.c:344,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/apps/list.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - stack
    argTypes:
    - EVP_KDF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: collect_kdfs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_up_ref
    - EVP_KDF_free
    - is_kdf_fetchable
    - sk_EVP_KDF_push
    - STACK_OF
    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:350,1
    - Dst: sk_EVP_KDF_new
      Src: /src/openssl/apps/list.c:350,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:354,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:357,1
    - Dst: EVP_KDF_do_all_provided
      Src: /src/openssl/apps/list.c:358,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:358,1
    - Dst: sk_EVP_KDF_sort
      Src: /src/openssl/apps/list.c:359,1
    - Dst: sk_EVP_KDF_num
      Src: /src/openssl/apps/list.c:360,1
    - Dst: sk_EVP_KDF_value
      Src: /src/openssl/apps/list.c:361,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:362,1
    - Dst: EVP_KDF_is_a
      Src: /src/openssl/apps/list.c:364,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:367,1
    - Dst: EVP_KDF_names_do_all
      Src: /src/openssl/apps/list.c:368,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:369,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:370,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:372,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:373,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/apps/list.c:373,1
    - Dst: EVP_KDF_get0_description
      Src: /src/openssl/apps/list.c:376,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:379,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:380,1
    - Dst: EVP_KDF_gettable_params
      Src: /src/openssl/apps/list.c:381,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:382,1
    - Dst: EVP_KDF_gettable_ctx_params
      Src: /src/openssl/apps/list.c:383,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:384,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/openssl/apps/list.c:385,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:388,1
    - Dst: sk_EVP_KDF_pop_free
      Src: /src/openssl/apps/list.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 348
    functionDepth: 9
    functionLinenumber: 348
    functionLinenumberEnd: 391
    functionName: list_kdfs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_KDF_do_all_provided
    - EVP_KDF_gettable_params
    - EVP_KDF_gettable_ctx_params
    - sk_EVP_KDF_new
    - sk_EVP_KDF_sort
    - sk_EVP_KDF_value
    - STACK_OF
    - EVP_KDF_names_do_all
    - sk_EVP_KDF_pop_free
    - EVP_KDF_is_a
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_KDF_num
    - EVP_KDF_get0_description
    - print_param_types
    - print_names
    - EVP_KDF_settable_ctx_params
    - BIO_printf
    - EVP_KDF_get0_provider
    - OSSL_PROVIDER_get0_name
    - 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:400,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:400,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:400,1
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:403,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:403,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:403,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:404,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_RAND**
    - EVP_RAND**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: rand_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - EVP_RAND_get0_name
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OPENSSL_strcasecmp
    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:411,1
    - Dst: is_rand_fetchable
      Src: /src/openssl/apps/list.c:413,1
    - Dst: EVP_RAND_up_ref
      Src: /src/openssl/apps/list.c:414,1
    - Dst: sk_EVP_RAND_push
      Src: /src/openssl/apps/list.c:415,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/apps/list.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - stack
    argTypes:
    - EVP_RAND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: collect_rands
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - is_rand_fetchable
    - EVP_RAND_free
    - STACK_OF
    - sk_EVP_RAND_push
    - EVP_RAND_up_ref
    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:421,1
    - Dst: sk_EVP_RAND_new
      Src: /src/openssl/apps/list.c:421,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:425,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:428,1
    - Dst: EVP_RAND_do_all_provided
      Src: /src/openssl/apps/list.c:429,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:429,1
    - Dst: sk_EVP_RAND_sort
      Src: /src/openssl/apps/list.c:430,1
    - Dst: sk_EVP_RAND_num
      Src: /src/openssl/apps/list.c:431,1
    - Dst: sk_EVP_RAND_value
      Src: /src/openssl/apps/list.c:432,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/list.c:435,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:435,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:437,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:437,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:438,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:438,1
    - Dst: EVP_RAND_get0_description
      Src: /src/openssl/apps/list.c:441,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:444,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:445,1
    - Dst: EVP_RAND_gettable_params
      Src: /src/openssl/apps/list.c:446,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:447,1
    - Dst: EVP_RAND_gettable_ctx_params
      Src: /src/openssl/apps/list.c:448,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:449,1
    - Dst: EVP_RAND_settable_ctx_params
      Src: /src/openssl/apps/list.c:450,1
    - Dst: sk_EVP_RAND_pop_free
      Src: /src/openssl/apps/list.c:453,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 419
    functionDepth: 10
    functionLinenumber: 419
    functionLinenumberEnd: 454
    functionName: list_random_generators
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_RAND_get0_name
    - EVP_RAND_get0_description
    - sk_EVP_RAND_sort
    - EVP_RAND_gettable_params
    - sk_EVP_RAND_pop_free
    - EVP_RAND_gettable_ctx_params
    - STACK_OF
    - sk_EVP_RAND_value
    - EVP_RAND_get0_provider
    - app_get0_libctx
    - sk_EVP_RAND_new
    - print_param_types
    - OPENSSL_strcasecmp
    - BIO_printf
    - OSSL_PROVIDER_get0_name
    - sk_EVP_RAND_num
    - EVP_RAND_do_all_provided
    - EVP_RAND_settable_ctx_params
    linkageType: ''
    returnType: void
    signature: void list_random_generators(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:465,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/apps/list.c:467,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:469,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:469,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:470,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:470,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/apps/list.c:472,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:486,1
    - Dst: EVP_RAND_gettable_ctx_params
      Src: /src/openssl/apps/list.c:488,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/list.c:492,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/apps/list.c:510,1
    - Dst: print_param_value
      Src: /src/openssl/apps/list.c:511,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - name
    - drbg
    argTypes:
    - char*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 514
    functionName: display_random
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get0_provider
    - BIO_printf
    - EVP_RAND_CTX_get0_rand
    - EVP_RAND_get_state
    - EVP_RAND_get0_name
    - OSSL_PROVIDER_get0_name
    - EVP_RAND_gettable_ctx_params
    - OPENSSL_strcasecmp
    - print_param_value
    - EVP_RAND_CTX_get_params
    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:518,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/apps/list.c:518,1
    - Dst: display_random
      Src: /src/openssl/apps/list.c:519,1
    - Dst: RAND_get0_public
      Src: /src/openssl/apps/list.c:519,1
    - Dst: display_random
      Src: /src/openssl/apps/list.c:520,1
    - Dst: RAND_get0_private
      Src: /src/openssl/apps/list.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 14
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: list_random_instances
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - display_random
    - RAND_get0_public
    - RAND_get0_private
    - RAND_get0_primary
    linkageType: ''
    returnType: void
    signature: void list_random_instances(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:530,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:530,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/apps/list.c:530,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:531,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/apps/list.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_ENCODER**
    - OSSL_ENCODER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: encoder_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - OSSL_ENCODER_get0_provider
    - strcmp
    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:536,1
    - Dst: is_encoder_fetchable
      Src: /src/openssl/apps/list.c:538,1
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/openssl/apps/list.c:539,1
    - Dst: sk_OSSL_ENCODER_push
      Src: /src/openssl/apps/list.c:540,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/apps/list.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - encoder
    - stack
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: collect_encoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - is_encoder_fetchable
    - OSSL_ENCODER_free
    - STACK_OF
    - sk_OSSL_ENCODER_push
    - OSSL_ENCODER_up_ref
    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:546,1
    - Dst: sk_OSSL_ENCODER_new
      Src: /src/openssl/apps/list.c:549,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:551,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:554,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/openssl/apps/list.c:555,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:555,1
    - Dst: sk_OSSL_ENCODER_sort
      Src: /src/openssl/apps/list.c:557,1
    - Dst: sk_OSSL_ENCODER_num
      Src: /src/openssl/apps/list.c:559,1
    - Dst: sk_OSSL_ENCODER_value
      Src: /src/openssl/apps/list.c:560,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:561,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/openssl/apps/list.c:563,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:566,1
    - Dst: OSSL_ENCODER_names_do_all
      Src: /src/openssl/apps/list.c:567,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:568,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:569,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:571,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:572,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/apps/list.c:572,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/apps/list.c:573,1
    - Dst: OSSL_ENCODER_get0_description
      Src: /src/openssl/apps/list.c:576,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:579,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:580,1
    - Dst: OSSL_ENCODER_settable_ctx_params
      Src: /src/openssl/apps/list.c:581,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:584,1
    - Dst: sk_OSSL_ENCODER_pop_free
      Src: /src/openssl/apps/list.c:586,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 544
    functionDepth: 9
    functionLinenumber: 544
    functionLinenumberEnd: 587
    functionName: list_encoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - sk_OSSL_ENCODER_sort
    - OSSL_ENCODER_do_all_provided
    - STACK_OF
    - sk_OSSL_ENCODER_value
    - sk_OSSL_ENCODER_pop_free
    - OSSL_ENCODER_get0_properties
    - OSSL_ENCODER_settable_ctx_params
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - print_param_types
    - print_names
    - BIO_printf
    - sk_OSSL_ENCODER_num
    - OSSL_ENCODER_get0_provider
    - sk_OSSL_ENCODER_new
    - OSSL_PROVIDER_get0_name
    - OSSL_ENCODER_is_a
    - OSSL_ENCODER_names_do_all
    - OSSL_ENCODER_get0_description
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_encoders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:596,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:596,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/apps/list.c:596,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:597,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/apps/list.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_DECODER**
    - OSSL_DECODER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: decoder_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - OSSL_DECODER_get0_provider
    - strcmp
    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:602,1
    - Dst: is_decoder_fetchable
      Src: /src/openssl/apps/list.c:604,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/apps/list.c:605,1
    - Dst: sk_OSSL_DECODER_push
      Src: /src/openssl/apps/list.c:606,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/apps/list.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - stack
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 608
    functionName: collect_decoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - is_decoder_fetchable
    - OSSL_DECODER_up_ref
    - sk_OSSL_DECODER_push
    - STACK_OF
    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:612,1
    - Dst: sk_OSSL_DECODER_new
      Src: /src/openssl/apps/list.c:615,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:617,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:620,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/openssl/apps/list.c:621,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:621,1
    - Dst: sk_OSSL_DECODER_sort
      Src: /src/openssl/apps/list.c:623,1
    - Dst: sk_OSSL_DECODER_num
      Src: /src/openssl/apps/list.c:625,1
    - Dst: sk_OSSL_DECODER_value
      Src: /src/openssl/apps/list.c:626,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:627,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/openssl/apps/list.c:629,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:632,1
    - Dst: OSSL_DECODER_names_do_all
      Src: /src/openssl/apps/list.c:633,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:634,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:635,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:637,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:638,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/apps/list.c:638,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/apps/list.c:639,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/apps/list.c:642,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:645,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:646,1
    - Dst: OSSL_DECODER_settable_ctx_params
      Src: /src/openssl/apps/list.c:647,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:650,1
    - Dst: sk_OSSL_DECODER_pop_free
      Src: /src/openssl/apps/list.c:652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 610
    functionDepth: 9
    functionLinenumber: 610
    functionLinenumberEnd: 653
    functionName: list_decoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - sk_OSSL_DECODER_pop_free
    - OSSL_DECODER_settable_ctx_params
    - sk_OSSL_DECODER_sort
    - sk_OSSL_DECODER_new
    - sk_OSSL_DECODER_value
    - OSSL_DECODER_names_do_all
    - sk_OSSL_DECODER_num
    - STACK_OF
    - OSSL_DECODER_get0_provider
    - app_get0_libctx
    - OSSL_DECODER_get0_description
    - sk_OPENSSL_CSTRING_free
    - print_param_types
    - print_names
    - BIO_printf
    - OSSL_DECODER_is_a
    - OSSL_DECODER_get0_properties
    - OSSL_PROVIDER_get0_name
    - OSSL_DECODER_do_all_provided
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_decoders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:659,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:659,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:659,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:660,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEYMGMT**
    - EVP_KEYMGMT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: keymanager_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - strcmp
    - 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:665,1
    - Dst: is_keymgmt_fetchable
      Src: /src/openssl/apps/list.c:667,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/apps/list.c:668,1
    - Dst: sk_EVP_KEYMGMT_push
      Src: /src/openssl/apps/list.c:669,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/apps/list.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - km
    - stack
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 3
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: collect_keymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - is_keymgmt_fetchable
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_up_ref
    - STACK_OF
    - sk_EVP_KEYMGMT_push
    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:676,1
    - Dst: sk_EVP_KEYMGMT_new
      Src: /src/openssl/apps/list.c:676,1
    - Dst: EVP_KEYMGMT_do_all_provided
      Src: /src/openssl/apps/list.c:678,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:678,1
    - Dst: sk_EVP_KEYMGMT_sort
      Src: /src/openssl/apps/list.c:680,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/openssl/apps/list.c:682,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/openssl/apps/list.c:683,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:684,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/apps/list.c:686,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:689,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/apps/list.c:690,1
    - Dst: EVP_KEYMGMT_get0_description
      Src: /src/openssl/apps/list.c:691,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:693,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:695,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:697,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/list.c:697,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:698,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:701,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:702,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:703,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:703,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:706,1
    - Dst: EVP_KEYMGMT_gen_settable_params
      Src: /src/openssl/apps/list.c:707,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:708,1
    - Dst: EVP_KEYMGMT_settable_params
      Src: /src/openssl/apps/list.c:709,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:710,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/openssl/apps/list.c:711,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:714,1
    - Dst: sk_EVP_KEYMGMT_pop_free
      Src: /src/openssl/apps/list.c:716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 673
    functionDepth: 10
    functionLinenumber: 673
    functionLinenumberEnd: 717
    functionName: list_keymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_KEYMGMT_gen_settable_params
    - EVP_KEYMGMT_do_all_provided
    - EVP_KEYMGMT_get0_description
    - sk_OPENSSL_CSTRING_value
    - STACK_OF
    - sk_EVP_KEYMGMT_new
    - EVP_KEYMGMT_names_do_all
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_gettable_params
    - sk_EVP_KEYMGMT_value
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_KEYMGMT_sort
    - print_param_types
    - print_names
    - EVP_KEYMGMT_settable_params
    - sk_EVP_KEYMGMT_pop_free
    - BIO_printf
    - sk_EVP_KEYMGMT_num
    - EVP_KEYMGMT_is_a
    - OSSL_PROVIDER_get0_name
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_keymanagers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:723,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:723,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:723,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:724,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SKEYMGMT**
    - EVP_SKEYMGMT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: skeymanager_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_SKEYMGMT_get0_provider
    - strcmp
    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:729,1
    - Dst: is_skeymgmt_fetchable
      Src: /src/openssl/apps/list.c:731,1
    - Dst: sk_EVP_SKEYMGMT_push
      Src: /src/openssl/apps/list.c:732,1
    - Dst: EVP_SKEYMGMT_up_ref
      Src: /src/openssl/apps/list.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - km
    - stack
    argTypes:
    - EVP_SKEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 734
    functionName: collect_skeymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_up_ref
    - is_skeymgmt_fetchable
    - STACK_OF
    - sk_EVP_SKEYMGMT_push
    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:739,1
    - Dst: sk_EVP_SKEYMGMT_new
      Src: /src/openssl/apps/list.c:739,1
    - Dst: EVP_SKEYMGMT_do_all_provided
      Src: /src/openssl/apps/list.c:741,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:741,1
    - Dst: sk_EVP_SKEYMGMT_sort
      Src: /src/openssl/apps/list.c:743,1
    - Dst: sk_EVP_SKEYMGMT_num
      Src: /src/openssl/apps/list.c:745,1
    - Dst: sk_EVP_SKEYMGMT_value
      Src: /src/openssl/apps/list.c:746,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:747,1
    - Dst: EVP_SKEYMGMT_is_a
      Src: /src/openssl/apps/list.c:749,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:752,1
    - Dst: EVP_SKEYMGMT_names_do_all
      Src: /src/openssl/apps/list.c:753,1
    - Dst: EVP_SKEYMGMT_get0_description
      Src: /src/openssl/apps/list.c:754,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:756,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:758,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:760,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/list.c:760,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:761,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:762,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:763,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:764,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:765,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:766,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:766,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:768,1
    - Dst: sk_EVP_SKEYMGMT_pop_free
      Src: /src/openssl/apps/list.c:770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 771
    functionName: list_skeymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - sk_OPENSSL_CSTRING_value
    - EVP_SKEYMGMT_do_all_provided
    - STACK_OF
    - sk_EVP_SKEYMGMT_sort
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_SKEYMGMT_pop_free
    - sk_EVP_SKEYMGMT_value
    - sk_EVP_SKEYMGMT_new
    - print_names
    - BIO_printf
    - EVP_SKEYMGMT_is_a
    - EVP_SKEYMGMT_get0_provider
    - OSSL_PROVIDER_get0_name
    - EVP_SKEYMGMT_get0_description
    - EVP_SKEYMGMT_names_do_all
    - sk_EVP_SKEYMGMT_num
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_skeymanagers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:777,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:777,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/list.c:777,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:778,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/list.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SIGNATURE**
    - EVP_SIGNATURE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: signature_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_SIGNATURE_get0_provider
    - strcmp
    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:783,1
    - Dst: is_signature_fetchable
      Src: /src/openssl/apps/list.c:785,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/apps/list.c:786,1
    - Dst: sk_EVP_SIGNATURE_push
      Src: /src/openssl/apps/list.c:787,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/apps/list.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - stack
    argTypes:
    - EVP_SIGNATURE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: collect_signatures
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - EVP_SIGNATURE_up_ref
    - sk_EVP_SIGNATURE_push
    - is_signature_fetchable
    - EVP_SIGNATURE_free
    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:794,1
    - Dst: sk_EVP_SIGNATURE_new
      Src: /src/openssl/apps/list.c:794,1
    - Dst: EVP_SIGNATURE_do_all_provided
      Src: /src/openssl/apps/list.c:796,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:796,1
    - Dst: sk_EVP_SIGNATURE_sort
      Src: /src/openssl/apps/list.c:798,1
    - Dst: sk_EVP_SIGNATURE_num
      Src: /src/openssl/apps/list.c:800,1
    - Dst: sk_EVP_SIGNATURE_value
      Src: /src/openssl/apps/list.c:801,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:802,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/openssl/apps/list.c:804,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:807,1
    - Dst: EVP_SIGNATURE_names_do_all
      Src: /src/openssl/apps/list.c:808,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:810,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:811,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:813,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:814,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/list.c:814,1
    - Dst: EVP_SIGNATURE_get0_description
      Src: /src/openssl/apps/list.c:817,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:820,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:821,1
    - Dst: EVP_SIGNATURE_settable_ctx_params
      Src: /src/openssl/apps/list.c:822,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:823,1
    - Dst: EVP_SIGNATURE_gettable_ctx_params
      Src: /src/openssl/apps/list.c:824,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:827,1
    - Dst: sk_EVP_SIGNATURE_pop_free
      Src: /src/openssl/apps/list.c:829,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 832
    functionName: list_signatures
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_SIGNATURE_get0_provider
    - EVP_SIGNATURE_settable_ctx_params
    - sk_EVP_SIGNATURE_num
    - EVP_SIGNATURE_is_a
    - STACK_OF
    - EVP_SIGNATURE_names_do_all
    - sk_EVP_SIGNATURE_pop_free
    - sk_EVP_SIGNATURE_sort
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_SIGNATURE_new
    - print_param_types
    - print_names
    - EVP_SIGNATURE_get0_description
    - EVP_SIGNATURE_do_all_provided
    - BIO_printf
    - EVP_SIGNATURE_gettable_ctx_params
    - sk_EVP_SIGNATURE_value
    - OSSL_PROVIDER_get0_name
    - 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:839,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:842,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - params
    - data
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 834
    functionDepth: 3
    functionLinenumber: 834
    functionLinenumberEnd: 849
    functionName: list_provider_tls_sigalgs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_PARAM_locate_const
    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:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - provider
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 858
    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:864,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/apps/list.c:867,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:868,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/list.c:871,1
    - Dst: TLS_method
      Src: /src/openssl/apps/list.c:871,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:872,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/list.c:875,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/list.c:876,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:877,1
    - Dst: SSL_CTX_get0_implemented_groups
      Src: /src/openssl/apps/list.c:880,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:881,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/apps/list.c:884,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:886,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/list.c:886,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/list.c:890,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - version
    - all
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 893
    functionName: list_tls_groups
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - TLS_method
    - sk_OPENSSL_CSTRING_value
    - sk_OPENSSL_CSTRING_new_null
    - sk_OPENSSL_CSTRING_free
    - SSL_CTX_new
    - sk_OPENSSL_CSTRING_num
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - STACK_OF
    - SSL_CTX_get0_implemented_groups
    - SSL_CTX_set_max_proto_version
    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:899,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:899,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:903,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/list.c:906,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/apps/list.c:909,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:910,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:913,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 916
    functionName: list_tls_signatures
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - SSL_get1_builtin_sigalgs
    - BIO_printf
    - OPENSSL_free
    - app_get0_libctx
    - OSSL_PROVIDER_do_all
    linkageType: ''
    returnType: void
    signature: void list_tls_signatures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:922,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:922,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/list.c:922,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:923,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/list.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEM**
    - EVP_KEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 924
    functionName: kem_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_provider
    - strcmp
    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:928,1
    - Dst: is_kem_fetchable
      Src: /src/openssl/apps/list.c:930,1
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/apps/list.c:931,1
    - Dst: sk_EVP_KEM_push
      Src: /src/openssl/apps/list.c:932,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/apps/list.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - stack
    argTypes:
    - EVP_KEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 934
    functionName: collect_kem
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_EVP_KEM_push
    - EVP_KEM_up_ref
    - EVP_KEM_free
    - 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:939,1
    - Dst: sk_EVP_KEM_new
      Src: /src/openssl/apps/list.c:939,1
    - Dst: EVP_KEM_do_all_provided
      Src: /src/openssl/apps/list.c:941,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:941,1
    - Dst: sk_EVP_KEM_sort
      Src: /src/openssl/apps/list.c:942,1
    - Dst: sk_EVP_KEM_num
      Src: /src/openssl/apps/list.c:944,1
    - Dst: sk_EVP_KEM_value
      Src: /src/openssl/apps/list.c:945,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:946,1
    - Dst: EVP_KEM_is_a
      Src: /src/openssl/apps/list.c:948,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:951,1
    - Dst: EVP_KEM_names_do_all
      Src: /src/openssl/apps/list.c:952,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:954,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:955,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:957,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:958,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/list.c:958,1
    - Dst: EVP_KEM_get0_description
      Src: /src/openssl/apps/list.c:961,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:964,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:965,1
    - Dst: EVP_KEM_settable_ctx_params
      Src: /src/openssl/apps/list.c:966,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:967,1
    - Dst: EVP_KEM_gettable_ctx_params
      Src: /src/openssl/apps/list.c:968,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:971,1
    - Dst: sk_EVP_KEM_pop_free
      Src: /src/openssl/apps/list.c:973,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:975,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 936
    functionDepth: 10
    functionLinenumber: 936
    functionLinenumberEnd: 976
    functionName: list_kems
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_KEM_gettable_ctx_params
    - EVP_KEM_settable_ctx_params
    - EVP_KEM_is_a
    - STACK_OF
    - EVP_KEM_get0_description
    - sk_EVP_KEM_pop_free
    - EVP_KEM_do_all_provided
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_KEM_num
    - EVP_KEM_names_do_all
    - print_param_types
    - print_names
    - sk_EVP_KEM_value
    - BIO_printf
    - sk_EVP_KEM_new
    - sk_EVP_KEM_sort
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_provider
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_kems(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:982,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:982,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:982,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:983,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_ASYM_CIPHER**
    - EVP_ASYM_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 984
    functionName: asymcipher_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_ASYM_CIPHER_get0_provider
    - strcmp
    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:988,1
    - Dst: is_asym_cipher_fetchable
      Src: /src/openssl/apps/list.c:990,1
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/openssl/apps/list.c:991,1
    - Dst: sk_EVP_ASYM_CIPHER_push
      Src: /src/openssl/apps/list.c:992,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/apps/list.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - asym_cipher
    - stack
    argTypes:
    - EVP_ASYM_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 994
    functionName: collect_asymciph
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_ASYM_CIPHER_up_ref
    - EVP_ASYM_CIPHER_free
    - STACK_OF
    - sk_EVP_ASYM_CIPHER_push
    - is_asym_cipher_fetchable
    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:999,1
    - Dst: sk_EVP_ASYM_CIPHER_new
      Src: /src/openssl/apps/list.c:999,1
    - Dst: EVP_ASYM_CIPHER_do_all_provided
      Src: /src/openssl/apps/list.c:1001,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1001,1
    - Dst: sk_EVP_ASYM_CIPHER_sort
      Src: /src/openssl/apps/list.c:1003,1
    - Dst: sk_EVP_ASYM_CIPHER_num
      Src: /src/openssl/apps/list.c:1005,1
    - Dst: sk_EVP_ASYM_CIPHER_value
      Src: /src/openssl/apps/list.c:1006,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1007,1
    - Dst: EVP_ASYM_CIPHER_is_a
      Src: /src/openssl/apps/list.c:1009,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:1012,1
    - Dst: EVP_ASYM_CIPHER_names_do_all
      Src: /src/openssl/apps/list.c:1014,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1016,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:1017,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1019,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1020,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:1020,1
    - Dst: EVP_ASYM_CIPHER_get0_description
      Src: /src/openssl/apps/list.c:1023,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1026,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1027,1
    - Dst: EVP_ASYM_CIPHER_settable_ctx_params
      Src: /src/openssl/apps/list.c:1028,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1029,1
    - Dst: EVP_ASYM_CIPHER_gettable_ctx_params
      Src: /src/openssl/apps/list.c:1030,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:1033,1
    - Dst: sk_EVP_ASYM_CIPHER_pop_free
      Src: /src/openssl/apps/list.c:1035,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1037,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1038
    functionName: list_asymciphers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_EVP_ASYM_CIPHER_sort
    - BIO_puts
    - EVP_ASYM_CIPHER_settable_ctx_params
    - sk_EVP_ASYM_CIPHER_num
    - EVP_ASYM_CIPHER_do_all_provided
    - sk_EVP_ASYM_CIPHER_pop_free
    - STACK_OF
    - EVP_ASYM_CIPHER_gettable_ctx_params
    - sk_EVP_ASYM_CIPHER_new
    - app_get0_libctx
    - EVP_ASYM_CIPHER_get0_description
    - sk_OPENSSL_CSTRING_free
    - print_param_types
    - EVP_ASYM_CIPHER_names_do_all
    - print_names
    - BIO_printf
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_ASYM_CIPHER_is_a
    - OSSL_PROVIDER_get0_name
    - sk_EVP_ASYM_CIPHER_value
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_asymciphers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1044,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1044,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/apps/list.c:1044,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1045,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/apps/list.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEYEXCH**
    - EVP_KEYEXCH**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1046
    functionName: kex_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - EVP_KEYEXCH_get0_provider
    - strcmp
    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:1050,1
    - Dst: is_keyexch_fetchable
      Src: /src/openssl/apps/list.c:1052,1
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/openssl/apps/list.c:1053,1
    - Dst: sk_EVP_KEYEXCH_push
      Src: /src/openssl/apps/list.c:1054,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/apps/list.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kex
    - stack
    argTypes:
    - EVP_KEYEXCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: collect_kex
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_EVP_KEYEXCH_push
    - EVP_KEYEXCH_up_ref
    - STACK_OF
    - EVP_KEYEXCH_free
    - 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:1061,1
    - Dst: sk_EVP_KEYEXCH_new
      Src: /src/openssl/apps/list.c:1061,1
    - Dst: EVP_KEYEXCH_do_all_provided
      Src: /src/openssl/apps/list.c:1063,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1063,1
    - Dst: sk_EVP_KEYEXCH_sort
      Src: /src/openssl/apps/list.c:1064,1
    - Dst: sk_EVP_KEYEXCH_num
      Src: /src/openssl/apps/list.c:1066,1
    - Dst: sk_EVP_KEYEXCH_value
      Src: /src/openssl/apps/list.c:1067,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1068,1
    - Dst: EVP_KEYEXCH_is_a
      Src: /src/openssl/apps/list.c:1070,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:1073,1
    - Dst: EVP_KEYEXCH_names_do_all
      Src: /src/openssl/apps/list.c:1074,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1076,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:1077,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1079,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1080,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/apps/list.c:1080,1
    - Dst: EVP_KEYEXCH_get0_description
      Src: /src/openssl/apps/list.c:1083,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1086,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1087,1
    - Dst: EVP_KEYEXCH_settable_ctx_params
      Src: /src/openssl/apps/list.c:1088,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1089,1
    - Dst: EVP_KEYEXCH_gettable_ctx_params
      Src: /src/openssl/apps/list.c:1090,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:1093,1
    - Dst: sk_EVP_KEYEXCH_pop_free
      Src: /src/openssl/apps/list.c:1095,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1097,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1098
    functionName: list_keyexchanges
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_KEYEXCH_is_a
    - sk_EVP_KEYEXCH_new
    - sk_EVP_KEYEXCH_sort
    - sk_EVP_KEYEXCH_value
    - EVP_KEYEXCH_get0_provider
    - EVP_KEYEXCH_settable_ctx_params
    - STACK_OF
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - EVP_KEYEXCH_get0_description
    - print_param_types
    - print_names
    - sk_EVP_KEYEXCH_pop_free
    - EVP_KEYEXCH_do_all_provided
    - BIO_printf
    - EVP_KEYEXCH_names_do_all
    - EVP_KEYEXCH_gettable_ctx_params
    - OSSL_PROVIDER_get0_name
    - sk_EVP_KEYEXCH_num
    - 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:1102,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/list.c:1109,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/list.c:1110,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/list.c:1111,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/list.c:1119,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/list.c:1121,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/apps/list.c:1124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1125,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/apps/list.c:1132,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1134,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/apps/list.c:1139,1
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1141,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/list.c:1147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1100
    functionDepth: 7
    functionLinenumber: 1100
    functionLinenumberEnd: 1148
    functionName: list_objects
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OBJ_nid2sn
    - OBJ_nid2obj
    - BIO_printf
    - OBJ_new_nid
    - OPENSSL_free
    - OPENSSL_realloc
    - strcmp
    - OBJ_nid2ln
    - OBJ_obj2nid
    - OBJ_obj2txt
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: void list_objects(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1178,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1182
    functionName: list_options_for_command
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - strcmp
    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:1187,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/list.c:1190,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/list.c:1191,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1191,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/list.c:1192,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/list.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1184
    functionDepth: 10
    functionLinenumber: 1184
    functionLinenumberEnd: 1199
    functionName: is_md_available
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - app_get0_libctx
    - EVP_MD_fetch
    - app_get0_propq
    - EVP_MD_free
    - ERR_set_mark
    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:1204,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/list.c:1207,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/list.c:1208,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1208,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/list.c:1209,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/list.c:1211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1216
    functionName: is_cipher_available
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - app_get0_libctx
    - app_get0_propq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int is_cipher_available(const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/apps/list.c:1224,1
    - Dst: calculate_columns
      Src: /src/openssl/apps/list.c:1226,1
    - Dst: is_cipher_available
      Src: /src/openssl/apps/list.c:1233,1
    - Dst: is_md_available
      Src: /src/openssl/apps/list.c:1237,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1244,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1248,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1253,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ft
    - one
    argTypes:
    - FUNC_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1218
    functionDepth: 11
    functionLinenumber: 1218
    functionLinenumberEnd: 1254
    functionName: list_type
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - calculate_columns
    - memset
    - is_cipher_available
    - is_md_available
    linkageType: ''
    returnType: void
    signature: void list_type(FUNC_TYPE ft, int one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1258,1
    - Dst: list_keymanagers
      Src: /src/openssl/apps/list.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 11
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: list_pkey
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - list_keymanagers
    linkageType: ''
    returnType: void
    signature: void list_pkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1265,1
    - Dst: list_asymciphers
      Src: /src/openssl/apps/list.c:1267,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1268,1
    - Dst: list_keyexchanges
      Src: /src/openssl/apps/list.c:1269,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1270,1
    - Dst: list_signatures
      Src: /src/openssl/apps/list.c:1271,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1272,1
    - Dst: list_kems
      Src: /src/openssl/apps/list.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1263
    functionDepth: 11
    functionLinenumber: 1263
    functionLinenumberEnd: 1274
    functionName: list_pkey_meth
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - list_asymciphers
    - list_signatures
    - list_keyexchanges
    - list_kems
    linkageType: ''
    returnType: void
    signature: void list_pkey_meth(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1280,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1280,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/apps/list.c:1280,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1281,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/apps/list.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_STORE_LOADER**
    - OSSL_STORE_LOADER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1282
    functionName: store_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - OSSL_STORE_LOADER_get0_provider
    - strcmp
    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:1286,1
    - Dst: OSSL_STORE_LOADER_up_ref
      Src: /src/openssl/apps/list.c:1288,1
    - Dst: sk_OSSL_STORE_LOADER_push
      Src: /src/openssl/apps/list.c:1289,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/apps/list.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - stack
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1284
    functionDepth: 3
    functionLinenumber: 1284
    functionLinenumberEnd: 1291
    functionName: collect_store_loaders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_free
    - sk_OSSL_STORE_LOADER_push
    - STACK_OF
    - 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:1295,1
    - Dst: sk_OSSL_STORE_LOADER_new
      Src: /src/openssl/apps/list.c:1295,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1299,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1302,1
    - Dst: OSSL_STORE_LOADER_do_all_provided
      Src: /src/openssl/apps/list.c:1303,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1303,1
    - Dst: sk_OSSL_STORE_LOADER_sort
      Src: /src/openssl/apps/list.c:1305,1
    - Dst: sk_OSSL_STORE_LOADER_num
      Src: /src/openssl/apps/list.c:1306,1
    - Dst: sk_OSSL_STORE_LOADER_value
      Src: /src/openssl/apps/list.c:1307,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1308,1
    - Dst: OSSL_STORE_LOADER_is_a
      Src: /src/openssl/apps/list.c:1310,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:1313,1
    - Dst: OSSL_STORE_LOADER_names_do_all
      Src: /src/openssl/apps/list.c:1314,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1315,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:1316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1318,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1319,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/apps/list.c:1319,1
    - Dst: OSSL_STORE_LOADER_get0_description
      Src: /src/openssl/apps/list.c:1322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1325,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1326,1
    - Dst: OSSL_STORE_LOADER_settable_ctx_params
      Src: /src/openssl/apps/list.c:1327,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:1330,1
    - Dst: sk_OSSL_STORE_LOADER_pop_free
      Src: /src/openssl/apps/list.c:1332,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1293
    functionDepth: 9
    functionLinenumber: 1293
    functionLinenumberEnd: 1333
    functionName: list_store_loaders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_STORE_LOADER_settable_ctx_params
    - sk_OSSL_STORE_LOADER_pop_free
    - sk_OPENSSL_CSTRING_new
    - sk_OSSL_STORE_LOADER_sort
    - OSSL_STORE_LOADER_names_do_all
    - OSSL_STORE_LOADER_is_a
    - STACK_OF
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_STORE_LOADER_do_all_provided
    - sk_OSSL_STORE_LOADER_num
    - sk_OSSL_STORE_LOADER_new
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_free
    - print_param_types
    - print_names
    - BIO_printf
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_STORE_LOADER_value
    - OSSL_STORE_LOADER_get0_description
    linkageType: ''
    returnType: void
    signature: void list_store_loaders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1339,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1339,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1336
    functionDepth: 2
    functionLinenumber: 1336
    functionLinenumberEnd: 1340
    functionName: provider_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - strcmp
    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:1344,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/apps/list.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - provider
    - stack
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1351
    functionName: collect_providers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROVIDER_push
    - STACK_OF
    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:1355,1
    - Dst: sk_OSSL_PROVIDER_new
      Src: /src/openssl/apps/list.c:1355,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1362,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/apps/list.c:1366,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/openssl/apps/list.c:1367,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1368,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1372,1
    - Dst: sk_OSSL_PROVIDER_sort
      Src: /src/openssl/apps/list.c:1373,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/apps/list.c:1374,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/apps/list.c:1375,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1376,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1378,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/list.c:1381,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/list.c:1383,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/apps/list.c:1385,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/list.c:1386,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/list.c:1388,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/openssl/apps/list.c:1389,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/apps/list.c:1390,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1391,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1396,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1397,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1398,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1399,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1400,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1401,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1403,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1404,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1405,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/openssl/apps/list.c:1406,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/openssl/apps/list.c:1410,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1411
    functionName: list_provider_info
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_gettable_params
    - BIO_puts
    - BIO_printf
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PROVIDER_get_params
    - OSSL_PARAM_construct_utf8_ptr
    - sk_OSSL_PROVIDER_num
    - OSSL_PROVIDER_do_all
    - OSSL_PARAM_construct_end
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_PROVIDER_free
    - sk_OSSL_PROVIDER_value
    - print_param_types
    - sk_OSSL_PROVIDER_new
    - STACK_OF
    - OSSL_PARAM_modified
    - sk_OSSL_PROVIDER_sort
    linkageType: ''
    returnType: void
    signature: void list_provider_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_PRINT_DISABLED
      Src: /src/openssl/apps/list.c:1415,1
    - Dst: OPENSSL_PRINT_DISABLED
      Src: /src/openssl/apps/list.c:1416,1
    - Dst: OPENSSL_PRINT_DISABLED
      Src: /src/openssl/apps/list.c:1417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1418
    functionName: list_disabled
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OPENSSL_PRINT_DISABLED
    linkageType: ''
    returnType: void
    signature: void list_disabled(void)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/list.c:1591,1
    - Dst: opt_next
      Src: /src/openssl/apps/list.c:1592,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1597,1
    - Dst: opt_help
      Src: /src/openssl/apps/list.c:1600,1
    - Dst: list_options_for_command
      Src: /src/openssl/apps/list.c:1700,1
    - Dst: opt_arg
      Src: /src/openssl/apps/list.c:1700,1
    - Dst: opt_arg
      Src: /src/openssl/apps/list.c:1706,1
    - Dst: opt_provider
      Src: /src/openssl/apps/list.c:1709,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/list.c:1717,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1729,1
    - Dst: list_type
      Src: /src/openssl/apps/list.c:1729,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1731,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1733,1
    - Dst: list_digests
      Src: /src/openssl/apps/list.c:1734,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1735,1
    - Dst: list_ciphers
      Src: /src/openssl/apps/list.c:1736,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1737,1
    - Dst: list_kdfs
      Src: /src/openssl/apps/list.c:1738,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1739,1
    - Dst: list_macs
      Src: /src/openssl/apps/list.c:1740,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1742,1
    - Dst: list_asymciphers
      Src: /src/openssl/apps/list.c:1743,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1744,1
    - Dst: list_keyexchanges
      Src: /src/openssl/apps/list.c:1745,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1746,1
    - Dst: list_signatures
      Src: /src/openssl/apps/list.c:1747,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1748,1
    - Dst: list_kems
      Src: /src/openssl/apps/list.c:1749,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1750,1
    - Dst: list_keymanagers
      Src: /src/openssl/apps/list.c:1751,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1753,1
    - Dst: list_encoders
      Src: /src/openssl/apps/list.c:1754,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1755,1
    - Dst: list_decoders
      Src: /src/openssl/apps/list.c:1756,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1757,1
    - Dst: list_store_loaders
      Src: /src/openssl/apps/list.c:1758,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1761,1
    - Dst: list_random_instances
      Src: /src/openssl/apps/list.c:1761,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1763,1
    - Dst: list_random_generators
      Src: /src/openssl/apps/list.c:1763,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1765,1
    - Dst: list_type
      Src: /src/openssl/apps/list.c:1765,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1767,1
    - Dst: list_digests
      Src: /src/openssl/apps/list.c:1767,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1769,1
    - Dst: list_kdfs
      Src: /src/openssl/apps/list.c:1769,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1771,1
    - Dst: list_macs
      Src: /src/openssl/apps/list.c:1771,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1773,1
    - Dst: list_type
      Src: /src/openssl/apps/list.c:1773,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1775,1
    - Dst: list_ciphers
      Src: /src/openssl/apps/list.c:1775,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1777,1
    - Dst: list_encoders
      Src: /src/openssl/apps/list.c:1777,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1779,1
    - Dst: list_decoders
      Src: /src/openssl/apps/list.c:1779,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1781,1
    - Dst: list_keymanagers
      Src: /src/openssl/apps/list.c:1781,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1783,1
    - Dst: list_skeymanagers
      Src: /src/openssl/apps/list.c:1783,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1785,1
    - Dst: list_signatures
      Src: /src/openssl/apps/list.c:1785,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1787,1
    - Dst: list_tls_signatures
      Src: /src/openssl/apps/list.c:1787,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1789,1
    - Dst: list_asymciphers
      Src: /src/openssl/apps/list.c:1789,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1791,1
    - Dst: list_keyexchanges
      Src: /src/openssl/apps/list.c:1791,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1793,1
    - Dst: list_kems
      Src: /src/openssl/apps/list.c:1793,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1796,1
    - Dst: list_tls_groups
      Src: /src/openssl/apps/list.c:1796,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1799,1
    - Dst: list_pkey
      Src: /src/openssl/apps/list.c:1799,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1801,1
    - Dst: list_pkey_meth
      Src: /src/openssl/apps/list.c:1801,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1803,1
    - Dst: list_store_loaders
      Src: /src/openssl/apps/list.c:1803,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1805,1
    - Dst: list_provider_info
      Src: /src/openssl/apps/list.c:1805,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1807,1
    - Dst: list_disabled
      Src: /src/openssl/apps/list.c:1807,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1809,1
    - Dst: list_objects
      Src: /src/openssl/apps/list.c:1809,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 205
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1543
    functionDepth: 15
    functionLinenumber: 1543
    functionLinenumberEnd: 1817
    functionName: list_main
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - list_random_generators
    - list_pkey_meth
    - list_tls_groups
    - list_tls_signatures
    - list_store_loaders
    - MAYBE_ADD_NL
    - list_ciphers
    - list_objects
    - opt_provider
    - list_encoders
    - list_pkey
    - list_provider_info
    - opt_check_rest_arg
    - list_random_instances
    - opt_init
    - list_macs
    - list_signatures
    - list_options_for_command
    - list_decoders
    - list_keyexchanges
    - list_skeymanagers
    - list_kems
    - list_type
    - opt_help
    - BIO_printf
    - list_digests
    - list_disabled
    - list_asymciphers
    - opt_arg
    - list_kdfs
    - opt_next
    - list_keymanagers
    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: 1727
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1727
    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:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pedantic
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 282
    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:291,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/apps/fipsinstall.c:293,1
    - Dst: BIO_read
      Src: /src/openssl/apps/fipsinstall.c:295,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/fipsinstall.c:296,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/fipsinstall.c:300,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: 305
      start: 284
    functionDepth: 6
    functionLinenumber: 284
    functionLinenumberEnd: 305
    functionName: do_mac
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - BIO_read
    - EVP_MAC_init
    - EVP_MAC_CTX_get_mac_size
    - EVP_MAC_final
    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:315,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:317,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:321,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:323,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:325,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/fipsinstall.c:327,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/apps/fipsinstall.c:328,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:329,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/fipsinstall.c:332,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:333,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/fipsinstall.c:334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:335,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/fipsinstall.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:337,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:339,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/fipsinstall.c:341,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/apps/fipsinstall.c:342,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:343,1
    - Dst: strncmp
      Src: /src/openssl/apps/fipsinstall.c:347,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/apps/fipsinstall.c:350,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: 352
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 352
    functionName: load_fips_prov_and_run_self_test
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OSSL_PROVIDER_get_params
    - strncmp
    - OSSL_PROVIDER_load
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_modified
    - OSSL_PROVIDER_unload
    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:360,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:364,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: 366
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: print_mac
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - OPENSSL_buf2hexstr
    - BIO_printf
    - OPENSSL_free
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - prov_name
    - section
    argTypes:
    - BIO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 378
    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:396,1
    - Dst: print_mac
      Src: /src/openssl/apps/fipsinstall.c:460,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:462,1
    - Dst: print_mac
      Src: /src/openssl/apps/fipsinstall.c:470,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:472,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    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: 480
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 480
    functionName: write_config_fips_section
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - print_mac
    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:491,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/fipsinstall.c:491,1
    - Dst: write_config_header
      Src: /src/openssl/apps/fipsinstall.c:494,1
    - Dst: write_config_fips_section
      Src: /src/openssl/apps/fipsinstall.c:495,1
    - Dst: app_load_config_bio
      Src: /src/openssl/apps/fipsinstall.c:500,1
    - Dst: CONF_modules_load
      Src: /src/openssl/apps/fipsinstall.c:504,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:506,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/fipsinstall.c:509,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:510,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: 512
      start: 482
    functionDepth: 7
    functionLinenumber: 482
    functionLinenumberEnd: 512
    functionName: generate_config_and_load
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - app_load_config_bio
    - BIO_new
    - write_config_fips_section
    - BIO_free
    - CONF_modules_load
    - write_config_header
    - NCONF_free
    - BIO_s_mem
    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:517,1
    - Dst: CONF_modules_unload
      Src: /src/openssl/apps/fipsinstall.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 520
    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:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent_config_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 525
    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:542,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:546,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:547,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:548,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:551,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:553,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/fipsinstall.c:556,1
    - Dst: memcmp
      Src: /src/openssl/apps/fipsinstall.c:559,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:560,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:564,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:565,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:566,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:569,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:571,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/fipsinstall.c:574,1
    - Dst: memcmp
      Src: /src/openssl/apps/fipsinstall.c:577,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:578,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:584,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:585,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/fipsinstall.c:586,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: 588
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 588
    functionName: verify_config
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - app_load_config
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - strcmp
    - NCONF_get_string
    - NCONF_free
    - memcmp
    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: 94
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/fipsinstall.c:602,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/fipsinstall.c:612,1
    - Dst: opt_init
      Src: /src/openssl/apps/fipsinstall.c:615,1
    - Dst: opt_next
      Src: /src/openssl/apps/fipsinstall.c:616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:621,1
    - Dst: opt_help
      Src: /src/openssl/apps/fipsinstall.c:624,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:628,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:631,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:638,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:643,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:723,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:737,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:740,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:743,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:746,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:749,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:752,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:755,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/fipsinstall.c:758,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:758,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/fipsinstall.c:760,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:760,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/fipsinstall.c:762,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:762,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:773,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/fipsinstall.c:785,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:788,1
    - Dst: verify_module_load
      Src: /src/openssl/apps/fipsinstall.c:794,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/apps/fipsinstall.c:795,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:797,1
    - Dst: opt_path_end
      Src: /src/openssl/apps/fipsinstall.c:806,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/fipsinstall.c:808,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/openssl/apps/fipsinstall.c:812,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/apps/fipsinstall.c:819,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/fipsinstall.c:822,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/fipsinstall.c:824,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/fipsinstall.c:827,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:829,1
    - Dst: app_malloc
      Src: /src/openssl/apps/fipsinstall.c:833,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/apps/fipsinstall.c:837,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/fipsinstall.c:837,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/fipsinstall.c:837,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:839,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/apps/fipsinstall.c:843,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:845,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/fipsinstall.c:851,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/apps/fipsinstall.c:851,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/apps/fipsinstall.c:856,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:857,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/fipsinstall.c:858,1
    - Dst: app_params_free
      Src: /src/openssl/apps/fipsinstall.c:861,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/apps/fipsinstall.c:866,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:868,1
    - Dst: do_mac
      Src: /src/openssl/apps/fipsinstall.c:872,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/apps/fipsinstall.c:876,1
    - Dst: strlen
      Src: /src/openssl/apps/fipsinstall.c:877,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:879,1
    - Dst: do_mac
      Src: /src/openssl/apps/fipsinstall.c:882,1
    - Dst: verify_config
      Src: /src/openssl/apps/fipsinstall.c:888,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:892,1
    - Dst: generate_config_and_load
      Src: /src/openssl/apps/fipsinstall.c:894,1
    - Dst: load_fips_prov_and_run_self_test
      Src: /src/openssl/apps/fipsinstall.c:898,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/fipsinstall.c:912,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/fipsinstall.c:913,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:915,1
    - Dst: write_config_fips_section
      Src: /src/openssl/apps/fipsinstall.c:919,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/fipsinstall.c:924,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:931,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/fipsinstall.c:932,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:936,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:937,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:938,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:939,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/fipsinstall.c:940,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/apps/fipsinstall.c:941,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/fipsinstall.c:942,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/fipsinstall.c:943,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:944,1
    - Dst: free_config_and_unload
      Src: /src/openssl/apps/fipsinstall.c:945,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 325
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 590
    functionDepth: 10
    functionLinenumber: 590
    functionLinenumberEnd: 947
    functionName: fipsinstall_main
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_PROVIDER_available
    - app_malloc
    - dup_bio_out
    - OSSL_SELF_TEST_set_callback
    - free_config_and_unload
    - OSSL_PROVIDER_set_default_search_path
    - EVP_MAC_CTX_new
    - EVP_MAC_fetch
    - write_config_fips_section
    - OPENSSL_free
    - verify_module_load
    - app_params_new_from_opts
    - app_get0_propq
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - opt_check_rest_arg
    - sk_OPENSSL_STRING_push
    - EVP_MAC_free
    - opt_init
    - BIO_free
    - app_get0_libctx
    - EVP_MAC_CTX_free
    - bio_open_default
    - verify_config
    - sk_OPENSSL_STRING_free
    - check_non_pedantic_fips
    - opt_path_end
    - do_mac
    - ERR_print_errors
    - opt_help
    - app_params_free
    - EVP_MAC_CTX_set_params
    - HAS_PREFIX
    - OPENSSL_strdup
    - BIO_printf
    - load_fips_prov_and_run_self_test
    - BIO_new_mem_buf
    - opt_arg
    - opt_next
    - strlen
    - generate_config_and_load
    - EVP_MAC_settable_ctx_params
    - EVP_MAC_CTX_dup
    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:955,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/apps/fipsinstall.c:960,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/apps/fipsinstall.c:965,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:971,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:972,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:973,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:974,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:975,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:981,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:985,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:988,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:990,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 997
    functionName: self_test_events
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - OSSL_PARAM_locate_const
    - strcmp
    linkageType: ''
    returnType: int
    signature: int self_test_events(const OSSL_PARAM params[], void *arg)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/spkac.c:81,1
    - Dst: opt_next
      Src: /src/openssl/apps/spkac.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:87,1
    - Dst: opt_help
      Src: /src/openssl/apps/spkac.c:90,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:94,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:97,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:109,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:112,1
    - Dst: opt_format
      Src: /src/openssl/apps/spkac.c:115,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:115,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:119,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:125,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:128,1
    - Dst: opt_provider
      Src: /src/openssl/apps/spkac.c:131,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/spkac.c:138,1
    - Dst: app_passwd
      Src: /src/openssl/apps/spkac.c:141,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/spkac.c:142,1
    - Dst: opt_md
      Src: /src/openssl/apps/spkac.c:147,1
    - Dst: load_key
      Src: /src/openssl/apps/spkac.c:150,1
    - Dst: strcmp
      Src: /src/openssl/apps/spkac.c:150,1
    - Dst: NETSCAPE_SPKI_new
      Src: /src/openssl/apps/spkac.c:154,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/spkac.c:158,1
    - Dst: strlen
      Src: /src/openssl/apps/spkac.c:159,1
    - Dst: NETSCAPE_SPKI_set_pubkey
      Src: /src/openssl/apps/spkac.c:161,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/spkac.c:162,1
    - Dst: NETSCAPE_SPKI_sign
      Src: /src/openssl/apps/spkac.c:165,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/spkac.c:167,1
    - Dst: NETSCAPE_SPKI_b64_encode
      Src: /src/openssl/apps/spkac.c:170,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/spkac.c:174,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/spkac.c:176,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/spkac.c:180,1
    - Dst: app_load_config
      Src: /src/openssl/apps/spkac.c:185,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/spkac.c:188,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:191,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/spkac.c:192,1
    - Dst: NETSCAPE_SPKI_b64_decode
      Src: /src/openssl/apps/spkac.c:196,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/spkac.c:199,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/spkac.c:200,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/spkac.c:204,1
    - Dst: NETSCAPE_SPKI_print
      Src: /src/openssl/apps/spkac.c:209,1
    - Dst: NETSCAPE_SPKI_get_pubkey
      Src: /src/openssl/apps/spkac.c:210,1
    - Dst: NETSCAPE_SPKI_verify
      Src: /src/openssl/apps/spkac.c:212,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/spkac.c:214,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/spkac.c:216,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/spkac.c:217,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/spkac.c:222,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/spkac.c:227,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/spkac.c:228,1
    - Dst: NETSCAPE_SPKI_free
      Src: /src/openssl/apps/spkac.c:229,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/spkac.c:230,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/spkac.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/spkac.c:232,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 158
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 65
    functionDepth: 13
    functionLinenumber: 65
    functionLinenumberEnd: 234
    functionName: spkac_main
    functionSourceFile: /src/openssl/apps/spkac.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ASN1_STRING_set
    - opt_md
    - load_key
    - NCONF_free
    - NETSCAPE_SPKI_new
    - NETSCAPE_SPKI_b64_decode
    - app_load_config
    - OPENSSL_free
    - app_passwd
    - opt_provider
    - opt_check_rest_arg
    - opt_init
    - bio_open_default
    - strcmp
    - NETSCAPE_SPKI_b64_encode
    - NETSCAPE_SPKI_print
    - NETSCAPE_SPKI_verify
    - ERR_print_errors
    - EVP_MD_free
    - NETSCAPE_SPKI_set_pubkey
    - opt_help
    - PEM_write_bio_PUBKEY
    - EVP_PKEY_free
    - NETSCAPE_SPKI_get_pubkey
    - BIO_printf
    - opt_format
    - NETSCAPE_SPKI_free
    - BIO_free_all
    - NCONF_get_string
    - opt_arg
    - opt_next
    - strlen
    - NETSCAPE_SPKI_sign
    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: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    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:55,1
    - Dst: BN_hex2bn
      Src: /src/openssl/apps/prime.c:58,1
    - Dst: BN_dec2bn
      Src: /src/openssl/apps/prime.c:58,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:61,1
    - Dst: BN_free
      Src: /src/openssl/apps/prime.c:62,1
    - Dst: BN_print
      Src: /src/openssl/apps/prime.c:66,1
    - Dst: BN_check_prime
      Src: /src/openssl/apps/prime.c:67,1
    - Dst: BN_free
      Src: /src/openssl/apps/prime.c:68,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/prime.c:70,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - s
    - is_hex
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 6
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: process_num
    functionSourceFile: /src/openssl/apps/prime.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BN_dec2bn
    - check_num
    - BN_hex2bn
    - BN_free
    - BN_print
    - BN_check_prime
    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:109,1
    - Dst: opt_next
      Src: /src/openssl/apps/prime.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:115,1
    - Dst: opt_help
      Src: /src/openssl/apps/prime.c:118,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/prime.c:128,1
    - Dst: opt_arg
      Src: /src/openssl/apps/prime.c:135,1
    - Dst: opt_provider
      Src: /src/openssl/apps/prime.c:138,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/prime.c:148,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/prime.c:150,1
    - Dst: opt_rest
      Src: /src/openssl/apps/prime.c:151,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/prime.c:153,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/prime.c:161,1
    - Dst: BN_new
      Src: /src/openssl/apps/prime.c:164,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/prime.c:166,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/apps/prime.c:169,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/prime.c:170,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/prime.c:173,1
    - Dst: BN_bn2dec
      Src: /src/openssl/apps/prime.c:173,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/prime.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/prime.c:179,1
    - Dst: process_num
      Src: /src/openssl/apps/prime.c:185,1
    - Dst: bio_open_default_quiet
      Src: /src/openssl/apps/prime.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:189,1
    - Dst: BIO_get_line
      Src: /src/openssl/apps/prime.c:193,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:198,1
    - Dst: BIO_get_line
      Src: /src/openssl/apps/prime.c:200,1
    - Dst: strspn
      Src: /src/openssl/apps/prime.c:205,1
    - Dst: process_num
      Src: /src/openssl/apps/prime.c:208,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:212,1
    - Dst: BIO_free
      Src: /src/openssl/apps/prime.c:214,1
    - Dst: BN_free
      Src: /src/openssl/apps/prime.c:221,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 100
    functionDepth: 7
    functionLinenumber: 100
    functionLinenumberEnd: 223
    functionName: prime_main
    functionSourceFile: /src/openssl/apps/prime.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_get_line
    - opt_int_arg
    - bio_open_default_quiet
    - OPENSSL_free
    - opt_provider
    - opt_check_rest_arg
    - process_num
    - opt_init
    - BIO_free
    - strspn
    - opt_num_rest
    - BN_bn2hex
    - BN_new
    - opt_help
    - BIO_printf
    - BN_bn2dec
    - BN_generate_prime_ex
    - opt_arg
    - BN_free
    - opt_next
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int prime_main(int argc, char **argv)
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/dgst.c:116,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:136,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/dgst.c:137,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:137,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:137,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/dgst.c:141,1
    - Dst: opt_init
      Src: /src/openssl/apps/dgst.c:142,1
    - Dst: opt_next
      Src: /src/openssl/apps/dgst.c:143,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:148,1
    - Dst: opt_help
      Src: /src/openssl/apps/dgst.c:151,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:155,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/apps/dgst.c:158,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:160,1
    - Dst: opt_rand
      Src: /src/openssl/apps/dgst.c:170,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:174,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:177,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:180,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:183,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:187,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:191,1
    - Dst: opt_format
      Src: /src/openssl/apps/dgst.c:194,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:194,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/dgst.c:204,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:213,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:216,1
    - Dst: getenv
      Src: /src/openssl/apps/dgst.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:219,1
    - Dst: get_str_from_file
      Src: /src/openssl/apps/dgst.c:226,1
    - Dst: strlen
      Src: /src/openssl/apps/dgst.c:231,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:232,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:239,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/dgst.c:243,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/dgst.c:244,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:244,1
    - Dst: process_additional_mac_key_arguments
      Src: /src/openssl/apps/dgst.c:248,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:248,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/dgst.c:254,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/dgst.c:255,1
    - Dst: clear_free
      Src: /src/openssl/apps/dgst.c:256,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/dgst.c:261,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dgst.c:264,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/dgst.c:271,1
    - Dst: opt_rest
      Src: /src/openssl/apps/dgst.c:272,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:274,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/dgst.c:277,1
    - Dst: opt_md
      Src: /src/openssl/apps/dgst.c:281,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:286,1
    - Dst: BIO_new
      Src: /src/openssl/apps/dgst.c:291,1
    - Dst: BIO_s_file
      Src: /src/openssl/apps/dgst.c:291,1
    - Dst: BIO_new
      Src: /src/openssl/apps/dgst.c:292,1
    - Dst: BIO_f_md
      Src: /src/openssl/apps/dgst.c:292,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/dgst.c:297,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/dgst.c:299,1
    - Dst: app_passwd
      Src: /src/openssl/apps/dgst.c:302,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:303,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/dgst.c:314,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:319,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/dgst.c:325,1
    - Dst: load_key
      Src: /src/openssl/apps/dgst.c:327,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/dgst.c:337,1
    - Dst: strcmp
      Src: /src/openssl/apps/dgst.c:340,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/dgst.c:342,1
    - Dst: init_gen_str
      Src: /src/openssl/apps/dgst.c:351,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/dgst.c:354,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/dgst.c:355,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/dgst.c:357,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dgst.c:358,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:359,1
    - Dst: app_keygen
      Src: /src/openssl/apps/dgst.c:365,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dgst.c:366,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/dgst.c:373,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/apps/dgst.c:376,1
    - Dst: strlen
      Src: /src/openssl/apps/dgst.c:378,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:390,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:391,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/apps/dgst.c:395,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:396,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:397,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/dgst.c:399,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:400,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:401,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:403,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/dgst.c:407,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/dgst.c:408,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/dgst.c:410,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:411,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:423,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:426,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:427,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/dgst.c:431,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/dgst.c:432,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:433,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/dgst.c:439,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:442,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/dgst.c:445,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:446,1
    - Dst: BIO_read
      Src: /src/openssl/apps/dgst.c:447,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dgst.c:448,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:450,1
    - Dst: BIO_push
      Src: /src/openssl/apps/dgst.c:455,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:460,1
    - Dst: EVP_MD_CTX_get1_md
      Src: /src/openssl/apps/dgst.c:461,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/apps/dgst.c:464,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/apps/dgst.c:467,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:468,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:477,1
    - Dst: BIO_set_fp
      Src: /src/openssl/apps/dgst.c:483,1
    - Dst: do_fp_oneshot_sign
      Src: /src/openssl/apps/dgst.c:485,1
    - Dst: do_fp
      Src: /src/openssl/apps/dgst.c:488,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/dgst.c:495,1
    - Dst: BIO_read_filename
      Src: /src/openssl/apps/dgst.c:499,1
    - Dst: perror
      Src: /src/openssl/apps/dgst.c:500,1
    - Dst: do_fp_oneshot_sign
      Src: /src/openssl/apps/dgst.c:505,1
    - Dst: do_fp
      Src: /src/openssl/apps/dgst.c:510,1
    - Dst: BIO_reset
      Src: /src/openssl/apps/dgst.c:515,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dgst.c:520,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/dgst.c:521,1
    - Dst: clear_free
      Src: /src/openssl/apps/dgst.c:523,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dgst.c:524,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:525,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dgst.c:526,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/dgst.c:527,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dgst.c:528,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/dgst.c:529,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/dgst.c:530,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/apps/dgst.c:531,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:532,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dgst.c:533,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 368
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 112
    functionDepth: 11
    functionLinenumber: 112
    functionLinenumberEnd: 535
    functionName: dgst_main
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - opt_md
    - process_additional_mac_key_arguments
    - app_malloc
    - load_key
    - EVP_DigestSignInit_ex
    - EVP_DigestInit_ex
    - BIO_f_md
    - BIO_new
    - BIO_read
    - pkey_ctrl_string
    - app_passwd
    - EVP_MD_get0_name
    - sk_OPENSSL_STRING_new_null
    - BIO_read_filename
    - STACK_OF
    - BIO_set_callback_arg
    - app_get0_libctx
    - strcmp
    - sk_OPENSSL_STRING_free
    - opt_num_rest
    - EVP_MD_free
    - BIO_get_md_ctx
    - app_keygen
    - opt_unknown
    - opt_format
    - EVP_PKEY_get0_type_name
    - opt_arg
    - do_fp
    - BIO_puts
    - do_fp_oneshot_sign
    - opt_set_unknown_name
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - opt_provider
    - sk_OPENSSL_STRING_push
    - clear_free
    - sk_OPENSSL_STRING_pop_free
    - ERR_print_errors
    - BIO_push
    - EVP_sha256
    - BIO_free_all
    - strlen
    - EVP_PKEY_new_raw_private_key
    - opt_rest
    - perror
    - BIO_s_file
    - EVP_MD_CTX_new
    - EVP_PKEY_get_default_digest_name
    - load_pubkey
    - getenv
    - bio_open_default
    - EVP_MD_xof
    - EVP_PKEY_free
    - opt_help
    - BIO_printf
    - EVP_DigestVerifyInit_ex
    - opt_rand
    - BIO_new_file
    - opt_int_arg
    - OPENSSL_free
    - BIO_set_callback_ex
    - app_get0_propq
    - EVP_PKEY_get_size
    - OBJ_NAME_do_all_sorted
    - EVP_MD_CTX_free
    - opt_init
    - BIO_free
    - OPENSSL_clear_free
    - EVP_MD_fetch
    - BIO_reset
    - EVP_PKEY_CTX_free
    - init_gen_str
    - EVP_MD_CTX_get1_md
    - sk_OPENSSL_STRING_value
    - BIO_set_fp
    - get_str_from_file
    - opt_next
    linkageType: ''
    returnType: int
    signature: int dgst_main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/openssl/apps/dgst.c:543,1
    - Dst: strstr
      Src: /src/openssl/apps/dgst.c:543,1
    - Dst: islower
      Src: /src/openssl/apps/dgst.c:546,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/dgst.c:550,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:550,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:550,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:554,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:556,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:559,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/dgst.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 537
    functionDepth: 10
    functionLinenumber: 537
    functionLinenumberEnd: 563
    functionName: show_digests
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - app_get0_libctx
    - EVP_MD_fetch
    - app_get0_propq
    - EVP_MD_free
    - strstr
    - islower
    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:577,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - file
    - backslash
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 601
    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:610,1
    - Dst: newline_escape_filename
      Src: /src/openssl/apps/dgst.c:612,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:615,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:620,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:621,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:624,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:626,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:627,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:631,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:635,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:636,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:638,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: 640
      start: 603
    functionDepth: 4
    functionLinenumber: 603
    functionLinenumberEnd: 640
    functionName: print_out
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_free
    - BIO_write
    - newline_escape_filename
    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_puts
      Src: /src/openssl/apps/dgst.c:645,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:647,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - i
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: print_verify_result
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    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:661,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/dgst.c:661,1
    - Dst: BIO_read
      Src: /src/openssl/apps/dgst.c:662,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:664,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:672,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/apps/dgst.c:673,1
    - Dst: print_verify_result
      Src: /src/openssl/apps/dgst.c:674,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:683,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/dgst.c:684,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:685,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:690,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/dgst.c:693,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:694,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:702,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:706,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/apps/dgst.c:708,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:709,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/dgst.c:713,1
    - Dst: print_out
      Src: /src/openssl/apps/dgst.c:717,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/dgst.c:721,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: 724
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 724
    functionName: do_fp
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - EVP_DigestSignFinal
    - BIO_read
    - app_malloc
    - OPENSSL_clear_free
    - BIO_pending
    - print_out
    - BIO_gets
    - BIO_get_md_ctx
    - print_verify_result
    - EVP_DigestFinalXOF
    - EVP_DigestVerifyFinal
    - BIO_eof
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/dgst.c:740,1
    - Dst: print_verify_result
      Src: /src/openssl/apps/dgst.c:741,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/dgst.c:745,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:746,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:749,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/dgst.c:750,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:751,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:752,1
    - Dst: print_out
      Src: /src/openssl/apps/dgst.c:755,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:756,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 11
    argNames:
    - ctx
    - out
    - sigin
    - siglen
    - key
    - data
    - len
    - sep
    - binout
    - sig_name
    - file
    argTypes:
    - EVP_MD_CTX*
    - BIO*
    - unsigned char*
    - int
    - EVP_PKEY*
    - unsigned char*
    - size_t
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 730
    functionDepth: 5
    functionLinenumber: 730
    functionLinenumberEnd: 761
    functionName: do_oneshot_verify_sign
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_DigestVerify
    - OPENSSL_free
    - app_malloc
    - EVP_DigestSign
    - print_out
    - print_verify_result
    linkageType: ''
    returnType: int
    signature: "int do_oneshot_verify_sign(EVP_MD_CTX *ctx, BIO *out,\n    unsigned
      char *sigin, int siglen, EVP_PKEY *key,\n    const unsigned char *data, size_t
      len,\n    int sep, int binout, const char *sig_name, const char *file)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_mmap_file
      Src: /src/openssl/apps/dgst.c:782,1
    - Dst: do_oneshot_verify_sign
      Src: /src/openssl/apps/dgst.c:785,1
    - Dst: munmap
      Src: /src/openssl/apps/dgst.c:789,1
    - Dst: bio_to_mem
      Src: /src/openssl/apps/dgst.c:801,1
    - Dst: do_oneshot_verify_sign
      Src: /src/openssl/apps/dgst.c:803,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/dgst.c:807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    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: 811
      start: 769
    functionDepth: 6
    functionLinenumber: 769
    functionLinenumberEnd: 811
    functionName: do_fp_oneshot_sign
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 1
    functionsReached:
    - app_mmap_file
    - bio_to_mem
    - OPENSSL_clear_free
    - do_oneshot_verify_sign
    - munmap
    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: 39
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs7.c:68,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkcs7.c:70,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkcs7.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs7.c:76,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkcs7.c:79,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs7.c:83,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:83,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs7.c:87,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:87,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:91,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:94,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_puts
      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_puts
      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_puts
      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: BIO_free
      Src: /src/openssl/apps/pkcs7.c:220,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkcs7.c:221,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 146
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 223
    functionName: pkcs7_main
    functionSourceFile: /src/openssl/apps/pkcs7.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - PEM_read_bio_PKCS7
    - sk_X509_num
    - X509_CRL_print_ex
    - app_get0_propq
    - opt_provider
    - sk_X509_CRL_num
    - STACK_OF
    - PEM_write_bio_PKCS7
    - PKCS7_free
    - opt_check_rest_arg
    - sk_X509_CRL_value
    - d2i_PKCS7_bio
    - opt_init
    - BIO_free
    - app_get0_libctx
    - bio_open_default
    - PKCS7_print_ctx
    - PEM_write_bio_X509_CRL
    - OBJ_obj2nid
    - PKCS7_new_ex
    - ERR_print_errors
    - opt_help
    - get_nameopt
    - BIO_printf
    - X509_print
    - opt_format
    - i2d_PKCS7_bio
    - PEM_write_bio_X509
    - BIO_free_all
    - opt_arg
    - dump_cert_text
    - sk_X509_value
    - opt_next
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    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: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: XSTR
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTR(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/apps/enc.c:152,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/enc.c:152,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/enc.c:153,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/enc.c:154,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/enc.c:158,1
    - Dst: EVP_SKEYMGMT_get0_imp_settable_params
      Src: /src/openssl/apps/enc.c:158,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/apps/enc.c:160,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/apps/enc.c:164,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/enc.c:164,1
    - Dst: EVP_SKEYMGMT_get0_name
      Src: /src/openssl/apps/enc.c:164,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/enc.c:165,1
    - Dst: app_params_free
      Src: /src/openssl/apps/enc.c:166,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/apps/enc.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cipher
    - skeymgmt
    - opts
    argTypes:
    - EVP_CIPHER*
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: skey_from_params
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached:
    - EVP_SKEY_import
    - EVP_SKEYMGMT_get0_name
    - app_get0_libctx
    - EVP_CIPHER_name
    - app_params_new_from_opts
    - app_get0_propq
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_free
    - app_params_free
    - EVP_SKEYMGMT_get0_imp_settable_params
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *skey_from_params(const EVP_CIPHER *cipher, const char *skeymgmt,\n
      \   STACK_OF(OPENSSL_STRING) *opts)"
  - BBCount: 144
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/enc.c:210,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:216,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:219,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:223,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:227,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:230,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/enc.c:233,1
    - Dst: opt_init
      Src: /src/openssl/apps/enc.c:234,1
    - Dst: opt_next
      Src: /src/openssl/apps/enc.c:235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:240,1
    - Dst: opt_help
      Src: /src/openssl/apps/enc.c:243,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:247,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/apps/enc.c:250,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:252,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:259,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:262,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:265,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:268,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:306,1
    - Dst: strlen
      Src: /src/openssl/apps/enc.c:307,1
    - Dst: opt_long
      Src: /src/openssl/apps/enc.c:311,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:311,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:321,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/enc.c:324,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:324,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/enc.c:327,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:328,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:331,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:332,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:338,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:344,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:347,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:350,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:353,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/enc.c:356,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/enc.c:359,1
    - Dst: opt_int
      Src: /src/openssl/apps/enc.c:363,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:363,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/enc.c:377,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/enc.c:377,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:377,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:378,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:383,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:386,1
    - Dst: opt_rand
      Src: /src/openssl/apps/enc.c:389,1
    - Dst: opt_provider
      Src: /src/openssl/apps/enc.c:393,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/enc.c:400,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/enc.c:402,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/enc.c:408,1
    - Dst: EVP_CIPHER_mode
      Src: /src/openssl/apps/enc.c:410,1
    - Dst: opt_md
      Src: /src/openssl/apps/enc.c:415,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/enc.c:419,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:428,1
    - Dst: app_malloc
      Src: /src/openssl/apps/enc.c:446,1
    - Dst: app_malloc
      Src: /src/openssl/apps/enc.c:447,1
    - Dst: EVP_ENCODE_LENGTH
      Src: /src/openssl/apps/enc.c:447,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:451,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/enc.c:454,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/enc.c:456,1
    - Dst: app_passwd
      Src: /src/openssl/apps/enc.c:462,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:463,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/enc.c:476,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/enc.c:477,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/enc.c:480,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:490,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:496,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/enc.c:501,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:506,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:507,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:508,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:509,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:518,1
    - Dst: BIO_f_zlib
      Src: /src/openssl/apps/enc.c:518,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:521,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:522,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:525,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:527,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:532,1
    - Dst: BIO_f_brotli
      Src: /src/openssl/apps/enc.c:532,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:535,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:536,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:539,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:541,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:545,1
    - Dst: BIO_f_zstd
      Src: /src/openssl/apps/enc.c:545,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:548,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:549,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:552,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:554,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:559,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/enc.c:559,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:562,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:563,1
    - Dst: BIO_set_flags
      Src: /src/openssl/apps/enc.c:566,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:568,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:570,1
    - Dst: strlen
      Src: /src/openssl/apps/enc.c:581,1
    - Dst: set_hex
      Src: /src/openssl/apps/enc.c:586,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:587,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/enc.c:592,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:593,1
    - Dst: BIO_write
      Src: /src/openssl/apps/enc.c:601,1
    - Dst: BIO_write
      Src: /src/openssl/apps/enc.c:604,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:608,1
    - Dst: BIO_read
      Src: /src/openssl/apps/enc.c:614,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:615,1
    - Dst: memcmp
      Src: /src/openssl/apps/enc.c:618,1
    - Dst: BIO_read
      Src: /src/openssl/apps/enc.c:619,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:622,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:626,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:640,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:641,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/apps/enc.c:645,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:647,1
    - Dst: memcpy
      Src: /src/openssl/apps/enc.c:651,1
    - Dst: memcpy
      Src: /src/openssl/apps/enc.c:652,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:655,1
    - Dst: EVP_BytesToKey
      Src: /src/openssl/apps/enc.c:658,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:661,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/enc.c:671,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/enc.c:673,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:676,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:679,1
    - Dst: set_hex
      Src: /src/openssl/apps/enc.c:680,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:681,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:686,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:692,1
    - Dst: set_hex
      Src: /src/openssl/apps/enc.c:696,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:696,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:697,1
    - Dst: cleanse
      Src: /src/openssl/apps/enc.c:701,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:710,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:714,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/apps/enc.c:714,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/apps/enc.c:722,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/apps/enc.c:725,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/enc.c:728,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:730,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/enc.c:731,1
    - Dst: app_passwd
      Src: /src/openssl/apps/enc.c:738,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:739,1
    - Dst: load_skey
      Src: /src/openssl/apps/enc.c:743,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:744,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:746,1
    - Dst: skey_from_params
      Src: /src/openssl/apps/enc.c:750,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:752,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/enc.c:753,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/apps/enc.c:758,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:760,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:761,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/enc.c:762,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/apps/enc.c:768,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:771,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:772,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:777,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:779,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:780,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:782,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:783,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:784,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:785,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:786,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:788,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:789,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:790,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:791,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:792,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:803,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/enc.c:805,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/enc.c:805,1
    - Dst: BIO_read
      Src: /src/openssl/apps/enc.c:806,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/enc.c:809,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:810,1
    - Dst: BIO_write
      Src: /src/openssl/apps/enc.c:813,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:814,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/enc.c:820,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:822,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:824,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:830,1
    - Dst: BIO_number_read
      Src: /src/openssl/apps/enc.c:832,1
    - Dst: BIO_number_written
      Src: /src/openssl/apps/enc.c:832,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/enc.c:835,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/enc.c:836,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/apps/enc.c:837,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:838,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:839,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:840,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/enc.c:841,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:842,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:843,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/enc.c:844,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/enc.c:845,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:847,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:849,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:850,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:851,1
    CyclomaticComplexity: 227
    EdgeCount: 227
    ICount: 546
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 172
    functionDepth: 8
    functionLinenumber: 172
    functionLinenumberEnd: 853
    functionName: enc_main
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached:
    - dup_bio_in
    - opt_md
    - app_malloc
    - EVP_CIPHER_get_key_length
    - opt_cipher
    - memcpy
    - set_hex
    - load_skey
    - BIO_new
    - BIO_read
    - app_passwd
    - sk_OPENSSL_STRING_new_null
    - EVP_ENCODE_LENGTH
    - STACK_OF
    - BIO_set_callback_arg
    - cleanse
    - printf
    - strcmp
    - sk_OPENSSL_STRING_free
    - EVP_MD_free
    - skey_from_params
    - opt_unknown
    - BIO_f_brotli
    - BIO_f_zstd
    - BIO_number_read
    - opt_arg
    - EVP_CipherInit_SKEY
    - BIO_puts
    - BIO_f_base64
    - opt_set_unknown_name
    - EVP_CIPHER_get_iv_length
    - OPENSSL_cleanse
    - BIO_number_written
    - app_RAND_load
    - opt_provider
    - sk_OPENSSL_STRING_push
    - RAND_bytes
    - EVP_CIPHER_name
    - EVP_CIPHER_free
    - BIO_get_cipher_ctx
    - ERR_print_errors
    - BIO_push
    - EVP_BytesToKey
    - PKCS5_PBKDF2_HMAC
    - EVP_CIPHER_CTX_set_padding
    - EVP_sha256
    - BIO_free_all
    - strlen
    - EVP_SKEY_free
    - BIO_snprintf
    - opt_long
    - EVP_CipherInit_ex
    - opt_check_rest_arg
    - EVP_read_pw_string
    - EVP_CIPHER_mode
    - bio_open_default
    - opt_help
    - BIO_eof
    - BIO_printf
    - BIO_f_cipher
    - memcmp
    - opt_rand
    - EVP_CIPHER_CTX_set_flags
    - opt_int_arg
    - opt_int
    - BIO_set_flags
    - EVP_CIPHER_get0_name
    - OPENSSL_free
    - BIO_write
    - BIO_pending
    - BIO_set_callback_ex
    - BIO_gets
    - OBJ_NAME_do_all_sorted
    - opt_init
    - BIO_free
    - BIO_flush
    - opt_next
    - BIO_f_zlib
    linkageType: ''
    returnType: int
    signature: int enc_main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: islower
      Src: /src/openssl/apps/enc.c:860,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/enc.c:864,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/enc.c:864,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/enc.c:864,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/apps/enc.c:866,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/apps/enc.c:867,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/apps/enc.c:868,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/enc.c:869,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:873,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:875,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:878,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/enc.c:880,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 881
    functionName: show_ciphers
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - app_get0_libctx
    - EVP_CIPHER_get_flags
    - app_get0_propq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_get_mode
    - islower
    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:889,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:891,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:894,1
    - Dst: memset
      Src: /src/openssl/apps/enc.c:897,1
    - Dst: isxdigit
      Src: /src/openssl/apps/enc.c:900,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/enc.c:901,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/enc.c:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - in
    - out
    - size
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 911
    functionName: set_hex
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - isxdigit
    - memset
    - strlen
    - OPENSSL_hexchar2int
    linkageType: ''
    returnType: int
    signature: int set_hex(const char *in, unsigned char *out, int size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/info.c:51,1
    - Dst: opt_next
      Src: /src/openssl/apps/info.c:52,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:56,1
    - Dst: opt_help
      Src: /src/openssl/apps/info.c:59,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/info.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:99,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:103,1
    - Dst: OPENSSL_info
      Src: /src/openssl/apps/info.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 112
    functionName: info_main
    functionSourceFile: /src/openssl/apps/info.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - opt_init
    - opt_next
    - OPENSSL_info
    - opt_check_rest_arg
    - opt_help
    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:51,1
    - Dst: strcmp
      Src: /src/openssl/apps/pkeyutl.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 11
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: only_nomd
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_default_digest_name
    - strcmp
    linkageType: ''
    returnType: int
    signature: int only_nomd(EVP_PKEY *pkey)
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkeyutl.c:161,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkeyutl.c:162,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkeyutl.c:167,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkeyutl.c:169,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkeyutl.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:175,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkeyutl.c:178,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_arg
      Src: /src/openssl/apps/pkeyutl.c:191,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:194,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:197,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:200,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkeyutl.c:203,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:203,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkeyutl.c:207,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:207,1
    - Dst: opt_rand
      Src: /src/openssl/apps/pkeyutl.c:211,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/pkeyutl.c:215,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:215,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkeyutl.c:220,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:261,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:266,1
    - Dst: opt_int_arg
      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:275,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:275,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:276,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/pkeyutl.c:281,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/pkeyutl.c:281,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:281,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:282,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:290,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkeyutl.c:296,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/pkeyutl.c:299,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:320,1
    - Dst: get_pkey
      Src: /src/openssl/apps/pkeyutl.c:325,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:327,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/pkeyutl.c:331,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:332,1
    - Dst: only_nomd
      Src: /src/openssl/apps/pkeyutl.c:337,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:339,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:341,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:349,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:355,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/pkeyutl.c:360,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:361,1
    - Dst: init_ctx
      Src: /src/openssl/apps/pkeyutl.c:365,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkeyutl.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:368,1
    - Dst: setup_peer
      Src: /src/openssl/apps/pkeyutl.c:371,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:372,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/pkeyutl.c:376,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/pkeyutl.c:380,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/pkeyutl.c:382,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:383,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/pkeyutl.c:390,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/pkeyutl.c:394,1
    - Dst: strchr
      Src: /src/openssl/apps/pkeyutl.c:395,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/pkeyutl.c:403,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkeyutl.c:404,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:408,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:410,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/pkeyutl.c:413,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:415,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkeyutl.c:425,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:426,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/apps/pkeyutl.c:431,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:434,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:442,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:448,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyutl.c:454,1
    - Dst: stat
      Src: /src/openssl/apps/pkeyutl.c:458,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:469,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkeyutl.c:475,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyutl.c:478,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:486,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkeyutl.c:492,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/pkeyutl.c:497,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:501,1
    - Dst: bio_to_mem
      Src: /src/openssl/apps/pkeyutl.c:504,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyutl.c:505,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:506,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyutl.c:509,1
    - Dst: bio_to_mem
      Src: /src/openssl/apps/pkeyutl.c:515,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:516,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:536,1
    - Dst: do_raw_keyop
      Src: /src/openssl/apps/pkeyutl.c:546,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/pkeyutl.c:549,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:552,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:555,1
    - Dst: do_raw_keyop
      Src: /src/openssl/apps/pkeyutl.c:561,1
    - Dst: do_keyop
      Src: /src/openssl/apps/pkeyutl.c:568,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:575,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:577,1
    - Dst: do_keyop
      Src: /src/openssl/apps/pkeyutl.c:578,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:585,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:587,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/apps/pkeyutl.c:594,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyutl.c:595,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/pkeyutl.c:597,1
    - Dst: BIO_write
      Src: /src/openssl/apps/pkeyutl.c:599,1
    - Dst: BIO_write
      Src: /src/openssl/apps/pkeyutl.c:603,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyutl.c:607,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/pkeyutl.c:608,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkeyutl.c:609,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkeyutl.c:610,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/pkeyutl.c:611,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyutl.c:612,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkeyutl.c:613,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkeyutl.c:614,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:615,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:616,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:617,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:618,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkeyutl.c:619,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkeyutl.c:620,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/pkeyutl.c:621,1
    CyclomaticComplexity: 179
    EdgeCount: 179
    ICount: 417
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 142
    functionDepth: 12
    functionLinenumber: 142
    functionLinenumberEnd: 623
    functionName: pkeyutl_main
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - bio_to_mem
    - app_malloc
    - ASN1_parse_dump
    - opt_rand
    - BIO_snprintf
    - NCONF_free
    - BIO_new_file
    - EVP_MD_CTX_new
    - opt_int_arg
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - OPENSSL_free
    - BIO_write
    - pkey_ctrl_string
    - app_passwd
    - app_get0_propq
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - get_pkey
    - STACK_OF
    - init_ctx
    - opt_check_rest_arg
    - EVP_MD_CTX_free
    - sk_OPENSSL_STRING_push
    - EVP_read_pw_string
    - opt_init
    - BIO_free
    - app_get0_libctx
    - bio_open_default
    - sk_OPENSSL_STRING_free
    - EVP_MD_free
    - EVP_PKEY_free
    - bio_open_owner
    - ERR_print_errors
    - EVP_PKEY_is_a
    - opt_help
    - EVP_PKEY_CTX_ctrl_str
    - EVP_PKEY_CTX_free
    - stat
    - strchr
    - OPENSSL_strdup
    - BIO_printf
    - do_keyop
    - only_nomd
    - opt_format
    - EVP_PKEY_get0_type_name
    - BIO_free_all
    - setup_peer
    - sk_OPENSSL_STRING_value
    - opt_arg
    - app_load_config_modules
    - EVP_PKEY_verify
    - opt_next
    - BIO_dump
    - do_raw_keyop
    linkageType: ''
    returnType: int
    signature: int pkeyutl_main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:636,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkeyutl.c:639,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:640,1
    - Dst: load_key
      Src: /src/openssl/apps/pkeyutl.c:645,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/pkeyutl.c:649,1
    - Dst: load_cert
      Src: /src/openssl/apps/pkeyutl.c:653,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/pkeyutl.c:655,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkeyutl.c:656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:663,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - kdfalg
    - keyfile
    - keyform
    - key_type
    - passinarg
    - pkey_op
    argTypes:
    - char*
    - char*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 665
    functionName: get_pkey
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - OPENSSL_free
    - load_pubkey
    - load_cert
    - X509_free
    - load_key
    - app_passwd
    - X509_get_pubkey
    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)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/apps/pkeyutl.c:677,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/apps/pkeyutl.c:680,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:682,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/pkeyutl.c:687,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/pkeyutl.c:692,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/pkeyutl.c:693,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/apps/pkeyutl.c:700,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/pkeyutl.c:704,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/apps/pkeyutl.c:709,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/apps/pkeyutl.c:717,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/apps/pkeyutl.c:721,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/openssl/apps/pkeyutl.c:725,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/apps/pkeyutl.c:729,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/apps/pkeyutl.c:733,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/apps/pkeyutl.c:737,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/apps/pkeyutl.c:741,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/apps/pkeyutl.c:743,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/apps/pkeyutl.c:747,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/apps/pkeyutl.c:749,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkeyutl.c:755,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 10
    argNames:
    - kdfalg
    - pkeysize
    - pkey_op
    - rawin
    - pkey
    - mctx
    - digestname
    - kemop
    - libctx
    - propq
    argTypes:
    - char*
    - int*
    - int
    - int
    - EVP_PKEY*
    - EVP_MD_CTX*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 667
    functionDepth: 12
    functionLinenumber: 667
    functionLinenumberEnd: 760
    functionName: init_ctx
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_verify_recover_init
    - EVP_DigestSignInit_ex
    - EVP_PKEY_verify_init
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_get_size
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_encrypt_init
    - OBJ_ln2nid
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_CTX_free
    - OBJ_sn2nid
    - BIO_printf
    - EVP_DigestVerifyInit_ex
    - EVP_PKEY_sign_init
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize,\n    int
      pkey_op, 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/apps/pkeyutl.c:764,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/pkeyutl.c:768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:770,1
    - Dst: strcmp
      Src: /src/openssl/apps/pkeyutl.c:773,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:773,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:773,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:774,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:776,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:776,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/apps/pkeyutl.c:779,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkeyutl.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - peerform
    - file
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 762
    functionDepth: 4
    functionLinenumber: 762
    functionLinenumberEnd: 784
    functionName: setup_peer
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_derive_set_peer
    - load_pubkey
    - EVP_PKEY_get0_type_name
    - strcmp
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int setup_peer(EVP_PKEY_CTX *ctx, int peerform, const char *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_verify_recover
      Src: /src/openssl/apps/pkeyutl.c:795,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/pkeyutl.c:799,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/apps/pkeyutl.c:803,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/apps/pkeyutl.c:807,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/apps/pkeyutl.c:811,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/apps/pkeyutl.c:815,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/apps/pkeyutl.c:819,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: 823
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 823
    functionName: do_keyop
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_encrypt
    - EVP_PKEY_encapsulate
    - EVP_PKEY_decrypt
    - EVP_PKEY_decapsulate
    - 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: 27
    BranchProfiles: []
    Callsites:
    - Dst: only_nomd
      Src: /src/openssl/apps/pkeyutl.c:838,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:840,1
    - Dst: stat
      Src: /src/openssl/apps/pkeyutl.c:849,1
    - Dst: S_ISREG
      Src: /src/openssl/apps/pkeyutl.c:849,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:850,1
    - Dst: app_mmap_file
      Src: /src/openssl/apps/pkeyutl.c:858,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/pkeyutl.c:861,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/pkeyutl.c:864,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:866,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/pkeyutl.c:867,1
    - Dst: munmap
      Src: /src/openssl/apps/pkeyutl.c:873,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:880,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:885,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:888,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:890,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/pkeyutl.c:893,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:896,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:898,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/pkeyutl.c:901,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:903,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/pkeyutl.c:904,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:914,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:918,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/apps/pkeyutl.c:921,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:923,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/apps/pkeyutl.c:927,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:931,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:935,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/apps/pkeyutl.c:938,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:940,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/pkeyutl.c:944,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:946,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/pkeyutl.c:947,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:953,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 117
    argCount: 10
    argNames:
    - pkey_op
    - mctx
    - pkey
    - in
    - infile
    - filesize
    - sig
    - siglen
    - out
    - poutlen
    argTypes:
    - int
    - EVP_MD_CTX*
    - EVP_PKEY*
    - BIO*
    - char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 827
    functionDepth: 12
    functionLinenumber: 827
    functionLinenumberEnd: 955
    functionName: do_raw_keyop
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - EVP_DigestSignFinal
    - only_nomd
    - EVP_DigestVerify
    - app_mmap_file
    - app_malloc
    - BIO_read
    - OPENSSL_free
    - EVP_DigestSignUpdate
    - EVP_DigestSign
    - munmap
    - EVP_DigestVerifyUpdate
    - S_ISREG
    - EVP_DigestVerifyFinal
    - stat
    linkageType: ''
    returnType: int
    signature: "int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx,\n    EVP_PKEY *pkey,
      BIO *in, const char *infile,\n    size_t filesize, unsigned char *sig, size_t
      siglen,\n    unsigned char **out, size_t *poutlen)"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/dhparam.c:101,1
    - Dst: opt_next
      Src: /src/openssl/apps/dhparam.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:107,1
    - Dst: opt_help
      Src: /src/openssl/apps/dhparam.c:110,1
    - Dst: opt_format
      Src: /src/openssl/apps/dhparam.c:114,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:114,1
    - Dst: opt_format
      Src: /src/openssl/apps/dhparam.c:118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:125,1
    - Dst: opt_rand
      Src: /src/openssl/apps/dhparam.c:155,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dhparam.c:159,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/dhparam.c:166,1
    - Dst: opt_rest
      Src: /src/openssl/apps/dhparam.c:167,1
    - Dst: opt_int
      Src: /src/openssl/apps/dhparam.c:169,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/dhparam.c:171,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/dhparam.c:174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:194,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/dhparam.c:197,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dhparam.c:197,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dhparam.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:199,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/dhparam.c:204,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/dhparam.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:207,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/dhparam.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:213,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/apps/dhparam.c:220,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:221,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_prime_len
      Src: /src/openssl/apps/dhparam.c:225,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:226,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_generator
      Src: /src/openssl/apps/dhparam.c:229,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:230,1
    - Dst: app_paramgen
      Src: /src/openssl/apps/dhparam.c:235,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dhparam.c:238,1
    - Dst: dsa_to_dh
      Src: /src/openssl/apps/dhparam.c:241,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dhparam.c:244,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/dhparam.c:254,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/apps/dhparam.c:270,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/apps/dhparam.c:282,1
    - Dst: strcmp
      Src: /src/openssl/apps/dhparam.c:284,1
    - Dst: BIO_reset
      Src: /src/openssl/apps/dhparam.c:298,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/apps/dhparam.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:304,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dhparam.c:309,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:310,1
    - Dst: dsa_to_dh
      Src: /src/openssl/apps/dhparam.c:313,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dhparam.c:317,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dhparam.c:318,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:319,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/dhparam.c:327,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/dhparam.c:332,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/dhparam.c:335,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dhparam.c:335,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dhparam.c:335,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:337,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/apps/dhparam.c:340,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:344,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/dhparam.c:348,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/dhparam.c:355,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/dhparam.c:356,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:357,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/dhparam.c:360,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dhparam.c:365,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dhparam.c:366,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dhparam.c:367,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dhparam.c:368,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dhparam.c:369,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dhparam.c:370,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 228
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 90
    functionDepth: 12
    functionLinenumber: 90
    functionLinenumberEnd: 372
    functionName: dhparam_main
    functionSourceFile: /src/openssl/apps/dhparam.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_PKEY_param_check
    - OSSL_ENCODER_to_bio
    - opt_rand
    - EVP_PKEY_CTX_set_dh_paramgen_prime_len
    - EVP_PKEY_print_params
    - EVP_PKEY_CTX_new_from_name
    - opt_int
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_DECODER_CTX_new_for_pkey
    - app_RAND_load
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - dsa_to_dh
    - app_get0_propq
    - opt_provider
    - OSSL_ENCODER_CTX_new_for_pkey
    - opt_check_rest_arg
    - opt_init
    - BIO_free
    - app_get0_libctx
    - bio_open_default
    - EVP_PKEY_CTX_set_cb
    - strcmp
    - opt_num_rest
    - BIO_reset
    - EVP_PKEY_free
    - app_paramgen
    - ERR_print_errors
    - opt_help
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_is_a
    - OSSL_ENCODER_CTX_free
    - BIO_printf
    - opt_format
    - OSSL_DECODER_from_bio
    - BIO_free_all
    - opt_arg
    - EVP_PKEY_CTX_set_dh_paramgen_generator
    - opt_next
    - EVP_PKEY_CTX_set_app_data
    - EVP_PKEY_paramgen_init
    - opt_rest
    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:387,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dhparam.c:388,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dhparam.c:389,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:390,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/apps/dhparam.c:394,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/dhparam.c:395,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/dhparam.c:397,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/dhparam.c:399,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/apps/dhparam.c:401,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:402,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/dhparam.c:406,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dhparam.c:406,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dhparam.c:406,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/apps/dhparam.c:408,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/apps/dhparam.c:409,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dhparam.c:410,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dhparam.c:415,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/apps/dhparam.c:416,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/apps/dhparam.c:417,1
    - Dst: BN_free
      Src: /src/openssl/apps/dhparam.c:418,1
    - Dst: BN_free
      Src: /src/openssl/apps/dhparam.c:419,1
    - Dst: BN_free
      Src: /src/openssl/apps/dhparam.c:420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - dh
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 379
    functionDepth: 6
    functionLinenumber: 379
    functionLinenumberEnd: 422
    functionName: dsa_to_dh
    functionSourceFile: /src/openssl/apps/dhparam.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BIO_puts
    - app_get0_libctx
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bn_param
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    - app_get0_propq
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *dsa_to_dh(EVP_PKEY *dh)
  - BBCount: 237
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:312,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:313,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:314,1
    - Dst: opt_init
      Src: /src/openssl/apps/ca.c:347,1
    - Dst: opt_next
      Src: /src/openssl/apps/ca.c:348,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:353,1
    - Dst: opt_help
      Src: /src/openssl/apps/ca.c:356,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:361,1
    - Dst: opt_format
      Src: /src/openssl/apps/ca.c:364,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:364,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:368,1
    - Dst: set_dateopt
      Src: /src/openssl/apps/ca.c:371,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:371,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_arg
      Src: /src/openssl/apps/ca.c:387,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:404,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:408,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ca.c:411,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:414,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:417,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:420,1
    - Dst: opt_format
      Src: /src/openssl/apps/ca.c:423,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:423,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:427,1
    - Dst: opt_rand
      Src: /src/openssl/apps/ca.c:430,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ca.c:434,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:438,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:441,1
    - Dst: opt_format
      Src: /src/openssl/apps/ca.c:444,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:444,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:451,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ca.c:455,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ca.c:456,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:456,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ca.c:461,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ca.c:462,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:462,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:481,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:484,1
    - Dst: atol
      Src: /src/openssl/apps/ca.c:487,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:487,1
    - Dst: atol
      Src: /src/openssl/apps/ca.c:490,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:490,1
    - Dst: atol
      Src: /src/openssl/apps/ca.c:493,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:493,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:499,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:503,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:507,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:511,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:515,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:518,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:521,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:527,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:533,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/ca.c:541,1
    - Dst: opt_rest
      Src: /src/openssl/apps/ca.c:542,1
    - Dst: app_load_config_verbose
      Src: /src/openssl/apps/ca.c:544,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/ca.c:546,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:551,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:554,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ca.c:556,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/ca.c:559,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/ca.c:561,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ca.c:562,1
    - Dst: add_oid_section
      Src: /src/openssl/apps/ca.c:565,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/ca.c:568,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/ca.c:569,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:572,1
    - Dst: ASN1_STRING_set_default_mask_asc
      Src: /src/openssl/apps/ca.c:573,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:574,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:579,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:580,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:585,1
    - Dst: parse_yesno
      Src: /src/openssl/apps/ca.c:587,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:592,1
    - Dst: load_index
      Src: /src/openssl/apps/ca.c:596,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:598,1
    - Dst: index_index
      Src: /src/openssl/apps/ca.c:602,1
    - Dst: get_certificate_status
      Src: /src/openssl/apps/ca.c:605,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:606,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:614,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ca.c:619,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:620,1
    - Dst: load_key
      Src: /src/openssl/apps/ca.c:624,1
    - Dst: cleanse
      Src: /src/openssl/apps/ca.c:625,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:634,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/ca.c:637,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/ca.c:641,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:642,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:650,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:654,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/ca.c:656,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:657,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:663,1
    - Dst: set_cert_ex
      Src: /src/openssl/apps/ca.c:665,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:666,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:672,1
    - Dst: set_ext_copy
      Src: /src/openssl/apps/ca.c:674,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:675,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/ca.c:684,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:686,1
    - Dst: app_isdir
      Src: /src/openssl/apps/ca.c:698,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:699,1
    - Dst: perror
      Src: /src/openssl/apps/ca.c:700,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:708,1
    - Dst: load_index
      Src: /src/openssl/apps/ca.c:712,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:714,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:719,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/ca.c:720,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:722,1
    - Dst: make_revoked
      Src: /src/openssl/apps/ca.c:727,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:728,1
    - Dst: check_time_format
      Src: /src/openssl/apps/ca.c:731,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:732,1
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:736,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:742,1
    - Dst: isxdigit
      Src: /src/openssl/apps/ca.c:747,1
    - Dst: _UC
      Src: /src/openssl/apps/ca.c:747,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:748,1
    - Dst: TXT_DB_write
      Src: /src/openssl/apps/ca.c:756,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:757,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:758,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:759,1
    - Dst: index_index
      Src: /src/openssl/apps/ca.c:762,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:769,1
    - Dst: do_updatedb
      Src: /src/openssl/apps/ca.c:771,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:773,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:777,1
    - Dst: save_index
      Src: /src/openssl/apps/ca.c:779,1
    - Dst: rotate_index
      Src: /src/openssl/apps/ca.c:782,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:786,1
    - Dst: app_load_config
      Src: /src/openssl/apps/ca.c:793,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:799,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:804,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/ca.c:818,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:828,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:831,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:832,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:835,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:835,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:837,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:848,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:849,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:853,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:855,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:859,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:861,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:864,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/ca.c:873,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:874,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:885,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/ca.c:890,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:891,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:900,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:902,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/ca.c:904,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:908,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:912,1
    - Dst: BN_new
      Src: /src/openssl/apps/ca.c:916,1
    - Dst: rand_serial
      Src: /src/openssl/apps/ca.c:916,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:917,1
    - Dst: load_serial
      Src: /src/openssl/apps/ca.c:921,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:923,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ca.c:927,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:928,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ca.c:930,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:932,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:933,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/ca.c:938,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:939,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/ca.c:943,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:944,1
    - Dst: certify_spkac
      Src: /src/openssl/apps/ca.c:949,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:952,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:958,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:959,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:961,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:962,1
    - Dst: certify_cert
      Src: /src/openssl/apps/ca.c:969,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:973,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:979,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:980,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:982,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:983,1
    - Dst: certify
      Src: /src/openssl/apps/ca.c:990,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:994,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:999,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:1000,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:1002,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1003,1
    - Dst: certify
      Src: /src/openssl/apps/ca.c:1010,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:1015,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1020,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:1021,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1022,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:1025,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1026,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1027,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1037,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1039,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/ca.c:1042,1
    - Dst: fgets
      Src: /src/openssl/apps/ca.c:1044,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1045,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1050,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1056,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1057,1
    - Dst: save_serial
      Src: /src/openssl/apps/ca.c:1060,1
    - Dst: save_index
      Src: /src/openssl/apps/ca.c:1063,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/ca.c:1067,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:1069,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1073,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1075,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/ca.c:1077,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/ca.c:1078,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:1079,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:1080,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1085,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1106,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ca.c:1108,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ca.c:1113,1
    - Dst: perror
      Src: /src/openssl/apps/ca.c:1115,1
    - Dst: write_new_certificate
      Src: /src/openssl/apps/ca.c:1118,1
    - Dst: write_new_certificate
      Src: /src/openssl/apps/ca.c:1119,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1120,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1121,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1125,1
    - Dst: rotate_serial
      Src: /src/openssl/apps/ca.c:1128,1
    - Dst: rotate_index
      Src: /src/openssl/apps/ca.c:1131,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1134,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:1143,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/ca.c:1148,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:1149,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:1156,1
    - Dst: load_serial
      Src: /src/openssl/apps/ca.c:1158,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1160,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/ca.c:1166,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/ca.c:1169,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1180,1
    - Dst: X509_CRL_new_ex
      Src: /src/openssl/apps/ca.c:1181,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ca.c:1181,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ca.c:1181,1
    - Dst: X509_CRL_set_issuer_name
      Src: /src/openssl/apps/ca.c:1183,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1183,1
    - Dst: set_crl_lastupdate
      Src: /src/openssl/apps/ca.c:1186,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1187,1
    - Dst: set_crl_nextupdate
      Src: /src/openssl/apps/ca.c:1192,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1194,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:1199,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/ca.c:1200,1
    - Dst: X509_REVOKED_new
      Src: /src/openssl/apps/ca.c:1202,1
    - Dst: make_revoked
      Src: /src/openssl/apps/ca.c:1204,1
    - Dst: BN_hex2bn
      Src: /src/openssl/apps/ca.c:1209,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ca.c:1211,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1212,1
    - Dst: X509_REVOKED_set_serialNumber
      Src: /src/openssl/apps/ca.c:1216,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ca.c:1217,1
    - Dst: X509_CRL_add0_revoked
      Src: /src/openssl/apps/ca.c:1218,1
    - Dst: X509_CRL_sort
      Src: /src/openssl/apps/ca.c:1225,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1229,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/ca.c:1236,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:1237,1
    - Dst: X509V3_EXT_CRL_add_nconf
      Src: /src/openssl/apps/ca.c:1239,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1240,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ca.c:1245,1
    - Dst: X509_CRL_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:1248,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ca.c:1249,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:1251,1
    - Dst: X509_CRL_set_version
      Src: /src/openssl/apps/ca.c:1256,1
    - Dst: save_serial
      Src: /src/openssl/apps/ca.c:1262,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1265,1
    - Dst: do_X509_CRL_sign
      Src: /src/openssl/apps/ca.c:1268,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ca.c:1271,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/ca.c:1276,1
    - Dst: rotate_serial
      Src: /src/openssl/apps/ca.c:1280,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1286,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/ca.c:1291,1
    - Dst: do_revoke
      Src: /src/openssl/apps/ca.c:1297,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1300,1
    - Dst: save_index
      Src: /src/openssl/apps/ca.c:1302,1
    - Dst: rotate_index
      Src: /src/openssl/apps/ca.c:1305,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1308,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ca.c:1315,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1316,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1317,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1318,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ca.c:1319,1
    - Dst: cleanse
      Src: /src/openssl/apps/ca.c:1321,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1323,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1324,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1325,1
    - Dst: free_index
      Src: /src/openssl/apps/ca.c:1326,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ca.c:1327,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ca.c:1328,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ca.c:1329,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1330,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/ca.c:1331,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/ca.c:1332,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/ca.c:1333,1
    CyclomaticComplexity: 377
    EdgeCount: 377
    ICount: 875
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 303
    functionDepth: 11
    functionLinenumber: 303
    functionLinenumberEnd: 1335
    functionName: ca_main
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 0
    functionsReached:
    - X509_CRL_set_issuer_name
    - load_key
    - app_conf_try_number
    - X509_CRL_add0_revoked
    - ERR_clear_error
    - set_crl_lastupdate
    - set_dateopt
    - app_passwd
    - save_index
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - X509V3_set_nconf
    - free_index
    - cleanse
    - X509_CRL_add1_ext_i2d
    - app_get0_libctx
    - strcmp
    - get_certificate_status
    - save_serial
    - opt_num_rest
    - rotate_serial
    - sk_OPENSSL_STRING_free
    - certify_spkac
    - load_index
    - OPENSSL_strlcpy
    - X509V3_set_ctx_test
    - set_crl_nextupdate
    - opt_format
    - OSSL_STACK_OF_X509_free
    - X509_CRL_free
    - X509V3_set_ctx
    - X509_REVOKED_set_serialNumber
    - opt_arg
    - sk_X509_value
    - BN_to_ASN1_INTEGER
    - BIO_puts
    - atol
    - BN_is_zero
    - check_time_format
    - _UC
    - sk_X509_push
    - sk_X509_num
    - BN_hex2bn
    - certify
    - app_load_config
    - X509_CRL_set_version
    - app_RAND_load
    - X509_CRL_sort
    - make_revoked
    - app_isdir
    - opt_provider
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_STRING_push
    - set_ext_copy
    - fgets
    - PEM_write_bio_X509_CRL
    - certify_cert
    - ERR_print_errors
    - ASN1_STRING_set_default_mask_asc
    - isxdigit
    - set_nameopt
    - ASN1_INTEGER_free
    - BIO_free_all
    - set_cert_ex
    - rotate_index
    - TXT_DB_write
    - strlen
    - opt_rest
    - X509_free
    - perror
    - EVP_PKEY_get_default_digest_name
    - X509_REVOKED_new
    - parse_yesno
    - OPENSSL_strlcat
    - load_serial
    - app_RAND_load_conf
    - X509V3_EXT_CRL_add_nconf
    - do_revoke
    - sk_X509_new_null
    - bio_open_default
    - EVP_PKEY_free
    - opt_help
    - BN_bn2hex
    - get_nameopt
    - BIO_printf
    - X509_get0_serialNumber
    - X509_check_private_key
    - OBJ_create_objects
    - NCONF_get_string
    - BN_free
    - app_load_modules
    - sk_OPENSSL_PSTRING_num
    - NCONF_get_section
    - write_new_certificate
    - opt_rand
    - NCONF_free
    - BIO_new_file
    - rand_serial
    - opt_int_arg
    - X509_CRL_new_ex
    - lookup_conf
    - OPENSSL_free
    - app_conf_try_string
    - app_get0_propq
    - ASN1_STRING_length
    - do_X509_CRL_sign
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - opt_init
    - BIO_free
    - index_index
    - BIO_flush
    - app_load_config_verbose
    - add_oid_section
    - load_cert_pass
    - BN_new
    - do_updatedb
    - do_EXT_add_nconf
    - opt_next
    - BN_add_word
    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:1339,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - section
    - tag
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1343
    functionName: lookup_conf
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - NCONF_get_string
    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:1362,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/ca.c:1365,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1366,1
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/apps/ca.c:1370,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1372,1
    - Dst: X509_REQ_check_private_key
      Src: /src/openssl/apps/ca.c:1375,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1376,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/ca.c:1380,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1382,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1386,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1390,1
    - Dst: do_body
      Src: /src/openssl/apps/ca.c:1392,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ca.c:1398,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/ca.c:1399,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: 1401
      start: 1345
    functionDepth: 6
    functionLinenumber: 1345
    functionLinenumberEnd: 1401
    functionName: certify
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - X509_REQ_free
    - do_body
    - X509_REQ_print_ex
    - do_X509_REQ_verify
    - ERR_print_errors
    - load_csr_autofmt
    - X509_REQ_check_private_key
    - X509_REQ_get0_pubkey
    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:1420,1
    - Dst: X509_print
      Src: /src/openssl/apps/ca.c:1425,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1427,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/ca.c:1429,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1430,1
    - Dst: do_X509_verify
      Src: /src/openssl/apps/ca.c:1433,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1436,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1441,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1444,1
    - Dst: X509_to_X509_REQ
      Src: /src/openssl/apps/ca.c:1447,1
    - Dst: do_body
      Src: /src/openssl/apps/ca.c:1450,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/ca.c:1456,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1457,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: 1459
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1459
    functionName: certify_cert
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - do_X509_verify
    - X509_REQ_free
    - do_body
    - X509_print
    - X509_to_X509_REQ
    - X509_free
    - X509_get0_pubkey
    - load_cert_pass
    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: 88
    BranchProfiles: []
    Callsites:
    - Dst: parse_name
      Src: /src/openssl/apps/ca.c:1491,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/ca.c:1497,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1498,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1504,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/ca.c:1506,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/apps/ca.c:1507,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/apps/ca.c:1509,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/apps/ca.c:1510,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/openssl/apps/ca.c:1511,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/ca.c:1512,1
    - Dst: ASN1_STRING_type
      Src: /src/openssl/apps/ca.c:1513,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1521,1
    - Dst: ASN1_PRINTABLE_type
      Src: /src/openssl/apps/ca.c:1526,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:1526,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:1527,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1530,1
    - Dst: old_entry_print
      Src: /src/openssl/apps/ca.c:1538,1
    - Dst: X509_NAME_new
      Src: /src/openssl/apps/ca.c:1542,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1543,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1549,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1551,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1551,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/ca.c:1556,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/ca.c:1557,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/ca.c:1558,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1559,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/ca.c:1564,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/apps/ca.c:1571,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/apps/ca.c:1577,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:1582,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:1585,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1587,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:1594,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1598,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/apps/ca.c:1607,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1609,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/apps/ca.c:1616,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/apps/ca.c:1617,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/apps/ca.c:1618,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/apps/ca.c:1620,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1624,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:1628,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:1629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1633,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/apps/ca.c:1640,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1641,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1651,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1653,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1660,1
    - Dst: X509_new_ex
      Src: /src/openssl/apps/ca.c:1663,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ca.c:1663,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ca.c:1663,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ca.c:1666,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/apps/ca.c:1666,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/ca.c:1669,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/ca.c:1672,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1672,1
    - Dst: set_cert_times
      Src: /src/openssl/apps/ca.c:1676,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/apps/ca.c:1682,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:1682,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/ca.c:1687,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/ca.c:1690,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/apps/ca.c:1691,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/ca.c:1696,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/openssl/apps/ca.c:1701,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/ca.c:1703,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1704,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1712,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:1716,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1720,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:1724,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1729,1
    - Dst: copy_extensions
      Src: /src/openssl/apps/ca.c:1736,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1737,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1742,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1754,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1755,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/apps/ca.c:1759,1
    - Dst: X509_NAME_delete_entry
      Src: /src/openssl/apps/ca.c:1763,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/apps/ca.c:1764,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/ca.c:1767,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1768,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1771,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/ca.c:1774,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1774,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1776,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ca.c:1780,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1781,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ca.c:1783,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1795,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1796,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1798,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:1806,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1808,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:1814,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1816,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1819,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1825,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1834,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1844,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1848,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1852,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1856,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1862,1
    - Dst: X509_print_ex
      Src: /src/openssl/apps/ca.c:1867,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1870,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/ca.c:1871,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:1871,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1873,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1874,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1878,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/ca.c:1879,1
    - Dst: fgets
      Src: /src/openssl/apps/ca.c:1881,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1882,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1888,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/ca.c:1894,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/apps/ca.c:1895,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/apps/ca.c:1895,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/apps/ca.c:1896,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/ca.c:1898,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1902,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:1903,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:1904,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:1904,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:1905,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:1905,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:1905,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:1906,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1908,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1911,1
    - Dst: app_malloc_array
      Src: /src/openssl/apps/ca.c:1915,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/apps/ca.c:1920,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1921,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1931,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1933,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1935,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1936,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1938,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 362
    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: 1942
      start: 1461
    functionDepth: 8
    functionLinenumber: 1461
    functionLinenumberEnd: 1942
    functionName: do_body
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 2
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BIO_puts
    - X509V3_set_issuer_pkey
    - copy_extensions
    - BN_is_zero
    - X509_free
    - app_malloc
    - X509_NAME_entry_count
    - TXT_DB_get_by_index
    - EVP_PKEY_copy_parameters
    - parse_name
    - sk_CONF_VALUE_value
    - X509_NAME_dup
    - X509_NAME_get_index_by_OBJ
    - X509_set_subject_name
    - memcpy
    - old_entry_print
    - OBJ_nid2obj
    - set_cert_times
    - EVP_PKEY_missing_parameters
    - OPENSSL_free
    - TXT_DB_insert
    - X509_print_ex
    - X509_set_pubkey
    - app_get0_propq
    - ASN1_STRING_length
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - X509_get_serialNumber
    - X509_NAME_ENTRY_get_object
    - do_X509_sign
    - X509_NAME_get_index_by_NID
    - X509_REQ_get0_pubkey
    - X509_NAME_ENTRY_get_data
    - X509_REQ_set_subject_name
    - fgets
    - app_get0_libctx
    - strcmp
    - OBJ_txt2nid
    - OBJ_obj2nid
    - BIO_flush
    - app_malloc_array
    - X509_NAME_get_entry
    - X509_get0_pubkey
    - ASN1_TIME_diff
    - BN_bn2hex
    - X509_NAME_new
    - OPENSSL_strdup
    - BIO_printf
    - X509_NAME_delete_entry
    - X509_get0_notAfter
    - X509_NAME_free
    - X509_NAME_oneline
    - ASN1_TIME_print_ex
    - X509_REQ_get_subject_name
    - ASN1_STRING_cmp
    - X509_NAME_add_entry
    - X509_set_issuer_name
    - X509V3_set_ctx
    - do_EXT_add_nconf
    - sk_CONF_VALUE_num
    - X509_new_ex
    - cert_matches_key
    - X509_NAME_ENTRY_free
    - ASN1_PRINTABLE_type
    - ASN1_STRING_type
    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:1948,1
    - Dst: X509_print
      Src: /src/openssl/apps/ca.c:1952,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/ca.c:1953,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: 1954
      start: 1944
    functionDepth: 2
    functionLinenumber: 1944
    functionLinenumberEnd: 1954
    functionName: write_new_certificate
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - i2d_X509_bio
    - PEM_write_bio_X509
    - X509_print
    linkageType: ''
    returnType: void
    signature: void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:1966,1
    - Dst: LHASH_OF
      Src: /src/openssl/apps/ca.c:1967,1
    - Dst: CONF_load
      Src: /src/openssl/apps/ca.c:1984,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1986,1
    - Dst: CONF_get_section
      Src: /src/openssl/apps/ca.c:1990,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/ca.c:1991,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1992,1
    - Dst: X509_REQ_new
      Src: /src/openssl/apps/ca.c:2003,1
    - Dst: X509_NAME_new
      Src: /src/openssl/apps/ca.c:2010,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/ca.c:2015,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/ca.c:2018,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/ca.c:2032,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:2033,1
    - Dst: NETSCAPE_SPKI_b64_decode
      Src: /src/openssl/apps/ca.c:2034,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2036,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/apps/ca.c:2044,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2049,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/ca.c:2054,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2061,1
    - Dst: NETSCAPE_SPKI_get_pubkey
      Src: /src/openssl/apps/ca.c:2063,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2064,1
    - Dst: NETSCAPE_SPKI_verify
      Src: /src/openssl/apps/ca.c:2068,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ca.c:2070,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2071,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2075,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/openssl/apps/ca.c:2077,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ca.c:2078,1
    - Dst: do_body
      Src: /src/openssl/apps/ca.c:2079,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/ca.c:2084,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:2085,1
    - Dst: CONF_free
      Src: /src/openssl/apps/ca.c:2086,1
    - Dst: NETSCAPE_SPKI_free
      Src: /src/openssl/apps/ca.c:2087,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/apps/ca.c:2088,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    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: 2091
      start: 1956
    functionDepth: 9
    functionLinenumber: 1956
    functionLinenumberEnd: 2091
    functionName: certify_spkac
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - X509_REQ_new
    - BIO_puts
    - sk_CONF_VALUE_value
    - X509_NAME_add_entry_by_NID
    - NETSCAPE_SPKI_b64_decode
    - CONF_get_section
    - STACK_OF
    - CONF_free
    - do_body
    - X509_REQ_set_subject_name
    - strcmp
    - OBJ_txt2nid
    - X509_REQ_set_pubkey
    - NETSCAPE_SPKI_verify
    - EVP_PKEY_free
    - LHASH_OF
    - NETSCAPE_SPKI_get_pubkey
    - X509_NAME_new
    - BIO_printf
    - X509_REQ_free
    - X509_NAME_free
    - NETSCAPE_SPKI_free
    - CONF_load
    - sk_CONF_VALUE_num
    - X509_NAME_ENTRY_free
    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:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2093
    functionDepth: 2
    functionLinenumber: 2093
    functionLinenumberEnd: 2096
    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:2109,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:2109,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/ca.c:2110,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/ca.c:2110,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ca.c:2113,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2114,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ca.c:2116,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:2117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2120,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2121,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2124,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:2131,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2133,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2138,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:2139,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2140,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:2140,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:2141,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:2141,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:2141,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:2142,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2144,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2147,1
    - Dst: app_malloc_array
      Src: /src/openssl/apps/ca.c:2151,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/apps/ca.c:2156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2160,1
    - Dst: do_revoke
      Src: /src/openssl/apps/ca.c:2172,1
    - Dst: index_name_cmp_noconst
      Src: /src/openssl/apps/ca.c:2176,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2177,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2180,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2188,1
    - Dst: make_revocation_str
      Src: /src/openssl/apps/ca.c:2189,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2201,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 4
    argNames:
    - x509
    - db
    - rev_type
    - value
    argTypes:
    - X509*
    - CA_DB*
    - REVINFO_TYPE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2098
    functionDepth: 7
    functionLinenumber: 2098
    functionLinenumberEnd: 2203
    functionName: do_revoke
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - BN_is_zero
    - app_malloc
    - TXT_DB_get_by_index
    - memcpy
    - OPENSSL_free
    - TXT_DB_insert
    - ASN1_STRING_length
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - index_name_cmp_noconst
    - ASN1_INTEGER_to_BN
    - do_revoke
    - app_malloc_array
    - BN_bn2hex
    - OPENSSL_strdup
    - BIO_printf
    - X509_get0_notAfter
    - X509_get0_serialNumber
    - X509_NAME_oneline
    - make_revocation_str
    - BN_free
    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:2209,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2216,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:2225,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:2229,1
    - Dst: make_uppercase
      Src: /src/openssl/apps/ca.c:2234,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:2239,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: BIO_printf
      Src: /src/openssl/apps/ca.c:2261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - serial
    - db
    argTypes:
    - char*
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2205
    functionDepth: 2
    functionLinenumber: 2205
    functionLinenumberEnd: 2270
    functionName: get_certificate_status
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - make_uppercase
    - OPENSSL_free
    - app_malloc
    - TXT_DB_get_by_index
    - strlen
    - memcpy
    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:2278,1
    - Dst: X509_time_adj
      Src: /src/openssl/apps/ca.c:2283,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2284,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:2288,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/ca.c:2289,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/apps/ca.c:2295,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2297,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/apps/ca.c:2301,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2302,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2303,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/apps/ca.c:2307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2312,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2314,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - db
    - now
    argTypes:
    - CA_DB*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2272
    functionDepth: 8
    functionLinenumber: 2272
    functionLinenumberEnd: 2320
    functionName: do_updatedb
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - ASN1_TIME_compare
    - ASN1_TIME_new
    - ASN1_TIME_set_string
    - X509_time_adj
    - sk_OPENSSL_PSTRING_value
    - ASN1_TIME_free
    - sk_OPENSSL_PSTRING_num
    linkageType: ''
    returnType: int
    signature: int do_updatedb(CA_DB *db, const time_t *now)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/ca.c:2362,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2368,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/ca.c:2375,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ca.c:2376,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2379,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/apps/ca.c:2390,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2391,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/apps/ca.c:2405,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:2410,1
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:2413,1
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:2415,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2417,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/ca.c:2418,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:2418,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2420,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2421,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2424,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2425,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/openssl/apps/ca.c:2427,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - rev_type
    - rev_arg
    argTypes:
    - REVINFO_TYPE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2347
    functionDepth: 8
    functionLinenumber: 2347
    functionLinenumberEnd: 2429
    functionName: make_revocation_str
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - X509_gmtime_adj
    - ASN1_STRING_get0_data
    - app_malloc
    - ASN1_UTCTIME_free
    - OPENSSL_strlcat
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_STRING_length
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    - OPENSSL_strcasecmp
    - strlen
    - OPENSSL_strlcpy
    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:2450,1
    - Dst: X509_REVOKED_set_revocationDate
      Src: /src/openssl/apps/ca.c:2455,1
    - Dst: ASN1_ENUMERATED_new
      Src: /src/openssl/apps/ca.c:2459,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/apps/ca.c:2460,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:2462,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:2467,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:2471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2482,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ca.c:2483,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/apps/ca.c:2484,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/apps/ca.c:2485,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2486,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - rev
    - str
    argTypes:
    - X509_REVOKED*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2439
    functionDepth: 5
    functionLinenumber: 2439
    functionLinenumberEnd: 2489
    functionName: make_revoked
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - ASN1_ENUMERATED_new
    - OPENSSL_free
    - ASN1_ENUMERATED_free
    - X509_REVOKED_set_revocationDate
    - X509_REVOKED_add1_ext_i2d
    - ASN1_ENUMERATED_set
    - unpack_revinfo
    - ASN1_OBJECT_free
    - ASN1_TIME_free
    - ASN1_GENERALIZEDTIME_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:2497,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2503,1
    - Dst: ASN1_STRING_type
      Src: /src/openssl/apps/ca.c:2505,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2506,1
    - Dst: ASN1_STRING_type
      Src: /src/openssl/apps/ca.c:2507,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2508,1
    - Dst: ASN1_STRING_type
      Src: /src/openssl/apps/ca.c:2509,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2510,1
    - Dst: ASN1_STRING_type
      Src: /src/openssl/apps/ca.c:2511,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2512,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2514,1
    - Dst: ASN1_STRING_type
      Src: /src/openssl/apps/ca.c:2514,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:2516,1
    - Dst: ASN1_STRING_length
      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_puts
      Src: /src/openssl/apps/ca.c:2523,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2525,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - obj
    - str
    argTypes:
    - ASN1_OBJECT*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2491
    functionDepth: 5
    functionLinenumber: 2491
    functionLinenumberEnd: 2530
    functionName: old_entry_print
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - i2a_ASN1_OBJECT
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - ASN1_STRING_type
    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:2543,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2545,1
    - Dst: strchr
      Src: /src/openssl/apps/ca.c:2549,1
    - Dst: strchr
      Src: /src/openssl/apps/ca.c:2557,1
    - Dst: ASN1_UTCTIME_new
      Src: /src/openssl/apps/ca.c:2565,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2567,1
    - Dst: ASN1_UTCTIME_set_string
      Src: /src/openssl/apps/ca.c:2570,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2571,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/ca.c:2577,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2583,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2591,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/ca.c:2595,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2598,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ca.c:2604,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2607,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/apps/ca.c:2610,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2612,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/apps/ca.c:2615,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2616,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2637,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/apps/ca.c:2638,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: 2641
      start: 2532
    functionDepth: 8
    functionLinenumber: 2532
    functionLinenumberEnd: 2641
    functionName: unpack_revinfo
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - BIO_puts
    - BIO_printf
    - ASN1_GENERALIZEDTIME_new
    - OPENSSL_free
    - ASN1_UTCTIME_set_string
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_UTCTIME_new
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    - OPENSSL_strcasecmp
    - ASN1_GENERALIZEDTIME_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:247,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/x509.c:247,1
    - Dst: strstr
      Src: /src/openssl/apps/x509.c:249,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - excluded
    - names
    argTypes:
    - ASN1_OBJECT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 6
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: warn_copying
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - OBJ_nid2sn
    - strstr
    - BIO_printf
    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:257,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:258,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/x509.c:259,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/x509.c:260,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:261,1
    - Dst: X509_to_X509_REQ
      Src: /src/openssl/apps/x509.c:262,1
    - Dst: warn_copying
      Src: /src/openssl/apps/x509.c:271,1
    - Dst: warn_copying
      Src: /src/openssl/apps/x509.c:272,1
    - Dst: sk_X509_EXTENSION_new_reserve
      Src: /src/openssl/apps/x509.c:273,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/x509.c:276,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/x509.c:277,1
    - Dst: OBJ_cmp
      Src: /src/openssl/apps/x509.c:279,1
    - Dst: OBJ_cmp
      Src: /src/openssl/apps/x509.c:279,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/apps/x509.c:280,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:284,1
    - Dst: X509_REQ_add_extensions
      Src: /src/openssl/apps/x509.c:286,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:287,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:291,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:295,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/x509.c:296,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - cert
    - ext_copy
    - names
    argTypes:
    - X509*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: x509_to_req
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - X509_EXTENSION_get_object
    - OBJ_nid2obj
    - sk_X509_EXTENSION_value
    - OBJ_cmp
    - X509_REQ_free
    - X509_get0_extensions
    - X509_to_X509_REQ
    - sk_X509_EXTENSION_push
    - sk_X509_EXTENSION_new_reserve
    - sk_X509_EXTENSION_num
    - X509_REQ_add_extensions
    - sk_X509_EXTENSION_free
    - warn_copying
    - STACK_OF
    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:302,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/x509.c:305,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:306,1
    - Dst: X509_STORE_CTX_set_flags
      Src: /src/openssl/apps/x509.c:308,1
    - Dst: X509_verify_cert
      Src: /src/openssl/apps/x509.c:309,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/x509.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: self_signed
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 8
    functionsReached:
    - BIO_puts
    - X509_STORE_CTX_init
    - X509_STORE_CTX_new
    - X509_STORE_CTX_free
    - X509_verify_cert
    - X509_STORE_CTX_set_flags
    linkageType: ''
    returnType: int
    signature: int self_signed(X509_STORE *ctx, X509 *cert)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_quiet
      Src: /src/openssl/apps/x509.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:343,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:350,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/apps/x509.c:354,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:354,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/apps/x509.c:355,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/x509.c:356,1
    - Dst: BIO_free
      Src: /src/openssl/apps/x509.c:359,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - file
    - sect
    - quiet
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 365
    functionName: load_ext_conf
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - bio_open_default_quiet
    - NCONF_new_ex
    - NCONF_load_bio
    - BIO_free
    - app_get0_libctx
    - NCONF_free
    linkageType: ''
    returnType: CONF
    signature: CONF *load_ext_conf(const char *file, const char *sect, int quiet)
  - BBCount: 248
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:381,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:382,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:388,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/x509.c:413,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/x509.c:416,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/x509.c:418,1
    - Dst: opt_init
      Src: /src/openssl/apps/x509.c:419,1
    - Dst: opt_next
      Src: /src/openssl/apps/x509.c:420,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:425,1
    - Dst: opt_help
      Src: /src/openssl/apps/x509.c:428,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:432,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:432,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:436,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:439,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:439,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:443,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:443,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:447,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:447,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:451,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:451,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:455,1
    - Dst: set_dateopt
      Src: /src/openssl/apps/x509.c:462,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:462,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:463,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:464,1
    - Dst: set_ext_copy
      Src: /src/openssl/apps/x509.c:469,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:469,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:470,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:471,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/x509.c:478,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/x509.c:479,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:479,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/x509.c:484,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/x509.c:485,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:485,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:489,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:492,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/x509.c:495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:497,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:503,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:506,1
    - Dst: opt_rand
      Src: /src/openssl/apps/x509.c:509,1
    - Dst: opt_provider
      Src: /src/openssl/apps/x509.c:513,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:517,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:521,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:524,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:527,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:530,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:534,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:537,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:537,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:544,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:547,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:550,1
    - Dst: add_object
      Src: /src/openssl/apps/x509.c:553,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:553,1
    - Dst: add_object
      Src: /src/openssl/apps/x509.c:558,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:558,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:563,1
    - Dst: set_cert_ex
      Src: /src/openssl/apps/x509.c:567,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:567,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/x509.c:571,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:571,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:630,1
    - Dst: opt_intmax
      Src: /src/openssl/apps/x509.c:679,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:679,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:683,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:684,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:690,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:693,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:696,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/x509.c:702,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/x509.c:707,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/x509.c:710,1
    - Dst: opt_check_md
      Src: /src/openssl/apps/x509.c:713,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:730,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:740,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:744,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:748,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:754,1
    - Dst: app_passwd
      Src: /src/openssl/apps/x509.c:756,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:757,1
    - Dst: X509_STORE_set_default_paths_ex
      Src: /src/openssl/apps/x509.c:761,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:761,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/x509.c:762,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:766,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:770,1
    - Dst: load_key
      Src: /src/openssl/apps/x509.c:774,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/x509.c:779,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:787,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:792,1
    - Dst: parse_name
      Src: /src/openssl/apps/x509.c:798,1
    - Dst: parse_name
      Src: /src/openssl/apps/x509.c:801,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:808,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:815,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:817,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:819,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:821,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:823,1
    - Dst: load_ext_conf
      Src: /src/openssl/apps/x509.c:833,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/x509.c:839,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/x509.c:843,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/x509.c:844,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:852,1
    - Dst: isatty
      Src: /src/openssl/apps/x509.c:857,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/x509.c:857,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:858,1
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/x509.c:860,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/x509.c:865,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:866,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/x509.c:869,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:871,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:874,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:876,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/x509.c:876,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:878,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:883,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:887,1
    - Dst: X509_new_ex
      Src: /src/openssl/apps/x509.c:891,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:891,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/x509.c:891,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/x509.c:894,1
    - Dst: rand_serial
      Src: /src/openssl/apps/x509.c:895,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:900,1
    - Dst: copy_extensions
      Src: /src/openssl/apps/x509.c:902,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:903,1
    - Dst: isatty
      Src: /src/openssl/apps/x509.c:908,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/x509.c:908,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:909,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/x509.c:912,1
    - Dst: load_certs
      Src: /src/openssl/apps/x509.c:915,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/x509.c:917,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/x509.c:920,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/x509.c:926,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/x509.c:932,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/x509.c:935,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/x509.c:935,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/apps/x509.c:938,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/x509.c:939,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/x509.c:943,1
    - Dst: X509_alias_set1
      Src: /src/openssl/apps/x509.c:949,1
    - Dst: X509_trust_clear
      Src: /src/openssl/apps/x509.c:952,1
    - Dst: X509_reject_clear
      Src: /src/openssl/apps/x509.c:954,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/apps/x509.c:957,1
    - Dst: X509_add1_trust_object
      Src: /src/openssl/apps/x509.c:958,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/apps/x509.c:958,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/apps/x509.c:962,1
    - Dst: X509_add1_reject_object
      Src: /src/openssl/apps/x509.c:963,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/apps/x509.c:963,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:967,1
    - Dst: X509_get_ext_count
      Src: /src/openssl/apps/x509.c:968,1
    - Dst: X509_get_ext
      Src: /src/openssl/apps/x509.c:969,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/x509.c:970,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/x509.c:970,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/x509.c:970,1
    - Dst: strstr
      Src: /src/openssl/apps/x509.c:972,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:973,1
    - Dst: X509_delete_ext
      Src: /src/openssl/apps/x509.c:973,1
    - Dst: x509_load_serial
      Src: /src/openssl/apps/x509.c:980,1
    - Dst: self_signed
      Src: /src/openssl/apps/x509.c:983,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/x509.c:986,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:987,1
    - Dst: X509_set_serialNumber
      Src: /src/openssl/apps/x509.c:991,1
    - Dst: set_cert_times
      Src: /src/openssl/apps/x509.c:995,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/x509.c:998,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/x509.c:1001,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/x509.c:1001,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/x509.c:1006,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/openssl/apps/x509.c:1009,1
    - Dst: do_EXT_add_nconf
      Src: /src/openssl/apps/x509.c:1013,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/x509.c:1020,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1022,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1028,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1032,1
    - Dst: x509_to_req
      Src: /src/openssl/apps/x509.c:1035,1
    - Dst: do_EXT_REQ_add_nconf
      Src: /src/openssl/apps/x509.c:1038,1
    - Dst: do_X509_REQ_sign
      Src: /src/openssl/apps/x509.c:1042,1
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/apps/x509.c:1046,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/x509.c:1046,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/x509.c:1047,1
    - Dst: PEM_write_bio_X509_REQ
      Src: /src/openssl/apps/x509.c:1049,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1052,1
    - Dst: load_key
      Src: /src/openssl/apps/x509.c:1059,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/x509.c:1063,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1064,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/x509.c:1069,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/x509.c:1072,1
    - Dst: X509_get0_signature
      Src: /src/openssl/apps/x509.c:1078,1
    - Dst: corrupt_signature
      Src: /src/openssl/apps/x509.c:1080,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:1087,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/x509.c:1087,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:1089,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/x509.c:1089,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1091,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:1092,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/x509.c:1092,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1093,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/x509.c:1096,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/x509.c:1096,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/x509.c:1100,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:1101,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1102,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1105,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:1106,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/x509.c:1107,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1108,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:1110,1
    - Dst: X509_get1_email
      Src: /src/openssl/apps/x509.c:1110,1
    - Dst: X509_get1_ocsp
      Src: /src/openssl/apps/x509.c:1110,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/x509.c:1112,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1113,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/x509.c:1113,1
    - Dst: X509_email_free
      Src: /src/openssl/apps/x509.c:1114,1
    - Dst: X509_alias_get0
      Src: /src/openssl/apps/x509.c:1116,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1119,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1121,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1123,1
    - Dst: X509_subject_name_hash
      Src: /src/openssl/apps/x509.c:1123,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1126,1
    - Dst: X509_subject_name_hash_old
      Src: /src/openssl/apps/x509.c:1126,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1129,1
    - Dst: X509_issuer_name_hash
      Src: /src/openssl/apps/x509.c:1129,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1132,1
    - Dst: X509_issuer_name_hash_old
      Src: /src/openssl/apps/x509.c:1132,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1135,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/openssl/apps/x509.c:1136,1
    - Dst: purpose_print
      Src: /src/openssl/apps/x509.c:1137,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/apps/x509.c:1137,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1139,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/x509.c:1140,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/x509.c:1140,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/x509.c:1144,1
    - Dst: BN_print
      Src: /src/openssl/apps/x509.c:1145,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1146,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/x509.c:1147,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/x509.c:1151,1
    - Dst: BN_print
      Src: /src/openssl/apps/x509.c:1152,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1153,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1155,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1157,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/x509.c:1159,1
    - Dst: X509_print_ex
      Src: /src/openssl/apps/x509.c:1161,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/x509.c:1161,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1163,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/x509.c:1164,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/x509.c:1164,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1165,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1167,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/x509.c:1168,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/x509.c:1168,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1169,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/x509.c:1180,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:1180,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/x509.c:1181,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1183,1
    - Dst: X509_digest
      Src: /src/openssl/apps/x509.c:1186,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/x509.c:1187,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1189,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1193,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1195,1
    - Dst: X509_ocspid_print
      Src: /src/openssl/apps/x509.c:1197,1
    - Dst: print_x509v3_exts
      Src: /src/openssl/apps/x509.c:1199,1
    - Dst: time
      Src: /src/openssl/apps/x509.c:1205,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/x509.c:1209,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1210,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/x509.c:1213,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/apps/x509.c:1214,1
    - Dst: X509_check_certificate_times
      Src: /src/openssl/apps/x509.c:1216,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1218,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1222,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/x509.c:1229,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/x509.c:1230,1
    - Dst: check_cert_might_be_valid
      Src: /src/openssl/apps/x509.c:1236,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/x509.c:1246,1
    - Dst: PEM_write_bio_X509_AUX
      Src: /src/openssl/apps/x509.c:1249,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/x509.c:1251,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1253,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1257,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/x509.c:1262,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/x509.c:1269,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/apps/x509.c:1273,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/x509.c:1276,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/x509.c:1277,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/x509.c:1278,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/x509.c:1279,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/x509.c:1280,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/x509.c:1281,1
    - Dst: X509_free
      Src: /src/openssl/apps/x509.c:1282,1
    - Dst: X509_free
      Src: /src/openssl/apps/x509.c:1283,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/x509.c:1284,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/x509.c:1285,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/x509.c:1286,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/x509.c:1287,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/x509.c:1288,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/x509.c:1289,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/x509.c:1290,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/apps/x509.c:1291,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/apps/x509.c:1292,1
    - Dst: clear_free
      Src: /src/openssl/apps/x509.c:1293,1
    CyclomaticComplexity: 410
    EdgeCount: 410
    ICount: 857
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 367
    functionDepth: 11
    functionLinenumber: 367
    functionLinenumberEnd: 1295
    functionName: x509_main
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - copy_extensions
    - X509_set_serialNumber
    - load_key
    - opt_intmax
    - opt_check_md
    - X509_add1_trust_object
    - X509_get1_ocsp
    - X509_reject_clear
    - X509_VERIFY_PARAM_new
    - X509_delete_ext
    - set_dateopt
    - app_passwd
    - X509_set_pubkey
    - X509_get0_signature
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - X509_STORE_free
    - X509_REQ_get0_pubkey
    - app_get0_libctx
    - sk_OPENSSL_STRING_free
    - EVP_MD_free
    - X509_EXTENSION_free
    - strstr
    - self_signed
    - X509V3_set_ctx_test
    - X509_get_issuer_name
    - opt_unknown
    - X509_EXTENSION_get_object
    - opt_format
    - X509_REQ_get_subject_name
    - s2i_ASN1_INTEGER
    - X509V3_set_ctx
    - do_EXT_REQ_add_nconf
    - opt_arg
    - X509_REQ_print_ex
    - X509_issuer_name_hash
    - do_X509_REQ_verify
    - X509_new_ex
    - sk_X509_value
    - cert_matches_key
    - x509_to_req
    - load_csr_autofmt
    - BN_to_ASN1_INTEGER
    - X509_STORE_set_verify_cb
    - BIO_puts
    - opt_set_unknown_name
    - X509_PURPOSE_get_count
    - sk_X509_num
    - load_ext_conf
    - i2d_X509_bio
    - purpose_print
    - X509_VERIFY_PARAM_free
    - X509_add1_reject_object
    - corrupt_signature
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - opt_provider
    - ASN1_INTEGER_to_BN
    - set_ext_copy
    - sk_OPENSSL_STRING_push
    - isatty
    - clear_free
    - sk_ASN1_OBJECT_num
    - ERR_print_errors
    - PEM_write_bio_PUBKEY
    - OBJ_nid2sn
    - X509_get0_notAfter
    - set_nameopt
    - PEM_write_bio_X509
    - ASN1_INTEGER_free
    - BIO_free_all
    - set_cert_ex
    - X509_alias_set1
    - X509_subject_name_hash_old
    - do_X509_REQ_sign
    - X509V3_set_issuer_pkey
    - X509_issuer_name_hash_old
    - X509_get0_notBefore
    - X509_free
    - parse_name
    - X509_email_free
    - X509_set_subject_name
    - set_cert_times
    - load_pubkey
    - X509_alias_get0
    - opt_check_rest_arg
    - X509_subject_name_hash
    - X509_PURPOSE_get0
    - X509_STORE_set_default_paths_ex
    - sk_X509_new_null
    - bio_open_default
    - print_name
    - X509_get_ext
    - X509_get0_pubkey
    - EVP_PKEY_free
    - opt_help
    - get_nameopt
    - BIO_printf
    - load_certs
    - X509_REQ_free
    - X509_get0_serialNumber
    - sk_ASN1_OBJECT_pop_free
    - X509_check_private_key
    - BN_free
    - check_cert_might_be_valid
    - BN_print
    - time
    - x509_load_serial
    - X509_check_certificate_times
    - X509_digest
    - print_x509v3_exts
    - opt_rand
    - EVP_PKEY_get_bn_param
    - X509_ocspid_print
    - NCONF_free
    - rand_serial
    - opt_int_arg
    - sk_ASN1_OBJECT_value
    - X509_get_ext_count
    - X509_VERIFY_PARAM_set_flags
    - fileno_stdin
    - app_conf_try_string
    - X509_print_ex
    - X509_get1_email
    - app_get0_propq
    - X509_get_subject_name
    - do_X509_sign
    - i2a_ASN1_INTEGER
    - PEM_write_bio_X509_REQ
    - WARN_NO_CA
    - opt_init
    - sk_X509_pop_free
    - EVP_MD_fetch
    - OBJ_obj2nid
    - PEM_write_bio_X509_AUX
    - load_cert_pass
    - EVP_PKEY_is_a
    - X509_VERIFY_PARAM_set_time
    - ASN1_TIME_print_ex
    - X509_NAME_free
    - X509_trust_clear
    - do_EXT_add_nconf
    - X509_set_issuer_name
    - sk_OPENSSL_STRING_value
    - X509_STORE_new
    - opt_next
    - add_object
    - BN_add_word
    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: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    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:1306,1
    - Dst: strlen
      Src: /src/openssl/apps/x509.c:1307,1
    - Dst: app_malloc
      Src: /src/openssl/apps/x509.c:1309,1
    - Dst: memcpy
      Src: /src/openssl/apps/x509.c:1310,1
    - Dst: memcpy
      Src: /src/openssl/apps/x509.c:1311,1
    - Dst: load_serial
      Src: /src/openssl/apps/x509.c:1316,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/x509.c:1320,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1321,1
    - Dst: save_serial
      Src: /src/openssl/apps/x509.c:1326,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:1328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/x509.c:1331,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - CAfile
    - serialfile
    - create
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1297
    functionDepth: 7
    functionLinenumber: 1297
    functionLinenumberEnd: 1334
    functionName: x509_load_serial
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BIO_puts
    - OPENSSL_free
    - strrchr
    - app_malloc
    - load_serial
    - save_serial
    - BN_free
    - strlen
    - memcpy
    - BN_add_word
    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:1345,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/x509.c:1350,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:1351,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/x509.c:1351,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1352,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/apps/x509.c:1354,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/x509.c:1355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1336
    functionDepth: 2
    functionLinenumber: 1336
    functionLinenumberEnd: 1360
    functionName: callb
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert_error_string
    - BIO_printf
    - X509_STORE_CTX_get_error_depth
    - print_name
    - X509_STORE_CTX_get_current_cert
    - X509_get_subject_name
    - X509_STORE_CTX_get_error
    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:1366,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/openssl/apps/x509.c:1367,1
    - Dst: X509_check_purpose
      Src: /src/openssl/apps/x509.c:1369,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1370,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1372,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1374,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bio
    - cert
    - pt
    argTypes:
    - BIO*
    - X509*
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1362
    functionDepth: 4
    functionLinenumber: 1362
    functionLinenumberEnd: 1379
    functionName: purpose_print
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - X509_PURPOSE_get0_name
    - X509_check_purpose
    - X509_PURPOSE_get_id
    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:1387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - names
    - result
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1406
    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:1411,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/apps/x509.c:1418,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:1419,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1420,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/x509.c:1426,1
    - Dst: parse_ext_names
      Src: /src/openssl/apps/x509.c:1428,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1429,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/apps/x509.c:1432,1
    - Dst: parse_ext_names
      Src: /src/openssl/apps/x509.c:1434,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/x509.c:1437,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/x509.c:1440,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/x509.c:1441,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/x509.c:1441,1
    - Dst: strcmp
      Src: /src/openssl/apps/x509.c:1442,1
    - Dst: strcmp
      Src: /src/openssl/apps/x509.c:1446,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/apps/x509.c:1449,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/apps/x509.c:1451,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:1457,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1458,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/apps/x509.c:1463,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:1465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/x509.c:1466,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/x509.c:1467,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - bio
    - x
    - ext_names
    argTypes:
    - BIO*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1408
    functionDepth: 6
    functionLinenumber: 1408
    functionLinenumberEnd: 1469
    functionName: print_x509v3_exts
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - OPENSSL_strdup
    - BIO_printf
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - OBJ_nid2sn
    - sk_X509_EXTENSION_new_null
    - X509_get0_extensions
    - parse_ext_names
    - OPENSSL_free
    - sk_X509_EXTENSION_push
    - strcmp
    - sk_X509_EXTENSION_num
    - OBJ_obj2nid
    - sk_X509_EXTENSION_free
    - STACK_OF
    - X509V3_extensions_print
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: int print_x509v3_exts(BIO *bio, X509 *x, const char *ext_names)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/rand.c:60,1
    - Dst: opt_next
      Src: /src/openssl/apps/rand.c:61,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:66,1
    - Dst: opt_help
      Src: /src/openssl/apps/rand.c:69,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rand.c:73,1
    - Dst: opt_rand
      Src: /src/openssl/apps/rand.c:76,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rand.c:86,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/rand.c:93,1
    - Dst: opt_rest
      Src: /src/openssl/apps/rand.c:94,1
    - Dst: strcmp
      Src: /src/openssl/apps/rand.c:103,1
    - Dst: isdigit
      Src: /src/openssl/apps/rand.c:122,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:137,1
    - Dst: strlen
      Src: /src/openssl/apps/rand.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:147,1
    - Dst: opt_long
      Src: /src/openssl/apps/rand.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:162,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rand.c:168,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/rand.c:175,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/rand.c:179,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/rand.c:182,1
    - Dst: BIO_new
      Src: /src/openssl/apps/rand.c:187,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/rand.c:187,1
    - Dst: BIO_push
      Src: /src/openssl/apps/rand.c:190,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rand.c:193,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/apps/rand.c:198,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/rand.c:198,1
    - Dst: BIO_write
      Src: /src/openssl/apps/rand.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:206,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rand.c:212,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/rand.c:213,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rand.c:220,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rand.c:221,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/rand.c:222,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 144
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 49
    functionDepth: 7
    functionLinenumber: 49
    functionLinenumberEnd: 224
    functionName: rand_main
    functionSourceFile: /src/openssl/apps/rand.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_f_base64
    - app_malloc
    - opt_rand
    - RAND_bytes_ex
    - opt_long
    - app_RAND_load
    - BIO_new
    - OPENSSL_free
    - BIO_write
    - opt_provider
    - opt_check_rest_arg
    - opt_init
    - app_get0_libctx
    - bio_open_default
    - strcmp
    - BIO_flush
    - opt_num_rest
    - ERR_print_errors
    - BIO_push
    - opt_help
    - isdigit
    - BIO_printf
    - BIO_free_all
    - opt_arg
    - opt_next
    - strlen
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int rand_main(int argc, char **argv)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/dsaparam.c:81,1
    - Dst: opt_next
      Src: /src/openssl/apps/dsaparam.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:87,1
    - Dst: opt_help
      Src: /src/openssl/apps/dsaparam.c:90,1
    - Dst: opt_format
      Src: /src/openssl/apps/dsaparam.c:94,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:94,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:98,1
    - Dst: opt_format
      Src: /src/openssl/apps/dsaparam.c:101,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:101,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:105,1
    - Dst: opt_rand
      Src: /src/openssl/apps/dsaparam.c:114,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dsaparam.c:118,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/dsaparam.c:134,1
    - Dst: opt_rest
      Src: /src/openssl/apps/dsaparam.c:135,1
    - Dst: opt_int
      Src: /src/openssl/apps/dsaparam.c:137,1
    - Dst: opt_int
      Src: /src/openssl/apps/dsaparam.c:139,1
    - Dst: opt_int
      Src: /src/openssl/apps/dsaparam.c:142,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/dsaparam.c:144,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/dsaparam.c:147,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/dsaparam.c:154,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dsaparam.c:154,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dsaparam.c:154,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsaparam.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:162,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/dsaparam.c:167,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/dsaparam.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:170,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/dsaparam.c:174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsaparam.c:175,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/apps/dsaparam.c:179,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsaparam.c:180,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/apps/dsaparam.c:185,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsaparam.c:186,1
    - Dst: app_paramgen
      Src: /src/openssl/apps/dsaparam.c:191,1
    - Dst: load_keyparams
      Src: /src/openssl/apps/dsaparam.c:193,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/dsaparam.c:200,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/dsaparam.c:205,1
    - Dst: i2d_KeyParams_bio
      Src: /src/openssl/apps/dsaparam.c:213,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/dsaparam.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsaparam.c:217,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dsaparam.c:222,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/dsaparam.c:223,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dsaparam.c:223,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dsaparam.c:224,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:226,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/dsaparam.c:230,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsaparam.c:231,1
    - Dst: app_keygen
      Src: /src/openssl/apps/dsaparam.c:235,1
    - Dst: assert
      Src: /src/openssl/apps/dsaparam.c:238,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/dsaparam.c:240,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/dsaparam.c:242,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:244,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsaparam.c:252,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dsaparam.c:253,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dsaparam.c:254,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dsaparam.c:255,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dsaparam.c:256,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 178
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/openssl/apps/dsaparam.c
    constantsTouched: []
    func_position:
      end: 258
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 258
    functionName: dsaparam_main
    functionSourceFile: /src/openssl/apps/dsaparam.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - opt_rand
    - PEM_write_bio_Parameters
    - EVP_PKEY_print_params
    - i2d_KeyParams_bio
    - EVP_PKEY_CTX_new_from_name
    - i2d_PrivateKey_bio
    - opt_int
    - EVP_PKEY_CTX_new_from_pkey
    - PEM_write_bio_PrivateKey
    - app_RAND_load
    - load_keyparams
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - app_get0_propq
    - opt_provider
    - opt_check_rest_arg
    - opt_init
    - app_get0_libctx
    - EVP_PKEY_CTX_set_cb
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - opt_num_rest
    - assert
    - EVP_PKEY_free
    - app_paramgen
    - bio_open_owner
    - opt_help
    - ERR_print_errors
    - EVP_PKEY_CTX_free
    - app_keygen
    - EVP_PKEY_keygen_init
    - BIO_printf
    - opt_format
    - BIO_free_all
    - opt_arg
    - opt_next
    - EVP_PKEY_CTX_set_app_data
    - EVP_PKEY_paramgen_init
    - opt_rest
    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: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    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: 41
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ciphers.c:91,1
    - Dst: TLS_server_method
      Src: /src/openssl/apps/ciphers.c:92,1
    - Dst: opt_init
      Src: /src/openssl/apps/ciphers.c:107,1
    - Dst: opt_next
      Src: /src/openssl/apps/ciphers.c:108,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:113,1
    - Dst: opt_help
      Src: /src/openssl/apps/ciphers.c:116,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ciphers.c:132,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ciphers.c:161,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ciphers.c:164,1
    - Dst: opt_rest
      Src: /src/openssl/apps/ciphers.c:171,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/ciphers.c:172,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ciphers.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:178,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/apps/ciphers.c:179,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/ciphers.c:184,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ciphers.c:184,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ciphers.c:184,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/ciphers.c:187,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/ciphers.c:189,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/apps/ciphers.c:194,1
    - Dst: set_up_dummy_srp
      Src: /src/openssl/apps/ciphers.c:198,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/apps/ciphers.c:201,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:202,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/apps/ciphers.c:207,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:208,1
    - Dst: SSL_new
      Src: /src/openssl/apps/ciphers.c:212,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/apps/ciphers.c:217,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/apps/ciphers.c:219,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/apps/ciphers.c:222,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/apps/ciphers.c:223,1
    - Dst: ossl_assert
      Src: /src/openssl/apps/ciphers.c:225,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/ciphers.c:228,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:232,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:233,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:235,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/apps/ciphers.c:238,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/apps/ciphers.c:241,1
    - Dst: ossl_assert
      Src: /src/openssl/apps/ciphers.c:243,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/apps/ciphers.c:247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:254,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:257,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/openssl/apps/ciphers.c:260,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:263,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:265,1
    - Dst: SSL_CIPHER_description
      Src: /src/openssl/apps/ciphers.c:265,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ciphers.c:272,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/apps/ciphers.c:275,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/ciphers.c:276,1
    - Dst: SSL_free
      Src: /src/openssl/apps/ciphers.c:277,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 152
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 279
    functionName: ciphers_main
    functionSourceFile: /src/openssl/apps/ciphers.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - SSL_CTX_set_ciphersuites
    - OPENSSL_cipher_name
    - SSL_get_ciphers
    - SSL_CIPHER_get_id
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - TLS_server_method
    - SSL_CIPHER_description
    - app_get0_propq
    - opt_provider
    - sk_SSL_CIPHER_value
    - STACK_OF
    - opt_check_rest_arg
    - SSL_free
    - SSL_CTX_set_psk_client_callback
    - opt_init
    - app_get0_libctx
    - SSL_CTX_set_cipher_list
    - opt_num_rest
    - ERR_print_errors
    - sk_SSL_CIPHER_num
    - opt_help
    - set_up_dummy_srp
    - ossl_assert
    - SSL_CTX_new_ex
    - BIO_printf
    - SSL_new
    - sk_SSL_CIPHER_free
    - SSL_get1_supported_ciphers
    - opt_arg
    - opt_next
    - opt_rest
    - SSL_CIPHER_standard_name
    - SSL_CTX_set_max_proto_version
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int ciphers_main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/mac.c:62,1
    - Dst: strlen
      Src: /src/openssl/apps/mac.c:62,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/mac.c:66,1
    - Dst: app_malloc
      Src: /src/openssl/apps/mac.c:70,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/mac.c:71,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/mac.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - optp
    - name
    - arg
    argTypes:
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: alloc_mac_algorithm_name
    functionSourceFile: /src/openssl/apps/mac.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - OPENSSL_free
    - app_malloc
    - BIO_snprintf
    - sk_OPENSSL_STRING_new_null
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *alloc_mac_algorithm_name(STACK_OF(OPENSSL_STRING) **optp,\n
      \   const char *name, const char *arg)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/mac.c:85,1
    - Dst: opt_init
      Src: /src/openssl/apps/mac.c:98,1
    - Dst: app_malloc
      Src: /src/openssl/apps/mac.c:99,1
    - Dst: opt_next
      Src: /src/openssl/apps/mac.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:104,1
    - Dst: opt_help
      Src: /src/openssl/apps/mac.c:107,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:114,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:117,1
    - Dst: process_additional_mac_key_arguments
      Src: /src/openssl/apps/mac.c:120,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:120,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/mac.c:126,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/mac.c:127,1
    - Dst: clear_free
      Src: /src/openssl/apps/mac.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:133,1
    - Dst: alloc_mac_algorithm_name
      Src: /src/openssl/apps/mac.c:134,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:139,1
    - Dst: alloc_mac_algorithm_name
      Src: /src/openssl/apps/mac.c:140,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:140,1
    - Dst: opt_provider
      Src: /src/openssl/apps/mac.c:145,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/mac.c:152,1
    - Dst: opt_rest
      Src: /src/openssl/apps/mac.c:154,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/apps/mac.c:156,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/mac.c:156,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/mac.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:158,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/apps/mac.c:162,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/mac.c:169,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/apps/mac.c:170,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/apps/mac.c:174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:175,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/mac.c:176,1
    - Dst: app_params_free
      Src: /src/openssl/apps/mac.c:179,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/mac.c:184,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/mac.c:188,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/apps/mac.c:192,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:193,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/mac.c:197,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/mac.c:197,1
    - Dst: BIO_read
      Src: /src/openssl/apps/mac.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:200,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/mac.c:201,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/mac.c:206,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:207,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/mac.c:212,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:213,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:217,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/mac.c:221,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:222,1
    - Dst: BIO_write
      Src: /src/openssl/apps/mac.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:230,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/mac.c:232,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/mac.c:238,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/mac.c:239,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/apps/mac.c:240,1
    - Dst: BIO_free
      Src: /src/openssl/apps/mac.c:241,1
    - Dst: BIO_free
      Src: /src/openssl/apps/mac.c:242,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/mac.c:243,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/apps/mac.c:244,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 155
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 78
    functionDepth: 10
    functionLinenumber: 78
    functionLinenumberEnd: 246
    functionName: mac_main
    functionSourceFile: /src/openssl/apps/mac.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_MAC_update
    - process_additional_mac_key_arguments
    - app_malloc
    - EVP_MAC_CTX_new
    - EVP_MAC_fetch
    - OPENSSL_free
    - BIO_read
    - BIO_write
    - BIO_pending
    - app_params_new_from_opts
    - app_get0_propq
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - opt_check_rest_arg
    - sk_OPENSSL_STRING_push
    - EVP_MAC_free
    - opt_init
    - OPENSSL_clear_free
    - app_get0_libctx
    - BIO_free
    - clear_free
    - bio_open_default
    - EVP_MAC_CTX_free
    - sk_OPENSSL_STRING_pop_free
    - ERR_print_errors
    - opt_help
    - app_params_free
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - BIO_eof
    - BIO_printf
    - alloc_mac_algorithm_name
    - EVP_MAC_init
    - opt_arg
    - opt_next
    - EVP_MAC_settable_ctx_params
    - opt_rest
    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: 176
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:224,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs12.c:225,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/pkcs12.c:229,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkcs12.c:230,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkcs12.c:231,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:236,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkcs12.c:239,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:264,1
    - Dst: opt_flag
      Src: /src/openssl/apps/pkcs12.c:294,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/pkcs12.c:299,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/pkcs12.c:302,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/pkcs12.c:314,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:321,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:327,1
    - Dst: set_pbe
      Src: /src/openssl/apps/pkcs12.c:330,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:330,1
    - Dst: set_pbe
      Src: /src/openssl/apps/pkcs12.c:334,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:334,1
    - Dst: opt_rand
      Src: /src/openssl/apps/pkcs12.c:338,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:342,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:345,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:348,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:351,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:354,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:360,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/pkcs12.c:364,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/pkcs12.c:366,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:366,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:370,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:373,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:376,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:379,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:382,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:385,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:388,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:391,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkcs12.c:408,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkcs12.c:415,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/pkcs12.c:418,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/pkcs12.c:421,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:425,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:427,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:429,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:431,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:433,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: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:453,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:455,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:457,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:459,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:461,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:463,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:465,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:467,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:469,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:471,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:473,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:475,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:477,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:479,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:481,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:483,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/apps/pkcs12.c:488,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:488,1
    - Dst: app_provider_load
      Src: /src/openssl/apps/pkcs12.c:489,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:489,1
    - Dst: app_provider_load
      Src: /src/openssl/apps/pkcs12.c:492,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:492,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/apps/pkcs12.c:507,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkcs12.c:515,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:516,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkcs12.c:527,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:528,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:544,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:546,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs12.c:558,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:560,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:565,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:573,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:574,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:581,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:587,1
    - Dst: load_key
      Src: /src/openssl/apps/pkcs12.c:591,1
    - Dst: load_certs
      Src: /src/openssl/apps/pkcs12.c:600,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/pkcs12.c:603,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:604,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/pkcs12.c:610,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs12.c:611,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/pkcs12.c:612,1
    - Dst: X509_keyid_set1
      Src: /src/openssl/apps/pkcs12.c:615,1
    - Dst: X509_alias_set1
      Src: /src/openssl/apps/pkcs12.c:616,1
    - Dst: sk_X509_delete
      Src: /src/openssl/apps/pkcs12.c:618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:623,1
    - Dst: load_certs
      Src: /src/openssl/apps/pkcs12.c:633,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:641,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs12.c:647,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:650,1
    - Dst: setup_verify
      Src: /src/openssl/apps/pkcs12.c:655,1
    - Dst: get_cert_chain
      Src: /src/openssl/apps/pkcs12.c:660,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/pkcs12.c:661,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkcs12.c:666,1
    - Dst: sk_X509_shift
      Src: /src/openssl/apps/pkcs12.c:666,1
    - Dst: X509_add_certs
      Src: /src/openssl/apps/pkcs12.c:668,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/pkcs12.c:669,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:674,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/pkcs12.c:675,1
    - Dst: load_certs
      Src: /src/openssl/apps/pkcs12.c:682,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/pkcs12.c:688,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/pkcs12.c:689,1
    - Dst: X509_alias_set1
      Src: /src/openssl/apps/pkcs12.c:690,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs12.c:690,1
    - Dst: EVP_PKEY_add1_attr_by_NID
      Src: /src/openssl/apps/pkcs12.c:694,1
    - Dst: EVP_PKEY_add1_attr_by_NID
      Src: /src/openssl/apps/pkcs12.c:699,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs12.c:705,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:707,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:712,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/pkcs12.c:718,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/pkcs12.c:721,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/apps/pkcs12.c:724,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:726,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs12.c:726,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:730,1
    - Dst: opt_md
      Src: /src/openssl/apps/pkcs12.c:736,1
    - Dst: PKCS12_set_pbmac1_pbkdf2
      Src: /src/openssl/apps/pkcs12.c:742,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:745,1
    - Dst: PKCS12_set_mac
      Src: /src/openssl/apps/pkcs12.c:749,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:750,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs12.c:756,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs12.c:758,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/apps/pkcs12.c:762,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs12.c:768,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/pkcs12.c:769,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/pkcs12.c:770,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/pkcs12.c:771,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkcs12.c:772,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/pkcs12.c:773,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:774,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkcs12.c:778,1
    - Dst: PKCS12_init_ex
      Src: /src/openssl/apps/pkcs12.c:782,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:782,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs12.c:782,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:784,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/apps/pkcs12.c:787,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:788,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs12.c:795,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:797,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:802,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/pkcs12.c:808,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/apps/pkcs12.c:810,1
    - Dst: PKCS12_get0_mac
      Src: /src/openssl/apps/pkcs12.c:817,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:820,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:821,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:822,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:823,1
    - Dst: PBMAC1_get1_pbkdf2_param
      Src: /src/openssl/apps/pkcs12.c:824,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:827,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:832,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:833,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:834,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:835,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:836,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:840,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:841,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:843,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/pkcs12.c:843,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/apps/pkcs12.c:845,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:847,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:848,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:849,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:850,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:851,1
    - Dst: PKCS12_get0_mac
      Src: /src/openssl/apps/pkcs12.c:859,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:862,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:866,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:868,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/apps/pkcs12.c:871,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:871,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs12.c:872,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:874,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:875,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/apps/pkcs12.c:878,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/apps/pkcs12.c:882,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/apps/pkcs12.c:886,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/pkcs12.c:894,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/pkcs12.c:896,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/pkcs12.c:897,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:898,1
    - Dst: OPENSSL_asc2uni
      Src: /src/openssl/apps/pkcs12.c:902,1
    - Dst: OPENSSL_uni2utf8
      Src: /src/openssl/apps/pkcs12.c:905,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:907,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:909,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:912,1
    - Dst: strcmp
      Src: /src/openssl/apps/pkcs12.c:913,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/apps/pkcs12.c:913,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/pkcs12.c:914,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:915,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:916,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:919,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs12.c:927,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs12.c:929,1
    - Dst: dump_certs_keys_p12
      Src: /src/openssl/apps/pkcs12.c:933,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:934,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:935,1
    - Dst: PKCS12_free
      Src: /src/openssl/apps/pkcs12.c:940,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkcs12.c:941,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkcs12.c:942,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkcs12.c:943,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:944,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:945,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:946,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:947,1
    CyclomaticComplexity: 238
    EdgeCount: 238
    ICount: 609
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/openssl/apps/pkcs12.c
    - condition: (private)
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/openssl/apps/pkcs12.c
    constantsTouched: []
    func_position:
      end: 949
      start: 198
    functionDepth: 10
    functionLinenumber: 198
    functionLinenumberEnd: 949
    functionName: pkcs12_main
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 0
    functionsReached:
    - opt_md
    - load_key
    - WARN_EXPORT
    - OPENSSL_asc2uni
    - PKCS12_set_mac
    - EVP_des_ede3_cbc
    - X509_keyid_set1
    - EVP_aes_256_cbc
    - dump_certs_keys_p12
    - app_passwd
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - X509_STORE_free
    - sk_X509_delete
    - WARN_NO_EXPORT
    - app_get0_libctx
    - strcmp
    - sk_OPENSSL_STRING_free
    - PKCS12_init_ex
    - OBJ_txt2obj
    - EVP_MD_free
    - X509_ALGOR_get0
    - X509_add_certs
    - OPENSSL_strlcpy
    - opt_unknown
    - OSSL_STACK_OF_X509_free
    - opt_arg
    - sk_X509_value
    - cert_matches_key
    - PKCS12_free
    - BIO_puts
    - d2i_PKCS12_bio
    - ERR_GET_REASON
    - opt_set_unknown_name
    - sk_X509_num
    - get_cert_chain
    - sk_OPENSSL_STRING_num
    - app_RAND_load
    - opt_provider
    - app_provider_load
    - ASN1_OBJECT_free
    - sk_OPENSSL_STRING_push
    - set_pbe
    - bio_open_owner
    - ERR_print_errors
    - PKCS12_mac_present
    - PKCS12_get0_mac
    - OBJ_nid2sn
    - BIO_free_all
    - EVP_PKEY_add1_attr_by_NID
    - X509_alias_set1
    - ERR_peek_error
    - opt_cipher_any
    - i2d_PKCS12_bio
    - OSSL_PROVIDER_available
    - X509_free
    - PKCS12_create_ex2
    - i2a_ASN1_OBJECT
    - opt_flag
    - PKCS12_set_pbmac1_pbkdf2
    - opt_check_rest_arg
    - PBMAC1_get1_pbkdf2_param
    - ERR_GET_LIB
    - EVP_read_pw_string
    - OPENSSL_uni2utf8
    - bio_open_default
    - assert
    - EVP_PKEY_free
    - opt_help
    - BIO_printf
    - load_certs
    - setup_verify
    - EVP_KDF_fetch
    - PBKDF2PARAM_free
    - opt_rand
    - opt_int_arg
    - ASN1_INTEGER_get
    - OPENSSL_free
    - EVP_KDF_free
    - app_get0_propq
    - ASN1_STRING_length
    - opt_init
    - BIO_free
    - PKCS12_verify_mac
    - OBJ_obj2nid
    - X509_verify_cert_error_string
    - sk_OPENSSL_STRING_value
    - opt_next
    - sk_X509_shift
    linkageType: ''
    returnType: int
    signature: int pkcs12_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:953,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:961,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:961,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/openssl/apps/pkcs12.c:964,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/apps/pkcs12.c:967,1
    - Dst: PKCS12_SAFEBAG_set0_attrs
      Src: /src/openssl/apps/pkcs12.c:970,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/apps/pkcs12.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - bag
    - cbarg
    argTypes:
    - PKCS12_SAFEBAG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 974
    functionName: jdk_trust
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_set0_attrs
    - X509_ATTRIBUTE_free
    - PKCS12_SAFEBAG_get0_attrs
    - STACK_OF
    - X509_ATTRIBUTE_create
    - X509at_add1_attr
    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:980,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/apps/pkcs12.c:985,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/apps/pkcs12.c:987,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:988,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/apps/pkcs12.c:990,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:991,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/apps/pkcs12.c:993,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:995,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:998,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1000,1
    - Dst: alg_print
      Src: /src/openssl/apps/pkcs12.c:1002,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/openssl/apps/pkcs12.c:1005,1
    - Dst: dump_certs_pkeys_bags
      Src: /src/openssl/apps/pkcs12.c:1011,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/apps/pkcs12.c:1013,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/apps/pkcs12.c:1016,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/apps/pkcs12.c:1021,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: 1023
      start: 976
    functionDepth: 6
    functionLinenumber: 976
    functionLinenumberEnd: 1023
    functionName: dump_certs_keys_p12
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - sk_PKCS7_num
    - BIO_puts
    - dump_certs_pkeys_bags
    - PKCS12_unpack_p7data
    - OBJ_obj2nid
    - PKCS12_unpack_p7encdata
    - PKCS12_unpack_authsafes
    - STACK_OF
    - sk_PKCS7_pop_free
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS7_value
    - alg_print
    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:1030,1
    - Dst: dump_certs_pkeys_bag
      Src: /src/openssl/apps/pkcs12.c:1031,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/apps/pkcs12.c:1032,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: 1037
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1037
    functionName: dump_certs_pkeys_bags
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - dump_certs_pkeys_bag
    - sk_PKCS12_SAFEBAG_num
    - 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:1050,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/apps/pkcs12.c:1052,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1055,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1058,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/openssl/apps/pkcs12.c:1059,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/pkcs12.c:1060,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1062,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:1062,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkcs12.c:1063,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs12.c:1064,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1072,1
    - Dst: PKCS12_SAFEBAG_get0_pkcs8
      Src: /src/openssl/apps/pkcs12.c:1073,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/apps/pkcs12.c:1074,1
    - Dst: alg_print
      Src: /src/openssl/apps/pkcs12.c:1075,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1079,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/openssl/apps/pkcs12.c:1080,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/pkcs12.c:1082,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/pkcs12.c:1083,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1086,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:1086,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/pkcs12.c:1087,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkcs12.c:1088,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs12.c:1089,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1094,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/apps/pkcs12.c:1097,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1102,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/apps/pkcs12.c:1103,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/openssl/apps/pkcs12.c:1105,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/pkcs12.c:1107,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/pkcs12.c:1108,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkcs12.c:1109,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1114,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1115,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1116,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:1117,1
    - Dst: PKCS12_SAFEBAG_get0_bag_type
      Src: /src/openssl/apps/pkcs12.c:1117,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1118,1
    - Dst: print_attribute
      Src: /src/openssl/apps/pkcs12.c:1119,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/openssl/apps/pkcs12.c:1119,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1124,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1125,1
    - Dst: dump_certs_pkeys_bags
      Src: /src/openssl/apps/pkcs12.c:1126,1
    - Dst: PKCS12_SAFEBAG_get0_safes
      Src: /src/openssl/apps/pkcs12.c:1126,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1130,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:1131,1
    - Dst: PKCS12_SAFEBAG_get0_type
      Src: /src/openssl/apps/pkcs12.c:1131,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1132,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: 1136
      start: 1039
    functionDepth: 7
    functionLinenumber: 1039
    functionLinenumberEnd: 1136
    functionName: dump_certs_pkeys_bag
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - EVP_PKCS82PKEY
    - BIO_puts
    - X509_SIG_get0
    - X509_free
    - PKCS12_SAFEBAG_get0_bag_type
    - PKCS8_pkey_get0_attrs
    - PKCS12_SAFEBAG_get0_p8inf
    - PKCS12_SAFEBAG_get0_type
    - PKCS12_SAFEBAG_get_bag_nid
    - PEM_write_bio_PrivateKey
    - i2a_ASN1_OBJECT
    - dump_certs_pkeys_bags
    - PKCS12_SAFEBAG_get0_attrs
    - PKCS12_decrypt_skey
    - print_attribs
    - print_attribute
    - EVP_PKEY_free
    - PKCS12_SAFEBAG_get0_safes
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS12_SAFEBAG_get0_bag_obj
    - PKCS12_SAFEBAG_get_nid
    - PEM_write_bio_X509
    - PKCS12_SAFEBAG_get0_attr
    - PKCS12_SAFEBAG_get0_pkcs8
    - dump_cert_text
    - PKCS12_SAFEBAG_get1_cert
    - alg_print
    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:1176,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1178,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1180,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1181,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1191,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1191,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1193,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1196,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1197,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1198,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1199,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1200,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1200,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/pkcs12.c:1201,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1207,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1207,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1209,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1216,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1217,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1219,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1220,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/pkcs12.c:1220,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/apps/pkcs12.c:1221,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1227,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1227,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1232,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:1234,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1235,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1236,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1237,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/apps/pkcs12.c:1238,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/apps/pkcs12.c:1241,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1244,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1244,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1246,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1249,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1249,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/apps/pkcs12.c:1250,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1253,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1169
    functionDepth: 6
    functionLinenumber: 1169
    functionLinenumberEnd: 1255
    functionName: alg_print
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - ASN1_item_unpack
    - BIO_printf
    - OBJ_nid2sn
    - ASN1_INTEGER_get
    - SCRYPT_PARAMS_free
    - OBJ_nid2ln
    - OBJ_obj2nid
    - ASN1_STRING_length
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - PBEPARAM_free
    - PBKDF2PARAM_free
    - PBE2PARAM_free
    linkageType: ''
    returnType: int
    signature: int alg_print(const X509_ALGOR *alg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_uni2asc
      Src: /src/openssl/apps/pkcs12.c:1284,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/pkcs12.c:1284,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:1285,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1286,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:1287,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1291,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:1291,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/pkcs12.c:1292,1
    - Dst: hex_print
      Src: /src/openssl/apps/pkcs12.c:1296,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/pkcs12.c:1296,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:1297,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1298,1
    - Dst: hex_print
      Src: /src/openssl/apps/pkcs12.c:1302,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/pkcs12.c:1302,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:1303,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1304,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1308,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1308,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/apps/pkcs12.c:1311,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - out
    - av
    argTypes:
    - BIO*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1276
    functionDepth: 7
    functionLinenumber: 1276
    functionLinenumberEnd: 1319
    functionName: print_attribute
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - OPENSSL_uni2asc
    - BIO_printf
    - OPENSSL_free
    - OBJ_nid2ln
    - ASN1_STRING_length
    - OBJ_obj2nid
    - ASN1_STRING_get0_data
    - OBJ_obj2txt
    - hex_print
    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:1330,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/apps/pkcs12.c:1333,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1337,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/apps/pkcs12.c:1338,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/apps/pkcs12.c:1340,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/apps/pkcs12.c:1341,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1342,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1343,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:1345,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1346,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1348,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1348,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/apps/pkcs12.c:1351,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/apps/pkcs12.c:1352,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/apps/pkcs12.c:1353,1
    - Dst: print_attribute
      Src: /src/openssl/apps/pkcs12.c:1354,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - out
    - attrlst
    - name
    argTypes:
    - BIO*
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1323
    functionDepth: 6
    functionLinenumber: 1323
    functionLinenumberEnd: 1361
    functionName: print_attribs
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    - X509_ATTRIBUTE_get0_object
    - BIO_printf
    - BIO_puts
    - i2a_ASN1_OBJECT
    - X509_ATTRIBUTE_get0_type
    - print_attribute
    - OBJ_nid2ln
    - OBJ_obj2nid
    - X509_ATTRIBUTE_count
    - sk_X509_ATTRIBUTE_value
    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:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - buf
    - len
    argTypes:
    - BIO*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1363
    functionDepth: 2
    functionLinenumber: 1363
    functionLinenumberEnd: 1368
    functionName: hex_print
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void hex_print(BIO *out, const unsigned char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/pkcs12.c:1374,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/pkcs12.c:1378,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ppbe
    - str
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1370
    functionDepth: 8
    functionLinenumber: 1370
    functionLinenumberEnd: 1384
    functionName: set_pbe
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - OBJ_txt2nid
    - BIO_printf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int set_pbe(int *ppbe, const char *str)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_new
      Src: /src/openssl/apps/genrsa.c:82,1
    - Dst: BN_new
      Src: /src/openssl/apps/genrsa.c:83,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/genrsa.c:98,1
    - Dst: opt_init
      Src: /src/openssl/apps/genrsa.c:99,1
    - Dst: opt_next
      Src: /src/openssl/apps/genrsa.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:105,1
    - Dst: opt_help
      Src: /src/openssl/apps/genrsa.c:109,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_puts
      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_puts
      Src: /src/openssl/apps/genrsa.c:191,1
    - Dst: BN_set_word
      Src: /src/openssl/apps/genrsa.c:194,1
    - Dst: BIO_puts
      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_puts
      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_puts
      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_puts
      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: OPENSSL_free
      Src: /src/openssl/apps/genrsa.c:245,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genrsa.c:247,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 156
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 249
    functionName: genrsa_main
    functionSourceFile: /src/openssl/apps/genrsa.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BN_set_word
    - opt_set_unknown_name
    - opt_cipher
    - opt_rand
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_PKEY_get_bn_param
    - opt_int_arg
    - opt_int
    - PEM_write_bio_PrivateKey
    - app_RAND_load
    - OPENSSL_free
    - app_passwd
    - app_get0_propq
    - opt_provider
    - opt_check_rest_arg
    - PEM_write_bio_PrivateKey_traditional
    - opt_init
    - app_get0_libctx
    - EVP_PKEY_CTX_set_cb
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - opt_num_rest
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - EVP_PKEY_free
    - bio_open_owner
    - EVP_CIPHER_free
    - opt_help
    - BN_new
    - BN_bn2hex
    - BN_GENCB_free
    - EVP_PKEY_CTX_free
    - ERR_print_errors
    - init_gen_str
    - opt_unknown
    - app_keygen
    - BIO_printf
    - BN_bn2dec
    - BN_GENCB_new
    - BIO_free_all
    - opt_arg
    - BN_free
    - opt_next
    - EVP_PKEY_CTX_set_app_data
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int genrsa_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/openssl/apps/ech.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: verstr2us
    functionSourceFile: /src/openssl/apps/ech.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t verstr2us(char *arg)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/ech.c:101,1
    - Dst: opt_next
      Src: /src/openssl/apps/ech.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:106,1
    - Dst: opt_help
      Src: /src/openssl/apps/ech.c:109,1
    - Dst: strtol
      Src: /src/openssl/apps/ech.c:120,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:120,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:123,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:130,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:138,1
    - Dst: verstr2us
      Src: /src/openssl/apps/ech.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:141,1
    - Dst: strtol
      Src: /src/openssl/apps/ech.c:144,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:147,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ech.c:156,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/ech.c:160,1
    - Dst: opt_rest
      Src: /src/openssl/apps/ech.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:173,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/apps/ech.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:178,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ech.c:179,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/apps/ech.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:195,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ech.c:196,1
    - Dst: OSSL_ECHSTORE_new_config
      Src: /src/openssl/apps/ech.c:197,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/apps/ech.c:200,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:201,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:205,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ech.c:212,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/apps/ech.c:213,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:214,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ech.c:218,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:222,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:228,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ech.c:229,1
    - Dst: OSSL_ECHSTORE_write_pem
      Src: /src/openssl/apps/ech.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:231,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:236,1
    - Dst: OSSL_ECHSTORE_num_entries
      Src: /src/openssl/apps/ech.c:243,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:246,1
    - Dst: OSSL_ECHSTORE_get1_info
      Src: /src/openssl/apps/ech.c:252,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ech.c:255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ech.c:256,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:259,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ech.c:264,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ech.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:268,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/ech.c:272,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ech.c:273,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:276,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ech.c:277,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/ech.c:278,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ech.c:279,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 172
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 281
    functionName: ech_main
    functionSourceFile: /src/openssl/apps/ech.c
    functionUses: 0
    functionsReached:
    - opt_next
    - BIO_new_file
    - OPENSSL_free
    - OSSL_ECHSTORE_new_config
    - verstr2us
    - OSSL_HPKE_str2suite
    - opt_init
    - BIO_free
    - OSSL_ECHSTORE_num_entries
    - opt_num_rest
    - bio_open_owner
    - ERR_print_errors
    - opt_help
    - OSSL_ECHSTORE_free
    - BIO_printf
    - OSSL_ECHSTORE_read_pem
    - OSSL_ECHSTORE_write_pem
    - OSSL_ECHSTORE_get1_info
    - BIO_free_all
    - opt_arg
    - strtol
    - OSSL_ECHSTORE_new
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int ech_main(int argc, char **argv)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/pkeyparam.c:55,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkeyparam.c:56,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyparam.c:61,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkeyparam.c:64,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyparam.c:68,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyparam.c:71,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkeyparam.c:83,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkeyparam.c:90,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyparam.c:93,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/apps/pkeyparam.c:96,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkeyparam.c:96,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkeyparam.c:97,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyparam.c:99,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyparam.c:100,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyparam.c:103,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/pkeyparam.c:108,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkeyparam.c:108,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkeyparam.c:109,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyparam.c:111,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/apps/pkeyparam.c:115,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyparam.c:118,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyparam.c:124,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyparam.c:125,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/pkeyparam.c:131,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/pkeyparam.c:134,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkeyparam.c:139,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkeyparam.c:140,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkeyparam.c:141,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyparam.c:142,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 46
    functionDepth: 9
    functionLinenumber: 46
    functionLinenumberEnd: 145
    functionName: pkeyparam_main
    functionSourceFile: /src/openssl/apps/pkeyparam.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_PKEY_param_check
    - PEM_write_bio_Parameters
    - EVP_PKEY_print_params
    - EVP_PKEY_CTX_new_from_pkey
    - app_get0_propq
    - opt_provider
    - opt_check_rest_arg
    - opt_init
    - BIO_free
    - app_get0_libctx
    - bio_open_default
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_free
    - ERR_print_errors
    - opt_help
    - EVP_PKEY_CTX_free
    - BIO_printf
    - BIO_free_all
    - opt_arg
    - opt_next
    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: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    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:252,1
    - Dst: set_dsa_ptr
      Src: /src/openssl/apps/testdsa.h:255,1
    - Dst: set_dsa_ptr
      Src: /src/openssl/apps/testdsa.h:258,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/testdsa.h:264,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:267,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:268,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:269,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:270,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:271,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/apps/testdsa.h:276,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:277,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:279,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:281,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:283,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:285,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/apps/testdsa.h:287,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/apps/testdsa.h:290,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/apps/testdsa.h:291,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/apps/testdsa.h:296,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/apps/testdsa.h:297,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:298,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:299,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:300,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:301,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:302,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/testdsa.h:303,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - dsa_bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 305
    functionName: get_dsa
    functionSourceFile: /src/openssl/apps/testdsa.h
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_bin2bn
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - set_dsa_ptr
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    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:96,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/storeutl.c:98,1
    - Dst: opt_init
      Src: /src/openssl/apps/storeutl.c:99,1
    - Dst: opt_next
      Src: /src/openssl/apps/storeutl.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:105,1
    - Dst: opt_help
      Src: /src/openssl/apps/storeutl.c:108,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:115,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:131,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/storeutl.c:147,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/storeutl.c:157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:162,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:168,1
    - Dst: parse_name
      Src: /src/openssl/apps/storeutl.c:172,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:172,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:185,1
    - Dst: parse_name
      Src: /src/openssl/apps/storeutl.c:189,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:189,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:202,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/storeutl.c:206,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:220,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/storeutl.c:227,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:239,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:245,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/storeutl.c:249,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:249,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:250,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/storeutl.c:256,1
    - Dst: opt_provider
      Src: /src/openssl/apps/storeutl.c:259,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/storeutl.c:266,1
    - Dst: opt_rest
      Src: /src/openssl/apps/storeutl.c:268,1
    - Dst: opt_md
      Src: /src/openssl/apps/storeutl.c:270,1
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/openssl/apps/storeutl.c:276,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:277,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:283,1
    - Dst: OSSL_STORE_SEARCH_by_issuer_serial
      Src: /src/openssl/apps/storeutl.c:288,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:290,1
    - Dst: OSSL_STORE_SEARCH_by_key_fingerprint
      Src: /src/openssl/apps/storeutl.c:295,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:299,1
    - Dst: OSSL_STORE_SEARCH_by_alias
      Src: /src/openssl/apps/storeutl.c:304,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:305,1
    - Dst: app_passwd
      Src: /src/openssl/apps/storeutl.c:312,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/storeutl.c:313,1
    - Dst: process
      Src: /src/openssl/apps/storeutl.c:319,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/storeutl.c:319,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/storeutl.c:324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/storeutl.c:325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/storeutl.c:326,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/storeutl.c:327,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/storeutl.c:328,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/storeutl.c:329,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/openssl/apps/storeutl.c:330,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/storeutl.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/storeutl.c:332,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 214
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 334
    functionName: storeutl_main
    functionSourceFile: /src/openssl/apps/storeutl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OPENSSL_hexstr2buf
    - opt_md
    - OSSL_STORE_SEARCH_by_issuer_serial
    - opt_set_unknown_name
    - OSSL_STORE_SEARCH_free
    - parse_name
    - OSSL_STORE_SEARCH_by_name
    - OSSL_STORE_SEARCH_by_key_fingerprint
    - OSSL_STORE_SEARCH_by_alias
    - OPENSSL_free
    - app_passwd
    - opt_provider
    - opt_check_rest_arg
    - OPENSSL_assert
    - opt_init
    - app_get0_libctx
    - EVP_MD_free
    - ERR_print_errors
    - opt_help
    - get_ui_method
    - opt_unknown
    - OPENSSL_strdup
    - BIO_printf
    - X509_NAME_free
    - ASN1_INTEGER_free
    - s2i_ASN1_INTEGER
    - BIO_free_all
    - opt_arg
    - OSSL_NELEM
    - opt_next
    - process
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int storeutl_main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:340,1
    - Dst: va_start
      Src: /src/openssl/apps/storeutl.c:341,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/storeutl.c:342,1
    - Dst: va_end
      Src: /src/openssl/apps/storeutl.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - indent
    - bio
    - format
    argTypes:
    - int
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: indent_printf
    functionSourceFile: /src/openssl/apps/storeutl.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - va_end
    - BIO_vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void indent_printf(int indent, BIO *bio, const char *format, ...)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/apps/storeutl.c:354,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/storeutl.c:354,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:357,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:358,1
    - Dst: OSSL_STORE_expect
      Src: /src/openssl/apps/storeutl.c:363,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:364,1
    - Dst: OSSL_STORE_supports_search
      Src: /src/openssl/apps/storeutl.c:370,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:371,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/apps/storeutl.c:377,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:378,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/apps/storeutl.c:387,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/apps/storeutl.c:388,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/openssl/apps/storeutl.c:389,1
    - Dst: OSSL_STORE_error
      Src: /src/openssl/apps/storeutl.c:392,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/storeutl.c:394,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:396,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/apps/storeutl.c:397,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/apps/storeutl.c:403,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/storeutl.c:406,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/storeutl.c:409,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:410,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/openssl/apps/storeutl.c:416,1
    - Dst: OSSL_STORE_INFO_get0_NAME_description
      Src: /src/openssl/apps/storeutl.c:417,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:418,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:421,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:423,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/storeutl.c:427,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/openssl/apps/storeutl.c:441,1
    - Dst: process
      Src: /src/openssl/apps/storeutl.c:442,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/storeutl.c:450,1
    - Dst: OSSL_STORE_INFO_get0_PARAMS
      Src: /src/openssl/apps/storeutl.c:450,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/storeutl.c:453,1
    - Dst: OSSL_STORE_INFO_get0_PARAMS
      Src: /src/openssl/apps/storeutl.c:454,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/storeutl.c:458,1
    - Dst: OSSL_STORE_INFO_get0_PUBKEY
      Src: /src/openssl/apps/storeutl.c:458,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/storeutl.c:461,1
    - Dst: OSSL_STORE_INFO_get0_PUBKEY
      Src: /src/openssl/apps/storeutl.c:461,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/storeutl.c:465,1
    - Dst: OSSL_STORE_INFO_get0_PKEY
      Src: /src/openssl/apps/storeutl.c:465,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/storeutl.c:468,1
    - Dst: OSSL_STORE_INFO_get0_PKEY
      Src: /src/openssl/apps/storeutl.c:468,1
    - Dst: X509_print
      Src: /src/openssl/apps/storeutl.c:473,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/openssl/apps/storeutl.c:473,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/storeutl.c:475,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/openssl/apps/storeutl.c:475,1
    - Dst: X509_CRL_print
      Src: /src/openssl/apps/storeutl.c:479,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/openssl/apps/storeutl.c:479,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/storeutl.c:481,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/openssl/apps/storeutl.c:481,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/storeutl.c:487,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/apps/storeutl.c:492,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:494,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/apps/storeutl.c:497,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:498,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 113
    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: 503
      start: 346
    functionDepth: 12
    functionLinenumber: 346
    functionLinenumberEnd: 503
    functionName: process
    functionSourceFile: /src/openssl/apps/storeutl.c
    functionUses: 16
    functionsReached:
    - BIO_puts
    - PEM_write_bio_Parameters
    - EVP_PKEY_print_params
    - OSSL_STORE_INFO_get0_PUBKEY
    - OSSL_STORE_INFO_get0_CERT
    - ERR_clear_error
    - OSSL_STORE_close
    - PEM_write_bio_PrivateKey
    - OSSL_STORE_supports_search
    - OSSL_STORE_load
    - OSSL_STORE_INFO_get0_PKEY
    - app_get0_propq
    - OSSL_STORE_expect
    - OSSL_STORE_INFO_free
    - X509_CRL_print
    - OSSL_STORE_open_ex
    - EVP_PKEY_print_private
    - OSSL_STORE_INFO_get0_CRL
    - bio_open_default
    - EVP_PKEY_print_public
    - PEM_write_bio_X509_CRL
    - ERR_print_errors
    - OSSL_STORE_INFO_type_string
    - OSSL_STORE_find
    - PEM_write_bio_PUBKEY
    - OSSL_STORE_INFO_get0_NAME
    - OSSL_STORE_eof
    - OSSL_STORE_INFO_get0_NAME_description
    - OSSL_STORE_INFO_get0_PARAMS
    - BIO_printf
    - X509_print
    - PEM_write_bio_X509
    - OSSL_STORE_error
    - indent_printf
    - OSSL_STORE_INFO_get_type
    - process
    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: 49
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/rsautl.c:99,1
    - Dst: opt_next
      Src: /src/openssl/apps/rsautl.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsautl.c:105,1
    - Dst: opt_help
      Src: /src/openssl/apps/rsautl.c:108,1
    - Dst: opt_format
      Src: /src/openssl/apps/rsautl.c:112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:116,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:119,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:166,1
    - Dst: opt_rand
      Src: /src/openssl/apps/rsautl.c:169,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rsautl.c:173,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/rsautl.c:180,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/rsautl.c:183,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsautl.c:187,1
    - Dst: app_passwd
      Src: /src/openssl/apps/rsautl.c:191,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsautl.c:192,1
    - Dst: load_key
      Src: /src/openssl/apps/rsautl.c:198,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/rsautl.c:202,1
    - Dst: load_cert
      Src: /src/openssl/apps/rsautl.c:206,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/rsautl.c:208,1
    - Dst: X509_free
      Src: /src/openssl/apps/rsautl.c:209,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/rsautl.c:217,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/rsautl.c:220,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/rsautl.c:224,1
    - Dst: app_malloc_array
      Src: /src/openssl/apps/rsautl.c:226,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rsautl.c:227,1
    - Dst: BIO_read
      Src: /src/openssl/apps/rsautl.c:231,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsautl.c:233,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/rsautl.c:248,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/openssl/apps/rsautl.c:253,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:254,1
    - Dst: EVP_PKEY_verify_recover
      Src: /src/openssl/apps/rsautl.c:255,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/apps/rsautl.c:260,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:261,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/rsautl.c:262,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/apps/rsautl.c:265,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:266,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/apps/rsautl.c:267,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/apps/rsautl.c:270,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:271,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/apps/rsautl.c:272,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rsautl.c:277,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsautl.c:278,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/apps/rsautl.c:283,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsautl.c:284,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/rsautl.c:287,1
    - Dst: BIO_write
      Src: /src/openssl/apps/rsautl.c:289,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/rsautl.c:292,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/rsautl.c:293,1
    - Dst: BIO_free
      Src: /src/openssl/apps/rsautl.c:294,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/rsautl.c:295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsautl.c:296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsautl.c:297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsautl.c:298,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 189
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 300
    functionName: rsautl_main
    functionSourceFile: /src/openssl/apps/rsautl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - EVP_PKEY_verify_recover_init
    - EVP_PKEY_encrypt
    - X509_free
    - app_malloc
    - ASN1_parse_dump
    - load_key
    - EVP_PKEY_decrypt
    - opt_rand
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_verify_recover
    - app_RAND_load
    - OPENSSL_free
    - load_pubkey
    - BIO_read
    - BIO_write
    - app_passwd
    - EVP_PKEY_decrypt_init
    - opt_provider
    - EVP_PKEY_get_size
    - X509_get_pubkey
    - opt_check_rest_arg
    - EVP_PKEY_encrypt_init
    - opt_init
    - BIO_free
    - bio_open_default
    - app_malloc_array
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_free
    - ERR_print_errors
    - opt_help
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - BIO_printf
    - opt_format
    - load_cert
    - BIO_free_all
    - opt_arg
    - opt_next
    - BIO_dump
    - EVP_PKEY_sign_init
    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:44,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:45,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:47,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:51,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:52,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:55,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - db
    - id
    - type
    argTypes:
    - CA_DB*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: get_index
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_PSTRING_value
    - strcmp
    - 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:67,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:70,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: 73
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 73
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - indexindex
    - verbose
    argTypes:
    - CA_DB*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 78
    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:83,1
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:86,1
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:87,1
    - Dst: get_index
      Src: /src/openssl/apps/srp.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - db
    - userindex
    - verbose
    argTypes:
    - CA_DB*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 91
    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_array
      Src: /src/openssl/apps/srp.c:98,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/apps/srp.c:103,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:104,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:105,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - db
    - row
    argTypes:
    - CA_DB*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: update_index
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_free
    - TXT_DB_insert
    - app_malloc_array
    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:114,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - section
    - tag
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: lookup_conf
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - NCONF_get_string
    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:133,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:137,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:141,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/srp.c:143,1
    - Dst: SRP_create_verifier
      Src: /src/openssl/apps/srp.c:144,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:147,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:151,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/srp.c:153,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: 156
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: srp_verify_user
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_free
    - password_callback
    - SRP_create_verifier
    - strcmp
    - OPENSSL_cleanse
    - OPENSSL_assert
    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:170,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:174,1
    - Dst: SRP_create_verifier
      Src: /src/openssl/apps/srp.c:176,1
    - Dst: BIO_puts
      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: 189
      start: 158
    functionDepth: 7
    functionLinenumber: 158
    functionLinenumberEnd: 189
    functionName: srp_create_user
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - password_callback
    - SRP_create_verifier
    - OPENSSL_cleanse
    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: 80
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/srp.c:252,1
    - Dst: opt_next
      Src: /src/openssl/apps/srp.c:253,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:258,1
    - Dst: opt_help
      Src: /src/openssl/apps/srp.c:261,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:268,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:271,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:274,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:281,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:289,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:292,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:295,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:298,1
    - Dst: opt_rand
      Src: /src/openssl/apps/srp.c:301,1
    - Dst: opt_provider
      Src: /src/openssl/apps/srp.c:305,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/srp.c:312,1
    - Dst: opt_rest
      Src: /src/openssl/apps/srp.c:313,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/srp.c:315,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:319,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:324,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:330,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:336,1
    - Dst: app_passwd
      Src: /src/openssl/apps/srp.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:342,1
    - Dst: app_load_config_verbose
      Src: /src/openssl/apps/srp.c:350,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/srp.c:353,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:359,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/srp.c:363,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/srp.c:368,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:371,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/srp.c:375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:381,1
    - Dst: load_index
      Src: /src/openssl/apps/srp.c:384,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:386,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:391,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:392,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:396,1
    - Dst: print_index
      Src: /src/openssl/apps/srp.c:399,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:404,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:407,1
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:408,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/apps/srp.c:409,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:410,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:414,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:419,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:425,1
    - Dst: get_index
      Src: /src/openssl/apps/srp.c:426,1
    - Dst: print_user
      Src: /src/openssl/apps/srp.c:427,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:431,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:433,1
    - Dst: print_user
      Src: /src/openssl/apps/srp.c:434,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:436,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:443,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:444,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:495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:498,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:509,1
    - Dst: get_index
      Src: /src/openssl/apps/srp.c:512,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:513,1
    - Dst: srp_verify_user
      Src: /src/openssl/apps/srp.c:516,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:520,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:528,1
    - Dst: srp_create_user
      Src: /src/openssl/apps/srp.c:531,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:536,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:544,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:552,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:561,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:566,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:568,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:581,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:585,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:586,1
    - Dst: print_user
      Src: /src/openssl/apps/srp.c:590,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:595,1
    - Dst: save_index
      Src: /src/openssl/apps/srp.c:596,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:600,1
    - Dst: rotate_index
      Src: /src/openssl/apps/srp.c:601,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/srp.c:605,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:612,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:615,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:617,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:618,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/srp.c:620,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/srp.c:621,1
    - Dst: free_index
      Src: /src/openssl/apps/srp.c:622,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 294
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 239
    functionDepth: 8
    functionLinenumber: 239
    functionLinenumberEnd: 624
    functionName: srp_main
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - opt_rand
    - NCONF_free
    - lookup_conf
    - app_RAND_load
    - OPENSSL_free
    - print_user
    - print_entry
    - app_passwd
    - save_index
    - opt_provider
    - srp_create_user
    - sk_OPENSSL_PSTRING_value
    - get_index
    - free_index
    - app_RAND_load_conf
    - opt_init
    - strcmp
    - SRP_get_default_gN
    - opt_num_rest
    - app_load_config_verbose
    - update_index
    - ERR_print_errors
    - load_index
    - opt_help
    - print_index
    - OPENSSL_strdup
    - BIO_printf
    - srp_verify_user
    - rotate_index
    - opt_arg
    - opt_next
    - app_load_modules
    - opt_rest
    - sk_OPENSSL_PSTRING_num
    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: 75
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/pkcs8.c:108,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkcs8.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:114,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkcs8.c:117,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs8.c:121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:125,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs8.c:128,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:128,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:132,1
    - Dst: opt_rand
      Src: /src/openssl/apps/pkcs8.c:144,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkcs8.c:148,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:155,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/pkcs8.c:158,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:160,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:161,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/pkcs8.c:166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:166,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/apps/pkcs8.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:168,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:169,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs8.c:173,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/pkcs8.c:176,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:179,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:182,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs8.c:190,1
    - Dst: opt_long
      Src: /src/openssl/apps/pkcs8.c:193,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:193,1
    - Dst: opt_long
      Src: /src/openssl/apps/pkcs8.c:197,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:197,1
    - Dst: opt_long
      Src: /src/openssl/apps/pkcs8.c:201,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:201,1
    - Dst: opt_int
      Src: /src/openssl/apps/pkcs8.c:206,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:206,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkcs8.c:213,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/pkcs8.c:217,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/pkcs8.c:221,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkcs8.c:225,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:226,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs8.c:231,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkcs8.c:233,1
    - Dst: load_key
      Src: /src/openssl/apps/pkcs8.c:239,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/apps/pkcs8.c:242,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:243,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:244,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs8.c:247,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs8.c:250,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/apps/pkcs8.c:252,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/apps/pkcs8.c:254,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:256,1
    - Dst: PKCS5_pbe2_set_scrypt
      Src: /src/openssl/apps/pkcs8.c:264,1
    - Dst: PKCS5_pbe2_set_iv
      Src: /src/openssl/apps/pkcs8.c:268,1
    - Dst: PKCS5_pbe_set
      Src: /src/openssl/apps/pkcs8.c:271,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:274,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:275,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs8.c:284,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/pkcs8.c:285,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:290,1
    - Dst: PKCS8_set0_pbe
      Src: /src/openssl/apps/pkcs8.c:293,1
    - Dst: strlen
      Src: /src/openssl/apps/pkcs8.c:293,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/pkcs8.c:295,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:296,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:297,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs8.c:300,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/apps/pkcs8.c:302,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/apps/pkcs8.c:304,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:306,1
    - Dst: PEM_read_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/apps/pkcs8.c:317,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/apps/pkcs8.c:319,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:321,1
    - Dst: PEM_read_bio_PKCS8
      Src: /src/openssl/apps/pkcs8.c:326,1
    - Dst: d2i_PKCS8_bio
      Src: /src/openssl/apps/pkcs8.c:328,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:330,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:335,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:336,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs8.c:344,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:345,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:350,1
    - Dst: PKCS8_decrypt
      Src: /src/openssl/apps/pkcs8.c:353,1
    - Dst: strlen
      Src: /src/openssl/apps/pkcs8.c:353,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:357,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:358,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/pkcs8.c:362,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:363,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:364,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs8.c:368,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs8.c:369,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/apps/pkcs8.c:374,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkcs8.c:377,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/pkcs8.c:379,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs8.c:381,1
    - Dst: X509_SIG_free
      Src: /src/openssl/apps/pkcs8.c:387,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/pkcs8.c:388,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs8.c:389,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/pkcs8.c:390,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkcs8.c:391,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkcs8.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs8.c:393,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs8.c:394,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 299
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/openssl/apps/pkcs8.c
    - condition: (private)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/openssl/apps/pkcs8.c
    - condition: (private)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/openssl/apps/pkcs8.c
    constantsTouched: []
    func_position:
      end: 397
      start: 86
    functionDepth: 10
    functionLinenumber: 86
    functionLinenumberEnd: 397
    functionName: pkcs8_main
    functionSourceFile: /src/openssl/apps/pkcs8.c
    functionUses: 0
    functionsReached:
    - EVP_PKCS82PKEY
    - BIO_puts
    - EVP_PBE_find
    - load_key
    - opt_cipher
    - opt_rand
    - i2d_PKCS8_bio
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - PEM_read_bio_PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - i2d_PrivateKey_bio
    - opt_long
    - opt_int_arg
    - opt_int
    - PKCS8_set0_pbe
    - PEM_write_bio_PKCS8
    - d2i_PKCS8_PRIV_KEY_INFO_bio
    - EVP_aes_256_cbc
    - PEM_write_bio_PrivateKey
    - app_RAND_load
    - OPENSSL_free
    - app_passwd
    - X509_SIG_free
    - opt_provider
    - strlen
    - opt_check_rest_arg
    - X509_ALGOR_free
    - PEM_write_bio_PrivateKey_traditional
    - EVP_read_pw_string
    - opt_init
    - BIO_free
    - d2i_PKCS8_bio
    - bio_open_default
    - PKCS8_decrypt
    - OBJ_txt2nid
    - assert
    - PKCS5_pbe_set
    - ERR_print_errors
    - bio_open_owner
    - opt_help
    - PKCS5_pbe2_set_scrypt
    - EVP_PKEY_free
    - EVP_CIPHER_free
    - EVP_PKEY2PKCS8
    - BIO_printf
    - PKCS8_PRIV_KEY_INFO_free
    - opt_format
    - BIO_free_all
    - opt_arg
    - PEM_read_bio_PKCS8_PRIV_KEY_INFO
    - opt_next
    - PKCS5_pbe2_set_iv
    linkageType: ''
    returnType: int
    signature: int pkcs8_main(int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/configutl.c:31,1
    - Dst: BIO_write
      Src: /src/openssl/apps/configutl.c:32,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/configutl.c:35,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/configutl.c:38,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/configutl.c:41,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/configutl.c:44,1
    - Dst: BIO_puts
      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_puts
    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_puts
      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:
    - BIO_puts
    - BIO_printf
    - NCONF_get_section
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    - print_escaped_value
    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:
    - NCONF_load
    - NCONF_free
    - sk_OPENSSL_CSTRING_find
    - sk_OPENSSL_CSTRING_value
    - OPENSSL_free
    - NCONF_get_section_names
    - sk_OPENSSL_CSTRING_num
    - STACK_OF
    - CONF_get1_default_config_file
    - NCONF_new
    - opt_init
    - BIO_free
    - bio_open_default
    - sk_OPENSSL_CSTRING_free
    - ERR_print_errors
    - opt_help
    - OPENSSL_strdup
    - BIO_printf
    - print_section
    - opt_arg
    - opt_next
    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:76,1
    - Dst: strtol
      Src: /src/openssl/apps/vms_decc_init.c:78,1
    - Dst: decc$feature_get_index
      Src: /src/openssl/apps/vms_decc_init.c:91,1
    - Dst: decc$feature_get_value
      Src: /src/openssl/apps/vms_decc_init.c:94,1
    - Dst: decc$feature_get_value
      Src: /src/openssl/apps/vms_decc_init.c:95,1
    - Dst: decc$feature_get_value
      Src: /src/openssl/apps/vms_decc_init.c:96,1
    - Dst: decc$feature_set_value
      Src: /src/openssl/apps/vms_decc_init.c:102,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:106,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:113,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:121,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 129
    functionName: decc_init
    functionSourceFile: /src/openssl/apps/vms_decc_init.c
    functionUses: 0
    functionsReached:
    - decc$feature_get_index
    - fprintf
    - getenv
    - decc$feature_set_value
    - strtol
    - decc$feature_get_value
    linkageType: ''
    returnType: void
    signature: void decc_init(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:173,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/apps/s_server.c:175,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_server.c:175,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:190,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:191,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:195,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:200,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_server.c:204,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:214,1
    - Dst: memcpy
      Src: /src/openssl/apps/s_server.c:218,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:219,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:222,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:226,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:227,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:228,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: 230
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 230
    functionName: psk_server_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - strcmp
    - SSL_is_dtls
    - BIO_flush
    - SSL_version
    - strlen
    - memcpy
    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:241,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_server.c:242,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/apps/s_server.c:248,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_server.c:255,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:257,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/apps/s_server.c:263,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:266,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/apps/s_server.c:270,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/apps/s_server.c:272,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/apps/s_server.c:273,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/apps/s_server.c:274,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_server.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:275,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_server.c:276,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:279,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: 283
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 283
    functionName: psk_find_session_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_hexstr2buf
    - SSL_CIPHER_find
    - SSL_SESSION_new
    - OPENSSL_free
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - SSL_version
    - SSL_SESSION_set_protocol_version
    - SSL_SESSION_set_cipher
    - strlen
    - memcmp
    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:313,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/apps/s_server.c:316,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/apps/s_server.c:317,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/apps/s_server.c:318,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/apps/s_server.c:319,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/apps/s_server.c:320,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/apps/s_server.c:321,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/apps/s_server.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: BIO_f_ebcdic_filter
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_write
    - BIO_meth_set_create
    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:332,1
    - Dst: BIO_set_data
      Src: /src/openssl/apps/s_server.c:336,1
    - Dst: BIO_set_init
      Src: /src/openssl/apps/s_server.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: ebcdic_new
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - app_malloc
    - BIO_set_init
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int ebcdic_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/apps/s_server.c:347,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:348,1
    - Dst: BIO_set_data
      Src: /src/openssl/apps/s_server.c:349,1
    - Dst: BIO_set_init
      Src: /src/openssl/apps/s_server.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: ebcdic_free
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ebcdic_free(BIO *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/apps/s_server.c:358,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_server.c:365,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/s_server.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 369
    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:374,1
    - Dst: BIO_get_data
      Src: /src/openssl/apps/s_server.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:389,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:390,1
    - Dst: BIO_set_data
      Src: /src/openssl/apps/s_server.c:395,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/s_server.c:398,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 403
    functionName: ebcdic_write
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - OPENSSL_free
    - BIO_write
    - app_malloc
    - BIO_next
    - BIO_get_data
    - BIO_set_data
    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:408,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 421
    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:426,1
    - Dst: ebcdic_read
      Src: /src/openssl/apps/s_server.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 443
    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:447,1
    - Dst: ebcdic_write
      Src: /src/openssl/apps/s_server.c:449,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 5
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: ebcdic_puts
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - strlen
    - ebcdic_write
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int ebcdic_puts(BIO *bp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: ech_print_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ech_print_cb(SSL *s, const char *str)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/apps/s_server.c:491,1
    - Dst: gmtime_r
      Src: /src/openssl/apps/s_server.c:508,1
    - Dst: strcpy
      Src: /src/openssl/apps/s_server.c:510,1
    - Dst: strftime
      Src: /src/openssl/apps/s_server.c:512,1
    - Dst: strcpy
      Src: /src/openssl/apps/s_server.c:514,1
    - Dst: gmtime_s
      Src: /src/openssl/apps/s_server.c:517,1
    - Dst: strcpy
      Src: /src/openssl/apps/s_server.c:519,1
    - Dst: strftime
      Src: /src/openssl/apps/s_server.c:521,1
    - Dst: strcpy
      Src: /src/openssl/apps/s_server.c:523,1
    - Dst: memset
      Src: /src/openssl/apps/s_server.c:526,1
    - Dst: strncpy
      Src: /src/openssl/apps/s_server.c:527,1
    - Dst: memset
      Src: /src/openssl/apps/s_server.c:528,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/s_server.c:530,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:530,1
    - Dst: getpeername
      Src: /src/openssl/apps/s_server.c:533,1
    - Dst: getpeername
      Src: /src/openssl/apps/s_server.c:535,1
    - Dst: getnameinfo
      Src: /src/openssl/apps/s_server.c:538,1
    - Dst: SSL_get_servername
      Src: /src/openssl/apps/s_server.c:542,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/apps/s_server.c:543,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:546,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:552,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:556,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:560,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:564,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:568,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:572,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:576,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:580,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:586,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:591,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:592,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:597,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:600,1
    - Dst: isascii
      Src: /src/openssl/apps/s_server.c:601,1
    - Dst: isprint
      Src: /src/openssl/apps/s_server.c:601,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:602,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:604,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:608,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:611,1
    - Dst: check_cert_might_be_valid
      Src: /src/openssl/apps/s_server.c:620,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:625,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/apps/s_server.c:627,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:630,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_server.c:634,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:640,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_server.c:644,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:647,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/apps/s_server.c:648,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 653
    functionName: ssl_ech_servername_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_get_fd
    - SSL_get_wbio
    - SSL_ech_get1_status
    - OPENSSL_free
    - isprint
    - getpeername
    - gmtime_r
    - isascii
    - SSL_set_SSL_CTX
    - strncpy
    - memset
    - strcpy
    - getnameinfo
    - OPENSSL_strcasecmp
    - BIO_printf
    - SSL_get_servername
    - strftime
    - check_cert_might_be_valid
    - gmtime_s
    - time
    linkageType: ''
    returnType: int
    signature: int ssl_ech_servername_cb(SSL *s, int *ad, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/apps/s_server.c:661,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:667,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:669,1
    - Dst: isprint
      Src: /src/openssl/apps/s_server.c:670,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:671,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_server.c:678,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:681,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/apps/s_server.c:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 686
    functionName: ssl_servername_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_get_servername
    - isprint
    - SSL_set_SSL_CTX
    - OPENSSL_strcasecmp
    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:724,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:727,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:733,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/s_server.c:738,1
    - Dst: X509_get1_ocsp
      Src: /src/openssl/apps/s_server.c:739,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/s_server.c:741,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/s_server.c:741,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:743,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:747,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/s_server.c:748,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:751,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_server.c:763,1
    - Dst: SSL_CTX_get0_chain_certs
      Src: /src/openssl/apps/s_server.c:764,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/s_server.c:766,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/s_server.c:768,1
    - Dst: X509_name_cmp
      Src: /src/openssl/apps/s_server.c:769,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/s_server.c:769,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/apps/s_server.c:771,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/s_server.c:776,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/s_server.c:779,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/openssl/apps/s_server.c:779,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/openssl/apps/s_server.c:782,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:784,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/apps/s_server.c:787,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/openssl/apps/s_server.c:787,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/apps/s_server.c:788,1
    - Dst: OCSP_REQUEST_new
      Src: /src/openssl/apps/s_server.c:792,1
    - Dst: OCSP_request_add0_id
      Src: /src/openssl/apps/s_server.c:795,1
    - Dst: SSL_get_tlsext_status_exts
      Src: /src/openssl/apps/s_server.c:799,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/s_server.c:800,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/s_server.c:801,1
    - Dst: OCSP_REQUEST_add_ext
      Src: /src/openssl/apps/s_server.c:803,1
    - Dst: process_responder
      Src: /src/openssl/apps/s_server.c:806,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:809,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:824,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:825,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:826,1
    - Dst: X509_email_free
      Src: /src/openssl/apps/s_server.c:827,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/apps/s_server.c:829,1
    - Dst: OCSP_REQUEST_free
      Src: /src/openssl/apps/s_server.c:830,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/s_server.c:831,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: 833
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 833
    functionName: get_ocsp_resp_from_responder_single
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OCSP_request_add0_id
    - X509_STORE_CTX_init
    - sk_X509_EXTENSION_value
    - process_responder
    - X509_STORE_CTX_free
    - SSL_get_SSL_CTX
    - sk_X509_num
    - X509_email_free
    - X509_get1_ocsp
    - OCSP_REQUEST_add_ext
    - OPENSSL_free
    - OCSP_cert_to_id
    - STACK_OF
    - X509_get_subject_name
    - OCSP_REQUEST_free
    - X509_STORE_CTX_new
    - OCSP_CERTID_free
    - X509_STORE_CTX_get_obj_by_subject
    - X509_OBJECT_get0_X509
    - X509_get_issuer_name
    - SSL_CTX_get_cert_store
    - SSL_CTX_get0_chain_certs
    - BIO_printf
    - sk_OPENSSL_STRING_value
    - OSSL_HTTP_parse_url
    - sk_X509_EXTENSION_num
    - sk_X509_value
    - OCSP_REQUEST_new
    - X509_name_cmp
    - SSL_get_tlsext_status_exts
    - X509_OBJECT_free
    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:1062,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:1067,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/apps/s_server.c:1069,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_server.c:1071,1
    - Dst: get_ocsp_resp_from_files
      Src: /src/openssl/apps/s_server.c:1073,1
    - Dst: get_ocsp_resp_from_responder
      Src: /src/openssl/apps/s_server.c:1075,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/apps/s_server.c:1080,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1084,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_server.c:1086,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_server.c:1087,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/apps/s_server.c:1088,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/openssl/apps/s_server.c:1090,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1092,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:1101,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/apps/s_server.c:1102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1106
    functionName: cert_status_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_get0_tlsext_status_ocsp_resp_ex
    - BIO_puts
    - BIO_printf
    - sk_OCSP_RESPONSE_num
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - get_ocsp_resp_from_files
    - sk_OCSP_RESPONSE_pop_free
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - ERR_print_errors
    - get_ocsp_resp_from_responder
    - OCSP_RESPONSE_print
    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: 1125
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1125
    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_puts
      Src: /src/openssl/apps/s_server.c:1143,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:1146,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:1147,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:1150,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/apps/s_server.c:1153,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:1159,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:1160,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:1161,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: 1165
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1165
    functionName: alpn_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_puts
    - 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: 1171
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:1590,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1606,1
    - Dst: app_isdir
      Src: /src/openssl/apps/s_server.c:1609,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1610,1
    - Dst: SSL_CTX_get1_echstore
      Src: /src/openssl/apps/s_server.c:1613,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/apps/s_server.c:1614,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:1614,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:1615,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:1617,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/apps/s_server.c:1620,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_server.c:1625,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_server.c:1627,1
    - Dst: app_isdir
      Src: /src/openssl/apps/s_server.c:1629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1631,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:1635,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/apps/s_server.c:1636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1637,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:1640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1642,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/apps/s_server.c:1645,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/apps/s_server.c:1647,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:1648,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1652,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/s_server.c:1658,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - lctx
    - thedir
    - for_retry
    - nloaded
    argTypes:
    - SSL_CTX*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1587
    functionDepth: 4
    functionLinenumber: 1587
    functionLinenumberEnd: 1661
    functionName: ech_load_dir
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - OSSL_ECHSTORE_free
    - BIO_puts
    - BIO_printf
    - OSSL_ECHSTORE_read_pem
    - app_get0_libctx
    - OPENSSL_DIR_end
    - BIO_free_all
    - app_isdir
    - BIO_snprintf
    - app_get0_propq
    - OPENSSL_DIR_read
    - OSSL_ECHSTORE_new
    - BIO_new_file
    - strlen
    - SSL_CTX_get1_echstore
    - SSL_CTX_set1_echstore
    linkageType: ''
    returnType: int
    signature: "int ech_load_dir(SSL_CTX *lctx, const char *thedir,\n    int for_retry,
      int *nloaded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1667
    functionName: IS_PROT_FLAG
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PROT_FLAG(o)
  - BBCount: 335
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/apps/s_server.c:1672,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:1674,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:1675,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:1676,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_server.c:1778,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/apps/s_server.c:1779,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/s_server.c:1780,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/apps/s_server.c:1783,1
    - Dst: opt_init
      Src: /src/openssl/apps/s_server.c:1786,1
    - Dst: opt_next
      Src: /src/openssl/apps/s_server.c:1787,1
    - Dst: IS_PROT_FLAG
      Src: /src/openssl/apps/s_server.c:1788,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:1789,1
    - Dst: IS_NO_PROT_FLAG
      Src: /src/openssl/apps/s_server.c:1792,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:1795,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1803,1
    - Dst: opt_help
      Src: /src/openssl/apps/s_server.c:1806,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1813,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1815,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1826,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1828,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1835,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1845,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1847,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_server.c:1849,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1849,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1850,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1862,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1864,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_server.c:1866,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1866,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1867,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1876,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_server.c:1877,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1877,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1880,1
    - Dst: atol
      Src: /src/openssl/apps/s_server.c:1888,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1888,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:1892,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1894,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:1898,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1900,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1905,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1908,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/s_server.c:1911,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1911,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1915,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1921,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1924,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1924,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1928,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1931,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1931,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1935,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1938,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1941,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1944,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1944,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1948,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1951,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1951,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1955,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1958,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1961,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1967,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1973,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1976,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1979,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1985,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1988,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1997,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1997,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_server.c:2005,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:2007,1
    - Dst: opt_flag
      Src: /src/openssl/apps/s_server.c:2007,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:2008,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2008,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2009,1
    - Dst: opt_verify
      Src: /src/openssl/apps/s_server.c:2014,1
    - Dst: args_excert
      Src: /src/openssl/apps/s_server.c:2019,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2033,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2039,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2042,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2082,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2087,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2092,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/s_server.c:2098,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2098,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2101,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_server.c:2110,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:2112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2112,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:2119,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2119,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2155,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2159,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2163,1
    - Dst: isxdigit
      Src: /src/openssl/apps/s_server.c:2164,1
    - Dst: _UC
      Src: /src/openssl/apps/s_server.c:2164,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2171,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2175,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2182,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2200,1
    - Dst: DTLS_server_method
      Src: /src/openssl/apps/s_server.c:2220,1
    - Dst: DTLS_server_method
      Src: /src/openssl/apps/s_server.c:2226,1
    - Dst: DTLS_server_method
      Src: /src/openssl/apps/s_server.c:2234,1
    - Dst: atol
      Src: /src/openssl/apps/s_server.c:2257,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2257,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2269,1
    - Dst: opt_rand
      Src: /src/openssl/apps/s_server.c:2272,1
    - Dst: opt_provider
      Src: /src/openssl/apps/s_server.c:2276,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2280,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2286,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2289,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2293,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2297,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2301,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2305,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2308,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2314,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2317,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2320,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2323,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2326,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2329,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2331,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_server.c:2336,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2338,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2352,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2355,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2358,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_server.c:2402,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:2403,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:2403,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/s_server.c:2411,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/s_server.c:2414,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2419,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2425,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2430,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2435,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2441,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2446,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2452,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2458,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2466,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2476,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2481,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2486,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_server.c:2491,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2492,1
    - Dst: load_excert
      Src: /src/openssl/apps/s_server.c:2502,1
    - Dst: load_key
      Src: /src/openssl/apps/s_server.c:2506,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_server.c:2511,1
    - Dst: load_certs
      Src: /src/openssl/apps/s_server.c:2517,1
    - Dst: load_key
      Src: /src/openssl/apps/s_server.c:2523,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_server.c:2528,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_server.c:2540,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_server.c:2547,1
    - Dst: load_crl
      Src: /src/openssl/apps/s_server.c:2554,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/s_server.c:2557,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/s_server.c:2558,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2559,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2560,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/s_server.c:2561,1
    - Dst: load_key
      Src: /src/openssl/apps/s_server.c:2571,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_server.c:2576,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2580,1
    - Dst: load_certs
      Src: /src/openssl/apps/s_server.c:2584,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:2592,1
    - Dst: BIO_s_null
      Src: /src/openssl/apps/s_server.c:2592,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_server.c:2594,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2596,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_server.c:2601,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/s_server.c:2617,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:2617,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:2617,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2619,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/openssl/apps/s_server.c:2623,1
    - Dst: ssl_ctx_security_debug
      Src: /src/openssl/apps/s_server.c:2626,1
    - Dst: config_ctx
      Src: /src/openssl/apps/s_server.c:2628,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/apps/s_server.c:2632,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2633,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2635,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_server.c:2641,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/s_server.c:2645,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/s_server.c:2648,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:2652,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2653,1
    - Dst: SSL_CTX_set_generate_session_id
      Src: /src/openssl/apps/s_server.c:2655,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2656,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2657,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2660,1
    - Dst: ssl_ctx_set_excert
      Src: /src/openssl/apps/s_server.c:2663,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/apps/s_server.c:2666,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_server.c:2668,1
    - Dst: init_session_cache_ctx
      Src: /src/openssl/apps/s_server.c:2670,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/apps/s_server.c:2672,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_server.c:2675,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2679,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2683,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2686,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2688,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/apps/s_server.c:2692,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2693,1
    - Dst: SSL_CTX_set_split_send_fragment
      Src: /src/openssl/apps/s_server.c:2699,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2700,1
    - Dst: SSL_CTX_set_max_pipelines
      Src: /src/openssl/apps/s_server.c:2705,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2706,1
    - Dst: SSL_CTX_set_default_read_buffer_len
      Src: /src/openssl/apps/s_server.c:2712,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/openssl/apps/s_server.c:2717,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2718,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2719,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_server.c:2725,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2727,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/apps/s_server.c:2730,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2731,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2732,1
    - Dst: ssl_ctx_add_crls
      Src: /src/openssl/apps/s_server.c:2736,1
    - Dst: ssl_load_stores
      Src: /src/openssl/apps/s_server.c:2738,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2742,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2743,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2749,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2751,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:2756,1
    - Dst: OSSL_ECHSTORE_new
      Src: /src/openssl/apps/s_server.c:2757,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:2757,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:2758,1
    - Dst: OSSL_ECHSTORE_read_pem
      Src: /src/openssl/apps/s_server.c:2760,1
    - Dst: SSL_CTX_set1_echstore
      Src: /src/openssl/apps/s_server.c:2761,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2762,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/s_server.c:2763,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:2764,1
    - Dst: OSSL_ECHSTORE_free
      Src: /src/openssl/apps/s_server.c:2767,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:2768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2770,1
    - Dst: ech_load_dir
      Src: /src/openssl/apps/s_server.c:2776,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2777,1
    - Dst: ech_load_dir
      Src: /src/openssl/apps/s_server.c:2785,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2788,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2795,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/s_server.c:2801,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:2801,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:2801,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2803,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2808,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2810,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2815,1
    - Dst: ssl_ctx_security_debug
      Src: /src/openssl/apps/s_server.c:2818,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:2821,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2822,1
    - Dst: SSL_CTX_set_generate_session_id
      Src: /src/openssl/apps/s_server.c:2824,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2825,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2826,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2829,1
    - Dst: ssl_ctx_set_excert
      Src: /src/openssl/apps/s_server.c:2832,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/apps/s_server.c:2835,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_server.c:2838,1
    - Dst: init_session_cache_ctx
      Src: /src/openssl/apps/s_server.c:2840,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/apps/s_server.c:2842,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_server.c:2845,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_server.c:2847,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2849,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/apps/s_server.c:2852,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2853,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2854,1
    - Dst: ssl_ctx_add_crls
      Src: /src/openssl/apps/s_server.c:2858,1
    - Dst: config_ctx
      Src: /src/openssl/apps/s_server.c:2859,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/openssl/apps/s_server.c:2864,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/apps/s_server.c:2868,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/apps/s_server.c:2875,1
    - Dst: load_keyparams
      Src: /src/openssl/apps/s_server.c:2881,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/s_server.c:2883,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2887,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2889,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2891,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/apps/s_server.c:2894,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/apps/s_server.c:2900,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2901,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/apps/s_server.c:2904,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2905,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2906,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2908,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2909,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/s_server.c:2916,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2922,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2923,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2925,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/apps/s_server.c:2930,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/apps/s_server.c:2931,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2932,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2933,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2934,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2939,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2942,1
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/openssl/apps/s_server.c:2946,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2947,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2959,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2963,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2968,1
    - Dst: SSL_CTX_set_not_resumable_session_callback
      Src: /src/openssl/apps/s_server.c:2973,1
    - Dst: SSL_CTX_set_not_resumable_session_callback
      Src: /src/openssl/apps/s_server.c:2977,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2983,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/apps/s_server.c:2984,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2989,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/openssl/apps/s_server.c:2991,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2992,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2993,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:3000,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3003,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3004,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:3007,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3008,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3010,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3011,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/apps/s_server.c:3017,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_server.c:3019,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/apps/s_server.c:3020,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3023,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3024,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/apps/s_server.c:3029,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/apps/s_server.c:3030,1
    - Dst: SSL_CTX_set_stateless_cookie_generate_cb
      Src: /src/openssl/apps/s_server.c:3033,1
    - Dst: SSL_CTX_set_stateless_cookie_verify_cb
      Src: /src/openssl/apps/s_server.c:3034,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_server.c:3037,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/apps/s_server.c:3038,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3041,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3042,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_server.c:3047,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_server.c:3048,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_server.c:3049,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_server.c:3050,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/openssl/apps/s_server.c:3051,1
    - Dst: SSL_CTX_ech_set_callback
      Src: /src/openssl/apps/s_server.c:3052,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_server.c:3054,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_server.c:3055,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_server.c:3056,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_server.c:3057,1
    - Dst: set_up_srp_verifier_file
      Src: /src/openssl/apps/s_server.c:3063,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/apps/s_server.c:3069,1
    - Dst: SSL_load_client_CA_file
      Src: /src/openssl/apps/s_server.c:3069,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/apps/s_server.c:3072,1
    - Dst: SSL_load_client_CA_file
      Src: /src/openssl/apps/s_server.c:3072,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/apps/s_server.c:3076,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/apps/s_server.c:3077,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/apps/s_server.c:3079,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/apps/s_server.c:3080,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_server.c:3084,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_server.c:3088,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/apps/s_server.c:3093,1
    - Dst: SSL_CTX_set_recv_max_early_data
      Src: /src/openssl/apps/s_server.c:3095,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3098,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/apps/s_server.c:3099,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3100,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/apps/s_server.c:3101,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3102,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/apps/s_server.c:3105,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3106,1
    - Dst: SSL_CTX_set1_client_cert_type
      Src: /src/openssl/apps/s_server.c:3110,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3111,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/apps/s_server.c:3114,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3115,1
    - Dst: unlink
      Src: /src/openssl/apps/s_server.c:3128,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3131,1
    - Dst: do_server
      Src: /src/openssl/apps/s_server.c:3132,1
    - Dst: print_stats
      Src: /src/openssl/apps/s_server.c:3134,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_server.c:3137,1
    - Dst: cleanup_srp
      Src: /src/openssl/apps/s_server.c:3139,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_server.c:3141,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_server.c:3142,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_server.c:3143,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/s_server.c:3144,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_server.c:3145,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:3146,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:3147,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/s_server.c:3148,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/s_server.c:3149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3153,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/s_server.c:3154,1
    - Dst: free_sessions
      Src: /src/openssl/apps/s_server.c:3155,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_server.c:3156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3158,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3159,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_server.c:3160,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_server.c:3161,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:3162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3166,1
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/s_server.c:3167,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_server.c:3168,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_server.c:3169,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/apps/s_server.c:3170,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3171,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3173,1
    - Dst: BIO_meth_free
      Src: /src/openssl/apps/s_server.c:3176,1
    CyclomaticComplexity: 475
    EdgeCount: 475
    ICount: 1213
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 1668
    functionDepth: 5
    functionLinenumber: 1668
    functionLinenumberEnd: 3179
    functionName: s_server_main
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - load_keyparams_suppress
    - load_key
    - SSL_CTX_free
    - X509_VERIFY_PARAM_new
    - SSL_CTX_set_session_id_context
    - SSL_CTX_set_verify
    - BIO_new
    - SSL_CTX_compress_certs
    - init_session_cache_ctx
    - app_passwd
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_use_serverinfo_file
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - ssl_load_stores
    - PEM_read_bio_SSL_SESSION
    - opt_verify
    - BIO_s_null
    - app_get0_libctx
    - SSL_CTX_set_alpn_select_cb
    - load_crl
    - sk_OPENSSL_STRING_free
    - ssl_excert_free
    - SSL_CTX_set_recv_max_early_data
    - BIO_meth_free
    - SSL_CTX_set_max_pipelines
    - ech_load_dir
    - SSL_CTX_set_dh_auto
    - OSSL_ECHSTORE_free
    - SSL_load_client_CA_file
    - OSSL_ECHSTORE_read_pem
    - opt_format
    - OSSL_STACK_OF_X509_free
    - SSL_CTX_clear_mode
    - X509_CRL_free
    - OSSL_HTTP_parse_url
    - opt_arg
    - SSL_CTX_set_stateless_cookie_verify_cb
    - ssl_ctx_add_crls
    - IS_NO_PROT_FLAG
    - BIO_puts
    - unlink
    - atol
    - _UC
    - SSL_CTX_set_options
    - set_keylog_file
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set_tlsext_use_srtp
    - X509_VERIFY_PARAM_free
    - SSL_CTX_set_tlsext_status_arg
    - app_RAND_load
    - load_keyparams
    - sk_X509_CRL_push
    - opt_provider
    - SSL_CONF_CTX_free
    - SSL_CTX_set1_echstore
    - sk_OPENSSL_STRING_push
    - ssl_ctx_security_debug
    - IS_PROT_FLAG
    - SSL_CTX_set_tlsext_servername_callback
    - load_excert
    - SSL_CTX_set_max_send_fragment
    - SSL_CTX_set0_tmp_dh_pkey
    - ERR_print_errors
    - SSL_CTX_set_psk_find_session_callback
    - SSL_CTX_set1_server_cert_type
    - SSL_CTX_new_ex
    - OPENSSL_strdup
    - SSL_CTX_set1_param
    - isxdigit
    - sk_X509_CRL_pop_free
    - set_nameopt
    - ctx_set_verify_locations
    - BIO_free_all
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_CTX_set_info_callback
    - OSSL_ECHSTORE_new
    - strlen
    - SSL_CTX_ech_set_callback
    - X509_free
    - do_server
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_dane_enable
    - SSL_CTX_set_stateless_cookie_generate_cb
    - DTLS_server_method
    - ssl_ctx_set_excert
    - opt_flag
    - SSL_CTX_set_psk_server_callback
    - opt_check_rest_arg
    - args_excert
    - SSL_CTX_set_generate_session_id
    - EVP_PKEY_free
    - opt_help
    - BIO_printf
    - load_certs
    - sk_X509_CRL_new_null
    - SSL_CTX_set1_client_cert_type
    - config_ctx
    - print_stats
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_split_send_fragment
    - EVP_PKEY_up_ref
    - SSL_CTX_set_cookie_verify_cb
    - opt_rand
    - SSL_CONF_CTX_new
    - dup_bio_out
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_set_max_early_data
    - SSL_CTX_set_min_proto_version
    - free_sessions
    - BIO_new_file
    - opt_int_arg
    - TLS_server_method
    - SSL_CTX_set_not_resumable_session_callback
    - next_protos_parse
    - OPENSSL_free
    - BIO_parse_hostserv
    - app_get0_propq
    - SSL_CTX_set_mode
    - SSL_CTX_use_psk_identity_hint
    - opt_init
    - SSL_CTX_config
    - BIO_free
    - SSL_SESSION_free
    - BIO_flush
    - set_cert_key_stuff
    - cleanup_srp
    - SSL_CTX_set_client_CA_list
    - load_cert_pass
    - set_up_srp_verifier_file
    - SSL_CTX_set_tlsext_status_cb
    - SSL_CONF_CTX_set_flags
    - SSL_CTX_set_default_read_buffer_len
    - opt_next
    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:3183,1
    - Dst: SSL_CTX_sess_number
      Src: /src/openssl/apps/s_server.c:3195,1
    - Dst: SSL_CTX_sess_connect
      Src: /src/openssl/apps/s_server.c:3196,1
    - Dst: SSL_CTX_sess_connect_renegotiate
      Src: /src/openssl/apps/s_server.c:3197,1
    - Dst: SSL_CTX_sess_connect_good
      Src: /src/openssl/apps/s_server.c:3198,1
    - Dst: SSL_CTX_sess_accept
      Src: /src/openssl/apps/s_server.c:3199,1
    - Dst: SSL_CTX_sess_accept_renegotiate
      Src: /src/openssl/apps/s_server.c:3200,1
    - Dst: SSL_CTX_sess_accept_good
      Src: /src/openssl/apps/s_server.c:3201,1
    - Dst: SSL_CTX_sess_hits
      Src: /src/openssl/apps/s_server.c:3202,1
    - Dst: SSL_CTX_sess_misses
      Src: /src/openssl/apps/s_server.c:3203,1
    - Dst: SSL_CTX_sess_timeouts
      Src: /src/openssl/apps/s_server.c:3204,1
    - Dst: SSL_CTX_sess_cb_hits
      Src: /src/openssl/apps/s_server.c:3205,1
    - Dst: SSL_CTX_sess_cache_full
      Src: /src/openssl/apps/s_server.c:3206,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/openssl/apps/s_server.c:3207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - ssl_ctx
    argTypes:
    - BIO*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3181
    functionDepth: 2
    functionLinenumber: 3181
    functionLinenumberEnd: 3208
    functionName: print_stats
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_sess_connect
    - BIO_printf
    - SSL_CTX_sess_cache_full
    - SSL_CTX_sess_get_cache_size
    - SSL_CTX_sess_connect_renegotiate
    - SSL_CTX_sess_hits
    - SSL_CTX_sess_accept_good
    - SSL_CTX_sess_cb_hits
    - SSL_CTX_sess_timeouts
    - SSL_CTX_sess_number
    - SSL_CTX_sess_accept_renegotiate
    - SSL_CTX_sess_accept
    - SSL_CTX_sess_connect_good
    - SSL_CTX_sess_misses
    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:3213,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3226,1
    - Dst: bio_dump_callback
      Src: /src/openssl/apps/s_server.c:3227,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3228,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: 3232
      start: 3210
    functionDepth: 1
    functionLinenumber: 3210
    functionLinenumberEnd: 3232
    functionName: count_reads_callback
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_set_callback_arg
    - BIO_get_callback_arg
    - bio_dump_callback
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_dane_enable
      Src: /src/openssl/apps/s_server.c:3236,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/s_server.c:3238,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/s_server.c:3239,1
    - Dst: load_rpk_file
      Src: /src/openssl/apps/s_server.c:3241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3234
    functionDepth: 1
    functionLinenumber: 3234
    functionLinenumberEnd: 3245
    functionName: rpk_enable
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - load_rpk_file
    - sk_OPENSSL_STRING_num
    - SSL_dane_enable
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: int
    signature: int rpk_enable(SSL *con)
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:3268,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/apps/s_server.c:3270,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3271,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3273,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_server.c:3276,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:3283,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:3284,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/apps/s_server.c:3288,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:3289,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3290,1
    - Dst: SSL_clear
      Src: /src/openssl/apps/s_server.c:3295,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3296,1
    - Dst: rpk_enable
      Src: /src/openssl/apps/s_server.c:3301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3302,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/s_server.c:3311,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/apps/s_server.c:3314,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3316,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3317,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:3324,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:3328,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_server.c:3332,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3333,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_server.c:3334,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3336,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_server.c:3339,1
    - Dst: DTLS_set_link_mtu
      Src: /src/openssl/apps/s_server.c:3340,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3341,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3343,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:3348,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_server.c:3354,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_server.c:3357,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3360,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3361,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3368,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/apps/s_server.c:3368,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3370,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3372,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3375,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_server.c:3378,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/apps/s_server.c:3379,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_server.c:3382,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3382,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:3386,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:3389,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_server.c:3390,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:3394,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:3395,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/apps/s_server.c:3404,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3408,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3415,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3416,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3422,1
    - Dst: raw_write_stdout
      Src: /src/openssl/apps/s_server.c:3425,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3426,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/apps/s_server.c:3430,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3431,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3433,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3435,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/apps/s_server.c:3437,1
    - Dst: print_connection_info
      Src: /src/openssl/apps/s_server.c:3438,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:3441,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:3442,1
    - Dst: SSL_has_pending
      Src: /src/openssl/apps/s_server.c:3451,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3452,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_server.c:3455,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_server.c:3457,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:3457,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_server.c:3459,1
    - Dst: select
      Src: /src/openssl/apps/s_server.c:3476,1
    - Dst: has_stdin_waiting
      Src: /src/openssl/apps/s_server.c:3477,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/apps/s_server.c:3482,1
    - Dst: DTLSv1_get_timeout
      Src: /src/openssl/apps/s_server.c:3482,1
    - Dst: select
      Src: /src/openssl/apps/s_server.c:3487,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/openssl/apps/s_server.c:3489,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3490,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_server.c:3494,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:3494,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_server.c:3497,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_server.c:3504,1
    - Dst: assert
      Src: /src/openssl/apps/s_server.c:3518,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_server.c:3520,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3525,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3526,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_server.c:3527,1
    - Dst: close_accept_socket
      Src: /src/openssl/apps/s_server.c:3528,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3533,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3534,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_server.c:3535,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_server.c:3536,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:3543,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:3544,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:3545,1
    - Dst: SSL_set_verify
      Src: /src/openssl/apps/s_server.c:3549,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:3552,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:3553,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:3554,1
    - Dst: SSL_key_update
      Src: /src/openssl/apps/s_server.c:3559,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:3560,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:3561,1
    - Dst: SSL_set_verify
      Src: /src/openssl/apps/s_server.c:3565,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/apps/s_server.c:3566,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:3568,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3569,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:3571,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:3572,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3578,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:3578,1
    - Dst: print_stats
      Src: /src/openssl/apps/s_server.c:3581,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_server.c:3581,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/s_server.c:3585,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_server.c:3590,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3592,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3593,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3595,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_server.c:3597,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3600,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3604,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3605,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_server.c:3606,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3611,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3612,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3620,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3621,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3622,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3627,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3628,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3646,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/apps/s_server.c:3647,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3655,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3655,1
    - Dst: init_ssl_connection
      Src: /src/openssl/apps/s_server.c:3656,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3657,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3657,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_server.c:3676,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3678,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3679,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3681,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_server.c:3683,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3686,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/s_server.c:3689,1
    - Dst: raw_write_stdout
      Src: /src/openssl/apps/s_server.c:3691,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3692,1
    - Dst: SSL_has_pending
      Src: /src/openssl/apps/s_server.c:3693,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3697,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3698,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_server.c:3699,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3703,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3704,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3712,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3713,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3714,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3718,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3719,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3728,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_server.c:3729,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3730,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3732,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_server.c:3733,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 373
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    assertStmts:
    - condition: (lf_num == 0)
      pos:
        line_end: 3517
        line_start: 3517
        source_file: /src/openssl/apps/s_server.c
    constantsTouched: []
    func_position:
      end: 3735
      start: 3247
    functionDepth: 6
    functionLinenumber: 3247
    functionLinenumberEnd: 3735
    functionName: sv_body
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - BIO_puts
    - SSL_read_early_data
    - SSL_set_msg_callback
    - SSL_has_pending
    - DTLSv1_handle_timeout
    - SSL_set_session_id_context
    - BIO_new_socket
    - app_malloc
    - SSL_write
    - print_connection_info
    - SSL_get_SSL_CTX
    - lookup_srp_user
    - raw_write_stdout
    - select
    - SSL_version
    - rpk_enable
    - BIO_new_dgram_sctp
    - SSL_set_tlsext_debug_arg
    - FD_ISSET
    - SSL_renegotiate
    - SSL_get_wbio
    - wait_for_async
    - has_stdin_waiting
    - fileno_stdin
    - close_accept_socket
    - BIO_new
    - BIO_write
    - BIO_new_dgram
    - BIO_set_callback_ex
    - BIO_socket_nbio
    - DTLS_set_link_mtu
    - SSL_verify_client_post_handshake
    - SSL_read
    - BIO_set_callback_arg
    - BIO_closesocket
    - SSL_get_error
    - SSL_free
    - SSL_clear
    - do_ssl_shutdown
    - SSL_is_init_finished
    - DTLSv1_get_timeout
    - OPENSSL_clear_free
    - BIO_free
    - printf
    - BIO_f_nbio_test
    - BIO_flush
    - SSL_waiting_for_async
    - SSL_set_verify
    - assert
    - SSL_key_update
    - ERR_print_errors
    - BIO_push
    - SSL_get_rbio
    - SSL_get_early_data_status
    - init_ssl_connection
    - DTLS_get_link_min_mtu
    - openssl_fdset
    - raw_read_stdin
    - BIO_ctrl
    - ebcdic2ascii
    - BIO_printf
    - SSL_new
    - ascii2ebcdic
    - SSL_set_msg_callback_arg
    - SSL_do_handshake
    - SSL_is_dtls
    - FD_ZERO
    - SSL_set_tlsext_debug_callback
    - strlen
    - SSL_set_bio
    - SSL_set_options
    - print_stats
    linkageType: ''
    returnType: int
    signature: int sv_body(int s, int stype, int prot, unsigned char *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3739,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_server.c:3741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3737
    functionDepth: 3
    functionLinenumber: 3737
    functionLinenumberEnd: 3743
    functionName: close_accept_socket
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_closesocket
    linkageType: ''
    returnType: void
    signature: void close_accept_socket(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - con
    - i
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3745
    functionDepth: 1
    functionLinenumber: 3745
    functionLinenumberEnd: 3753
    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:3765,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3766,1
    - Dst: DTLSv1_listen
      Src: /src/openssl/apps/s_server.c:3769,1
    - Dst: SSL_stateless
      Src: /src/openssl/apps/s_server.c:3771,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:3778,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/s_server.c:3780,1
    - Dst: BIO_connect
      Src: /src/openssl/apps/s_server.c:3783,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3784,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_server.c:3785,1
    - Dst: BIO_ctrl_set_connected
      Src: /src/openssl/apps/s_server.c:3789,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_server.c:3790,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3795,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_server.c:3797,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3801,1
    - Dst: is_retryable
      Src: /src/openssl/apps/s_server.c:3804,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3808,1
    - Dst: SSL_get_state
      Src: /src/openssl/apps/s_server.c:3809,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3810,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3812,1
    - Dst: is_retryable
      Src: /src/openssl/apps/s_server.c:3814,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3821,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3822,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3825,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3827,1
    - Dst: is_retryable
      Src: /src/openssl/apps/s_server.c:3829,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3832,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3838,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3842,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/apps/s_server.c:3844,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3846,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/s_server.c:3847,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3850,1
    - Dst: print_connection_info
      Src: /src/openssl/apps/s_server.c:3854,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3755
    functionDepth: 5
    functionLinenumber: 3755
    functionLinenumberEnd: 3856
    functionName: init_ssl_connection
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_get_fd
    - BIO_ADDR_free
    - is_retryable
    - lookup_srp_user
    - print_connection_info
    - BIO_ADDR_new
    - DTLSv1_listen
    - BIO_connect
    - SSL_get_wbio
    - SSL_get_state
    - SSL_get_error
    - SSL_accept
    - SSL_waiting_for_async
    - ERR_print_errors
    - BIO_ctrl_set_connected
    - X509_verify_cert_error_string
    - BIO_printf
    - SSL_get_verify_result
    - SSL_stateless
    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:3871,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:3873,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_server.c:3873,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/s_server.c:3875,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3877,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_server.c:3878,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/s_server.c:3879,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/apps/s_server.c:3883,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3884,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/apps/s_server.c:3885,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3886,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/s_server.c:3888,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3891,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/s_server.c:3892,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/openssl/apps/s_server.c:3896,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3897,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_server.c:3898,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/s_server.c:3898,1
    - Dst: ssl_print_sigalgs
      Src: /src/openssl/apps/s_server.c:3899,1
    - Dst: ssl_print_point_formats
      Src: /src/openssl/apps/s_server.c:3901,1
    - Dst: ssl_print_groups
      Src: /src/openssl/apps/s_server.c:3902,1
    - Dst: print_ca_names
      Src: /src/openssl/apps/s_server.c:3904,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3905,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/apps/s_server.c:3908,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3910,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3911,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3912,1
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/openssl/apps/s_server.c:3918,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3921,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_server.c:3925,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3926,1
    - Dst: ssl_print_secure_renegotiation_notes
      Src: /src/openssl/apps/s_server.c:3928,1
    - Dst: SSL_get_options
      Src: /src/openssl/apps/s_server.c:3930,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3931,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3934,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:3939,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/apps/s_server.c:3940,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:3943,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3946,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3948,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3950,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3951,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3953,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/apps/s_server.c:3956,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:3956,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3957,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/apps/s_server.c:3958,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3958,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3959,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3962,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3963
      start: 3858
    functionDepth: 5
    functionLinenumber: 3858
    functionLinenumberEnd: 3963
    functionName: print_connection_info
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 2
    functionsReached:
    - SSL_get_shared_ciphers
    - BIO_puts
    - app_malloc
    - ssl_print_groups
    - BIO_get_ktls_recv
    - SSL_get_wbio
    - SSL_get_options
    - OPENSSL_free
    - BIO_write
    - SSL_get_session
    - SSL_get_current_cipher
    - BIO_get_ktls_send
    - PEM_write_bio_SSL_SESSION
    - ssl_print_sigalgs
    - ssl_print_point_formats
    - SSL_get_negotiated_client_cert_type
    - EVP_PKEY_print_public
    - SSL_export_keying_material
    - BIO_flush
    - SSL_get_selected_srtp_profile
    - print_ssl_summary
    - SSL_session_reused
    - ssl_print_secure_renegotiation_notes
    - SSL_get_rbio
    - SSL_get0_peer_certificate
    - BIO_printf
    - print_ca_names
    - PEM_write_bio_X509
    - SSL_get_negotiated_server_cert_type
    - dump_cert_text
    - strlen
    - SSL_get0_peer_rpk
    - SSL_get0_next_proto_negotiated
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: void
    signature: void print_connection_info(SSL *con)
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:3988,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3989,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_server.c:3989,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3990,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/apps/s_server.c:3990,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3991,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/s_server.c:3991,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/apps/s_server.c:3996,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3997,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3999,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/apps/s_server.c:4003,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_server.c:4006,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:4010,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:4011,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/apps/s_server.c:4015,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:4016,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:4017,1
    - Dst: rpk_enable
      Src: /src/openssl/apps/s_server.c:4021,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4022,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_server.c:4026,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:4028,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:4035,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/apps/s_server.c:4035,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:4037,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:4038,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:4042,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_server.c:4044,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/apps/s_server.c:4045,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/apps/s_server.c:4048,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:4049,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:4052,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/openssl/apps/s_server.c:4052,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:4056,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:4058,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/openssl/apps/s_server.c:4058,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:4062,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_server.c:4066,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:4066,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:4067,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:4067,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:4072,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:4075,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_server.c:4076,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/apps/s_server.c:4085,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:4089,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4096,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4097,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4102,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_server.c:4107,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/s_server.c:4107,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4109,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:4109,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4111,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4114,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/apps/s_server.c:4116,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/apps/s_server.c:4117,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4118,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:4120,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/s_server.c:4125,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:4134,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:4135,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:4137,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:4144,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:4145,1
    - Dst: SSL_set_verify
      Src: /src/openssl/apps/s_server.c:4146,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:4149,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4150,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:4152,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4154,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:4155,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4156,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_server.c:4160,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_server.c:4161,1
    - Dst: select
      Src: /src/openssl/apps/s_server.c:4162,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_server.c:4163,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4164,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4166,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_server.c:4175,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4178,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4183,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4190,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4193,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4196,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4199,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4202,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4204,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4208,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4209,1
    - Dst: SSL_ech_get1_status
      Src: /src/openssl/apps/s_server.c:4210,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4213,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4216,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4219,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4222,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4225,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4228,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4231,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4234,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4237,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4240,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4245,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4248,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4249,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4250,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_server.c:4254,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_server.c:4254,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4255,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4256,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4263,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4266,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4269,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4272,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4275,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4277,1
    - Dst: ssl_print_secure_renegotiation_notes
      Src: /src/openssl/apps/s_server.c:4280,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4285,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/apps/s_server.c:4286,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/apps/s_server.c:4287,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/apps/s_server.c:4289,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4290,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/apps/s_server.c:4291,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_server.c:4291,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4293,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4295,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/openssl/apps/s_server.c:4296,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4298,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4303,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4306,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4308,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4313,1
    - Dst: ssl_print_sigalgs
      Src: /src/openssl/apps/s_server.c:4315,1
    - Dst: ssl_print_groups
      Src: /src/openssl/apps/s_server.c:4317,1
    - Dst: print_ca_names
      Src: /src/openssl/apps/s_server.c:4319,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4320,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_server.c:4320,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/s_server.c:4321,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4322,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/apps/s_server.c:4323,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_server.c:4323,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_server.c:4324,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_server.c:4324,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4325,1
    - Dst: print_stats
      Src: /src/openssl/apps/s_server.c:4326,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_server.c:4326,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4327,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/s_server.c:4328,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4330,1
    - Dst: X509_print
      Src: /src/openssl/apps/s_server.c:4331,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_server.c:4332,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4335,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4337,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/s_server.c:4339,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4373,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4379,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4384,1
    - Dst: app_isdir
      Src: /src/openssl/apps/s_server.c:4389,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4390,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:4395,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4396,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4397,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4402,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:4405,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:4406,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:4406,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:4406,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4407,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4410,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/apps/s_server.c:4415,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:4415,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4416,1
    - Dst: BIO_get_fp
      Src: /src/openssl/apps/s_server.c:4426,1
    - Dst: fileno
      Src: /src/openssl/apps/s_server.c:4427,1
    - Dst: fstat
      Src: /src/openssl/apps/s_server.c:4428,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4429,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4430,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:4435,1
    - Dst: SSL_sendfile
      Src: /src/openssl/apps/s_server.c:4439,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4441,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4442,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4451,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_server.c:4460,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4465,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4467,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:4468,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4471,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:4480,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:4486,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4488,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_server.c:4495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4498,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:4499,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:4500,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:4501,1
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 414
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4503
      start: 3965
    functionDepth: 5
    functionLinenumber: 3965
    functionLinenumberEnd: 4503
    functionName: www_body
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - app_malloc
    - BIO_set_ssl
    - BIO_f_ssl
    - SSL_get_wbio
    - BIO_f_buffer
    - BIO_new
    - BIO_should_retry
    - BIO_read
    - SSL_get_session
    - sk_SSL_CIPHER_value
    - STACK_OF
    - BIO_set_callback_arg
    - strcmp
    - fstat
    - HAS_PREFIX
    - SSL_new
    - SSL_SESSION_print
    - FD_ZERO
    - SSL_set_bio
    - SSL_read_early_data
    - BIO_puts
    - SSL_get_shared_ciphers
    - SSL_get_SSL_CTX
    - SSL_get_ciphers
    - SSL_renegotiate
    - SSL_ech_get1_status
    - BIO_get_fp
    - app_isdir
    - SSL_get_error
    - SSL_free
    - ERR_print_errors
    - BIO_push
    - fileno
    - SSL_get0_peer_certificate
    - PEM_write_bio_X509
    - BIO_free_all
    - SSL_do_handshake
    - strlen
    - SSL_set_msg_callback_arg
    - SSL_CIPHER_get_name
    - SSL_set_accept_state
    - SSL_set_msg_callback
    - SSL_set_session_id_context
    - BIO_new_socket
    - ssl_print_groups
    - rpk_enable
    - SSL_set_tlsext_debug_arg
    - SSL_CIPHER_get_version
    - BIO_socket_nbio
    - SSL_get_current_cipher
    - BIO_get_ktls_send
    - ssl_print_sigalgs
    - BIO_f_nbio_test
    - BIO_eof
    - BIO_printf
    - BIO_get_retry_reason
    - CHECK_AND_SKIP_PREFIX
    - SSL_sendfile
    - print_stats
    - lookup_srp_user
    - select
    - BIO_new_file
    - FD_ISSET
    - OPENSSL_free
    - BIO_write
    - BIO_set_write_buffer_size
    - BIO_set_callback_ex
    - BIO_gets
    - OSSL_sleep
    - BIO_s_mem
    - BIO_should_io_special
    - do_ssl_shutdown
    - BIO_free
    - SSL_waiting_for_async
    - BIO_flush
    - SSL_set_verify
    - BIO_f_ebcdic_filter
    - sk_SSL_CIPHER_num
    - SSL_get_rbio
    - ssl_print_secure_renegotiation_notes
    - SSL_session_reused
    - openssl_fdset
    - X509_print
    - print_ca_names
    - SSL_set_tlsext_debug_callback
    linkageType: ''
    returnType: int
    signature: int www_body(int s, int stype, int prot, unsigned char *context)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:4518,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:4519,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_server.c:4519,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:4520,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/apps/s_server.c:4520,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/apps/s_server.c:4525,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_server.c:4528,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:4532,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:4533,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/apps/s_server.c:4536,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:4537,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:4538,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4539,1
    - Dst: rpk_enable
      Src: /src/openssl/apps/s_server.c:4543,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4544,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4545,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_server.c:4549,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:4551,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4552,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_server.c:4556,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/apps/s_server.c:4557,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/apps/s_server.c:4560,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:4561,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:4564,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/openssl/apps/s_server.c:4564,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:4568,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_server.c:4572,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:4572,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:4573,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:4573,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:4578,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:4581,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_server.c:4582,1
    - Dst: BIO_do_handshake
      Src: /src/openssl/apps/s_server.c:4586,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4589,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4590,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4591,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/apps/s_server.c:4595,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/apps/s_server.c:4596,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4597,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:4599,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4605,1
    - Dst: print_ssl_summary
      Src: /src/openssl/apps/s_server.c:4606,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_server.c:4609,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4611,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:4613,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4616,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/apps/s_server.c:4618,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/apps/s_server.c:4619,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4620,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:4622,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/s_server.c:4627,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4632,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:4640,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4642,1
    - Dst: BUF_reverse
      Src: /src/openssl/apps/s_server.c:4645,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4647,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:4649,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4652,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_server.c:4659,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4663,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:4664,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:4665,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 131
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4667
      start: 4505
    functionDepth: 5
    functionLinenumber: 4505
    functionLinenumberEnd: 4667
    functionName: rev_body
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - BIO_puts
    - SSL_set_msg_callback
    - SSL_set_session_id_context
    - BIO_new_socket
    - app_malloc
    - lookup_srp_user
    - BIO_set_ssl
    - rpk_enable
    - SSL_set_tlsext_debug_arg
    - BIO_f_ssl
    - BIO_f_buffer
    - BIO_new
    - BIO_should_retry
    - BIO_write
    - BIO_set_write_buffer_size
    - OPENSSL_free
    - BIO_set_callback_ex
    - BIO_gets
    - OSSL_sleep
    - BIO_set_callback_arg
    - BIO_do_handshake
    - SSL_free
    - BIO_should_io_special
    - BUF_reverse
    - do_ssl_shutdown
    - BIO_free
    - BIO_flush
    - ERR_print_errors
    - BIO_push
    - BIO_f_ebcdic_filter
    - SSL_get_rbio
    - print_ssl_summary
    - HAS_PREFIX
    - SSL_new
    - SSL_set_msg_callback_arg
    - BIO_get_retry_reason
    - BIO_free_all
    - SSL_set_tlsext_debug_callback
    - strlen
    - SSL_set_bio
    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:4674,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/s_server.c:4677,1
    - Dst: memcpy
      Src: /src/openssl/apps/s_server.c:4686,1
    - Dst: SSL_has_matching_session_id
      Src: /src/openssl/apps/s_server.c:4688,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: 4692
      start: 4670
    functionDepth: 8
    functionLinenumber: 4670
    functionLinenumberEnd: 4692
    functionName: generate_session_id
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - SSL_has_matching_session_id
    - RAND_bytes
    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:4713,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/apps/s_server.c:4716,1
    - Dst: i2d_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:4717,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4719,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4720,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/apps/s_server.c:4724,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/apps/s_server.c:4724,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:4725,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4727,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4728,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4729,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4730,1
    - Dst: i2d_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:4736,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4737,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4738,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4739,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4740,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4748
      start: 4711
    functionDepth: 3
    functionLinenumber: 4711
    functionLinenumberEnd: 4748
    functionName: add_session
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - SSL_SESSION_get_id
    - OPENSSL_memdup
    - OPENSSL_free
    - app_malloc
    - i2d_SSL_SESSION
    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:4756,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4758,1
    - Dst: d2i_SSL_SESSION_ex
      Src: /src/openssl/apps/s_server.c:4759,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:4759,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:4760,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:4763,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: 4765
      start: 4750
    functionDepth: 3
    functionLinenumber: 4750
    functionLinenumberEnd: 4765
    functionName: get_session
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 13
    functionsReached:
    - BIO_puts
    - app_get0_libctx
    - d2i_SSL_SESSION_ex
    - app_get0_propq
    - memcmp
    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:4772,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_server.c:4774,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4779,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sctx
    - session
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4786
      start: 4767
    functionDepth: 1
    functionLinenumber: 4767
    functionLinenumberEnd: 4786
    functionName: del_session
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_get_id
    - memcmp
    - 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:4790,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/apps/s_server.c:4792,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/apps/s_server.c:4793,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/apps/s_server.c:4794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4788
    functionDepth: 1
    functionLinenumber: 4788
    functionLinenumberEnd: 4795
    functionName: init_session_cache_ctx
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_new_cb
    - SSL_CTX_sess_set_get_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:4801,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4797
    functionDepth: 0
    functionLinenumber: 4797
    functionLinenumberEnd: 4808
    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:43,1
    - Dst: opt_next
      Src: /src/openssl/apps/errstr.c:44,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/errstr.c:48,1
    - Dst: opt_help
      Src: /src/openssl/apps/errstr.c:51,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/apps/errstr.c:61,1
    - Dst: opt_rest
      Src: /src/openssl/apps/errstr.c:67,1
    - Dst: sscanf
      Src: /src/openssl/apps/errstr.c:68,1
    - Dst: ERR_error_string_n
      Src: /src/openssl/apps/errstr.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/errstr.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: errstr_main
    functionSourceFile: /src/openssl/apps/errstr.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_init_ssl
    - opt_init
    - sscanf
    - opt_next
    - opt_help
    - ERR_error_string_n
    - opt_rest
    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: 184
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 184
    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: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: SET_OPERATION
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OPERATION(op)
  - BBCount: 159
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/smime.c:197,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/smime.c:198,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/smime.c:215,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/smime.c:217,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/smime.c:220,1
    - Dst: opt_init
      Src: /src/openssl/apps/smime.c:221,1
    - Dst: opt_next
      Src: /src/openssl/apps/smime.c:222,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:227,1
    - Dst: opt_help
      Src: /src/openssl/apps/smime.c:230,1
    - Dst: opt_format
      Src: /src/openssl/apps/smime.c:234,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:234,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:238,1
    - Dst: opt_format
      Src: /src/openssl/apps/smime.c:241,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:241,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:245,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:248,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:252,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:256,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:260,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:264,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:268,1
    - Dst: opt_rand
      Src: /src/openssl/apps/smime.c:313,1
    - Dst: opt_provider
      Src: /src/openssl/apps/smime.c:317,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/smime.c:321,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:321,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:326,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: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:341,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:343,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:348,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:350,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:354,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:357,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:360,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/smime.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:369,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:374,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:376,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:380,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:382,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:385,1
    - Dst: opt_format
      Src: /src/openssl/apps/smime.c:388,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:388,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:392,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:395,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:398,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:401,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:413,1
    - Dst: opt_verify
      Src: /src/openssl/apps/smime.c:416,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/smime.c:424,1
    - Dst: opt_rest
      Src: /src/openssl/apps/smime.c:425,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/smime.c:427,1
    - Dst: opt_md
      Src: /src/openssl/apps/smime.c:431,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/smime.c:434,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:437,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:441,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:449,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:454,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:456,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:458,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:462,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:466,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:473,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:479,1
    - Dst: app_passwd
      Src: /src/openssl/apps/smime.c:484,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:485,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/smime.c:506,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/smime.c:507,1
    - Dst: load_cert
      Src: /src/openssl/apps/smime.c:511,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/smime.c:515,1
    - Dst: load_certs
      Src: /src/openssl/apps/smime.c:523,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/smime.c:524,1
    - Dst: load_cert
      Src: /src/openssl/apps/smime.c:530,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/smime.c:533,1
    - Dst: load_key
      Src: /src/openssl/apps/smime.c:549,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/smime.c:554,1
    - Dst: PKCS7_new_ex
      Src: /src/openssl/apps/smime.c:561,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/smime.c:561,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:563,1
    - Dst: SMIME_read_PKCS7_ex
      Src: /src/openssl/apps/smime.c:567,1
    - Dst: PEM_read_bio_PKCS7
      Src: /src/openssl/apps/smime.c:569,1
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/apps/smime.c:571,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:573,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:578,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:582,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/smime.c:583,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:584,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/smime.c:590,1
    - Dst: setup_verify
      Src: /src/openssl/apps/smime.c:595,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/smime.c:599,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/smime.c:601,1
    - Dst: PKCS7_encrypt_ex
      Src: /src/openssl/apps/smime.c:609,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/smime.c:609,1
    - Dst: PKCS7_sign_ex
      Src: /src/openssl/apps/smime.c:624,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/smime.c:624,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/smime.c:628,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/smime.c:629,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/apps/smime.c:630,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/smime.c:636,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/smime.c:637,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/smime.c:638,1
    - Dst: load_cert
      Src: /src/openssl/apps/smime.c:639,1
    - Dst: load_key
      Src: /src/openssl/apps/smime.c:642,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/openssl/apps/smime.c:646,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:648,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/smime.c:650,1
    - Dst: PKCS7_final
      Src: /src/openssl/apps/smime.c:655,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:661,1
    - Dst: PKCS7_decrypt
      Src: /src/openssl/apps/smime.c:667,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:668,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/smime.c:672,1
    - Dst: PKCS7_verify
      Src: /src/openssl/apps/smime.c:673,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:674,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:676,1
    - Dst: PKCS7_get0_signers
      Src: /src/openssl/apps/smime.c:679,1
    - Dst: save_certs
      Src: /src/openssl/apps/smime.c:680,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:681,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/smime.c:685,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/openssl/apps/smime.c:687,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:690,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:692,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:694,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/apps/smime.c:697,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/apps/smime.c:699,1
    - Dst: PEM_write_bio_PKCS7_stream
      Src: /src/openssl/apps/smime.c:701,1
    - Dst: i2d_PKCS7_bio_stream
      Src: /src/openssl/apps/smime.c:703,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:705,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:709,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/smime.c:717,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/smime.c:718,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/smime.c:719,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/smime.c:720,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/smime.c:721,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/smime.c:722,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/smime.c:723,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:724,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:725,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:726,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/smime.c:727,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/smime.c:728,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/smime.c:729,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/smime.c:730,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:731,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:732,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/smime.c:733,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/smime.c:734,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/smime.c:735,1
    CyclomaticComplexity: 233
    EdgeCount: 233
    ICount: 545
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 191
    functionDepth: 14
    functionLinenumber: 191
    functionLinenumberEnd: 737
    functionName: smime_main
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - X509_STORE_set_verify_cb
    - opt_md
    - PKCS7_sign_add_signer
    - X509_free
    - opt_set_unknown_name
    - load_key
    - opt_rand
    - sk_X509_push
    - PEM_read_bio_PKCS7
    - sk_X509_num
    - SMIME_read_PKCS7_ex
    - PKCS7_final
    - NCONF_free
    - BIO_new_file
    - X509_VERIFY_PARAM_new
    - PKCS7_sign_ex
    - X509_VERIFY_PARAM_free
    - EVP_aes_256_cbc
    - sk_OPENSSL_STRING_num
    - SMIME_write_PKCS7
    - app_RAND_load
    - i2d_PKCS7_bio_stream
    - OPENSSL_free
    - app_passwd
    - app_get0_propq
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - PEM_write_bio_PKCS7
    - X509_STORE_free
    - PKCS7_free
    - opt_verify
    - sk_OPENSSL_STRING_push
    - PKCS7_add_certificate
    - d2i_PKCS7_bio
    - opt_init
    - SET_OPERATION
    - app_get0_libctx
    - sk_X509_new_null
    - bio_open_default
    - BIO_free
    - PKCS7_encrypt_ex
    - opt_num_rest
    - sk_OPENSSL_STRING_free
    - EVP_MD_free
    - EVP_CIPHER_free
    - EVP_PKEY_free
    - ERR_print_errors
    - PKCS7_new_ex
    - opt_help
    - PKCS7_decrypt
    - PKCS7_verify
    - save_certs
    - opt_unknown
    - BIO_printf
    - load_certs
    - opt_cipher_any
    - opt_format
    - load_cert
    - PKCS7_get0_signers
    - OSSL_STACK_OF_X509_free
    - BIO_free_all
    - setup_verify
    - sk_OPENSSL_STRING_value
    - opt_arg
    - app_load_config_modules
    - X509_STORE_set1_param
    - sk_X509_value
    - sk_X509_free
    - opt_next
    - PEM_write_bio_PKCS7_stream
    - opt_rest
    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:746,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/smime.c:749,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/smime.c:750,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/smime.c:750,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - signerfile
    - signers
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 753
    functionName: save_certs
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 2
    functionsReached:
    - BIO_free
    - PEM_write_bio_X509
    - sk_X509_num
    - sk_X509_value
    - BIO_new_file
    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:761,1
    - Dst: policies_print
      Src: /src/openssl/apps/smime.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 770
    functionName: smime_cb
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 0
    functionsReached:
    - policies_print
    - X509_STORE_CTX_get_error
    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: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    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:194,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/ts.c:197,1
    - Dst: opt_init
      Src: /src/openssl/apps/ts.c:198,1
    - Dst: opt_next
      Src: /src/openssl/apps/ts.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:204,1
    - Dst: opt_help
      Src: /src/openssl/apps/ts.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:209,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:213,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:216,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:222,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:228,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:231,1
    - Dst: opt_rand
      Src: /src/openssl/apps/ts.c:234,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ts.c:238,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:242,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:251,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:257,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:266,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:269,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:272,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:275,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:278,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:281,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:284,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:287,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:290,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/ts.c:293,1
    - Dst: opt_verify
      Src: /src/openssl/apps/ts.c:296,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ts.c:304,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:307,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/ts.c:311,1
    - Dst: opt_md
      Src: /src/openssl/apps/ts.c:316,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ts.c:318,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:319,1
    - Dst: load_config_file
      Src: /src/openssl/apps/ts.c:323,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/ts.c:325,1
    - Dst: query_command
      Src: /src/openssl/apps/ts.c:334,1
    - Dst: reply_command
      Src: /src/openssl/apps/ts.c:345,1
    - Dst: EXACTLY_ONE
      Src: /src/openssl/apps/ts.c:350,1
    - Dst: verify_command
      Src: /src/openssl/apps/ts.c:352,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/ts.c:360,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ts.c:361,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/ts.c:362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:363,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 182
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 365
    functionName: ts_main
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - opt_md
    - opt_set_unknown_name
    - opt_rand
    - NCONF_free
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - app_RAND_load
    - OPENSSL_free
    - app_passwd
    - opt_provider
    - opt_check_rest_arg
    - opt_verify
    - reply_command
    - opt_init
    - EVP_MD_free
    - EXACTLY_ONE
    - opt_help
    - opt_unknown
    - BIO_printf
    - load_config_file
    - opt_arg
    - opt_next
    - app_load_modules
    - verify_command
    - query_command
    linkageType: ''
    returnType: int
    signature: int ts_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/ts.c:375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 7
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: txt2obj
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 29
    functionsReached:
    - BIO_printf
    - OBJ_txt2obj
    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:383,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:388,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ts.c:389,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:391,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:393,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/ts.c:395,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:396,1
    - Dst: add_oid_section
      Src: /src/openssl/apps/ts.c:399,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 403
    functionName: load_config_file
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - app_load_config
    - BIO_printf
    - app_conf_try_string
    - BIO_free_all
    - OBJ_create_objects
    - add_oid_section
    - ERR_print_errors
    - BIO_new_file
    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:420,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/openssl/apps/ts.c:422,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:425,1
    - Dst: create_query
      Src: /src/openssl/apps/ts.c:427,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:433,1
    - Dst: TS_REQ_print_bio
      Src: /src/openssl/apps/ts.c:435,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:438,1
    - Dst: i2d_TS_REQ_bio
      Src: /src/openssl/apps/ts.c:440,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:447,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:448,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:449,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:450,1
    - Dst: TS_REQ_free
      Src: /src/openssl/apps/ts.c:451,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: 453
      start: 408
    functionDepth: 9
    functionLinenumber: 408
    functionLinenumberEnd: 453
    functionName: query_command
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - create_query
    - bio_open_default
    - BIO_free_all
    - i2d_TS_REQ_bio
    - ERR_print_errors
    - d2i_TS_REQ_bio
    - TS_REQ_free
    - 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: 17
    BranchProfiles: []
    Callsites:
    - Dst: TS_REQ_new
      Src: /src/openssl/apps/ts.c:467,1
    - Dst: TS_REQ_set_version
      Src: /src/openssl/apps/ts.c:469,1
    - Dst: TS_MSG_IMPRINT_new
      Src: /src/openssl/apps/ts.c:471,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/apps/ts.c:473,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/ts.c:475,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/apps/ts.c:475,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/apps/ts.c:477,1
    - Dst: TS_MSG_IMPRINT_set_algo
      Src: /src/openssl/apps/ts.c:480,1
    - Dst: create_digest
      Src: /src/openssl/apps/ts.c:482,1
    - Dst: TS_MSG_IMPRINT_set_msg
      Src: /src/openssl/apps/ts.c:484,1
    - Dst: TS_REQ_set_msg_imprint
      Src: /src/openssl/apps/ts.c:486,1
    - Dst: txt2obj
      Src: /src/openssl/apps/ts.c:488,1
    - Dst: TS_REQ_set_policy_id
      Src: /src/openssl/apps/ts.c:490,1
    - Dst: create_nonce
      Src: /src/openssl/apps/ts.c:494,1
    - Dst: TS_REQ_set_nonce
      Src: /src/openssl/apps/ts.c:496,1
    - Dst: TS_REQ_set_cert_req
      Src: /src/openssl/apps/ts.c:498,1
    - Dst: TS_REQ_free
      Src: /src/openssl/apps/ts.c:504,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:506,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:507,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/openssl/apps/ts.c:509,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/ts.c:510,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:511,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ts.c:512,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:513,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 62
    argCount: 6
    argNames:
    - data_bio
    - digest
    - md
    - policy
    - no_nonce
    - cert
    argTypes:
    - BIO*
    - char*
    - EVP_MD*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 455
    functionDepth: 8
    functionLinenumber: 455
    functionLinenumberEnd: 515
    functionName: create_query
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - EVP_MD_get_type
    - TS_REQ_set_cert_req
    - txt2obj
    - TS_MSG_IMPRINT_free
    - OBJ_nid2obj
    - OPENSSL_free
    - TS_REQ_set_msg_imprint
    - TS_REQ_new
    - create_nonce
    - ASN1_OBJECT_free
    - X509_ALGOR_free
    - TS_REQ_free
    - TS_REQ_set_version
    - TS_REQ_set_nonce
    - TS_REQ_set_policy_id
    - create_digest
    - ASN1_TYPE_new
    - TS_MSG_IMPRINT_new
    - TS_MSG_IMPRINT_set_msg
    - TS_MSG_IMPRINT_set_algo
    - ERR_print_errors
    - ASN1_INTEGER_free
    - X509_ALGOR_new
    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:524,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/ts.c:532,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ts.c:535,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/apps/ts.c:536,1
    - Dst: BIO_read
      Src: /src/openssl/apps/ts.c:538,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/ts.c:539,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/apps/ts.c:542,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/apps/ts.c:544,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/ts.c:548,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:550,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:559,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/ts.c:563,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: 565
      start: 517
    functionDepth: 8
    functionLinenumber: 517
    functionLinenumberEnd: 565
    functionName: create_digest
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - OPENSSL_hexstr2buf
    - BIO_printf
    - OPENSSL_free
    - BIO_read
    - app_malloc
    - EVP_DigestFinal
    - EVP_MD_get_size
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: "int create_digest(BIO *input, const char *digest, const EVP_MD *md,\n
      \   unsigned char **md_value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/apps/ts.c:579,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/ts.c:583,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/ts.c:586,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:594,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:595,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 567
    functionDepth: 8
    functionLinenumber: 567
    functionLinenumberEnd: 597
    functionName: create_nonce
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - ASN1_INTEGER_new
    - BIO_puts
    - RAND_bytes
    - ASN1_INTEGER_free
    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:618,1
    - Dst: read_PKCS7
      Src: /src/openssl/apps/ts.c:621,1
    - Dst: d2i_TS_RESP_bio
      Src: /src/openssl/apps/ts.c:623,1
    - Dst: create_response
      Src: /src/openssl/apps/ts.c:626,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:629,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:631,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:638,1
    - Dst: TS_RESP_get_tst_info
      Src: /src/openssl/apps/ts.c:641,1
    - Dst: TS_TST_INFO_print_bio
      Src: /src/openssl/apps/ts.c:642,1
    - Dst: TS_RESP_print_bio
      Src: /src/openssl/apps/ts.c:645,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:649,1
    - Dst: TS_RESP_get_token
      Src: /src/openssl/apps/ts.c:652,1
    - Dst: i2d_PKCS7_bio
      Src: /src/openssl/apps/ts.c:653,1
    - Dst: i2d_TS_RESP_bio
      Src: /src/openssl/apps/ts.c:656,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:664,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:665,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:666,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:667,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:668,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:669,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:670,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 14
    argNames:
    - conf
    - section
    - queryfile
    - passin
    - inkey
    - md
    - signer
    - chain
    - policy
    - in
    - token_in
    - out
    - token_out
    - text
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - char*
    - EVP_MD*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 603
    functionDepth: 6
    functionLinenumber: 603
    functionLinenumberEnd: 672
    functionName: reply_command
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - create_response
    - BIO_puts
    - TS_RESP_print_bio
    - TS_RESP_get_token
    - i2d_PKCS7_bio
    - d2i_TS_RESP_bio
    - TS_TST_INFO_print_bio
    - bio_open_default
    - BIO_free_all
    - TS_RESP_free
    - read_PKCS7
    - i2d_TS_RESP_bio
    - ERR_print_errors
    - BIO_new_file
    - TS_RESP_get_tst_info
    linkageType: ''
    returnType: int
    signature: "int reply_command(CONF *conf, const char *section,\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:683,1
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/openssl/apps/ts.c:685,1
    - Dst: TS_RESP_new
      Src: /src/openssl/apps/ts.c:687,1
    - Dst: TS_STATUS_INFO_new
      Src: /src/openssl/apps/ts.c:689,1
    - Dst: TS_STATUS_INFO_set_status
      Src: /src/openssl/apps/ts.c:691,1
    - Dst: TS_RESP_set_status_info
      Src: /src/openssl/apps/ts.c:693,1
    - Dst: TS_RESP_set_tst_info
      Src: /src/openssl/apps/ts.c:695,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/ts.c:701,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/apps/ts.c:702,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:704,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/openssl/apps/ts.c:707,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - in_bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 675
    functionDepth: 6
    functionLinenumber: 675
    functionLinenumberEnd: 709
    functionName: read_PKCS7
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 4
    functionsReached:
    - PKCS7_to_TS_TST_INFO
    - TS_RESP_set_status_info
    - d2i_PKCS7_bio
    - TS_TST_INFO_free
    - TS_RESP_free
    - TS_STATUS_INFO_new
    - TS_STATUS_INFO_set_status
    - TS_RESP_set_tst_info
    - PKCS7_free
    - TS_STATUS_INFO_free
    - TS_RESP_new
    linkageType: ''
    returnType: TS_RESP
    signature: TS_RESP *read_PKCS7(BIO *in_bio)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:721,1
    - Dst: TS_CONF_get_tsa_section
      Src: /src/openssl/apps/ts.c:723,1
    - Dst: TS_RESP_CTX_new
      Src: /src/openssl/apps/ts.c:725,1
    - Dst: TS_CONF_set_serial
      Src: /src/openssl/apps/ts.c:727,1
    - Dst: TS_CONF_set_signer_cert
      Src: /src/openssl/apps/ts.c:729,1
    - Dst: TS_CONF_set_certs
      Src: /src/openssl/apps/ts.c:731,1
    - Dst: TS_CONF_set_signer_key
      Src: /src/openssl/apps/ts.c:733,1
    - Dst: TS_RESP_CTX_set_signer_digest
      Src: /src/openssl/apps/ts.c:737,1
    - Dst: TS_CONF_set_signer_digest
      Src: /src/openssl/apps/ts.c:739,1
    - Dst: TS_CONF_set_ess_cert_id_digest
      Src: /src/openssl/apps/ts.c:743,1
    - Dst: TS_CONF_set_def_policy
      Src: /src/openssl/apps/ts.c:745,1
    - Dst: TS_CONF_set_policies
      Src: /src/openssl/apps/ts.c:747,1
    - Dst: TS_CONF_set_digests
      Src: /src/openssl/apps/ts.c:749,1
    - Dst: TS_CONF_set_accuracy
      Src: /src/openssl/apps/ts.c:751,1
    - Dst: TS_CONF_set_clock_precision_digits
      Src: /src/openssl/apps/ts.c:753,1
    - Dst: TS_CONF_set_ordering
      Src: /src/openssl/apps/ts.c:755,1
    - Dst: TS_CONF_set_tsa_name
      Src: /src/openssl/apps/ts.c:757,1
    - Dst: TS_CONF_set_ess_cert_id_chain
      Src: /src/openssl/apps/ts.c:759,1
    - Dst: TS_RESP_create_response
      Src: /src/openssl/apps/ts.c:761,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:767,1
    - Dst: TS_RESP_CTX_free
      Src: /src/openssl/apps/ts.c:770,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:771,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 71
    argCount: 9
    argNames:
    - conf
    - section
    - queryfile
    - passin
    - inkey
    - md
    - signer
    - chain
    - policy
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - char*
    - EVP_MD*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 711
    functionDepth: 8
    functionLinenumber: 711
    functionLinenumberEnd: 773
    functionName: create_response
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 2
    functionsReached:
    - TS_CONF_set_serial
    - TS_RESP_CTX_new
    - TS_RESP_free
    - TS_CONF_set_signer_cert
    - TS_CONF_set_ess_cert_id_chain
    - TS_RESP_CTX_set_signer_digest
    - BIO_new_file
    - TS_CONF_set_tsa_name
    - TS_CONF_set_policies
    - TS_CONF_set_signer_key
    - TS_CONF_get_tsa_section
    - TS_CONF_set_ess_cert_id_digest
    - TS_CONF_set_certs
    - TS_CONF_set_digests
    - TS_RESP_create_response
    - TS_CONF_set_signer_digest
    - TS_CONF_set_ordering
    - TS_CONF_set_clock_precision_digits
    - BIO_free_all
    - TS_RESP_CTX_free
    - TS_CONF_set_def_policy
    - TS_CONF_set_accuracy
    linkageType: ''
    returnType: TS_RESP
    signature: "TS_RESP *create_response(CONF *conf, const char *section,\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:778,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/apps/ts.c:781,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/apps/ts.c:784,1
    - Dst: save_ts_serial
      Src: /src/openssl/apps/ts.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - TS_RESP_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 775
    functionDepth: 6
    functionLinenumber: 775
    functionLinenumberEnd: 790
    functionName: serial_cb
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 2
    functionsReached:
    - TS_RESP_CTX_add_failure_info
    - TS_RESP_CTX_set_status_info
    - next_serial
    - save_ts_serial
    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:799,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:802,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/ts.c:803,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:804,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/apps/ts.c:807,1
    - Dst: a2i_ASN1_INTEGER
      Src: /src/openssl/apps/ts.c:811,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:812,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/ts.c:816,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:818,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ts.c:820,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ts.c:822,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:829,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:832,1
    - Dst: BN_free
      Src: /src/openssl/apps/ts.c:833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - serialfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 792
    functionDepth: 7
    functionLinenumber: 792
    functionLinenumberEnd: 835
    functionName: next_serial
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BN_to_ASN1_INTEGER
    - ASN1_INTEGER_to_BN
    - ASN1_INTEGER_new
    - BIO_printf
    - ASN1_INTEGER_free
    - BIO_free_all
    - a2i_ASN1_INTEGER
    - BN_free
    - BIO_new_file
    - ASN1_INTEGER_set
    - BN_add_word
    - ERR_clear_error
    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:842,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/ts.c:844,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:846,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:851,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - serialfile
    - serial
    argTypes:
    - char*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 837
    functionDepth: 5
    functionLinenumber: 837
    functionLinenumberEnd: 855
    functionName: save_ts_serial
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_free_all
    - BIO_new_file
    - i2a_ASN1_INTEGER
    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:873,1
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/apps/ts.c:876,1
    - Dst: d2i_TS_RESP_bio
      Src: /src/openssl/apps/ts.c:879,1
    - Dst: create_verify_ctx
      Src: /src/openssl/apps/ts.c:883,1
    - Dst: TS_RESP_verify_token
      Src: /src/openssl/apps/ts.c:890,1
    - Dst: TS_RESP_verify_response
      Src: /src/openssl/apps/ts.c:891,1
    - Dst: printf
      Src: /src/openssl/apps/ts.c:894,1
    - Dst: printf
      Src: /src/openssl/apps/ts.c:896,1
    - Dst: printf
      Src: /src/openssl/apps/ts.c:898,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:899,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:902,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/ts.c:903,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:904,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/openssl/apps/ts.c:905,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: 907
      start: 861
    functionDepth: 5
    functionLinenumber: 861
    functionLinenumberEnd: 907
    functionName: verify_command
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - d2i_PKCS7_bio
    - d2i_TS_RESP_bio
    - printf
    - BIO_free_all
    - PKCS7_free
    - TS_RESP_verify_response
    - TS_RESP_free
    - ERR_print_errors
    - BIO_new_file
    - TS_VERIFY_CTX_free
    - TS_RESP_verify_token
    - create_verify_ctx
    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:917,1
    - Dst: TS_VERIFY_CTX_new
      Src: /src/openssl/apps/ts.c:924,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:931,1
    - Dst: TS_VERIFY_CTX_set0_data
      Src: /src/openssl/apps/ts.c:933,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:934,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/ts.c:939,1
    - Dst: TS_VERIFY_CTX_set0_imprint
      Src: /src/openssl/apps/ts.c:941,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:942,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:948,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/openssl/apps/ts.c:950,1
    - Dst: TS_REQ_to_TS_VERIFY_CTX
      Src: /src/openssl/apps/ts.c:952,1
    - Dst: TS_VERIFY_CTX_add_flags
      Src: /src/openssl/apps/ts.c:959,1
    - Dst: TS_VERIFY_CTX_set0_store
      Src: /src/openssl/apps/ts.c:962,1
    - Dst: create_cert_store
      Src: /src/openssl/apps/ts.c:962,1
    - Dst: load_certs_multifile
      Src: /src/openssl/apps/ts.c:967,1
    - Dst: TS_VERIFY_CTX_set0_certs
      Src: /src/openssl/apps/ts.c:969,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/openssl/apps/ts.c:976,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:979,1
    - Dst: TS_REQ_free
      Src: /src/openssl/apps/ts.c:980,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: 982
      start: 909
    functionDepth: 7
    functionLinenumber: 909
    functionLinenumberEnd: 982
    functionName: create_verify_ctx
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - TS_VERIFY_CTX_add_flags
    - BIO_puts
    - OPENSSL_hexstr2buf
    - d2i_TS_REQ_bio
    - TS_VERIFY_CTX_set0_certs
    - BIO_free_all
    - TS_VERIFY_CTX_new
    - create_cert_store
    - TS_VERIFY_CTX_set0_store
    - TS_REQ_to_TS_VERIFY_CTX
    - TS_VERIFY_CTX_set0_imprint
    - STACK_OF
    - BIO_new_file
    - TS_VERIFY_CTX_free
    - load_certs_multifile
    - TS_VERIFY_CTX_set0_data
    - TS_REQ_free
    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:989,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ts.c:990,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/ts.c:992,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:994,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/ts.c:997,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/ts.c:999,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/apps/ts.c:999,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:1001,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/apps/ts.c:1004,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1005,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/ts.c:1011,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/apps/ts.c:1011,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:1013,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/ts.c:1016,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1019,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/ts.c:1025,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/apps/ts.c:1025,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:1027,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/apps/ts.c:1030,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1031,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/ts.c:1037,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/ts.c:1042,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: 1044
      start: 984
    functionDepth: 5
    functionLinenumber: 984
    functionLinenumberEnd: 1044
    functionName: create_cert_store
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - X509_STORE_set_verify_cb
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_add_dir
    - BIO_printf
    - app_get0_libctx
    - X509_LOOKUP_file
    - X509_LOOKUP_load_file_ex
    - app_get0_propq
    - X509_STORE_set1_param
    - X509_STORE_new
    - X509_LOOKUP_store
    - X509_STORE_free
    - X509_STORE_add_lookup
    - X509_LOOKUP_add_store_ex
    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: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    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:59,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/crl2pkcs7.c:60,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/crl2pkcs7.c:61,1
    - Dst: opt_init
      Src: /src/openssl/apps/crl2pkcs7.c:67,1
    - Dst: opt_next
      Src: /src/openssl/apps/crl2pkcs7.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl2pkcs7.c:73,1
    - Dst: opt_help
      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_format
      Src: /src/openssl/apps/crl2pkcs7.c:84,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:84,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:88,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:91,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/crl2pkcs7.c:98,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/crl2pkcs7.c:100,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:100,1
    - Dst: opt_provider
      Src: /src/openssl/apps/crl2pkcs7.c:104,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/crl2pkcs7.c:111,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/crl2pkcs7.c:115,1
    - Dst: d2i_X509_CRL_bio
      Src: /src/openssl/apps/crl2pkcs7.c:120,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/apps/crl2pkcs7.c:122,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl2pkcs7.c:124,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl2pkcs7.c:125,1
    - Dst: PKCS7_new
      Src: /src/openssl/apps/crl2pkcs7.c:130,1
    - Dst: PKCS7_SIGNED_new
      Src: /src/openssl/apps/crl2pkcs7.c:132,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/crl2pkcs7.c:134,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/crl2pkcs7.c:136,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/apps/crl2pkcs7.c:138,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/crl2pkcs7.c:142,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/crl2pkcs7.c:146,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/crl2pkcs7.c:152,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/crl2pkcs7.c:156,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/crl2pkcs7.c:157,1
    - Dst: add_certs_from_file
      Src: /src/openssl/apps/crl2pkcs7.c:158,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl2pkcs7.c:159,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl2pkcs7.c:160,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/crl2pkcs7.c:166,1
    - Dst: i2d_PKCS7_bio
      Src: /src/openssl/apps/crl2pkcs7.c:171,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/openssl/apps/crl2pkcs7.c:173,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl2pkcs7.c:175,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl2pkcs7.c:176,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/crl2pkcs7.c:181,1
    - Dst: BIO_free
      Src: /src/openssl/apps/crl2pkcs7.c:182,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/crl2pkcs7.c:183,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/crl2pkcs7.c:184,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl2pkcs7.c:185,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 188
    functionName: crl2pkcs7_main
    functionSourceFile: /src/openssl/apps/crl2pkcs7.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - add_certs_from_file
    - d2i_X509_CRL_bio
    - OBJ_nid2obj
    - sk_OPENSSL_STRING_num
    - PKCS7_SIGNED_new
    - sk_X509_CRL_push
    - sk_OPENSSL_STRING_new_null
    - opt_provider
    - STACK_OF
    - PEM_write_bio_PKCS7
    - PKCS7_free
    - opt_check_rest_arg
    - sk_OPENSSL_STRING_push
    - PEM_read_bio_X509_CRL
    - opt_init
    - sk_X509_new_null
    - BIO_free
    - bio_open_default
    - sk_OPENSSL_STRING_free
    - ERR_print_errors
    - opt_help
    - ASN1_INTEGER_set
    - BIO_printf
    - sk_X509_CRL_new_null
    - opt_format
    - i2d_PKCS7_bio
    - PKCS7_new
    - BIO_free_all
    - X509_CRL_free
    - sk_OPENSSL_STRING_value
    - opt_arg
    - opt_next
    linkageType: ''
    returnType: int
    signature: int crl2pkcs7_main(int argc, char **argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/nseq.c:49,1
    - Dst: opt_next
      Src: /src/openssl/apps/nseq.c:50,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/nseq.c:55,1
    - Dst: opt_help
      Src: /src/openssl/apps/nseq.c:59,1
    - Dst: opt_arg
      Src: /src/openssl/apps/nseq.c:65,1
    - Dst: opt_arg
      Src: /src/openssl/apps/nseq.c:68,1
    - Dst: opt_provider
      Src: /src/openssl/apps/nseq.c:71,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/nseq.c:78,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/nseq.c:81,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/nseq.c:84,1
    - Dst: NETSCAPE_CERT_SEQUENCE_new
      Src: /src/openssl/apps/nseq.c:89,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/nseq.c:92,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/apps/nseq.c:95,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/nseq.c:96,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/nseq.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/nseq.c:101,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/nseq.c:103,1
    - Dst: PEM_write_bio_NETSCAPE_CERT_SEQUENCE
      Src: /src/openssl/apps/nseq.c:106,1
    - Dst: PEM_read_bio_NETSCAPE_CERT_SEQUENCE
      Src: /src/openssl/apps/nseq.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/nseq.c:113,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/nseq.c:115,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/nseq.c:119,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/nseq.c:120,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/nseq.c:121,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/nseq.c:122,1
    - Dst: BIO_free
      Src: /src/openssl/apps/nseq.c:126,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/nseq.c:127,1
    - Dst: NETSCAPE_CERT_SEQUENCE_free
      Src: /src/openssl/apps/nseq.c:128,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 131
    functionName: nseq_main
    functionSourceFile: /src/openssl/apps/nseq.c
    functionUses: 0
    functionsReached:
    - sk_X509_push
    - sk_X509_num
    - NETSCAPE_CERT_SEQUENCE_new
    - PEM_write_bio_NETSCAPE_CERT_SEQUENCE
    - opt_provider
    - opt_check_rest_arg
    - NETSCAPE_CERT_SEQUENCE_free
    - opt_init
    - sk_X509_new_null
    - BIO_free
    - bio_open_default
    - ERR_print_errors
    - opt_help
    - BIO_printf
    - PEM_write_bio_X509
    - BIO_free_all
    - opt_arg
    - dump_cert_text
    - sk_X509_value
    - opt_next
    - PEM_read_bio_X509
    - PEM_read_bio_NETSCAPE_CERT_SEQUENCE
    linkageType: ''
    returnType: int
    signature: int nseq_main(int argc, char **argv)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/ec.c:92,1
    - Dst: opt_init
      Src: /src/openssl/apps/ec.c:93,1
    - Dst: opt_next
      Src: /src/openssl/apps/ec.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:99,1
    - Dst: opt_help
      Src: /src/openssl/apps/ec.c:102,1
    - Dst: opt_format
      Src: /src/openssl/apps/ec.c:106,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:106,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:110,1
    - Dst: opt_format
      Src: /src/openssl/apps/ec.c:113,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:113,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:135,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:138,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/ec.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:144,1
    - Dst: opt_string
      Src: /src/openssl/apps/ec.c:145,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:149,1
    - Dst: opt_string
      Src: /src/openssl/apps/ec.c:150,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ec.c:160,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ec.c:167,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/ec.c:170,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ec.c:174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:175,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/ec.c:180,1
    - Dst: load_key
      Src: /src/openssl/apps/ec.c:182,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:185,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ec.c:189,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ec.c:194,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:197,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ec.c:202,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:204,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/openssl/apps/ec.c:209,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:210,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/openssl/apps/ec.c:214,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:215,1
    - Dst: assert
      Src: /src/openssl/apps/ec.c:221,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/ec.c:222,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/ec.c:223,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:224,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/ec.c:230,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:232,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/apps/ec.c:235,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:236,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:238,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ec.c:239,1
    - Dst: assert
      Src: /src/openssl/apps/ec.c:255,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/ec.c:258,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/ec.c:262,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/ec.c:262,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/ec.c:264,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/ec.c:264,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/ec.c:267,1
    - Dst: strlen
      Src: /src/openssl/apps/ec.c:269,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/ec.c:271,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ec.c:272,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ec.c:280,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ec.c:281,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ec.c:282,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/ec.c:283,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/ec.c:284,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/apps/ec.c:285,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ec.c:286,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/ec.c:288,1
    - Dst: strlen
      Src: /src/openssl/apps/ec.c:288,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/ec.c:290,1
    - Dst: strlen
      Src: /src/openssl/apps/ec.c:290,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 189
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (pubin || private)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/openssl/apps/ec.c
    - condition: (private)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/openssl/apps/ec.c
    constantsTouched: []
    func_position:
      end: 292
      start: 74
    functionDepth: 11
    functionLinenumber: 74
    functionLinenumberEnd: 292
    functionName: ec_main
    functionSourceFile: /src/openssl/apps/ec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_ENCODER_to_bio
    - EVP_PKEY_check
    - opt_set_unknown_name
    - opt_cipher
    - load_key
    - EVP_PKEY_set_int_param
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_set_utf8_string_param
    - EVP_CIPHER_get0_name
    - load_pubkey
    - app_passwd
    - opt_provider
    - opt_check_rest_arg
    - OSSL_ENCODER_CTX_set_passphrase
    - EVP_PKEY_print_private
    - opt_init
    - OPENSSL_clear_free
    - EVP_PKEY_print_public
    - assert
    - EVP_PKEY_free
    - bio_open_owner
    - ERR_print_errors
    - opt_help
    - get_ui_method
    - EVP_CIPHER_free
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_CTX_free
    - opt_unknown
    - OSSL_ENCODER_CTX_free
    - BIO_printf
    - opt_string
    - opt_format
    - BIO_free_all
    - opt_arg
    - opt_next
    - strlen
    - OSSL_ENCODER_CTX_new_for_pkey
    linkageType: ''
    returnType: int
    signature: int ec_main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:57,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:60,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:61,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:62,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FUNCTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: warn_deprecated
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void warn_deprecated(const FUNCTION *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/apps/openssl.c:70,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/apps/openssl.c:74,1
    - Dst: setup_ui_method
      Src: /src/openssl/apps/openssl.c:77,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:83,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:86,1
    - Dst: app_create_libctx
      Src: /src/openssl/apps/openssl.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: apps_startup
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - signal
    - OPENSSL_init_ssl
    - strcmp
    - getenv
    - app_create_libctx
    - setup_ui_method
    linkageType: ''
    returnType: int
    signature: int apps_startup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_providers_cleanup
      Src: /src/openssl/apps/openssl.c:97,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/apps/openssl.c:98,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/openssl.c:98,1
    - Dst: destroy_ui_method
      Src: /src/openssl/apps/openssl.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: apps_shutdown
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - app_providers_cleanup
    - destroy_ui_method
    - OSSL_LIB_CTX_free
    - app_get0_libctx
    linkageType: ''
    returnType: void
    signature: void apps_shutdown(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:119,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/apps/openssl.c:124,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/apps/openssl.c:125,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/openssl.c:126,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/apps/openssl.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:129,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/apps/openssl.c:130,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:134,1
    - Dst: BIO_write
      Src: /src/openssl/apps/openssl.c:140,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:144,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/apps/openssl.c:149,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: 155
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 155
    functionName: internal_trace_cb
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OPENSSL_free
    - BIO_write
    - OSSL_trace_get_category_name
    - BIO_set_prefix
    - BIO_snprintf
    - OPENSSL_buf2hexstr
    - CRYPTO_THREAD_get_current_id
    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:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - tracedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: tracedata_free
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_free_all
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void tracedata_free(tracedata *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_tracedata_pop_free
      Src: /src/openssl/apps/openssl.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    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:177,1
    - Dst: BIO_new
      Src: /src/openssl/apps/openssl.c:180,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/apps/openssl.c:180,1
    - Dst: BIO_push
      Src: /src/openssl/apps/openssl.c:181,1
    - Dst: dup_bio_err
      Src: /src/openssl/apps/openssl.c:181,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/openssl.c:182,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/apps/openssl.c:187,1
    - Dst: sk_tracedata_push
      Src: /src/openssl/apps/openssl.c:190,1
    - Dst: fprintf
      Src: /src/openssl/apps/openssl.c:192,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/apps/openssl.c:194,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/apps/openssl.c:196,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 200
    functionName: setup_trace_category
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - sk_tracedata_push
    - BIO_new
    - OPENSSL_free
    - OSSL_trace_enabled
    - BIO_f_prefix
    - OSSL_trace_get_category_name
    - fprintf
    - BIO_free_all
    - BIO_push
    - dup_bio_err
    - OSSL_trace_set_callback
    linkageType: ''
    returnType: void
    signature: void setup_trace_category(int category)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/openssl/apps/openssl.c:211,1
    - Dst: sk_tracedata_new_null
      Src: /src/openssl/apps/openssl.c:213,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/openssl.c:214,1
    - Dst: strtok
      Src: /src/openssl/apps/openssl.c:220,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/openssl/apps/openssl.c:221,1
    - Dst: setup_trace_category
      Src: /src/openssl/apps/openssl.c:225,1
    - Dst: setup_trace_category
      Src: /src/openssl/apps/openssl.c:228,1
    - Dst: fprintf
      Src: /src/openssl/apps/openssl.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 237
    functionName: setup_trace
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - setup_trace_category
    - OPENSSL_free
    - atexit
    - fprintf
    - sk_tracedata_new_null
    - OSSL_trace_get_category_num
    - strtok
    linkageType: ''
    returnType: void
    signature: void setup_trace(const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/apps/openssl.c:246,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/openssl.c:262,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/openssl.c:263,1
    - Dst: dup_bio_err
      Src: /src/openssl/apps/openssl.c:264,1
    - Dst: copy_argv
      Src: /src/openssl/apps/openssl.c:267,1
    - Dst: win32_utf8argv
      Src: /src/openssl/apps/openssl.c:270,1
    - Dst: setup_trace
      Src: /src/openssl/apps/openssl.c:274,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:274,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:277,1
    - Dst: strtol
      Src: /src/openssl/apps/openssl.c:285,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:287,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:297,1
    - Dst: strtol
      Src: /src/openssl/apps/openssl.c:300,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:302,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/apps/openssl.c:310,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:312,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/openssl.c:314,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:319,1
    - Dst: apps_startup
      Src: /src/openssl/apps/openssl.c:325,1
    - Dst: prog_init
      Src: /src/openssl/apps/openssl.c:326,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:327,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/openssl.c:330,1
    - Dst: opt_progname
      Src: /src/openssl/apps/openssl.c:334,1
    - Dst: CONF_get1_default_config_file
      Src: /src/openssl/apps/openssl.c:336,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/openssl.c:338,1
    - Dst: lh_FUNCTION_retrieve
      Src: /src/openssl/apps/openssl.c:342,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: strcmp
      Src: /src/openssl/apps/openssl.c:349,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:349,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:350,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:350,1
    - Dst: opt_appname
      Src: /src/openssl/apps/openssl.c:354,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:365,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:367,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:371,1
    - Dst: lh_FUNCTION_free
      Src: /src/openssl/apps/openssl.c:372,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:373,1
    - Dst: app_RAND_write
      Src: /src/openssl/apps/openssl.c:374,1
    - Dst: BIO_free
      Src: /src/openssl/apps/openssl.c:377,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:378,1
    - Dst: apps_shutdown
      Src: /src/openssl/apps/openssl.c:379,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:380,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/apps/openssl.c:382,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:402,1
    - Dst: EXIT
      Src: /src/openssl/apps/openssl.c:403,1
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/apps/openssl.c:409,1
    - Dst: EXIT
      Src: /src/openssl/apps/openssl.c:410,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 411
    functionName: main
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 7
    functionsReached:
    - app_bail_out
    - dup_bio_in
    - lh_FUNCTION_free
    - dup_bio_out
    - CRYPTO_secure_malloc_done
    - CRYPTO_secure_malloc_init
    - do_cmd
    - prog_init
    - apps_shutdown
    - opt_progname
    - setup_trace
    - OPENSSL_free
    - OPENSSL_cleanup
    - app_RAND_write
    - getenv
    - CONF_get1_default_config_file
    - apps_startup
    - BIO_free
    - win32_utf8argv
    - strcmp
    - ERR_print_errors
    - dup_bio_err
    - opt_appname
    - LHASH_OF
    - BIO_printf
    - EXIT
    - copy_argv
    - BIO_free_all
    - strtol
    - lh_FUNCTION_retrieve
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/openssl.c:440,1
    - Dst: opt_next
      Src: /src/openssl/apps/openssl.c:441,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:445,1
    - Dst: opt_help
      Src: /src/openssl/apps/openssl.c:448,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/openssl.c:454,1
    - Dst: opt_rest
      Src: /src/openssl/apps/openssl.c:455,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:458,1
    - Dst: prog_init
      Src: /src/openssl/apps/openssl.c:458,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/openssl.c:460,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:461,1
    - Dst: calculate_columns
      Src: /src/openssl/apps/openssl.c:465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:466,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:472,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:478,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:481,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:485,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:489,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/openssl.c:491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 493
    functionName: help_main
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - opt_check_rest_arg
    - opt_init
    - calculate_columns
    - do_cmd
    - prog_init
    - opt_num_rest
    - opt_next
    - opt_help
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int help_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/apps/openssl.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FUNCTION*
    - FUNCTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    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:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - FUNCTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 554
    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:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _f1
    - _f2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 564
    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:581,1
    - Dst: lh_FUNCTION_new
      Src: /src/openssl/apps/openssl.c:583,1
    - Dst: lh_FUNCTION_insert
      Src: /src/openssl/apps/openssl.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: prog_init
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 2
    functionsReached:
    - qsort
    - lh_FUNCTION_insert
    - lh_FUNCTION_new
    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: 8
    functionsReached: []
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork(void)
  - BBCount: 166
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:258,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:265,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:266,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:267,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:268,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:269,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:271,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ocsp.c:299,1
    - Dst: sk_OCSP_CERTID_new_null
      Src: /src/openssl/apps/ocsp.c:300,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/ocsp.c:301,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/ocsp.c:304,1
    - Dst: opt_init
      Src: /src/openssl/apps/ocsp.c:305,1
    - Dst: opt_next
      Src: /src/openssl/apps/ocsp.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:311,1
    - Dst: opt_help
      Src: /src/openssl/apps/ocsp.c:315,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:318,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:328,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/ocsp.c:330,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:330,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:333,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:341,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:344,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:347,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:351,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:354,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:412,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:415,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:418,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:421,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:425,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:428,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:431,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:434,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:437,1
    - Dst: opt_verify
      Src: /src/openssl/apps/ocsp.c:449,1
    - Dst: opt_long
      Src: /src/openssl/apps/ocsp.c:454,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:454,1
    - Dst: opt_long
      Src: /src/openssl/apps/ocsp.c:457,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:457,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_arg
      Src: /src/openssl/apps/ocsp.c:466,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:469,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:469,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/ocsp.c:473,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ocsp.c:476,1
    - Dst: reset_unknown
      Src: /src/openssl/apps/ocsp.c:480,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:481,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:482,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:482,1
    - Dst: EVP_sha1
      Src: /src/openssl/apps/ocsp.c:486,1
    - Dst: add_ocsp_cert
      Src: /src/openssl/apps/ocsp.c:487,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ocsp.c:489,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:489,1
    - Dst: reset_unknown
      Src: /src/openssl/apps/ocsp.c:494,1
    - Dst: EVP_sha1
      Src: /src/openssl/apps/ocsp.c:496,1
    - Dst: add_ocsp_serial
      Src: /src/openssl/apps/ocsp.c:497,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:497,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ocsp.c:499,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:499,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:504,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:507,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:510,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:515,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:518,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:521,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:524,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:527,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:530,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:533,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ocsp.c:537,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ocsp.c:539,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:539,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:543,1
    - Dst: strchr
      Src: /src/openssl/apps/ocsp.c:544,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:546,1
    - Dst: X509V3_add_value
      Src: /src/openssl/apps/ocsp.c:550,1
    - Dst: opt_md
      Src: /src/openssl/apps/ocsp.c:554,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:554,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:559,1
    - Dst: opt_md
      Src: /src/openssl/apps/ocsp.c:564,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/ocsp.c:564,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:570,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ocsp.c:574,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ocsp.c:581,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:585,1
    - Dst: opt_md
      Src: /src/openssl/apps/ocsp.c:591,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:604,1
    - Dst: d2i_OCSP_REQUEST_bio
      Src: /src/openssl/apps/ocsp.c:607,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:608,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:610,1
    - Dst: http_server_init
      Src: /src/openssl/apps/ocsp.c:617,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:621,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:629,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:631,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:634,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:637,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ocsp.c:641,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:642,1
    - Dst: load_key
      Src: /src/openssl/apps/ocsp.c:645,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:653,1
    - Dst: load_index
      Src: /src/openssl/apps/ocsp.c:659,1
    - Dst: index_index
      Src: /src/openssl/apps/ocsp.c:660,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:661,1
    - Dst: spawn_loop
      Src: /src/openssl/apps/ocsp.c:671,1
    - Dst: signal
      Src: /src/openssl/apps/ocsp.c:673,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/ocsp.c:677,1
    - Dst: index_changed
      Src: /src/openssl/apps/ocsp.c:684,1
    - Dst: load_index
      Src: /src/openssl/apps/ocsp.c:685,1
    - Dst: index_index
      Src: /src/openssl/apps/ocsp.c:687,1
    - Dst: free_index
      Src: /src/openssl/apps/ocsp.c:688,1
    - Dst: free_index
      Src: /src/openssl/apps/ocsp.c:691,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/ocsp.c:692,1
    - Dst: do_responder
      Src: /src/openssl/apps/ocsp.c:700,1
    - Dst: OCSP_response_create
      Src: /src/openssl/apps/ocsp.c:706,1
    - Dst: send_ocsp_response
      Src: /src/openssl/apps/ocsp.c:709,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:718,1
    - Dst: OCSP_request_add1_nonce
      Src: /src/openssl/apps/ocsp.c:723,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:730,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:732,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:736,1
    - Dst: load_key
      Src: /src/openssl/apps/ocsp.c:740,1
    - Dst: OCSP_request_sign
      Src: /src/openssl/apps/ocsp.c:745,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:747,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:752,1
    - Dst: OCSP_REQUEST_print
      Src: /src/openssl/apps/ocsp.c:757,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:760,1
    - Dst: i2d_OCSP_REQUEST_bio
      Src: /src/openssl/apps/ocsp.c:763,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:764,1
    - Dst: make_ocsp_response
      Src: /src/openssl/apps/ocsp.c:768,1
    - Dst: send_ocsp_response
      Src: /src/openssl/apps/ocsp.c:774,1
    - Dst: process_responder
      Src: /src/openssl/apps/ocsp.c:777,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:782,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:787,1
    - Dst: d2i_OCSP_RESPONSE_bio
      Src: /src/openssl/apps/ocsp.c:790,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:791,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:793,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:804,1
    - Dst: i2d_OCSP_RESPONSE_bio
      Src: /src/openssl/apps/ocsp.c:807,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:808,1
    - Dst: OCSP_response_status
      Src: /src/openssl/apps/ocsp.c:812,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:814,1
    - Dst: OCSP_response_status_str
      Src: /src/openssl/apps/ocsp.c:815,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/openssl/apps/ocsp.c:821,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:831,1
    - Dst: OCSP_REQUEST_free
      Src: /src/openssl/apps/ocsp.c:833,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/apps/ocsp.c:835,1
    - Dst: setup_verify
      Src: /src/openssl/apps/ocsp.c:845,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/ocsp.c:851,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:853,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/apps/ocsp.c:858,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:860,1
    - Dst: OCSP_check_nonce
      Src: /src/openssl/apps/ocsp.c:867,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:869,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:871,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/apps/ocsp.c:877,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/apps/ocsp.c:879,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/ocsp.c:881,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:884,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ocsp.c:885,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:888,1
    - Dst: print_ocsp_summary
      Src: /src/openssl/apps/ocsp.c:892,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ocsp.c:896,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:897,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/ocsp.c:898,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/ocsp.c:899,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ocsp.c:900,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ocsp.c:901,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ocsp.c:902,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ocsp.c:903,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ocsp.c:904,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ocsp.c:905,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:906,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:907,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:908,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:909,1
    - Dst: free_index
      Src: /src/openssl/apps/ocsp.c:910,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:911,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:912,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:913,1
    - Dst: OCSP_REQUEST_free
      Src: /src/openssl/apps/ocsp.c:914,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/apps/ocsp.c:915,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/apps/ocsp.c:916,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ocsp.c:917,1
    - Dst: sk_OCSP_CERTID_free
      Src: /src/openssl/apps/ocsp.c:918,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:919,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:920,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/apps/ocsp.c:921,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:922,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:923,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:924,1
    CyclomaticComplexity: 251
    EdgeCount: 251
    ICount: 610
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 254
    functionDepth: 6
    functionLinenumber: 254
    functionLinenumberEnd: 927
    functionName: ocsp_main
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 0
    functionsReached:
    - opt_md
    - load_key
    - opt_next
    - X509_VERIFY_PARAM_new
    - ERR_clear_error
    - OCSP_RESPONSE_print
    - sk_CONF_VALUE_pop_free
    - app_passwd
    - sk_OPENSSL_STRING_new_null
    - STACK_OF
    - X509_STORE_free
    - opt_verify
    - free_index
    - i2d_OCSP_REQUEST_bio
    - sk_OPENSSL_STRING_free
    - EVP_MD_free
    - load_index
    - strchr
    - opt_unknown
    - OCSP_basic_verify
    - OSSL_STACK_OF_X509_free
    - OSSL_HTTP_parse_url
    - opt_arg
    - index_changed
    - spawn_loop
    - BIO_puts
    - add_ocsp_cert
    - OCSP_BASICRESP_free
    - X509V3_add_value
    - opt_set_unknown_name
    - sk_X509_push
    - do_responder
    - X509_VERIFY_PARAM_free
    - OCSP_response_get1_basic
    - opt_provider
    - http_server_init
    - OCSP_check_nonce
    - sk_OPENSSL_STRING_push
    - ERR_print_errors
    - BIO_free_all
    - X509_STORE_set1_param
    - OCSP_response_create
    - sk_OCSP_CERTID_free
    - process_responder
    - X509_free
    - EVP_sha1
    - sk_OCSP_CERTID_new_null
    - opt_long
    - trace_log_message
    - OCSP_RESPONSE_free
    - signal
    - send_ocsp_response
    - d2i_OCSP_RESPONSE_bio
    - opt_check_rest_arg
    - d2i_OCSP_REQUEST_bio
    - reset_unknown
    - sk_X509_new_null
    - bio_open_default
    - OCSP_request_add1_nonce
    - EVP_PKEY_free
    - opt_help
    - BIO_printf
    - load_certs
    - setup_verify
    - OCSP_REQUEST_print
    - opt_int_arg
    - i2d_OCSP_RESPONSE_bio
    - OPENSSL_free
    - OCSP_response_status
    - add_ocsp_serial
    - OCSP_request_sign
    - OCSP_REQUEST_free
    - opt_init
    - BIO_free
    - index_index
    - load_cert
    - OCSP_response_status_str
    - make_ocsp_response
    - print_ocsp_summary
    linkageType: ''
    returnType: int
    signature: int ocsp_main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/apps/ocsp.c:935,1
    - Dst: syslog
      Src: /src/openssl/apps/ocsp.c:940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - rdb
    argTypes:
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 945
    functionName: index_changed
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - syslog
    - stat
    linkageType: ''
    returnType: int
    signature: int index_changed(CA_DB *rdb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:956,1
    - Dst: OCSP_REQUEST_new
      Src: /src/openssl/apps/ocsp.c:960,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/apps/ocsp.c:963,1
    - Dst: sk_OCSP_CERTID_push
      Src: /src/openssl/apps/ocsp.c:964,1
    - Dst: OCSP_request_add0_id
      Src: /src/openssl/apps/ocsp.c:966,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/apps/ocsp.c:973,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - req
    - cert
    - cert_id_md
    - issuer
    - ids
    argTypes:
    - OCSP_REQUEST**
    - X509*
    - EVP_MD*
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 976
    functionName: add_ocsp_cert
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - OCSP_request_add0_id
    - sk_OCSP_CERTID_push
    - OCSP_CERTID_free
    - OCSP_cert_to_id
    - OCSP_REQUEST_new
    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_puts
      Src: /src/openssl/apps/ocsp.c:988,1
    - Dst: OCSP_REQUEST_new
      Src: /src/openssl/apps/ocsp.c:992,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ocsp.c:995,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/openssl/apps/ocsp.c:996,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/ocsp.c:997,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:999,1
    - Dst: OCSP_cert_id_new
      Src: /src/openssl/apps/ocsp.c:1002,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ocsp.c:1003,1
    - Dst: sk_OCSP_CERTID_push
      Src: /src/openssl/apps/ocsp.c:1004,1
    - Dst: OCSP_request_add0_id
      Src: /src/openssl/apps/ocsp.c:1006,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/apps/ocsp.c:1013,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:1014,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - req
    - serial
    - cert_id_md
    - issuer
    - ids
    argTypes:
    - OCSP_REQUEST**
    - char*
    - EVP_MD*
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 978
    functionDepth: 10
    functionLinenumber: 978
    functionLinenumberEnd: 1016
    functionName: add_ocsp_serial
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - X509_get0_pubkey_bitstr
    - BIO_printf
    - OCSP_request_add0_id
    - ASN1_INTEGER_free
    - s2i_ASN1_INTEGER
    - sk_OCSP_CERTID_push
    - OCSP_CERTID_free
    - OCSP_REQUEST_new
    - OCSP_cert_id_new
    - X509_get_subject_name
    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:1250,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/ocsp.c:1251,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ocsp.c:1253,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ocsp.c:1254,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/ocsp.c:1255,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ocsp.c:1257,1
    - Dst: BN_free
      Src: /src/openssl/apps/ocsp.c:1260,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ocsp.c:1261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1243
    functionDepth: 7
    functionLinenumber: 1243
    functionLinenumberEnd: 1264
    functionName: lookup_serial
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_to_BN
    - OPENSSL_strdup
    - BN_is_zero
    - OPENSSL_free
    - TXT_DB_get_by_index
    - BN_free
    - BN_bn2hex
    - OPENSSL_assert
    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:1270,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1270,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:1275,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: 1280
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1280
    functionName: do_responder
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - http_server_get_asn1_req
    - BIO_puts
    - ASN1_ITEM_rptr
    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:1285,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1288,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cbio
    - resp
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1282
    functionDepth: 3
    functionLinenumber: 1282
    functionLinenumberEnd: 1295
    functionName: send_ocsp_response
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - http_server_send_asn1_resp
    - ASN1_ITEM_rptr
    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:1308,1
    - Dst: TLS_client_method
      Src: /src/openssl/apps/ocsp.c:1308,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:1310,1
    - Dst: app_http_post_asn1
      Src: /src/openssl/apps/ocsp.c:1316,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1318,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1320,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ocsp.c:1323,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/ocsp.c:1326,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: 1328
      start: 1298
    functionDepth: 3
    functionLinenumber: 1298
    functionLinenumberEnd: 1328
    functionName: process_responder
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - TLS_client_method
    - app_http_post_asn1
    - SSL_CTX_new
    - SSL_CTX_free
    - ASN1_ITEM_rptr
    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: 789
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 789
    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: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    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: 792
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 792
    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: 793
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 793
    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: 794
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 794
    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: 795
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 795
    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: 797
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 797
    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: 798
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 798
    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: 799
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 799
    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: 800
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 800
    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: 801
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 801
    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: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    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: 804
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 804
    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: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    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: 806
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 806
    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: 807
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 807
    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: 809
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 809
    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: 810
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 810
    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: 811
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 811
    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: 812
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 812
    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: 813
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 813
    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:817,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: 818
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 818
    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:823,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: 824
      start: 820
    functionDepth: 3
    functionLinenumber: 820
    functionLinenumberEnd: 824
    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:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 834
    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:838,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/cmp.c:839,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - uri
    - format
    - source
    - desc
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 843
    functionName: load_pubkey_pwd
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - get_passwd
    - load_pubkey
    - clear_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_pubkey_pwd(const char *uri, int format, const char *source,
      const char *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:848,1
    - Dst: load_key
      Src: /src/openssl/apps/cmp.c:849,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - uri
    - format
    - source
    - desc
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionName: load_key_pwd
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - get_passwd
    - load_key
    - clear_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_key_pwd(const char *uri, int format,\n    const char
      *source, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:857,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/cmp.c:858,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uri
    - source
    - desc
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: load_cert_pwd
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - get_passwd
    - load_cert_pass
    - clear_free
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert_pwd(const char *uri, const char *source, const char
      *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/cmp.c:867,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/apps/cmp.c:870,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/apps/cmp.c:871,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/apps/cmp.c:872,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/openssl/apps/cmp.c:874,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/apps/cmp.c:876,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/apps/cmp.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ts
    - host
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 878
    functionName: truststore_set_host_etc
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set_hostflags
    - X509_STORE_get0_param
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_set1_ip_asc
    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:886,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:890,1
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:895,1
    - Dst: OSSL_CMP_MSG_write
      Src: /src/openssl/apps/cmp.c:896,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - filenames
    argTypes:
    - OSSL_CMP_MSG*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 881
    functionDepth: 4
    functionLinenumber: 881
    functionLinenumberEnd: 901
    functionName: write_PKIMESSAGE
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_warn
    - CMP_err
    - OSSL_CMP_MSG_write
    - next_item
    - CMP_err1
    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:910,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:914,1
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:919,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/openssl/apps/cmp.c:921,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:921,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:921,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:923,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - desc
    - filenames
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 904
    functionDepth: 4
    functionLinenumber: 904
    functionLinenumberEnd: 927
    functionName: read_PKIMESSAGE
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err1
    - app_get0_libctx
    - CMP_err
    - app_get0_propq
    - CMP_info2
    - next_item
    - OSSL_CMP_MSG_read
    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:944,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:945,1
    - Dst: write_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:951,1
    - Dst: read_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:954,1
    - Dst: OSSL_CMP_MSG_update_transactionID
      Src: /src/openssl/apps/cmp.c:962,1
    - Dst: OSSL_CMP_MSG_update_recipNonce
      Src: /src/openssl/apps/cmp.c:969,1
    - Dst: read_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:974,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:981,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/openssl/apps/cmp.c:982,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:986,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:990,1
    - Dst: OSSL_CMP_MSG_http_perform
      Src: /src/openssl/apps/cmp.c:991,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:993,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/apps/cmp.c:1006,1
    - Dst: OSSL_CMP_HDR_get0_recipNonce
      Src: /src/openssl/apps/cmp.c:1007,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/openssl/apps/cmp.c:1008,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/apps/cmp.c:1009,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/apps/cmp.c:1010,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:1011,1
    - Dst: write_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:1017,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:1018,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:1023,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 935
    functionDepth: 21
    functionLinenumber: 935
    functionLinenumberEnd: 1025
    functionName: read_write_req_resp
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - write_PKIMESSAGE
    - OSSL_CMP_CTX_server_perform
    - OSSL_CMP_MSG_update_transactionID
    - read_PKIMESSAGE
    - CMP_warn1
    - OSSL_CMP_HDR_get0_transactionID
    - OSSL_CMP_MSG_update_recipNonce
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_HDR_get0_recipNonce
    - CMP_err
    - OSSL_CMP_MSG_free
    - OSSL_CMP_MSG_http_perform
    - OSSL_CMP_MSG_write
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_CTX_set1_senderNonce
    - CMP_err1
    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:1032,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/cmp.c:1037,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1038,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/cmp.c:1041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - str
    - ctx
    - desc
    argTypes:
    - char*
    - OSSL_CMP_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1044
    functionName: set_name
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 1
    functionsReached:
    - parse_name
    - CMP_err
    - X509_NAME_free
    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:1053,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1054,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1055,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/cmp.c:1062,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/openssl/apps/cmp.c:1063,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/openssl/apps/cmp.c:1065,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:1066,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:1066,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/cmp.c:1069,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:1072,1
    - Dst: OSSL_CMP_CTX_push1_subjectAltName
      Src: /src/openssl/apps/cmp.c:1075,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/apps/cmp.c:1076,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1077,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/apps/cmp.c:1080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - names
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1083
    functionName: set_gennames
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_pop_to_mark
    - CMP_err2
    - a2i_GENERAL_NAME
    - GENERAL_NAME_free
    - strcmp
    - CMP_err
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_push1_subjectAltName
    - ERR_set_mark
    - next_item
    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:1087,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/cmp.c:1091,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/cmp.c:1094,1
    - Dst: truststore_set_host_etc
      Src: /src/openssl/apps/cmp.c:1095,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:1097,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/apps/cmp.c:1098,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - input
    - for_new_cert
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1085
    functionDepth: 8
    functionLinenumber: 1085
    functionLinenumberEnd: 1101
    functionName: load_trusted
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_STORE_set_verify_cb
    - BIO_printf
    - X509_STORE_set1_param
    - truststore_set_host_etc
    - X509_STORE_free
    - load_certstore
    - OSSL_CMP_CTX_print_errors
    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:1112,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1115,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: 1117
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1117
    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:1123,1
    - Dst: load_certs_multifile
      Src: /src/openssl/apps/cmp.c:1128,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cmp.c:1131,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: 1133
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1133
    functionName: setup_certs
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_STACK_OF_X509_free
    - load_certs_multifile
    - STACK_OF
    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:1142,1
    - Dst: ossl_cmp_mock_srv_set1_crlOut
      Src: /src/openssl/apps/cmp.c:1144,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/cmp.c:1145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - file
    - desc
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1147
    functionName: setup_mock_crlout
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_mock_srv_set1_crlOut
    - X509_CRL_free
    - load_crl
    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:1155,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1157,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1159,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1161,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1163,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1165,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1168,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1172,1
    - Dst: opt_format
      Src: /src/openssl/apps/cmp.c:1179,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1180,1
    - Dst: opt_format
      Src: /src/openssl/apps/cmp.c:1187,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1188,1
    - Dst: opt_format
      Src: /src/openssl/apps/cmp.c:1192,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1198
    functionName: transform_opts
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err
    - CMP_err1
    - strcmp
    - 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:1203,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:1203,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:1204,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/apps/cmp.c:1208,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1213,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/apps/cmp.c:1217,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1218,1
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:1224,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1227,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/apps/cmp.c:1228,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1229,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:1230,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1235,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1238,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1243,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1246,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1251,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/apps/cmp.c:1255,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1256,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1259,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1261,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1264,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/apps/cmp.c:1266,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1267,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1271,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1273,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1278,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1283,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1285,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1291,1
    - Dst: ossl_cmp_mock_srv_set1_keyOut
      Src: /src/openssl/apps/cmp.c:1296,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1297,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1300,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1302,1
    - Dst: setup_mock_crlout
      Src: /src/openssl/apps/cmp.c:1304,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1307,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1311,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1314,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1317,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1320,1
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/openssl/apps/cmp.c:1324,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/apps/cmp.c:1325,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/openssl/apps/cmp.c:1327,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1331,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1336,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1341,1
    - Dst: ossl_cmp_mock_srv_set_statusInfo
      Src: /src/openssl/apps/cmp.c:1344,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/openssl/apps/cmp.c:1349,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1352,1
    - Dst: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
      Src: /src/openssl/apps/cmp.c:1354,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/openssl/apps/cmp.c:1356,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1358,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/openssl/apps/cmp.c:1360,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/openssl/apps/cmp.c:1365,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 131
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1200
    functionDepth: 9
    functionLinenumber: 1200
    functionLinenumberEnd: 1367
    functionName: setup_srv_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - ossl_cmp_mock_srv_set_pollCount
    - setup_mock_crlout
    - OSSL_CMP_CTX_set_option
    - ossl_cmp_mock_srv_free
    - ossl_cmp_mock_srv_set_statusInfo
    - CMP_warn
    - setup_cert
    - app_get0_propq
    - OSSL_CMP_CTX_set1_pkey
    - OSSL_CMP_CTX_set1_secretValue
    - ossl_cmp_mock_srv_new
    - X509_STORE_free
    - cleanse
    - ossl_cmp_mock_srv_set1_keyOut
    - app_get0_libctx
    - clear_free
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - get_passwd
    - OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    - EVP_PKEY_free
    - ossl_cmp_mock_srv_set_checkAfterTime
    - load_key_pwd
    - OSSL_CMP_CTX_set1_referenceValue
    - CMP_err1
    - CMP_err
    - ossl_cmp_mock_srv_set_sendError
    - setup_certs
    - OSSL_CMP_CTX_set0_trusted
    - load_trusted
    - strlen
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    linkageType: ''
    returnType: OSSL_CMP_SRV_CTX
    signature: OSSL_CMP_SRV_CTX *setup_srv_ctx(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1375,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1382,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1386,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1389,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1401,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/apps/cmp.c:1403,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1404,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1411,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1413,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1414,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1419,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/cmp.c:1425,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/apps/cmp.c:1426,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb_arg
      Src: /src/openssl/apps/cmp.c:1428,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1429,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1435,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1438,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1373
    functionDepth: 9
    functionLinenumber: 1373
    functionLinenumberEnd: 1441
    functionName: setup_verification_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - setup_cert
    - CMP_warn
    - X509_STORE_get0_param
    - setup_certs
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_set0_trusted
    - load_trusted
    - X509_STORE_free
    - X509_VERIFY_PARAM_clear_flags
    - OSSL_CMP_CTX_set_certConf_cb_arg
    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:1450,1
    - Dst: OSSL_CMP_CTX_get0_untrusted
      Src: /src/openssl/apps/cmp.c:1450,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/cmp.c:1456,1
    - Dst: TLS_client_method
      Src: /src/openssl/apps/cmp.c:1456,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1461,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/openssl/apps/cmp.c:1464,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/cmp.c:1465,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1467,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1472,1
    - Dst: load_cert_certs
      Src: /src/openssl/apps/cmp.c:1475,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/apps/cmp.c:1481,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1482,1
    - Dst: SSL_CTX_set0_chain
      Src: /src/openssl/apps/cmp.c:1488,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1489,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cmp.c:1491,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cmp.c:1494,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cmp.c:1495,1
    - Dst: SSL_CTX_add1_chain_cert
      Src: /src/openssl/apps/cmp.c:1496,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1497,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/cmp.c:1507,1
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/apps/cmp.c:1508,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/apps/cmp.c:1510,1
    - Dst: CMP_debug
      Src: /src/openssl/apps/cmp.c:1516,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/openssl/apps/cmp.c:1517,1
    - Dst: CMP_debug
      Src: /src/openssl/apps/cmp.c:1519,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/apps/cmp.c:1521,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1522,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/cmp.c:1525,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1530,1
    - Dst: load_certs_multifile
      Src: /src/openssl/apps/cmp.c:1530,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cmp.c:1538,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cmp.c:1539,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/openssl/apps/cmp.c:1541,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1543,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/cmp.c:1545,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cmp.c:1547,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1552,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1554,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/cmp.c:1562,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/openssl/apps/cmp.c:1562,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:1564,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1566,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/apps/cmp.c:1570,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1571,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1572,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1576,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1578,1
    - Dst: truststore_set_host_etc
      Src: /src/openssl/apps/cmp.c:1586,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/cmp.c:1592,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 103
    argCount: 2
    argNames:
    - ctx
    - host
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1448
    functionDepth: 9
    functionLinenumber: 1448
    functionLinenumberEnd: 1594
    functionName: setup_ssl_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - CMP_err2
    - X509_free
    - SSL_CTX_add_extra_chain_cert
    - load_cert_certs
    - sk_X509_num
    - X509_VERIFY_PARAM_get_flags
    - SSL_CTX_free
    - SSL_CTX_build_cert_chain
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_get0_certificate
    - SSL_CTX_set_verify
    - X509_VERIFY_PARAM_set_flags
    - CMP_warn
    - SSL_CTX_set_cert_store
    - truststore_set_host_etc
    - STACK_OF
    - load_certs_multifile
    - cleanse
    - SSL_CTX_set0_chain
    - OSSL_CMP_CTX_get0_untrusted
    - EVP_PKEY_free
    - load_key_pwd
    - SSL_CTX_use_certificate
    - CMP_err1
    - OSSL_CMP_CTX_print_errors
    - TLS_client_method
    - SSL_CTX_add1_chain_cert
    - CMP_debug
    - OSSL_STACK_OF_X509_free
    - X509_STORE_get0_param
    - X509_check_private_key
    - CMP_err
    - SSL_CTX_new
    - sk_X509_free
    - sk_X509_value
    - load_trusted
    - X509_VERIFY_PARAM_clear_flags
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *setup_ssl_ctx(OSSL_CMP_CTX *ctx, const char *host)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1605,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1611,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1615,1
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:1619,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1623,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/apps/cmp.c:1624,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1626,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:1627,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1632,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/apps/cmp.c:1635,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1636,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1640,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/apps/cmp.c:1643,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1644,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1647,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1650,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1654,1
    - Dst: load_cert_certs
      Src: /src/openssl/apps/cmp.c:1658,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/apps/cmp.c:1663,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1664,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1666,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1669,1
    - Dst: OSSL_CMP_CTX_build_cert_chain
      Src: /src/openssl/apps/cmp.c:1673,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1675,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cmp.c:1676,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1680,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1683,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1686,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1689,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/apps/cmp.c:1692,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1695,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1698,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1699,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1700,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/apps/cmp.c:1706,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1709,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1712,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1602
    functionDepth: 9
    functionLinenumber: 1602
    functionLinenumberEnd: 1715
    functionName: setup_protection_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_build_cert_chain
    - X509_free
    - load_cert_certs
    - OSSL_CMP_CTX_set_option
    - CMP_warn
    - OSSL_CMP_CTX_set1_pkey
    - OSSL_CMP_CTX_set1_secretValue
    - STACK_OF
    - X509_STORE_free
    - OSSL_CMP_CTX_set1_cert
    - cleanse
    - OBJ_ln2nid
    - clear_free
    - get_passwd
    - EVP_PKEY_free
    - load_key_pwd
    - OSSL_CMP_CTX_set1_referenceValue
    - CMP_err1
    - OSSL_STACK_OF_X509_free
    - CMP_err
    - setup_certs
    - load_trusted
    - strlen
    linkageType: ''
    returnType: int
    signature: int setup_protection_ctx(OSSL_CMP_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/apps/cmp.c:1726,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:1726,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/openssl/apps/cmp.c:1730,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:1730,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:1730,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1734,1
    - Dst: OSSL_CMP_MSG_get0_certreq_publickey
      Src: /src/openssl/apps/cmp.c:1737,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/apps/cmp.c:1738,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1739,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/apps/cmp.c:1742,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/apps/cmp.c:1743,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1744,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1745,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:1751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1717
    functionDepth: 5
    functionLinenumber: 1717
    functionLinenumberEnd: 1753
    functionName: set_fallback_pubkey
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - isspace
    - OSSL_CMP_CTX_set0_newPkey
    - app_get0_libctx
    - OSSL_CMP_MSG_free
    - _UC
    - app_get0_propq
    - EVP_PKEY_dup
    - X509_PUBKEY_get0
    - EVP_PKEY_free
    - OSSL_CMP_MSG_get0_certreq_publickey
    - CMP_err1
    - OSSL_CMP_MSG_read
    linkageType: ''
    returnType: int
    signature: int set_fallback_pubkey(OSSL_CMP_CTX *ctx)
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1769,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:1771,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1776,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:1781,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1786,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1790,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1799,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:1802,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1806,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1811,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:1814,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:1822,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1825,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1830,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1832,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1834,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1836,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1838,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1840,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1842,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1844,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1846,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1849,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1851,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1853,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1855,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1862,1
    - Dst: CMP_warn2
      Src: /src/openssl/apps/cmp.c:1866,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1872,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1876,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1880,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1884,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1886,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/cmp.c:1891,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1892,1
    - Dst: OSSL_CMP_CTX_set1_serialNumber
      Src: /src/openssl/apps/cmp.c:1895,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/cmp.c:1896,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1897,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/cmp.c:1900,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1903,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1907,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1910,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1916,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1922,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1924,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1926,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1928,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1930,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1941,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:1944,1
    - Dst: load_pubkey_pwd
      Src: /src/openssl/apps/cmp.c:1948,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/apps/cmp.c:1952,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1953,1
    - Dst: set_fallback_pubkey
      Src: /src/openssl/apps/cmp.c:1959,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1964,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1965,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1970,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1976,1
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/cmp.c:1978,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/apps/cmp.c:1981,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/apps/cmp.c:1986,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/cmp.c:1988,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/cmp.c:1989,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/apps/cmp.c:1991,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1992,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/apps/cmp.c:1996,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1997,1
    - Dst: OSSL_CMP_CTX_set0_reqExtensions
      Src: /src/openssl/apps/cmp.c:2000,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/cmp.c:2002,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/apps/cmp.c:2005,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2006,1
    - Dst: set_gennames
      Src: /src/openssl/apps/cmp.c:2009,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2014,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2015,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2021,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2022,1
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:2028,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cmp.c:2030,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2031,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/cmp.c:2034,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2035,1
    - Dst: POLICYINFO_new
      Src: /src/openssl/apps/cmp.c:2037,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/cmp.c:2038,1
    - Dst: OSSL_CMP_CTX_push0_policy
      Src: /src/openssl/apps/cmp.c:2043,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2044,1
    - Dst: POLICYINFO_free
      Src: /src/openssl/apps/cmp.c:2045,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2051,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2055,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2057,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2062,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:2064,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:2072,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2077,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/apps/cmp.c:2079,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/cmp.c:2080,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 262
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 1760
    functionDepth: 7
    functionLinenumber: 1760
    functionLinenumberEnd: 2082
    functionName: setup_request_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set0_reqExtensions
    - OSSL_CMP_CTX_set_option
    - ERR_clear_error
    - CMP_warn
    - setup_cert
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - X509V3_EXT_add_nconf_sk
    - X509V3_set_nconf
    - ASN1_OBJECT_free
    - OSSL_CMP_CTX_set1_p10CSR
    - CMP_warn2
    - load_pubkey_pwd
    - CMP_info
    - set_gennames
    - cleanse
    - POLICYINFO_new
    - sk_X509_EXTENSION_pop_free
    - CMP_warn1
    - OSSL_CMP_CTX_set0_newPkey
    - OBJ_obj2nid
    - OBJ_txt2obj
    - EVP_PKEY_free
    - load_key_pwd
    - set_fallback_pubkey
    - CMP_err1
    - X509_REQ_free
    - OSSL_CMP_CTX_push0_policy
    - sk_X509_EXTENSION_new_null
    - ASN1_INTEGER_free
    - set_name
    - s2i_ASN1_INTEGER
    - CMP_err
    - X509V3_set_ctx
    - OSSL_CMP_CTX_set1_serialNumber
    - POLICYINFO_free
    - load_csr_autofmt
    - next_item
    linkageType: ''
    returnType: int
    signature: int setup_request_ctx(OSSL_CMP_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:2087,1
    - Dst: sk_ASN1_UTF8STRING_new_reserve
      Src: /src/openssl/apps/cmp.c:2093,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/apps/cmp.c:2095,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/cmp.c:2097,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2097,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/apps/cmp.c:2098,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/apps/cmp.c:2102,1
    - Dst: OSSL_CMP_ITAV_new0_certProfile
      Src: /src/openssl/apps/cmp.c:2103,1
    - Dst: OSSL_CMP_CTX_push0_geninfo_ITAV
      Src: /src/openssl/apps/cmp.c:2105,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/cmp.c:2107,1
    - Dst: sk_ASN1_UTF8STRING_pop_free
      Src: /src/openssl/apps/cmp.c:2111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2084
    functionDepth: 2
    functionLinenumber: 2084
    functionLinenumberEnd: 2113
    functionName: add_certProfile
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ASN1_STRING_free
    - OSSL_CMP_ITAV_new0_certProfile
    - OSSL_CMP_ITAV_free
    - sk_ASN1_UTF8STRING_new_reserve
    - sk_ASN1_UTF8STRING_pop_free
    - OSSL_CMP_CTX_push0_geninfo_ITAV
    - STACK_OF
    - ASN1_UTF8STRING_new
    - strlen
    - sk_ASN1_UTF8STRING_push
    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:2126,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:2126,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:2129,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2130,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cmp.c:2134,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2135,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/cmp.c:2138,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2139,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/apps/cmp.c:2140,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/apps/cmp.c:2143,1
    - Dst: strtol
      Src: /src/openssl/apps/cmp.c:2144,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2146,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2152,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/cmp.c:2159,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/apps/cmp.c:2160,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/apps/cmp.c:2162,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/apps/cmp.c:2165,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:2166,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2168,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/apps/cmp.c:2171,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/cmp.c:2172,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/apps/cmp.c:2175,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2179,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/apps/cmp.c:2183,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2184,1
    - Dst: OSSL_CMP_CTX_push0_geninfo_ITAV
      Src: /src/openssl/apps/cmp.c:2190,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2191,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/cmp.c:2192,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2199,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/cmp.c:2201,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/cmp.c:2202,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/cmp.c:2203,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/apps/cmp.c:2204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2115
    functionDepth: 7
    functionLinenumber: 2115
    functionLinenumberEnd: 2206
    functionName: handle_opt_geninfo
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - ASN1_INTEGER_new
    - OSSL_CMP_ITAV_free
    - _UC
    - ASN1_UTF8STRING_free
    - isspace
    - ASN1_TYPE_free
    - ASN1_OBJECT_free
    - OSSL_CMP_ITAV_create
    - CMP_warn1
    - ASN1_TYPE_new
    - OBJ_obj2nid
    - OBJ_txt2obj
    - OSSL_CMP_CTX_push0_geninfo_ITAV
    - ASN1_UTF8STRING_new
    - ASN1_INTEGER_set
    - CMP_err1
    - ASN1_TYPE_set
    - strchr
    - ASN1_INTEGER_free
    - CMP_err
    - strtol
    - CHECK_AND_SKIP_CASE_PREFIX
    - strlen
    linkageType: ''
    returnType: int
    signature: int handle_opt_geninfo(OSSL_CMP_CTX *ctx)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/openssl/apps/cmp.c:2227,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2231,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2235,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2242,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2244,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/cmp.c:2247,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2249,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2253,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2256,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2259,1
    - Dst: OSSL_CMP_CTX_set1_server
      Src: /src/openssl/apps/cmp.c:2262,1
    - Dst: OSSL_CMP_CTX_set_serverPort
      Src: /src/openssl/apps/cmp.c:2263,1
    - Dst: OSSL_CMP_CTX_set1_proxy
      Src: /src/openssl/apps/cmp.c:2265,1
    - Dst: OSSL_CMP_CTX_set1_no_proxy
      Src: /src/openssl/apps/cmp.c:2267,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2269,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/apps/cmp.c:2273,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2275,1
    - Dst: OSSL_CMP_CTX_set1_serverPath
      Src: /src/openssl/apps/cmp.c:2280,1
    - Dst: transform_opts
      Src: /src/openssl/apps/cmp.c:2282,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2287,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2289,1
    - Dst: strncat
      Src: /src/openssl/apps/cmp.c:2293,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2293,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/apps/cmp.c:2294,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2295,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2303,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2305,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2307,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2309,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2315,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2317,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2320,1
    - Dst: setup_verification_ctx
      Src: /src/openssl/apps/cmp.c:2323,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2327,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2331,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2336,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2339,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2345,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2348,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/openssl/apps/cmp.c:2351,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2360,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2363,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/cmp.c:2368,1
    - Dst: APP_HTTP_TLS_INFO_free
      Src: /src/openssl/apps/cmp.c:2370,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/openssl/apps/cmp.c:2370,1
    - Dst: OSSL_CMP_CTX_set_http_cb_arg
      Src: /src/openssl/apps/cmp.c:2371,1
    - Dst: setup_ssl_ctx
      Src: /src/openssl/apps/cmp.c:2372,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/cmp.c:2375,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/apps/cmp.c:2379,1
    - Dst: OSSL_CMP_CTX_set_http_cb
      Src: /src/openssl/apps/cmp.c:2383,1
    - Dst: setup_protection_ctx
      Src: /src/openssl/apps/cmp.c:2387,1
    - Dst: setup_request_ctx
      Src: /src/openssl/apps/cmp.c:2390,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:2393,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:2394,1
    - Dst: handle_opt_geninfo
      Src: /src/openssl/apps/cmp.c:2398,1
    - Dst: add_certProfile
      Src: /src/openssl/apps/cmp.c:2400,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:2405,1
    - Dst: CMP_info3
      Src: /src/openssl/apps/cmp.c:2407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:2413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:2414,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:2415,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2418,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 174
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2214
    functionDepth: 10
    functionLinenumber: 2214
    functionLinenumberEnd: 2420
    functionName: setup_client_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err2
    - BIO_snprintf
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_set_http_cb_arg
    - OSSL_CMP_CTX_set1_serverPath
    - OPENSSL_zalloc
    - OPENSSL_free
    - CMP_warn
    - OSSL_CMP_CTX_set1_proxy
    - setup_ssl_ctx
    - OSSL_CMP_CTX_set1_server
    - OSSL_HTTP_adapt_proxy
    - CMP_info
    - setup_request_ctx
    - CMP_warn1
    - setup_protection_ctx
    - strcpy
    - handle_opt_geninfo
    - add_certProfile
    - CMP_err1
    - OSSL_CMP_CTX_get_http_cb_arg
    - OPENSSL_strdup
    - OBJ_sn2nid
    - strncat
    - setup_verification_ctx
    - APP_HTTP_TLS_INFO_free
    - OSSL_CMP_CTX_get_option
    - OSSL_CMP_CTX_set_http_cb
    - CMP_info3
    - set_name
    - CMP_err
    - OSSL_HTTP_parse_url
    - OSSL_CMP_CTX_set_serverPort
    - OSSL_CMP_CTX_set_transfer_cb
    - OSSL_CMP_CTX_set1_no_proxy
    - strlen
    - transform_opts
    linkageType: ''
    returnType: int
    signature: int setup_client_ctx(OSSL_CMP_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/cmp.c:2429,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/cmp.c:2430,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - cert
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2427
    functionDepth: 2
    functionLinenumber: 2427
    functionLinenumberEnd: 2437
    functionName: write_cert
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - i2d_X509_bio
    - PEM_write_bio_X509
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int write_cert(BIO *bio, X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2442,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/cmp.c:2447,1
    - Dst: i2d_X509_CRL_bio
      Src: /src/openssl/apps/cmp.c:2448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - crl
    argTypes:
    - BIO*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2439
    functionDepth: 2
    functionLinenumber: 2439
    functionLinenumberEnd: 2449
    functionName: write_crl
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - i2d_X509_CRL_bio
    - BIO_printf
    - PEM_write_bio_X509_CRL
    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:2506,1
    - Dst: BIO_new
      Src: /src/openssl/apps/cmp.c:2508,1
    - Dst: BIO_s_file
      Src: /src/openssl/apps/cmp.c:2508,1
    - Dst: BIO_write_filename
      Src: /src/openssl/apps/cmp.c:2509,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2510,1
    - Dst: write_crl
      Src: /src/openssl/apps/cmp.c:2514,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2515,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - crl
    - file
    - desc
    argTypes:
    - X509_CRL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2497
    functionDepth: 5
    functionLinenumber: 2497
    functionLinenumberEnd: 2523
    functionName: save_crl
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - CMP_err2
    - BIO_free
    - BIO_write_filename
    - write_crl
    - 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:2530,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - file
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2536
    functionName: delete_file
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - unlink
    - CMP_err2
    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:2545,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:2546,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:2548,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/cmp.c:2548,1
    - Dst: X509_add_cert
      Src: /src/openssl/apps/cmp.c:2550,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/cmp.c:2551,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:2554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cert
    - file
    - desc
    argTypes:
    - X509*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2538
    functionDepth: 2
    functionLinenumber: 2538
    functionLinenumberEnd: 2556
    functionName: save_cert_or_delete
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - sk_X509_new_null
    - save_free_certs
    - BIO_snprintf
    - X509_add_cert
    - sk_X509_free
    - delete_file
    - STACK_OF
    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:2562,1
    - Dst: save_crl
      Src: /src/openssl/apps/cmp.c:2562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crl
    - file
    - desc
    argTypes:
    - X509_CRL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2563
      start: 2558
    functionDepth: 6
    functionLinenumber: 2558
    functionLinenumberEnd: 2563
    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:2567,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2570,1
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/apps/cmp.c:2573,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2574,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2575,1
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:2578,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - file
    - tmpl
    argTypes:
    - char*
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2565
    functionDepth: 3
    functionLinenumber: 2565
    functionLinenumberEnd: 2582
    functionName: save_template
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    - BIO_free
    - CMP_info1
    - BIO_new_file
    - CMP_err1
    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:2586,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2589,1
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/apps/cmp.c:2593,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2594,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2595,1
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:2598,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - file
    - keyspec
    argTypes:
    - char*
    - OSSL_CMP_ATAVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2584
    functionDepth: 3
    functionLinenumber: 2584
    functionLinenumberEnd: 2602
    functionName: save_keyspec
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    - BIO_free
    - CMP_info1
    - BIO_new_file
    - CMP_err1
    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:2606,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/cmp.c:2609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2604
    functionDepth: 6
    functionLinenumber: 2604
    functionLinenumberEnd: 2613
    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:2618,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:2621,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/apps/cmp.c:2626,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/apps/cmp.c:2627,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2631,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/apps/cmp.c:2635,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2636,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:2639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - itavs
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2615
    functionDepth: 2
    functionLinenumber: 2615
    functionLinenumberEnd: 2643
    functionName: print_itavs
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_info
    - sk_OSSL_CMP_ITAV_value
    - i2t_ASN1_OBJECT
    - sk_OSSL_CMP_ITAV_num
    - OSSL_CMP_ITAV_get0_type
    - CMP_info2
    - CMP_err1
    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:2657,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:2657,1
    - Dst: CMP_warn3
      Src: /src/openssl/apps/cmp.c:2664,1
    - Dst: memcpy
      Src: /src/openssl/apps/cmp.c:2668,1
    - Dst: isspace
      Src: /src/openssl/apps/cmp.c:2672,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:2672,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - opt
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2647
    functionDepth: 1
    functionLinenumber: 2647
    functionLinenumberEnd: 2678
    functionName: prev_item
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - isspace
    - memcpy
    - CMP_warn3
    - _UC
    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:2685,1
    - Dst: prev_item
      Src: /src/openssl/apps/cmp.c:2687,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/cmp.c:2688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - src_conf
    - groups
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2681
    functionDepth: 2
    functionLinenumber: 2681
    functionLinenumberEnd: 2692
    functionName: conf_get_string
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strlen
    - prev_item
    - app_conf_try_string
    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:2698,1
    - Dst: strtol
      Src: /src/openssl/apps/cmp.c:2705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - conf_
    - groups
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2695
    functionDepth: 3
    functionLinenumber: 2695
    functionLinenumberEnd: 2711
    functionName: conf_get_number_e
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strtol
    - conf_get_string
    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:2730,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2734,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2735,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/cmp.c:2737,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/cmp.c:2737,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2747,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2748,1
    - Dst: conf_get_number_e
      Src: /src/openssl/apps/cmp.c:2760,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:2761,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/cmp.c:2765,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/cmp.c:2770,1
    - Dst: conf_get_string
      Src: /src/openssl/apps/cmp.c:2778,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:2780,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2785,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2794,1
    - Dst: conf_get_string
      Src: /src/openssl/apps/cmp.c:2802,1
    - Dst: opt_init
      Src: /src/openssl/apps/cmp.c:2806,1
    - Dst: opt_provider
      Src: /src/openssl/apps/cmp.c:2809,1
    - Dst: opt_next
      Src: /src/openssl/apps/cmp.c:2809,1
    - Dst: opt_verify
      Src: /src/openssl/apps/cmp.c:2810,1
    - Dst: opt_next
      Src: /src/openssl/apps/cmp.c:2810,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2811,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2822,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2718
    functionDepth: 4
    functionLinenumber: 2718
    functionLinenumberEnd: 2842
    functionName: read_config
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - CMP_err2
    - opt_init
    - BIO_snprintf
    - strcmp
    - opt_provider
    - opt_next
    - conf_get_number_e
    - OSSL_NELEM
    - opt_printf_stderr
    - opt_verify
    - OPENSSL_assert
    - ERR_clear_error
    - conf_get_string
    linkageType: ''
    returnType: int
    signature: int read_config(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/openssl/apps/cmp.c:2846,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2849,1
    - Dst: opt_flag
      Src: /src/openssl/apps/cmp.c:2850,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2853,1
    - Dst: opt_flag
      Src: /src/openssl/apps/cmp.c:2853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2844
    functionDepth: 1
    functionLinenumber: 2844
    functionLinenumberEnd: 2856
    functionName: opt_str
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - opt_arg
    - opt_flag
    - CMP_warn1
    linkageType: ''
    returnType: char
    signature: char *opt_str(void)
  - BBCount: 135
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/cmp.c:2863,1
    - Dst: opt_next
      Src: /src/openssl/apps/cmp.c:2865,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2870,1
    - Dst: opt_help
      Src: /src/openssl/apps/cmp.c:2873,1
    - Dst: set_verbosity
      Src: /src/openssl/apps/cmp.c:2879,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2879,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2884,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2887,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2890,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_int_arg
      Src: /src/openssl/apps/cmp.c:2900,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2902,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2907,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2910,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2917,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2920,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2923,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2926,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2929,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2932,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_str
      Src: /src/openssl/apps/cmp.c:2958,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2961,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2968,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2971,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2974,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2977,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2992,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2995,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2998,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3001,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3004,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3007,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3010,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3013,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3016,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3019,1
    - Dst: opt_verify
      Src: /src/openssl/apps/cmp.c:3023,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3027,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3030,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3033,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3036,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3039,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3042,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3045,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3048,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3054,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3057,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3060,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3063,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3066,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3072,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3075,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3081,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3084,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3089,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3092,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3101,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3104,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3107,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3110,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3114,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3119,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3122,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3125,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3128,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3131,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3134,1
    - Dst: opt_provider
      Src: /src/openssl/apps/cmp.c:3137,1
    - Dst: opt_rand
      Src: /src/openssl/apps/cmp.c:3141,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3149,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3152,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3158,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3161,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3164,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3167,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3175,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3178,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3182,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3185,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3188,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3191,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3194,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3197,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3200,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3203,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3206,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3209,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3212,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3215,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3218,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3221,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3224,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3227,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3230,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3233,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3236,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3242,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3245,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3248,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3251,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/cmp.c:3275,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 408
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 2859
    functionDepth: 2
    functionLinenumber: 2859
    functionLinenumberEnd: 3278
    functionName: get_opts
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - opt_check_rest_arg
    - opt_str
    - opt_init
    - opt_rand
    - CMP_err
    - set_verbosity
    - opt_provider
    - opt_next
    - opt_help
    - opt_int_arg
    - opt_verify
    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:3290,1
    - Dst: http_server_get_asn1_req
      Src: /src/openssl/apps/cmp.c:3297,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/cmp.c:3297,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/cmp.c:3303,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3316,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3316,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/cmp.c:3317,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3318,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3319,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:3320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3323,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/openssl/apps/cmp.c:3324,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:3325,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/cmp.c:3327,1
    - Dst: http_server_send_asn1_resp
      Src: /src/openssl/apps/cmp.c:3331,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/cmp.c:3333,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:3335,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/apps/cmp.c:3341,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/apps/cmp.c:3342,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3345,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cmp.c:3347,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cmp.c:3352,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cmp.c:3353,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - srv_cmp_ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3281
    functionDepth: 21
    functionLinenumber: 3281
    functionLinenumberEnd: 3355
    functionName: cmp_server
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_set1_transactionID
    - BIO_free_all
    - strcmp
    - http_server_get_asn1_req
    - OSSL_sleep
    - http_server_send_status
    - ASN1_ITEM_rptr
    - http_server_init
    - OSSL_CMP_CTX_server_perform
    - OSSL_CMP_CTX_get_status
    - http_server_send_asn1_resp
    - OSSL_CMP_CTX_set1_senderNonce
    - CMP_err1
    linkageType: ''
    returnType: int
    signature: int cmp_server(OSSL_CMP_CTX *srv_cmp_ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:3367,1
    - Dst: BIO_new
      Src: /src/openssl/apps/cmp.c:3371,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/cmp.c:3371,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3373,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3376,1
    - Dst: sk_OSSL_CMP_ATAV_num
      Src: /src/openssl/apps/cmp.c:3378,1
    - Dst: sk_OSSL_CMP_ATAV_value
      Src: /src/openssl/apps/cmp.c:3379,1
    - Dst: OSSL_CMP_ATAV_get0_type
      Src: /src/openssl/apps/cmp.c:3380,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/cmp.c:3381,1
    - Dst: OSSL_CMP_ATAV_get0_algId
      Src: /src/openssl/apps/cmp.c:3385,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cmp.c:3392,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/cmp.c:3396,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cmp.c:3397,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/cmp.c:3398,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cmp.c:3400,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cmp.c:3402,1
    - Dst: ASN1_item_print
      Src: /src/openssl/apps/cmp.c:3403,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/cmp.c:3404,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3408,1
    - Dst: OSSL_CMP_ATAV_get_rsaKeyLen
      Src: /src/openssl/apps/cmp.c:3409,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3412,1
    - Dst: nid_name
      Src: /src/openssl/apps/cmp.c:3412,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3416,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/apps/cmp.c:3418,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3420,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:3422,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:3423,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - keySpec
    argTypes:
    - OSSL_CMP_ATAVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3358
    functionDepth: 7
    functionLinenumber: 3358
    functionLinenumberEnd: 3425
    functionName: print_keyspec
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_CMP_ATAV_get_rsaKeyLen
    - nid_name
    - i2a_ASN1_OBJECT
    - BIO_new
    - CMP_info1
    - BIO_s_mem
    - sk_OSSL_CMP_ATAV_value
    - BIO_free
    - OSSL_CMP_ATAV_get0_type
    - OBJ_obj2nid
    - OSSL_CMP_ATAV_get0_algId
    - X509_ALGOR_get0
    - ASN1_item_print
    - ASN1_ITEM_rptr
    - CMP_err1
    - sk_OSSL_CMP_ATAV_num
    - BIO_printf
    - BIO_get_mem_data
    - CMP_info2
    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:3430,1
    - Dst: app_malloc
      Src: /src/openssl/apps/cmp.c:3431,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/apps/cmp.c:3432,1
    - Dst: CMP_print
      Src: /src/openssl/apps/cmp.c:3441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3427
    functionDepth: 3
    functionLinenumber: 3427
    functionLinenumberEnd: 3454
    functionName: print_status
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_print
    - OPENSSL_free
    - app_malloc
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_snprint_PKIStatus
    linkageType: ''
    returnType: void
    signature: void print_status(void)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:3459,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3462,1
    - Dst: OSSL_CMP_get1_caCerts
      Src: /src/openssl/apps/cmp.c:3466,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3471,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3472,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3473,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3486,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3490,1
    - Dst: load_cert_pwd
      Src: /src/openssl/apps/cmp.c:3492,1
    - Dst: OSSL_CMP_get1_rootCaKeyUpdate
      Src: /src/openssl/apps/cmp.c:3497,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:3503,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3505,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3507,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3509,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3511,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3515,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3516,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3517,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3519,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3528,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3532,1
    - Dst: load_cert_pwd
      Src: /src/openssl/apps/cmp.c:3537,1
    - Dst: load_crl
      Src: /src/openssl/apps/cmp.c:3544,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/cmp.c:3551,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/cmp.c:3551,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/cmp.c:3552,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3554,1
    - Dst: OSSL_CMP_get1_crlUpdate
      Src: /src/openssl/apps/cmp.c:3557,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:3561,1
    - Dst: save_crl_or_delete
      Src: /src/openssl/apps/cmp.c:3562,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3568,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/cmp.c:3569,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/cmp.c:3570,1
    - Dst: OSSL_CMP_get1_certReqTemplate
      Src: /src/openssl/apps/cmp.c:3578,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3582,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:3583,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:3586,1
    - Dst: save_template
      Src: /src/openssl/apps/cmp.c:3590,1
    - Dst: print_keyspec
      Src: /src/openssl/apps/cmp.c:3593,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3596,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:3597,1
    - Dst: save_keyspec
      Src: /src/openssl/apps/cmp.c:3599,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_free
      Src: /src/openssl/apps/cmp.c:3606,1
    - Dst: sk_OSSL_CMP_ATAV_pop_free
      Src: /src/openssl/apps/cmp.c:3607,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:3611,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3614,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/apps/cmp.c:3617,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/cmp.c:3617,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/apps/cmp.c:3618,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3619,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/apps/cmp.c:3625,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3626,1
    - Dst: print_itavs
      Src: /src/openssl/apps/cmp.c:3629,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/apps/cmp.c:3631,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3634,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3635,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 143
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3456
    functionDepth: 10
    functionLinenumber: 3456
    functionLinenumberEnd: 3638
    functionName: do_genm
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - save_cert_or_delete
    - X509_free
    - OSSL_CMP_exec_GENM_ses
    - delete_file
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    - OBJ_nid2obj
    - OSSL_CMP_get1_rootCaKeyUpdate
    - save_free_certs
    - CMP_warn
    - save_crl_or_delete
    - STACK_OF
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_create
    - OSSL_CRMF_CERTTEMPLATE_free
    - print_keyspec
    - CMP_info
    - OSSL_CMP_get1_certReqTemplate
    - save_template
    - CMP_warn1
    - save_keyspec
    - load_crl
    - sk_OSSL_CMP_ITAV_pop_free
    - X509_get_issuer_name
    - CMP_err1
    - OSSL_CMP_get1_caCerts
    - load_cert_pwd
    - X509_CRL_free
    - CMP_err
    - OSSL_CMP_CTX_get_status
    - sk_OSSL_CMP_ATAV_pop_free
    - print_itavs
    - OSSL_CMP_get1_crlUpdate
    linkageType: ''
    returnType: int
    signature: int do_genm(OSSL_CMP_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_appname
      Src: /src/openssl/apps/cmp.c:3644,1
    - Dst: opt_help
      Src: /src/openssl/apps/cmp.c:3646,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3653,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3655,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3658,1
    - Dst: set_verbosity
      Src: /src/openssl/apps/cmp.c:3661,1
    - Dst: atoi
      Src: /src/openssl/apps/cmp.c:3661,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3640
    functionDepth: 2
    functionLinenumber: 3640
    functionLinenumberEnd: 3668
    functionName: handle_opts_upfront
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - set_verbosity
    - atoi
    - opt_help
    - opt_appname
    linkageType: ''
    returnType: int
    signature: int handle_opts_upfront(int argc, char **argv)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: handle_opts_upfront
      Src: /src/openssl/apps/cmp.c:3677,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/cmp.c:3680,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3682,1
    - Dst: access
      Src: /src/openssl/apps/cmp.c:3690,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:3691,1
    - Dst: app_load_config
      Src: /src/openssl/apps/cmp.c:3693,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3697,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/cmp.c:3698,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:3699,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:3703,1
    - Dst: prev_item
      Src: /src/openssl/apps/cmp.c:3705,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/cmp.c:3706,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:3707,1
    - Dst: read_config
      Src: /src/openssl/apps/cmp.c:3712,1
    - Dst: set_verbosity
      Src: /src/openssl/apps/cmp.c:3713,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cmp.c:3717,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/cmp.c:3722,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/apps/cmp.c:3724,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:3724,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:3724,1
    - Dst: get_opts
      Src: /src/openssl/apps/cmp.c:3728,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/cmp.c:3733,1
    - Dst: set_base_ui_method
      Src: /src/openssl/apps/cmp.c:3737,1
    - Dst: UI_null
      Src: /src/openssl/apps/cmp.c:3737,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/apps/cmp.c:3739,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/apps/cmp.c:3740,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3741,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3750,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3752,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3756,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3760,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3764,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3768,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3774,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3778,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:3785,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:3787,1
    - Dst: defined
      Src: /src/openssl/apps/cmp.c:3790,1
    - Dst: defined
      Src: /src/openssl/apps/cmp.c:3790,1
    - Dst: setup_srv_ctx
      Src: /src/openssl/apps/cmp.c:3797,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/apps/cmp.c:3799,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/apps/cmp.c:3801,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/apps/cmp.c:3802,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3803,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/apps/cmp.c:3806,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:3808,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:3810,1
    - Dst: cmp_server
      Src: /src/openssl/apps/cmp.c:3814,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3827,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3831,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3836,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3841,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3845,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3847,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3849,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:3854,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3859,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3862,1
    - Dst: setup_client_ctx
      Src: /src/openssl/apps/cmp.c:3865,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3866,1
    - Dst: OSSL_CMP_exec_IR_ses
      Src: /src/openssl/apps/cmp.c:3873,1
    - Dst: OSSL_CMP_exec_KUR_ses
      Src: /src/openssl/apps/cmp.c:3878,1
    - Dst: OSSL_CMP_exec_CR_ses
      Src: /src/openssl/apps/cmp.c:3883,1
    - Dst: OSSL_CMP_exec_P10CR_ses
      Src: /src/openssl/apps/cmp.c:3888,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/openssl/apps/cmp.c:3893,1
    - Dst: do_genm
      Src: /src/openssl/apps/cmp.c:3896,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3900,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:3904,1
    - Dst: print_status
      Src: /src/openssl/apps/cmp.c:3909,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3910,1
    - Dst: OSSL_CMP_CTX_get0_validatedSrvCert
      Src: /src/openssl/apps/cmp.c:3910,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3916,1
    - Dst: OSSL_CMP_CTX_get1_extraCertsIn
      Src: /src/openssl/apps/cmp.c:3916,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:3921,1
    - Dst: OSSL_CMP_CTX_get1_newChain
      Src: /src/openssl/apps/cmp.c:3921,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3925,1
    - Dst: X509_add_cert
      Src: /src/openssl/apps/cmp.c:3926,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/apps/cmp.c:3927,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3930,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3933,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3934,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3937,1
    - Dst: OSSL_CMP_CTX_get1_caPubs
      Src: /src/openssl/apps/cmp.c:3937,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/openssl/apps/cmp.c:3946,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/cmp.c:3950,1
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:3953,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/cmp.c:3955,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:3955,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:3955,1
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:3958,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/cmp.c:3959,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:3964,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:3965,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cmp.c:3966,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/openssl/apps/cmp.c:3971,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3978,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3979,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3980,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3982,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3984,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3985,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3986,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/apps/cmp.c:3989,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/openssl/apps/cmp.c:3993,1
    - Dst: OSSL_CMP_CTX_set_http_cb_arg
      Src: /src/openssl/apps/cmp.c:3995,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/openssl/apps/cmp.c:3997,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/apps/cmp.c:3997,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:3998,1
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/openssl/apps/cmp.c:3998,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/apps/cmp.c:4000,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:4003,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:4004,1
    - Dst: APP_HTTP_TLS_INFO_free
      Src: /src/openssl/apps/cmp.c:4005,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/cmp.c:4009,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/cmp.c:4011,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/apps/cmp.c:4012,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 286
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 3670
    functionDepth: 23
    functionLinenumber: 3670
    functionLinenumberEnd: 4015
    functionName: cmp_main
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - print_status
    - OSSL_CMP_exec_P10CR_ses
    - OSSL_CMP_CTX_set_option
    - X509_VERIFY_PARAM_new
    - ERR_clear_error
    - PEM_write_bio_PrivateKey
    - CMP_warn
    - STACK_OF
    - X509_STORE_free
    - read_config
    - prev_item
    - cleanse
    - CMP_warn1
    - app_get0_libctx
    - OSSL_CMP_CTX_new
    - OSSL_CMP_CTX_set_log_verbosity
    - strcmp
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - get_passwd
    - CMP_err1
    - OSSL_CMP_CTX_get_http_cb_arg
    - OSSL_CMP_CTX_get1_caPubs
    - CMP_info2
    - OSSL_CMP_CTX_free
    - OSSL_CMP_CTX_get1_extraCertsIn
    - save_cert_or_delete
    - BIO_puts
    - X509_VERIFY_PARAM_free
    - app_load_config
    - app_RAND_load
    - set_base_ui_method
    - cmp_server
    - OSSL_CMP_CTX_reinit
    - CMP_info
    - clear_free
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - EVP_CIPHER_free
    - bio_open_owner
    - OSSL_CMP_exec_CR_ses
    - access
    - setup_client_ctx
    - set_verbosity
    - strlen
    - OSSL_CMP_exec_RR_ses
    - handle_opts_upfront
    - OSSL_CMP_exec_KUR_ses
    - save_free_certs
    - CMP_info1
    - do_genm
    - defined
    - OSSL_CMP_CTX_print_errors
    - get_opts
    - OSSL_CMP_log_close
    - CMP_err
    - X509_add_cert
    - OSSL_CMP_CTX_get_certConf_cb_arg
    - OSSL_CMP_CTX_get_status
    - NCONF_get_section
    - CMP_err2
    - OSSL_CMP_exec_IR_ses
    - OSSL_CMP_CTX_get0_validatedSrvCert
    - NCONF_free
    - OSSL_CMP_CTX_set_log_cb
    - ossl_cmp_mock_srv_free
    - setup_srv_ctx
    - OSSL_CMP_CTX_set_http_cb_arg
    - OSSL_CMP_CTX_get0_newPkey
    - OPENSSL_free
    - app_get0_propq
    - sk_X509_pop_free
    - BIO_free
    - BIO_flush
    - EVP_CIPHER_fetch
    - OSSL_CMP_CTX_get1_newChain
    - APP_HTTP_TLS_INFO_free
    - UI_null
    - OSSL_CMP_CTX_get_transfer_cb_arg
    linkageType: ''
    returnType: int
    signature: int cmp_main(int argc, char **argv)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/version.c:69,1
    - Dst: opt_next
      Src: /src/openssl/apps/version.c:70,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/version.c:75,1
    - Dst: opt_help
      Src: /src/openssl/apps/version.c:78,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/version.c:122,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:129,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:130,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:132,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:132,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:134,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:134,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:136,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:137,1
    - Dst: BN_options
      Src: /src/openssl/apps/version.c:137,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:138,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:141,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:141,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:143,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:143,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:145,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:145,1
    - Dst: OPENSSL_info
      Src: /src/openssl/apps/version.c:147,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:148,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:151,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:151,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:154,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:154,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 159
    functionName: version_main
    functionSourceFile: /src/openssl/apps/version.c
    functionUses: 0
    functionsReached:
    - OpenSSL_version
    - BIO_printf
    - BN_options
    - opt_init
    - printf
    - opt_next
    - OPENSSL_info
    - opt_check_rest_arg
    - opt_help
    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: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    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: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    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: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: OPENSSL_VPROC_FUNC
    functionSourceFile: /src/openssl/apps/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_VPROC_FUNC(void)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/dsa.c:102,1
    - Dst: opt_init
      Src: /src/openssl/apps/dsa.c:103,1
    - Dst: opt_next
      Src: /src/openssl/apps/dsa.c:104,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:110,1
    - Dst: opt_help
      Src: /src/openssl/apps/dsa.c:113,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: opt_format
      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:128,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:131,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:134,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/dsa.c:159,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dsa.c:162,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/dsa.c:169,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/dsa.c:172,1
    - Dst: app_passwd
      Src: /src/openssl/apps/dsa.c:176,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:177,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:181,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/dsa.c:183,1
    - Dst: load_key
      Src: /src/openssl/apps/dsa.c:185,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:188,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:189,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dsa.c:192,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:193,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/dsa.c:197,1
    - Dst: assert
      Src: /src/openssl/apps/dsa.c:202,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/dsa.c:203,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/dsa.c:204,1
    - Dst: perror
      Src: /src/openssl/apps/dsa.c:205,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:206,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dsa.c:214,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:218,1
    - Dst: BN_print
      Src: /src/openssl/apps/dsa.c:219,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:220,1
    - Dst: BN_free
      Src: /src/openssl/apps/dsa.c:221,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:228,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:237,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:242,1
    - Dst: assert
      Src: /src/openssl/apps/dsa.c:257,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/dsa.c:263,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/apps/dsa.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:266,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/dsa.c:272,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/dsa.c:272,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/dsa.c:276,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/dsa.c:276,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/dsa.c:279,1
    - Dst: strlen
      Src: /src/openssl/apps/dsa.c:281,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/apps/dsa.c:288,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/apps/dsa.c:289,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:290,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/dsa.c:295,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dsa.c:296,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:302,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/dsa.c:303,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dsa.c:304,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dsa.c:305,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/dsa.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dsa.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dsa.c:308,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 197
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (pubin || private)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/openssl/apps/dsa.c
    - condition: (private)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/openssl/apps/dsa.c
    constantsTouched: []
    func_position:
      end: 310
      start: 85
    functionDepth: 11
    functionLinenumber: 85
    functionLinenumberEnd: 310
    functionName: dsa_main
    functionSourceFile: /src/openssl/apps/dsa.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_ENCODER_to_bio
    - opt_set_unknown_name
    - opt_cipher
    - load_key
    - perror
    - EVP_PKEY_get_bn_param
    - OSSL_ENCODER_CTX_set_params
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - OSSL_ENCODER_CTX_get_num_encoders
    - EVP_CIPHER_get0_name
    - OPENSSL_free
    - load_pubkey
    - app_passwd
    - opt_provider
    - opt_check_rest_arg
    - OSSL_ENCODER_CTX_set_passphrase
    - EVP_PKEY_print_private
    - opt_init
    - EVP_PKEY_print_public
    - assert
    - EVP_PKEY_free
    - bio_open_owner
    - ERR_print_errors
    - EVP_PKEY_is_a
    - opt_help
    - get_ui_method
    - OSSL_ENCODER_CTX_set_cipher
    - EVP_CIPHER_free
    - opt_unknown
    - OSSL_PARAM_construct_int
    - BIO_printf
    - OSSL_ENCODER_CTX_free
    - opt_format
    - BIO_free_all
    - opt_arg
    - BN_free
    - opt_next
    - strlen
    - BN_print
    - OSSL_ENCODER_CTX_new_for_pkey
    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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: app_load_config
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 6
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    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:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    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: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    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: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    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: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    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:32,1
    - Dst: BN_check_prime
      Src: /src/openssl/apps/lib/tlssrp_depr.c:32,1
    - Dst: BN_rshift1
      Src: /src/openssl/apps/lib/tlssrp_depr.c:32,1
    - Dst: BN_check_prime
      Src: /src/openssl/apps/lib/tlssrp_depr.c:34,1
    - Dst: BN_mod_exp
      Src: /src/openssl/apps/lib/tlssrp_depr.c:36,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/lib/tlssrp_depr.c:36,1
    - Dst: BN_cmp
      Src: /src/openssl/apps/lib/tlssrp_depr.c:36,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:38,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:39,1
    - Dst: BN_CTX_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:40,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 2
    argNames:
    - N
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: srp_Verify_N_and_g
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - BN_rshift1
    - BN_CTX_new
    - BN_CTX_free
    - BN_mod_exp
    - BN_is_odd
    - BN_free
    - BN_cmp
    - BN_new
    - BN_add_word
    - 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:65,1
    - Dst: SSL_get_srp_g
      Src: /src/openssl/apps/lib/tlssrp_depr.c:65,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:68,1
    - Dst: BN_print
      Src: /src/openssl/apps/lib/tlssrp_depr.c:70,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:71,1
    - Dst: BN_print
      Src: /src/openssl/apps/lib/tlssrp_depr.c:72,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:73,1
    - Dst: SRP_check_known_gN_param
      Src: /src/openssl/apps/lib/tlssrp_depr.c:76,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:81,1
    - Dst: BN_num_bits
      Src: /src/openssl/apps/lib/tlssrp_depr.c:89,1
    - Dst: srp_Verify_N_and_g
      Src: /src/openssl/apps/lib/tlssrp_depr.c:89,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: ssl_srp_verify_param_cb
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - SSL_get_srp_g
    - BN_num_bits
    - srp_Verify_N_and_g
    - SSL_get_srp_N
    - SRP_check_known_gN_param
    - BN_print
    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:101,1
    - Dst: password_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:107,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: ssl_give_srp_client_pwd_cb
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - app_malloc
    - BIO_puts
    - password_callback
    - OPENSSL_free
    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:120,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:121,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/apps/lib/tlssrp_depr.c:126,1
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:127,1
    - Dst: SSL_CTX_set_srp_strength
      Src: /src/openssl/apps/lib/tlssrp_depr.c:128,1
    - Dst: SSL_CTX_set_srp_verify_param_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:130,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: 133
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: set_up_srp_arg
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - SSL_CTX_set_srp_cb_arg
    - SSL_CTX_set_srp_username
    - SSL_CTX_set_srp_verify_param_callback
    - SSL_CTX_set_srp_client_pwd_callback
    - SSL_CTX_set_srp_strength
    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: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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:159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:165,1
    - Dst: SSL_set_srp_server_param
      Src: /src/openssl/apps/lib/tlssrp_depr.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:175,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 185
    functionName: ssl_srp_server_param_cb
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - SSL_set_srp_server_param
    - BIO_printf
    - SRP_user_pwd_free
    - SSL_get_srp_username
    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:192,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:197,1
    - Dst: SRP_VBASE_init
      Src: /src/openssl/apps/lib/tlssrp_depr.c:200,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:203,1
    - Dst: SRP_VBASE_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:206,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/lib/tlssrp_depr.c:210,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/apps/lib/tlssrp_depr.c:211,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - srp_callback_parm
    - srpuserseed
    - srp_verifier_file
    argTypes:
    - SSL_CTX*
    - srpsrvparm*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 8
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: set_up_srp_verifier_file
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_verify
    - BIO_puts
    - BIO_printf
    - SSL_CTX_set_srp_cb_arg
    - SRP_VBASE_free
    - SRP_VBASE_init
    - SSL_CTX_set_srp_username_callback
    - SRP_VBASE_new
    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:219,1
    - Dst: SRP_VBASE_get1_by_user
      Src: /src/openssl/apps/lib/tlssrp_depr.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:224,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/tlssrp_depr.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - srp_callback_parm
    - bio_s_out
    argTypes:
    - srpsrvparm*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 11
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: lookup_srp_user
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 4
    functionsReached:
    - BIO_puts
    - SRP_VBASE_get1_by_user
    - BIO_printf
    - SRP_user_pwd_free
    linkageType: ''
    returnType: void
    signature: void lookup_srp_user(srpsrvparm *srp_callback_parm, BIO *bio_s_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:232,1
    - Dst: SRP_VBASE_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - srp_callback_parm
    argTypes:
    - srpsrvparm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: cleanup_srp
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached:
    - SRP_VBASE_free
    - SRP_user_pwd_free
    linkageType: ''
    returnType: void
    signature: void cleanup_srp(srpsrvparm *srp_callback_parm)
  - 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: 1
    functionLinenumber: 22
    functionLinenumberEnd: 72
    functionName: copy_argv
    functionSourceFile: /src/openssl/apps/lib/vms_decc_argv.c
    functionUses: 2
    functionsReached:
    - cleanup_argv
    - OPENSSL_atexit
    - OPENSSL_malloc_array
    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:
    - OPENSSL_strdup
    - BIO_printf
    - RAND_load_file
    - app_conf_try_string
    - ERR_print_errors
    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:
    - BIO_printf
    - RAND_load_file
    - ERR_print_errors
    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_free
    - sk_OPENSSL_STRING_num
    - loadfiles
    - sk_OPENSSL_STRING_value
    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_puts
      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:
    - OPENSSL_free
    - BIO_puts
    - RAND_write_file
    - ERR_print_errors
    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:109,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/lib/app_rand.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_rand.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_rand.c:115,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/app_rand.c:116,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_rand.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: opt_rand
    functionSourceFile: /src/openssl/apps/lib/app_rand.c
    functionUses: 24
    functionsReached:
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_push
    - OPENSSL_free
    - sk_OPENSSL_STRING_new_null
    - 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:77,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:77,1
    - Dst: tolower
      Src: /src/openssl/apps/lib/opt.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: opt_progname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - tolower
    - strlen
    - opt_path_end
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *opt_progname(const char *argv0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    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:109,1
    - Dst: strrchr
      Src: /src/openssl/apps/lib/opt.c:110,1
    - Dst: strncpy
      Src: /src/openssl/apps/lib/opt.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    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:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    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:138,1
    - Dst: strncpy
      Src: /src/openssl/apps/lib/opt.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: opt_progname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - 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:148,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/opt.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: opt_appname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - strlen
    - BIO_snprintf
    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: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: opt_getprog
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opt_getprog(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: opt_begin
      Src: /src/openssl/apps/lib/opt.c:166,1
    - Dst: opt_progname
      Src: /src/openssl/apps/lib/opt.c:170,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:187,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:189,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:191,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:214,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:223,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:225,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:227,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:232,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:233,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:235,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - ac
    - av
    - o
    argTypes:
    - int
    - char**
    - OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 239
    functionName: opt_init
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 57
    functionsReached:
    - opt_progname
    - strcmp
    - opt_begin
    - opt_printf_stderr
    - OPENSSL_assert
    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: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    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:265,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:268,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    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: 35
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:279,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:284,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:284,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:285,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:285,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:287,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:296,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:302,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:308,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:309,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:309,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:310,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:316,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:322,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:328,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:333,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:338,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:338,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:340,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:342,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:342,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:344,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:346,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:346,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:347,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:347,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:349,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:352,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 81
    argCount: 3
    argNames:
    - s
    - flags
    - result
    argTypes:
    - char*
    - unsigned long
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 358
    functionName: opt_format
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 26
    functionsReached:
    - opt_format_error
    - strcmp
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_format(const char *s, unsigned long flags, int *result)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 385
    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:390,1
    - Dst: format2str
      Src: /src/openssl/apps/lib/opt.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - flags
    argTypes:
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 391
    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:401,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/lib/opt.c:402,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/opt.c:402,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/opt.c:403,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/opt.c:405,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/lib/opt.c:407,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/lib/opt.c:410,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/opt.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 397
    functionDepth: 4
    functionLinenumber: 397
    functionLinenumberEnd: 416
    functionName: opt_cipher_silent
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - app_get0_libctx
    - app_get0_propq
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ERR_set_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:424,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 427
    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:437,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/apps/lib/opt.c:438,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/apps/lib/opt.c:439,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:441,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:443,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: opt_cipher
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 9
    functionsReached:
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_get_flags
    - opt_cipher_any
    - opt_printf_stderr
    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:462,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/lib/opt.c:463,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/opt.c:463,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/opt.c:463,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/opt.c:464,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/lib/opt.c:466,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/lib/opt.c:469,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/opt.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - name
    - mdp
    argTypes:
    - char*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 458
    functionDepth: 10
    functionLinenumber: 458
    functionLinenumberEnd: 475
    functionName: opt_md_silent
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - app_get0_libctx
    - EVP_MD_fetch
    - app_get0_propq
    - EVP_MD_free
    - ERR_set_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:483,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - mdp
    argTypes:
    - char*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 11
    functionLinenumber: 477
    functionLinenumberEnd: 487
    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:491,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/opt.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 12
    functionLinenumber: 489
    functionLinenumberEnd: 495
    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:503,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:507,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - name
    - pairs
    - result
    argTypes:
    - char*
    - OPT_PAIR*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 511
    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:519,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:521,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - options
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 525
    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:532,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 541
    functionName: opt_int
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 7
    functionsReached:
    - opt_long
    - opt_printf_stderr
    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:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: opt_int_arg
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 17
    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:564,1
    - Dst: strncmp
      Src: /src/openssl/apps/lib/opt.c:565,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:565,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:566,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 573
    functionName: opt_number_error
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - OSSL_NELEM
    - opt_printf_stderr
    linkageType: ''
    returnType: void
    signature: void opt_number_error(const char *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/openssl/apps/lib/opt.c:583,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 595
    functionName: opt_long
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 5
    functionsReached:
    - opt_number_error
    - strtol
    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:
    - opt_number_error
    - strtoimax
    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:
    - strtoumax
    - opt_number_error
    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: opt_int_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: opt_int_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:813,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:816,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:819,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:822,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:825,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:828,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:831,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:834,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:837,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:840,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:843,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:846,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:849,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:852,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:855,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:858,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:861,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 136
    argCount: 2
    argNames:
    - opt
    - vpm
    argTypes:
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 709
    functionDepth: 7
    functionLinenumber: 709
    functionLinenumberEnd: 865
    functionName: opt_verify
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 9
    functionsReached:
    - opt_intmax
    - X509_VERIFY_PARAM_lookup
    - opt_int_arg
    - X509_PURPOSE_get_id
    - X509_VERIFY_PARAM_add0_policy
    - X509_VERIFY_PARAM_set_flags
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set1_host
    - opt_printf_stderr
    - ASN1_OBJECT_free
    - OPENSSL_assert
    - X509_VERIFY_PARAM_set1
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_PURPOSE_get0
    - X509_VERIFY_PARAM_set_auth_level
    - OBJ_txt2obj
    - X509_PURPOSE_get_by_sname
    - X509_VERIFY_PARAM_set_depth
    - X509_VERIFY_PARAM_set_time
    - X509_VERIFY_PARAM_set_purpose
    - opt_arg
    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: 872
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 872
    functionName: opt_begin
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opt_begin(void)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:900,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/opt.c:909,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:913,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:913,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:914,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:920,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:930,1
    - Dst: opt_isdir
      Src: /src/openssl/apps/lib/opt.c:948,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:950,1
    - Dst: opt_int
      Src: /src/openssl/apps/lib/opt.c:961,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:964,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:969,1
    - Dst: opt_intmax
      Src: /src/openssl/apps/lib/opt.c:975,1
    - Dst: opt_uintmax
      Src: /src/openssl/apps/lib/opt.c:979,1
    - Dst: opt_long
      Src: /src/openssl/apps/lib/opt.c:983,1
    - Dst: opt_ulong
      Src: /src/openssl/apps/lib/opt.c:987,1
    - Dst: opt_format
      Src: /src/openssl/apps/lib/opt.c:995,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1001,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1011,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1018,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 1020
    functionName: opt_next
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 90
    functionsReached:
    - strchr
    - opt_format
    - opt_ulong
    - strcmp
    - opt_isdir
    - opt_intmax
    - opt_uintmax
    - opt_printf_stderr
    - opt_long
    - opt_int
    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: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    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: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    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: 1038
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    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: 1044
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    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: 1050
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    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:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1061
    functionName: opt_num_rest
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 18
    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:1065,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1070,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1077,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/lib/opt.c:1080,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1081,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1083,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/lib/opt.c:1084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - expected
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1086
    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: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - o
    argTypes:
    - OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1125
    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:1139,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1142,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1143,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1146,1
    - Dst: memset
      Src: /src/openssl/apps/lib/opt.c:1151,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1157,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1164,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1167,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1171,1
    - Dst: valtype2param
      Src: /src/openssl/apps/lib/opt.c:1171,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1176,1
    - Dst: memset
      Src: /src/openssl/apps/lib/opt.c:1177,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - o
    - doingparams
    - width
    argTypes:
    - OPTIONS*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1185
    functionName: opt_print
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - valtype2param
    - memset
    - opt_printf_stderr
    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:1201,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:1203,1
    - Dst: valtype2param
      Src: /src/openssl/apps/lib/opt.c:1203,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1213,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1215,1
    - Dst: opt_print
      Src: /src/openssl/apps/lib/opt.c:1222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - list
    argTypes:
    - OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1187
    functionDepth: 2
    functionLinenumber: 1187
    functionLinenumberEnd: 1224
    functionName: opt_help
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 57
    functionsReached:
    - opt_print
    - strlen
    - opt_printf_stderr
    - valtype2param
    linkageType: ''
    returnType: void
    signature: void opt_help(const OPTIONS *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:1233,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/apps/lib/opt.c:1240,1
    - Dst: GetFileAttributes
      Src: /src/openssl/apps/lib/opt.c:1245,1
    - Dst: GetFileAttributes
      Src: /src/openssl/apps/lib/opt.c:1247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1252
    functionName: opt_isdir
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - GetFileAttributes
    - strlen
    - MultiByteToWideChar
    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: 1258
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1258
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    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: 1260
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1260
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/apps/lib/opt.c:1268,1
    - Dst: S_ISDIR
      Src: /src/openssl/apps/lib/opt.c:1269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1275
    functionName: opt_isdir
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - S_ISDIR
    - stat
    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: 113
    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:111,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:118,1
    - Dst: malloc
      Src: /src/openssl/apps/lib/win32_init.c:121,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:126,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:129,1
    - Dst: FindNextFileW
      Src: /src/openssl/apps/lib/win32_init.c:133,1
    - Dst: CloseHandle
      Src: /src/openssl/apps/lib/win32_init.c:135,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - wstr
    - wlen
    argTypes:
    - WCHAR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 138
    functionName: process_glob
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 0
    functionsReached:
    - FindNextFileW
    - FindFirstFileW
    - CloseHandle
    - validate_argv
    - malloc
    - WideCharToMultiByte
    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:147,1
    - Dst: validate_argv
      Src: /src/openssl/apps/lib/win32_init.c:152,1
    - Dst: GetCommandLineW
      Src: /src/openssl/apps/lib/win32_init.c:155,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: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 301
    functionName: win32_utf8argv
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 2
    functionsReached:
    - wcslen
    - process_glob
    - malloc
    - atexit
    - GetCommandLineW
    - free
    - validate_argv
    - GetConsoleOutputCP
    - memcpy
    - WideCharToMultiByte
    - SetConsoleOutputCP
    - GetEnvironmentVariableW
    - _alloca
    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: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    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: 3
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: opt_printf_stderr
    functionSourceFile: /src/openssl/apps/lib/apps_opt_printf.c
    functionUses: 19
    functionsReached:
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int opt_printf_stderr(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:44,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:45,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:46,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:47,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:48,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mock_srv_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: mock_srv_ctx_free
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_PKISI_free
    - X509_free
    - OSSL_STACK_OF_X509_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:55,1
    - Dst: OSSL_CMP_PKISI_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:60,1
    - Dst: mock_srv_ctx_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 71
    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: 90
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 90
    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:96,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:99,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:102,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:104,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: 107
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: ossl_cmp_mock_srv_set1_keyOut
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_up_ref
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - 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:112,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:115,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:118,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:120,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: 123
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: ossl_cmp_mock_srv_set1_crlOut
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - X509_CRL_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    - X509_CRL_up_ref
    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:166,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:170,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:173,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:175,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: 178
      start: 163
    functionDepth: 6
    functionLinenumber: 163
    functionLinenumberEnd: 178
    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_PKISI_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - 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:182,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - bodytype
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 191
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - bodytype
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: ossl_cmp_mock_srv_set_useBadProtection
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_mock_srv_set_useBadProtection(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:208,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - srv_ctx
    - count
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 220
    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:224,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - sec
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    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:237,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:241,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:259,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: 264
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 264
    functionName: delayed_delivery
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    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:275,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:276,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:277,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - refcert
    - issuer
    - serial
    argTypes:
    - X509*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: refcert_cmp
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_cmp
    - X509_NAME_cmp
    - X509_get_issuer_name
    - X509_get0_serialNumber
    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:285,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:288,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:293,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: 296
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: clean_transaction
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_MSG_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    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:307,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:314,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:319,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:329,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:331,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:338,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:339,1
    - Dst: OSSL_CMP_HDR_get0_geninfo_ITAVs
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:339,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:339,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:342,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:343,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:344,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:345,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:350,1
    - Dst: OSSL_CMP_ITAV_get0_certProfile
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:351,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:354,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:357,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:359,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:360,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:363,1
    - Dst: memcmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:365,1
    - Dst: OSSL_CRMF_MSG_get0_regCtrl_oldCertID
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:376,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:379,1
    - Dst: refcert_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:382,1
    - Dst: OSSL_CRMF_CERTID_get0_issuer
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:383,1
    - Dst: OSSL_CRMF_CERTID_get0_serialNumber
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:384,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:385,1
    - Dst: X509_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:391,1
    - Dst: OSSL_CRMF_MSG_centralkeygen_requested
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:395,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:400,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:401,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:401,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:403,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:412,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:415,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:418,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:423,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:425,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:427,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    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: 430
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 430
    functionName: process_cert_request
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_ITAV_get0_certProfile
    - X509_free
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_MSG_get_bodytype
    - sk_OSSL_CMP_ITAV_value
    - OSSL_CRMF_CERTID_get0_issuer
    - X509_chain_up_ref
    - ERR_raise
    - ASN1_STRING_length
    - STACK_OF
    - ASN1_STRING_get0_data
    - sk_ASN1_UTF8STRING_value
    - OSSL_CMP_HDR_get0_geninfo_ITAVs
    - OSSL_CMP_CTX_set0_newPkey
    - OSSL_CMP_PKISI_dup
    - X509_dup
    - refcert_cmp
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OBJ_obj2nid
    - OSSL_CRMF_CERTID_get0_serialNumber
    - sk_OSSL_CMP_ITAV_num
    - EVP_PKEY_free
    - OSSL_CRMF_MSG_get0_regCtrl_oldCertID
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_STATUSINFO_new
    - OSSL_STACK_OF_X509_free
    - sk_ASN1_UTF8STRING_num
    - EVP_PKEY_dup
    - OSSL_CRMF_MSG_centralkeygen_requested
    - OSSL_CMP_ITAV_get0_type
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - memcmp
    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:437,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:440,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:445,1
    - Dst: refcert_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:452,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:453,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:457,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: 458
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 458
    functionName: process_rr
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - ERR_raise_data
    - OSSL_CMP_PKISI_dup
    - refcert_cmp
    - ERR_raise
    - 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:469,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:470,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:476,1
    - Dst: OSSL_CMP_CRLSTATUS_get0
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:477,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:481,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:486,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:491,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:497,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - crlStatusList
    - crl
    argTypes:
    - STACK_OF*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 461
    functionDepth: 8
    functionLinenumber: 461
    functionLinenumberEnd: 498
    functionName: check_client_crl
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    - ASN1_TIME_compare
    - sk_OSSL_CMP_CRLSTATUS_num
    - ERR_raise
    - sk_OSSL_CMP_CRLSTATUS_value
    - OSSL_CMP_CRLSTATUS_get0
    - sk_GENERAL_NAME_value
    - X509_CRL_get0_lastUpdate
    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:507,1
    - Dst: OSSL_CMP_ITAV_get0_rootCaCert
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:512,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:516,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:516,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:517,1
    - Dst: OSSL_CMP_ITAV_new_rootCaKeyUpdate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:520,1
    - Dst: OSSL_CMP_ITAV_new_rootCaKeyUpdate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:522,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:527,1
    - Dst: OSSL_CMP_ITAV_get0_crlStatusList
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:530,1
    - Dst: check_client_crl
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:533,1
    - Dst: OSSL_CMP_ITAV_new_crls
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:537,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:546,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:549,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:550,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:554,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:557,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:557,1
    - Dst: OSSL_CMP_ATAV_new_algId
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:560,1
    - Dst: OSSL_CMP_ATAV_new_rsaKeyLen
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:561,1
    - Dst: OSSL_CMP_ATAV_push1
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:562,1
    - Dst: OSSL_CMP_ATAV_push1
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:563,1
    - Dst: OSSL_CMP_ATAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:564,1
    - Dst: OSSL_CMP_ATAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:565,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:566,1
    - Dst: OSSL_CMP_ITAV_new0_certReqTemplate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:571,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:575,1
    - Dst: OSSL_CMP_ATAVS_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:576,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:580,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: 583
      start: 500
    functionDepth: 13
    functionLinenumber: 500
    functionLinenumberEnd: 583
    functionName: process_genm_itav
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - check_client_crl
    - OSSL_CMP_ATAV_new_rsaKeyLen
    - OSSL_CMP_ITAV_new0_certReqTemplate
    - OSSL_CMP_ITAV_get0_rootCaCert
    - OSSL_CMP_ITAV_dup
    - OSSL_CMP_ITAV_get0_crlStatusList
    - X509_NAME_cmp
    - OBJ_nid2obj
    - OSSL_CMP_ATAV_push1
    - OSSL_CMP_ATAV_free
    - OSSL_CRMF_CERTTEMPLATE_fill
    - STACK_OF
    - X509_get_subject_name
    - X509_ALGOR_free
    - OSSL_CMP_ITAV_new_crls
    - OSSL_CRMF_CERTTEMPLATE_free
    - OSSL_CRMF_CERTTEMPLATE_new
    - OSSL_CMP_ATAV_new_algId
    - X509_ALGOR_set0
    - OSSL_CMP_ITAV_new_rootCaKeyUpdate
    - OSSL_CMP_ITAV_new_caCerts
    - X509_get_issuer_name
    - X509_ALGOR_new
    - OSSL_CMP_ATAVS_free
    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:590,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:593,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:597,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:598,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:599,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:602,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:603,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:604,1
    - Dst: sk_OSSL_CMP_ITAV_new_reserve
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:606,1
    - Dst: process_genm_itav
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:608,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:608,1
    - Dst: sk_OSSL_CMP_ITAV_push
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:609,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:611,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:612,1
    - Dst: sk_OSSL_CMP_ITAV_deep_copy
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    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: 619
      start: 585
    functionDepth: 14
    functionLinenumber: 585
    functionLinenumberEnd: 619
    functionName: process_genm
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - process_genm_itav
    - sk_OSSL_CMP_ITAV_value
    - OSSL_CMP_ITAV_free
    - ERR_raise
    - sk_OSSL_CMP_ITAV_new_reserve
    - OBJ_obj2nid
    - sk_OSSL_CMP_ITAV_push
    - sk_OSSL_CMP_ITAV_free
    - sk_OSSL_CMP_ITAV_num
    - OSSL_CMP_ITAV_get0_type
    - sk_OSSL_CMP_ITAV_deep_copy
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    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:626,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:632,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:636,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:639,1
    - Dst: OSSL_CMP_snprint_PKIStatusInfo
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:641,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:642,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:647,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:649,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:649,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:651,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:652,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:654,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:655,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:657,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:658,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:659,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:662,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: 664
      start: 621
    functionDepth: 6
    functionLinenumber: 621
    functionLinenumberEnd: 664
    functionName: process_error
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ASN1_INTEGER_get
    - ASN1_STRING_print_ex
    - sk_ASN1_UTF8STRING_num
    - ERR_raise
    - OSSL_CMP_snprint_PKIStatusInfo
    - sk_ASN1_UTF8STRING_value
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    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:672,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:676,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:680,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:682,1
    - Dst: X509_digest_sig
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:686,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:688,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:689,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:690,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:693,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: 695
      start: 666
    functionDepth: 11
    functionLinenumber: 666
    functionLinenumberEnd: 695
    functionName: process_certConf
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - OSSL_CMP_MSG_get_bodytype
    - ASN1_OCTET_STRING_free
    - X509_digest_sig
    - ERR_raise
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    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:703,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:709,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:714,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:715,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:719,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: 732
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 732
    functionName: process_pollReq
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:737,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:738,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:741,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 734
    functionDepth: 21
    functionLinenumber: 734
    functionLinenumberEnd: 751
    functionName: ossl_cmp_mock_server_perform
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_server_perform
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_CTX_get_transfer_cb_arg
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_mock_server_perform(OSSL_CMP_CTX *ctx,\n    const
      OSSL_CMP_MSG *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:755,1
    - Dst: mock_srv_ctx_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:756,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:759,1
    - Dst: OSSL_CMP_SRV_CTX_init_trans
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:762,1
    - Dst: mock_srv_ctx_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:766,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 753
    functionDepth: 13
    functionLinenumber: 753
    functionLinenumberEnd: 769
    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
    - OSSL_CMP_SRV_CTX_free
    - mock_srv_ctx_free
    - mock_srv_ctx_new
    - OSSL_CMP_SRV_CTX_init_trans
    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:774,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:774,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 7
    functionLinenumber: 771
    functionLinenumberEnd: 776
    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: 48
    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: 66
    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: 2
    functionsReached:
    - app_provider_load
    - OSSL_LIB_CTX_new
    - opt_printf_stderr
    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: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    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:149,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/vms_term_sock.c:150,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
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:161,1
    - Dst: recv
      Src: /src/openssl/apps/lib/vms_term_sock.c:162,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:164,1
    - Dst: TerminalSocket
      Src: /src/openssl/apps/lib/vms_term_sock.c:169,1
    - Dst: exit
      Src: /src/openssl/apps/lib/vms_term_sock.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - argc
    - argv
    - envp
    argTypes:
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 7
    functionsReached:
    - exit
    - LogMessage
    - recv
    - OPENSSL_strcasecmp
    - TerminalSocket
    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:184,1
    - Dst: CreateSocketPair
      Src: /src/openssl/apps/lib/vms_term_sock.c:194,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:196,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:200,1
    - Dst: sys$assign
      Src: /src/openssl/apps/lib/vms_term_sock.c:207,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:211,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:212,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:213,1
    - Dst: sys$qio
      Src: /src/openssl/apps/lib/vms_term_sock.c:220,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:230,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:231,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:232,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:246,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:248,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:249,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:250,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:257,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:259,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:260,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:261,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:268,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:269,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - FunctionCode
    - ReturnSocket
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 290
    functionName: TerminalSocket
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 1
    functionsReached:
    - LogMessage
    - sys$qio
    - sys$cancel
    - close
    - CreateSocketPair
    - sys$dassgn
    - $DESCRIPTOR
    - sys$assign
    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:320,1
    - Dst: socket
      Src: /src/openssl/apps/lib/vms_term_sock.c:325,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:327,1
    - Dst: memset
      Src: /src/openssl/apps/lib/vms_term_sock.c:335,1
    - Dst: inet_addr
      Src: /src/openssl/apps/lib/vms_term_sock.c:337,1
    - Dst: bind
      Src: /src/openssl/apps/lib/vms_term_sock.c:343,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:345,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:346,1
    - Dst: getsockname
      Src: /src/openssl/apps/lib/vms_term_sock.c:353,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:355,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:356,1
    - Dst: listen
      Src: /src/openssl/apps/lib/vms_term_sock.c:364,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/vms_term_sock.c:369,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/vms_term_sock.c:370,1
    - Dst: sys$bintim
      Src: /src/openssl/apps/lib/vms_term_sock.c:372,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:374,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:375,1
    - Dst: sys$assign
      Src: /src/openssl/apps/lib/vms_term_sock.c:383,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:385,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:386,1
    - Dst: decc$get_sdc
      Src: /src/openssl/apps/lib/vms_term_sock.c:393,1
    - Dst: sys$qio
      Src: /src/openssl/apps/lib/vms_term_sock.c:398,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:406,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:407,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:408,1
    - Dst: socket
      Src: /src/openssl/apps/lib/vms_term_sock.c:415,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:417,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:418,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:419,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:420,1
    - Dst: decc$get_sdc
      Src: /src/openssl/apps/lib/vms_term_sock.c:428,1
    - Dst: sys$setimr
      Src: /src/openssl/apps/lib/vms_term_sock.c:434,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:440,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:441,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:442,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:443,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:444,1
    - Dst: memset
      Src: /src/openssl/apps/lib/vms_term_sock.c:451,1
    - Dst: inet_addr
      Src: /src/openssl/apps/lib/vms_term_sock.c:453,1
    - Dst: connect
      Src: /src/openssl/apps/lib/vms_term_sock.c:456,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:458,1
    - Dst: sys$cantim
      Src: /src/openssl/apps/lib/vms_term_sock.c:459,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:460,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:461,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:462,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:463,1
    - Dst: sys$synch
      Src: /src/openssl/apps/lib/vms_term_sock.c:472,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:475,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:477,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: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:482,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:483,1
    - Dst: sys$cantim
      Src: /src/openssl/apps/lib/vms_term_sock.c:492,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:494,1
    - Dst: socket_fd
      Src: /src/openssl/apps/lib/vms_term_sock.c:496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 99
    argCount: 4
    argNames:
    - SocketFamily
    - SocketType
    - SocketProtocol
    - SocketPair
    argTypes:
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 499
    functionName: CreateSocketPair
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 1
    functionsReached:
    - bind
    - socket
    - BIO_snprintf
    - sys$bintim
    - $DESCRIPTOR
    - sys$cantim
    - LogMessage
    - decc$get_sdc
    - getsockname
    - sys$cancel
    - sys$setimr
    - sys$dassgn
    - connect
    - sys$assign
    - sys$synch
    - inet_addr
    - memset
    - listen
    - sys$qio
    - close
    - socket_fd
    - strlen
    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:508,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - astparm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    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:525,1
    - Dst: send
      Src: /src/openssl/apps/lib/vms_term_sock.c:530,1
    - Dst: sys$qio
      Src: /src/openssl/apps/lib/vms_term_sock.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - astparm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 550
    functionName: TerminalDeviceAst
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 0
    functionsReached:
    - send
    - strcat
    - 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:569,1
    - Dst: time
      Src: /src/openssl/apps/lib/vms_term_sock.c:574,1
    - Dst: localtime
      Src: /src/openssl/apps/lib/vms_term_sock.c:575,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/vms_term_sock.c:580,1
    - Dst: va_start
      Src: /src/openssl/apps/lib/vms_term_sock.c:589,1
    - Dst: vfprintf
      Src: /src/openssl/apps/lib/vms_term_sock.c:590,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/vms_term_sock.c:591,1
    - Dst: fsync
      Src: /src/openssl/apps/lib/vms_term_sock.c:596,1
    - Dst: fileno
      Src: /src/openssl/apps/lib/vms_term_sock.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 599
    functionName: LogMessage
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 3
    functionsReached:
    - fsync
    - getpid
    - BIO_snprintf
    - vfprintf
    - localtime
    - va_start
    - fileno
    - va_end
    - time
    linkageType: ''
    returnType: void
    signature: void LogMessage(char *msg, ...)
  - 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: 2
    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:52,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/apps/lib/log.c:53,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/log.c:54,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/log.c:55,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/log.c:56,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/log.c:57,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/lib/log.c:58,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/log.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - prog
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: log_with_prefix
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_vprintf
    - BIO_new
    - BIO_f_prefix
    - BIO_pop
    - BIO_free
    - BIO_set_prefix
    - BIO_snprintf
    - BIO_flush
    - BIO_push
    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:78,1
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/apps/lib/log.c:84,1
    - Dst: OSSL_trace_begin
      Src: /src/openssl/apps/lib/log.c:85,1
    - Dst: va_copy
      Src: /src/openssl/apps/lib/log.c:89,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/log.c:90,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/log.c:91,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/log.c:93,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/log.c:95,1
    - Dst: OSSL_trace_end
      Src: /src/openssl/apps/lib/log.c:96,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/log.c:99,1
    - Dst: vsyslog
      Src: /src/openssl/apps/lib/log.c:104,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/apps/lib/log.c:106,1
    - Dst: log_with_prefix
      Src: /src/openssl/apps/lib/log.c:109,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/log.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - category
    - prog
    - level
    - fmt
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: trace_log_message
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - BIO_vprintf
    - OSSL_trace_end
    - va_copy
    - OSSL_trace_enabled
    - ERR_print_errors_cb
    - log_with_prefix
    - va_start
    - va_end
    - vsyslog
    - OSSL_trace_begin
    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:
    - sk_OPENSSL_CSTRING_push
    - STACK_OF
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: rename
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rename(from, to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mesgwin
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: app_init
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int app_init(long mesgwin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/apps/lib/apps.c:95,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/apps.c:97,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/apps.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - format
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: maybe_printf
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_vprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int maybe_printf(BIO *bio, const char *format, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_verify_file
      Src: /src/openssl/apps/lib/apps.c:111,1
    - Dst: SSL_CTX_set_default_verify_dir
      Src: /src/openssl/apps/lib/apps.c:113,1
    - Dst: SSL_CTX_set_default_verify_store
      Src: /src/openssl/apps/lib/apps.c:115,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/apps/lib/apps.c:121,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/openssl/apps/lib/apps.c:123,1
    - Dst: SSL_CTX_load_verify_store
      Src: /src/openssl/apps/lib/apps.c:125,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: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ctx_set_verify_locations
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_load_verify_store
    - SSL_CTX_set_default_verify_file
    - SSL_CTX_set_default_verify_dir
    - SSL_CTX_load_verify_dir
    - SSL_CTX_load_verify_file
    - SSL_CTX_set_default_verify_store
    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:135,1
    - Dst: SSL_CTX_set_ctlog_list_file
      Src: /src/openssl/apps/lib/apps.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: ctx_set_ctlog_list_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_default_ctlog_list_file
    - SSL_CTX_set_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:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    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: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    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:162,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/apps.c:162,1
    - Dst: print_name
      Src: /src/openssl/apps/lib/apps.c:163,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/lib/apps.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: dump_cert_text
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - X509_get_subject_name
    - X509_get_issuer_name
    - print_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:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsiz
    - verify
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    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:179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:180,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:182,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pass
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: get_passwd
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 6
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_strdup
    - app_passwd
    linkageType: ''
    returnType: char
    signature: char *get_passwd(const char *pass, const char *desc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:194,1
    - Dst: app_get_pass
      Src: /src/openssl/apps/lib/apps.c:197,1
    - Dst: app_get_pass
      Src: /src/openssl/apps/lib/apps.c:204,1
    - Dst: clear_free
      Src: /src/openssl/apps/lib/apps.c:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - arg1
    - arg2
    - pass1
    - pass2
    argTypes:
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: app_passwd
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 27
    functionsReached:
    - app_get_pass
    - clear_free
    - strcmp
    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:225,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:226,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:227,1
    - Dst: getenv
      Src: /src/openssl/apps/lib/apps.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:230,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:233,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:236,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:237,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:239,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:251,1
    - Dst: atoi
      Src: /src/openssl/apps/lib/apps.c:254,1
    - Dst: BIO_new_fd
      Src: /src/openssl/apps/lib/apps.c:256,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:258,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:264,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/lib/apps.c:264,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:266,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:268,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:271,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:273,1
    - Dst: unbuffer
      Src: /src/openssl/apps/lib/apps.c:274,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/lib/apps.c:275,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:277,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:282,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:284,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:288,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/apps.c:294,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:296,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:300,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:303,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:306,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - arg
    - keepbio
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 307
    functionName: app_get_pass
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - BIO_printf
    - BIO_f_buffer
    - BIO_puts
    - dup_bio_in
    - BIO_new
    - BIO_free_all
    - strcmp
    - BIO_push
    - getenv
    - atoi
    - BIO_gets
    - BIO_new_file
    - unbuffer
    - BIO_new_fd
    - CHECK_AND_SKIP_PREFIX
    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:313,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/lib/apps.c:314,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:316,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/apps.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: app_conf_try_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 7
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - ERR_clear_last_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:327,1
    - Dst: NCONF_get_number
      Src: /src/openssl/apps/lib/apps.c:328,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:330,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/apps.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - conf
    - group
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: app_conf_try_number
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - ERR_clear_last_mark
    - NCONF_get_number
    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:342,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:342,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/apps/lib/apps.c:343,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:348,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:348,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:350,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:354,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:356,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - in
    - filename
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 360
    functionName: app_load_config_bio
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - BIO_printf
    - NCONF_new_ex
    - NCONF_load_bio
    - app_get0_libctx
    - NCONF_free
    - opt_getprog
    linkageType: ''
    returnType: CONF
    signature: CONF *app_load_config_bio(BIO *in, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:368,1
    - Dst: app_load_config_internal
      Src: /src/openssl/apps/lib/apps.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - verbose
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: app_load_config_verbose
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - BIO_printf
    - app_load_config_internal
    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:379,1
    - Dst: app_load_config_bio
      Src: /src/openssl/apps/lib/apps.c:381,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:382,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/apps/lib/apps.c:385,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - filename
    - quiet
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: app_load_config_internal
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - app_load_config_bio
    - NCONF_new_ex
    - BIO_free
    - app_get0_libctx
    - bio_open_default_
    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:395,1
    - Dst: CONF_modules_load
      Src: /src/openssl/apps/lib/apps.c:399,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:400,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:401,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:402,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 7
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: app_load_modules
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - app_load_config_quiet
    - CONF_modules_load
    - NCONF_free
    - ERR_print_errors
    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:412,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/lib/apps.c:416,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/lib/apps.c:418,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:419,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/lib/apps.c:422,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/lib/apps.c:423,1
    - Dst: OBJ_create
      Src: /src/openssl/apps/lib/apps.c:424,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 8
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: add_oid_section
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - NCONF_get_section
    - app_conf_try_string
    - OBJ_create
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - STACK_OF
    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:438,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/lib/apps.c:440,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 433
    functionDepth: 8
    functionLinenumber: 433
    functionLinenumberEnd: 446
    functionName: app_load_config_modules
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - app_load_modules
    - app_load_config_verbose
    - NCONF_free
    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: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    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: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    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:458,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:459,1
    - Dst: IS_HTTP
      Src: /src/openssl/apps/lib/apps.c:460,1
    - Dst: X509_load_http
      Src: /src/openssl/apps/lib/apps.c:461,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:463,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:464,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:467,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: 471
      start: 451
    functionDepth: 5
    functionLinenumber: 451
    functionLinenumberEnd: 471
    functionName: load_cert_pass
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 7
    functionsReached:
    - load_key_certs_crls
    - BIO_printf
    - IS_HTTPS
    - ERR_print_errors
    - X509_load_http
    - IS_HTTP
    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:480,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:481,1
    - Dst: IS_HTTP
      Src: /src/openssl/apps/lib/apps.c:482,1
    - Dst: X509_CRL_load_http
      Src: /src/openssl/apps/lib/apps.c:483,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:485,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:486,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:489,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: 493
      start: 473
    functionDepth: 5
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: load_crl
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - load_key_certs_crls
    - BIO_printf
    - X509_CRL_load_http
    - IS_HTTPS
    - ERR_print_errors
    - IS_HTTP
    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:503,1
    - Dst: d2i_X509_REQ_bio
      Src: /src/openssl/apps/lib/apps.c:508,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/openssl/apps/lib/apps.c:510,1
    - Dst: print_format_error
      Src: /src/openssl/apps/lib/apps.c:512,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:516,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:518,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - file
    - format
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 496
    functionDepth: 5
    functionLinenumber: 496
    functionLinenumberEnd: 522
    functionName: load_csr
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_free
    - PEM_read_bio_X509_REQ
    - bio_open_default
    - ERR_print_errors
    - print_format_error
    - d2i_X509_REQ_bio
    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:531,1
    - Dst: load_csr
      Src: /src/openssl/apps/lib/apps.c:536,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:539,1
    - Dst: load_csr
      Src: /src/openssl/apps/lib/apps.c:540,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:543,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/lib/apps.c:548,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/lib/apps.c:549,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:552,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:554,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: 558
      start: 525
    functionDepth: 6
    functionLinenumber: 525
    functionLinenumberEnd: 558
    functionName: load_csr_autofmt
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ERR_clear_error
    - load_csr
    - do_X509_REQ_verify
    - X509_REQ_get0_pubkey
    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:563,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 564
    functionName: cleanse
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 134
    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:569,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: clear_free
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 205
    functionsReached:
    - OPENSSL_clear_free
    - strlen
    linkageType: ''
    returnType: void
    signature: void clear_free(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - uri
    - format
    - may_stdin
    - pass
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: load_key
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 25
    functionsReached:
    - 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, const char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:595,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: load_pubkey
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 10
    functionsReached:
    - 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, const char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:611,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/lib/apps.c:614,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:615,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:616,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:619,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: 623
      start: 603
    functionDepth: 5
    functionLinenumber: 603
    functionLinenumberEnd: 623
    functionName: load_keyparams_suppress
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - load_key_certs_crls
    - BIO_printf
    - EVP_PKEY_free
    - ERR_print_errors
    - EVP_PKEY_is_a
    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:628,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: 629
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 629
    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: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - uri
    - format
    - may_stdin
    - pass
    - quiet
    argTypes:
    - char*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: load_skey
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - load_key_certs_crls
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *load_skey(const char *uri, int format, int may_stdin,\n
      \   const char *pass, int quiet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/apps/lib/apps.c:646,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/apps.c:647,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/apps.c:648,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:649,1
    - Dst: exit
      Src: /src/openssl/apps/lib/apps.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 642
    functionDepth: 5
    functionLinenumber: 642
    functionLinenumberEnd: 651
    functionName: app_bail_out
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - va_start
    - BIO_vprintf
    - exit
    - ERR_print_errors
    - va_end
    linkageType: ''
    returnType: void
    signature: void app_bail_out(char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/apps/lib/apps.c:655,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/lib/apps.c:658,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 6
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: app_malloc
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 40
    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: OPENSSL_malloc_array
      Src: /src/openssl/apps/lib/apps.c:665,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/lib/apps.c:668,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - n
    - sz
    - what
    argTypes:
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 6
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: app_malloc_array
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 6
    functionsReached:
    - app_bail_out
    - OPENSSL_malloc_array
    - opt_getprog
    linkageType: ''
    returnType: void
    signature: void *app_malloc_array(size_t n, size_t sz, const char *what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/apps/lib/apps.c:676,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/apps.c:676,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/apps.c:685,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/apps.c:685,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 689
    functionName: next_item
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - isspace
    - _UC
    linkageType: ''
    returnType: char
    signature: char *next_item(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/lib/apps.c:693,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/apps.c:693,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:695,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uri
    - cert
    - msg
    argTypes:
    - char*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 698
    functionName: warn_cert_msg
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_get_subject_name
    - BIO_printf
    - 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:704,1
    - Dst: X509_check_certificate_times
      Src: /src/openssl/apps/lib/apps.c:706,1
    - Dst: warn_cert_msg
      Src: /src/openssl/apps/lib/apps.c:707,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/lib/apps.c:707,1
    - Dst: warn_cert_msg
      Src: /src/openssl/apps/lib/apps.c:710,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: 711
      start: 700
    functionDepth: 5
    functionLinenumber: 700
    functionLinenumberEnd: 711
    functionName: warn_cert
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - warn_cert_msg
    - X509_check_certificate_times
    - X509_get_extension_flags
    - X509_verify_cert_error_string
    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:718,1
    - Dst: warn_cert
      Src: /src/openssl/apps/lib/apps.c:719,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/lib/apps.c:719,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: 720
      start: 713
    functionDepth: 6
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: warn_certs
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - warn_cert
    - sk_X509_num
    - sk_X509_value
    linkageType: ''
    returnType: void
    signature: "void warn_certs(const char *uri, STACK_OF(X509) *certs, int warn_EE,\n
      \   X509_VERIFY_PARAM *vpm)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/apps/lib/apps.c:732,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/apps/lib/apps.c:732,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:733,1
    - Dst: get_passwd
      Src: /src/openssl/apps/lib/apps.c:736,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:737,1
    - Dst: clear_free
      Src: /src/openssl/apps/lib/apps.c:739,1
    - Dst: warn_cert
      Src: /src/openssl/apps/lib/apps.c:743,1
    - Dst: warn_certs
      Src: /src/openssl/apps/lib/apps.c:745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    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: 748
      start: 722
    functionDepth: 7
    functionLinenumber: 722
    functionLinenumberEnd: 748
    functionName: load_cert_certs
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - HAS_CASE_PREFIX
    - load_key_certs_crls
    - BIO_printf
    - warn_certs
    - clear_free
    - get_passwd
    - warn_cert
    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:792,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/lib/apps.c:795,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/apps/lib/apps.c:796,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/lib/apps.c:796,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - store
    - certs
    argTypes:
    - X509_STORE*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 786
    functionDepth: 8
    functionLinenumber: 786
    functionLinenumberEnd: 802
    functionName: sk_X509_to_store
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_cert
    - sk_X509_num
    - X509_STORE_new
    - sk_X509_value
    - X509_STORE_free
    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: get_passwd
      Src: /src/openssl/apps/lib/apps.c:811,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:813,1
    - Dst: next_item
      Src: /src/openssl/apps/lib/apps.c:816,1
    - Dst: load_cert_certs
      Src: /src/openssl/apps/lib/apps.c:819,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:820,1
    - Dst: sk_X509_to_store
      Src: /src/openssl/apps/lib/apps.c:824,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/apps.c:825,1
    - Dst: clear_free
      Src: /src/openssl/apps/lib/apps.c:833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - input
    - source
    - desc
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 808
    functionDepth: 9
    functionLinenumber: 808
    functionLinenumberEnd: 835
    functionName: load_certstore
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - OSSL_STACK_OF_X509_free
    - clear_free
    - get_passwd
    - load_cert_certs
    - STACK_OF
    - X509_STORE_free
    - sk_X509_to_store
    - next_item
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *load_certstore(char *input, const char *source, const
      char *desc,\n    X509_VERIFY_PARAM *vpm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - uri
    - maybe_stdin
    - certs
    - pass
    - desc
    argTypes:
    - char*
    - int
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: load_certs
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 9
    functionsReached:
    - load_key_certs_crls
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - uri
    - crls
    - pass
    - desc
    argTypes:
    - char*
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 861
    functionName: load_crls
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - 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: 876
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 876
    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: 881
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 881
    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: 886
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 886
    functionName: SET_EXPECT1
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXPECT1(pvar, val)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:921,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:922,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:932,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:937,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:939,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:940,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:941,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:942,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:943,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/lib/apps.c:952,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:954,1
    - Dst: SET_EXPECT
      Src: /src/openssl/apps/lib/apps.c:962,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:964,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/lib/apps.c:966,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:968,1
    - Dst: SET_EXPECT
      Src: /src/openssl/apps/lib/apps.c:976,1
    - Dst: format2string
      Src: /src/openssl/apps/lib/apps.c:979,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/lib/apps.c:980,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/lib/apps.c:982,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:991,1
    - Dst: unbuffer
      Src: /src/openssl/apps/lib/apps.c:995,1
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:996,1
    - Dst: OSSL_STORE_attach
      Src: /src/openssl/apps/lib/apps.c:998,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/lib/apps.c:999,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1001,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/apps/lib/apps.c:1004,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/lib/apps.c:1004,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1009,1
    - Dst: OSSL_STORE_expect
      Src: /src/openssl/apps/lib/apps.c:1014,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1016,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/apps/lib/apps.c:1026,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/apps/lib/apps.c:1027,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/apps/lib/apps.c:1041,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/openssl/apps/lib/apps.c:1045,1
    - Dst: OSSL_STORE_INFO_get1_PUBKEY
      Src: /src/openssl/apps/lib/apps.c:1058,1
    - Dst: OSSL_STORE_INFO_get1_PARAMS
      Src: /src/openssl/apps/lib/apps.c:1065,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/openssl/apps/lib/apps.c:1072,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/openssl/apps/lib/apps.c:1076,1
    - Dst: X509_add_cert
      Src: /src/openssl/apps/lib/apps.c:1079,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/apps.c:1081,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/openssl/apps/lib/apps.c:1087,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/openssl/apps/lib/apps.c:1091,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/lib/apps.c:1093,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/lib/apps.c:1095,1
    - Dst: OSSL_STORE_INFO_get1_SKEY
      Src: /src/openssl/apps/lib/apps.c:1101,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/apps/lib/apps.c:1111,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/openssl/apps/lib/apps.c:1113,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1115,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/apps/lib/apps.c:1121,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1133,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/apps/lib/apps.c:1137,1
    - Dst: strstr
      Src: /src/openssl/apps/lib/apps.c:1140,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1141,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1143,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1145,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1148,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/apps/lib/apps.c:1149,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1151,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:1151,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/lib/apps.c:1151,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:1152,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:1153,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1155,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1156,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/apps.c:1157,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:1160,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:1164,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:1168,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:1172,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/apps.c:1176,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/apps/lib/apps.c:1180,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/lib/apps.c:1184,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/lib/apps.c:1188,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 205
    argCount: 14
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    - quiet
    - ppkey
    - ppubkey
    - pparams
    - pcert
    - pcerts
    - pcrl
    - pcrls
    - pskey
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - int
    - EVP_PKEY**
    - EVP_PKEY**
    - EVP_PKEY**
    - X509**
    - STACK_OF**
    - X509_CRL**
    - STACK_OF**
    - EVP_SKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 911
    functionDepth: 10
    functionLinenumber: 911
    functionLinenumberEnd: 1194
    functionName: load_key_certs_crls
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 12
    functionsReached:
    - BIO_puts
    - OSSL_STORE_INFO_get1_SKEY
    - ERR_clear_last_mark
    - X509_free
    - strerror
    - ERR_GET_REASON
    - SET_EXPECT
    - format2string
    - ERR_pop_to_mark
    - OSSL_STORE_close
    - BIO_new_fp
    - OSSL_STORE_load
    - ERR_peek_last_error
    - ERR_SYSTEM_ERROR
    - OSSL_PARAM_construct_end
    - OSSL_STORE_INFO_get1_PARAMS
    - app_get0_propq
    - SET_EXPECT1
    - sk_X509_CRL_push
    - OSSL_STORE_expect
    - OSSL_STORE_INFO_get1_CERT
    - unbuffer
    - OSSL_STORE_INFO_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_STORE_open_ex
    - OSSL_STORE_attach
    - sk_X509_pop_free
    - sk_X509_new_null
    - app_get0_libctx
    - BIO_free
    - OSSL_STORE_INFO_get1_CRL
    - EVP_PKEY_free
    - ERR_print_errors
    - OSSL_STORE_INFO_get1_PUBKEY
    - get_ui_method
    - OSSL_STORE_INFO_type_string
    - ERR_set_mark
    - strstr
    - OSSL_STORE_eof
    - BIO_printf
    - OSSL_STORE_INFO_get1_PKEY
    - sk_X509_CRL_pop_free
    - sk_X509_CRL_new_null
    - X509_CRL_free
    - X509_add_cert
    - OSSL_STORE_INFO_get_type
    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,\n    EVP_SKEY **pskey)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1198,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:1209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1218,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1220,1
    - Dst: PEM_read_bio
      Src: /src/openssl/apps/lib/apps.c:1224,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/lib/apps.c:1225,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/apps/lib/apps.c:1225,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:1243,1
    - Dst: d2i_PUBKEY
      Src: /src/openssl/apps/lib/apps.c:1244,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1246,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/apps/lib/apps.c:1248,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1249,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:1254,1
    - Dst: WHEN_PEM_X509
      Src: /src/openssl/apps/lib/apps.c:1255,1
    - Dst: WHEN_PEM_X509_AUX
      Src: /src/openssl/apps/lib/apps.c:1256,1
    - Dst: d2i
      Src: /src/openssl/apps/lib/apps.c:1257,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1259,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/lib/apps.c:1261,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/apps/lib/apps.c:1262,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1263,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/apps.c:1268,1
    - Dst: WHEN_PKEY_TYPE
      Src: /src/openssl/apps/lib/apps.c:1269,1
    - Dst: WHEN_PKEY_TYPE
      Src: /src/openssl/apps/lib/apps.c:1270,1
    - Dst: WHEN_PKEY_TYPE
      Src: /src/openssl/apps/lib/apps.c:1271,1
    - Dst: WHEN_PKEY_TYPE
      Src: /src/openssl/apps/lib/apps.c:1272,1
    - Dst: d2i_PrivateKey
      Src: /src/openssl/apps/lib/apps.c:1274,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/apps/lib/apps.c:1276,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/lib/apps.c:1277,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/lib/apps.c:1278,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1282,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/apps/lib/apps.c:1284,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1285,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:1290,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1296,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:1297,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1298,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - ssl
    - file
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1196
    functionDepth: 15
    functionLinenumber: 1196
    functionLinenumberEnd: 1300
    functionName: load_rpk_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - EVP_PKCS82PKEY
    - SSL_add_expected_rpk
    - X509_free
    - ERR_GET_REASON
    - BIO_new_file
    - ERR_pop_to_mark
    - d2i_PUBKEY
    - OPENSSL_free
    - ERR_peek_last_error
    - WHEN_PEM_X509_AUX
    - PEM_read_bio
    - WHEN_PEM_X509
    - d2i
    - BIO_free
    - strcmp
    - EVP_PKEY_free
    - X509_get0_pubkey
    - ERR_set_mark
    - BIO_printf
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - WHEN_PKEY_TYPE
    - d2i_PrivateKey
    linkageType: ''
    returnType: int
    signature: int load_rpk_file(SSL *ssl, const char *file)
  - 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: 1235
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: WHEN_PEM_X509
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WHEN_PEM_X509(name, f)
  - 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: 1239
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: WHEN_PEM_X509_AUX
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WHEN_PEM_X509_AUX(name, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - str
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: WHEN_PKEY_TYPE
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WHEN_PKEY_TYPE(name, str, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_multi_opts
      Src: /src/openssl/apps/lib/apps.c:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - unsigned long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1334
    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:1369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - unsigned long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1375
    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:1379,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dateopt
    - arg
    argTypes:
    - unsigned long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1386
    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:1390,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1392,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - copy_type
    - arg
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1399
    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:1403,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/apps/lib/apps.c:1410,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/lib/apps.c:1412,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/lib/apps.c:1413,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/lib/apps.c:1414,1
    - Dst: X509_get_ext_by_OBJ
      Src: /src/openssl/apps/lib/apps.c:1415,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/apps/lib/apps.c:1424,1
    - Dst: X509_delete_ext
      Src: /src/openssl/apps/lib/apps.c:1424,1
    - Dst: X509_get_ext_by_OBJ
      Src: /src/openssl/apps/lib/apps.c:1425,1
    - Dst: X509_add_ext
      Src: /src/openssl/apps/lib/apps.c:1428,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/apps/lib/apps.c:1434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - x
    - req
    - copy_type
    argTypes:
    - X509*
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1436
    functionName: copy_extensions
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - X509_EXTENSION_get_object
    - sk_X509_EXTENSION_value
    - X509_get_ext_by_OBJ
    - X509_delete_ext
    - X509_add_ext
    - sk_X509_EXTENSION_num
    - STACK_OF
    - X509_REQ_get_extensions
    - X509_EXTENSION_free
    - sk_X509_EXTENSION_pop_free
    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:1441,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/apps/lib/apps.c:1447,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/lib/apps.c:1448,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/lib/apps.c:1449,1
    - Dst: set_table_opts
      Src: /src/openssl/apps/lib/apps.c:1450,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/apps/lib/apps.c:1453,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: 1455
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1455
    functionName: set_multi_opts
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - X509V3_parse_list
    - sk_CONF_VALUE_pop_free
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - set_table_opts
    - STACK_OF
    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:1475,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: 1485
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1485
    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:1492,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1497,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/lib/apps.c:1503,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1504,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1505,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1508,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/apps.c:1509,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - out
    - title
    - nm
    argTypes:
    - BIO*
    - char*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1487
    functionDepth: 7
    functionLinenumber: 1487
    functionLinenumberEnd: 1512
    functionName: print_name
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OPENSSL_free
    - X509_NAME_oneline
    - get_nameopt
    - X509_NAME_print_ex
    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:1517,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/lib/apps.c:1518,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1519,1
    - Dst: BN_bn2bin
      Src: /src/openssl/apps/lib/apps.c:1523,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1525,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1527,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1529,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1532,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: 1533
      start: 1514
    functionDepth: 5
    functionLinenumber: 1514
    functionLinenumberEnd: 1533
    functionName: print_bignum_var
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BN_bn2bin
    - BN_is_zero
    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:1539,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1542,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1544,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1546,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1548,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: 1549
      start: 1535
    functionDepth: 3
    functionLinenumber: 1535
    functionLinenumberEnd: 1549
    functionName: print_array
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - 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:1555,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:1557,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:1558,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/lib/apps.c:1564,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/apps/lib/apps.c:1564,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/lib/apps.c:1568,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:1571,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/lib/apps.c:1572,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1575,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/lib/apps.c:1580,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/lib/apps.c:1586,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/apps/lib/apps.c:1586,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/apps/lib/apps.c:1590,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1591,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/apps/lib/apps.c:1595,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/lib/apps.c:1600,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/apps/lib/apps.c:1600,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/apps/lib/apps.c:1603,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1605,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:1610,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1613,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:1614,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: 1616
      start: 1551
    functionDepth: 5
    functionLinenumber: 1551
    functionLinenumberEnd: 1616
    functionName: setup_verify
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 6
    functionsReached:
    - BIO_printf
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_add_dir
    - X509_STORE_free
    - app_get0_libctx
    - X509_LOOKUP_file
    - X509_LOOKUP_load_file_ex
    - app_get0_propq
    - X509_STORE_new
    - X509_LOOKUP_store
    - ERR_print_errors
    - X509_STORE_add_lookup
    - X509_LOOKUP_add_store_ex
    - ERR_clear_error
    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:1625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1626
    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:1637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1638
    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: 1643
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1643
    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:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    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:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1653
    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:1678,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:1681,1
    - Dst: BN_new
      Src: /src/openssl/apps/lib/apps.c:1682,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1684,1
    - Dst: rand_serial
      Src: /src/openssl/apps/lib/apps.c:1685,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1686,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/apps.c:1688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1655
    functionDepth: 3
    functionLinenumber: 1655
    functionLinenumberEnd: 1691
    functionName: BIO_new_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 104
    functionsReached:
    - BIO_puts
    - BIO_printf
    - perror
    - BN_free
    - rand_serial
    - BN_new
    - ERR_clear_error
    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:1726,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1728,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1728,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1730,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/lib/apps.c:1735,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1738,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1740,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1743,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/lib/apps.c:1748,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1749,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/lib/apps.c:1752,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1753,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1761,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:1762,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/lib/apps.c:1763,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: 1765
      start: 1716
    functionDepth: 7
    functionLinenumber: 1716
    functionLinenumberEnd: 1765
    functionName: save_serial
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BIO_puts
    - ASN1_INTEGER_free
    - BIO_free_all
    - BIO_snprintf
    - ERR_print_errors
    - BIO_new_file
    - strlen
    - i2a_ASN1_INTEGER
    - OPENSSL_strlcpy
    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:1773,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1773,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1774,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1774,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1778,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1782,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1783,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1785,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1786,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1788,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1793,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1795,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1798,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1799,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1801,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1802,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - serialfile
    - new_suffix
    - old_suffix
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1767
    functionDepth: 5
    functionLinenumber: 1767
    functionLinenumberEnd: 1809
    functionName: rotate_serial
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - perror
    - BIO_snprintf
    - ERR_print_errors
    - strlen
    - rename
    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:1816,1
    - Dst: BN_rand
      Src: /src/openssl/apps/lib/apps.c:1820,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/lib/apps.c:1822,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/apps.c:1830,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - b
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1811
    functionDepth: 7
    functionLinenumber: 1811
    functionLinenumberEnd: 1833
    functionName: rand_serial
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BN_rand
    - BN_new
    - BN_free
    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:1847,1
    - Dst: BIO_get_fp
      Src: /src/openssl/apps/lib/apps.c:1852,1
    - Dst: fstat
      Src: /src/openssl/apps/lib/apps.c:1853,1
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:1853,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/apps.c:1854,1
    - Dst: TXT_DB_read
      Src: /src/openssl/apps/lib/apps.c:1860,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1864,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1866,1
    - Dst: app_load_config_quiet
      Src: /src/openssl/apps/lib/apps.c:1868,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:1870,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/lib/apps.c:1879,1
    - Dst: parse_yesno
      Src: /src/openssl/apps/lib/apps.c:1882,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:1885,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1894,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:1895,1
    - Dst: TXT_DB_free
      Src: /src/openssl/apps/lib/apps.c:1896,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:1897,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - dbfile
    - db_attr
    argTypes:
    - char*
    - DB_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1835
    functionDepth: 5
    functionLinenumber: 1835
    functionLinenumberEnd: 1899
    functionName: load_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - OPENSSL_strdup
    - BIO_get_fp
    - parse_yesno
    - ERR_raise_data
    - app_malloc
    - app_load_config_quiet
    - app_conf_try_string
    - BIO_snprintf
    - TXT_DB_free
    - fileno
    - fstat
    - BIO_free_all
    - NCONF_free
    - ERR_print_errors
    - BIO_new_file
    - TXT_DB_read
    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:1906,1
    - Dst: LHASH_HASH_FN
      Src: /src/openssl/apps/lib/apps.c:1907,1
    - Dst: LHASH_COMP_FN
      Src: /src/openssl/apps/lib/apps.c:1908,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1909,1
    - Dst: TXT_DB_create_index
      Src: /src/openssl/apps/lib/apps.c:1916,1
    - Dst: LHASH_HASH_FN
      Src: /src/openssl/apps/lib/apps.c:1917,1
    - Dst: LHASH_COMP_FN
      Src: /src/openssl/apps/lib/apps.c:1918,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1919,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1904
    functionDepth: 5
    functionLinenumber: 1904
    functionLinenumberEnd: 1927
    functionName: index_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_printf
    - LHASH_COMP_FN
    - LHASH_HASH_FN
    - ERR_print_errors
    - TXT_DB_create_index
    linkageType: ''
    returnType: int
    signature: int index_index(CA_DB *db)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1935,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1935,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1937,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1941,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1942,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1943,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1945,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1946,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1947,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1949,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1951,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1952,1
    - Dst: TXT_DB_write
      Src: /src/openssl/apps/lib/apps.c:1955,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1956,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1960,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1962,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1963,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1966,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1968,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1972,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - dbfile
    - suffix
    - db
    argTypes:
    - char*
    - char*
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1929
    functionDepth: 5
    functionLinenumber: 1929
    functionLinenumberEnd: 1974
    functionName: save_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_free
    - perror
    - BIO_snprintf
    - TXT_DB_write
    - ERR_print_errors
    - BIO_new_file
    - strlen
    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:1982,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1982,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1983,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1983,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1987,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1991,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1992,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1993,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1994,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1995,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1997,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1998,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1999,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:2000,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:2001,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2003,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2008,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:2009,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2012,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2013,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:2014,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2015,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2018,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2023,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:2024,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2025,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2026,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2029,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2030,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:2031,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2032,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2033,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:2034,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:2039,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - dbfile
    - new_suffix
    - old_suffix
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 1976
    functionDepth: 5
    functionLinenumber: 1976
    functionLinenumberEnd: 2041
    functionName: rotate_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - BIO_printf
    - perror
    - BIO_snprintf
    - ERR_print_errors
    - strlen
    - rename
    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:2046,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2047,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2050
    functionName: free_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - TXT_DB_free
    - OPENSSL_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: 2071
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2071
    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:2086,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2090,1
    - Dst: X509_NAME_new
      Src: /src/openssl/apps/lib/apps.c:2094,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2096,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2096,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:2099,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2101,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2102,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2120,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2122,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2136,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2138,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/lib/apps.c:2149,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2151,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2153,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2155,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2161,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2163,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/apps/lib/apps.c:2166,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:2167,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:2169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2170,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2177,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/lib/apps.c:2181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2182,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 4
    argNames:
    - cp
    - chtype
    - canmulti
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2078
    functionDepth: 8
    functionLinenumber: 2078
    functionLinenumberEnd: 2184
    functionName: parse_name
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 7
    functionsReached:
    - OPENSSL_strdup
    - BIO_printf
    - X509_NAME_free
    - OPENSSL_free
    - OBJ_txt2nid
    - strlen
    - ERR_print_errors
    - X509_NAME_add_entry_by_NID
    - opt_getprog
    - X509_NAME_new
    linkageType: ''
    returnType: X509_NAME
    signature: "X509_NAME *parse_name(const char *cp, int chtype, int canmulti,\n
      \   const char *desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:2201,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/lib/apps.c:2201,1
    - Dst: BIO_read
      Src: /src/openssl/apps/lib/apps.c:2205,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/apps.c:2208,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2211,1
    - Dst: BIO_set_close
      Src: /src/openssl/apps/lib/apps.c:2217,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/apps/lib/apps.c:2218,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2219,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/apps/lib/apps.c:2224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - out
    - outlen
    - maxlen
    - in
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2193
    functionDepth: 5
    functionLinenumber: 2193
    functionLinenumberEnd: 2226
    functionName: bio_to_mem
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_get_mem_ptr
    - BIO_set_close
    - BIO_new
    - BIO_read
    - BIO_free
    - BIO_write
    - BUF_MEM_free
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int bio_to_mem(unsigned char **out, size_t *outlen, size_t maxlen,
      BIO *in)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/openssl/apps/lib/apps.c:2244,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2246,1
    - Dst: fstat
      Src: /src/openssl/apps/lib/apps.c:2251,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2252,1
    - Dst: S_ISREG
      Src: /src/openssl/apps/lib/apps.c:2255,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2261,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2266,1
    - Dst: mmap
      Src: /src/openssl/apps/lib/apps.c:2277,1
    - Dst: close
      Src: /src/openssl/apps/lib/apps.c:2278,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2280,1
    - Dst: close
      Src: /src/openssl/apps/lib/apps.c:2288,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - path
    - err_bio
    - known_size
    - out_data
    - out_size
    argTypes:
    - char*
    - BIO*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2229
    functionDepth: 3
    functionLinenumber: 2229
    functionLinenumberEnd: 2290
    functionName: app_mmap_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - open
    - BIO_puts
    - BIO_printf
    - fstat
    - close
    - S_ISREG
    - mmap
    linkageType: ''
    returnType: int
    signature: "int app_mmap_file(const char *path, BIO *err_bio, size_t known_size,\n
      \   const unsigned char **out_data, size_t *out_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:2298,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:2301,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/apps/lib/apps.c:2307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2293
    functionDepth: 4
    functionLinenumber: 2293
    functionLinenumberEnd: 2312
    functionName: pkey_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - EVP_PKEY_CTX_ctrl_str
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:2320,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:2323,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2325,1
    - Dst: OSSL_ENCODER_CTX_ctrl_string
      Src: /src/openssl/apps/lib/apps.c:2332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2314
    functionDepth: 4
    functionLinenumber: 2314
    functionLinenumberEnd: 2337
    functionName: encoder_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - BIO_printf
    - OPENSSL_free
    - OSSL_ENCODER_CTX_ctrl_string
    linkageType: ''
    returnType: int
    signature: int encoder_ctrl_string(OSSL_ENCODER_CTX *ctx, const char *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/lib/apps.c:2344,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/lib/apps.c:2351,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/lib/apps.c:2351,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/lib/apps.c:2353,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/lib/apps.c:2353,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/lib/apps.c:2355,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:2356,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/lib/apps.c:2361,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/lib/apps.c:2364,1
    - Dst: encoder_ctrl_string
      Src: /src/openssl/apps/lib/apps.c:2366,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/lib/apps.c:2371,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - out
    - output_type
    - pkey
    - encopt
    - cipher
    - pass
    argTypes:
    - BIO*
    - char*
    - EVP_PKEY*
    - STACK_OF*
    - EVP_CIPHER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2339
    functionDepth: 11
    functionLinenumber: 2339
    functionLinenumberEnd: 2375
    functionName: encode_private_key
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - OSSL_ENCODER_CTX_free
    - sk_OPENSSL_STRING_num
    - EVP_CIPHER_get0_name
    - encoder_ctrl_string
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_to_bio
    - sk_OPENSSL_STRING_value
    - strlen
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - get_ui_method
    - OSSL_ENCODER_CTX_new_for_pkey
    linkageType: ''
    returnType: int
    signature: "int encode_private_key(BIO *out, const char *output_type, const EVP_PKEY
      *pkey,\n    const STACK_OF(OPENSSL_STRING) *encopt,\n    const EVP_CIPHER *cipher,
      const char *pass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2382,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2384,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/apps/lib/apps.c:2385,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/apps/lib/apps.c:2386,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/openssl/apps/lib/apps.c:2387,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name
    - nodes
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2377
    functionDepth: 3
    functionLinenumber: 2377
    functionLinenumberEnd: 2392
    functionName: nodes_print
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - sk_X509_POLICY_NODE_value
    - sk_X509_POLICY_NODE_num
    - X509_POLICY_NODE_print
    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:2399,1
    - Dst: X509_STORE_CTX_get_explicit_policy
      Src: /src/openssl/apps/lib/apps.c:2400,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2402,1
    - Dst: nodes_print
      Src: /src/openssl/apps/lib/apps.c:2405,1
    - Dst: X509_policy_tree_get0_policies
      Src: /src/openssl/apps/lib/apps.c:2405,1
    - Dst: nodes_print
      Src: /src/openssl/apps/lib/apps.c:2406,1
    - Dst: X509_policy_tree_get0_user_policies
      Src: /src/openssl/apps/lib/apps.c:2406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2394
    functionDepth: 4
    functionLinenumber: 2394
    functionLinenumberEnd: 2407
    functionName: policies_print
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - X509_policy_tree_get0_policies
    - X509_policy_tree_get0_user_policies
    - nodes_print
    - X509_STORE_CTX_get_explicit_policy
    - X509_STORE_CTX_get0_policy_tree
    linkageType: ''
    returnType: void
    signature: void policies_print(X509_STORE_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:2425,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:2429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - outlen
    - in
    argTypes:
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2464
    functionName: next_protos_parse
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - strlen
    - app_malloc
    - OPENSSL_free
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *next_protos_parse(size_t *outlen, const char *in)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2476,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/lib/apps.c:2480,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2481,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/apps/lib/apps.c:2485,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2486,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/lib/apps.c:2490,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2491,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/lib/apps.c:2495,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2496,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/apps.c:2510,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/apps.c:2511,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/apps.c:2512,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/apps.c:2513,1
    - Dst: X509_VERIFY_PARAM_set_trust
      Src: /src/openssl/apps/lib/apps.c:2514,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/apps/lib/apps.c:2516,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2517,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/apps/lib/apps.c:2521,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2522,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/apps/lib/apps.c:2526,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2527,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/apps/lib/apps.c:2531,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2532,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/lib/apps.c:2536,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2537,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/openssl/apps/lib/apps.c:2542,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2543,1
    - Dst: X509_verify_cert
      Src: /src/openssl/apps/lib/apps.c:2547,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/lib/apps.c:2548,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2551,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/lib/apps.c:2552,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2555,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2558,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2561,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2571,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2577,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2580,1
    - Dst: maybe_printf
      Src: /src/openssl/apps/lib/apps.c:2583,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/apps/lib/apps.c:2586,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:2589,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:2590,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2591,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 6
    argNames:
    - bio
    - b_err
    - x
    - checkhost
    - checkemail
    - checkip
    argTypes:
    - BIO*
    - BIO*
    - X509*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2466
    functionDepth: 8
    functionLinenumber: 2466
    functionLinenumberEnd: 2593
    functionName: check_cert_might_be_valid
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - X509_STORE_CTX_init
    - X509_STORE_CTX_free
    - X509_VERIFY_PARAM_set_flags
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set1_host
    - X509_STORE_free
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_STORE_CTX_new
    - X509_verify_cert
    - ERR_print_errors
    - X509_verify_cert_error_string
    - X509_VERIFY_PARAM_set_trust
    - X509_STORE_CTX_set_purpose
    - X509_STORE_get0_param
    - X509_STORE_add_cert
    - maybe_printf
    - X509_STORE_new
    - X509_STORE_CTX_cleanup
    - X509_STORE_CTX_get_error
    linkageType: ''
    returnType: int
    signature: "int check_cert_might_be_valid(BIO *bio, BIO *b_err, X509 *x, const
      char *checkhost,\n    const char *checkemail, const char *checkip)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/lib/apps.c:2667,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:2668,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/lib/apps.c:2673,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:2673,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:2674,1
    - Dst: do_pkey_ctx_init
      Src: /src/openssl/apps/lib/apps.c:2675,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: 2676
      start: 2655
    functionDepth: 11
    functionLinenumber: 2655
    functionLinenumberEnd: 2676
    functionName: do_sign_init
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - do_pkey_ctx_init
    - app_get0_libctx
    - EVP_DigestSignInit_ex
    - strcmp
    - app_get0_propq
    - EVP_PKEY_get_default_digest_name
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/lib/apps.c:2681,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/lib/apps.c:2682,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - conf1
    - conf2
    - ctx
    - cert
    - msg
    - sect
    argTypes:
    - CONF*
    - CONF*
    - X509V3_CTX*
    - X509*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2678
    functionDepth: 4
    functionLinenumber: 2678
    functionLinenumberEnd: 2686
    functionName: do_EXT_add_nconf
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - X509V3_EXT_add_nconf
    - BIO_printf
    - X509V3_set_nconf
    linkageType: ''
    returnType: int
    signature: "int do_EXT_add_nconf(CONF *conf1, CONF *conf2, X509V3_CTX *ctx,\n
      \   X509 *cert, const char *msg, const char *sect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/lib/apps.c:2691,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/openssl/apps/lib/apps.c:2692,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - conf1
    - conf2
    - ctx
    - req
    - msg
    - sect
    argTypes:
    - CONF*
    - CONF*
    - X509V3_CTX*
    - X509_REQ*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2688
    functionDepth: 4
    functionLinenumber: 2688
    functionLinenumberEnd: 2696
    functionName: do_EXT_REQ_add_nconf
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_printf
    - X509V3_EXT_REQ_add_nconf
    - X509V3_set_nconf
    linkageType: ''
    returnType: int
    signature: "int do_EXT_REQ_add_nconf(CONF *conf1, CONF *conf2, X509V3_CTX *ctx,\n
      \   X509_REQ *req, const char *msg, const char *sect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:2702,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/lib/apps.c:2703,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cert
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2698
    functionDepth: 3
    functionLinenumber: 2698
    functionLinenumberEnd: 2706
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_set_version
      Src: /src/openssl/apps/lib/apps.c:2715,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/lib/apps.c:2717,1
    - Dst: do_sign_init
      Src: /src/openssl/apps/lib/apps.c:2718,1
    - Dst: X509_sign_ctx
      Src: /src/openssl/apps/lib/apps.c:2719,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    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: 2722
      start: 2709
    functionDepth: 12
    functionLinenumber: 2709
    functionLinenumberEnd: 2722
    functionName: do_X509_sign
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - do_sign_init
    - X509_sign_ctx
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - X509_set_version
    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:2729,1
    - Dst: do_sign_init
      Src: /src/openssl/apps/lib/apps.c:2731,1
    - Dst: X509_REQ_sign_ctx
      Src: /src/openssl/apps/lib/apps.c:2732,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2733,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: 2735
      start: 2725
    functionDepth: 12
    functionLinenumber: 2725
    functionLinenumberEnd: 2735
    functionName: do_X509_REQ_sign
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - X509_REQ_sign_ctx
    - do_sign_init
    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:2742,1
    - Dst: do_sign_init
      Src: /src/openssl/apps/lib/apps.c:2744,1
    - Dst: X509_CRL_sign_ctx
      Src: /src/openssl/apps/lib/apps.c:2745,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2746,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: 2748
      start: 2738
    functionDepth: 12
    functionLinenumber: 2738
    functionLinenumberEnd: 2748
    functionName: do_X509_CRL_sign
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - X509_CRL_sign_ctx
    - do_sign_init
    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:2793,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/apps/lib/apps.c:2794,1
    - Dst: GENERAL_NAME_get0_value
      Src: /src/openssl/apps/lib/apps.c:2795,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/lib/apps.c:2796,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/lib/apps.c:2797,1
    - Dst: IS_HTTP
      Src: /src/openssl/apps/lib/apps.c:2799,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - dp
    argTypes:
    - DIST_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2783
    functionDepth: 1
    functionLinenumber: 2783
    functionLinenumberEnd: 2804
    functionName: get_dp_url
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - IS_HTTP
    - sk_GENERAL_NAME_num
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - GENERAL_NAME_get0_value
    - sk_GENERAL_NAME_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:2816,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/apps/lib/apps.c:2817,1
    - Dst: get_dp_url
      Src: /src/openssl/apps/lib/apps.c:2819,1
    - Dst: load_crl
      Src: /src/openssl/apps/lib/apps.c:2821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - crldp
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2811
    functionDepth: 6
    functionLinenumber: 2811
    functionLinenumberEnd: 2824
    functionName: load_crl_crldp
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - sk_DIST_POINT_num
    - sk_DIST_POINT_value
    - 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:2835,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:2837,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/lib/apps.c:2839,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/lib/apps.c:2842,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/apps/lib/apps.c:2843,1
    - Dst: load_crl_crldp
      Src: /src/openssl/apps/lib/apps.c:2844,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/apps/lib/apps.c:2845,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/lib/apps.c:2847,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/apps/lib/apps.c:2851,1
    - Dst: load_crl_crldp
      Src: /src/openssl/apps/lib/apps.c:2852,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/apps/lib/apps.c:2853,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/lib/apps.c:2855,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/lib/apps.c:2861,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/lib/apps.c:2862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2831
    functionDepth: 7
    functionLinenumber: 2831
    functionLinenumberEnd: 2864
    functionName: crls_http_cb
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - sk_DIST_POINT_pop_free
    - sk_X509_CRL_pop_free
    - sk_X509_CRL_new_null
    - load_crl_crldp
    - X509_CRL_free
    - sk_X509_CRL_push
    - X509_STORE_CTX_get_current_cert
    - STACK_OF
    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:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2869
    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:2874,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/lib/apps.c:2876,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/apps/lib/apps.c:2877,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/lib/apps.c:2878,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/lib/apps.c:2881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2872
    functionDepth: 2
    functionLinenumber: 2872
    functionLinenumberEnd: 2895
    functionName: tls_error_hint
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ERR_peek_last_error
    - ERR_GET_LIB
    - ERR_GET_REASON
    - ERR_peek_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:2901,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2904,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:2905,1
    - Dst: BIO_ssl_shutdown
      Src: /src/openssl/apps/lib/apps.c:2906,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/lib/apps.c:2907,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2908,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:2909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2897
    functionDepth: 4
    functionLinenumber: 2897
    functionLinenumberEnd: 2913
    functionName: http_tls_shutdown
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BIO_printf
    - BIO_ssl_shutdown
    - tls_error_hint
    - BIO_pop
    - BIO_free
    - ERR_set_mark
    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:2926,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/lib/apps.c:2927,1
    - Dst: X509_VERIFY_PARAM_get0_host
      Src: /src/openssl/apps/lib/apps.c:2928,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/openssl/apps/lib/apps.c:2932,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2934,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:2935,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/apps/lib/apps.c:2935,1
    - Dst: SSL_new
      Src: /src/openssl/apps/lib/apps.c:2938,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2939,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/apps/lib/apps.c:2944,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/lib/apps.c:2946,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/apps/lib/apps.c:2947,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:2949,1
    - Dst: http_tls_shutdown
      Src: /src/openssl/apps/lib/apps.c:2951,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - bio
    - arg
    - connect
    - detail
    argTypes:
    - BIO*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2916
    functionDepth: 6
    functionLinenumber: 2916
    functionLinenumberEnd: 2954
    functionName: app_http_tls_cb
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - BIO_new
    - BIO_f_ssl
    - BIO_free
    - X509_STORE_get0_param
    - SSL_set_connect_state
    - BIO_set_ssl
    - http_tls_shutdown
    - BIO_push
    - OSSL_HTTP_proxy_connect
    - SSL_set_tlsext_host_name
    - opt_getprog
    - X509_VERIFY_PARAM_get0_host
    - SSL_CTX_get_cert_store
    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:2959,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - APP_HTTP_TLS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2956
    functionDepth: 1
    functionLinenumber: 2956
    functionLinenumberEnd: 2962
    functionName: APP_HTTP_TLS_INFO_free
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    - OPENSSL_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:2978,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/lib/apps.c:2982,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/apps.c:2986,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/apps.c:2991,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/apps/lib/apps.c:2999,1
    - Dst: OSSL_HTTP_get
      Src: /src/openssl/apps/lib/apps.c:3002,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/apps/lib/apps.c:3006,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3007,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3010,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3011,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: 3013
      start: 2964
    functionDepth: 7
    functionLinenumber: 2964
    functionLinenumberEnd: 3013
    functionName: app_http_get_asn1
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - OPENSSL_free
    - BIO_free
    - OSSL_HTTP_get
    - ERR_raise
    - OSSL_HTTP_parse_url
    - ASN1_item_d2i_bio
    - OSSL_HTTP_adapt_proxy
    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:3026,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/apps/lib/apps.c:3035,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/apps/lib/apps.c:3038,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3045,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/apps/lib/apps.c:3046,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3047,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: 3049
      start: 3015
    functionDepth: 7
    functionLinenumber: 3015
    functionLinenumberEnd: 3049
    functionName: app_http_post_asn1
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - ASN1_item_i2d_mem_bio
    - BIO_free
    - OSSL_HTTP_adapt_proxy
    - ASN1_item_d2i_bio
    - OSSL_HTTP_transfer
    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: 3060
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3060
    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:3129,1
    - Dst: OpenProcess
      Src: /src/openssl/apps/lib/apps.c:3130,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/apps/lib/apps.c:3131,1
    - Dst: GetProcessTimes
      Src: /src/openssl/apps/lib/apps.c:3139,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3147,1
    - Dst: GetSystemTime
      Src: /src/openssl/apps/lib/apps.c:3151,1
    - Dst: SystemTimeToFileTime
      Src: /src/openssl/apps/lib/apps.c:3152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3118
    functionDepth: 3
    functionLinenumber: 3118
    functionLinenumberEnd: 3168
    functionName: app_tminterval
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - OpenProcess
    - GetProcessTimes
    - GetSystemTime
    - GetCurrentProcessId
    - check_winnt
    - SystemTimeToFileTime
    linkageType: ''
    returnType: double
    signature: double app_tminterval(int stop, int usertime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3185,1
    - Dst: clock_gettime
      Src: /src/openssl/apps/lib/apps.c:3190,1
    - Dst: tickGet
      Src: /src/openssl/apps/lib/apps.c:3197,1
    - Dst: sysClkRateGet
      Src: /src/openssl/apps/lib/apps.c:3201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3172
    functionDepth: 3
    functionLinenumber: 3172
    functionLinenumberEnd: 3204
    functionName: app_tminterval
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - clock_gettime
    - sysClkRateGet
    - tickGet
    linkageType: ''
    returnType: double
    signature: double app_tminterval(int stop, int usertime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: times
      Src: /src/openssl/apps/lib/apps.c:3213,1
    - Dst: sysconf
      Src: /src/openssl/apps/lib/apps.c:3222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3228
    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:3242,1
    - Dst: gettimeofday
      Src: /src/openssl/apps/lib/apps.c:3244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3253
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3253
    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:3259,1
    - Dst: access
      Src: /src/openssl/apps/lib/apps.c:3261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - flag
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3256
    functionDepth: 0
    functionLinenumber: 3256
    functionLinenumberEnd: 3263
    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:3267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3265
    functionDepth: 1
    functionLinenumber: 3265
    functionLinenumberEnd: 3268
    functionName: app_isdir
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    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:3277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3275
    functionDepth: 2
    functionLinenumber: 3275
    functionLinenumberEnd: 3278
    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:3283,1
    - Dst: atexit
      Src: /src/openssl/apps/lib/apps.c:3284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3280
    functionDepth: 2
    functionLinenumber: 3280
    functionLinenumberEnd: 3288
    functionName: fileno_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - TerminalSocket
    - atexit
    linkageType: ''
    returnType: int
    signature: int fileno_stdin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:3292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3293
    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:3298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3299
    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:3306,1
    - Dst: GetStdHandle
      Src: /src/openssl/apps/lib/apps.c:3306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3310
    functionName: raw_read_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - ReadFile
    - GetStdHandle
    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:3316,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/lib/apps.c:3316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3314
    functionDepth: 3
    functionLinenumber: 3314
    functionLinenumberEnd: 3317
    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:3321,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/lib/apps.c:3321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3322
      start: 3319
    functionDepth: 3
    functionLinenumber: 3319
    functionLinenumberEnd: 3322
    functionName: raw_read_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - fileno_stdin
    - read
    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:3330,1
    - Dst: GetStdHandle
      Src: /src/openssl/apps/lib/apps.c:3330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3334
    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:3339,1
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:3339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3340
    functionName: raw_write_stdout
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - fileno
    - write
    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:3344,1
    - Dst: fileno_stdout
      Src: /src/openssl/apps/lib/apps.c:3344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3342
    functionDepth: 1
    functionLinenumber: 3342
    functionLinenumberEnd: 3345
    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:3357,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3355
    functionDepth: 6
    functionLinenumber: 3355
    functionLinenumberEnd: 3359
    functionName: dup_bio_in
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - FMT_istext
    - BIO_new_fp
    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:3363,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3364,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3367,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:3368,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/apps/lib/apps.c:3368,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3371,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:3374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3379
      start: 3361
    functionDepth: 6
    functionLinenumber: 3361
    functionLinenumberEnd: 3379
    functionName: dup_bio_out
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - BIO_new
    - BIO_new_fp
    - BIO_free
    - FMT_istext
    - 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:3383,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3384,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3387,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:3388,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/apps/lib/apps.c:3388,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3391,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:3394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3381
    functionDepth: 6
    functionLinenumber: 3381
    functionLinenumberEnd: 3398
    functionName: dup_bio_err
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - BIO_new_fp
    - BIO_free
    - FMT_istext
    - 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:3413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3417
    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:3421,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3425,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3427,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mode
    - format
    argTypes:
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3419
    functionDepth: 1
    functionLinenumber: 3419
    functionLinenumberEnd: 3433
    functionName: modestr
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - FMT_istext
    - OPENSSL_assert
    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: 3446
      start: 3435
    functionDepth: 0
    functionLinenumber: 3435
    functionLinenumberEnd: 3446
    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:3460,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/lib/apps.c:3461,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3463,1
    - Dst: open
      Src: /src/openssl/apps/lib/apps.c:3488,1
    - Dst: open
      Src: /src/openssl/apps/lib/apps.c:3491,1
    - Dst: fdopen
      Src: /src/openssl/apps/lib/apps.c:3494,1
    - Dst: modestr
      Src: /src/openssl/apps/lib/apps.c:3494,1
    - Dst: fopen
      Src: /src/openssl/apps/lib/apps.c:3497,1
    - Dst: modestr
      Src: /src/openssl/apps/lib/apps.c:3497,1
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:3504,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3509,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:3510,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:3510,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:3511,1
    - Dst: fclose
      Src: /src/openssl/apps/lib/apps.c:3514,1
    - Dst: close
      Src: /src/openssl/apps/lib/apps.c:3517,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - filename
    - format
    - private
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3520
      start: 3451
    functionDepth: 6
    functionLinenumber: 3451
    functionLinenumberEnd: 3520
    functionName: bio_open_owner
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 14
    functionsReached:
    - open
    - BIO_printf
    - BIO_new_fp
    - strerror
    - fopen
    - bio_open_default
    - strcmp
    - FMT_istext
    - close
    - ERR_print_errors
    - fdopen
    - opt_getprog
    - modestr
    - fclose
    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:3527,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/lib/apps.c:3528,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/lib/apps.c:3528,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:3530,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3535,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:3537,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:3539,1
    - Dst: modestr
      Src: /src/openssl/apps/lib/apps.c:3539,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:3541,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3546,1
    - Dst: modeverb
      Src: /src/openssl/apps/lib/apps.c:3548,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:3548,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:3550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - filename
    - mode
    - format
    - quiet
    argTypes:
    - char*
    - char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3522
    functionDepth: 7
    functionLinenumber: 3522
    functionLinenumberEnd: 3552
    functionName: bio_open_default_
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - dup_bio_in
    - strerror
    - dup_bio_out
    - strcmp
    - modeverb
    - ERR_print_errors
    - BIO_new_file
    - modestr
    - ERR_clear_error
    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:3556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - format
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3557
      start: 3554
    functionDepth: 8
    functionLinenumber: 3554
    functionLinenumberEnd: 3557
    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:3561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - format
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3559
    functionDepth: 8
    functionLinenumber: 3559
    functionLinenumberEnd: 3562
    functionName: bio_open_default_quiet
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    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:3570,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3572,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/lib/apps.c:3575,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/apps.c:3578,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3580,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:3585,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:3586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - in
    - filename
    - format
    - private
    argTypes:
    - BIO*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3564
    functionDepth: 7
    functionLinenumber: 3564
    functionLinenumberEnd: 3588
    functionName: mem_bio_to_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_get_mem_ptr
    - BIO_puts
    - BIO_printf
    - BIO_write
    - BIO_free_all
    - bio_open_owner
    - ERR_print_errors
    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:3600,1
    - Dst: app_malloc_array
      Src: /src/openssl/apps/lib/apps.c:3604,1
    - Dst: SSL_get_all_async_fds
      Src: /src/openssl/apps/lib/apps.c:3605,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3606,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/lib/apps.c:3610,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/lib/apps.c:3614,1
    - Dst: select
      Src: /src/openssl/apps/lib/apps.c:3616,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3590
    functionDepth: 1
    functionLinenumber: 3590
    functionLinenumberEnd: 3619
    functionName: wait_for_async
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - SSL_get_all_async_fds
    - select
    - FD_ZERO
    - app_malloc_array
    - openssl_fdset
    linkageType: ''
    returnType: void
    signature: void wait_for_async(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/openssl/apps/lib/apps.c:3626,1
    - Dst: PeekConsoleInput
      Src: /src/openssl/apps/lib/apps.c:3636,1
    - Dst: feof
      Src: /src/openssl/apps/lib/apps.c:3639,1
    - Dst: _kbhit
      Src: /src/openssl/apps/lib/apps.c:3645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3646
    functionName: has_stdin_waiting
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - PeekConsoleInput
    - _kbhit
    - GetStdHandle
    - feof
    linkageType: ''
    returnType: int
    signature: int has_stdin_waiting(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/lib/apps.c:3655,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/lib/apps.c:3656,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/apps/lib/apps.c:3657,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/apps/lib/apps.c:3664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - signature
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3653
    functionDepth: 1
    functionLinenumber: 3653
    functionLinenumberEnd: 3666
    functionName: corrupt_signature
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - OPENSSL_memdup
    - ASN1_STRING_set0
    linkageType: ''
    returnType: int
    signature: int corrupt_signature(ASN1_STRING *signature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3670,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3671,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - time
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3668
    functionDepth: 6
    functionLinenumber: 3668
    functionLinenumberEnd: 3677
    functionName: check_cert_time_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_set_string_X509
    - BIO_printf
    - strcmp
    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:3682,1
    - Dst: check_cert_time_string
      Src: /src/openssl/apps/lib/apps.c:3684,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3686,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/apps/lib/apps.c:3687,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/apps/lib/apps.c:3687,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3688,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3692,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/apps/lib/apps.c:3692,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3693,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3697,1
    - Dst: X509_time_adj_ex
      Src: /src/openssl/apps/lib/apps.c:3702,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/apps/lib/apps.c:3702,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3703,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3706,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/apps/lib/apps.c:3706,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3707,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/apps/lib/apps.c:3710,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/lib/apps.c:3710,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/lib/apps.c:3710,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3711,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: 3717
      start: 3679
    functionDepth: 8
    functionLinenumber: 3679
    functionLinenumberEnd: 3717
    functionName: set_cert_times
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - check_cert_time_string
    - BIO_puts
    - BIO_printf
    - X509_gmtime_adj
    - X509_getm_notAfter
    - ASN1_TIME_compare
    - X509_get0_notAfter
    - X509_get0_notBefore
    - strcmp
    - ASN1_TIME_set_string_X509
    - X509_getm_notBefore
    - X509_time_adj_ex
    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:3722,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/apps/lib/apps.c:3728,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3731,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/openssl/apps/lib/apps.c:3735,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/lib/apps.c:3740,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - crl
    - lastupdate
    argTypes:
    - X509_CRL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3719
    functionDepth: 6
    functionLinenumber: 3719
    functionLinenumberEnd: 3742
    functionName: set_crl_lastupdate
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - X509_gmtime_adj
    - X509_CRL_set1_lastUpdate
    - ASN1_TIME_new
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_free
    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:3748,1
    - Dst: X509_time_adj_ex
      Src: /src/openssl/apps/lib/apps.c:3754,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3757,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/openssl/apps/lib/apps.c:3761,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/lib/apps.c:3766,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: 3768
      start: 3744
    functionDepth: 6
    functionLinenumber: 3744
    functionLinenumberEnd: 3768
    functionName: set_crl_nextupdate
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - X509_CRL_set1_nextUpdate
    - ASN1_TIME_new
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_free
    - X509_time_adj_ex
    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:3775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3776
    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:3825,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3819
    functionDepth: 0
    functionLinenumber: 3819
    functionLinenumberEnd: 3828
    functionName: app_params_free
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    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:3835,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3837,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3839,1
    - Dst: RAND_status
      Src: /src/openssl/apps/lib/apps.c:3841,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3842,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/lib/apps.c:3844,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3845,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:3845,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: 3848
      start: 3830
    functionDepth: 8
    functionLinenumber: 3830
    functionLinenumberEnd: 3848
    functionName: app_keygen
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 6
    functionsReached:
    - BIO_puts
    - BIO_printf
    - EVP_PKEY_keygen
    - RAND_status
    - opt_getprog
    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:3854,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3855,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/apps/lib/apps.c:3857,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3858,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:3859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3850
    functionDepth: 8
    functionLinenumber: 3850
    functionLinenumberEnd: 3861
    functionName: app_paramgen
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - BIO_printf
    - RAND_status
    - opt_getprog
    - EVP_PKEY_paramgen
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *app_paramgen(EVP_PKEY_CTX *ctx, const char *alg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:3884,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3885,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3886,1
    - Dst: getenv
      Src: /src/openssl/apps/lib/apps.c:3889,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3891,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:3894,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3894,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3894,1
    - Dst: strcpy
      Src: /src/openssl/apps/lib/apps.c:3895,1
    - Dst: strcat
      Src: /src/openssl/apps/lib/apps.c:3896,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:3900,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3901,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3902,1
    - Dst: getenv
      Src: /src/openssl/apps/lib/apps.c:3905,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3907,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:3910,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3910,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3910,1
    - Dst: strcpy
      Src: /src/openssl/apps/lib/apps.c:3911,1
    - Dst: strcat
      Src: /src/openssl/apps/lib/apps.c:3912,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:3916,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3917,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3918,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:3921,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3923,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:3926,1
    - Dst: BIO_read
      Src: /src/openssl/apps/lib/apps.c:3928,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3930,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps.c:3931,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3932,1
    - Dst: BIO_read
      Src: /src/openssl/apps/lib/apps.c:3939,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3940,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3943,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps.c:3944,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:3947,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3947,1
    - Dst: strcpy
      Src: /src/openssl/apps/lib/apps.c:3948,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/apps/lib/apps.c:3949,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3949,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps.c:3951,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3955,1
    - Dst: get_str_from_file
      Src: /src/openssl/apps/lib/apps.c:3956,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3959,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3960,1
    - Dst: clear_free
      Src: /src/openssl/apps/lib/apps.c:3961,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:3964,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3964,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:3964,1
    - Dst: strcpy
      Src: /src/openssl/apps/lib/apps.c:3965,1
    - Dst: strcat
      Src: /src/openssl/apps/lib/apps.c:3966,1
    - Dst: clear_free
      Src: /src/openssl/apps/lib/apps.c:3967,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:3971,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3875
    functionDepth: 4
    functionLinenumber: 3875
    functionLinenumberEnd: 3972
    functionName: process_additional_mac_key_arguments
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strdup
    - BIO_printf
    - strcat
    - BIO_read
    - app_malloc
    - OPENSSL_clear_free
    - BIO_free
    - clear_free
    - strcmp
    - getenv
    - OPENSSL_buf2hexstr_ex
    - get_str_from_file
    - strcpy
    - BIO_new_file
    - strlen
    - CHECK_AND_SKIP_PREFIX
    linkageType: ''
    returnType: char
    signature: char *process_additional_mac_key_arguments(const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unbuffer
      Src: /src/openssl/apps/lib/apps.c:3989,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/lib/apps.c:3990,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3992,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:3996,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3998,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:4002,1
    - Dst: memset
      Src: /src/openssl/apps/lib/apps.c:4003,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/apps.c:4004,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:4005,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:4008,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps.c:4009,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:4012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 3981
    functionDepth: 7
    functionLinenumber: 3981
    functionLinenumberEnd: 4016
    functionName: get_str_from_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - strchr
    - dup_bio_in
    - BIO_printf
    - OPENSSL_clear_free
    - app_malloc
    - BIO_free_all
    - memset
    - BIO_gets
    - BIO_new_file
    - unbuffer
    linkageType: ''
    returnType: char
    signature: char *get_str_from_file(const char *filename)
  - 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: OSSL_PROVIDER_unload
      Src: /src/openssl/apps/lib/app_provider.c:50,1
    - Dst: app_providers_cleanup
      Src: /src/openssl/apps/lib/app_provider.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - libctx
    - provider_name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: app_provider_load
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 2
    functionsReached:
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - app_providers_cleanup
    - sk_OSSL_PROVIDER_new_null
    - opt_printf_stderr
    - ERR_print_errors
    - sk_OSSL_PROVIDER_push
    - opt_getprog
    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:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    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:67,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/app_provider.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 68
    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:81,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/lib/app_provider.c:81,1
    - Dst: OSSL_PROVIDER_add_conf_parameter
      Src: /src/openssl/apps/lib/app_provider.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - prov
    - vp
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: set_prov_param
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    - OSSL_PROVIDER_add_conf_parameter
    - strcmp
    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:93,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/app_provider.c:94,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:95,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:96,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/app_provider.c:102,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/app_provider.c:102,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/app_provider.c:104,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/app_provider.c:104,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/app_provider.c:111,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:121,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:122,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/apps/lib/app_provider.c:127,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/app_provider.c:127,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:129,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:130,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:132,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:133,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_provider.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 140
    functionName: opt_provider_param
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - isspace
    - OPENSSL_free
    - app_get0_libctx
    - _UC
    - OSSL_PROVIDER_do_all
    - opt_printf_stderr
    - opt_getprog
    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:152,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/app_provider.c:152,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:152,1
    - Dst: opt_provider_path
      Src: /src/openssl/apps/lib/app_provider.c:154,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:154,1
    - Dst: opt_provider_param
      Src: /src/openssl/apps/lib/app_provider.c:156,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:156,1
    - Dst: app_set_propq
      Src: /src/openssl/apps/lib/app_provider.c:158,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 8
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: opt_provider
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 46
    functionsReached:
    - app_get0_libctx
    - opt_provider_path
    - app_set_propq
    - opt_arg
    - app_provider_load
    - opt_provider_param
    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: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: opt_provider_option_given
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 0
    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:
    - BIO_printf
    - describe_param_type
    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_puts
      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_puts
      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:
    - BIO_puts
    - BIO_printf
    - print_param_utf8
    - printf
    - OSSL_PARAM_get_uint64
    - print_param_octet
    - OSSL_PARAM_get_int64
    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: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:157,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/s_socket.c:161,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:164,1
    - Dst: BIO_connect
      Src: /src/openssl/apps/lib/s_socket.c:170,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:170,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:171,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_socket.c:179,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:180,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/apps/lib/s_socket.c:185,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:185,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:194,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:196,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:198,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:199,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/s_socket.c:204,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:207,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/apps/lib/s_socket.c:211,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:211,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_socket.c:214,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/s_socket.c:217,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:222,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:224,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 92
    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: 226
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 226
    functionName: init_client
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 1
    functionsReached:
    - BIO_sock_init
    - BIO_puts
    - BIO_ADDRINFO_socktype
    - BIO_new_dgram_sctp
    - BIO_connect
    - ERR_clear_error
    - OPENSSL_free
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDR_dup
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - OPENSSL_assert
    - BIO_ADDR_hostname_string
    - BIO_free
    - BIO_bind
    - BIO_ADDRINFO_free
    - ERR_print_errors
    - BIO_printf
    - BIO_ADDRINFO_address
    - BIO_socket
    - BIO_ADDRINFO_protocol
    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:237,1
    - Dst: BIO_sock_info
      Src: /src/openssl/apps/lib/s_socket.c:238,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/apps/lib/s_socket.c:240,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/apps/lib/s_socket.c:242,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_socket.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - asock
    - hostname
    - service
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: get_sock_info_address
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_hostname_string
    - BIO_ADDR_free
    - BIO_ADDR_new
    - 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_puts
      Src: /src/openssl/apps/lib/s_socket.c:251,1
    - Dst: get_sock_info_address
      Src: /src/openssl/apps/lib/s_socket.c:256,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:259,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/s_socket.c:260,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_socket.c:266,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_socket.c:267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_socket.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:271,1
    - Dst: getpid
      Src: /src/openssl/apps/lib/s_socket.c:271,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_socket.c:272,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_socket.c:273,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: 276
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 276
    functionName: report_server_accept
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 0
    functionsReached:
    - strchr
    - BIO_puts
    - BIO_printf
    - OPENSSL_free
    - getpid
    - BIO_flush
    - get_sock_info_address
    linkageType: ''
    returnType: int
    signature: int report_server_accept(BIO *out, int asock, int with_address, int
      with_pid)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/apps/lib/s_socket.c:315,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/apps/lib/s_socket.c:318,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:320,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_socket.c:326,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:326,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:327,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:328,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:330,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:331,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:332,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:333,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/apps/lib/s_socket.c:334,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:341,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:342,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:344,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:350,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:352,1
    - Dst: BIO_socket
      Src: /src/openssl/apps/lib/s_socket.c:358,1
    - Dst: BIO_socket
      Src: /src/openssl/apps/lib/s_socket.c:360,1
    - Dst: BIO_listen
      Src: /src/openssl/apps/lib/s_socket.c:364,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:365,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:366,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:368,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/lib/s_socket.c:380,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:383,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:384,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:385,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/s_socket.c:388,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/apps/lib/s_socket.c:392,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:394,1
    - Dst: report_server_accept
      Src: /src/openssl/apps/lib/s_socket.c:397,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:398,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:399,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_socket.c:411,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/lib/s_socket.c:412,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:414,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:415,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/apps/lib/s_socket.c:419,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/apps/lib/s_socket.c:420,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:422,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:423,1
    - Dst: BIO_set_tcp_ndelay
      Src: /src/openssl/apps/lib/s_socket.c:430,1
    - Dst: shutdown
      Src: /src/openssl/apps/lib/s_socket.c:443,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/lib/s_socket.c:453,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/lib/s_socket.c:454,1
    - Dst: select
      Src: /src/openssl/apps/lib/s_socket.c:455,1
    - Dst: readsocket
      Src: /src/openssl/apps/lib/s_socket.c:456,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:458,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:467,1
    - Dst: unlink
      Src: /src/openssl/apps/lib/s_socket.c:476,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_socket.c:478,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    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: 481
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 481
    functionName: do_server
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 1
    functionsReached:
    - BIO_sock_init
    - unlink
    - BIO_ADDRINFO_socktype
    - report_server_accept
    - BIO_ADDR_free
    - BIO_accept_ex
    - BIO_ADDR_new
    - shutdown
    - select
    - BIO_new_dgram_sctp
    - BIO_set_tcp_ndelay
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDR_rawport
    - BIO_listen
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - OPENSSL_assert
    - BIO_free
    - BIO_ADDRINFO_free
    - BIO_sock_should_retry
    - ERR_print_errors
    - openssl_fdset
    - BIO_ADDRINFO_address
    - readsocket
    - FD_ZERO
    - BIO_socket
    - BIO_ADDRINFO_protocol
    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:489,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/lib/s_socket.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 502
    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:
    - OSSL_sleep
    - kill
    - exit
    - OPENSSL_free
    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_array
      Src: /src/openssl/apps/lib/http_server.c:95,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:100,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:101,1
    - Dst: waitpid
      Src: /src/openssl/apps/lib/http_server.c:111,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:120,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:123,1
    - Dst: WIFEXITED
      Src: /src/openssl/apps/lib/http_server.c:126,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:127,1
    - Dst: WEXITSTATUS
      Src: /src/openssl/apps/lib/http_server.c:129,1
    - Dst: WIFSIGNALED
      Src: /src/openssl/apps/lib/http_server.c:130,1
    - Dst: WCOREDUMP
      Src: /src/openssl/apps/lib/http_server.c:134,1
    - Dst: log_HTTP3
      Src: /src/openssl/apps/lib/http_server.c:137,1
    - Dst: WTERMSIG
      Src: /src/openssl/apps/lib/http_server.c:139,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/lib/http_server.c:141,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:145,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/http_server.c:146,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:147,1
    - Dst: fork
      Src: /src/openssl/apps/lib/http_server.c:153,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/lib/http_server.c:156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/http_server.c:159,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:160,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:161,1
    - Dst: _exit
      Src: /src/openssl/apps/lib/http_server.c:163,1
    - Dst: RAND_poll
      Src: /src/openssl/apps/lib/http_server.c:164,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:165,1
    - Dst: _exit
      Src: /src/openssl/apps/lib/http_server.c:166,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:178,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:180,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:187,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:188,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 189
    functionName: spawn_loop
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 1
    functionsReached:
    - fork
    - waitpid
    - strerror
    - WEXITSTATUS
    - RAND_poll
    - signal
    - log_HTTP3
    - OPENSSL_free
    - WIFEXITED
    - OSSL_sleep
    - WIFSIGNALED
    - openlog
    - log_HTTP
    - WTERMSIG
    - app_malloc_array
    - killall
    - log_HTTP1
    - setpgid
    - exit
    - WCOREDUMP
    - _exit
    - log_HTTP2
    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:200,1
    - Dst: log_set_verbosity
      Src: /src/openssl/apps/lib/http_server.c:201,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/http_server.c:203,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/lib/http_server.c:203,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/http_server.c:206,1
    - Dst: BIO_s_accept
      Src: /src/openssl/apps/lib/http_server.c:206,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/openssl/apps/lib/http_server.c:208,1
    - Dst: BIO_set_bind_mode
      Src: /src/openssl/apps/lib/http_server.c:209,1
    - Dst: BIO_set_accept_name
      Src: /src/openssl/apps/lib/http_server.c:210,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:211,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/apps/lib/http_server.c:215,1
    - Dst: BIO_do_accept
      Src: /src/openssl/apps/lib/http_server.c:217,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:218,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/lib/http_server.c:223,1
    - Dst: report_server_accept
      Src: /src/openssl/apps/lib/http_server.c:224,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:226,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/http_server.c:233,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/http_server.c:234,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/http_server.c:235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - prog
    - port
    - verb
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 237
    functionName: http_server_init
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 2
    functionsReached:
    - BIO_set_accept_name
    - log_set_verbosity
    - BIO_f_buffer
    - BIO_get_fd
    - log_HTTP
    - BIO_new
    - BIO_s_accept
    - report_server_accept
    - BIO_free
    - BIO_free_all
    - BIO_snprintf
    - BIO_set_accept_ip_family
    - BIO_set_accept_bios
    - BIO_set_bind_mode
    - BIO_do_accept
    - ERR_print_errors
    - log_HTTP1
    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:250,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/http_server.c:250,1
    - Dst: isxdigit
      Src: /src/openssl/apps/lib/http_server.c:250,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/http_server.c:250,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/lib/http_server.c:252,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/lib/http_server.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 261
    functionName: urldecode
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached:
    - isxdigit
    - OPENSSL_hexchar2int
    - _UC
    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:284,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/lib/http_server.c:284,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:286,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/http_server.c:291,1
    - Dst: BIO_do_accept
      Src: /src/openssl/apps/lib/http_server.c:293,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/lib/http_server.c:297,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:299,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/lib/http_server.c:309,1
    - Dst: alarm
      Src: /src/openssl/apps/lib/http_server.c:310,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/http_server.c:315,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:320,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:321,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:325,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:326,1
    - Dst: log_get_verbosity
      Src: /src/openssl/apps/lib/http_server.c:328,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/lib/http_server.c:329,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:331,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:332,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:334,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:336,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/http_server.c:341,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/http_server.c:342,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:349,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:352,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/lib/http_server.c:361,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:362,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:365,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/http_server.c:378,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:379,1
    - Dst: urldecode
      Src: /src/openssl/apps/lib/http_server.c:383,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:385,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:387,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/http_server.c:390,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/apps/lib/http_server.c:391,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/http_server.c:392,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/lib/http_server.c:392,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:393,1
    - Dst: BIO_set_flags
      Src: /src/openssl/apps/lib/http_server.c:397,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/http_server.c:398,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:401,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:404,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/http_server.c:419,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:421,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:422,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:426,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:427,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:429,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: 265
    functionDepth: 7
    functionLinenumber: 265
    functionLinenumberEnd: 501
    functionName: http_server_get_asn1_req
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 2
    functionsReached:
    - BIO_get_fd
    - BIO_f_base64
    - ASN1_item_free
    - alarm
    - get_sock_info_address
    - log_get_verbosity
    - ASN1_item_d2i_bio
    - trace_log_message
    - BIO_set_flags
    - BIO_new
    - OPENSSL_free
    - BIO_gets
    - BIO_do_accept
    - log_HTTP
    - urldecode
    - http_server_send_status
    - log_HTTP1
    - BIO_push
    - OPENSSL_strcasecmp
    - HAS_PREFIX
    - strchr
    - OPENSSL_strdup
    - BIO_pop
    - BIO_free_all
    - BIO_new_mem_buf
    - log_HTTP2
    - strlen
    - CHECK_AND_SKIP_PREFIX
    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:
    - ASN1_item_i2d
    - strchr
    - BIO_printf
    - ASN1_item_i2d_bio
    - BIO_snprintf
    - BIO_flush
    - log_HTTP1
    - log_get_verbosity
    - trace_log_message
    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:
    - log_HTTP1
    - BIO_flush
    - BIO_printf
    - BIO_snprintf
    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_puts
      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: 3
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: mk_octet_string
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    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:42,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_x509.c:45,1
    - Dst: X509_set0_distinguishing_id
      Src: /src/openssl/apps/lib/app_x509.c:50,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: 58
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: x509_ctrl
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - 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:65,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_x509.c:68,1
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/openssl/apps/lib/app_x509.c:73,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: 81
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: x509_req_ctrl
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - X509_REQ_set0_distinguishing_id
    - BIO_puts
    - 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:92,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/app_x509.c:95,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/app_x509.c:99,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/app_x509.c:102,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/app_x509.c:106,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/lib/app_x509.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_x509.c:112,1
    - Dst: ctrl
      Src: /src/openssl/apps/lib/app_x509.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_x509.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - object
    - value
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 125
    functionName: do_x509_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strdup
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - strcmp
    - ctrl
    - 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:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - value
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 130
    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:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - value
    argTypes:
    - X509_REQ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 135
    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_puts
      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_puts
      Src: /src/openssl/apps/lib/s_cb.c:94,1
    - Dst: BIO_puts
      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_puts
      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_verify_cert_error_string
    - BIO_puts
    - BIO_printf
    - X509_get0_notAfter
    - X509_get0_notBefore
    - ASN1_TIME_print
    - X509_STORE_CTX_get_error_depth
    - policies_print
    - X509_STORE_CTX_get_current_cert
    - X509_get_subject_name
    - get_nameopt
    - X509_STORE_CTX_get_error
    - X509_get_issuer_name
    - X509_NAME_print_ex
    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:127,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_cb.c:129,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/apps/lib/s_cb.c:134,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:135,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_cb.c:137,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/apps/lib/s_cb.c:150,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:151,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: 157
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 157
    functionName: set_cert_stuff
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_CTX_use_certificate_file
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_check_private_key
    - ERR_print_errors
    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:216,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:220,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:223,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:226,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:230,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 233
    functionName: ssl_print_client_cert_types
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - SSL_get0_certificate_types
    - BIO_printf
    - lookup
    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:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 269
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:275,1
    - Dst: SSL_get0_shared_sigalg
      Src: /src/openssl/apps/lib/s_cb.c:277,1
    - Dst: SSL_get0_sigalg
      Src: /src/openssl/apps/lib/s_cb.c:279,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:284,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:287,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:288,1
    - Dst: SSL_get0_shared_sigalg
      Src: /src/openssl/apps/lib/s_cb.c:294,1
    - Dst: SSL_get0_sigalg
      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:300,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:302,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - out
    - s
    - shared
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 306
    functionName: do_print_sigalgs
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_get0_shared_sigalg
    - SSL_is_server
    - SSL_get0_sigalg
    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:313,1
    - Dst: ssl_print_client_cert_types
      Src: /src/openssl/apps/lib/s_cb.c:314,1
    - Dst: do_print_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:315,1
    - Dst: do_print_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:316,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/apps/lib/s_cb.c:317,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:318,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:318,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:319,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:320,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/openssl/apps/lib/s_cb.c:321,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:322,1
    - Dst: get_sigtype
      Src: /src/openssl/apps/lib/s_cb.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 308
    functionDepth: 7
    functionLinenumber: 308
    functionLinenumberEnd: 324
    functionName: ssl_print_sigalgs
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - SSL_get_peer_signature_type_nid
    - BIO_printf
    - OBJ_nid2sn
    - get_sigtype
    - SSL_get0_peer_signature_name
    - SSL_is_server
    - ssl_print_client_cert_types
    - do_print_sigalgs
    - SSL_get_peer_signature_nid
    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:332,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:335,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:338,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:345,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:349,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:353,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 359
    functionName: ssl_print_point_formats
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_get0_ec_point_formats
    linkageType: ''
    returnType: int
    signature: int ssl_print_point_formats(BIO *out, SSL *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get1_groups
      Src: /src/openssl/apps/lib/s_cb.c:365,1
    - Dst: app_malloc_array
      Src: /src/openssl/apps/lib/s_cb.c:368,1
    - Dst: SSL_get1_groups
      Src: /src/openssl/apps/lib/s_cb.c:369,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:371,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:374,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/apps/lib/s_cb.c:376,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:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:382,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:384,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:387,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/apps/lib/s_cb.c:388,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:391,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/apps/lib/s_cb.c:392,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/apps/lib/s_cb.c:393,1
    - Dst: BIO_printf
      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_puts
      Src: /src/openssl/apps/lib/s_cb.c:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - out
    - s
    - noshared
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 403
    functionName: ssl_print_groups
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_get1_groups
    - SSL_group_to_name
    - OPENSSL_free
    - app_malloc_array
    - SSL_get_shared_group
    linkageType: ''
    returnType: int
    signature: int ssl_print_groups(BIO *out, SSL *s, int noshared)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_tmp_key
      Src: /src/openssl/apps/lib/s_cb.c:411,1
    - Dst: SSL_version
      Src: /src/openssl/apps/lib/s_cb.c:412,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/apps/lib/s_cb.c:413,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/apps/lib/s_cb.c:414,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:417,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:419,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:424,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/apps/lib/s_cb.c:425,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:427,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:427,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/lib/s_cb.c:431,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:433,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:437,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:437,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/apps/lib/s_cb.c:444,1
    - Dst: strcpy
      Src: /src/openssl/apps/lib/s_cb.c:446,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:447,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:447,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:451,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:451,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/apps/lib/s_cb.c:451,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:452,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/s_cb.c:454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 456
    functionName: ssl_print_tmp_key
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OBJ_nid2sn
    - EVP_PKEY_get_utf8_string_param
    - SSL_group_to_name
    - EVP_PKEY_get_bits
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_get_id
    - SSL_get_negotiated_group
    - SSL_version
    - strcpy
    - EVP_PKEY_free
    - SSL_get_peer_tmp_key
    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:465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:472,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:474,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:476,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:483,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:485,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:487,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:499,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:503,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:508,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:520,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:524,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:529,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: 539
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 539
    functionName: bio_dump_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - BIO_dump
    - BIO_printf
    - BIO_get_callback_arg
    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:556,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/apps/lib/s_cb.c:556,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:559,1
    - Dst: SSL_alert_type_string_long
      Src: /src/openssl/apps/lib/s_cb.c:561,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/apps/lib/s_cb.c:562,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:565,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/apps/lib/s_cb.c:566,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:568,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/apps/lib/s_cb.c:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 571
    functionName: apps_ssl_info_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_alert_desc_string_long
    - SSL_state_string_long
    - SSL_alert_type_string_long
    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:657,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:676,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:684,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/s_cb.c:699,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/s_cb.c:703,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:707,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:714,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:718,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:719,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:722,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:723,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:725,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    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: 726
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 726
    functionName: msg_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_snprintf
    - lookup
    - BIO_flush
    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:829,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:831,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:833,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:834,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: 835
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: tlsext_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_dump
    - BIO_flush
    - BIO_printf
    - lookup
    linkageType: ''
    returnType: void
    signature: "void tlsext_cb(SSL *s, int client_server, int type,\n    const unsigned
      char *data, int len, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/apps/lib/s_cb.c:849,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:850,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/apps/lib/s_cb.c:856,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/lib/s_cb.c:857,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:859,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/apps/lib/s_cb.c:864,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/lib/s_cb.c:864,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/apps/lib/s_cb.c:870,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:871,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_cb.c:872,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_cb.c:875,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/apps/lib/s_cb.c:876,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/s_cb.c:878,1
    - Dst: memcpy
      Src: /src/openssl/apps/lib/s_cb.c:880,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/apps/lib/s_cb.c:881,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/apps/lib/s_cb.c:884,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:888,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:894,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_cb.c:895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 838
    functionDepth: 8
    functionLinenumber: 838
    functionLinenumberEnd: 898
    functionName: generate_stateless_cookie_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_ADDR_rawaddress
    - BIO_ADDR_free
    - RAND_bytes
    - OPENSSL_free
    - app_malloc
    - BIO_ADDR_new
    - SSL_is_dtls
    - BIO_ADDR_rawport
    - BIO_dgram_get_peer
    - EVP_Q_mac
    - SSL_get_rbio
    - memcpy
    - OPENSSL_assert
    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:909,1
    - Dst: memcmp
      Src: /src/openssl/apps/lib/s_cb.c:911,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: 915
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 915
    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:921,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: 926
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 926
    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:931,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: 932
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 932
    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:975,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:978,1
    - Dst: SSL_set_cert_flags
      Src: /src/openssl/apps/lib/s_cb.c:979,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:980,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 983
    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:998,1
    - Dst: SSL_certs_clear
      Src: /src/openssl/apps/lib/s_cb.c:1004,1
    - Dst: SSL_check_chain
      Src: /src/openssl/apps/lib/s_cb.c:1020,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1021,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:1022,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/s_cb.c:1022,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:1023,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1024,1
    - Dst: print_chain_flags
      Src: /src/openssl/apps/lib/s_cb.c:1025,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/apps/lib/s_cb.c:1027,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/apps/lib/s_cb.c:1028,1
    - Dst: SSL_build_cert_chain
      Src: /src/openssl/apps/lib/s_cb.c:1037,1
    - Dst: SSL_set1_chain
      Src: /src/openssl/apps/lib/s_cb.c:1040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 989
    functionDepth: 7
    functionLinenumber: 989
    functionLinenumberEnd: 1047
    functionName: set_cert_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - SSL_build_cert_chain
    - BIO_puts
    - BIO_printf
    - SSL_use_certificate
    - SSL_check_chain
    - SSL_certs_clear
    - SSL_use_PrivateKey
    - print_chain_flags
    - X509_get_subject_name
    - SSL_set1_chain
    - get_nameopt
    - X509_NAME_print_ex
    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:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - exc
    argTypes:
    - SSL_CTX*
    - SSL_EXCERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1052
    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:1056,1
    - Dst: memset
      Src: /src/openssl/apps/lib/s_cb.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pexc
    argTypes:
    - SSL_EXCERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1072
    functionName: ssl_excert_prepend
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - app_malloc
    - memset
    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:1081,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/s_cb.c:1082,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/s_cb.c:1083,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:1086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - exc
    argTypes:
    - SSL_EXCERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1074
    functionDepth: 4
    functionLinenumber: 1074
    functionLinenumberEnd: 1088
    functionName: ssl_excert_free
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - X509_free
    - OSSL_STACK_OF_X509_free
    - EVP_PKEY_free
    - OPENSSL_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:1098,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1104,1
    - Dst: load_cert
      Src: /src/openssl/apps/lib/s_cb.c:1107,1
    - Dst: load_key
      Src: /src/openssl/apps/lib/s_cb.c:1112,1
    - Dst: load_key
      Src: /src/openssl/apps/lib/s_cb.c:1115,1
    - Dst: load_certs
      Src: /src/openssl/apps/lib/s_cb.c:1121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pexc
    argTypes:
    - SSL_EXCERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1090
    functionDepth: 5
    functionLinenumber: 1090
    functionLinenumberEnd: 1126
    functionName: load_excert
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - load_certs
    - load_cert
    - load_key
    - ssl_excert_free
    linkageType: ''
    returnType: int
    signature: int load_excert(SSL_EXCERT **pexc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/apps/lib/s_cb.c:1134,1
    - Dst: assert
      Src: /src/openssl/apps/lib/s_cb.c:1135,1
    - Dst: ssl_excert_prepend
      Src: /src/openssl/apps/lib/s_cb.c:1138,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1139,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1140,1
    - Dst: ssl_excert_prepend
      Src: /src/openssl/apps/lib/s_cb.c:1151,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1152,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1152,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1160,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1160,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1163,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:1168,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1171,1
    - Dst: opt_format
      Src: /src/openssl/apps/lib/s_cb.c:1177,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1177,1
    - Dst: opt_format
      Src: /src/openssl/apps/lib/s_cb.c:1181,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1181,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_cb.c:1188,1
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/lib/s_cb.c:1189,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: 1133
        line_start: 1133
        source_file: /src/openssl/apps/lib/s_cb.c
    - condition: (opt < OPT_X__LAST)
      pos:
        line_end: 1134
        line_start: 1134
        source_file: /src/openssl/apps/lib/s_cb.c
    constantsTouched: []
    func_position:
      end: 1192
      start: 1130
    functionDepth: 5
    functionLinenumber: 1130
    functionLinenumberEnd: 1192
    functionName: args_excert
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_printf
    - opt_format
    - opt_getprog
    - opt_arg
    - ssl_excert_free
    - assert
    - ERR_print_errors
    - ssl_excert_prepend
    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:1200,1
    - Dst: SSL_get0_raw_cipherlist
      Src: /src/openssl/apps/lib/s_cb.c:1202,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_cb.c:1203,1
    - Dst: SSL_get0_raw_cipherlist
      Src: /src/openssl/apps/lib/s_cb.c:1204,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1205,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/apps/lib/s_cb.c:1207,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1209,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1211,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/lib/s_cb.c:1211,1
    - Dst: memcmp
      Src: /src/openssl/apps/lib/s_cb.c:1212,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1213,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1216,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1218,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1222
    functionName: print_raw_cipherlist
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_CIPHER_find
    - SSL_get0_raw_cipherlist
    - memcmp
    - SSL_is_server
    - OPENSSL_assert
    - SSL_CIPHER_get_name
    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:1236,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1237,1
    - Dst: exit
      Src: /src/openssl/apps/lib/s_cb.c:1238,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/s_cb.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1248
    functionName: hexencode
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - app_malloc
    - BIO_printf
    - opt_getprog
    - exit
    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:1254,1
    - Dst: SSL_get0_peername
      Src: /src/openssl/apps/lib/s_cb.c:1257,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1259,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1261,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/lib/s_cb.c:1263,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1265,1
    - Dst: SSL_get0_dane_authority
      Src: /src/openssl/apps/lib/s_cb.c:1268,1
    - Dst: SSL_get0_dane_tlsa
      Src: /src/openssl/apps/lib/s_cb.c:1274,1
    - Dst: hexencode
      Src: /src/openssl/apps/lib/s_cb.c:1285,1
    - Dst: hexencode
      Src: /src/openssl/apps/lib/s_cb.c:1287,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1288,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/lib/s_cb.c:1291,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1292,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:1298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1300
    functionName: print_verify_detail
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - X509_verify_cert_error_string
    - BIO_puts
    - BIO_printf
    - SSL_get0_peername
    - SSL_get0_peer_rpk
    - OPENSSL_free
    - SSL_get_verify_result
    - hexencode
    - SSL_get0_dane_authority
    - SSL_get0_dane_tlsa
    linkageType: ''
    returnType: void
    signature: void print_verify_detail(SSL *s, BIO *bio)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/lib/s_cb.c:1306,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/lib/s_cb.c:1307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1311,1
    - Dst: SSL_get_version
      Src: /src/openssl/apps/lib/s_cb.c:1311,1
    - Dst: print_raw_cipherlist
      Src: /src/openssl/apps/lib/s_cb.c:1312,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/lib/s_cb.c:1313,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1314,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/lib/s_cb.c:1314,1
    - Dst: do_print_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:1315,1
    - Dst: SSL_get0_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:1316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1318,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1320,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:1321,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/s_cb.c:1321,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:1322,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1323,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/apps/lib/s_cb.c:1324,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1325,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:1325,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:1326,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1327,1
    - Dst: print_verify_detail
      Src: /src/openssl/apps/lib/s_cb.c:1328,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1330,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:1331,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1332,1
    - Dst: print_verify_detail
      Src: /src/openssl/apps/lib/s_cb.c:1333,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1335,1
    - Dst: ssl_print_point_formats
      Src: /src/openssl/apps/lib/s_cb.c:1338,1
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:1339,1
    - Dst: ssl_print_groups
      Src: /src/openssl/apps/lib/s_cb.c:1340,1
    - Dst: ssl_print_tmp_key
      Src: /src/openssl/apps/lib/s_cb.c:1342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1302
    functionDepth: 7
    functionLinenumber: 1302
    functionLinenumberEnd: 1343
    functionName: print_ssl_summary
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - ssl_print_groups
    - do_print_sigalgs
    - SSL_get_current_cipher
    - X509_get_subject_name
    - SSL_get_peer_signature_nid
    - ssl_print_tmp_key
    - SSL_get_version
    - ssl_print_point_formats
    - SSL_is_server
    - get_nameopt
    - SSL_get0_peer_signature_name
    - SSL_get0_peer_certificate
    - BIO_printf
    - SSL_get0_signature_name
    - OBJ_nid2sn
    - print_raw_cipherlist
    - print_verify_detail
    - SSL_get0_peer_rpk
    - X509_NAME_print_ex
    - 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:1405,1
    - Dst: X509_STORE_load_file
      Src: /src/openssl/apps/lib/s_cb.c:1408,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1409,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/apps/lib/s_cb.c:1412,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1413,1
    - Dst: X509_STORE_load_store
      Src: /src/openssl/apps/lib/s_cb.c:1416,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1417,1
    - Dst: add_crls_store
      Src: /src/openssl/apps/lib/s_cb.c:1420,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/openssl/apps/lib/s_cb.c:1421,1
    - Dst: store_setup_crl_download
      Src: /src/openssl/apps/lib/s_cb.c:1424,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/lib/s_cb.c:1427,1
    - Dst: X509_STORE_load_file
      Src: /src/openssl/apps/lib/s_cb.c:1430,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1431,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/apps/lib/s_cb.c:1434,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1435,1
    - Dst: X509_STORE_load_store
      Src: /src/openssl/apps/lib/s_cb.c:1438,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1439,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/openssl/apps/lib/s_cb.c:1442,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/s_cb.c:1447,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/s_cb.c:1448,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 58
    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: 1450
      start: 1394
    functionDepth: 5
    functionLinenumber: 1394
    functionLinenumberEnd: 1450
    functionName: ssl_load_stores
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_printf
    - SSL_CTX_set1_verify_cert_store
    - store_setup_crl_download
    - X509_STORE_load_store
    - X509_STORE_load_file
    - SSL_CTX_set1_chain_cert_store
    - X509_STORE_load_path
    - X509_STORE_new
    - add_crls_store
    - X509_STORE_free
    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:1495,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1498,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1500,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1509,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1509,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1525,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1530,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/lib/s_cb.c:1530,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/apps/lib/s_cb.c:1536,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:1538,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1539,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/apps/lib/s_cb.c:1544,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1546,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:1546,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/lib/s_cb.c:1548,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1551,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1553,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/lib/s_cb.c:1554,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:1555,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1567,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1569,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1571,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1573,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1577,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1578,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1581,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:1589,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1590,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: 1592
      start: 1486
    functionDepth: 6
    functionLinenumber: 1486
    functionLinenumberEnd: 1592
    functionName: security_callback_debug
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - OBJ_nid2sn
    - EC_curve_nid2nist
    - EVP_PKEY_get_bits
    - EVP_PKEY_get0_type_name
    - lookup
    - X509_get0_pubkey
    - security_debug_ex*::old_cb
    - X509_get_signature_nid
    - SSL_CIPHER_get_name
    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:1600,1
    - Dst: SSL_CTX_set_security_callback
      Src: /src/openssl/apps/lib/s_cb.c:1601,1
    - Dst: SSL_CTX_set0_security_ex_data
      Src: /src/openssl/apps/lib/s_cb.c:1602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - verbose
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1603
    functionName: ssl_ctx_security_debug
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_get_security_callback
    - SSL_CTX_set_security_callback
    - SSL_CTX_set0_security_ex_data
    linkageType: ''
    returnType: void
    signature: void ssl_ctx_security_debug(SSL_CTX *ctx, int verbose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1608,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1616,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:1617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1605
    functionDepth: 3
    functionLinenumber: 1605
    functionLinenumberEnd: 1618
    functionName: keylog_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_flush
    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:1623,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/s_cb.c:1636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1638,1
    - Dst: BIO_tell
      Src: /src/openssl/apps/lib/s_cb.c:1643,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1644,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:1646,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/apps/lib/s_cb.c:1648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - keylog_file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1620
    functionDepth: 4
    functionLinenumber: 1620
    functionLinenumberEnd: 1650
    functionName: set_keylog_file
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_tell
    - BIO_printf
    - BIO_puts
    - SSL_CTX_set_keylog_callback
    - BIO_free_all
    - BIO_flush
    - BIO_new_file
    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:1654,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/apps/lib/s_cb.c:1655,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/apps/lib/s_cb.c:1658,1
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:1659,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1660,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1664,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/apps/lib/s_cb.c:1665,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:1666,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/apps/lib/s_cb.c:1666,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:1666,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/s_cb.c:1667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1652
    functionDepth: 7
    functionLinenumber: 1652
    functionLinenumberEnd: 1669
    functionName: print_ca_names
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 4
    functionsReached:
    - BIO_printf
    - BIO_write
    - sk_X509_NAME_num
    - SSL_is_server
    - SSL_get0_peer_CA_list
    - sk_X509_NAME_value
    - get_nameopt
    - X509_NAME_print_ex
    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:1673,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1674,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/openssl/apps/lib/s_cb.c:1675,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1671
    functionDepth: 3
    functionLinenumber: 1671
    functionLinenumberEnd: 1679
    functionName: ssl_print_secure_renegotiation_notes
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - SSL_VERSION_ALLOWS_RENEGOTIATION
    - BIO_printf
    - SSL_get_secure_renegotiation_support
    - BIO_puts
    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:1683,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/openssl/apps/lib/s_cb.c:1684,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/s_cb.c:1688,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:1689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1681
    functionDepth: 4
    functionLinenumber: 1681
    functionLinenumberEnd: 1691
    functionName: progress_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_keygen_info
    - BIO_flush
    - EVP_PKEY_CTX_get_app_data
    - BIO_write
    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:
    - opener
    - UI_method_get_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:36,1
    - Dst: UI_set_result
      Src: /src/openssl/apps/lib/apps_ui.c:39,1
    - Dst: UI_method_get_reader
      Src: /src/openssl/apps/lib/apps_ui.c:51,1
    - Dst: reader
      Src: /src/openssl/apps/lib/apps_ui.c:53,1
    - Dst: UI_set_result
      Src: /src/openssl/apps/lib/apps_ui.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: ui_read
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - UI_set_result
    - UI_get0_user_data
    - UI_method_get_reader
    - UI_get_string_type
    - reader
    - UI_get_input_flags
    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:63,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:64,1
    - Dst: UI_get_string_type
      Src: /src/openssl/apps/lib/apps_ui.c:65,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:68,1
    - Dst: UI_method_get_writer
      Src: /src/openssl/apps/lib/apps_ui.c:81,1
    - Dst: writer
      Src: /src/openssl/apps/lib/apps_ui.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: ui_write
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - writer
    - UI_get0_user_data
    - UI_get_string_type
    - UI_method_get_writer
    - UI_get_input_flags
    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:89,1
    - Dst: closer
      Src: /src/openssl/apps/lib/apps_ui.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    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:100,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/apps/lib/apps_ui.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ui
    - phrase_desc
    - object_name
    argTypes:
    - UI*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 107
    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:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ui_meth
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    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:119,1
    - Dst: UI_OpenSSL
      Src: /src/openssl/apps/lib/apps_ui.c:121,1
    - Dst: UI_create_method
      Src: /src/openssl/apps/lib/apps_ui.c:123,1
    - Dst: UI_method_set_opener
      Src: /src/openssl/apps/lib/apps_ui.c:125,1
    - Dst: UI_method_set_reader
      Src: /src/openssl/apps/lib/apps_ui.c:126,1
    - Dst: UI_method_set_writer
      Src: /src/openssl/apps/lib/apps_ui.c:127,1
    - Dst: UI_method_set_closer
      Src: /src/openssl/apps/lib/apps_ui.c:128,1
    - Dst: UI_method_set_prompt_constructor
      Src: /src/openssl/apps/lib/apps_ui.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: setup_ui_method
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 2
    functionsReached:
    - UI_method_set_reader
    - UI_method_set_closer
    - UI_method_set_writer
    - UI_method_set_opener
    - UI_method_set_prompt_constructor
    - UI_null
    - UI_create_method
    - UI_OpenSSL
    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:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 138
    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: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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:147,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps_ui.c:150,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps_ui.c:151,1
    - Dst: exit
      Src: /src/openssl/apps/lib/apps_ui.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: ui_malloc
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - exit
    - BIO_printf
    - OPENSSL_malloc
    - ERR_print_errors
    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:167,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/apps/lib/apps_ui.c:172,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps_ui.c:174,1
    - Dst: UI_free
      Src: /src/openssl/apps/lib/apps_ui.c:175,1
    - Dst: UI_ctrl
      Src: /src/openssl/apps/lib/apps_ui.c:180,1
    - Dst: UI_add_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:183,1
    - Dst: UI_add_input_string
      Src: /src/openssl/apps/lib/apps_ui.c:185,1
    - Dst: ui_malloc
      Src: /src/openssl/apps/lib/apps_ui.c:189,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/apps/lib/apps_ui.c:190,1
    - Dst: UI_process
      Src: /src/openssl/apps/lib/apps_ui.c:195,1
    - Dst: UI_ctrl
      Src: /src/openssl/apps/lib/apps_ui.c:196,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps_ui.c:198,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps_ui.c:201,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps_ui.c:203,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps_ui.c:204,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/lib/apps_ui.c:205,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps_ui.c:209,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/lib/apps_ui.c:210,1
    - Dst: UI_free
      Src: /src/openssl/apps/lib/apps_ui.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps_ui.c:214,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: 216
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 216
    functionName: password_callback
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 5
    functionsReached:
    - BIO_puts
    - ui_malloc
    - OPENSSL_cleanse
    - UI_new_method
    - OPENSSL_clear_free
    - OPENSSL_free
    - UI_construct_prompt
    - UI_add_verify_string
    - UI_process
    - UI_add_user_data
    - ERR_print_errors
    - strlen
    - UI_ctrl
    - UI_free
    - UI_add_input_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:
    - (
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: IS_IN_DEPEND_VECTOR
    functionSourceFile: /src/openssl/include/arch/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: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/arch/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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: RISCV_HAS_ZBB_AND_ZBC
    functionSourceFile: /src/openssl/include/arch/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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: RISCV_HAS_ZBKB_AND_ZKND_AND_ZKNE
    functionSourceFile: /src/openssl/include/arch/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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: RISCV_HAS_ZKND_AND_ZKNE
    functionSourceFile: /src/openssl/include/arch/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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: RISCV_HAS_ZVKB
    functionSourceFile: /src/openssl/include/arch/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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: RISCV_HAS_ZVKB_AND_ZVKNHA
    functionSourceFile: /src/openssl/include/arch/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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: RISCV_HAS_ZVKB_AND_ZVKNHB
    functionSourceFile: /src/openssl/include/arch/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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: RISCV_HAS_ZVKB_AND_ZVKSED
    functionSourceFile: /src/openssl/include/arch/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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: RISCV_HAS_ZVKB_AND_ZVKSH
    functionSourceFile: /src/openssl/include/arch/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:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: S390X_CAPBIT
    functionSourceFile: /src/openssl/include/arch/s390x_arch.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_CAPBIT(i)
  - 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: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: mflo
    functionSourceFile: /src/openssl/include/arch/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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: mfhi
    functionSourceFile: /src/openssl/include/arch/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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: mflo
    functionSourceFile: /src/openssl/include/arch/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: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: mfhi
    functionSourceFile: /src/openssl/include/arch/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: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: dmultu
    functionSourceFile: /src/openssl/include/arch/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: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: multu
    functionSourceFile: /src/openssl/include/arch/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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: mflo
    functionSourceFile: /src/openssl/include/arch/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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: mfhi
    functionSourceFile: /src/openssl/include/arch/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: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: SPARC_PIC_THUNK
    functionSourceFile: /src/openssl/include/arch/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: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: SPARC_PIC_THUNK_CALL
    functionSourceFile: /src/openssl/include/arch/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: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: SPARC_SETUP_GOT_REG
    functionSourceFile: /src/openssl/include/arch/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: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: SPARC_SETUP_GOT_REG
    functionSourceFile: /src/openssl/include/arch/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: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: SPARC_LOAD_ADDRESS
    functionSourceFile: /src/openssl/include/arch/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: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: SPARC_LOAD_ADDRESS
    functionSourceFile: /src/openssl/include/arch/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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: SPARC_LOAD_ADDRESS_LEAF
    functionSourceFile: /src/openssl/include/arch/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: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: SPARC_LOAD_ADDRESS
    functionSourceFile: /src/openssl/include/arch/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: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: SPARC_LOAD_ADDRESS_LEAF
    functionSourceFile: /src/openssl/include/arch/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:
    - (
    - midr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: MIDR_PARTNUM
    functionSourceFile: /src/openssl/include/arch/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: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: MIDR_IMPLEMENTER
    functionSourceFile: /src/openssl/include/arch/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: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: MIDR_ARCHITECTURE
    functionSourceFile: /src/openssl/include/arch/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: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: MIDR_CPU_MODEL
    functionSourceFile: /src/openssl/include/arch/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: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: MIDR_IS_CPU_MODEL
    functionSourceFile: /src/openssl/include/arch/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: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: IS_CPU_SUPPORT_UNROLL8_EOR3
    functionSourceFile: /src/openssl/include/arch/arm_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CPU_SUPPORT_UNROLL8_EOR3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    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:
    - (
    - 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: 92
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 92
    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: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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: 21
    argNames:
    - (
    - cname
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - flags
    - )
    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: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - )
    argTypes:
    - 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: 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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - )
    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: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    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)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - cname
    - ','
    - ksched
    - ','
    - cprefix
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - )
    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: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    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)"
  - 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: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    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: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    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: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    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: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    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: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    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: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: evp_pkey_is_legacy
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 7
    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: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: evp_pkey_is_provided
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 27
    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: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    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: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: EVP_PKEY_CTX_IS_DERIVE_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 17
    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: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    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: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    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: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    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: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    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: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    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: 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: 5
    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: 6
    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: 6
    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: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    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: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    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:51,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/include/crypto/lms_util.h:52,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/include/crypto/lms_util.h:56,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: 57
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 57
    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:20,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/include/crypto/sm4_platform.h:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    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:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    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: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: CHACHA_U8TOU32
    functionSourceFile: /src/openssl/include/crypto/chacha.h
    functionUses: 0
    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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    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:
    - (
    - gctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: AES_GCM_ASM
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 0
    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: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: AES_GCM_ASM
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 0
    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: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: S390X_AES_FC
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 0
    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: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: S390X_AES_FC
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 0
    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: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: AES_GCM_ASM
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 0
    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: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: U64
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 22
    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: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: U64
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 22
    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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: U64
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 22
    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: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 6
    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: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 5
    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: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 6
    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: 5
    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: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 6
    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: 5
    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: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 6
    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: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 5
    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: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 6
    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: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 5
    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: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 6
    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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 5
    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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: PUTU32
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 12
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: PUTU32
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 12
    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: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    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: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    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: 2
    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: 4
    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: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    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: 334
    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: 46
    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: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    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: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: PACKET_remaining
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 42
    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: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    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: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: PACKET_msg_start
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *PACKET_msg_start(const PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: PACKET_data
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 9
    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: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: PACKET_buf_init
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 62
    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: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: PACKET_null_init
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    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:108,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/include/internal/packet.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - ptr
    - num
    argTypes:
    - PACKET*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:121,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/include/internal/packet.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - subpkt
    - len
    argTypes:
    - PACKET*
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    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:139,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - subpkt
    - len
    argTypes:
    - PACKET*
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PACKET_get_sub_packet
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 3
    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:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    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:167,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: PACKET_get_net_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 16
    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:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 185
    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:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 202
    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:208,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 214
    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:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 226
    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:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 244
    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:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 266
    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:272,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: PACKET_get_net_4
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - PACKET_peek_net_4
    - packet_forward
    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:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 290
    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:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 308
    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:313,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: PACKET_get_net_8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_peek_net_8
    - packet_forward
    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:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 331
    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:336,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: PACKET_get_1
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 15
    functionsReached:
    - PACKET_peek_1
    - packet_forward
    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:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 354
    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:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 372
    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:381,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: PACKET_get_4
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached:
    - PACKET_peek_4
    - packet_forward
    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:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 405
    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:417,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: PACKET_get_bytes
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 18
    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:430,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/packet.h:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 436
    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:445,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: PACKET_copy_bytes
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 6
    functionsReached:
    - packet_forward
    - PACKET_peek_copy_bytes
    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:464,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/packet.h:469,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: 471
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 471
    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:487,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:491,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/include/internal/packet.h:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 502
    functionName: PACKET_memdup
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached:
    - PACKET_remaining
    - OPENSSL_memdup
    - OPENSSL_free
    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:516,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/include/internal/packet.h:519,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: PACKET_strndup
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 3
    functionsReached:
    - PACKET_remaining
    - OPENSSL_strndup
    - OPENSSL_free
    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:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: PACKET_contains_zero_byte
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 3
    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:532,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: PACKET_forward
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 25
    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:553,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: PACKET_get_length_prefixed_1
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 9
    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:575,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:575,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 585
    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:601,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 611
    functionName: PACKET_get_length_prefixed_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 11
    functionsReached:
    - PACKET_get_bytes
    - PACKET_get_net_2
    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:624,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:624,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 634
    functionName: PACKET_as_length_prefixed_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 9
    functionsReached:
    - PACKET_remaining
    - PACKET_get_bytes
    - PACKET_get_net_2
    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:649,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 643
    functionDepth: 3
    functionLinenumber: 643
    functionLinenumberEnd: 659
    functionName: PACKET_get_length_prefixed_3
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - PACKET_get_bytes
    - PACKET_get_net_3
    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: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    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: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    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: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    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: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    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: 850
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 850
    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: 852
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 852
    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: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    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: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    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: 888
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 888
    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: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    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: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    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: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    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: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: WPACKET_put_bytes_u8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 24
    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: 912
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 912
    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: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    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: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    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: 918
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 918
    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: 939
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 939
    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: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    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: 943
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 943
    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: 945
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 945
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 1
    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:78,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: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    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: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    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:106,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:111,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:114,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:115,1
    - Dst: sendmsg
      Src: /src/openssl/include/internal/ktls.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - fd
    - record_type
    - data
    - lengthi
    - flags
    argTypes:
    - int
    - unsigned char
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: ktls_send_ctrl_message
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - sendmsg
    - CMSG_LEN
    - CMSG_SPACE
    - CMSG_DATA
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ktls_send_ctrl_message(int fd,\n    unsigned char record_type,
      const void *data, size_t lengthi, 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: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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:148,1
    - Dst: recvmsg
      Src: /src/openssl/include/internal/ktls.h:167,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:181,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:183,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 196
    functionName: ktls_read_record
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 3
    functionsReached:
    - recvmsg
    - CMSG_LEN
    - CMSG_SPACE
    - CMSG_DATA
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_read_record(int fd, void *data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendfile
      Src: /src/openssl/include/internal/ktls.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - fd
    - 'off'
    - size
    - sbytes
    - flags
    argTypes:
    - int
    - int
    - off_t
    - size_t
    - ossl_ssize_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: ktls_sendfile
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 1
    functionsReached:
    - sendfile
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ktls_sendfile(int s, int fd, off_t off, size_t size,\n
      \   ossl_ssize_t *sbytes, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: ktls_enable
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 1
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_enable(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ktls_enable
      Src: /src/openssl/include/internal/ktls.h:308,1
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - crypto_info
    - is_tx
    argTypes:
    - int
    - ktls_crypto_info_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: ktls_start
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - ktls_enable
    - 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:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    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:345,1
    - Dst: memset
      Src: /src/openssl/include/internal/ktls.h:349,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:352,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:355,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:356,1
    - Dst: sendmsg
      Src: /src/openssl/include/internal/ktls.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - fd
    - record_type
    - data
    - length
    - flags
    argTypes:
    - int
    - unsigned char
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 365
    functionName: ktls_send_ctrl_message
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - sendmsg
    - CMSG_LEN
    - CMSG_SPACE
    - memset
    - CMSG_DATA
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ktls_send_ctrl_message(int fd,\n    unsigned char record_type,
      const void *data, size_t length, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sendfile
      Src: /src/openssl/include/internal/ktls.h:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - s
    - fd
    - 'off'
    - size
    - sbytes
    - flags
    argTypes:
    - int
    - int
    - off_t
    - size_t
    - ossl_ssize_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 383
    functionName: ktls_sendfile
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 1
    functionsReached:
    - sendfile
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_sendfile(int s, int fd, off_t off, size_t size, ossl_ssize_t
      *sbytes, 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: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    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:406,1
    - Dst: memset
      Src: /src/openssl/include/internal/ktls.h:418,1
    - Dst: memset
      Src: /src/openssl/include/internal/ktls.h:427,1
    - Dst: recvmsg
      Src: /src/openssl/include/internal/ktls.h:429,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:439,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:443,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 455
    functionName: ktls_read_record
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 3
    functionsReached:
    - recvmsg
    - CMSG_LEN
    - CMSG_SPACE
    - memset
    - CMSG_FIRSTHDR
    - CMSG_DATA
    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: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    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: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    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:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    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: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    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: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    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: 406
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 406
    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: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    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: 439
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 439
    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: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    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:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - s
    - final_size
    argTypes:
    - QUIC_STREAM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 479
    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:492,1
    - Dst: ossl_assert
      Src: /src/openssl/include/internal/quic_stream_map.h:502,1
    - Dst: ossl_quic_rxfc_get_final_size
      Src: /src/openssl/include/internal/quic_stream_map.h:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - s
    - final_size
    argTypes:
    - QUIC_STREAM*
    - uint64_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/openssl/include/internal/quic_stream_map.h
    constantsTouched: []
    func_position:
      end: 507
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 507
    functionName: ossl_quic_stream_recv_get_final_size
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_get_final_size
    - ossl_assert
    - 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:521,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/include/internal/quic_stream_map.h:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - include_fin
    argTypes:
    - QUIC_STREAM*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/openssl/include/internal/quic_stream_map.h
    constantsTouched: []
    func_position:
      end: 543
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 543
    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: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    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:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    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: 5
    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: 1
    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: 5
    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: 1
    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: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    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: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 5
    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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 5
    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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 5
    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: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    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: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    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: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - int64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: tsan_add_fallback64
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline tsan_add_fallback64(int64_t *ptr, int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: tsan_add_fallback32
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline tsan_add_fallback32(int32_t *ptr, int32_t 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: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    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: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: tsan_counter
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 2
    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: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    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: 172
    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: 40
    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: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    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: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    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: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    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: 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: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: writesocket_ex
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket_ex(s, b, n, f)
  - 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: 122
    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: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: writesocket_ex
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket_ex(s, b, n, f)
  - 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: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 122
    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: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    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: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: writesocket_ex
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket_ex(s, b, n, f)
  - 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: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 122
    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: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    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: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s, b, n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writesocket
      Src: /src/openssl/include/internal/sockets.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - b
    - n
    - f
    argTypes:
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: writesocket_ex
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 1
    functionsReached:
    - writesocket
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline writesocket_ex(int s, char *b, int n, int f)
  - 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: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    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: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s, b, n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writesocket
      Src: /src/openssl/include/internal/sockets.h:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - b
    - n
    - f
    argTypes:
    - int
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: writesocket_ex
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 1
    functionsReached:
    - writesocket
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline writesocket_ex(int s, const void *b, int n, int f)
  - 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: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    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: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 122
    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: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    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: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 122
    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: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    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: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: writesocket_ex
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket_ex(s, b, n, f)
  - 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: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    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: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    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: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    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:63,1
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/ring_buf.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cleanse
    argTypes:
    - struct ring_buf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    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: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    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:89,1
    - Dst: safe_add_u64
      Src: /src/openssl/include/internal/ring_buf.h:91,1
    - Dst: safe_add_u64
      Src: /src/openssl/include/internal/ring_buf.h:92,1
    - Dst: safe_add_u64
      Src: /src/openssl/include/internal/ring_buf.h:93,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/ring_buf.h:104,1
    - Dst: assert
      Src: /src/openssl/include/internal/ring_buf.h:113,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: 112
        line_start: 112
        source_file: /src/openssl/include/internal/ring_buf.h
    constantsTouched: []
    func_position:
      end: 116
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 116
    functionName: ring_buf_write_at
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached:
    - safe_add_u64
    - ring_buf_avail
    - memcpy
    - 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:126,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/ring_buf.h:141,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: 149
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 149
    functionName: ring_buf_push
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 1
    functionsReached:
    - ring_buf_avail
    - memcpy
    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: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    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: 202
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 202
    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:208,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/include/internal/ring_buf.h:222,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/include/internal/ring_buf.h:227,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: 207
        line_start: 207
        source_file: /src/openssl/include/internal/ring_buf.h
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 234
    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:246,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/include/internal/ring_buf.h:249,1
    - Dst: ring_buf_used
      Src: /src/openssl/include/internal/ring_buf.h:254,1
    - Dst: ring_buf_get_buf_at
      Src: /src/openssl/include/internal/ring_buf.h:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/ring_buf.h:259,1
    - Dst: ring_buf_push
      Src: /src/openssl/include/internal/ring_buf.h:266,1
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/ring_buf.h:267,1
    - Dst: assert
      Src: /src/openssl/include/internal/ring_buf.h:274,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/include/internal/ring_buf.h:277,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/ring_buf.h:278,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: 273
        line_start: 273
        source_file: /src/openssl/include/internal/ring_buf.h
    constantsTouched: []
    func_position:
      end: 280
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 280
    functionName: ring_buf_resize
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 2
    functionsReached:
    - ring_buf_push
    - OPENSSL_free
    - ring_buf_used
    - assert
    - ring_buf_destroy
    - memcpy
    - ring_buf_get_buf_at
    - 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: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    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: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    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: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    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: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    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: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: HT_INIT_RAW_KEY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INIT_RAW_KEY(key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/internal/hashtable.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - key
    - buf
    - len
    argTypes:
    - HT_KEY*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: ossl_key_raw_copy
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_key_raw_copy(HT_KEY *key, const uint8_t *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: HT_COPY_RAW_KEY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_COPY_RAW_KEY(key, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: HT_COPY_RAW_KEY_CASE
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_COPY_RAW_KEY_CASE(key, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: HT_INIT_KEY_CACHED
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INIT_KEY_CACHED(key, hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: HT_INIT_KEY_EXTERNAL
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INIT_KEY_EXTERNAL(key, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: HT_KEY_GET_HASH
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_KEY_GET_HASH(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: HT_KEY_RESET
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 5
    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: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: HT_SET_KEY_FIELD
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 6
    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: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    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: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: HT_SET_KEY_STRING_CASE
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    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: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    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: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: HT_SET_KEY_STRING_CASE_N
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    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: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    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: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: TO_HT_KEY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 14
    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: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    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: 326
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 326
    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: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - key
    - tgt
    - src
    - len
    argTypes:
    - HT_KEY*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 362
    functionName: ossl_ht_strcase
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_ht_strcase(HT_KEY *key, char *tgt, const char *src,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group_id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: is_ecdhe_group
    functionSourceFile: /src/openssl/include/internal/tlsgroups.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_ecdhe_group(const uint16_t group_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - group_id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: is_ffdhe_group
    functionSourceFile: /src/openssl/include/internal/tlsgroups.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_ffdhe_group(const uint16_t group_id)
  - 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: CSHAKE_KECCAK_MDSIZE
    functionSourceFile: /src/openssl/include/internal/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSHAKE_KECCAK_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_unchecked
    - ossl_quic_vlint_decode_len
    - packet_forward
    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_decode_unchecked
    - ossl_quic_vlint_decode_len
    - ossl_quic_vlint_encode_len
    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:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 116
    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: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    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: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    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: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    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: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    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: 431
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 431
    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: 443
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 443
    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: 34
    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: 34
    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: 225
    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: 225
    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: 9
    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: 1
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: DECIMAL_SIZE
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 3
    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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    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: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    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: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    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: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: l2c
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 24
    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: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    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: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    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: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    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: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    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: 190
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 190
    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: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    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: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    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: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    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:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: ossl_ends_with_dirsep
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 1
    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:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    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:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 245
    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: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    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: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    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: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: BIO_set_ktls_ctrl_msg_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 3
    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: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    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: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    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: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    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: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    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: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    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: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    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: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    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: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    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: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    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: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    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: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    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: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    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: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    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: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    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: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    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: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    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: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    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: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    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: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    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: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    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:297,1
    - Dst: PROCESSHANDLE_DECOMPOSE_
      Src: /src/openssl/include/internal/e_os.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: nssgetpid
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 0
    functionsReached:
    - PROCESSHANDLE_GETMINE_
    - PROCESSHANDLE_DECOMPOSE_
    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: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    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: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: accept
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 40
    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: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    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: 39
    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: 36
    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: 39
    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: 36
    functionsReached:
    - __atomic_thread_fence
    - __atomic_fetch_sub
    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: 39
    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: 36
    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: 39
    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: 36
    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: 39
    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: 36
    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: 39
    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: 36
    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: 37
    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: 47
    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: 39
    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: 36
    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: 37
    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: 47
    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: 29
    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: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: constant_time_msb
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 3
    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: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    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: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    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: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: constant_time_msb_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    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:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: constant_time_lt
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 5
    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:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    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:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: constant_time_lt_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_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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    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: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    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:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    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:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 180
    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:186,1
    - Dst: value_barrier_bn
      Src: /src/openssl/include/internal/constant_time.h:186,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: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: constant_time_select_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    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:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: constant_time_ge
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    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:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 199
    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:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 205
    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:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    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:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    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:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 225
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 235
    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:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 241
    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:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 246
    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:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 252
    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:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 257
    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:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 262
    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:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 267
    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: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    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: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: value_barrier_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    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: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    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: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    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: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    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:339,1
    - Dst: value_barrier
      Src: /src/openssl/include/internal/constant_time.h:339,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: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: constant_time_select
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    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:346,1
    - Dst: value_barrier_s
      Src: /src/openssl/include/internal/constant_time.h:346,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: 347
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: constant_time_select_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    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:353,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: 354
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 354
    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:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: constant_time_select_int
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 10
    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:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 366
    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:371,1
    - Dst: value_barrier_32
      Src: /src/openssl/include/internal/constant_time.h:371,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: 372
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: constant_time_select_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    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:377,1
    - Dst: value_barrier_64
      Src: /src/openssl/include/internal/constant_time.h:377,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: 378
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: constant_time_select_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    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:395,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: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    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:415,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: 418
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 418
    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:442,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: 446
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 446
    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:464,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/include/internal/constant_time.h:468,1
    - Dst: constant_time_select_8
      Src: /src/openssl/include/internal/constant_time.h:470,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: 472
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 472
    functionName: constant_time_lookup
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - memset
    - constant_time_select_8
    - constant_time_is_zero_s
    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: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 499
    functionName: constish_time_true
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constish_time_true(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    functionName: constish_time_true
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constish_time_true(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: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: CONSTTIME_SECRET
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    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: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    functionName: CONSTTIME_DECLASSIFY
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTTIME_DECLASSIFY(ptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/include/internal/constant_time.h:545,1
    - Dst: value_barrier_32
      Src: /src/openssl/include/internal/constant_time.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 547
    functionName: constant_time_declassify_u32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - value_barrier_32
    - CONSTTIME_DECLASSIFY
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_declassify_u32(uint32_t v)
  - 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: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    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: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    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: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    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: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    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: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    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: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    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: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    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: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    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: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: TSAN_BENIGN
    functionSourceFile: /src/openssl/include/internal/threads_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSAN_BENIGN(x, desc)
  - 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: 1
    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: 4
    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: 4
    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: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    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: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    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: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    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: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    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: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    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: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    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: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    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: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    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: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: QUIC_LISTENER_FROM_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 2
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    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: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    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: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    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: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    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: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    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: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    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: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    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: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    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:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    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: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    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: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    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:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    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:95,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: ossl_time_to_timeval
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 6
    functionsReached:
    - safe_add_time
    - ossl_time_infinite
    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:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    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: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    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: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    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: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    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:150,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    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:156,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    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:164,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: ossl_time_add
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 20
    functionsReached:
    - safe_add_time
    - ossl_time_infinite
    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:173,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: ossl_time_subtract
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 16
    functionsReached:
    - safe_sub_time
    - ossl_time_zero
    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:180,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/include/internal/time.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 182
    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:189,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: ossl_time_multiply
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 1
    functionsReached:
    - ossl_time_infinite
    - safe_mul_time
    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:198,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 200
    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:207,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:208,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: 209
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: ossl_time_muldiv
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - safe_muldiv_time
    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: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    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: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    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: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    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: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    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: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    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: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ossl_rcu_deref
    functionSourceFile: /src/openssl/include/internal/rcu.h
    functionUses: 14
    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: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    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: 70
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 70
    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: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    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:53,1
    - Dst: ERR_set_debug
      Src: /src/openssl/include/internal/mem_alloc_utils.h:54,1
    - Dst: ERR_set_error
      Src: /src/openssl/include/internal/mem_alloc_utils.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - file
    - line
    - reason
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: ossl_report_alloc_err_ex
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 0
    functionsReached:
    - ERR_set_debug
    - ERR_set_error
    - 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:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ossl_report_alloc_err
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 2
    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:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    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:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: ossl_report_alloc_err_inv
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 2
    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:90,1
    - Dst: ossl_unlikely
      Src: /src/openssl/include/internal/mem_alloc_utils.h:92,1
    - Dst: ossl_report_alloc_err_of
      Src: /src/openssl/include/internal/mem_alloc_utils.h:93,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: 99
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: ossl_size_mul
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 8
    functionsReached:
    - ossl_unlikely
    - ossl_report_alloc_err_of
    - safe_mul_size_t
    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:111,1
    - Dst: ossl_unlikely
      Src: /src/openssl/include/internal/mem_alloc_utils.h:113,1
    - Dst: ossl_report_alloc_err_of
      Src: /src/openssl/include/internal/mem_alloc_utils.h:114,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: 120
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 120
    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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: BN_num_bytes
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 53
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    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: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    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: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    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
    - ','
    - a
    - ','
    - m
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: BN_mod
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_mod(rem, a, m, 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: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    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: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    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: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: RSA_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/rsa.h
    functionUses: 2
    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: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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: 1
    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: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    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: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    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: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    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: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    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: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    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: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    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: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    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: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    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: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    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: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    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: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    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: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    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: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    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: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    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: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    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: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    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: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    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: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    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: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    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: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    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: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    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: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    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: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    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: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    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: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    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: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    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: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    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: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    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: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    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: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    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: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    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: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    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: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    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: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    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: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    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: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    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: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    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: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    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: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    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: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    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: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    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: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    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: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    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: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    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: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    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: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    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: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    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: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    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: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    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: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    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: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    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: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    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: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    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: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    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: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    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: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    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: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    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: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    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: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    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: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    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: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    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: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    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: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    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: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    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: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    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: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    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: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    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: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    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: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    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: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    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: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    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: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: EVP_PKEY_assign_DSA
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 11
    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: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    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: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: EVP_PKEY_assign_EC_KEY
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 14
    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: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    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: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    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: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: EVP_get_digestbynid
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 6
    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: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: EVP_get_digestbyobj
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 5
    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: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: EVP_get_cipherbynid
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    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: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: EVP_get_cipherbyobj
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 2
    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: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: EVP_MD_CTX_get0_name
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    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: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    functionName: EVP_MD_CTX_get_size
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 3
    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: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    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: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: EVP_MD_CTX_get_type
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 3
    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: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    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: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    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: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    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: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: EVP_CIPHER_CTX_get_mode
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    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: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: EVP_ENCODE_LENGTH
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 3
    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: 579
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 579
    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: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    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: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    functionName: EVP_SignInit
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    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: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: EVP_SignUpdate
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 2
    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: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    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: 585
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 585
    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: 586
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 586
    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: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    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: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    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: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    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: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    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: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    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: 597
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 597
    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: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    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: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    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: 606
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 606
    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: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    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: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    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: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    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: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    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: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    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: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    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: 828
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 828
    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: 829
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 829
    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: 1111
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    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: 1115
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    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: 1118
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1118
    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: 1120
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1120
    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: 1124
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1124
    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: 1126
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1126
    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: 1130
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1130
    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: 1410
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1410
    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: 1422
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1422
    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: 1891
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1891
    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:
    - (
    - curve
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1959
    functionName: EVP_EC_gen
    functionSourceFile: /src/openssl/include/openssl/evp.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: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    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: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    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: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    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: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    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:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: OSSL_DEPRECATED_MESSAGE
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_MESSAGE(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:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: OSSL_DEPRECATED_MESSAGE
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_MESSAGE(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: 61
    functionDepth: 0
    functionLinenumber: 61
    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: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    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:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: OSSL_DEPRECATED_MESSAGE
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_MESSAGE(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:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: OSSL_DEPRECATED_MESSAGE
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_MESSAGE(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    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: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    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:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: OSSL_DEPRECATED_MESSAGE
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_MESSAGE(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: OSSL_DEPRECATEDIN_4_1_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_4_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: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: OSSL_DEPRECATEDIN_4_0_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_4_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: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    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: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    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: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    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: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    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: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    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: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    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: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    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: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    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: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    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: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    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: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    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: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    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: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    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: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    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: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    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: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    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: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    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: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: SSL_set_tlsext_host_name
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 31
    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: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    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: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    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: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    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: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    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: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    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: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    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: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    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: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    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: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    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: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    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: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    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: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    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: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    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: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    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: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: SSL_CTX_set_tlsext_ticket_keys
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 2
    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: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    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: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    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: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    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: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    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: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    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: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    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: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    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: 3
    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: 8
    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: 5
    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: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    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: 936
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 936
    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: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    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: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    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: 1092
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: EC_KEY_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 1
    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:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1554
    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: 5
    argNames:
    - (
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: ENGINE_VOID_FUNC
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_VOID_FUNC(name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ENGINE_VOID_FUNC_NOARGS
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_VOID_FUNC_NOARGS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ret_type
    - ','
    - name
    - ','
    - args
    - ','
    - default_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ENGINE_FUNC
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_FUNC(ret_type, name, args, default_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ret_type
    - ','
    - name
    - ','
    - default_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ENGINE_FUNC_NOARGS
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_FUNC_NOARGS(ret_type, name, default_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ENGINE_VOID_FUNC
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_VOID_FUNC(name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ENGINE_VOID_FUNC_NOARGS
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_VOID_FUNC_NOARGS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1102
    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: 1124
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1124
    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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    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: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    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: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    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: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    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: 133
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 133
    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: 147
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 147
    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: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    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: 155
    functionDepth: 0
    functionLinenumber: 155
    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: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    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: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    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:
    - OSSL_HTOLE16
    - memcpy
    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:
    - memcpy
    - OSSL_HTOBE16
    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:
    - OSSL_HTOLE32
    - memcpy
    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:
    - OSSL_HTOLE64
    - memcpy
    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: 4
    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: 3
    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: 3
    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: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    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: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: OSSL_TRACE_END
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 30
    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: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    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: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    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: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: OSSL_TRACE_END
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 30
    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: 16
    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: 15
    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: 10
    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: 1
    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: 1
    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: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    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: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    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: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    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: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    - ossl_prov_is_running
    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_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    - ossl_prov_is_running
    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: 775
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 775
    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:779,1
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/openssl/providers/defltprov.c:779,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/defltprov.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 781
    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:804,1
    - Dst: ossl_prov_seeding_from_dispatch
      Src: /src/openssl/providers/defltprov.c:805,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/openssl/providers/defltprov.c:810,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/openssl/providers/defltprov.c:813,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/providers/defltprov.c:816,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/defltprov.c:835,1
    - Dst: ossl_bio_prov_init_bio_method
      Src: /src/openssl/providers/defltprov.c:836,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/defltprov.c:837,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/defltprov.c:841,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/defltprov.c:842,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/defltprov.c:843,1
    - Dst: ossl_prov_ctx_set0_core_bio_method
      Src: /src/openssl/providers/defltprov.c:844,1
    - Dst: ossl_prov_ctx_set0_core_get_params
      Src: /src/openssl/providers/defltprov.c:845,1
    - Dst: ossl_prov_cache_exported_algorithms
      Src: /src/openssl/providers/defltprov.c:848,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: 851
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 851
    functionName: ossl_default_provider_init
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached:
    - ossl_bio_prov_init_bio_method
    - ossl_prov_ctx_set0_handle
    - ossl_prov_seeding_from_dispatch
    - OSSL_FUNC_core_get_params
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_bio_from_dispatch
    - ossl_prov_ctx_new
    - ossl_prov_cache_exported_algorithms
    - ossl_prov_ctx_set0_core_get_params
    - ossl_prov_ctx_free
    - c_get_libctx
    - OSSL_FUNC_core_get_libctx
    - ossl_prov_ctx_set0_core_bio_method
    - OSSL_FUNC_core_gettable_params
    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_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    - ossl_prov_is_running
    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_bio_prov_init_bio_method
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_get_params
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_bio_from_dispatch
    - ossl_prov_ctx_new
    - ossl_prov_ctx_set0_core_get_params
    - ossl_prov_ctx_free
    - c_get_libctx
    - OSSL_FUNC_core_get_libctx
    - ossl_prov_ctx_set0_core_bio_method
    - 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: 3
    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: 8
    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_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int legacy_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: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    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:196,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/legacyprov.c:196,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/legacyprov.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: legacy_teardown
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_prov_ctx_free
    - 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:233,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/openssl/providers/legacyprov.c:233,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:236,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/openssl/providers/legacyprov.c:236,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:239,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/openssl/providers/legacyprov.c:239,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:242,1
    - Dst: OSSL_FUNC_core_set_error_mark
      Src: /src/openssl/providers/legacyprov.c:242,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:245,1
    - Dst: OSSL_FUNC_core_clear_last_error_mark
      Src: /src/openssl/providers/legacyprov.c:246,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:249,1
    - Dst: OSSL_FUNC_core_pop_error_to_mark
      Src: /src/openssl/providers/legacyprov.c:249,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:252,1
    - Dst: OSSL_FUNC_core_count_to_mark
      Src: /src/openssl/providers/legacyprov.c:252,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/legacyprov.c:258,1
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/openssl/providers/legacyprov.c:259,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/providers/legacyprov.c:260,1
    - Dst: legacy_teardown
      Src: /src/openssl/providers/legacyprov.c:261,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/legacyprov.c:265,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/legacyprov.c:266,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: 271
      start: 209
    functionDepth: 6
    functionLinenumber: 209
    functionLinenumberEnd: 271
    functionName: OSSL_provider_init
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_vset_error
    - OSSL_FUNC_core_set_error_mark
    - set_func
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new_child
    - ossl_prov_ctx_set0_libctx
    - OSSL_FUNC_core_new_error
    - ossl_prov_ctx_new
    - OSSL_FUNC_core_pop_error_to_mark
    - OSSL_FUNC_core_set_error_debug
    - OSSL_FUNC_core_clear_last_error_mark
    - OSSL_FUNC_core_count_to_mark
    - legacy_teardown
    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: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: ERR_new
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 6
    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:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: ERR_set_debug
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 6
    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:297,1
    - Dst: c_vset_error
      Src: /src/openssl/providers/legacyprov.c:298,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/legacyprov.c:298,1
    - Dst: va_end
      Src: /src/openssl/providers/legacyprov.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: ERR_set_error
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 5
    functionsReached:
    - va_end
    - ERR_PACK
    - c_vset_error
    - 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:304,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/legacyprov.c:304,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: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    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:309,1
    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: ERR_set_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 107
    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:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 64
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 98
    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:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: ERR_count_to_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 13
    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:46,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:47,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:49,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:53,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:54,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/fips/self_test_kats.c:55,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:59,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:62,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:66,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:67,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 10
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: self_test_digest
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int self_test_digest(const ST_DEFINITION *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:83,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:86,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/providers/fips/self_test_kats.c:87,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:94,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/fips/self_test_kats.c:95,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/fips/self_test_kats.c:97,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:100,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/providers/fips/self_test_kats.c:101,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:102,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: 103
      start: 76
    functionDepth: 8
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: cipher_init
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 4
    functionsReached:
    - EVP_CIPHER_CTX_set_padding
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_set_flags
    - 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:115,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:117,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:120,1
    - Dst: cipher_init
      Src: /src/openssl/providers/fips/self_test_kats.c:126,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:127,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:129,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:132,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:135,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/fips/self_test_kats.c:141,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:144,1
    - Dst: cipher_init
      Src: /src/openssl/providers/fips/self_test_kats.c:151,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:152,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:154,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:156,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:159,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/fips/self_test_kats.c:165,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:166,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:167,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 169
    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_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_CipherFinal_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_ctrl
    - cipher_init
    - EVP_CIPHER_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_CIPHER_CTX_free
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int self_test_cipher(const ST_DEFINITION *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:182,1
    - Dst: BN_bin2bn
      Src: /src/openssl/providers/fips/self_test_kats.c:185,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/fips/self_test_kats.c:186,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:191,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:197,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/providers/fips/self_test_kats.c:203,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: 214
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: add_params
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_int
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    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:236,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/fips/self_test_kats.c:239,1
    - Dst: va_start
      Src: /src/openssl/providers/fips/self_test_kats.c:243,1
    - Dst: va_arg
      Src: /src/openssl/providers/fips/self_test_kats.c:244,1
    - Dst: add_params
      Src: /src/openssl/providers/fips/self_test_kats.c:245,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/self_test_kats.c:246,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/self_test_kats.c:249,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/fips/self_test_kats.c:251,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:254,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 257
    functionName: kat_params_to_ossl_params
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - add_params
    - BN_CTX_free
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - va_arg
    - va_start
    - va_end
    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:268,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:270,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:274,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:278,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/providers/fips/self_test_kats.c:284,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:287,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:289,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/providers/fips/self_test_kats.c:294,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:295,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:296,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/fips/self_test_kats.c:298,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 259
    functionDepth: 7
    functionLinenumber: 259
    functionLinenumberEnd: 302
    functionName: self_test_kdf
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_free
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_KDF_fetch
    - OSSL_SELF_TEST_oncorrupt_byte
    - OPENSSL_cleanse
    - memcmp
    - kat_params_to_ossl_params
    linkageType: ''
    returnType: int
    signature: "int self_test_kdf(const ST_DEFINITION *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:317,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:319,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:323,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:324,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:328,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:330,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:333,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:337,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:338,1
    - Dst: EVP_RAND_get_strength
      Src: /src/openssl/providers/fips/self_test_kats.c:342,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:344,1
    - Dst: EVP_RAND_CTX_set_params
      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:349,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:352,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:355,1
    - Dst: EVP_RAND_instantiate
      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:361,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:364,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/providers/fips/self_test_kats.c:367,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:373,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:376,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/providers/fips/self_test_kats.c:383,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:389,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:391,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:394,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/openssl/providers/fips/self_test_kats.c:400,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:405,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:406,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:407,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 304
    functionDepth: 10
    functionLinenumber: 304
    functionLinenumberEnd: 409
    functionName: self_test_drbg
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_set_params
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_new
    - EVP_RAND_generate
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_uint
    - EVP_RAND_uninstantiate
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_RAND_CTX_free
    - EVP_RAND_verify_zeroization
    - EVP_RAND_get_strength
    - EVP_RAND_instantiate
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int self_test_drbg(const ST_DEFINITION *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:423,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:428,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:430,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:436,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:439,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:440,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:442,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:443,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:447,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/providers/fips/self_test_kats.c:451,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/providers/fips/self_test_kats.c:452,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/providers/fips/self_test_kats.c:453,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:456,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:459,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:463,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:464,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:465,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:466,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:467,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:468,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:469,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 412
    functionDepth: 7
    functionLinenumber: 412
    functionLinenumberEnd: 471
    functionName: self_test_ka
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - memcmp
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_CTX_new_from_name
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_derive_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - kat_params_to_ossl_params
    linkageType: ''
    returnType: int
    signature: "int self_test_ka(const ST_DEFINITION *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:480,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:481,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:485,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:486,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/fips/self_test_kats.c:487,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:488,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:489,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: 492
      start: 474
    functionDepth: 10
    functionLinenumber: 474
    functionLinenumberEnd: 492
    functionName: digest_signature
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    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: 30
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:514,1
    - Dst: set_kat_drbg
      Src: /src/openssl/providers/fips/self_test_kats.c:517,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:523,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:524,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:525,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:527,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:533,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:534,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:537,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:540,1
    - Dst: memcpy
      Src: /src/openssl/providers/fips/self_test_kats.c:548,1
    - Dst: EVP_PKEY_sign_init_ex2
      Src: /src/openssl/providers/fips/self_test_kats.c:551,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/providers/fips/self_test_kats.c:554,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/providers/fips/self_test_kats.c:559,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:562,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/providers/fips/self_test_kats.c:567,1
    - Dst: digest_signature
      Src: /src/openssl/providers/fips/self_test_kats.c:575,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:578,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:582,1
    - Dst: EVP_PKEY_verify_init_ex2
      Src: /src/openssl/providers/fips/self_test_kats.c:590,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/providers/fips/self_test_kats.c:593,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:596,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/providers/fips/self_test_kats.c:597,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:603,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:604,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:605,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:606,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/providers/fips/self_test_kats.c:607,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:608,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:609,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:610,1
    - Dst: reset_main_drbg
      Src: /src/openssl/providers/fips/self_test_kats.c:612,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:615,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 104
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 494
    functionDepth: 11
    functionLinenumber: 494
    functionLinenumberEnd: 617
    functionName: self_test_digest_sign
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - reset_main_drbg
    - digest_signature
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_CTX_new_from_name
    - OSSL_SELF_TEST_oncorrupt_byte
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_verify_init_ex2
    - memcpy
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_sign_init_ex2
    - OPENSSL_free
    - EVP_SIGNATURE_free
    - OPENSSL_malloc
    - OSSL_PARAM_free
    - set_kat_drbg
    - EVP_PKEY_free
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_free
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_SELF_TEST_onbegin
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_verify
    - memcmp
    - kat_params_to_ossl_params
    linkageType: ''
    returnType: int
    signature: "int self_test_digest_sign(const ST_DEFINITION *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:634,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:636,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:640,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/providers/fips/self_test_kats.c:645,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:646,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/providers/fips/self_test_kats.c:647,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/providers/fips/self_test_kats.c:652,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:655,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:658,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:663,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:664,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:665,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:666,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 623
    functionDepth: 7
    functionLinenumber: 623
    functionLinenumberEnd: 668
    functionName: self_test_asym_keygen
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_free
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    - memcmp
    - kat_params_to_ossl_params
    linkageType: ''
    returnType: int
    signature: "int self_test_asym_keygen(const ST_DEFINITION *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:685,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:688,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:692,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/providers/fips/self_test_kats.c:695,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:699,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:700,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:705,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:709,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:711,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:714,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:716,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:721,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:722,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:723,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:724,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: 726
      start: 676
    functionDepth: 12
    functionLinenumber: 676
    functionLinenumberEnd: 726
    functionName: self_test_kem_encapsulate
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - memcmp
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:743,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/fips/self_test_kats.c:748,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:754,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/providers/fips/self_test_kats.c:758,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:762,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:767,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:773,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:775,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:781,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:782,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:783,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: 785
      start: 732
    functionDepth: 12
    functionLinenumber: 732
    functionLinenumberEnd: 785
    functionName: self_test_kem_decapsulate
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - memcmp
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_PKEY_decapsulate
    - 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:804,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:807,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:811,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:812,1
    - Dst: self_test_kem_encapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:815,1
    - Dst: self_test_kem_decapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:816,1
    - Dst: self_test_kem_decapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:817,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:822,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:823,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:824,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 796
    functionDepth: 13
    functionLinenumber: 796
    functionLinenumberEnd: 826
    functionName: self_test_kem
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - self_test_kem_decapsulate
    - self_test_kem_encapsulate
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - kat_params_to_ossl_params
    linkageType: ''
    returnType: int
    signature: "int self_test_kem(const ST_DEFINITION *t, OSSL_SELF_TEST *st,\n    OSSL_LIB_CTX
      *libctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:847,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:849,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/fips/self_test_kats.c:854,1
    - Dst: add_params
      Src: /src/openssl/providers/fips/self_test_kats.c:856,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/fips/self_test_kats.c:858,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:859,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:862,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:863,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:867,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/providers/fips/self_test_kats.c:869,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/providers/fips/self_test_kats.c:870,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/fips/self_test_kats.c:875,1
    - Dst: add_params
      Src: /src/openssl/providers/fips/self_test_kats.c:878,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/fips/self_test_kats.c:880,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:883,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/providers/fips/self_test_kats.c:888,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/providers/fips/self_test_kats.c:893,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:899,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:901,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:906,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:907,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:908,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:909,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:910,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:911,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:912,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:913,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:914,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 64
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 835
    functionDepth: 6
    functionLinenumber: 835
    functionLinenumberEnd: 916
    functionName: self_test_asym_cipher
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_encrypt
    - EVP_PKEY_decrypt
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_new_from_name
    - OSSL_SELF_TEST_oncorrupt_byte
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_pkey
    - BN_CTX_new_ex
    - EVP_PKEY_decrypt_init
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_encrypt_init
    - BN_CTX_free
    - OSSL_PARAM_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - add_params
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_SELF_TEST_onbegin
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int self_test_asym_cipher(const ST_DEFINITION *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:930,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:932,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:936,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:940,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/fips/self_test_kats.c:947,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/fips/self_test_kats.c:948,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/fips/self_test_kats.c:949,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:952,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:955,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/fips/self_test_kats.c:960,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:961,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:962,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:963,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_DEFINITION*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 919
    functionDepth: 10
    functionLinenumber: 919
    functionLinenumberEnd: 965
    functionName: self_test_mac
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - EVP_MAC_fetch
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - OSSL_PARAM_free
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - EVP_MAC_init
    - OSSL_SELF_TEST_oncorrupt_byte
    - EVP_MAC_final
    - memcmp
    - kat_params_to_ossl_params
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int self_test_mac(const ST_DEFINITION *t, OSSL_SELF_TEST *st,\n    OSSL_LIB_CTX
      *libctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:1003,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:1007,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1008,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:1012,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:1014,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:1017,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:1021,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1022,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:1026,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:1027,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:1031,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:1033,1
    - Dst: EVP_RAND_instantiate
      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:1038,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/fips/self_test_kats.c:1042,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:1044,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1046,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1050,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1054,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1056,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1058,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1062,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1063,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    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: 1066
      start: 985
    functionDepth: 10
    functionLinenumber: 985
    functionLinenumberEnd: 1066
    functionName: set_kat_drbg
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - EVP_RAND_CTX_set_params
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_new
    - RAND_set0_private
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - EVP_RAND_CTX_up_ref
    - EVP_RAND_instantiate
    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:1072,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1075,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/openssl/providers/fips/self_test_kats.c:1076,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1068
    functionDepth: 7
    functionLinenumber: 1068
    functionLinenumberEnd: 1082
    functionName: reset_main_drbg
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 1
    functionsReached:
    - EVP_RAND_CTX_free
    - EVP_RAND_verify_zeroization
    - EVP_RAND_uninstantiate
    - RAND_set0_private
    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:1092,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:1096,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1097,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:1101,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:1103,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1106,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1084
    functionDepth: 10
    functionLinenumber: 1084
    functionLinenumberEnd: 1114
    functionName: setup_main_random
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_free
    - EVP_RAND_CTX_new
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    linkageType: ''
    returnType: int
    signature: int setup_main_random(OSSL_LIB_CTX *libctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: self_test_digest
      Src: /src/openssl/providers/fips/self_test_kats.c:1123,1
    - Dst: self_test_cipher
      Src: /src/openssl/providers/fips/self_test_kats.c:1126,1
    - Dst: self_test_digest_sign
      Src: /src/openssl/providers/fips/self_test_kats.c:1129,1
    - Dst: self_test_kdf
      Src: /src/openssl/providers/fips/self_test_kats.c:1132,1
    - Dst: self_test_drbg
      Src: /src/openssl/providers/fips/self_test_kats.c:1135,1
    - Dst: self_test_ka
      Src: /src/openssl/providers/fips/self_test_kats.c:1139,1
    - Dst: self_test_asym_keygen
      Src: /src/openssl/providers/fips/self_test_kats.c:1144,1
    - Dst: self_test_kem
      Src: /src/openssl/providers/fips/self_test_kats.c:1149,1
    - Dst: self_test_asym_cipher
      Src: /src/openssl/providers/fips/self_test_kats.c:1153,1
    - Dst: self_test_mac
      Src: /src/openssl/providers/fips/self_test_kats.c:1156,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test_kats.c:1163,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test_kats.c:1166,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test_kats.c:1167,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - st
    - libctx
    - id
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    - self_test_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1116
    functionDepth: 14
    functionLinenumber: 1116
    functionLinenumberEnd: 1171
    functionName: SELF_TEST_kats_single
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - self_test_kdf
    - self_test_asym_cipher
    - self_test_asym_keygen
    - self_test_ka
    - self_test_drbg
    - self_test_cipher
    - ERR_raise
    - self_test_digest_sign
    - self_test_kem
    - self_test_mac
    - self_test_digest
    - ossl_set_self_test_state
    linkageType: ''
    returnType: int
    signature: "int SELF_TEST_kats_single(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx,\n
      \   self_test_id_t id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SELF_TEST_kats_execute
      Src: /src/openssl/providers/fips/self_test_kats.c:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - st
    - libctx
    - test
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    - ST_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1184
    functionName: SELF_TEST_kat_deps
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - SELF_TEST_kats_execute
    linkageType: ''
    returnType: int
    signature: "int SELF_TEST_kat_deps(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx,\n
      \   ST_DEFINITION *test)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test_kats.c:1197,1
    - Dst: ossl_rand_get0_private_noncreating
      Src: /src/openssl/providers/fips/self_test_kats.c:1222,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1223,1
    - Dst: setup_main_random
      Src: /src/openssl/providers/fips/self_test_kats.c:1225,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1226,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1228,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1229,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test_kats.c:1237,1
    - Dst: SELF_TEST_kat_deps
      Src: /src/openssl/providers/fips/self_test_kats.c:1242,1
    - Dst: SELF_TEST_kats_single
      Src: /src/openssl/providers/fips/self_test_kats.c:1251,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test_kats.c:1258,1
    - Dst: SELF_TEST_kat_deps
      Src: /src/openssl/providers/fips/self_test_kats.c:1271,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test_kats.c:1282,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1286,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 4
    argNames:
    - st
    - libctx
    - id
    - switch_rand
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    - self_test_id_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1190
    functionDepth: 15
    functionLinenumber: 1190
    functionLinenumberEnd: 1291
    functionName: SELF_TEST_kats_execute
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_rand_get0_private_noncreating
    - RAND_set0_private
    - setup_main_random
    - SELF_TEST_kat_deps
    - EVP_RAND_CTX_free
    - EVP_RAND_CTX_up_ref
    - SELF_TEST_kats_single
    - ossl_set_self_test_state
    linkageType: ''
    returnType: int
    signature: "int SELF_TEST_kats_execute(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx,\n
      \   self_test_id_t id, int switch_rand)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get0_private_noncreating
      Src: /src/openssl/providers/fips/self_test_kats.c:1301,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1304,1
    - Dst: setup_main_random
      Src: /src/openssl/providers/fips/self_test_kats.c:1306,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1307,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1309,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1310,1
    - Dst: SELF_TEST_kats_execute
      Src: /src/openssl/providers/fips/self_test_kats.c:1318,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1299
    functionDepth: 16
    functionLinenumber: 1299
    functionLinenumberEnd: 1326
    functionName: SELF_TEST_kats
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - ossl_rand_get0_private_noncreating
    - RAND_set0_private
    - setup_main_random
    - SELF_TEST_kats_execute
    - EVP_RAND_CTX_free
    - EVP_RAND_CTX_up_ref
    linkageType: ''
    returnType: int
    signature: int SELF_TEST_kats(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_get_self_test_state
      Src: /src/openssl/providers/fips/self_test_kats.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - self_test_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1341
    functionName: ossl_self_test_in_progress
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - ossl_get_self_test_state
    linkageType: ''
    returnType: int
    signature: int ossl_self_test_in_progress(self_test_id_t id)
  - 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: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ALG
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(NAMES, FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - FIPS_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: get_fips_params
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FIPS_PARAMS
    signature: FIPS_PARAMS *get_fips_params(FIPS_GLOBAL *fgbl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:112,1
    - Dst: init_fips_params
      Src: /src/openssl/providers/fips/fipsprov.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: ossl_fips_prov_ossl_ctx_new
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - init_fips_params
    linkageType: ''
    returnType: void
    signature: void *ossl_fips_prov_ossl_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/providers/fips/fipsprov.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/fipsprov.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: ossl_fips_prov_ossl_ctx_free
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - 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:137,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/fips/fipsprov.c:139,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/fips/fipsprov.c:140,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: 141
      start: 129
    functionDepth: 7
    functionLinenumber: 129
    functionLinenumberEnd: 141
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:147,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:148,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:149,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: fips_gettable_params
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - 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:160,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:160,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:163,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/fips/fipsprov.c:164,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:166,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/fips/fipsprov.c:167,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:169,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/fips/fipsprov.c:170,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:172,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/fips/fipsprov.c:173,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/fips/fipsprov.c:173,1
    - Dst: return_fips_params
      Src: /src/openssl/providers/fips/fipsprov.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: fips_get_params
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_lib_ctx_get_data
    - OSSL_PARAM_set_int
    - ossl_prov_ctx_get0_libctx
    - return_fips_params
    - OSSL_PARAM_set_utf8_ptr
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int fips_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:181,1
    - Dst: c_stcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:184,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - FIPS_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: set_self_test_cb
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - c_get_libctx
    - c_stcbfn
    - FIPS_get_core_handle
    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:194,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:194,1
    - Dst: set_self_test_cb
      Src: /src/openssl/providers/fips/fipsprov.c:197,1
    - Dst: SELF_TEST_post
      Src: /src/openssl/providers/fips/fipsprov.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 199
    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: 246
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 246
    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: 376
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: FIPS_KDFS_COMMON
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIPS_KDFS_COMMON()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/fips/fipsprov.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 741
    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:748,1
    - Dst: fips_query
      Src: /src/openssl/providers/fips/fipsprov.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 761
    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:766,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/fips/fipsprov.c:766,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/fips/fipsprov.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 4
    functionLinenumber: 763
    functionLinenumberEnd: 768
    functionName: fips_teardown
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_prov_ctx_free
    - 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:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 777
    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: 40
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/fips/fipsprov.c:824,1
    - Dst: ossl_prov_seeding_from_dispatch
      Src: /src/openssl/providers/fips/fipsprov.c:826,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:841,1
    - Dst: OSSL_FUNC_core_get_libctx
      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_gettable_params
      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_get_params
      Src: /src/openssl/providers/fips/fipsprov.c:847,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:850,1
    - Dst: OSSL_FUNC_core_thread_start
      Src: /src/openssl/providers/fips/fipsprov.c:850,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:853,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/openssl/providers/fips/fipsprov.c:853,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:856,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/openssl/providers/fips/fipsprov.c:856,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:859,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/openssl/providers/fips/fipsprov.c:859,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:862,1
    - Dst: OSSL_FUNC_core_set_error_mark
      Src: /src/openssl/providers/fips/fipsprov.c:862,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:865,1
    - Dst: OSSL_FUNC_core_clear_last_error_mark
      Src: /src/openssl/providers/fips/fipsprov.c:866,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:869,1
    - Dst: OSSL_FUNC_core_pop_error_to_mark
      Src: /src/openssl/providers/fips/fipsprov.c:869,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:872,1
    - Dst: OSSL_FUNC_core_count_to_mark
      Src: /src/openssl/providers/fips/fipsprov.c:872,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:875,1
    - Dst: OSSL_FUNC_CRYPTO_malloc
      Src: /src/openssl/providers/fips/fipsprov.c:875,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:878,1
    - Dst: OSSL_FUNC_CRYPTO_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:878,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:881,1
    - Dst: OSSL_FUNC_CRYPTO_free
      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_clear_free
      Src: /src/openssl/providers/fips/fipsprov.c:884,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:887,1
    - Dst: OSSL_FUNC_CRYPTO_realloc
      Src: /src/openssl/providers/fips/fipsprov.c:887,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:890,1
    - Dst: OSSL_FUNC_CRYPTO_clear_realloc
      Src: /src/openssl/providers/fips/fipsprov.c:891,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:894,1
    - Dst: OSSL_FUNC_CRYPTO_secure_malloc
      Src: /src/openssl/providers/fips/fipsprov.c:895,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:898,1
    - Dst: OSSL_FUNC_CRYPTO_secure_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:899,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:902,1
    - Dst: OSSL_FUNC_CRYPTO_secure_free
      Src: /src/openssl/providers/fips/fipsprov.c:903,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:906,1
    - Dst: OSSL_FUNC_CRYPTO_secure_clear_free
      Src: /src/openssl/providers/fips/fipsprov.c:907,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:910,1
    - Dst: OSSL_FUNC_CRYPTO_secure_allocated
      Src: /src/openssl/providers/fips/fipsprov.c:911,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:914,1
    - Dst: OSSL_FUNC_BIO_new_file
      Src: /src/openssl/providers/fips/fipsprov.c:915,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:918,1
    - Dst: OSSL_FUNC_BIO_new_membuf
      Src: /src/openssl/providers/fips/fipsprov.c:919,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:922,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/openssl/providers/fips/fipsprov.c:923,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:926,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/openssl/providers/fips/fipsprov.c:926,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:929,1
    - Dst: OSSL_FUNC_BIO_vsnprintf
      Src: /src/openssl/providers/fips/fipsprov.c:929,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:932,1
    - Dst: OSSL_FUNC_self_test_cb
      Src: /src/openssl/providers/fips/fipsprov.c:932,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:935,1
    - Dst: OSSL_FUNC_indicator_cb
      Src: /src/openssl/providers/fips/fipsprov.c:935,1
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/providers/fips/fipsprov.c:943,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/fips/fipsprov.c:946,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/providers/fips/fipsprov.c:947,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/fips/fipsprov.c:950,1
    - Dst: ossl_thread_register_fips
      Src: /src/openssl/providers/fips/fipsprov.c:961,1
    - Dst: ossl_provider_activate_fallbacks
      Src: /src/openssl/providers/fips/fipsprov.c:970,1
    - Dst: fips_get_params_from_core
      Src: /src/openssl/providers/fips/fipsprov.c:974,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:975,1
    - Dst: set_self_test_cb
      Src: /src/openssl/providers/fips/fipsprov.c:995,1
    - Dst: SELF_TEST_disable_conditional_error_state
      Src: /src/openssl/providers/fips/fipsprov.c:1001,1
    - Dst: ossl_prov_cache_exported_algorithms
      Src: /src/openssl/providers/fips/fipsprov.c:1003,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/fips/fipsprov.c:1006,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:1007,1
    - Dst: SELF_TEST_post
      Src: /src/openssl/providers/fips/fipsprov.c:1011,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:1012,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1016,1
    - Dst: ossl_prov_ctx_set0_core_get_params
      Src: /src/openssl/providers/fips/fipsprov.c:1017,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1018,1
    - Dst: fips_teardown
      Src: /src/openssl/providers/fips/fipsprov.c:1023,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/providers/fips/fipsprov.c:1024,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 148
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 815
    functionDepth: 10
    functionLinenumber: 815
    functionLinenumberEnd: 1027
    functionName: OSSL_provider_init_int
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - OSSL_FUNC_self_test_cb
    - ossl_provider_activate_fallbacks
    - OSSL_FUNC_CRYPTO_secure_allocated
    - OPENSSL_cpuid_setup
    - ossl_prov_ctx_new
    - set_self_test_cb
    - OSSL_FUNC_core_clear_last_error_mark
    - OSSL_FUNC_core_gettable_params
    - OSSL_FUNC_CRYPTO_malloc
    - OSSL_LIB_CTX_new
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_vset_error
    - ossl_prov_seeding_from_dispatch
    - OSSL_FUNC_CRYPTO_clear_free
    - OSSL_FUNC_BIO_free
    - ossl_thread_register_fips
    - fips_teardown
    - OSSL_FUNC_BIO_vsnprintf
    - ERR_raise
    - OSSL_FUNC_CRYPTO_secure_clear_free
    - OSSL_LIB_CTX_free
    - OSSL_FUNC_CRYPTO_secure_malloc
    - ossl_prov_cache_exported_algorithms
    - OSSL_FUNC_core_set_error_debug
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_CRYPTO_free
    - OSSL_FUNC_CRYPTO_clear_realloc
    - SELF_TEST_disable_conditional_error_state
    - OSSL_FUNC_CRYPTO_secure_zalloc
    - OSSL_FUNC_core_get_params
    - ossl_prov_ctx_set0_libctx
    - memset
    - OSSL_FUNC_core_pop_error_to_mark
    - CRYPTO_THREAD_lock_new
    - SELF_TEST_post
    - ossl_prov_ctx_set0_core_get_params
    - OSSL_FUNC_core_count_to_mark
    - OSSL_FUNC_CRYPTO_realloc
    - OSSL_FUNC_BIO_read_ex
    - fips_get_params_from_core
    - ossl_lib_ctx_get_data
    - OSSL_FUNC_indicator_cb
    - OSSL_FUNC_core_set_error_mark
    - OSSL_FUNC_CRYPTO_zalloc
    - set_func
    - OSSL_FUNC_BIO_new_file
    - OSSL_FUNC_core_thread_start
    - OSSL_FUNC_core_new_error
    - OSSL_FUNC_BIO_new_membuf
    - OSSL_FUNC_CRYPTO_secure_free
    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: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: set_func
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_func(c, f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1047,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/fips/fipsprov.c:1057,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1065,1
    - Dst: c_internal_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1066,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1067,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: 1071
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1071
    functionName: ossl_fips_intern_provider_init
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - c_internal_get_libctx
    - ossl_prov_ctx_set0_handle
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_ctx_new
    - OSSL_FUNC_core_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:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: ERR_new
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 6
    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:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: ERR_set_debug
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 6
    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:1087,1
    - Dst: c_vset_error
      Src: /src/openssl/providers/fips/fipsprov.c:1088,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/fips/fipsprov.c:1088,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/fipsprov.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: ERR_set_error
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 5
    functionsReached:
    - va_end
    - ERR_PACK
    - c_vset_error
    - 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:1094,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/fips/fipsprov.c:1094,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: 1095
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    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:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1100
    functionName: ERR_set_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 107
    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:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 64
    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:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 98
    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:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1115
    functionName: ERR_count_to_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 13
    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:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1124
    functionDepth: 5
    functionLinenumber: 1124
    functionLinenumberEnd: 1133
    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:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    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:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: CRYPTO_zalloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 6
    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:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1148
    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:1152,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: 1153
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1153
    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:1157,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: 1158
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1158
    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:1163,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: 1164
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    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:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    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:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    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:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1179
    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:1183,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: 1184
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    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:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    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:
    - Dst: ossl_malloc_align
      Src: /src/openssl/providers/fips/fipsprov.c:1194,1
    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: 1195
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: CRYPTO_aligned_alloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 2
    functionsReached:
    - ossl_malloc_align
    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:1202,1
    - Dst: c_BIO_vsnprintf
      Src: /src/openssl/providers/fips/fipsprov.c:1203,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/fipsprov.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1206
    functionName: BIO_snprintf
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 104
    functionsReached:
    - va_end
    - c_BIO_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int BIO_snprintf(char *buf, size_t n, const char *format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/fips/fipsprov.c:1211,1
    - Dst: c_stcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:1215,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1215,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1215,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: 1210
        line_start: 1210
        source_file: /src/openssl/providers/fips/fipsprov.c
    constantsTouched: []
    func_position:
      end: 1222
      start: 1208
    functionDepth: 6
    functionLinenumber: 1208
    functionLinenumberEnd: 1222
    functionName: OSSL_SELF_TEST_get_callback
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 5
    functionsReached:
    - c_get_libctx
    - c_stcbfn
    - assert
    - FIPS_get_core_handle
    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:1227,1
    - Dst: c_indcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:1231,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1231,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1231,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: 1226
        line_start: 1226
        source_file: /src/openssl/providers/fips/fipsprov.c
    constantsTouched: []
    func_position:
      end: 1236
      start: 1224
    functionDepth: 6
    functionLinenumber: 1224
    functionLinenumberEnd: 1236
    functionName: OSSL_INDICATOR_get_callback
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - c_get_libctx
    - assert
    - c_indcbfn
    - FIPS_get_core_handle
    linkageType: ''
    returnType: void
    signature: "void OSSL_INDICATOR_get_callback(OSSL_LIB_CTX *libctx,\n    OSSL_INDICATOR_CALLBACK
      **cb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/fips/fipsprov.c:1246,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/providers/fips/fipsprov.c:1248,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/fipsprov.c:1252,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:1254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fips_global
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1257
    functionName: SELF_TEST_lock_deferred
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int SELF_TEST_lock_deferred(void *fips_global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/providers/fips/fipsprov.c:1264,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/fipsprov.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fips_global
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1268
    functionName: SELF_TEST_unlock_deferred
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void SELF_TEST_unlock_deferred(void *fips_global)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/fips/fipsprov.c:1272,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:1277,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/providers/fips/fipsprov.c:1285,1
    - Dst: ossl_get_self_test_state
      Src: /src/openssl/providers/fips/fipsprov.c:1293,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/fipsprov.c:1297,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/fips/fipsprov.c:1306,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/providers/fips/fipsprov.c:1335,1
    - Dst: c_stcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:1342,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1342,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1342,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/fips/fipsprov.c:1344,1
    - Dst: SELF_TEST_kats_execute
      Src: /src/openssl/providers/fips/fipsprov.c:1347,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/fips/fipsprov.c:1350,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/providers/fips/fipsprov.c:1352,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/fipsprov.c:1354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - libctx
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - self_test_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1270
    functionDepth: 16
    functionLinenumber: 1270
    functionLinenumberEnd: 1357
    functionName: FIPS_kat_deferred
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    - CRYPTO_THREAD_unlock
    - ossl_lib_ctx_get_data
    - OSSL_SELF_TEST_new
    - c_stcbfn
    - ERR_raise
    - OSSL_SELF_TEST_free
    - CRYPTO_THREAD_write_lock
    - SELF_TEST_kats_execute
    - CRYPTO_THREAD_get_local_ex
    - FIPS_get_core_handle
    - c_get_libctx
    - ossl_get_self_test_state
    - ossl_set_self_test_state
    linkageType: ''
    returnType: int
    signature: int FIPS_kat_deferred(OSSL_LIB_CTX *libctx, self_test_id_t id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/fips/fipsprov.c:1392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1393
    functionName: deferred_test_error
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_set_error_state
    linkageType: ''
    returnType: void
    signature: void deferred_test_error(int category)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/fips/fipsprov.c:1401,1
    - Dst: TSAN_BENIGN
      Src: /src/openssl/providers/fips/fipsprov.c:1417,1
    - Dst: FIPS_kat_deferred
      Src: /src/openssl/providers/fips/fipsprov.c:1421,1
    - Dst: ossl_get_self_test_state
      Src: /src/openssl/providers/fips/fipsprov.c:1422,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/fips/fipsprov.c:1423,1
    - Dst: deferred_test_error
      Src: /src/openssl/providers/fips/fipsprov.c:1427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - libctx
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - self_test_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1395
    functionDepth: 17
    functionLinenumber: 1395
    functionLinenumberEnd: 1429
    functionName: ossl_deferred_self_test
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_set_error_state
    - TSAN_BENIGN
    - FIPS_kat_deferred
    - deferred_test_error
    - ossl_get_self_test_state
    linkageType: ''
    returnType: int
    signature: int ossl_deferred_self_test(OSSL_LIB_CTX *libctx, self_test_id_t id)
  - 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: ITM
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITM(x)
  - 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: ITM_STR
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITM_STR(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: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: ITM_BUF
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITM_BUF(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: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: ITM_BUF_STR
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITM_BUF_STR(x)
  - 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: ST_KAT_PARAM_END
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_KAT_PARAM_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: ST_KAT_PARAM_BIGNUM
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_KAT_PARAM_BIGNUM(name, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: ST_KAT_PARAM_OCTET
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_KAT_PARAM_OCTET(name, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ST_KAT_PARAM_UTF8STRING
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_KAT_PARAM_UTF8STRING(name, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: ST_KAT_PARAM_UTF8CHAR
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_KAT_PARAM_UTF8CHAR(name, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ST_KAT_PARAM_INT
    functionSourceFile: /src/openssl/providers/fips/self_test_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_KAT_PARAM_INT(name, i)
  - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/fips/self_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    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_states_lock_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/providers/fips/self_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - state
    argTypes:
    - self_test_id_t
    - enum st_test_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ossl_get_self_test_state
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 3
    functionsReached:
    - CRYPTO_atomic_load_int
    linkageType: ''
    returnType: int
    signature: int ossl_get_self_test_state(self_test_id_t id, enum st_test_state
      *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_store_int
      Src: /src/openssl/providers/fips/self_test.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - state
    argTypes:
    - self_test_id_t
    - enum st_test_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ossl_set_self_test_state
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 3
    functionsReached:
    - CRYPTO_atomic_store_int
    linkageType: ''
    returnType: int
    signature: int ossl_set_self_test_state(self_test_id_t id, enum st_test_state
      state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/openssl/providers/fips/self_test.c:123,1
    - Dst: cleanup
      Src: /src/openssl/providers/fips/self_test.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: DllMain
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - cleanup
    - init
    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:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: _init
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 726
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void _init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/openssl/providers/fips/self_test.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: _cleanup
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 101
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void _cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/openssl/providers/fips/self_test.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    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:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    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:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: init
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 767
    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:201,1
    - Dst: CRYPTO_THREAD_clean_local
      Src: /src/openssl/providers/fips/self_test.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: cleanup
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 118
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_clean_local
    linkageType: ''
    returnType: DEP_FINI_ATTRIBUTE
    signature: DEP_FINI_ATTRIBUTE cleanup(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SELF_TEST_kats_execute
      Src: /src/openssl/providers/fips/self_test.c:225,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test.c:228,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/fips/self_test.c:230,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/fips/self_test.c:233,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test.c:237,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/fips/self_test.c:238,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/fips/self_test.c:240,1
    - Dst: read_ex_cb
      Src: /src/openssl/providers/fips/self_test.c:244,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/fips/self_test.c:247,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/fips/self_test.c:250,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test.c:253,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test.c:255,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test.c:259,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/fips/self_test.c:260,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/fips/self_test.c:261,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/fips/self_test.c:263,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: 266
      start: 212
    functionDepth: 16
    functionLinenumber: 212
    functionLinenumberEnd: 266
    functionName: verify_integrity
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_update
    - EVP_MAC_fetch
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - OSSL_SELF_TEST_onend
    - OSSL_PARAM_construct_end
    - OSSL_SELF_TEST_onbegin
    - EVP_MAC_init
    - read_ex_cb
    - SELF_TEST_kats_execute
    - OSSL_SELF_TEST_oncorrupt_byte
    - OPENSSL_cleanse
    - memcmp
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    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:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    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:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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: 26
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/providers/fips/self_test.c:295,1
    - Dst: RUN_ONCE
      Src: /src/openssl/providers/fips/self_test.c:298,1
    - Dst: tsan_load
      Src: /src/openssl/providers/fips/self_test.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:307,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/fips/self_test.c:311,1
    - Dst: tsan_load
      Src: /src/openssl/providers/fips/self_test.c:315,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:318,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:321,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:330,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/fips/self_test.c:334,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/providers/fips/self_test.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:341,1
    - Dst: SELF_TEST_lock_deferred
      Src: /src/openssl/providers/fips/self_test.c:350,1
    - Dst: verify_integrity
      Src: /src/openssl/providers/fips/self_test.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:358,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test.c:367,1
    - Dst: ossl_set_self_test_state
      Src: /src/openssl/providers/fips/self_test.c:379,1
    - Dst: SELF_TEST_kats
      Src: /src/openssl/providers/fips/self_test.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:387,1
    - Dst: SELF_TEST_unlock_deferred
      Src: /src/openssl/providers/fips/self_test.c:392,1
    - Dst: ossl_rand_get0_private_noncreating
      Src: /src/openssl/providers/fips/self_test.c:400,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test.c:402,1
    - Dst: strcmp
      Src: /src/openssl/providers/fips/self_test.c:403,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/providers/fips/self_test.c:403,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/providers/fips/self_test.c:403,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/providers/fips/self_test.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:406,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test.c:412,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/fips/self_test.c:413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test.c:414,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:420,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/fips/self_test.c:422,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:423,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:427,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:428,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 109
    argCount: 3
    argNames:
    - st
    - fips_global
    - on_demand_test
    argTypes:
    - SELF_TEST_POST_PARAMS*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 281
    functionDepth: 17
    functionLinenumber: 281
    functionLinenumberEnd: 431
    functionName: SELF_TEST_post
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 2
    functionsReached:
    - OPENSSL_hexstr2buf
    - EVP_RAND_get0_name
    - CRYPTO_THREAD_write_lock
    - RUN_ONCE
    - EVP_RAND_free
    - set_fips_state
    - EVP_RAND_CTX_get0_rand
    - OPENSSL_free
    - tsan_load
    - ERR_raise
    - ossl_set_self_test_state
    - SELF_TEST_unlock_deferred
    - OSSL_SELF_TEST_new
    - ossl_rand_get0_private_noncreating
    - strcmp
    - EVP_RAND_fetch
    - OSSL_SELF_TEST_free
    - CRYPTO_THREAD_unlock
    - SELF_TEST_lock_deferred
    - ossl_set_error_state
    - verify_integrity
    - SELF_TEST_kats
    linkageType: ''
    returnType: int
    signature: "int SELF_TEST_post(SELF_TEST_POST_PARAMS *st, void *fips_global,\n
      \   int on_demand_test)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/providers/fips/self_test.c:444,1
    - Dst: strcmp
      Src: /src/openssl/providers/fips/self_test.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:450,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 457
    functionName: ossl_set_error_state
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 6
    functionsReached:
    - set_fips_state
    - ERR_raise
    - strcmp
    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:464,1
    - Dst: tsan_counter
      Src: /src/openssl/providers/fips/self_test.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: ossl_prov_is_running
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 12
    functionsReached:
    - tsan_load
    - tsan_counter
    - ERR_raise
    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: ossl_fips_config
      Src: /src/openssl/providers/fips/fipsindicator.c:72,1
    - Dst: ossl_FIPS_IND_callback
      Src: /src/openssl/providers/fips/fipsindicator.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ind
    - id
    - libctx
    - algname
    - opname
    - config_id
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - char*
    - char*
    - enum fips_config_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: ossl_FIPS_IND_on_unapproved
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - ossl_FIPS_IND_get_settable
    - ossl_FIPS_IND_callback
    - ossl_fips_config
    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    enum fips_config_id
      config_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/fips/fipsindicator.c:84,1
    - Dst: ossl_FIPS_IND_set_settable
      Src: /src/openssl/providers/fips/fipsindicator.c:86,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: 89
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 89
    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:95,1
    - Dst: ossl_FIPS_IND_set_ctx_param
      Src: /src/openssl/providers/fips/fipsindicator.c:97,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: 98
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 98
    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:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ind
    - p
    argTypes:
    - OSSL_FIPS_IND*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 103
    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:108,1
    - Dst: ossl_FIPS_IND_get_ctx_param
      Src: /src/openssl/providers/fips/fipsindicator.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ind
    - params
    argTypes:
    - OSSL_FIPS_IND*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 111
    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:123,1
    - Dst: cb
      Src: /src/openssl/providers/fips/fipsindicator.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - libctx
    - type
    - desc
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: ossl_FIPS_IND_callback
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 1
    functionsReached:
    - OSSL_INDICATOR_get_callback
    - cb
    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: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    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: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    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_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    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_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    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: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    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: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    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: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    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: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    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: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    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: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    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: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    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: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    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_init
    - ERR_raise
    - mlx_kem_have_prvkey
    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:214,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:219,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:224,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:226,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:227,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:228,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:231,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:239,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:240,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: 242
      start: 106
    functionDepth: 12
    functionLinenumber: 106
    functionLinenumberEnd: 242
    functionName: mlx_kem_encapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_derive
    - ERR_raise_data
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_keygen
    - ERR_raise
    - EVP_PKEY_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:257,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:258,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:273,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:280,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:291,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:293,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:294,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:297,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:302,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:309,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:311,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:312,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:313,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:314,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:315,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:316,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:319,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:327,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:328,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: 330
      start: 244
    functionDepth: 12
    functionLinenumber: 244
    functionLinenumberEnd: 330
    functionName: mlx_kem_decapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - ERR_raise_data
    - ERR_raise
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_set1_encoded_public_key
    - mlx_kem_have_prvkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_free
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new_from_pkey
    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:
    - vsnprintf
    - fprintf
    - getenv
    - va_start
    - va_end
    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:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - debug_print
    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: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: template_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - debug_print
    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: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: template_init
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - debug_print
    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: 1
    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: 1
    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:
    - ossl_param_is_empty
    - debug_print
    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: 0
    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: 0
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_HPKE_KEM_INFO_find_curve
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ecx
    argTypes:
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: get_kem_info
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_HPKE_KEM_INFO_find_curve
    linkageType: ''
    returnType: OSSL_HPKE_KEM_INFO
    signature: OSSL_HPKE_KEM_INFO *get_kem_info(ECX_KEY *ecx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:95,1
    - Dst: get_kem_info
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:98,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - ecx
    argTypes:
    - PROV_ECX_CTX*
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: recipient_key_set
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    - get_kem_info
    linkageType: ''
    returnType: int
    signature: int recipient_key_set(PROV_ECX_CTX *ctx, ECX_KEY *ecx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:115,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ecx
    argTypes:
    - PROV_ECX_CTX*
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: sender_authkey_set
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    linkageType: ''
    returnType: int
    signature: int sender_authkey_set(PROV_ECX_CTX *ctx, ECX_KEY *ecx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:137,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:140,1
    - Dst: ossl_ecx_key_fromdata
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:143,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pubbuf
    - pubbuflen
    argTypes:
    - PROV_ECX_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: ecxkey_pubfromdata
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - OSSL_PARAM_construct_octet_string
    - ossl_ecx_key_new
    - ossl_ecx_key_fromdata
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ecxkey_pubfromdata(PROV_ECX_CTX *ctx,\n    const unsigned
      char *pubbuf, size_t pubbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ecx
    argTypes:
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: ecx_pubkey
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ecx_pubkey(ECX_KEY *ecx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:161,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: ecxkem_newctx
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ecxkem_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:175,1
    - Dst: recipient_key_set
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:176,1
    - Dst: sender_authkey_set
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vectx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: ecxkem_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - recipient_key_set
    - sender_authkey_set
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ecxkem_freectx(void *vectx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - ECX_KEY*
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: ecx_match_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecx_match_params(const ECX_KEY *key1, const ECX_KEY *key2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ecx
    - requires_privatekey
    argTypes:
    - ECX_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: ecx_key_check
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecx_key_check(const ECX_KEY *ecx, int requires_privatekey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:201,1
    - Dst: ecx_key_check
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:204,1
    - Dst: recipient_key_set
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:206,1
    - Dst: ecx_match_params
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:211,1
    - Dst: ecx_key_check
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:212,1
    - Dst: sender_authkey_set
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:213,1
    - Dst: ecxkem_set_ctx_params
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - vecxctx
    - operation
    - vecx
    - vauth
    - params
    argTypes:
    - void*
    - int
    - void*
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 219
    functionName: ecxkem_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - recipient_key_set
    - ecx_match_params
    - sender_authkey_set
    - ecxkem_set_ctx_params
    - ecx_key_check
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecxkem_init(void *vecxctx, int operation, void *vecx, void *vauth,\n
      \   ossl_unused const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecxkem_init
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vecxctx
    - vecx
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: ecxkem_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ecxkem_init
    linkageType: ''
    returnType: int
    signature: "int ecxkem_encapsulate_init(void *vecxctx, void *vecx,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecxkem_init
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vecxctx
    - vecx
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: ecxkem_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ecxkem_init
    linkageType: ''
    returnType: int
    signature: "int ecxkem_decapsulate_init(void *vecxctx, void *vecx,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecxkem_init
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - vecx
    - vauthpriv
    - params
    argTypes:
    - void*
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: ecxkem_auth_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ecxkem_init
    linkageType: ''
    returnType: int
    signature: "int ecxkem_auth_encapsulate_init(void *vctx, void *vecx, void *vauthpriv,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecxkem_init
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - vecx
    - vauthpub
    - params
    argTypes:
    - void*
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: ecxkem_auth_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ecxkem_init
    linkageType: ''
    returnType: int
    signature: "int ecxkem_auth_decapsulate_init(void *vctx, void *vecx, void *vauthpub,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ecxkem_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:251,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:259,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:262,1
    - Dst: ossl_eckem_modename2id
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 276
    functionName: ecxkem_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ossl_eckem_modename2id
    - ecxkem_set_ctx_params_decoder
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: int ecxkem_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: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: ecxkem_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecxkem_settable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:305,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:308,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - kctx
    - okm
    - okmlen
    - kemid
    - dhkm
    - dhkmlen
    - kemctx
    - kemctxlen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 314
    functionName: dhkem_extract_and_expand
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_hpke_labeled_expand
    - ossl_hpke_labeled_extract
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int dhkem_extract_and_expand(EVP_KDF_CTX *kctx,\n    unsigned char
      *okm, size_t okmlen,\n    uint16_t kemid,\n    const unsigned char *dhkm, size_t
      dhkmlen,\n    const unsigned char *kemctx,\n    size_t kemctxlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_kem_info
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:338,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:342,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:348,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:355,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:360,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:366,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ecx
    - privout
    - ikm
    - ikmlen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 369
    functionName: ossl_ecx_dhkem_derive_private
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - ossl_hpke_labeled_extract
    - ERR_raise_data
    - OPENSSL_cleanse
    - get_kem_info
    - ossl_kdf_ctx_create
    - ossl_hpke_labeled_expand
    linkageType: ''
    returnType: int
    signature: "int ossl_ecx_dhkem_derive_private(ECX_KEY *ecx, unsigned char *privout,\n
      \   const unsigned char *ikm, size_t ikmlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:390,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:393,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:401,1
    - Dst: ossl_ecx_dhkem_derive_private
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:406,1
    - Dst: ossl_ecx_public_from_private
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:408,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:414,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:418,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - ikm
    - ikmlen
    argTypes:
    - PROV_ECX_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 379
    functionDepth: 7
    functionLinenumber: 379
    functionLinenumberEnd: 420
    functionName: derivekey
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - ossl_ecx_dhkem_derive_private
    - ossl_ecx_public_from_private
    - RAND_priv_bytes_ex
    - ossl_ecx_key_allocate_privkey
    - ossl_ecx_key_new
    - OPENSSL_cleanse
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *derivekey(PROV_ECX_CTX *ctx,\n    const unsigned char *ikm,
      size_t ikmlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_compute_key
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sender
    - peer
    - out
    - maxout
    - secretsz
    argTypes:
    - ECX_KEY*
    - ECX_KEY*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 6
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: generate_ecxdhkm
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_compute_key
    linkageType: ''
    returnType: int
    signature: "int generate_ecxdhkm(const ECX_KEY *sender, const ECX_KEY *peer,\n
      \   unsigned char *out, size_t maxout,\n    unsigned int secretsz)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generate_ecxdhkm
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:480,1
    - Dst: generate_ecxdhkm
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:487,1
    - Dst: ecx_pubkey
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:492,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:502,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:503,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:505,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:506,1
    - Dst: dhkem_extract_and_expand
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:510,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:516,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 8
    argNames:
    - ctx
    - secret
    - privkey1
    - peerkey1
    - privkey2
    - peerkey2
    - sender_pub
    - recipient_pub
    argTypes:
    - PROV_ECX_CTX*
    - unsigned char*
    - ECX_KEY*
    - ECX_KEY*
    - ECX_KEY*
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 519
    functionName: derive_secret
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - ecx_pubkey
    - dhkem_extract_and_expand
    - OPENSSL_cleanse
    - ossl_kdf_ctx_create
    - memcpy
    - generate_ecxdhkm
    linkageType: ''
    returnType: int
    signature: "int derive_secret(PROV_ECX_CTX *ctx, unsigned char *secret,\n    const
      ECX_KEY *privkey1, const ECX_KEY *peerkey1,\n    const ECX_KEY *privkey2, const
      ECX_KEY *peerkey2,\n    const unsigned char *sender_pub,\n    const unsigned
      char *recipient_pub)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:559,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:563,1
    - Dst: derivekey
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:568,1
    - Dst: ecx_pubkey
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:570,1
    - Dst: ecx_pubkey
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:571,1
    - Dst: derive_secret
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:575,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:582,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:587,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - enc
    - enclen
    - secret
    - secretlen
    argTypes:
    - PROV_ECX_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 589
    functionName: dhkem_encap
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ecx_pubkey
    - ossl_ecx_key_free
    - ERR_raise_data
    - derive_secret
    - derivekey
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int dhkem_encap(PROV_ECX_CTX *ctx,\n    unsigned char *enc, size_t
      *enclen,\n    unsigned char *secret, size_t *secretlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:622,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:626,1
    - Dst: ecxkey_pubfromdata
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:631,1
    - Dst: ecx_pubkey
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:635,1
    - Dst: derive_secret
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:639,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - secret
    - secretlen
    - enc
    - enclen
    argTypes:
    - PROV_ECX_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 650
    functionName: dhkem_decap
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - ecx_pubkey
    - ossl_ecx_key_free
    - ERR_raise_data
    - derive_secret
    - ecxkey_pubfromdata
    linkageType: ''
    returnType: int
    signature: "int dhkem_decap(PROV_ECX_CTX *ctx,\n    unsigned char *secret, size_t
      *secretlen,\n    const unsigned char *enc, size_t enclen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dhkem_encap
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:659,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 664
    functionName: ecxkem_encapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - dhkem_encap
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ecxkem_encapsulate(void *vctx, unsigned char *out, size_t *outlen,\n
      \   unsigned char *secret, size_t *secretlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dhkem_decap
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:673,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ecx_kem.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 678
    functionName: ecxkem_decapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/ecx_kem.c
    functionUses: 0
    functionsReached:
    - dhkem_decap
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ecxkem_decapsulate(void *vctx, unsigned char *out, size_t *outlen,\n
      \   const unsigned char *in, size_t inlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:73,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:78,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:85,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:86,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:88,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:88,1
    - Dst: BN_new
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:89,1
    - Dst: BN_mod
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:92,1
    - Dst: BN_is_zero
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:93,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:96,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ec
    - requires_privatekey
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 99
    functionName: eckey_check
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - BN_is_zero
    - ossl_ec_key_get_libctx
    - ERR_raise
    - EC_GROUP_get0_order
    - EC_KEY_get0_group
    - EC_KEY_get0_private_key
    - BN_CTX_new_ex
    - BN_CTX_free
    - BN_free
    - BN_new
    - BN_mod
    linkageType: ''
    returnType: int
    signature: int eckey_check(const EC_KEY *ec, int requires_privatekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:104,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:106,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: ec_curvename_get0
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_curve_name
    - EC_KEY_get0_group
    - EC_curve_nid2nist
    linkageType: ''
    returnType: char
    signature: char *ec_curvename_get0(const EC_KEY *ec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:117,1
    - Dst: ec_curvename_get0
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:121,1
    - Dst: ossl_HPKE_KEM_INFO_find_curve
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:125,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - ec
    argTypes:
    - PROV_EC_CTX*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: recipient_key_set
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 2
    functionsReached:
    - ossl_HPKE_KEM_INFO_find_curve
    - EC_KEY_free
    - EC_KEY_up_ref
    - ec_curvename_get0
    linkageType: ''
    returnType: int
    signature: int recipient_key_set(PROV_EC_CTX *ctx, EC_KEY *ec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:142,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ec
    argTypes:
    - PROV_EC_CTX*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: sender_authkey_set
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 2
    functionsReached:
    - EC_KEY_free
    - EC_KEY_up_ref
    linkageType: ''
    returnType: int
    signature: int sender_authkey_set(PROV_EC_CTX *ctx, EC_KEY *ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:165,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:165,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:165,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:168,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:168,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:170,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - in
    - pubbuf
    - pubbuflen
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: eckey_frompub
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - ossl_ec_key_get0_propq
    - EC_KEY_oct2key
    - EC_KEY_new_ex
    - EC_KEY_set_group
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *eckey_frompub(EC_KEY *in,\n    const unsigned char *pubbuf,
      size_t pubbuflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:188,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:189,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ec
    - out
    - outlen
    - maxoutlen
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: ecpubkey_todata
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - EC_POINT_point2oct
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: "int ecpubkey_todata(const EC_KEY *ec, unsigned char *out, size_t *outlen,\n
      \   size_t maxoutlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:197,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: eckem_newctx
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *eckem_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:211,1
    - Dst: recipient_key_set
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:212,1
    - Dst: sender_authkey_set
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vectx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: eckem_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - recipient_key_set
    - sender_authkey_set
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void eckem_freectx(void *vectx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:221,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:222,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:224,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:224,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:232,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - EC_KEY*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: ossl_ec_match_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_cmp
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: int ossl_ec_match_params(const EC_KEY *key1, const EC_KEY *key2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:245,1
    - Dst: eckey_check
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:248,1
    - Dst: recipient_key_set
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:250,1
    - Dst: ossl_ec_match_params
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:255,1
    - Dst: eckey_check
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:256,1
    - Dst: sender_authkey_set
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:257,1
    - Dst: eckem_set_ctx_params
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - vctx
    - operation
    - vec
    - vauth
    - params
    argTypes:
    - void*
    - int
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: eckem_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - recipient_key_set
    - ossl_ec_match_params
    - eckem_set_ctx_params
    - sender_authkey_set
    - eckey_check
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int eckem_init(void *vctx, int operation, void *vec, void *vauth,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eckem_init
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 6
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: eckem_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - eckem_init
    linkageType: ''
    returnType: int
    signature: "int eckem_encapsulate_init(void *vctx, void *vec,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eckem_init
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: eckem_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - eckem_init
    linkageType: ''
    returnType: int
    signature: "int eckem_decapsulate_init(void *vctx, void *vec,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eckem_init
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - vecx
    - vauthpriv
    - params
    argTypes:
    - void*
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: eckem_auth_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - eckem_init
    linkageType: ''
    returnType: int
    signature: "int eckem_auth_encapsulate_init(void *vctx, void *vecx, void *vauthpriv,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eckem_init
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - vecx
    - vauthpub
    - params
    argTypes:
    - void*
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 6
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: eckem_auth_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - eckem_init
    linkageType: ''
    returnType: int
    signature: "int eckem_auth_decapsulate_init(void *vctx, void *vecx, void *vauthpub,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: eckem_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:295,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:303,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:306,1
    - Dst: ossl_eckem_modename2id
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 289
    functionDepth: 4
    functionLinenumber: 289
    functionLinenumberEnd: 321
    functionName: eckem_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ossl_eckem_modename2id
    - eckem_set_ctx_params_decoder
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: int eckem_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: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: eckem_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *eckem_settable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:350,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:353,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - kctx
    - okm
    - okmlen
    - kemid
    - dhkm
    - dhkmlen
    - kemctx
    - kemctxlen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: dhkem_extract_and_expand
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 1
    functionsReached:
    - ossl_hpke_labeled_expand
    - ossl_hpke_labeled_extract
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int dhkem_extract_and_expand(EVP_KDF_CTX *kctx,\n    unsigned char
      *okm, size_t okmlen,\n    uint16_t kemid,\n    const unsigned char *dhkm, size_t
      dhkmlen,\n    const unsigned char *kemctx,\n    size_t kemctxlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ec_curvename_get0
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:386,1
    - Dst: ossl_HPKE_KEM_INFO_find_curve
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:392,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:396,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:397,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:398,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:404,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:413,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:418,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:418,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:420,1
    - Dst: BN_bin2bn
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:430,1
    - Dst: BN_is_zero
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:434,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:434,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:437,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:438,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:439,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - ec
    - priv
    - ikm
    - ikmlen
    argTypes:
    - EC_KEY*
    - BIGNUM*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 441
    functionName: ossl_ec_dhkem_derive_private
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 1
    functionsReached:
    - EVP_KDF_CTX_free
    - BN_bin2bn
    - ossl_HPKE_KEM_INFO_find_curve
    - ossl_hpke_labeled_extract
    - ERR_raise_data
    - BN_is_zero
    - OPENSSL_cleanse
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - ossl_ec_key_get0_propq
    - ossl_kdf_ctx_create
    - EC_GROUP_get0_order
    - ERR_raise
    - BN_cmp
    - ossl_hpke_labeled_expand
    - ec_curvename_get0
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_dhkem_derive_private(EC_KEY *ec, BIGNUM *priv,\n    const
      unsigned char *ikm, size_t ikmlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:460,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:463,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:463,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:471,1
    - Dst: ossl_ec_generate_key_dhkem
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:475,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:478,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:480,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - ikm
    - ikmlen
    argTypes:
    - PROV_EC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 451
    functionDepth: 7
    functionLinenumber: 451
    functionLinenumberEnd: 484
    functionName: derivekey
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 1
    functionsReached:
    - ossl_ec_generate_key_dhkem
    - EC_KEY_get0_group
    - RAND_priv_bytes_ex
    - EC_KEY_new_ex
    - EC_KEY_set_group
    - EC_KEY_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *derivekey(PROV_EC_CTX *ctx,\n    const unsigned char *ikm,
      size_t ikmlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:496,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:496,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:500,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 6
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: check_publickey
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_public_check
    - ossl_ec_key_get_libctx
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: int check_publickey(const EC_KEY *pub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:519,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:520,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:523,1
    - Dst: check_publickey
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:527,1
    - Dst: ECDH_compute_key
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:529,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - sender
    - peer
    - out
    - maxout
    - secretsz
    argTypes:
    - EC_KEY*
    - EC_KEY*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 515
    functionDepth: 7
    functionLinenumber: 515
    functionLinenumberEnd: 532
    functionName: generate_ecdhkm
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - ERR_raise_data
    - EC_GROUP_get_degree
    - EC_KEY_get0_group
    - check_publickey
    - ECDH_compute_key
    linkageType: ''
    returnType: int
    signature: "int generate_ecdhkm(const EC_KEY *sender, const EC_KEY *peer,\n    unsigned
      char *out, size_t maxout,\n    unsigned int secretsz)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: generate_ecdhkm
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:574,1
    - Dst: ecpubkey_todata
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:583,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:587,1
    - Dst: generate_ecdhkm
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:591,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:602,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:603,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:605,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:606,1
    - Dst: dhkem_extract_and_expand
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:610,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:616,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:617,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 8
    argNames:
    - ctx
    - secret
    - privkey1
    - peerkey1
    - privkey2
    - peerkey2
    - sender_pub
    - recipient_pub
    argTypes:
    - PROV_EC_CTX*
    - unsigned char*
    - EC_KEY*
    - EC_KEY*
    - EC_KEY*
    - EC_KEY*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 556
    functionDepth: 8
    functionLinenumber: 556
    functionLinenumberEnd: 619
    functionName: derive_secret
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 2
    functionsReached:
    - EVP_KDF_CTX_free
    - dhkem_extract_and_expand
    - generate_ecdhkm
    - ERR_raise_data
    - OPENSSL_cleanse
    - ossl_kdf_ctx_create
    - memcpy
    - ecpubkey_todata
    linkageType: ''
    returnType: int
    signature: "int derive_secret(PROV_EC_CTX *ctx, unsigned char *secret,\n    const
      EC_KEY *privkey1, const EC_KEY *peerkey1,\n    const EC_KEY *privkey2, const
      EC_KEY *peerkey2,\n    const unsigned char *sender_pub,\n    const unsigned
      char *recipient_pub)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:661,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:665,1
    - Dst: derivekey
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:670,1
    - Dst: ecpubkey_todata
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:673,1
    - Dst: ecpubkey_todata
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:675,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:681,1
    - Dst: derive_secret
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:685,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:692,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:697,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - enc
    - enclen
    - secret
    - secretlen
    argTypes:
    - PROV_EC_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 639
    functionDepth: 4
    functionLinenumber: 639
    functionLinenumberEnd: 699
    functionName: dhkem_encap
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - derive_secret
    - EC_KEY_free
    - derivekey
    - memcpy
    - ecpubkey_todata
    linkageType: ''
    returnType: int
    signature: "int dhkem_encap(PROV_EC_CTX *ctx,\n    unsigned char *enc, size_t
      *enclen,\n    unsigned char *secret, size_t *secretlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:734,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:738,1
    - Dst: eckey_frompub
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:742,1
    - Dst: ecpubkey_todata
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:745,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:749,1
    - Dst: derive_secret
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:753,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:761,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - secret
    - secretlen
    - enc
    - enclen
    argTypes:
    - PROV_EC_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 717
    functionDepth: 5
    functionLinenumber: 717
    functionLinenumberEnd: 763
    functionName: dhkem_decap
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - derive_secret
    - eckey_frompub
    - EC_KEY_free
    - ecpubkey_todata
    linkageType: ''
    returnType: int
    signature: "int dhkem_decap(PROV_EC_CTX *ctx,\n    unsigned char *secret, size_t
      *secretlen,\n    const unsigned char *enc, size_t enclen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dhkem_encap
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:772,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 777
    functionName: eckem_encapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - dhkem_encap
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int eckem_encapsulate(void *vctx, unsigned char *out, size_t *outlen,\n
      \   unsigned char *secret, size_t *secretlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dhkem_decap
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:786,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ec_kem.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 791
    functionName: eckem_decapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/ec_kem.c
    functionUses: 0
    functionsReached:
    - dhkem_decap
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int eckem_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/rsa_kem.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - name
    - map
    - sz
    argTypes:
    - char*
    - OSSL_ITEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: name2id
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 6
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int name2id(const char *name, const OSSL_ITEM *map, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name2id
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:84,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: rsakem_opname2id
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - name2id
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int rsakem_opname2id(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:91,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:95,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:95,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:100,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:103,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 18
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: rsakem_newctx
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *rsakem_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: rsakem_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void rsakem_freectx(void *vprsactx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:123,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:126,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: rsakem_dupctx
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - RSA_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *rsakem_dupctx(void *vprsactx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:145,1
    - Dst: ossl_rsa_key_op_get_protect
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:151,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:153,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:155,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:158,1
    - Dst: rsakem_set_ctx_params
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:159,1
    - Dst: ossl_fips_ind_rsa_key_check
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:162,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - vprsactx
    - vrsa
    - params
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 168
    functionName: rsakem_init
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_key_op_get_protect
    - ossl_fips_ind_rsa_key_check
    - RSA_up_ref
    - OSSL_FIPS_IND_SET_APPROVED
    - OSSL_FIPS_IND_GET
    - RSA_free
    - rsakem_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsakem_init(void *vprsactx, void *vrsa,\n    const OSSL_PARAM
      params[], int operation,\n    const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsakem_init
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: rsakem_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - rsakem_init
    linkageType: ''
    returnType: int
    signature: "int rsakem_encapsulate_init(void *vprsactx, void *vrsa,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsakem_init
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: rsakem_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - rsakem_init
    linkageType: ''
    returnType: int
    signature: "int rsakem_decapsulate_init(void *vprsactx, void *vrsa,\n    const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsakem_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:189,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: rsakem_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - rsakem_get_ctx_params_decoder
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    linkageType: ''
    returnType: int
    signature: int rsakem_get_ctx_params(void *vprsactx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: rsakem_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsakem_gettable_ctx_params(ossl_unused void *vprsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rsakem_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:209,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:212,1
    - Dst: rsakem_opname2id
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: rsakem_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 1
    functionsReached:
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - rsakem_opname2id
    - rsakem_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int rsakem_set_ctx_params(void *vprsactx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: rsakem_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsakem_settable_ctx_params(ossl_unused void *vprsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:246,1
    - Dst: ossl_rsa_get0_libctx
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:246,1
    - Dst: BN_CTX_start
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:256,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:257,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:258,1
    - Dst: BN_copy
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:260,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:260,1
    - Dst: BN_sub_word
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:261,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:262,1
    - Dst: BN_add_word
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:263,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:264,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:265,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - rsa_pub
    - out
    - outlen
    argTypes:
    - RSA*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 239
    functionDepth: 8
    functionLinenumber: 239
    functionLinenumberEnd: 268
    functionName: rsasve_gen_rand_bytes
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - BN_add_word
    - BN_CTX_secure_new_ex
    - BN_copy
    - BN_CTX_free
    - BN_CTX_get
    - BN_bn2binpad
    - ossl_rsa_get0_libctx
    - BN_priv_rand_range_ex
    - RSA_get0_n
    - BN_sub_word
    linkageType: ''
    returnType: int
    signature: "int rsasve_gen_rand_bytes(RSA *rsa_pub,\n    unsigned char *out, int
      outlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:304,1
    - Dst: rsasve_gen_rand_bytes
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:312,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:316,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:319,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - prsactx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 274
    functionDepth: 9
    functionLinenumber: 274
    functionLinenumberEnd: 329
    functionName: rsasve_generate
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - rsasve_gen_rand_bytes
    - RSA_size
    - ERR_raise
    - RSA_public_encrypt
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int rsasve_generate(PROV_RSA_CTX *prsactx,\n    unsigned char *out,
      size_t *outlen,\n    unsigned char *secret, size_t *secretlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:376,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:386,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - prsactx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 395
    functionName: rsasve_recover
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - RSA_size
    - RSA_private_decrypt
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int rsasve_recover(PROV_RSA_CTX *prsactx,\n    unsigned char *out,
      size_t *outlen,\n    const unsigned char *in, size_t inlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:402,1
    - Dst: rsasve_generate
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - vprsactx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 10
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: rsakem_generate
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - rsasve_generate
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsakem_generate(void *vprsactx, unsigned char *out, size_t *outlen,\n
      \   unsigned char *secret, size_t *secretlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:418,1
    - Dst: rsasve_recover
      Src: /src/openssl/providers/implementations/kem/rsa_kem.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - vprsactx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: rsakem_recover
    functionSourceFile: /src/openssl/providers/implementations/kem/rsa_kem.c
    functionUses: 0
    functionsReached:
    - rsasve_recover
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsakem_recover(void *vprsactx, unsigned char *out, size_t *outlen,\n
      \   const unsigned char *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:47,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:51,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 18
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: ml_kem_newctx
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_deferred_self_test
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *ml_kem_newctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ml_kem_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ml_kem_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:76,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:81,1
    - Dst: ml_kem_set_ctx_params
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vctx
    - op
    - key
    - params
    argTypes:
    - void*
    - int
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: ml_kem_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ml_kem_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_kem_init(void *vctx, int op, void *key,\n    const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:93,1
    - Dst: ml_kem_init
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: ml_kem_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - ml_kem_init
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ml_kem_encapsulate_init(void *vctx, void *vkey,\n    const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:105,1
    - Dst: ml_kem_init
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: ml_kem_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - ml_kem_init
    - ossl_ml_kem_have_prvkey
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ml_kem_decapsulate_init(void *vctx, void *vkey,\n    const OSSL_PARAM
      params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:116,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionName: ml_kem_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 1
    functionsReached:
    - ml_kem_set_ctx_params_decoder
    - ERR_raise
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: int ml_kem_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: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: ml_kem_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ml_kem_settable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:155,1
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:158,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:172,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:178,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:182,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:190,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:194,1
    - Dst: ossl_ml_kem_encap_seed
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:202,1
    - Dst: ossl_ml_kem_encap_rand
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:205,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:216,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - vctx
    - ctext
    - clen
    - shsec
    - slen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 220
    functionName: ml_kem_encapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - OPENSSL_cleanse
    - ossl_ml_kem_key_vinfo
    - ERR_raise
    - ossl_ml_kem_encap_seed
    - ossl_ml_kem_encap_rand
    - ossl_ml_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: "int ml_kem_encapsulate(void *vctx, unsigned char *ctext, size_t *clen,\n
      \   unsigned char *shsec, size_t *slen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:230,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:245,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/providers/implementations/kem/ml_kem_kem.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - vctx
    - shsec
    - slen
    - ctext
    - clen
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: ml_kem_decapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/ml_kem_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_decap
    - ossl_ml_kem_have_prvkey
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int ml_kem_decapsulate(void *vctx, uint8_t *shsec, size_t *slen,\n
      \   const uint8_t *ctext, size_t clen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:53,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - keylen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: ecx_newctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecx_newctx(void *provctx, size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_newctx
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: x25519_newctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ecx_newctx
    linkageType: ''
    returnType: void
    signature: void *x25519_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_newctx
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: x448_newctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ecx_newctx
    linkageType: ''
    returnType: void
    signature: void *x448_newctx(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:80,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:87,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:91,1
    - Dst: ossl_FIPS_IND_callback
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - vecxctx
    - vkey
    - algname
    argTypes:
    - void*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: ecx_init
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - ossl_ecx_key_up_ref
    - ERR_raise
    - ossl_FIPS_IND_callback
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecx_init(void *vecxctx, void *vkey, const char *algname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_init
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vecxctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: x25519_init
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ecx_init
    linkageType: ''
    returnType: int
    signature: "int x25519_init(void *vecxctx, void *vkey,\n    ossl_unused const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_init
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vecxctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: x448_init
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ecx_init
    linkageType: ''
    returnType: int
    signature: "int x448_init(void *vecxctx, void *vkey,\n    ossl_unused const OSSL_PARAM
      params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:118,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:125,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - vecxctx
    - vkey
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: ecx_set_peer
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_up_ref
    - ossl_ecx_key_free
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecx_set_peer(void *vecxctx, void *vkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:139,1
    - Dst: ossl_ecx_compute_key
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vecxctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: ecx_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_compute_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecx_derive(void *vecxctx, unsigned char *secret, size_t *secretlen,\n
      \   size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:149,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vecxctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: ecx_freectx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ecx_freectx(void *vecxctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:160,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:163,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:170,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:175,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:176,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - vecxctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 182
    functionName: ecx_dupctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_ecx_key_up_ref
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecx_dupctx(void *vecxctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: ecx_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecx_gettable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:206,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/exchange/ecx_exch.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - ossl_unused*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: ecx_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecx_exch.c
    functionUses: 0
    functionsReached:
    - ecx_get_ctx_params_decoder
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int ecx_get_ctx_params(ossl_unused void *vctx, OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:89,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:93,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:93,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:98,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:101,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 18
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: dh_newctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dh_newctx(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_check_key
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:110,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_DH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: dh_check_key
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 1
    functionsReached:
    - ossl_dh_check_key
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int dh_check_key(PROV_DH_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fips_ind_digest_exch_check
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:125,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - PROV_DH_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: digest_check
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - ossl_fips_ind_digest_exch_check
    - OSSL_FIPS_IND_GET
    linkageType: ''
    returnType: int
    signature: int digest_check(PROV_DH_CTX *ctx, const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:135,1
    - Dst: DH_up_ref
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:138,1
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:140,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:144,1
    - Dst: dh_set_ctx_params
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:145,1
    - Dst: dh_check_key
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - vpdhctx
    - vdh
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 152
    functionName: dh_init
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_SET_APPROVED
    - dh_set_ctx_params
    - DH_free
    - DH_up_ref
    - dh_check_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int dh_init(void *vpdhctx, void *vdh, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:158,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:159,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - peer
    argTypes:
    - DH*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: dh_match_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - ERR_raise
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: int dh_match_params(DH *priv, DH *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:173,1
    - Dst: dh_match_params
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:176,1
    - Dst: DH_up_ref
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:177,1
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - vpdhctx
    - vdh
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: dh_set_peer
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - DH_up_ref
    - dh_match_params
    - DH_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int dh_set_peer(void *vpdhctx, void *vdh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:194,1
    - Dst: DH_size
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:204,1
    - Dst: DH_get0_key
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:208,1
    - Dst: DH_compute_key_padded
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:210,1
    - Dst: DH_compute_key
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - vpdhctx
    - secret
    - secretlen
    - outlen
    - pad
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 184
    functionDepth: 10
    functionLinenumber: 184
    functionLinenumberEnd: 218
    functionName: dh_plain_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - DH_size
    - ERR_raise
    - DH_get0_key
    - DH_compute_key_padded
    - DH_compute_key
    linkageType: ''
    returnType: int
    signature: "int dh_plain_derive(void *vpdhctx,\n    unsigned char *secret, size_t
      *secretlen,\n    size_t outlen, unsigned int pad)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:234,1
    - Dst: dh_plain_derive
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:237,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:239,1
    - Dst: dh_plain_derive
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:241,1
    - Dst: ossl_dh_kdf_X9_42_asn1
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:246,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - vpdhctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 220
    functionDepth: 11
    functionLinenumber: 220
    functionLinenumberEnd: 260
    functionName: dh_X9_42_kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ERR_raise
    - OPENSSL_secure_clear_free
    - ossl_dh_kdf_X9_42_asn1
    - dh_plain_derive
    linkageType: ''
    returnType: int
    signature: "int dh_X9_42_kdf_derive(void *vpdhctx, unsigned char *secret,\n    size_t
      *secretlen, size_t outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:267,1
    - Dst: dh_plain_derive
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:272,1
    - Dst: dh_X9_42_kdf_derive
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - vpdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 262
    functionDepth: 12
    functionLinenumber: 262
    functionLinenumberEnd: 280
    functionName: dh_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - dh_plain_derive
    - dh_X9_42_kdf_derive
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int dh_derive(void *vpdhctx, unsigned char *secret,\n    size_t *psecretlen,
      size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:286,1
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:287,1
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:288,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:289,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:290,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vpdhctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: dh_freectx
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MD_free
    - DH_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void dh_freectx(void *vpdhctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:300,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:303,1
    - Dst: DH_up_ref
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:314,1
    - Dst: DH_up_ref
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:319,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:324,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:331,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:338,1
    - Dst: dh_freectx
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:345,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - vpdhctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 347
    functionName: dh_dupctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - OPENSSL_zalloc
    - DH_up_ref
    - dh_freectx
    - EVP_MD_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dh_dupctx(void *vpdhctx)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dh_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:357,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:360,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:362,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:367,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:372,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:382,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:387,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:391,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:392,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:396,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:397,1
    - Dst: digest_check
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:401,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:402,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:421,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:426,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:434,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:442,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:445,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:447,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 2
    argNames:
    - vpdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 349
    functionDepth: 10
    functionLinenumber: 349
    functionLinenumberEnd: 453
    functionName: dh_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - dh_set_ctx_params_decoder
    - ERR_raise
    - strcmp
    - OSSL_PARAM_get_utf8_string
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - EVP_MD_fetch
    - EVP_MD_xof
    - digest_check
    - EVP_MD_free
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: int dh_set_ctx_params(void *vpdhctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: dh_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dh_settable_ctx_params(ossl_unused void *vpdhctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: dh_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dh_gettable_ctx_params(ossl_unused void *vpdhctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dh_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:472,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:489,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:494,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:494,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:498,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:502,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:506,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/dh_exch.c:509,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - vpdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 512
    functionName: dh_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/dh_exch.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_ptr
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - EVP_MD_get0_name
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    - dh_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int dh_get_ctx_params(void *vpdhctx, OSSL_PARAM params[])
  - 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:
    - OPENSSL_zalloc
    - OPENSSL_free
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    - EVP_KDF_fetch
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    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: 5
    functionsReached:
    - EVP_KDF_derive
    - EVP_KDF_CTX_get_kdf_size
    - ERR_raise
    - ossl_prov_is_running
    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:
    - EVP_KDF_CTX_free
    - ossl_kdf_data_free
    - OPENSSL_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:
    - EVP_KDF_CTX_free
    - OPENSSL_zalloc
    - OPENSSL_free
    - EVP_KDF_CTX_dup
    - ossl_kdf_data_up_ref
    - ossl_prov_is_running
    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:
    - PROV_LIBCTX_OF
    - EVP_KDF_fetch
    - EVP_KDF_settable_ctx_params
    - 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:
    - PROV_LIBCTX_OF
    - EVP_KDF_fetch
    - EVP_KDF_gettable_ctx_params
    - EVP_KDF_free
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:91,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:95,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:95,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:100,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:104,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 18
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: ecdh_newctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecdh_newctx(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:116,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:119,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:120,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:122,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:127,1
    - Dst: ecdh_set_ctx_params
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:128,1
    - Dst: ossl_fips_ind_ec_key_check
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:131,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:131,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - vpecdhctx
    - vecdh
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: ecdh_init
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - ossl_fips_ind_ec_key_check
    - ecdh_set_ctx_params
    - OSSL_FIPS_IND_SET_APPROVED
    - OSSL_FIPS_IND_GET
    - EC_KEY_get0_group
    - EC_KEY_up_ref
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecdh_init(void *vpecdhctx, void *vecdh, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:143,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:144,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:146,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:148,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:155,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - peer
    argTypes:
    - EC_KEY*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: ecdh_match_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_cmp
    - ERR_raise
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: int ecdh_match_params(const EC_KEY *priv, const EC_KEY *peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:164,1
    - Dst: ecdh_match_params
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:167,1
    - Dst: ossl_fips_ind_ec_key_check
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:170,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:170,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:172,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:176,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - vpecdhctx
    - vecdh
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: ecdh_set_peer
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - ossl_fips_ind_ec_key_check
    - EC_KEY_get0_group
    - EC_KEY_up_ref
    - ecdh_match_params
    - ossl_prov_is_running
    - EC_KEY_free
    - OSSL_FIPS_IND_GET
    linkageType: ''
    returnType: int
    signature: int ecdh_set_peer(void *vpecdhctx, void *vecdh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:188,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:189,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:191,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:192,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vpecdhctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: ecdh_freectx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MD_free
    - EC_KEY_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ecdh_freectx(void *vpecdhctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:202,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:205,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:220,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:225,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:230,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:237,1
    - Dst: ecdh_freectx
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:246,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - vpecdhctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 248
    functionName: ecdh_dupctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_zalloc
    - EC_KEY_up_ref
    - ecdh_freectx
    - EVP_MD_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecdh_dupctx(void *vpecdhctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:257,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:260,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:262,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:264,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:270,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:281,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:286,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:296,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:301,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:305,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:306,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:311,1
    - Dst: ossl_fips_ind_digest_exch_check
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:315,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:315,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:318,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:328,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:339,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 2
    argNames:
    - vpecdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 250
    functionDepth: 10
    functionLinenumber: 250
    functionLinenumberEnd: 345
    functionName: ecdh_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 1
    functionsReached:
    - ossl_fips_ind_digest_exch_check
    - OSSL_PARAM_get_int
    - OPENSSL_free
    - ERR_raise
    - strcmp
    - OSSL_PARAM_get_utf8_string
    - ecdh_set_ctx_params_decoder
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - EVP_MD_fetch
    - EVP_MD_xof
    - EVP_MD_free
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_octet_string
    - OSSL_FIPS_IND_GET
    linkageType: ''
    returnType: int
    signature: int ecdh_set_ctx_params(void *vpecdhctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpecdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: ecdh_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecdh_settable_ctx_params(ossl_unused void *vpecdhctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:358,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:366,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:369,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:387,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:392,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:392,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:396,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:399,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:402,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - vpecdhctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 353
    functionDepth: 6
    functionLinenumber: 353
    functionLinenumberEnd: 405
    functionName: ecdh_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_set_int
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - EC_KEY_get_flags
    - EVP_MD_get0_name
    - ecdh_get_ctx_params_decoder
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int ecdh_get_ctx_params(void *vpecdhctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpecdhctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: ecdh_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecdh_gettable_ctx_params(ossl_unused void *vpecdhctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:421,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - k
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: ecdh_size
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_degree
    - EC_KEY_get0_group
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ecdh_size(const EC_KEY *k)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:446,1
    - Dst: ecdh_size
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:450,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:456,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:457,1
    - Dst: BN_is_one
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:460,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:480,1
    - Dst: EC_KEY_dup
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:484,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:488,1
    - Dst: EC_KEY_clear_flags
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:493,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:511,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:517,1
    - Dst: ECDH_compute_key
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:519,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:529,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - vpecdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 531
    functionName: ecdh_plain_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - EC_GROUP_get0_cofactor
    - BN_is_one
    - EC_KEY_set_flags
    - EC_KEY_get0_group
    - ERR_raise
    - EC_KEY_get_flags
    - ecdh_size
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - EC_KEY_dup
    - EC_KEY_free
    - EC_KEY_clear_flags
    - ECDH_compute_key
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ecdh_plain_derive(void *vpecdhctx, unsigned char *secret,\n
      \   size_t *psecretlen, size_t outlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:547,1
    - Dst: ecdh_plain_derive
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:550,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:552,1
    - Dst: ecdh_plain_derive
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:554,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:558,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - vpecdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 571
    functionName: ecdh_X9_63_kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ecdh_plain_derive
    - ERR_raise
    - OPENSSL_secure_clear_free
    - ossl_ecdh_kdf_X9_63
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ecdh_X9_63_kdf_derive(void *vpecdhctx, unsigned char *secret,\n
      \   size_t *psecretlen, size_t outlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_plain_derive
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:580,1
    - Dst: ecdh_X9_63_kdf_derive
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vpecdhctx
    - secret
    - psecretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: ecdh_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - ecdh_plain_derive
    - ecdh_X9_63_kdf_derive
    linkageType: ''
    returnType: int
    signature: "int ecdh_derive(void *vpecdhctx, unsigned char *secret,\n    size_t
      *psecretlen, size_t outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ecdh_derive
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:601,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:604,1
    - Dst: ecdh_derive
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:607,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:609,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:613,1
    - Dst: import
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:617,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/exchange/ecdh_exch.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - vpecdhctx
    - ossl_unused
    - provctx
    - import
    - outlen
    - params_in
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_FUNC_skeymgmt_import_fn*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 589
    functionDepth: 8
    functionLinenumber: 589
    functionLinenumberEnd: 621
    functionName: ecdh_derive_skey
    functionSourceFile: /src/openssl/providers/implementations/exchange/ecdh_exch.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ecdh_derive
    - OPENSSL_clear_free
    - import
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void *ecdh_derive_skey(void *vpecdhctx, const char *key_type ossl_unused,\n
      \   void *provctx, OSSL_FUNC_skeymgmt_import_fn *import,\n    size_t outlen,
      const OSSL_PARAM params_in[] ossl_unused)"
  - 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
    - CRYPTO_gcm128_encrypt_ctr32
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_decrypt_ctr32
    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: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    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:
    - aesni_set_decrypt_key
    - aesni_set_encrypt_key
    - SHA1_Init
    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: 1
    functionLinenumber: 69
    functionLinenumberEnd: 98
    functionName: sha1_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 1
    functionsReached:
    - SHA1_Update
    - sha1_block_data_order
    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:
    - BSWAP4
    - OPENSSL_cleanse
    - aesni_multi_cbc_encrypt
    - PUTU32
    - RAND_bytes_ex
    - BSWAP8
    - memset
    - sha1_multi_block
    - memcpy
    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:399,1
    - Dst: aesni_cbc_sha1_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:401,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:414,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:418,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:421,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:423,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:424,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:431,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:434,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:461,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:470,1
    - Dst: constant_time_ge
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:478,1
    - Dst: constant_time_select
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:486,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:495,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:502,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:511,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:539,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:555,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:563,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:567,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:576,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:577,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: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:592,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:593,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:619,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:620,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: 625
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 625
    functionName: aesni_cbc_hmac_sha1_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - constant_time_select
    - BSWAP4
    - aesni_cbc_encrypt
    - sha1_block_data_order
    - sha1_update
    - aesni_cbc_sha1_enc
    - memset
    - constant_time_ge
    - memcpy
    - SHA1_Final
    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:635,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:638,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:639,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:640,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:642,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:647,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:648,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:652,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:653,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mac
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 656
    functionName: aesni_cbc_hmac_sha1_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - sha1_update
    - SHA1_Init
    - memset
    - memcpy
    - SHA1_Final
    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:682,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:687,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: 692
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 692
    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:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 704
    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:734,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: 757
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 757
    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:763,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: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    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: 785
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 785
    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:
    - OPENSSL_zalloc
    - ossl_ccm_initctx
    - ossl_prov_sm4_hw_ccm
    - 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:
    - HWSM4_set_decrypt_key
    - HWSM4_set_encrypt_key
    - vpsm4_ex_set_decrypt_key
    - vpsm4_set_encrypt_key
    - vpsm4_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:53,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: 54
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 54
    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:60,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: 61
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 61
    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:66,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: 67
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 67
    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:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 72
    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:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    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:84,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:87,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: 91
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 91
    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:96,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: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    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:109,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:120,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:131,1
    - Dst: PROV_AES_OCB_CTX*::base::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:134,1
    - Dst: aes_ocb_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:137,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: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: aes_ocb_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initiv
    - ERR_raise
    - aes_ocb_set_ctx_params
    - PROV_AES_OCB_CTX*::base::hw::init
    - ossl_prov_is_running
    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:144,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: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    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:151,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: 152
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 152
    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:168,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:174,1
    - Dst: ciph
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:177,1
    - Dst: ERR_raise
      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:189,1
    - Dst: ciph
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:193,1
    - Dst: ossl_cipher_trailingdata
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:200,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: 207
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 207
    functionName: aes_ocb_block_update_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_trailingdata
    - ERR_raise
    - ossl_cipher_fillblock
    - ciph
    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:213,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: 214
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 214
    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:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 228
    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:239,1
    - Dst: aes_ocb_block_update_internal
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:257,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: 259
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 259
    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:266,1
    - Dst: update_iv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:270,1
    - Dst: aes_generic_ocb_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:279,1
    - Dst: aes_generic_ocb_setaad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:285,1
    - Dst: aes_generic_ocb_gettag
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:291,1
    - Dst: aes_generic_ocb_final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:297,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: 303
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 303
    functionName: aes_ocb_block_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_setaad
    - aes_generic_ocb_gettag
    - aes_generic_ocb_final
    - update_iv
    - aes_generic_ocb_cipher
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_block_final(void *vctx, unsigned char *out, size_t *outl,\n
      \   size_t outsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_PROV_CHECK
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:310,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:311,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:313,1
    - Dst: ossl_prov_cipher_hw_aes_ocb
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    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: 318
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: aes_ocb_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initkey
    - OPENSSL_zalloc
    - CIPHER_PROV_CHECK
    - ossl_prov_cipher_hw_aes_ocb
    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:325,1
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:326,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: aes_ocb_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_cleanup
    - ossl_cipher_generic_reset_ctx
    - OPENSSL_clear_free
    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:336,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:339,1
    - Dst: aes_generic_ocb_copy_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: aes_ocb_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - aes_generic_ocb_copy_ctx
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *aes_ocb_dupctx(void *vctx)
  - 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: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: aes_ocb_set_ctx_params_decoder
      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:367,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:383,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:386,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:391,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:392,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:407,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:412,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 417
    functionName: aes_ocb_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 1
    functionsReached:
    - memcpy
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - aes_ocb_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int aes_ocb_set_ctx_params(void *vctx, const 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: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: aes_ocb_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:430,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:434,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:439,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:452,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:455,1
    - Dst: ERR_raise
      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:464,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:480,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:483,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 486
    functionName: aes_ocb_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_string_or_ptr
    - aes_ocb_get_ctx_params_decoder
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - memcpy
    linkageType: ''
    returnType: int
    signature: int aes_ocb_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:493,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:497,1
    - Dst: aes_generic_ocb_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:502,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: 508
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: aes_ocb_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_cipher
    - ERR_raise
    - ossl_prov_is_running
    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: 547
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 547
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: rc4_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_einit
    - ossl_cipher_var_keylen_set_ctx_params
    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: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: rc4_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_var_keylen_set_ctx_params
    - ossl_cipher_generic_dinit
    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: 1
    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:
    - PROV_AES_CTX*::base::hw::copyctx
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    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:52,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: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    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:63,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: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    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:75,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: 80
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 80
    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:88,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:95,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:102,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: 108
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 108
    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:116,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:119,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: 124
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: ossl_cipher_hw_generic_ctr
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt
    - CRYPTO_ctr128_encrypt_ctr32
    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:135,1
    - Dst: ossl_cipher_hw_generic_cbc
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:141,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: 143
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 143
    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:153,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: 161
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 161
    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:171,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: 179
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 179
    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:185,1
    - Dst: ossl_cipher_hw_generic_ofb128
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:191,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: 193
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 193
    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: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    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:53,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:56,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:58,1
    - Dst: ossl_prov_cipher_hw_rc4_hmac_md5
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: rc4_hmac_md5_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_rc4_hmac_md5
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    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:72,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    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:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    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:89,1
    - Dst: rc4_hmac_md5_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:91,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: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: rc4_hmac_md5_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_einit
    - rc4_hmac_md5_set_ctx_params
    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:98,1
    - Dst: rc4_hmac_md5_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:100,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: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    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: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: rc4_hmac_md5_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:114,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:118,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:123,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: rc4_hmac_md5_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - ERR_raise
    - rc4_hmac_md5_get_ctx_params_decoder
    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: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: rc4_hmac_md5_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:146,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:151,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:155,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: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:173,1
    - Dst: GET_HW
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:178,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: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 200
    functionName: rc4_hmac_md5_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_get_uint
    - rc4_hmac_md5_set_ctx_params_decoder
    - GET_HW
    - 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:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 209
    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: 50
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 50
    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:42,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:45,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: 47
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 47
    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_tag
    - CRYPTO_ccm128_encrypt
    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:56,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:60,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:64,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:65,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:69,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: 71
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: ossl_ccm_generic_auth_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - CRYPTO_ccm128_tag
    - CRYPTO_ccm128_decrypt
    - CRYPTO_ccm128_decrypt_ccm64
    - OPENSSL_cleanse
    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:
    - ossl_chacha20_einit
    - memcpy
    - 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:136,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:137,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:139,1
    - Dst: xor128_encrypt_n_pad
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:146,1
    - Dst: xor128_decrypt_n_pad
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:148,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:160,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:162,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:164,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:185,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:192,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:194,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:197,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:204,1
    - Dst: Poly1305_Update
      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:207,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:208,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:214,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: 215
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 215
    functionName: chacha20_poly1305_tls_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - xor128_decrypt_n_pad
    - ChaCha20_ctr32
    - Poly1305_Update
    - memset
    - xor128_encrypt_n_pad
    - Poly1305_Init
    - memcpy
    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:283,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:288,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:290,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:296,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:304,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:311,1
    - Dst: PROV_CHACHA20_POLY1305_CTX*::chacha::base::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:322,1
    - Dst: Poly1305_Update
      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:328,1
    - Dst: PROV_CHACHA20_POLY1305_CTX*::chacha::base::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:329,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:343,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:348,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:351,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:370,1
    - Dst: Poly1305_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:372,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:377,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:379,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:380,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:387,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: 397
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 397
    functionName: chacha20_poly1305_aead_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - ChaCha20_ctr32
    - chacha20_poly1305_tls_cipher
    - Poly1305_Update
    - memset
    - Poly1305_Init
    - memcpy
    - PROV_CHACHA20_POLY1305_CTX*::chacha::base::hw::cipher
    - 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: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    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: 41
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 41
    functionName: cipher_hw_camellia_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_camellia_hw.c
    functionUses: 0
    functionsReached:
    - Camellia_set_key
    - ERR_raise
    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: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    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:
    - aes_v8_set_encrypt_key
    - aes_v8_set_decrypt_key
    - SHA256_Init
    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:
    - CRYPTO_memcmp
    - ERR_raise
    - ciph_digest_arg_init
    - HWAES128_ENC_CBC_SHA256_ETM
    - 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: 1
    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_Update
    - sha256_block_data_order
    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:
    - OPENSSL_cleanse
    - sha256_update
    - memset
    - SHA256_Final
    - memcpy
    - SHA256_Init
    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: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    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: 1
    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
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    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:
    - rc2_set_ctx_params
    - ossl_cipher_generic_dinit
    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
    - ASN1_TYPE_free
    - i2d_ASN1_TYPE
    - rc2_keybits_to_magic
    - ASN1_TYPE_new
    - ERR_raise
    - ossl_cipher_generic_get_ctx_params
    - OSSL_PARAM_set_size_t
    - ASN1_TYPE_set_int_octetstring
    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:
    - rc2_magic_to_keybits
    - ASN1_TYPE_free
    - OSSL_PARAM_locate_const
    - ERR_raise
    - ossl_cipher_generic_initiv
    - ossl_cipher_var_keylen_set_ctx_params
    - OSSL_PARAM_get_size_t
    - d2i_ASN1_TYPE
    - ASN1_TYPE_get_int_octetstring
    - ossl_param_is_empty
    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: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    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:60,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:75,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:84,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: 88
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 88
    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: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    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: 103
    functionDepth: 0
    functionLinenumber: 103
    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: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    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:282,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: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    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:294,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: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    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: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    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: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    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:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    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:41,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
    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: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    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: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    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:68,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:75,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: 78
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 78
    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:90,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: 94
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 94
    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: 1
    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
    - OPENSSL_malloc
    - ossl_prov_is_running
    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:
    - OPENSSL_zalloc
    - ossl_gcm_initctx
    - ossl_prov_sm4_hw_gcm
    - ossl_prov_is_running
    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: 1
    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
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    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:
    - aes_v8_set_encrypt_key
    - SHA1_Init
    - aes_v8_set_decrypt_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:
    - HWAES128_ENC_CBC_SHA1_ETM
    - CRYPTO_memcmp
    - HWAES128_DEC_CBC_SHA1_ETM
    - ERR_raise
    - ciph_digest_arg_init
    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: 1
    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_Update
    - sha1_block_data_order
    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:
    - OPENSSL_cleanse
    - sha1_update
    - SHA1_Init
    - memset
    - memcpy
    - SHA1_Final
    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: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:27,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 52
    functionName: ccm_tls_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ccm_tls_init(PROV_CCM_CTX *ctx, unsigned char *aad, size_t alen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - fixed
    - flen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: ccm_tls_iv_set_fixed
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ccm_tls_iv_set_fixed(PROV_CCM_CTX *ctx, unsigned char *fixed,\n
      \   size_t flen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CCM_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ccm_get_ivlen
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ccm_get_ivlen(PROV_CCM_CTX *ctx)
  - 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: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: ossl_ccm_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_ccm_settable_ctx_params(\n    ossl_unused void *cctx,
      ossl_unused void *provctx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_ccm_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:97,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:100,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:124,1
    - Dst: ccm_tls_init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:137,1
    - Dst: ccm_tls_iv_set_fixed
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:141,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 146
    functionName: ossl_ccm_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_tls_init
    - ossl_cipher_ccm_set_ctx_params_decoder
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - ccm_tls_iv_set_fixed
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ossl_ccm_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: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ossl_ccm_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_ccm_gettable_ctx_params(\n    ossl_unused void *cctx,
      ossl_unused void *provctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_ccm_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:159,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:162,1
    - Dst: ccm_get_ivlen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:163,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:168,1
    - Dst: ccm_get_ivlen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:174,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:178,1
    - Dst: ccm_get_ivlen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:185,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:189,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:195,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:210,1
    - Dst: PROV_CCM_CTX*::hw::gettag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:213,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 154
    functionDepth: 6
    functionLinenumber: 154
    functionLinenumberEnd: 221
    functionName: ossl_ccm_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_string_or_ptr
    - ossl_cipher_ccm_get_ctx_params_decoder
    - PROV_CCM_CTX*::hw::gettag
    - ERR_raise
    - ccm_get_ivlen
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int ossl_ccm_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:229,1
    - Dst: ccm_get_ivlen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:236,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:244,1
    - Dst: PROV_CCM_CTX*::hw::setkey
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:247,1
    - Dst: ossl_ccm_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:250,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: 251
      start: 223
    functionDepth: 7
    functionLinenumber: 223
    functionLinenumberEnd: 251
    functionName: ccm_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ossl_ccm_set_ctx_params
    - ERR_raise
    - ccm_get_ivlen
    - PROV_CCM_CTX*::hw::setkey
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ccm_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: ccm_init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:257,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: 258
      start: 253
    functionDepth: 8
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: ossl_ccm_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_init
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_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: ccm_init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:264,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: 265
      start: 260
    functionDepth: 8
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: ossl_ccm_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_init
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_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: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:274,1
    - Dst: ccm_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:279,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: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: ossl_ccm_stream_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_cipher_internal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_stream_update(void *vctx, unsigned char *out, size_t
      *outl,\n    size_t outsize, const unsigned char *in,\n    size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:291,1
    - Dst: ccm_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: ossl_ccm_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_cipher_internal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_stream_final(void *vctx, unsigned char *out, size_t *outl,\n
      \   size_t outsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:311,1
    - Dst: ccm_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: ossl_ccm_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_cipher_internal
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_cipher(void *vctx, unsigned char *out, size_t *outl,
      size_t outsize,\n    const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CCM_HW*::setiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:327,1
    - Dst: ccm_get_ivlen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - mlen
    argTypes:
    - PROV_CCM_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: ccm_set_iv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - ccm_get_ivlen
    - PROV_CCM_HW*::setiv
    linkageType: ''
    returnType: int
    signature: int ccm_set_iv(PROV_CCM_CTX *ctx, size_t mlen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:340,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:349,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:351,1
    - Dst: ccm_set_iv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:354,1
    - Dst: PROV_CCM_CTX*::hw::setaad
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:358,1
    - Dst: PROV_CCM_CTX*::hw::auth_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:365,1
    - Dst: PROV_CCM_CTX*::hw::auth_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:369,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 378
    functionName: ccm_tls_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 0
    functionsReached:
    - PROV_CCM_CTX*::hw::auth_encrypt
    - PROV_CCM_CTX*::hw::auth_decrypt
    - ccm_set_iv
    - memcpy
    - PROV_CCM_CTX*::hw::setaad
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ccm_tls_cipher(PROV_CCM_CTX *ctx,\n    unsigned char *out, size_t
      *padlen,\n    const unsigned char *in, size_t len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ccm_tls_cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:393,1
    - Dst: ccm_set_iv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:404,1
    - Dst: PROV_CCM_HW*::setaad
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:410,1
    - Dst: ccm_set_iv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:415,1
    - Dst: PROV_CCM_HW*::auth_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:419,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:425,1
    - Dst: PROV_CCM_HW*::auth_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c:429,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 443
    functionName: ccm_cipher_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 3
    functionsReached:
    - ccm_tls_cipher
    - PROV_CCM_HW*::setaad
    - ERR_raise
    - ccm_set_iv
    - PROV_CCM_HW*::auth_decrypt
    - PROV_CCM_HW*::auth_encrypt
    linkageType: ''
    returnType: int
    signature: "int ccm_cipher_internal(PROV_CCM_CTX *ctx, unsigned char *out,\n    size_t
      *padlen, const unsigned char *in,\n    size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - keybits
    - hw
    argTypes:
    - PROV_CCM_CTX*
    - size_t
    - PROV_CCM_HW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 456
    functionName: ossl_ccm_initctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ccm_initctx(PROV_CCM_CTX *ctx, size_t keybits, const PROV_CCM_HW
      *hw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_PROV_CHECK
      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:28,1
    - Dst: ossl_gcm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:30,1
    - Dst: ossl_prov_aes_hw_gcm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: aes_gcm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_aes_hw_gcm
    - ossl_gcm_initctx
    - CIPHER_PROV_CHECK
    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:40,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: aes_gcm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_prov_is_running
    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:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_PROV_CHECK
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:57,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:58,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    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: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: aes_wrap_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initkey
    - OPENSSL_zalloc
    - CIPHER_PROV_CHECK
    linkageType: ''
    returnType: void
    signature: "void *aes_wrap_newctx(void *provctx, 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:73,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:78,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - wctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: aes_wrap_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    - ossl_prov_is_running
    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:95,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    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:106,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:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    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: 150
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 150
    functionName: aes_wrap_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cipher_generic_initiv
    - AES_set_encrypt_key
    - AES_set_decrypt_key
    - aes_wrap_set_ctx_params
    - ossl_prov_is_running
    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:156,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: 157
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 157
    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:163,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: 164
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 164
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:222,1
    - Dst: PROV_AES_WRAP_CTX*::wrapfn
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 238
    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:243,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: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    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:257,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:266,1
    - Dst: aes_wrap_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:270,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: 276
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: aes_wrap_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - aes_wrap_cipher_internal
    - ERR_raise
    - ossl_prov_is_running
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: aes_wrap_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_wrap_settable_ctx_params(ossl_unused void *cctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:290,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 284
    functionDepth: 6
    functionLinenumber: 284
    functionLinenumberEnd: 304
    functionName: aes_wrap_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_size_t
    - aes_wrap_set_ctx_params_decoder
    - ERR_raise
    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: 342
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 342
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_PROV_CHECK
      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:28,1
    - Dst: ossl_ccm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:30,1
    - Dst: ossl_prov_aes_hw_ccm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: aes_ccm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_ccm_initctx
    - CIPHER_PROV_CHECK
    - 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:39,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: aes_ccm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_prov_is_running
    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:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    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_CIPHER_CTX_new
    - GSWAP4
    - EVP_EncryptInit_ex2
    - memset
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - memcpy
    - EVP_EncryptUpdate
    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:
    - OPENSSL_free
    - UP16
    - OPENSSL_realloc
    - memset
    - memcpy
    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: 2
    functionLinenumber: 148
    functionLinenumberEnd: 207
    functionName: aes_gcm_siv_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - aes_gcm_siv_ctr32
    - UP16
    - ossl_polyval_ghash_hash
    - DOWN16
    - IS16
    - GSWAP8
    - memset
    - memcpy
    - REMAINDER16
    - ossl_polyval_ghash_init
    - EVP_EncryptUpdate
    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: 2
    functionLinenumber: 209
    functionLinenumberEnd: 272
    functionName: aes_gcm_siv_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - aes_gcm_siv_ctr32
    - UP16
    - ossl_polyval_ghash_hash
    - DOWN16
    - ossl_polyval_ghash_init
    - IS16
    - GSWAP8
    - memset
    - REMAINDER16
    - memcpy
    - EVP_EncryptUpdate
    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: 3
    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_encrypt
    - aes_gcm_siv_finish
    - aes_gcm_siv_decrypt
    - 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_free
    - EVP_CIPHER_CTX_copy
    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: 2
    functionLinenumber: 334
    functionLinenumberEnd: 372
    functionName: aes_gcm_siv_ctr32
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 2
    functionsReached:
    - memcpy
    - GSWAP4
    - EVP_EncryptUpdate
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_PROV_CHECK
      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:30,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:32,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    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: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: ossl_tdes_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_INIT
    - ossl_cipher_generic_initkey
    - OPENSSL_zalloc
    - CIPHER_PROV_CHECK
    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:44,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:47,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:50,1
    - Dst: hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: ossl_tdes_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_COPY
    - hw::copyctx
    - OPENSSL_malloc
    - ossl_prov_is_running
    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:60,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    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: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    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:83,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:91,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:103,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:106,1
    - Dst: ossl_tdes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:110,1
    - Dst: tdes_encrypt_check_approved
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:113,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: 117
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 117
    functionName: tdes_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - ossl_tdes_set_ctx_params
    - ERR_raise
    - ossl_cipher_generic_initiv
    - PROV_CIPHER_CTX*::hw::init
    - tdes_encrypt_check_approved
    - memcpy
    - ossl_prov_is_running
    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:123,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: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    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:130,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: 131
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 131
    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:143,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:145,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:147,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - PROV_CIPHER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 7
    functionLinenumber: 138
    functionLinenumberEnd: 152
    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:159,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:162,1
    - Dst: tdes_generatekey
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:164,1
    - Dst: OSSL_FIPS_IND_GET_CTX_PARAM
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 8
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: ossl_tdes_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_FIPS_IND_GET_CTX_PARAM
    - ERR_raise
    - ossl_cipher_generic_get_ctx_params
    - 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:178,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    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:195,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:197,1
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:201,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: 203
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 203
    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:36,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:39,1
    - Dst: ossl_prov_cipher_hw_aes_siv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:44,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:45,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: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: aes_siv_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_prov_cipher_hw_aes_siv
    - ossl_prov_is_running
    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:55,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    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:65,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:68,1
    - Dst: PROV_AES_SIV_CTX*::hw::dupctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: siv_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_SIV_CTX*::hw::dupctx
    - OPENSSL_free
    - OPENSSL_malloc
    - ossl_prov_is_running
    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:84,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:91,1
    - Dst: PROV_AES_SIV_CTX*::hw::initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:94,1
    - Dst: aes_siv_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:97,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: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: siv_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_SIV_CTX*::hw::initkey
    - aes_siv_set_ctx_params
    - ERR_raise
    - ossl_prov_is_running
    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:104,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: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    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:111,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: 112
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 112
    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:119,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:123,1
    - Dst: PROV_AES_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:127,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: 133
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: siv_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_SIV_CTX*::hw::cipher
    - ERR_raise
    - ossl_prov_is_running
    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:140,1
    - Dst: PROV_AES_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:143,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: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: siv_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_SIV_CTX*::hw::cipher
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int siv_stream_final(void *vctx, unsigned char *out, size_t *outl,\n
      \   size_t outsize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aes_siv_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:157,1
    - Dst: OSSL_PARAM_set_octet_string
      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:168,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:174,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 6
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: aes_siv_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - ERR_raise
    - aes_siv_get_ctx_params_decoder
    - 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: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    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: aes_siv_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:197,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_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_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: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 191
    functionDepth: 6
    functionLinenumber: 191
    functionLinenumberEnd: 230
    functionName: aes_siv_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 1
    functionsReached:
    - PROV_AES_SIV_CTX*::hw::setspeed
    - PROV_AES_SIV_CTX*::hw::settag
    - ERR_raise
    - OSSL_PARAM_get_uint
    - aes_siv_set_ctx_params_decoder
    - 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: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    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: 287
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 287
    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:99,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:100,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: 113
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 113
    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: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    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:
    - CRYPTO_gcm128_encrypt
    - CRYPTO_gcm128_encrypt_ctr32
    - AES_gcm_encrypt
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_decrypt_ctr32
    - AES_gcm_decrypt
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - provctx
    - ctx
    - keybits
    - hw
    argTypes:
    - void*
    - PROV_GCM_CTX*
    - size_t
    - PROV_GCM_HW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: ossl_gcm_initctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 2
    functionsReached:
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: "void ossl_gcm_initctx(void *provctx, PROV_GCM_CTX *ctx, size_t keybits,\n
      \   const PROV_GCM_HW *hw)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:64,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:75,1
    - Dst: PROV_GCM_CTX*::hw::setkey
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:78,1
    - Dst: ossl_gcm_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    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: 83
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: gcm_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_gcm_set_ctx_params
    - memcpy
    - PROV_GCM_CTX*::hw::setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int gcm_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: gcm_init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:89,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: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: ossl_gcm_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - gcm_init
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_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: gcm_init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:96,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: 97
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ossl_gcm_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - gcm_init
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_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: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: ctr64_inc
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr64_inc(unsigned char *counter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_GCM_CTX*::hw::setiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:119,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:123,1
    - Dst: ctr64_inc
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - out
    - olen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: getivgen
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - ctr64_inc
    - memcpy
    - PROV_GCM_CTX*::hw::setiv
    linkageType: ''
    returnType: int
    signature: int getivgen(PROV_GCM_CTX *ctx, unsigned char *out, size_t olen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:140,1
    - Dst: PROV_GCM_CTX*::hw::setiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - in
    - inl
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: setivinv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - PROV_GCM_CTX*::hw::setiv
    linkageType: ''
    returnType: int
    signature: int setivinv(PROV_GCM_CTX *ctx, unsigned char *in, size_t inl)
  - 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: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: ossl_gcm_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_gcm_gettable_ctx_params(\n    ossl_unused void *cctx,
      ossl_unused void *provctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_gcm_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:159,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:163,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:168,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:176,1
    - Dst: on_preupdate_generate_iv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:189,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:193,1
    - Dst: on_preupdate_generate_iv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:201,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:205,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:222,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:227,1
    - Dst: getivgen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:235,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:238,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 66
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 242
    functionName: ossl_gcm_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_gcm_get_ctx_params_decoder
    - OSSL_PARAM_set_octet_string_or_ptr
    - OSSL_PARAM_set_uint
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_size_t
    - on_preupdate_generate_iv
    - getivgen
    linkageType: ''
    returnType: int
    signature: int ossl_gcm_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: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ossl_gcm_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_gcm_settable_ctx_params(\n    ossl_unused void *cctx,
      ossl_unused void *provctx)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_gcm_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:257,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:267,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:292,1
    - Dst: gcm_tls_init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:305,1
    - Dst: gcm_tls_iv_set_fixed
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:309,1
    - Dst: setivinv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:317,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 250
    functionDepth: 6
    functionLinenumber: 250
    functionLinenumberEnd: 321
    functionName: ossl_gcm_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 1
    functionsReached:
    - ossl_cipher_gcm_set_ctx_params_decoder
    - gcm_tls_iv_set_fixed
    - gcm_tls_init
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_octet_string
    - setivinv
    linkageType: ''
    returnType: int
    signature: int ossl_gcm_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:334,1
    - Dst: gcm_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    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: 343
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: ossl_gcm_stream_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - gcm_cipher_internal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_stream_update(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/ciphercommon_gcm.c:351,1
    - Dst: gcm_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: ossl_gcm_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - gcm_cipher_internal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_stream_final(void *vctx, unsigned char *out, size_t *outl,\n
      \   size_t outsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:372,1
    - Dst: gcm_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 381
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: ossl_gcm_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - gcm_cipher_internal
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_cipher(void *vctx,\n    unsigned char *out, size_t *outl,
      size_t outsize,\n    const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - offset
    argTypes:
    - PROV_GCM_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: gcm_iv_generate
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: int gcm_iv_generate(PROV_GCM_CTX *ctx, int offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcm_iv_generate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_GCM_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 8
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: on_preupdate_generate_iv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 1
    functionsReached:
    - gcm_iv_generate
    linkageType: ''
    returnType: int
    signature: int on_preupdate_generate_iv(PROV_GCM_CTX *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gcm_tls_cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:431,1
    - Dst: gcm_iv_generate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:443,1
    - Dst: PROV_GCM_HW*::setiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:448,1
    - Dst: PROV_GCM_HW*::aadupdate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:456,1
    - Dst: PROV_GCM_HW*::cipherupdate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:466,1
    - Dst: PROV_GCM_HW*::cipherfinal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:469,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 422
    functionDepth: 8
    functionLinenumber: 422
    functionLinenumberEnd: 480
    functionName: gcm_cipher_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 3
    functionsReached:
    - PROV_GCM_HW*::setiv
    - PROV_GCM_HW*::aadupdate
    - gcm_iv_generate
    - PROV_GCM_HW*::cipherupdate
    - ERR_raise
    - PROV_GCM_HW*::cipherfinal
    - gcm_tls_cipher
    linkageType: ''
    returnType: int
    signature: "int gcm_cipher_internal(PROV_GCM_CTX *ctx, unsigned char *out,\n    size_t
      *padlen, const unsigned char *in,\n    size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:487,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - dat
    - aad
    - aad_len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 511
    functionName: gcm_tls_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int gcm_tls_init(PROV_GCM_CTX *dat, unsigned char *aad, size_t aad_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:518,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:528,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - iv
    - len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 513
    functionDepth: 7
    functionLinenumber: 513
    functionLinenumberEnd: 537
    functionName: gcm_tls_iv_set_fixed
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 1
    functionsReached:
    - memcpy
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int gcm_tls_iv_set_fixed(PROV_GCM_CTX *ctx, unsigned char *iv,\n    size_t
      len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:553,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:567,1
    - Dst: getivgen
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:576,1
    - Dst: setivinv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:579,1
    - Dst: PROV_GCM_CTX*::hw::oneshot
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:589,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c:592,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - out
    - padlen
    - in
    - len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 606
    functionName: gcm_tls_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm.c
    functionUses: 1
    functionsReached:
    - PROV_GCM_CTX*::hw::oneshot
    - ERR_raise
    - getivgen
    - OPENSSL_cleanse
    - setivinv
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int gcm_tls_cipher(PROV_GCM_CTX *ctx, unsigned char *out, size_t *padlen,\n
      \   const unsigned char *in, size_t len)"
  - 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
    - ERR_raise
    - ossl_cipher_generic_initiv
    - PROV_CIPHER_CTX*::hw::init
    - ossl_prov_is_running
    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: 1
    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
    - OPENSSL_malloc
    - ossl_prov_is_running
    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
    - CRYPTO_xts128_encrypt
    - ERR_raise
    - ossl_prov_is_running
    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:
    - sm4_xts_cipher
    - ERR_raise
    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: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    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: sm4_xts_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:203,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:220,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:223,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - vxctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 234
    functionName: sm4_xts_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_PARAM_get_utf8_string_ptr
    - ERR_raise
    - sm4_xts_set_ctx_params_decoder
    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: 273
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 273
    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: 2
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: aria_gcm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_aria_hw_gcm
    - ossl_gcm_initctx
    - ossl_prov_is_running
    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:32,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:35,1
    - Dst: ossl_prov_cipher_hw_aes_gcm_siv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:38,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: ossl_aes_gcm_siv_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_prov_cipher_hw_aes_gcm_siv
    - ossl_prov_is_running
    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:52,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::clean_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:53,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    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:62,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:68,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:76,1
    - Dst: UP16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:76,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::dup_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:80,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 90
    functionName: ossl_aes_gcm_siv_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    - UP16
    - PROV_AES_GCM_SIV_CTX*::hw::dup_ctx
    - OPENSSL_clear_free
    - ossl_prov_is_running
    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:98,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:105,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:112,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:115,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:118,1
    - Dst: ossl_aes_gcm_siv_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:121,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: 122
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: ossl_aes_gcm_siv_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PROV_AES_GCM_SIV_CTX*::hw::initkey
    - memcpy
    - ossl_aes_gcm_siv_set_ctx_params
    - ossl_prov_is_running
    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:128,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: 129
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 129
    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:135,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: 136
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 136
    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:145,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:149,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:153,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: 158
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: ossl_aes_gcm_siv_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_GCM_SIV_CTX*::hw::cipher
    - ERR_raise
    - ossl_prov_is_running
    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:166,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:169,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: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: ossl_aes_gcm_siv_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_GCM_SIV_CTX*::hw::cipher
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_aes_gcm_siv_stream_final(void *vctx, unsigned char *out,
      size_t *outl,\n    size_t outsize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aes_gcm_siv_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:181,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:187,1
    - Dst: ERR_raise
      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:194,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:195,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:200,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: ossl_aes_gcm_siv_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - ossl_aes_gcm_siv_get_ctx_params_decoder
    - 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: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    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: aes_gcm_siv_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:224,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:228,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:234,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:235,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:250,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 212
    functionDepth: 6
    functionLinenumber: 212
    functionLinenumberEnd: 255
    functionName: ossl_aes_gcm_siv_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 1
    functionsReached:
    - aes_gcm_siv_set_ctx_params_decoder
    - ERR_raise
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_size_t
    - memcpy
    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: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    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: 303
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 303
    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:
    - ERR_raise
    - ossl_aria_set_encrypt_key
    - ossl_aria_set_decrypt_key
    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:
    - tls1_cbc_remove_padding_and_mac
    - ssl3_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:
    - OPENSSL_zalloc
    - ossl_ccm_initctx
    - ossl_prov_aria_hw_ccm
    - ossl_prov_is_running
    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: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    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:42,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:49,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:54,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: 58
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 58
    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:68,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: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    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: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    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: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    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:91,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: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    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: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    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: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    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:113,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: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    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:126,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:131,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: 136
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 136
    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: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    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: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    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:161,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: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    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:172,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: 175
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 175
    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: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    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: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    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:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *cast5_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ossl_cipher_generic_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_cipher_generic_gettable_params(ossl_unused void *provctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:46,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:50,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:55,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:60,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:65,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:70,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:75,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:80,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:84,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:88,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:92,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    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: 96
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 96
    functionName: ossl_cipher_generic_get_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 5
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_int
    - ossl_cipher_generic_get_params_decoder
    - ERR_raise
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_get_params(OSSL_PARAM params[], unsigned int
      md,\n    uint64_t flags,\n    size_t kbits, size_t blkbits, size_t ivbits)"
  - 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: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ossl_cipher_generic_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_cipher_generic_gettable_ctx_params(ossl_unused void
      *cctx, 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: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ossl_cipher_generic_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_cipher_generic_settable_ctx_params(ossl_unused void
      *cctx, 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: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ossl_cipher_var_keylen_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_cipher_var_keylen_settable_ctx_params(ossl_unused
      void *cctx, ossl_unused void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cipher_var_keylen_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:123,1
    - Dst: ossl_cipher_common_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:124,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: ossl_cipher_var_keylen_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 3
    functionsReached:
    - ossl_cipher_common_set_ctx_params
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - cipher_var_keylen_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_var_keylen_set_ctx_params(void *vctx, const OSSL_PARAM
      params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: ossl_cipher_generic_reset_ctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 13
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_cipher_generic_reset_ctx(PROV_CIPHER_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:161,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:165,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:178,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:184,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:188,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 7
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 189
    functionName: cipher_generic_init_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cipher_generic_initiv
    - ossl_cipher_generic_set_ctx_params
    - PROV_CIPHER_CTX*::hw::init
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int cipher_generic_init_internal(PROV_CIPHER_CTX *ctx,\n    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: cipher_generic_init_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:195,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: 197
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: ossl_cipher_generic_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 3
    functionsReached:
    - cipher_generic_init_internal
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_einit(void *vctx, const unsigned char *key,\n
      \   size_t keylen, const unsigned char *iv,\n    size_t ivlen, const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_generic_init_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:203,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: 205
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: ossl_cipher_generic_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 3
    functionsReached:
    - cipher_generic_init_internal
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_dinit(void *vctx, const unsigned char *key,\n
      \   size_t keylen, const unsigned char *iv,\n    size_t ivlen, const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_generic_init_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vctx
    - skeydata
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: ossl_cipher_generic_skey_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - cipher_generic_init_internal
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_skey_einit(void *vctx, void *skeydata,\n    const
      unsigned char *iv, size_t ivlen,\n    const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cipher_generic_init_internal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vctx
    - skeydata
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: ossl_cipher_generic_skey_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - cipher_generic_init_internal
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_skey_dinit(void *vctx, void *skeydata,\n    const
      unsigned char *iv, size_t ivlen,\n    const OSSL_PARAM params[])"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:275,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:292,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:303,1
    - Dst: ossl_cipher_tlsunpadblock
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:315,1
    - Dst: ossl_cipher_fillblock
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:334,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:338,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:355,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:361,1
    - Dst: ossl_cipher_trailingdata
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:368,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    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: 375
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 375
    functionName: ossl_cipher_generic_block_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_CTX*::hw::cipher
    - ossl_cipher_trailingdata
    - OPENSSL_free
    - ERR_raise
    - ossl_cipher_fillblock
    - memset
    - ossl_cipher_tlsunpadblock
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_block_update(void *vctx, unsigned char *out,\n
      \   size_t *outl, size_t outsize,\n    const unsigned char *in, size_t inl)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:393,1
    - Dst: ossl_cipher_padblock
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:399,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:409,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:412,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:413,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:427,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:432,1
    - Dst: ossl_cipher_unpadblock
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:442,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:445,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 449
    functionName: ossl_cipher_generic_block_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_CTX*::hw::cipher
    - ossl_cipher_padblock
    - ERR_raise
    - ossl_cipher_unpadblock
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_block_final(void *vctx, unsigned char *out,\n
      \   size_t *outl, size_t outsize)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:468,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:472,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:473,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:488,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:497,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    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: 512
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 512
    functionName: ossl_cipher_generic_stream_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_CTX*::hw::cipher
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_stream_update(void *vctx, unsigned char *out,\n
      \   size_t *outl, size_t outsize,\n    const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:518,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 528
    functionName: ossl_cipher_generic_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_stream_final(void *vctx, unsigned char *out,\n
      \   size_t *outl, size_t outsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:536,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:545,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:549,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:550,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: 556
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 556
    functionName: ossl_cipher_generic_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_CTX*::hw::cipher
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_cipher(void *vctx, unsigned char *out, size_t
      *outl,\n    size_t outsize, const unsigned char *in,\n    size_t inl)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:561,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:565,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:566,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:572,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:578,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:582,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:583,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:588,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:593,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:594,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - PROV_CIPHER_CTX*
    - struct ossl_cipher_get_ctx_param_list_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 558
    functionDepth: 6
    functionLinenumber: 558
    functionLinenumberEnd: 598
    functionName: ossl_cipher_common_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_string_or_ptr
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_common_get_ctx_params(PROV_CIPHER_CTX *ctx, const struct
      ossl_cipher_get_ctx_param_list_st *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cipher_generic_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:605,1
    - Dst: ossl_cipher_common_get_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 600
    functionDepth: 7
    functionLinenumber: 600
    functionLinenumberEnd: 608
    functionName: ossl_cipher_generic_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 2
    functionsReached:
    - cipher_generic_get_ctx_params_decoder
    - ossl_cipher_common_get_ctx_params
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_generic_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:616,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:625,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:626,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:633,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:634,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:641,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:649,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:650,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:654,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - PROV_CIPHER_CTX*
    - struct ossl_cipher_set_ctx_param_list_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 610
    functionDepth: 6
    functionLinenumber: 610
    functionLinenumberEnd: 660
    functionName: ossl_cipher_common_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_common_set_ctx_params(PROV_CIPHER_CTX *ctx, const struct
      ossl_cipher_set_ctx_param_list_st *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:667,1
    - Dst: cipher_generic_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:670,1
    - Dst: ossl_cipher_common_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 662
    functionDepth: 7
    functionLinenumber: 662
    functionLinenumberEnd: 673
    functionName: ossl_cipher_generic_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 2
    functionsReached:
    - ossl_param_is_empty
    - ossl_cipher_common_set_ctx_params
    - cipher_generic_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_generic_set_ctx_params(void *vctx, const OSSL_PARAM
      params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:680,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:684,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - iv
    - ivlen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 687
    functionName: ossl_cipher_generic_initiv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 6
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_generic_initiv(PROV_CIPHER_CTX *ctx, const unsigned
      char *iv,\n    size_t ivlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - vctx
    - kbits
    - blkbits
    - ivbits
    - mode
    - flags
    - hw
    - provctx
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - unsigned int
    - uint64_t
    - PROV_CIPHER_HW*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 709
    functionName: ossl_cipher_generic_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon.c
    functionUses: 5
    functionsReached:
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: "void ossl_cipher_generic_initkey(void *vctx, size_t kbits, size_t
      blkbits,\n    size_t ivbits, unsigned int mode,\n    uint64_t flags, const PROV_CIPHER_HW
      *hw,\n    void *provctx)"
  - 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: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    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:46,1
    - Dst: ossl_prov_cipher_hw_chacha20
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CHACHA20_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: ossl_chacha20_initctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_chacha20
    - ossl_cipher_generic_initkey
    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:58,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:61,1
    - Dst: ossl_chacha20_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: chacha20_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_chacha20_initctx
    - ossl_prov_is_running
    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:72,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    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:83,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:85,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: chacha20_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 7
    functionLinenumber: 96
    functionLinenumberEnd: 102
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:110,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:113,1
    - Dst: ERR_raise
      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:118,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:119,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:124,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:125,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:126,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:127,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: chacha20_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - chacha20_get_ctx_params_decoder
    - OSSL_PARAM_set_octet_string
    - CHACHA_U32TOU8
    - OSSL_PARAM_set_size_t
    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: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    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: chacha20_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:148,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:157,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 142
    functionDepth: 6
    functionLinenumber: 142
    functionLinenumberEnd: 173
    functionName: chacha20_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - chacha20_set_ctx_params_decoder
    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: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    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:188,1
    - Dst: PROV_CIPHER_HW_CHACHA20*::initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:193,1
    - Dst: chacha20_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:195,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: 198
      start: 181
    functionDepth: 7
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: ossl_chacha20_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 2
    functionsReached:
    - ossl_cipher_generic_einit
    - PROV_CIPHER_HW_CHACHA20*::initiv
    - 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:207,1
    - Dst: PROV_CIPHER_HW_CHACHA20*::initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:212,1
    - Dst: chacha20_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:214,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: 217
      start: 200
    functionDepth: 7
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: ossl_chacha20_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 2
    functionsReached:
    - chacha20_set_ctx_params
    - PROV_CIPHER_HW_CHACHA20*::initiv
    - ossl_cipher_generic_dinit
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 3
    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: 3
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: rc5_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached:
    - rc5_set_ctx_params
    - ossl_cipher_generic_dinit
    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: 7
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: rc5_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    - ossl_cipher_var_keylen_set_ctx_params
    - ossl_param_is_empty
    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:119,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:121,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 127
    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: 177
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 177
    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:59,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - key
    - bytes
    - enc
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: aes_xts_check_keys_differ
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - ERR_raise
    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:80,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:91,1
    - Dst: aes_xts_check_keys_differ
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:94,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:96,1
    - Dst: aes_xts_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:99,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: 100
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: aes_xts_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - aes_xts_check_keys_differ
    - ERR_raise
    - ossl_cipher_generic_initiv
    - PROV_CIPHER_CTX*::hw::init
    - aes_xts_set_ctx_params
    - ossl_prov_is_running
    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:107,1
    - Dst: aes_xts_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:110,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: 111
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: aes_xts_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - aes_xts_init
    - s390x_aes_xts_einit
    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:118,1
    - Dst: aes_xts_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:121,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: 122
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 122
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_PROV_CHECK
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:129,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:130,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:132,1
    - Dst: ossl_prov_cipher_hw_aes_xts
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    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: 137
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: aes_xts_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initkey
    - OPENSSL_zalloc
    - ossl_prov_cipher_hw_aes_xts
    - CIPHER_PROV_CHECK
    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:143,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    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:152,1
    - Dst: s390x_aes_xts_dupctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:157,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:168,1
    - Dst: PROV_AES_XTS_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: aes_xts_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - s390x_aes_xts_dupctx
    - PROV_AES_XTS_CTX*::base::hw::copyctx
    - OPENSSL_malloc
    - ossl_prov_is_running
    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:182,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:201,1
    - Dst: CRYPTO_xts128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:207,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: 213
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 213
    functionName: aes_xts_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - s390x_aes_xts_cipher
    - ERR_raise
    - CRYPTO_xts128_encrypt
    - ossl_prov_is_running
    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:222,1
    - Dst: aes_xts_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:227,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: 232
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: aes_xts_stream_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - aes_xts_cipher
    - ERR_raise
    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:237,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: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    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: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    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: aes_xts_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:254,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 6
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: aes_xts_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - aes_xts_set_ctx_params_decoder
    - OSSL_PARAM_get_size_t
    - ERR_raise
    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: 309
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 309
    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: 2
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: des_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    - ossl_prov_is_running
    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:
    - PROV_DES_CTX*::base::hw::copyctx
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 1
    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: 8
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: des_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - ossl_cipher_generic_initiv
    - ossl_cipher_generic_set_ctx_params
    - PROV_CIPHER_CTX*::hw::init
    - memcpy
    - ossl_prov_is_running
    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: 9
    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: 9
    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:15,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: 17
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 17
    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:22,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: 23
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 23
    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:29,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:32,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: 36
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: ossl_gcm_cipher_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_encrypt
    - CRYPTO_gcm128_decrypt
    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:41,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - tag
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 48
    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:57,1
    - Dst: PROV_GCM_CTX*::hw::cipherupdate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:59,1
    - Dst: PROV_GCM_CTX*::hw::cipherfinal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:62,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: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: ossl_gcm_one_shot
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - PROV_GCM_CTX*::hw::aadupdate
    - PROV_GCM_CTX*::hw::cipherupdate
    - PROV_GCM_CTX*::hw::cipherfinal
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    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: 0
    functionsReached:
    - BUF_reverse
    - CRYPTO_memcmp
    - PROV_CIPHER_CTX*::hw::cipher
    - OPENSSL_cleanse
    - ossl_sha1
    - memmove
    - memcpy
    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: 1
    functionsReached:
    - BUF_reverse
    - PROV_CIPHER_CTX*::hw::cipher
    - OPENSSL_cleanse
    - ossl_sha1
    - memmove
    - RAND_bytes_ex
    - memcpy
    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: 8
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: tdes_wrap_cipher_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 0
    functionsReached:
    - des_ede3_unwrap
    - des_ede3_wrap
    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: 9
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: tdes_wrap_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 0
    functionsReached:
    - tdes_wrap_cipher_internal
    - ERR_raise
    - ossl_prov_is_running
    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: 10
    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: 207
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 207
    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: 32
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 32
    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:42,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:51,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:60,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:69,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: 73
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 73
    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: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    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: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    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:36,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: 38
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 38
    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: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    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:59,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: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    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:76,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:83,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: 86
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 86
    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:95,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:101,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: 105
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 105
    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:117,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: 127
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 127
    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:147,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: 158
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 158
    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:166,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:173,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: 176
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 176
    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: 188
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 188
    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:
    - MD5_Init
    - RC4_set_key
    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:
    - CRYPTO_memcmp
    - RC4
    - rc4_md5_enc
    - MD5_Final
    - memcpy
    - MD5_Update
    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:
    - MD5_Init
    - OPENSSL_cleanse
    - MD5_Final
    - memset
    - memcpy
    - MD5_Update
    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: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    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: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    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: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    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: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    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: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    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:76,1
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:44,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:47,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:49,1
    - Dst: ossl_prov_cipher_hw_chacha20_poly1305
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:54,1
    - Dst: ossl_chacha20_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: chacha20_poly1305_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_cipher_hw_chacha20_poly1305
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    - ossl_chacha20_initctx
    linkageType: ''
    returnType: void
    signature: void *chacha20_poly1305_newctx(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:70,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: chacha20_poly1305_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *chacha20_poly1305_dupctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:87,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: chacha20_poly1305_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void chacha20_poly1305_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: chacha20_poly1305_get_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int chacha20_poly1305_get_params(OSSL_PARAM params[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:105,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:110,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:116,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:122,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:142,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 148
    functionName: chacha20_poly1305_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OSSL_PARAM_set_size_t
    - chacha20_poly1305_get_ctx_params_decoder
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int chacha20_poly1305_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: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: chacha20_poly1305_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *chacha20_poly1305_gettable_ctx_params(ossl_unused void
      *cctx, 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: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: chacha20_poly1305_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *chacha20_poly1305_settable_ctx_params(\n    ossl_unused
      void *cctx, ossl_unused void *provctx)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:169,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:178,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:206,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:216,1
    - Dst: PROV_CIPHER_HW_CHACHA20_POLY1305*::tls_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:229,1
    - Dst: PROV_CIPHER_HW_CHACHA20_POLY1305*::tls_iv_set_fixed
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:235,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 240
    functionName: chacha20_poly1305_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_set_ctx_params_decoder
    - PROV_CIPHER_HW_CHACHA20_POLY1305*::tls_iv_set_fixed
    - ERR_raise
    - PROV_CIPHER_HW_CHACHA20_POLY1305*::tls_init
    - OSSL_PARAM_get_size_t
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_set_ctx_params(void *vctx,\n    const OSSL_PARAM
      params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:249,1
    - Dst: PROV_CIPHER_HW_CHACHA20_POLY1305*::initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:255,1
    - Dst: chacha20_poly1305_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    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: 261
      start: 242
    functionDepth: 7
    functionLinenumber: 242
    functionLinenumberEnd: 261
    functionName: chacha20_poly1305_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_set_ctx_params
    - ossl_cipher_generic_einit
    - PROV_CIPHER_HW_CHACHA20_POLY1305*::initiv
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_einit(void *vctx, const unsigned char *key,\n
      \   size_t keylen, const unsigned char *iv,\n    size_t ivlen, const OSSL_PARAM
      params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:270,1
    - Dst: PROV_CIPHER_HW_CHACHA20_POLY1305*::initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:276,1
    - Dst: chacha20_poly1305_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    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: 282
      start: 263
    functionDepth: 7
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: chacha20_poly1305_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_set_ctx_params
    - PROV_CIPHER_HW_CHACHA20_POLY1305*::initiv
    - ossl_cipher_generic_dinit
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_dinit(void *vctx, const unsigned char *key,\n
      \   size_t keylen, const unsigned char *iv,\n    size_t ivlen, const OSSL_PARAM
      params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:300,1
    - Dst: PROV_CIPHER_HW_CHACHA20_POLY1305*::aead_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    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: 308
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 308
    functionName: chacha20_poly1305_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_HW_CHACHA20_POLY1305*::aead_cipher
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_cipher(void *vctx, unsigned char *out,\n    size_t
      *outl, size_t outsize,\n    const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    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: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: chacha20_poly1305_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_cipher
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_update(void *vctx, unsigned char *out,\n    size_t
      *outl, size_t outsize,\n    const unsigned char *in, size_t inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:333,1
    - Dst: PROV_CIPHER_HW_CHACHA20_POLY1305*::aead_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: chacha20_poly1305_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_HW_CHACHA20_POLY1305*::aead_cipher
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_final(void *vctx, unsigned char *out, size_t
      *outl,\n    size_t outsize)"
  - 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_up_ref
    - ossl_siv128_copy_ctx
    - EVP_CIPHER_free
    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_decrypt
    - ossl_siv128_aad
    - ossl_siv128_encrypt
    - ossl_siv128_finish
    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: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    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_encrypt_key
    - aes_v8_set_decrypt_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: 2
    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:
    - CRYPTO_memcmp
    - ERR_raise
    - ciph_digest_arg_init
    - HWAES_ENC_CBC_SHA512_ETM
    - HWAES_DEC_CBC_SHA512_ETM
    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: 3
    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:
    - OPENSSL_cleanse
    - SHA512_Init
    - SHA512_Final
    - memset
    - sha512_update
    - memcpy
    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: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    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:62,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:71,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:94,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:101,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:121,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: 126
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 126
    functionName: cipher_hw_aes_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c
    functionUses: 0
    functionsReached:
    - HWAES_set_decrypt_key
    - HWAES_set_encrypt_key
    - ERR_raise
    - AES_set_encrypt_key
    - vpaes_set_encrypt_key
    - vpaes_set_decrypt_key
    - AES_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: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    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:55,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:57,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: 58
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: aes_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_einit
    - aes_set_ctx_params
    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:64,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:66,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: 67
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: aes_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - aes_set_ctx_params
    - ossl_cipher_generic_dinit
    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: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    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: aes_cbc_hmac_sha_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:92,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::init_mac_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:95,1
    - Dst: OSSL_PARAM_get_size_t
      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:101,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:117,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:122,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:141,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:154,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::set_tls1_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:157,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:169,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:176,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:182,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 193
    functionName: aes_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 2
    functionsReached:
    - PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_encrypt
    - PROV_CIPHER_HW_AES_HMAC_SHA*::set_tls1_aad
    - ERR_raise
    - OSSL_PARAM_get_uint
    - PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_aad
    - aes_cbc_hmac_sha_set_ctx_params_decoder
    - OSSL_PARAM_get_size_t
    - PROV_CIPHER_HW_AES_HMAC_SHA*::init_mac_key
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int aes_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: aes_cbc_hmac_sha_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:200,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_max_bufsize
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:206,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:209,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:216,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:222,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:228,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:234,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:239,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:244,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:251,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:258,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 262
    functionName: aes_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_string_or_ptr
    - OSSL_PARAM_set_uint
    - PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_max_bufsize
    - aes_cbc_hmac_sha_get_ctx_params_decoder
    - ERR_raise
    - 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: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    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:275,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: 279
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 279
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:287,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:291,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:291,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:294,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:294,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:299,1
    - Dst: base_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:301,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 281
    functionDepth: 18
    functionLinenumber: 281
    functionLinenumberEnd: 305
    functionName: aes_cbc_hmac_sha1_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - base_init
    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:311,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: aes_cbc_hmac_sha1_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_prov_is_running
    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:325,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 328
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:336,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:340,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:340,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:343,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:343,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:348,1
    - Dst: base_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:350,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 330
    functionDepth: 18
    functionLinenumber: 330
    functionLinenumberEnd: 354
    functionName: aes_cbc_hmac_sha256_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - base_init
    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:360,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: aes_cbc_hmac_sha256_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_prov_is_running
    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:371,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    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: 411
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 411
    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:41,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:42,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:43,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: 45
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 45
    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:54,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:61,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: 66
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 66
    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:76,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:84,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: 90
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 90
    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:108,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: 116
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 116
    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:124,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:132,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: 136
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 136
    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:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:
    - PROV_CIPHER_CTX*::hw::cipher
    - memset
    - memcpy
    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:
    - do_xor
    - PROV_CIPHER_CTX*::hw::cipher
    - memcpy
    - memset
    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:
    - PROV_CIPHER_CTX*::hw::cipher
    - memset
    - memcpy
    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:
    - do_xor
    - PROV_CIPHER_CTX*::hw::cipher
    - memcpy
    - memset
    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:
    - PROV_CIPHER_CTX*::hw::cipher
    - cts128_cs3_encrypt
    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:
    - PROV_CIPHER_CTX*::hw::cipher
    - cts128_cs3_decrypt
    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_cs3_decrypt
    - cts128_cs2_decrypt
    - cts128_cs1_decrypt
    - cts128_cs2_encrypt
    - cts128_cs3_encrypt
    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:
    - byte_reverse16
    - mulx_ghash
    - ossl_gcm_init_4bit
    - GSWAP8
    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:28,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    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:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    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:47,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: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    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:59,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: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    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:71,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:87,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: 90
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 90
    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:96,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: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    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:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 7
    functionLinenumber: 104
    functionLinenumberEnd: 107
    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: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: null_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:122,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:126,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:131,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: null_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - null_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise
    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: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    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: null_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:156,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 6
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: null_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ERR_raise
    - null_set_ctx_params_decoder
    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: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    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: aes_cbc_hmac_sha_etm_set_ctx_params_decoder
      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:47,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:50,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:61,1
    - Dst: OSSL_PARAM_get_octet_string
      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:72,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 83
    functionName: aes_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - PROV_CIPHER_HW_AES_HMAC_SHA_ETM*::init_mac_key
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_get_octet_string
    - aes_cbc_hmac_sha_etm_set_ctx_params_decoder
    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:89,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:91,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: 92
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: aes_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_einit
    - aes_set_ctx_params
    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:98,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:100,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: 101
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: aes_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - aes_set_ctx_params
    - ossl_cipher_generic_dinit
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: aes_cbc_hmac_sha_etm_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:109,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:112,1
    - Dst: ERR_raise
      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:117,1
    - Dst: ERR_raise
      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:123,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:124,1
    - Dst: ERR_raise
      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:130,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:131,1
    - Dst: ERR_raise
      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:142,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:146,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 151
    functionName: aes_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_size_t
    - aes_cbc_hmac_sha_etm_get_ctx_params_decoder
    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: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    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: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    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:170,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: 174
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 174
    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:182,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:185,1
    - Dst: base_ctx_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:187,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:188,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: 191
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: aes_cbc_hmac_sha1_etm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm
    - OPENSSL_zalloc
    - base_ctx_init
    - ossl_prov_is_running
    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:198,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    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:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    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:219,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:222,1
    - Dst: base_ctx_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:224,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:225,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: 228
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: aes_cbc_hmac_sha256_etm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm
    - OPENSSL_zalloc
    - base_ctx_init
    - ossl_prov_is_running
    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:235,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 238
    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:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    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:256,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:259,1
    - Dst: base_ctx_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:261,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:262,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: 265
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: aes_cbc_hmac_sha512_etm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - base_ctx_init
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm
    - ossl_prov_is_running
    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:272,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    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:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    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: 322
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 322
    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: 1
    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:
    - OPENSSL_malloc
    - ossl_prov_is_running
    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_decrypt_key
    - aesni_set_encrypt_key
    - SHA256_Init
    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: 1
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: sha256_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 1
    functionsReached:
    - SHA256_Update
    - sha256_block_data_order
    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:
    - BSWAP4
    - sha256_multi_block
    - OPENSSL_cleanse
    - aesni_multi_cbc_encrypt
    - PUTU32
    - RAND_bytes_ex
    - BSWAP8
    - memset
    - memcpy
    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:436,1
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:438,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:452,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:456,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:459,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:461,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:462,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:469,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:472,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:485,1
    - Dst: constant_time_ge
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:514,1
    - Dst: constant_time_select
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:522,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:531,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:538,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:547,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:578,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:597,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:608,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:612,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:624,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:625,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: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:643,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:644,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:671,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: 676
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 676
    functionName: aesni_cbc_hmac_sha256_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - constant_time_select
    - BSWAP4
    - aesni_cbc_encrypt
    - sha256_update
    - sha256_block_data_order
    - aesni_cbc_sha256_enc
    - SHA256_Final
    - constant_time_ge
    - memset
    - memcpy
    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:687,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:690,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:691,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:692,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:694,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:699,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:700,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: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mackey
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 708
    functionName: aesni_cbc_hmac_sha256_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - sha256_update
    - memset
    - SHA256_Final
    - memcpy
    - SHA256_Init
    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:734,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:739,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: 744
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 744
    functionName: aesni_cbc_hmac_sha256_set_tls1_aad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sha256_update
    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:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 756
    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:785,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: 808
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 808
    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:814,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: 817
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 817
    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: 835
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 835
    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:
    - DES_set_key_unchecked
    - memcpy
    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: 79
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 79
    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: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRNG_TEST*::parent_lock
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - crngt
    argTypes:
    - CRNG_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: lock_parent
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRNG_TEST*::parent_lock
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int lock_parent(CRNG_TEST *crngt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRNG_TEST*::parent_unlock
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - crngt
    argTypes:
    - CRNG_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: unlock_parent
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRNG_TEST*::parent_unlock
    linkageType: ''
    returnType: void
    signature: void unlock_parent(CRNG_TEST *crngt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:123,1
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:124,1
    - Dst: ossl_likely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - crngt
    - next
    argTypes:
    - CRNG_TEST*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: RCT_test
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_likely
    linkageType: ''
    returnType: int
    signature: int RCT_test(CRNG_TEST *crngt, uint8_t next)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:147,1
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:148,1
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:149,1
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - crngt
    - next
    argTypes:
    - CRNG_TEST*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: APT_test
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_likely
    linkageType: ''
    returnType: int
    signature: int APT_test(CRNG_TEST *crngt, uint8_t next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RCT_test
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:168,1
    - Dst: APT_test
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - crngt
    - buf
    - n
    argTypes:
    - CRNG_TEST*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: crng_test
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - RCT_test
    - APT_test
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int crng_test(CRNG_TEST *crngt, const unsigned char *buf, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dispatch
    - function
    argTypes:
    - OSSL_DISPATCH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: find_call
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DISPATCH
    signature: "OSSL_DISPATCH *find_call(const OSSL_DISPATCH *dispatch,\n    int function)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:192,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:204,1
    - Dst: OSSL_FUNC_rand_enable_locking
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:205,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:206,1
    - Dst: OSSL_FUNC_rand_lock
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:207,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:208,1
    - Dst: OSSL_FUNC_rand_unlock
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:209,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:210,1
    - Dst: OSSL_FUNC_rand_gettable_ctx_params
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:211,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:212,1
    - Dst: OSSL_FUNC_rand_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:213,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:214,1
    - Dst: OSSL_FUNC_rand_get_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:215,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:216,1
    - Dst: OSSL_FUNC_rand_clear_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - provctx
    - parent
    - p_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 221
    functionName: crng_test_new
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_rand_enable_locking
    - OPENSSL_zalloc
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_lock
    - OSSL_FUNC_rand_clear_seed
    - OSSL_FUNC_rand_get_seed
    - OSSL_FUNC_rand_unlock
    - OSSL_FUNC_rand_gettable_ctx_params
    - find_call
    linkageType: ''
    returnType: void
    signature: "void *crng_test_new(void *provctx, void *parent,\n    const OSSL_DISPATCH
      *p_dispatch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vcrngt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: crng_test_free
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void crng_test_free(void *vcrngt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vcrngt
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: crng_test_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int crng_test_instantiate(void *vcrngt, unsigned int strength,\n    int
      prediction_resistance,\n    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:
    - vcrngt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: crng_test_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int crng_test_uninstantiate(void *vcrngt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crng_test_get_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:261,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:264,1
    - Dst: crng_test_clear_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - vcrngt
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: crng_test_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - crng_test_clear_seed
    - memcpy
    - crng_test_get_seed
    linkageType: ''
    returnType: int
    signature: "int crng_test_generate(void *vcrngt, unsigned char *out, size_t outlen,\n
      \   unsigned int strength, int prediction_resistance,\n    const unsigned char
      *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vcrngt
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: crng_test_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int crng_test_reseed(ossl_unused void *vcrngt,\n    ossl_unused int
      prediction_resistance,\n    ossl_unused const unsigned char *ent,\n    ossl_unused
      size_t ent_len,\n    ossl_unused const unsigned char *adin,\n    ossl_unused
      size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vcrngt
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: crng_test_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int crng_test_verify_zeroization(ossl_unused void *vcrngt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_entropy
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:298,1
    - Dst: crng_test
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:302,1
    - Dst: lock_parent
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:307,1
    - Dst: CRNG_TEST*::parent_get_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:310,1
    - Dst: crng_test
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:313,1
    - Dst: CRNG_TEST*::parent_clear_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:316,1
    - Dst: unlock_parent
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 8
    argNames:
    - vcrngt
    - 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: 319
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: crng_test_get_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 1
    functionsReached:
    - ossl_prov_get_entropy
    - CRNG_TEST*::parent_clear_seed
    - unlock_parent
    - CRNG_TEST*::parent_get_seed
    - crng_test
    - lock_parent
    linkageType: ''
    returnType: size_t
    signature: "size_t crng_test_get_seed(void *vcrngt, unsigned char **pout,\n    int
      entropy, size_t min_len,\n    size_t max_len,\n    int prediction_resistance,\n
      \   const unsigned char *adin,\n    size_t adin_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:327,1
    - Dst: CRNG_TEST*::parent_clear_seed
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - vcrngt
    - out
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: crng_test_clear_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 1
    functionsReached:
    - CRNG_TEST*::parent_clear_seed
    - ossl_prov_cleanup_entropy
    linkageType: ''
    returnType: void
    signature: "void crng_test_clear_seed(void *vcrngt,\n    unsigned char *out, size_t
      outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRNG_TEST*::parent_enable_locking
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:339,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - vcrngt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 349
    functionName: crng_test_enable_locking
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - ERR_raise
    - CRNG_TEST*::parent_enable_locking
    linkageType: ''
    returnType: int
    signature: int crng_test_enable_locking(void *vcrngt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vcrngt
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: crng_test_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int crng_test_lock(ossl_unused void *vcrngt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vcrngt
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: crng_test_unlock
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void crng_test_unlock(ossl_unused void *vcrngt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRNG_TEST*::parent_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:375,1
    - Dst: crng_test_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:378,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:381,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:384,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:387,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - vcrngt
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 393
    functionName: crng_test_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRNG_TEST*::parent_get_ctx_params
    - OSSL_PARAM_set_uint
    - crng_test_get_ctx_params_decoder
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int crng_test_get_ctx_params(void *vcrngt, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRNG_TEST*::parent_gettable_ctx_params
      Src: /src/openssl/providers/implementations/rands/fips_crng_test.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vcrngt
    - provctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionName: crng_test_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/fips_crng_test.c
    functionUses: 0
    functionsReached:
    - CRNG_TEST*::parent_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *crng_test_gettable_ctx_params(void *vcrngt,\n    void
      *provctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:116,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:116,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:117,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:118,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:119,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:120,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:124,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:126,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:127,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:129,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 9
    argNames:
    - drbg
    - out
    - inbyte
    - in
    - inlen
    - in2
    - in2len
    - in3
    - in3len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 80
    functionDepth: 8
    functionLinenumber: 80
    functionLinenumberEnd: 141
    functionName: hash_df
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - EVP_DigestFinal
    - EVP_DigestUpdate
    - memcpy
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: "int hash_df(PROV_DRBG *drbg, unsigned char *out,\n    const unsigned
      char inbyte,\n    const unsigned char *in, size_t inlen,\n    const unsigned
      char *in2, size_t in2len,\n    const unsigned char *in3, size_t in3len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_df
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - drbg
    - out
    - in_byte
    - in1
    - in1len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - unsigned char
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: hash_df1
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - hash_df
    linkageType: ''
    returnType: int
    signature: "int hash_df1(PROV_DRBG *drbg, unsigned char *out,\n    const unsigned
      char in_byte,\n    const unsigned char *in1, size_t in1len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - drbg
    - dst
    - in
    - inlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (drbg->seedlen >= 1 && inlen >= 1 && inlen <= drbg->seedlen)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/openssl/providers/implementations/rands/drbg_hash.c
    constantsTouched: []
    func_position:
      end: 185
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 185
    functionName: add_bytes
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int add_bytes(PROV_DRBG *drbg, unsigned char *dst,\n    unsigned char
      *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:194,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:194,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:195,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:196,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:197,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:198,1
    - Dst: add_bytes
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - drbg
    - inbyte
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 8
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: add_hash_to_v
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - add_bytes
    - EVP_DigestUpdate
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: "int add_hash_to_v(PROV_DRBG *drbg, unsigned char inbyte,\n    const
      unsigned char *adin, size_t adinlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:227,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:229,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:229,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:231,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:235,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:237,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:240,1
    - Dst: add_bytes
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - drbg
    - out
    - outlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 220
    functionDepth: 8
    functionLinenumber: 220
    functionLinenumberEnd: 250
    functionName: hash_gen
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - add_bytes
    - EVP_DigestUpdate
    - memcpy
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int hash_gen(PROV_DRBG *drbg, unsigned char *out, size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:268,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:269,1
    - Dst: hash_df
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:273,1
    - Dst: hash_df1
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - drbg
    - ent
    - ent_len
    - nonce
    - nonce_len
    - pstr
    - pstr_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 10
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: drbg_hash_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - hash_df
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - hash_df1
    linkageType: ''
    returnType: int
    signature: "int drbg_hash_instantiate(PROV_DRBG *drbg,\n    const unsigned char
      *ent, size_t ent_len,\n    const unsigned char *nonce, size_t nonce_len,\n    const
      unsigned char *pstr, size_t pstr_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hash_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:289,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:292,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:295,1
    - Dst: drbg_hash_set_ctx_params_locked
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:296,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:298,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:302,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    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: 304
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: drbg_hash_instantiate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - drbg_hash_set_ctx_params_locked
    - CRYPTO_THREAD_unlock
    - drbg_hash_set_ctx_params_decoder
    - CRYPTO_THREAD_write_lock
    - ossl_prov_drbg_instantiate
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int drbg_hash_instantiate_wrapper(void *vdrbg, unsigned int strength,\n
      \   int prediction_resistance,\n    const unsigned char *pstr,\n    size_t pstr_len,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_df
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:322,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:325,1
    - Dst: hash_df1
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - drbg
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 10
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: drbg_hash_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - hash_df
    - memcpy
    - hash_df1
    linkageType: ''
    returnType: int
    signature: "int drbg_hash_reseed(PROV_DRBG *drbg,\n    const unsigned char *ent,
      size_t ent_len,\n    const unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_reseed
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vdrbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: drbg_hash_reseed_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_reseed
    linkageType: ''
    returnType: int
    signature: "int drbg_hash_reseed_wrapper(void *vdrbg, int prediction_resistance,\n
      \   const unsigned char *ent, size_t ent_len,\n    const unsigned char *adin,
      size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_hash_to_v
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:366,1
    - Dst: hash_gen
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:368,1
    - Dst: add_hash_to_v
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:370,1
    - Dst: add_bytes
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:373,1
    - Dst: add_bytes
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - drbg
    - out
    - outlen
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 349
    functionDepth: 9
    functionLinenumber: 349
    functionLinenumberEnd: 376
    functionName: drbg_hash_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - hash_gen
    - add_bytes
    - add_hash_to_v
    linkageType: ''
    returnType: int
    signature: "int drbg_hash_generate(PROV_DRBG *drbg,\n    unsigned char *out, size_t
      outlen,\n    const unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_generate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - vdrbg
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: drbg_hash_generate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: int
    signature: "int drbg_hash_generate_wrapper(void *vdrbg, unsigned char *out, size_t
      outlen, unsigned int strength,\n    int prediction_resistance, const unsigned
      char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:391,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:392,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:393,1
    - Dst: ossl_prov_drbg_uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 395
    functionName: drbg_hash_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ossl_prov_drbg_uninstantiate
    linkageType: ''
    returnType: int
    signature: int drbg_hash_uninstantiate(PROV_DRBG *drbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:402,1
    - Dst: drbg_hash_uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:405,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: drbg_hash_uninstantiate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - drbg_hash_uninstantiate
    linkageType: ''
    returnType: int
    signature: int drbg_hash_uninstantiate_wrapper(void *vdrbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:419,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:422,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:423,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:424,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 431
    functionName: drbg_hash_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - PROV_DRBG_VERIFY_ZEROIZATION
    linkageType: ''
    returnType: int
    signature: int drbg_hash_verify_zeroization(void *vdrbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:437,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 453
    functionName: drbg_hash_new
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_zalloc
    - OSSL_FIPS_IND_INIT
    linkageType: ''
    returnType: int
    signature: int drbg_hash_new(PROV_DRBG *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:459,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:459,1
    - Dst: ossl_rand_drbg_new
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 18
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: drbg_hash_new_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_rand_drbg_new
    - ossl_deferred_self_test
    linkageType: ''
    returnType: void
    signature: "void *drbg_hash_new_wrapper(void *provctx, void *parent,\n    const
      OSSL_DISPATCH *parent_dispatch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:476,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:477,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:478,1
    - Dst: ossl_rand_drbg_free
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 8
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: drbg_hash_free
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - ossl_rand_drbg_free
    - EVP_MD_CTX_free
    - ossl_prov_digest_reset
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void drbg_hash_free(void *vdrbg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hash_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:491,1
    - Dst: ossl_drbg_get_ctx_params_no_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:494,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:502,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:506,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:508,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:508,1
    - Dst: ossl_drbg_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:512,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:515,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 518
    functionName: drbg_hash_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_drbg_get_ctx_params
    - ossl_drbg_get_ctx_params_no_lock
    - OSSL_PARAM_set_utf8_string
    - EVP_MD_get0_name
    - drbg_hash_get_ctx_params_decoder
    - CRYPTO_THREAD_read_lock
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int drbg_hash_get_ctx_params(void *vdrbg, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 524
    functionName: drbg_hash_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_hash_gettable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_find
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:539,1
    - Dst: evp_digest_fetch_from_prov
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:550,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:552,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:558,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - p
    - libctx
    - digest
    argTypes:
    - struct drbg_set_ctx_params_st*
    - OSSL_LIB_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 526
    functionDepth: 10
    functionLinenumber: 526
    functionLinenumberEnd: 560
    functionName: drbg_fetch_digest_from_prov
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - EVP_MD_free
    - ossl_provider_find
    - evp_digest_fetch_from_prov
    linkageType: ''
    returnType: int
    signature: "int drbg_fetch_digest_from_prov(const struct drbg_set_ctx_params_st
      *p,\n    OSSL_LIB_CTX *libctx,\n    EVP_MD **digest)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:565,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:570,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:574,1
    - Dst: drbg_fetch_digest_from_prov
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:575,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:576,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:578,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:581,1
    - Dst: ossl_prov_digest_set_md
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:583,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:586,1
    - Dst: ossl_drbg_verify_digest
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:588,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:592,1
    - Dst: ossl_drbg_set_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - PROV_DRBG*
    - struct drbg_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 562
    functionDepth: 11
    functionLinenumber: 562
    functionLinenumberEnd: 610
    functionName: drbg_hash_set_ctx_params_locked
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - ossl_prov_digest_load
    - ERR_clear_last_mark
    - ossl_drbg_set_ctx_params
    - ossl_prov_digest_set_md
    - EVP_MD_get_size
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - drbg_fetch_digest_from_prov
    - ossl_drbg_verify_digest
    - PROV_LIBCTX_OF
    - ERR_set_mark
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int drbg_hash_set_ctx_params_locked(PROV_DRBG *ctx, const struct drbg_set_ctx_params_st
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hash_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:618,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:621,1
    - Dst: drbg_hash_set_ctx_params_locked
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:624,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hash.c:627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 612
    functionDepth: 12
    functionLinenumber: 612
    functionLinenumberEnd: 630
    functionName: drbg_hash_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached:
    - drbg_hash_set_ctx_params_locked
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - drbg_hash_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int drbg_hash_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: drbg_hash_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_hash_settable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:68,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:70,1
    - Dst: get_jitter_random_value
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:73,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:74,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:76,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pool
    argTypes:
    - PROV_JITTER*
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: ossl_prov_acquire_entropy_from_jitter
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add_end
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    - get_jitter_random_value
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_prov_acquire_entropy_from_jitter(PROV_JITTER *s,\n    RAND_POOL
      *pool)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_collector_alloc
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:95,1
    - Dst: jent_read_entropy
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:100,1
    - Dst: jent_entropy_collector_free
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:101,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:117,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - PROV_JITTER*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 121
    functionName: get_jitter_random_value
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - jent_entropy_collector_alloc
    - jent_entropy_collector_free
    - ossl_set_error_state
    - jent_read_entropy
    linkageType: ''
    returnType: size_t
    signature: "size_t get_jitter_random_value(PROV_JITTER *s,\n    unsigned char
      *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:129,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: jitter_new
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void *jitter_new(void *provctx, void *parent,\n    const OSSL_DISPATCH
      *parent_dispatch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: jitter_free
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void jitter_free(void *vseed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jent_entropy_init_ex
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:156,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:157,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - vseed
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: jitter_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - ossl_set_error_state
    - jent_entropy_init_ex
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int jitter_instantiate(void *vseed, unsigned int strength,\n    int
      prediction_resistance,\n    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:
    - vseed
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: jitter_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jitter_uninstantiate(void *vseed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:187,1
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:195,1
    - Dst: ossl_prov_acquire_entropy_from_jitter
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:200,1
    - Dst: ossl_rand_pool_adin_mix_in
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:203,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:204,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:207,1
    - Dst: ossl_rand_pool_buffer
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:207,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:207,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 7
    argNames:
    - vseed
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 212
    functionName: jitter_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_free
    - ossl_rand_pool_buffer
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_prov_acquire_entropy_from_jitter
    - memcpy
    - ossl_rand_pool_length
    - ossl_rand_pool_adin_mix_in
    linkageType: ''
    returnType: int
    signature: "int jitter_generate(void *vseed, unsigned char *out, size_t outlen,\n
      \   unsigned int strength,\n    ossl_unused int prediction_resistance,\n    ossl_unused
      const unsigned char *adin,\n    ossl_unused size_t adin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - vseed
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: jitter_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int jitter_reseed(void *vseed,\n    ossl_unused int prediction_resistance,\n
      \   ossl_unused const unsigned char *ent,\n    ossl_unused size_t ent_len,\n
      \   ossl_unused const unsigned char *adin,\n    ossl_unused size_t adin_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jitter_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:237,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:240,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:243,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vseed
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 6
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: jitter_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_size_t
    - jitter_get_ctx_params_decoder
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int jitter_get_ctx_params(void *vseed, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vseed
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: jitter_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *jitter_gettable_ctx_params(ossl_unused void *vseed,\n
      \   ossl_unused void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: jitter_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jitter_verify_zeroization(ossl_unused void *vseed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:276,1
    - Dst: ossl_prov_acquire_entropy_from_jitter
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:281,1
    - Dst: ossl_rand_pool_adin_mix_in
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:284,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:285,1
    - Dst: ossl_rand_pool_detach
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:288,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - vseed
    - 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: 292
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: jitter_get_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_free
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_prov_acquire_entropy_from_jitter
    - ossl_rand_pool_length
    - ossl_rand_pool_detach
    - ossl_rand_pool_adin_mix_in
    linkageType: ''
    returnType: size_t
    signature: "size_t jitter_get_seed(void *vseed, unsigned char **pout,\n    int
      entropy, size_t min_len,\n    size_t max_len,\n    int prediction_resistance,\n
      \   const unsigned char *adin,\n    size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/seed_src_jitter.c:297,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: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: jitter_clear_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: "void jitter_clear_seed(ossl_unused void *vdrbg,\n    unsigned char
      *out, size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: jitter_enable_locking
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jitter_enable_locking(ossl_unused void *vseed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: jitter_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jitter_lock(ossl_unused void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: jitter_unlock
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src_jitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jitter_unlock(ossl_unused void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src.c:53,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/seed_src.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: seed_src_new
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void *seed_src_new(void *provctx, void *parent,\n    const OSSL_DISPATCH
      *parent_dispatch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/seed_src.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: seed_src_free
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void seed_src_free(void *vseed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vseed
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: seed_src_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int seed_src_instantiate(void *vseed, unsigned int strength,\n    int
      prediction_resistance,\n    const unsigned char *pstr, size_t pstr_len,\n    ossl_unused
      const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: seed_src_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seed_src_uninstantiate(void *vseed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src.c:101,1
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/providers/implementations/rands/seed_src.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src.c:109,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/openssl/providers/implementations/rands/seed_src.c:114,1
    - Dst: ossl_rand_pool_adin_mix_in
      Src: /src/openssl/providers/implementations/rands/seed_src.c:117,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/providers/implementations/rands/seed_src.c:118,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/seed_src.c:121,1
    - Dst: ossl_rand_pool_buffer
      Src: /src/openssl/providers/implementations/rands/seed_src.c:121,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/providers/implementations/rands/seed_src.c:121,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/providers/implementations/rands/seed_src.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 7
    argNames:
    - vseed
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - ossl_unused
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 126
    functionName: seed_src_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_free
    - ossl_pool_acquire_entropy
    - ossl_rand_pool_buffer
    - ERR_raise
    - ossl_rand_pool_new
    - memcpy
    - ossl_rand_pool_length
    - ossl_rand_pool_adin_mix_in
    linkageType: ''
    returnType: int
    signature: "int seed_src_generate(void *vseed, unsigned char *out, size_t outlen,\n
      \   unsigned int strength,\n    ossl_unused int prediction_resistance,\n    const
      unsigned char *adin,\n    size_t adin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - vseed
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: seed_src_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int seed_src_reseed(void *vseed,\n    ossl_unused int prediction_resistance,\n
      \   ossl_unused const unsigned char *ent,\n    ossl_unused size_t ent_len,\n
      \   ossl_unused const unsigned char *adin,\n    ossl_unused size_t adin_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seed_src_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/seed_src.c:151,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/seed_src.c:154,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/seed_src.c:157,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/seed_src.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vseed
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: seed_src_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_size_t
    - seed_src_get_ctx_params_decoder
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int seed_src_get_ctx_params(void *vseed, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vseed
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: seed_src_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *seed_src_gettable_ctx_params(ossl_unused void *vseed,\n
      \   ossl_unused void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: seed_src_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seed_src_verify_zeroization(ossl_unused void *vseed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/providers/implementations/rands/seed_src.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src.c:187,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/openssl/providers/implementations/rands/seed_src.c:192,1
    - Dst: ossl_rand_pool_adin_mix_in
      Src: /src/openssl/providers/implementations/rands/seed_src.c:195,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/providers/implementations/rands/seed_src.c:196,1
    - Dst: ossl_rand_pool_detach
      Src: /src/openssl/providers/implementations/rands/seed_src.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/seed_src.c:199,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/providers/implementations/rands/seed_src.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - vseed
    - 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: 203
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 203
    functionName: seed_get_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_free
    - ossl_pool_acquire_entropy
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_rand_pool_length
    - ossl_rand_pool_detach
    - ossl_rand_pool_adin_mix_in
    linkageType: ''
    returnType: size_t
    signature: "size_t seed_get_seed(void *vseed, unsigned char **pout,\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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/seed_src.c:208,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: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: seed_clear_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: "void seed_clear_seed(ossl_unused void *vdrbg,\n    unsigned char *out,
      size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vseed
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: seed_src_enable_locking
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seed_src_enable_locking(ossl_unused void *vseed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: seed_src_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seed_src_lock(ossl_unused void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: seed_src_unlock
    functionSourceFile: /src/openssl/providers/implementations/rands/seed_src.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void seed_src_unlock(ossl_unused void *vctx)
  - 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:
    - ERR_raise
    - PROV_DRBG*::parent_lock
    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:
    - PROV_DRBG*::parent_get_ctx_params
    - ERR_raise
    - ossl_drbg_lock_parent
    - OSSL_PARAM_construct_uint
    - ossl_drbg_unlock_parent
    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:
    - PROV_DRBG*::parent_get_ctx_params
    - tsan_load
    - ERR_raise
    - ossl_drbg_lock_parent
    - OSSL_PARAM_construct_uint
    - ossl_drbg_unlock_parent
    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
    - ossl_prov_drbg_generate
    - ERR_raise
    - OPENSSL_secure_clear_free
    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: 4
    functionsReached:
    - ossl_prov_get_entropy
    - ERR_raise
    - ossl_drbg_lock_parent
    - PROV_DRBG*::parent_get_seed
    - get_parent_strength
    - ossl_drbg_unlock_parent
    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: 3
    functionsReached:
    - ossl_drbg_lock_parent
    - ossl_drbg_unlock_parent
    - PROV_DRBG*::parent_clear_seed
    - 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_zalloc
    - CRYPTO_THREAD_lock_new
    - OPENSSL_free
    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:
    - ossl_lib_ctx_get_data
    - CRYPTO_atomic_add
    - OPENSSL_free
    - ossl_prov_ctx_get0_libctx
    - memset
    - PROV_DRBG*::parent_nonce
    - ossl_prov_get_nonce
    - 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:400,1
    - Dst: prov_drbg_get_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:419,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:423,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:430,1
    - Dst: get_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:437,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:442,1
    - Dst: PROV_DRBG*::instantiate
      Src: /src/openssl/providers/implementations/rands/drbg.c:446,1
    - Dst: cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:448,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:449,1
    - Dst: cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:452,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/drbg.c:456,1
    - Dst: tsan_store
      Src: /src/openssl/providers/implementations/rands/drbg.c:457,1
    - Dst: ossl_prov_cleanup_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:461,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: 465
      start: 349
    functionDepth: 6
    functionLinenumber: 349
    functionLinenumberEnd: 465
    functionName: ossl_prov_drbg_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - cleanup_entropy
    - tsan_load
    - tsan_store
    - PROV_DRBG*::instantiate
    - ossl_prov_cleanup_nonce
    - ERR_raise
    - prov_drbg_get_nonce
    - get_entropy
    - PROV_DRBG*::parent_nonce
    - time
    - OPENSSL_malloc
    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: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: ossl_prov_drbg_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    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:490,1
    - Dst: rand_drbg_restart
      Src: /src/openssl/providers/implementations/rands/drbg.c:495,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:498,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:502,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:523,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:529,1
    - Dst: PROV_DRBG*::reseed
      Src: /src/openssl/providers/implementations/rands/drbg.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:546,1
    - Dst: PROV_DRBG*::reseed
      Src: /src/openssl/providers/implementations/rands/drbg.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:551,1
    - Dst: get_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:566,1
    - Dst: PROV_DRBG*::reseed
      Src: /src/openssl/providers/implementations/rands/drbg.c:570,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/drbg.c:575,1
    - Dst: tsan_store
      Src: /src/openssl/providers/implementations/rands/drbg.c:576,1
    - Dst: get_parent_reseed_count
      Src: /src/openssl/providers/implementations/rands/drbg.c:578,1
    - Dst: cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:581,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: 585
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 585
    functionName: ossl_prov_drbg_reseed_unlocked
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - rand_drbg_restart
    - tsan_store
    - tsan_load
    - cleanup_entropy
    - PROV_DRBG*::reseed
    - ERR_raise
    - get_entropy
    - get_parent_reseed_count
    - time
    - ossl_prov_is_running
    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:600,1
    - Dst: ossl_prov_drbg_reseed_unlocked
      Src: /src/openssl/providers/implementations/rands/drbg.c:603,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg.c:607,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: 610
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 610
    functionName: ossl_prov_drbg_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    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:632,1
    - Dst: openssl_get_fork_id
      Src: /src/openssl/providers/implementations/rands/drbg.c:635,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/drbg.c:638,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg.c:640,1
    - Dst: rand_drbg_restart
      Src: /src/openssl/providers/implementations/rands/drbg.c:645,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:648,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:652,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:657,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:662,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:666,1
    - Dst: get_parent_reseed_count
      Src: /src/openssl/providers/implementations/rands/drbg.c:685,1
    - Dst: ossl_prov_drbg_reseed_unlocked
      Src: /src/openssl/providers/implementations/rands/drbg.c:689,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:691,1
    - Dst: PROV_DRBG*::generate
      Src: /src/openssl/providers/implementations/rands/drbg.c:698,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:700,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg.c:709,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: 712
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 712
    functionName: ossl_prov_drbg_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 2
    functionsReached:
    - rand_drbg_restart
    - CRYPTO_THREAD_unlock
    - ossl_prov_drbg_reseed_unlocked
    - ERR_raise
    - PROV_DRBG*::generate
    - CRYPTO_THREAD_write_lock
    - openssl_get_fork_id
    - get_parent_reseed_count
    - time
    - ossl_prov_is_running
    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:735,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/openssl/providers/implementations/rands/drbg.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 731
    functionDepth: 7
    functionLinenumber: 731
    functionLinenumberEnd: 743
    functionName: rand_drbg_restart
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 2
    functionsReached:
    - ossl_prov_drbg_instantiate
    - PROV_DRBG*::uninstantiate
    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: 756
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 756
    functionName: find_call
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    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:764,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:765,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/implementations/rands/drbg.c:768,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 775
    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:802,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/drbg.c:805,1
    - Dst: openssl_get_fork_id
      Src: /src/openssl/providers/implementations/rands/drbg.c:814,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:818,1
    - Dst: OSSL_FUNC_rand_enable_locking
      Src: /src/openssl/providers/implementations/rands/drbg.c:819,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:820,1
    - Dst: OSSL_FUNC_rand_lock
      Src: /src/openssl/providers/implementations/rands/drbg.c:821,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:822,1
    - Dst: OSSL_FUNC_rand_unlock
      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_get_ctx_params
      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_nonce
      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_seed
      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_clear_seed
      Src: /src/openssl/providers/implementations/rands/drbg.c:831,1
    - Dst: dnew
      Src: /src/openssl/providers/implementations/rands/drbg.c:843,1
    - Dst: get_parent_strength
      Src: /src/openssl/providers/implementations/rands/drbg.c:847,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:854,1
    - Dst: ossl_drbg_enable_locking
      Src: /src/openssl/providers/implementations/rands/drbg.c:859,1
    - Dst: dfree
      Src: /src/openssl/providers/implementations/rands/drbg.c:865,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - provctx
    - parent
    - p_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 867
    functionName: ossl_rand_drbg_new
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - OSSL_FUNC_rand_enable_locking
    - OPENSSL_zalloc
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_lock
    - OSSL_FUNC_rand_clear_seed
    - OSSL_FUNC_rand_get_seed
    - ERR_raise
    - OSSL_FUNC_rand_nonce
    - OSSL_FUNC_rand_unlock
    - dnew
    - get_parent_strength
    - openssl_get_fork_id
    - dfree
    - ossl_drbg_enable_locking
    - find_call
    - ossl_prov_is_running
    linkageType: ''
    returnType: PROV_DRBG
    signature: "PROV_DRBG *ossl_rand_drbg_new(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:874,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 876
    functionName: ossl_rand_drbg_free
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    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:885,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/drbg.c:888,1
    - Dst: OSSL_PARAM_set_size_t
      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_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:916,1
    - Dst: OSSL_PARAM_set_time_t
      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_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/rands/drbg.c:927,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: 931
      start: 882
    functionDepth: 6
    functionLinenumber: 882
    functionLinenumberEnd: 931
    functionName: ossl_drbg_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_int
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - 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:945,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:955,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:955,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: 966
      start: 937
    functionDepth: 6
    functionLinenumber: 937
    functionLinenumberEnd: 966
    functionName: ossl_drbg_get_ctx_params_no_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - tsan_load
    - OSSL_PARAM_set_uint
    - 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:972,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:976,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: 980
      start: 968
    functionDepth: 6
    functionLinenumber: 968
    functionLinenumberEnd: 980
    functionName: ossl_drbg_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    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:995,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/rands/drbg.c:996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 983
    functionDepth: 9
    functionLinenumber: 983
    functionLinenumberEnd: 1000
    functionName: digest_allowed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    - OSSL_NELEM
    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:1008,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/rands/drbg.c:1011,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:1014,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/rands/drbg.c:1020,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:1021,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: 1026
      start: 1004
    functionDepth: 10
    functionLinenumber: 1004
    functionLinenumberEnd: 1026
    functionName: ossl_drbg_verify_digest
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - EVP_MD_xof
    - digest_allowed
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_verify_digest(PROV_DRBG *drbg, OSSL_LIB_CTX *libctx,\n
      \   const EVP_MD *md)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:69,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:71,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:72,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:73,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:74,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:75,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:76,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:80,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:81,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:82,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 8
    argNames:
    - hmac
    - inbyte
    - in1
    - in1len
    - in2
    - in2len
    - in3
    - in3len
    argTypes:
    - PROV_DRBG_HMAC*
    - unsigned char
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: do_hmac
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_init
    - EVP_MAC_update
    - EVP_MAC_final
    linkageType: ''
    returnType: int
    signature: "int do_hmac(PROV_DRBG_HMAC *hmac, unsigned char inbyte,\n    const
      unsigned char *in1, size_t in1len,\n    const unsigned char *in2, size_t in2len,\n
      \   const unsigned char *in3, size_t in3len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_hmac
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:105,1
    - Dst: do_hmac
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 7
    argNames:
    - hmac
    - in1
    - in1len
    - in2
    - in2len
    - in3
    - in3len
    argTypes:
    - PROV_DRBG_HMAC*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 7
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: drbg_hmac_update
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - do_hmac
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_update(PROV_DRBG_HMAC *hmac,\n    const unsigned char
      *in1, size_t in1len,\n    const unsigned char *in2, size_t in2len,\n    const
      unsigned char *in3, size_t in3len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:131,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:136,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:138,1
    - Dst: drbg_hmac_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - hmac
    - ent
    - ent_len
    - nonce
    - nonce_len
    - pstr
    - pstr_len
    argTypes:
    - PROV_DRBG_HMAC*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 8
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: ossl_drbg_hmac_init
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - drbg_hmac_update
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_hmac_init(PROV_DRBG_HMAC *hmac,\n    const unsigned
      char *ent, size_t ent_len,\n    const unsigned char *nonce, size_t nonce_len,\n
      \   const unsigned char *pstr, size_t pstr_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_drbg_hmac_init
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - drbg
    - ent
    - ent_len
    - nonce
    - nonce_len
    - pstr
    - pstr_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 9
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: drbg_hmac_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - ossl_drbg_hmac_init
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_instantiate(PROV_DRBG *drbg,\n    const unsigned char
      *ent, size_t ent_len,\n    const unsigned char *nonce, size_t nonce_len,\n    const
      unsigned char *pstr, size_t pstr_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:162,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:165,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:168,1
    - Dst: drbg_hmac_set_ctx_params_locked
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:169,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:171,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    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: 177
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: drbg_hmac_instantiate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - drbg_hmac_set_ctx_params_decoder
    - ossl_prov_drbg_instantiate
    - drbg_hmac_set_ctx_params_locked
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_instantiate_wrapper(void *vdrbg, unsigned int strength,\n
      \   int prediction_resistance,\n    const unsigned char *pstr,\n    size_t pstr_len,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - drbg
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 8
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: drbg_hmac_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - drbg_hmac_update
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_reseed(PROV_DRBG *drbg,\n    const unsigned char *ent,
      size_t ent_len,\n    const unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_reseed
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vdrbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: drbg_hmac_reseed_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_reseed
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_reseed_wrapper(void *vdrbg, int prediction_resistance,\n
      \   const unsigned char *ent, size_t ent_len,\n    const unsigned char *adin,
      size_t adin_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:228,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:239,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:240,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:244,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:248,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:250,1
    - Dst: drbg_hmac_update
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - hmac
    - out
    - outlen
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG_HMAC*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 218
    functionDepth: 8
    functionLinenumber: 218
    functionLinenumberEnd: 261
    functionName: ossl_drbg_hmac_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - EVP_MAC_init
    - memcpy
    - EVP_MAC_final
    - drbg_hmac_update
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_hmac_generate(PROV_DRBG_HMAC *hmac,\n    unsigned char
      *out, size_t outlen,\n    const unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_drbg_hmac_generate
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - drbg
    - out
    - outlen
    - adin
    - adin_len
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 9
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: drbg_hmac_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 1
    functionsReached:
    - ossl_drbg_hmac_generate
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_generate(PROV_DRBG *drbg,\n    unsigned char *out, size_t
      outlen,\n    const unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_generate
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - vdrbg
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 6
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: drbg_hmac_generate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: int
    signature: "int drbg_hmac_generate_wrapper(void *vdrbg,\n    unsigned char *out,
      size_t outlen, unsigned int strength,\n    int prediction_resistance, const
      unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:285,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:286,1
    - Dst: ossl_prov_drbg_uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: drbg_hmac_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ossl_prov_drbg_uninstantiate
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_uninstantiate(PROV_DRBG *drbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:295,1
    - Dst: drbg_hmac_uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:298,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: drbg_hmac_uninstantiate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - drbg_hmac_uninstantiate
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_uninstantiate_wrapper(void *vdrbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:312,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:315,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:316,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: drbg_hmac_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - PROV_DRBG_VERIFY_ZEROIZATION
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_verify_zeroization(void *vdrbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:329,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: drbg_hmac_new
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_zalloc
    - OSSL_FIPS_IND_INIT
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_new(PROV_DRBG *drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:351,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:351,1
    - Dst: ossl_rand_drbg_new
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 18
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: drbg_hmac_new_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_rand_drbg_new
    - ossl_deferred_self_test
    linkageType: ''
    returnType: void
    signature: "void *drbg_hmac_new_wrapper(void *provctx, void *parent,\n    const
      OSSL_DISPATCH *parent_dispatch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:368,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:369,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:370,1
    - Dst: ossl_rand_drbg_free
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: drbg_hmac_free
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - ossl_rand_drbg_free
    - EVP_MAC_CTX_free
    - ossl_prov_digest_reset
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void drbg_hmac_free(void *vdrbg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:383,1
    - Dst: ossl_drbg_get_ctx_params_no_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:386,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:394,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:398,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:400,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:400,1
    - Dst: ossl_drbg_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:404,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:407,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 375
    functionDepth: 7
    functionLinenumber: 375
    functionLinenumberEnd: 410
    functionName: drbg_hmac_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - ossl_drbg_get_ctx_params
    - drbg_hmac_get_ctx_params_decoder
    - ossl_drbg_get_ctx_params_no_lock
    - OSSL_PARAM_set_utf8_string
    - EVP_MD_get0_name
    - CRYPTO_THREAD_read_lock
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_get_ctx_params(void *vdrbg, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: drbg_hmac_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_hmac_gettable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_find
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:432,1
    - Dst: evp_digest_fetch_from_prov
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:439,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:441,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:446,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - p
    - libctx
    - macctx
    - digest
    argTypes:
    - struct drbg_set_ctx_params_st*
    - OSSL_LIB_CTX*
    - EVP_MAC_CTX**
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 418
    functionDepth: 10
    functionLinenumber: 418
    functionLinenumberEnd: 456
    functionName: drbg_fetch_algs_from_prov
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - ossl_prov_macctx_load
    - ossl_provider_free
    - EVP_MD_free
    - evp_digest_fetch_from_prov
    - ossl_provider_find
    linkageType: ''
    returnType: int
    signature: "int drbg_fetch_algs_from_prov(const struct drbg_set_ctx_params_st
      *p,\n    OSSL_LIB_CTX *libctx,\n    EVP_MAC_CTX **macctx,\n    EVP_MD **digest)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:461,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:466,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:470,1
    - Dst: drbg_fetch_algs_from_prov
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:471,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:472,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:475,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:479,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:484,1
    - Dst: ossl_prov_digest_set_md
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:486,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:489,1
    - Dst: ossl_drbg_verify_digest
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:490,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:495,1
    - Dst: ossl_drbg_set_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - PROV_DRBG*
    - struct drbg_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 458
    functionDepth: 11
    functionLinenumber: 458
    functionLinenumberEnd: 509
    functionName: drbg_hmac_set_ctx_params_locked
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - ossl_prov_macctx_load
    - drbg_fetch_algs_from_prov
    - ossl_prov_digest_load
    - ERR_clear_last_mark
    - ossl_drbg_set_ctx_params
    - ossl_prov_digest_set_md
    - EVP_MD_get_size
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - ossl_drbg_verify_digest
    - PROV_LIBCTX_OF
    - ERR_set_mark
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_set_ctx_params_locked(PROV_DRBG *ctx, const struct drbg_set_ctx_params_st
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: drbg_hmac_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:517,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:520,1
    - Dst: drbg_hmac_set_ctx_params_locked
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:523,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_hmac.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 12
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: drbg_hmac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached:
    - drbg_hmac_set_ctx_params_locked
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - drbg_hmac_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int drbg_hmac_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: drbg_hmac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_hmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_hmac_settable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - PROV_DRBG_CTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: inc_128
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void inc_128(PROV_DRBG_CTR *ctr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ctr
    - in
    - inlen
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: ctr_XOR
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: void
    signature: void ctr_XOR(PROV_DRBG_CTR *ctr, const unsigned char *in, size_t inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctr
    - out
    - in
    - len
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: ctr_BCC_block
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    linkageType: ''
    returnType: __owur
    signature: "__owur ctr_BCC_block(PROV_DRBG_CTR *ctr, unsigned char *out,\n    const
      unsigned char *in, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:137,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:138,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:140,1
    - Dst: ctr_BCC_block
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctr
    - in
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: ctr_BCC_blocks
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ctr_BCC_block
    linkageType: ''
    returnType: __owur
    signature: __owur ctr_BCC_blocks(PROV_DRBG_CTR *ctr, const unsigned char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:155,1
    - Dst: ctr_BCC_block
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - PROV_DRBG_CTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: ctr_BCC_init
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - memset
    - ctr_BCC_block
    linkageType: ''
    returnType: __owur
    signature: __owur ctr_BCC_init(PROV_DRBG_CTR *ctr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:177,1
    - Dst: ctr_BCC_blocks
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:178,1
    - Dst: ctr_BCC_blocks
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:188,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ctr
    - in
    - inlen
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 198
    functionName: ctr_BCC_update
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ctr_BCC_blocks
    linkageType: ''
    returnType: __owur
    signature: "__owur ctr_BCC_update(PROV_DRBG_CTR *ctr,\n    const unsigned char
      *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:203,1
    - Dst: ctr_BCC_blocks
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - PROV_DRBG_CTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: ctr_BCC_final
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - memset
    - ctr_BCC_blocks
    linkageType: ''
    returnType: __owur
    signature: __owur ctr_BCC_final(PROV_DRBG_CTR *ctr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctr_BCC_init
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:220,1
    - Dst: ctr_BCC_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:241,1
    - Dst: ctr_BCC_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:242,1
    - Dst: ctr_BCC_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:243,1
    - Dst: ctr_BCC_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:244,1
    - Dst: ctr_BCC_final
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:245,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:248,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:251,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:255,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:260,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 7
    argNames:
    - ctr
    - in1
    - in1len
    - in2
    - in2len
    - in3
    - in3len
    argTypes:
    - PROV_DRBG_CTR*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 265
    functionName: ctr_df
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - ctr_BCC_init
    - ctr_BCC_final
    - ctr_BCC_update
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: __owur
    signature: "__owur ctr_df(PROV_DRBG_CTR *ctr,\n    const unsigned char *in1, size_t
      in1len,\n    const unsigned char *in2, size_t in2len,\n    const unsigned char
      *in3, size_t in3len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:284,1
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:285,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:286,1
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:290,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:291,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:294,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:297,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:298,1
    - Dst: ctr_df
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:303,1
    - Dst: ctr_XOR
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:307,1
    - Dst: ctr_XOR
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:309,1
    - Dst: ctr_XOR
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:310,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:313,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 7
    argNames:
    - drbg
    - in1
    - in1len
    - in2
    - in2len
    - nonce
    - noncelen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: ctr_update
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - EVP_CipherInit_ex
    - ctr_XOR
    - inc_128
    - memcpy
    - ctr_df
    linkageType: ''
    returnType: __owur
    signature: "__owur ctr_update(PROV_DRBG *drbg,\n    const unsigned char *in1,
      size_t in1len,\n    const unsigned char *in2, size_t in2len,\n    const unsigned
      char *nonce, size_t noncelen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:329,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:330,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:331,1
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:334,1
    - Dst: ctr_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - drbg
    - entropy
    - entropylen
    - nonce
    - noncelen
    - pers
    - perslen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 7
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: drbg_ctr_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - ctr_update
    - inc_128
    - memset
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_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)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:350,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:353,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:356,1
    - Dst: drbg_ctr_set_ctx_params_locked
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:357,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:359,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    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: 365
      start: 340
    functionDepth: 7
    functionLinenumber: 340
    functionLinenumberEnd: 365
    functionName: drbg_ctr_instantiate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - drbg_ctr_set_ctx_params_decoder
    - CRYPTO_THREAD_unlock
    - drbg_ctr_set_ctx_params_locked
    - CRYPTO_THREAD_write_lock
    - ossl_prov_drbg_instantiate
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_instantiate_wrapper(void *vdrbg, unsigned int strength,\n
      \   int prediction_resistance,\n    const unsigned char *pstr,\n    size_t pstr_len,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:376,1
    - Dst: ctr_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - drbg
    - entropy
    - entropylen
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 367
    functionDepth: 7
    functionLinenumber: 367
    functionLinenumberEnd: 380
    functionName: drbg_ctr_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - ctr_update
    - inc_128
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_reseed(PROV_DRBG *drbg,\n    const unsigned char *entropy,
      size_t entropylen,\n    const unsigned char *adin, size_t adinlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_reseed
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vdrbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 6
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: drbg_ctr_reseed_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_reseed
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_reseed_wrapper(void *vdrbg, int prediction_resistance,\n
      \   const unsigned char *ent, size_t ent_len,\n    const unsigned char *adin,
      size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: ctr96_inc
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr96_inc(unsigned char *counter)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:413,1
    - Dst: ctr_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:415,1
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:426,1
    - Dst: inc_128
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:429,1
    - Dst: ctr_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:431,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:436,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:439,1
    - Dst: GETU32
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:453,1
    - Dst: ctr96_inc
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:461,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:463,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:465,1
    - Dst: ctr_update
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - drbg
    - out
    - outlen
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 404
    functionDepth: 7
    functionLinenumber: 404
    functionLinenumberEnd: 476
    functionName: drbg_ctr_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - GETU32
    - ctr96_inc
    - PUTU32
    - inc_128
    - memset
    - ctr_update
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_generate(PROV_DRBG *drbg,\n    unsigned char *out, size_t
      outlen,\n    const unsigned char *adin, size_t adinlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_drbg_generate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - vdrbg
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: drbg_ctr_generate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_generate_wrapper(void *vdrbg, unsigned char *out, size_t
      outlen,\n    unsigned int strength, int prediction_resistance,\n    const unsigned
      char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:492,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:493,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:494,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:495,1
    - Dst: ossl_prov_drbg_uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 498
    functionName: drbg_ctr_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ossl_prov_drbg_uninstantiate
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_uninstantiate(PROV_DRBG *drbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:505,1
    - Dst: drbg_ctr_uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:508,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 514
    functionName: drbg_ctr_uninstantiate_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - drbg_ctr_uninstantiate
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_uninstantiate_wrapper(void *vdrbg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:522,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:525,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:526,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:527,1
    - Dst: PROV_DRBG_VERIFY_ZEROIZATION
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:528,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 537
    functionName: drbg_ctr_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - PROV_DRBG_VERIFY_ZEROIZATION
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_verify_zeroization(void *vdrbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 570
    functionName: drbg_ctr_init_lengths
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_init_lengths(PROV_DRBG *drbg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:578,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:581,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:583,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:587,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:591,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:593,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:595,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:612,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:614,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:618,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:620,1
    - Dst: drbg_ctr_init_lengths
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:624,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:627,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:628,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 572
    functionDepth: 5
    functionLinenumber: 572
    functionLinenumberEnd: 631
    functionName: drbg_ctr_init
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_get_key_length
    - ERR_raise
    - EVP_CIPHER_CTX_free
    - drbg_ctr_init_lengths
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_init(PROV_DRBG *drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:637,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:643,1
    - Dst: drbg_ctr_init_lengths
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: drbg_ctr_new
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - drbg_ctr_init_lengths
    - OPENSSL_secure_zalloc
    - OSSL_FIPS_IND_INIT
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_new(PROV_DRBG *drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:651,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:651,1
    - Dst: ossl_rand_drbg_new
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 18
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: drbg_ctr_new_wrapper
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_rand_drbg_new
    - ossl_deferred_self_test
    linkageType: ''
    returnType: void
    signature: "void *drbg_ctr_new_wrapper(void *provctx, void *parent,\n    const
      OSSL_DISPATCH *parent_dispatch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:668,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:669,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:670,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:671,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:672,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:674,1
    - Dst: ossl_rand_drbg_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 677
    functionName: drbg_ctr_free
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - ossl_rand_drbg_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void drbg_ctr_free(void *vdrbg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:686,1
    - Dst: ossl_drbg_get_ctx_params_no_lock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:689,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:697,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:700,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:705,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:706,1
    - Dst: ossl_drbg_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:710,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:713,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - vdrbg
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 679
    functionDepth: 7
    functionLinenumber: 679
    functionLinenumberEnd: 716
    functionName: drbg_ctr_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - EVP_CIPHER_get0_name
    - ossl_drbg_get_ctx_params
    - OSSL_PARAM_set_int
    - ossl_drbg_get_ctx_params_no_lock
    - OSSL_PARAM_set_utf8_string
    - CRYPTO_THREAD_read_lock
    - drbg_ctr_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_get_ctx_params(void *vdrbg, 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: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: drbg_ctr_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_ctr_gettable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:728,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:734,1
    - Dst: ossl_provider_find
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:749,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:762,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:765,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:766,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:767,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:770,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:771,1
    - Dst: strcpy
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:774,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:775,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:776,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:781,1
    - Dst: evp_cipher_fetch_from_prov
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:782,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:784,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:785,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:787,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:789,1
    - Dst: evp_cipher_fetch_from_prov
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:790,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:792,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:793,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:795,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:797,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:799,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:800,1
    - Dst: ossl_provider_free
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:805,1
    - Dst: drbg_ctr_init
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:807,1
    - Dst: ossl_drbg_set_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:810,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - PROV_DRBG*
    - struct drbg_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 724
    functionDepth: 7
    functionLinenumber: 724
    functionLinenumberEnd: 811
    functionName: drbg_ctr_set_ctx_params_locked
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - OSSL_PARAM_get_int
    - OPENSSL_strndup
    - ERR_clear_last_mark
    - ossl_drbg_set_ctx_params
    - OPENSSL_free
    - evp_cipher_fetch_from_prov
    - ossl_provider_free
    - ERR_raise
    - drbg_ctr_init
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - strcpy
    - PROV_LIBCTX_OF
    - OPENSSL_strcasecmp
    - ERR_set_mark
    - ossl_provider_find
    linkageType: ''
    returnType: int
    signature: "int drbg_ctr_set_ctx_params_locked(PROV_DRBG *ctx,\n    const struct
      drbg_set_ctx_params_st *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: drbg_ctr_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:819,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:822,1
    - Dst: drbg_ctr_set_ctx_params_locked
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:825,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg_ctr.c:828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 813
    functionDepth: 8
    functionLinenumber: 813
    functionLinenumberEnd: 831
    functionName: drbg_ctr_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached:
    - drbg_ctr_set_ctx_params_decoder
    - drbg_ctr_set_ctx_params_locked
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int drbg_ctr_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: 837
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: drbg_ctr_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg_ctr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *drbg_ctr_settable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/test_rng.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: test_rng_new
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: "void *test_rng_new(void *provctx, void *parent,\n    const OSSL_DISPATCH
      *parent_dispatch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/test_rng.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/test_rng.c:79,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/providers/implementations/rands/test_rng.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/test_rng.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: test_rng_free
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void test_rng_free(void *vtest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_rng_set_ctx_params
      Src: /src/openssl/providers/implementations/rands/test_rng.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - vtest
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: test_rng_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - test_rng_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int test_rng_instantiate(void *vtest, 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: 4
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: test_rng_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_rng_uninstantiate(void *vtest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - PROV_TEST_RNG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: gen_byte
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char gen_byte(PROV_TEST_RNG *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_byte
      Src: /src/openssl/providers/implementations/rands/test_rng.c:141,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/test_rng.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - vtest
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: test_rng_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - gen_byte
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int test_rng_generate(void *vtest, unsigned char *out, size_t outlen,\n
      \   unsigned int strength, int prediction_resistance,\n    const unsigned char
      *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vtest
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adin_len
    argTypes:
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: test_rng_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int test_rng_reseed(ossl_unused void *vtest,\n    ossl_unused int
      prediction_resistance,\n    ossl_unused const unsigned char *ent,\n    ossl_unused
      size_t ent_len,\n    ossl_unused const unsigned char *adin,\n    ossl_unused
      size_t adin_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gen_byte
      Src: /src/openssl/providers/implementations/rands/test_rng.c:174,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/test_rng.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - vtest
    - out
    - strength
    - min_noncelen
    - max_noncelen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: test_rng_nonce
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - gen_byte
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t test_rng_nonce(void *vtest, unsigned char *out,\n    unsigned
      int strength, size_t min_noncelen,\n    size_t max_noncelen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_rng_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/test_rng.c:191,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/test_rng.c:194,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/test_rng.c:197,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/test_rng.c:200,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/test_rng.c:203,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/test_rng.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - vtest
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: test_rng_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_uint
    - test_rng_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int test_rng_get_ctx_params(void *vtest, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vtest
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: test_rng_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *test_rng_gettable_ctx_params(ossl_unused void *vtest,\n
      \   ossl_unused void *provctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_rng_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/rands/test_rng.c:227,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/rands/test_rng.c:230,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/rands/test_rng.c:234,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/test_rng.c:236,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/rands/test_rng.c:244,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/test_rng.c:246,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/rands/test_rng.c:251,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/rands/test_rng.c:254,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - vtest
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 257
    functionName: test_rng_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_size_t
    - test_rng_set_ctx_params_decoder
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: int test_rng_set_ctx_params(void *vtest, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vtest
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: test_rng_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *test_rng_settable_ctx_params(ossl_unused void *vtest,\n
      \   ossl_unused void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: test_rng_verify_zeroization
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_rng_verify_zeroization(ossl_unused void *vtest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - vtest
    - pout
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char**
    - int
    - size_t
    - size_t
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: test_rng_get_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t test_rng_get_seed(void *vtest, unsigned char **pout,\n    int
      entropy, size_t min_len, size_t max_len,\n    ossl_unused int prediction_resistance,\n
      \   ossl_unused const unsigned char *adin,\n    ossl_unused size_t adin_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/implementations/rands/test_rng.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/test_rng.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: test_rng_enable_locking
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int test_rng_enable_locking(void *vtest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/test_rng.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: test_rng_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int test_rng_lock(void *vtest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/test_rng.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: test_rng_unlock
    functionSourceFile: /src/openssl/providers/implementations/rands/test_rng.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void test_rng_unlock(void *vtest)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_acquire_entropy_from_tsc
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:57,1
    - Dst: ossl_prov_acquire_entropy_from_cpu
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:63,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:69,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:70,1
    - Dst: BCryptGenRandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:73,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:92,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:95,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:98,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:99,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:104,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:105,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:109,1
    - Dst: CryptGenRandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:113,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:116,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:118,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:119,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 126
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 4
    functionsReached:
    - CryptGenRandom
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add_end
    - ossl_rand_pool_bytes_needed
    - ossl_prov_acquire_entropy_from_tsc
    - ossl_prov_acquire_entropy_from_cpu
    - ossl_rand_pool_add_begin
    - CryptReleaseContext
    - BCryptGenRandom
    - CryptAcquireContextW
    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:137,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:144,1
    - Dst: GetCurrentThreadId
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:145,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:146,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 1
    functionsReached:
    - GetSystemTimeAsFileTime
    - GetCurrentProcessId
    - memset
    - ossl_rand_pool_add
    - GetCurrentThreadId
    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: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    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: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    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: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    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:370,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:370,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:372,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:372,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:375,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:375,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: $DESCRIPTOR
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:390,1
    - Dst: sys$getdviw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:392,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:395,1
    - Dst: sys$getjpiw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:398,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:400,1
    - Dst: sys$getjpiw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:403,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:405,1
    - Dst: sys$getsyiw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:408,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:410,1
    - Dst: lib$get_ef
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:417,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:418,1
    - Dst: sys$getrmi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:421,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:423,1
    - Dst: sys$synch
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:426,1
    - Dst: lib$signal
      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:431,1
    - Dst: sys$getrmi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:434,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:436,1
    - Dst: sys$synch
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:439,1
    - Dst: lib$signal
      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:444,1
    - Dst: lib$free_ef
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:447,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:448,1
    - Dst: massage_JPI
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:453,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:458,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:459,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:472,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:474,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 475
    functionName: data_collect_method
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_entropy_available
    - ERR_raise_data
    - ossl_rand_pool_bytes_needed
    - lib$get_ef
    - sys$getrmi
    - lib$signal
    - sys$getjpiw
    - ossl_rand_pool_bytes_remaining
    - sys$getsyiw
    - ossl_rand_pool_add
    - OSSL_NELEM
    - massage_JPI
    - prepare_item_list
    - $DESCRIPTOR
    - lib$free_ef
    - ossl_assert
    - sys$getdviw
    - sys$synch
    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:495,1
    - Dst: dlopen
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 498
    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:511,1
    - Dst: get_entropy_address
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:516,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:525,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:529,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 533
    functionName: get_entropy_method
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    - lib$signal
    - get_entropy_address
    - ossl_rand_pool_add
    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:544,1
    - Dst: get_entropy_method
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:545,1
    - Dst: data_collect_method
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 4
    functionsReached:
    - init_get_entropy_address
    - data_collect_method
    - 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:565,1
    - Dst: getpid
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:588,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:589,1
    - Dst: sys$gettim
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:591,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 601
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 1
    functionsReached:
    - sys$gettim
    - getpid
    - memset
    - ossl_rand_pool_add
    - CRYPTO_THREAD_get_current_id
    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: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    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: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    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: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    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
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    - get_hardware_random_value
    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:
    - memcpy
    - _rdrand64
    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:95,1
    - Dst: OPENSSL_ia32_rdrand_bytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: get_hardware_random_value
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: 1
    functionsReached:
    - OPENSSL_ia32_rdseed_bytes
    - OPENSSL_ia32_rdrand_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:
    - TWO32TO64
    - clock_gettime
    - time
    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:
    - TWO32TO64
    - OPENSSL_rdtsc
    - time
    - clock_gettime
    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:
    - getpid
    - get_time_stamp
    - memset
    - ossl_rand_pool_add
    - CRYPTO_THREAD_get_current_id
    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: 4
    functionsReached:
    - ossl_rand_pool_entropy_available
    - randBytes
    - randStatus
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_end
    - ossl_rand_pool_add_begin
    - taskDelay
    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:37,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:39,1
    - Dst: get_hardware_random_value
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:42,1
    - Dst: ossl_rand_pool_add_end
      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:45,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 50
    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
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    - get_hardware_random_value
    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:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 62
    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: 4
    functionsReached:
    - s$sleep2
    - s$sleep
    - clock_gettime
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_bytes_needed
    - random
    - ossl_rand_pool_add
    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:238,1
    - Dst: sysctl
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 269
    functionName: sysctl_random
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - sysctl
    - ossl_assert
    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:361,1
    - Dst: CCRandomGenerateBytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:368,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:382,1
    - Dst: DSO_global_lookup
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:383,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:384,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:386,1
    - Dst: syscall
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:392,1
    - Dst: getrandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:396,1
    - Dst: sysctl_random
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:398,1
    - Dst: getentropy
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 407
    functionName: syscall_random
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - "union {\n        void *p;\n        int (*f)(void *buffer, size_t length);\n
      \   }::f"
    - DSO_global_lookup
    - syscall
    - sysctl_random
    - CCRandomGenerateBytes
    - getrandom
    - getentropy
    - ERR_set_mark
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t syscall_random(void *buf, size_t buflen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:443,1
    - Dst: uname
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:453,1
    - Dst: atoi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:454,1
    - Dst: strchr
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:455,1
    - Dst: atoi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:456,1
    - Dst: open
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:464,1
    - Dst: FD_ZERO
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:466,1
    - Dst: FD_SET
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:467,1
    - Dst: select
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:468,1
    - Dst: read
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:472,1
    - Dst: close
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:475,1
    - Dst: shmget
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:479,1
    - Dst: shmat
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:490,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 496
    functionName: wait_random_seeded
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - strchr
    - open
    - FD_SET
    - uname
    - select
    - FD_ZERO
    - atoi
    - close
    - shmat
    - shmget
    - read
    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: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    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:516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct random_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 521
    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:532,1
    - Dst: open
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:536,1
    - Dst: fstat
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:540,1
    - Dst: close
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 551
    functionName: get_random_device
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - fstat
    - open
    - close
    - check_random_device
    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:560,1
    - Dst: close
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 563
    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:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 573
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:579,1
    - Dst: close_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:580,1
    - Dst: shmdt
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 589
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached:
    - close_random_device
    - OSSL_NELEM
    - shmdt
    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:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 597
    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: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    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: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    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: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    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:636,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:650,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:652,1
    - Dst: syscall_random
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:653,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:655,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:663,1
    - Dst: wait_random_seeded
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:669,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:674,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:675,1
    - Dst: get_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:680,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:686,1
    - Dst: read
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:687,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:690,1
    - Dst: close_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:698,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:700,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:702,1
    - Dst: ossl_prov_acquire_entropy_from_tsc
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:709,1
    - Dst: ossl_prov_acquire_entropy_from_cpu
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:715,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:727,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:732,1
    - Dst: RAND_query_egd_bytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:733,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:738,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:739,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:741,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:747,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 749
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 4
    functionsReached:
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add_end
    - ossl_rand_pool_bytes_needed
    - syscall_random
    - close_random_device
    - ossl_rand_pool_add_begin
    - get_random_device
    - ossl_prov_acquire_entropy_from_tsc
    - ossl_prov_acquire_entropy_from_cpu
    - RAND_query_egd_bytes
    - OSSL_NELEM
    - wait_random_seeded
    - read
    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:764,1
    - Dst: getpid
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:771,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:772,1
    - Dst: get_time_stamp
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:773,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached:
    - getpid
    - get_time_stamp
    - memset
    - ossl_rand_pool_add
    - CRYPTO_THREAD_get_current_id
    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:791,1
    - Dst: TWO32TO64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:792,1
    - Dst: gettimeofday
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:800,1
    - Dst: TWO32TO64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:801,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 805
    functionName: get_time_stamp
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 2
    functionsReached:
    - TWO32TO64
    - gettimeofday
    - clock_gettime
    - time
    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_entropy_available
    - OPENSSL_rdtsc
    - ossl_rand_pool_add
    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:89,1
    - Dst: ossl_dh_gen_type_name2id
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: dh_gen_type_name2id_w_default
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_gen_type_name2id
    - strcmp
    linkageType: ''
    returnType: int
    signature: int dh_gen_type_name2id_w_default(const char *name, int type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:118,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:126,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:127,1
    - Dst: ossl_dh_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:127,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:127,1
    - Dst: DH_up_ref
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - libctx
    - dh
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - DH**
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: get_legacy_dh_object
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_ptr
    - DH_up_ref
    - ossl_dh_get0_libctx
    linkageType: ''
    returnType: int
    signature: int get_legacy_dh_object(OSSL_LIB_CTX *libctx, DH **dh, const OSSL_PARAM
      params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:143,1
    - Dst: get_legacy_dh_object
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:146,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:146,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:150,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:150,1
    - Dst: DH_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:152,1
    - Dst: DH_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: dh_newdata_ex
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_dh_new_ex
    - ossl_prov_is_running
    - DH_set_flags
    - get_legacy_dh_object
    - DH_clear_flags
    linkageType: ''
    returnType: void
    signature: void *dh_newdata_ex(void *provctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_newdata_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: dh_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dh_newdata_ex
    linkageType: ''
    returnType: void
    signature: void *dh_newdata(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:169,1
    - Dst: get_legacy_dh_object
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:172,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:172,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:176,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:176,1
    - Dst: DH_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:178,1
    - Dst: DH_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 165
    functionDepth: 5
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: dhx_newdata_ex
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_dh_new_ex
    - ossl_prov_is_running
    - DH_set_flags
    - get_legacy_dh_object
    - DH_clear_flags
    linkageType: ''
    returnType: void
    signature: void *dhx_newdata_ex(void *provctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dhx_newdata_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: dhx_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dhx_newdata_ex
    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:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 194
    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:201,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:207,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:209,1
    - Dst: DH_get0_p
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:211,1
    - Dst: DH_get0_g
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:211,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: dh_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - DH_get0_priv_key
    - DH_get0_p
    - DH_get0_pub_key
    - DH_get0_g
    - ossl_prov_is_running
    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:221,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:228,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:229,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:232,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:238,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:239,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:242,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:249,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:250,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:252,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 255
    functionName: dh_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - ossl_ffc_params_cmp
    - DH_get0_priv_key
    - BN_cmp
    - DH_get0_pub_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int dh_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:262,1
    - Dst: ossl_dh_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:269,1
    - Dst: ossl_dh_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 8
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: dh_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_key_fromdata
    - ossl_dh_params_fromdata
    - ossl_prov_is_running
    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:288,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:294,1
    - Dst: ossl_dh_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:299,1
    - Dst: ossl_dh_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:304,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:307,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:312,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:313,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:315,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: 317
      start: 280
    functionDepth: 8
    functionLinenumber: 280
    functionLinenumberEnd: 317
    functionName: dh_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ossl_dh_key_todata
    - ossl_dh_params_todata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - param_cb
    - OSSL_PARAM_clear_free
    - ossl_prov_is_running
    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: 368
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 368
    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:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    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:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 378
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: dh_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:420,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:423,1
    - Dst: DH_bits
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:423,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:426,1
    - Dst: DH_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:426,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:429,1
    - Dst: DH_size
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:429,1
    - Dst: ossl_dh_key2buf
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:435,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:442,1
    - Dst: ossl_dh_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:445,1
    - Dst: ossl_dh_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:446,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 415
    functionDepth: 8
    functionLinenumber: 415
    functionLinenumberEnd: 447
    functionName: dh_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - DH_bits
    - OSSL_PARAM_set_int
    - ossl_dh_key_todata
    - DH_size
    - ossl_dh_key2buf
    - ossl_dh_params_todata
    - dh_get_params_decoder
    - DH_security_bits
    linkageType: ''
    returnType: int
    signature: int 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: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    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: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:464,1
    - Dst: ossl_dh_buf2key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: dh_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dh_set_params_decoder
    - ossl_dh_buf2key
    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:481,1
    - Dst: ossl_dh_is_named_safe_prime_group
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:489,1
    - Dst: ossl_dh_check_pub_key_partial
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:490,1
    - Dst: DH_check_pub_key_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dh
    - checktype
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: dh_validate_public
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_is_named_safe_prime_group
    - DH_get0_key
    - DH_check_pub_key_ex
    - ossl_dh_check_pub_key_partial
    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:500,1
    - Dst: ossl_dh_check_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 504
    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:511,1
    - Dst: DH_check_params_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:524,1
    - Dst: DH_check_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:526,1
    - Dst: dh_validate_public
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:530,1
    - Dst: dh_validate_private
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:533,1
    - Dst: ossl_dh_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 506
    functionDepth: 10
    functionLinenumber: 506
    functionLinenumberEnd: 539
    functionName: dh_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - DH_check_params_ex
    - dh_validate_private
    - dh_validate_public
    - ossl_dh_check_pairwise
    - DH_check_ex
    - ossl_prov_is_running
    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:544,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:547,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:553,1
    - Dst: dh_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:574,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:575,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: 579
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 579
    functionName: dh_gen_init_base
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - dh_gen_set_params
    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:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 585
    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:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 591
    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:598,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 602
    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:607,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:611,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: 617
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 617
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_type_name2id_w_default
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:626,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:627,1
    - Dst: ossl_ffc_name_to_dh_named_group
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:639,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:641,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:646,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:649,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - gctx
    - p
    argTypes:
    - struct dh_gen_ctx*
    - struct dhx_gen_set_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 619
    functionDepth: 6
    functionLinenumber: 619
    functionLinenumberEnd: 652
    functionName: dh_gen_common_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - ERR_raise
    - OSSL_PARAM_get_size_t
    - dh_gen_type_name2id_w_default
    - ossl_ffc_name_to_dh_named_group
    - ossl_ffc_named_group_get_uid
    linkageType: ''
    returnType: int
    signature: "int dh_gen_common_set_params(struct dh_gen_ctx *gctx,\n    const struct
      dhx_gen_set_params_st *p)"
  - 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: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: dh_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dh_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: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: dhx_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached: []
    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: dhx_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:671,1
    - Dst: dh_gen_common_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:674,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:678,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:681,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:684,1
    - Dst: dh_set_gen_seed
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:689,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:692,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:698,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:699,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:707,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:708,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 666
    functionDepth: 7
    functionLinenumber: 666
    functionLinenumberEnd: 714
    functionName: dhx_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OSSL_PARAM_get_int
    - OPENSSL_free
    - dh_set_gen_seed
    - OSSL_PARAM_get_size_t
    - dh_gen_common_set_params
    - dhx_gen_set_params_decoder
    linkageType: ''
    returnType: int
    signature: int dhx_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:721,1
    - Dst: dh_gen_common_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:724,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 716
    functionDepth: 7
    functionLinenumber: 716
    functionLinenumberEnd: 731
    functionName: dh_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 1
    functionsReached:
    - dh_gen_set_params_decoder
    - OSSL_PARAM_get_int
    - 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:735,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:738,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:739,1
    - Dst: struct dh_gen_ctx*::cb
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: dh_gencb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - struct dh_gen_ctx*::cb
    - OSSL_PARAM_construct_int
    - BN_GENCB_get_arg
    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:752,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:769,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:771,1
    - Dst: ossl_dh_get_named_group_uid_from_size
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:781,1
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:784,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:787,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:789,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:792,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:796,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:799,1
    - Dst: ossl_ffc_params_set_gindex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:802,1
    - Dst: ossl_ffc_params_set_pcounter
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:804,1
    - Dst: ossl_ffc_params_set_h
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:806,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:809,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:812,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:814,1
    - Dst: DH_generate_parameters_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:823,1
    - Dst: ossl_dh_generate_ffc_parameters
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:826,1
    - Dst: DH_set_length
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:838,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:839,1
    - Dst: DH_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:841,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:844,1
    - Dst: ossl_dh_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:845,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:847,1
    - Dst: DH_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:853,1
    - Dst: DH_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:854,1
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:859,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:862,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 744
    functionDepth: 10
    functionLinenumber: 744
    functionLinenumberEnd: 864
    functionName: dh_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_set_h
    - ossl_fips_self_testing
    - ossl_dh_generate_ffc_parameters
    - DH_free
    - ossl_dh_new_ex
    - DH_set_flags
    - DH_clear_flags
    - ERR_raise_data
    - ossl_ffc_params_enable_flags
    - ossl_ffc_params_copy
    - ossl_dh_new_by_nid_ex
    - ossl_dh_get0_params
    - DH_set_length
    - ossl_ffc_params_set_gindex
    - ossl_ffc_params_set_seed
    - ossl_ffc_params_set_pcounter
    - DH_generate_key
    - ossl_ffc_set_digest
    - ossl_dh_get_named_group_uid_from_size
    - ossl_assert
    - BN_GENCB_free
    - DH_generate_parameters_ex
    - BN_GENCB_set
    - ossl_set_error_state
    - BN_GENCB_new
    - ossl_dh_check_pairwise
    - ossl_prov_is_running
    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:873,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:874,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:875,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 877
    functionName: dh_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_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:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 891
    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:895,1
    - Dst: ossl_dh_dup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 6
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: dh_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_dh_dup
    - ossl_prov_is_running
    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: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    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:68,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:74,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: 78
      start: 64
    functionDepth: 11
    functionLinenumber: 64
    functionLinenumberEnd: 78
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:92,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:100,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:101,1
    - Dst: ossl_rsa_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:101,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:101,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - libctx
    - rsa
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - RSA**
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: get_legacy_rsa_object
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_up_ref
    - ossl_lib_ctx_get_concrete
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_ptr
    - ossl_rsa_get0_libctx
    linkageType: ''
    returnType: int
    signature: int get_legacy_rsa_object(OSSL_LIB_CTX *libctx, RSA **rsa, const OSSL_PARAM
      params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:115,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:118,1
    - Dst: get_legacy_rsa_object
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:121,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:125,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:127,1
    - Dst: RSA_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: rsa_newdata_ex
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_clear_flags
    - RSA_set_flags
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - ossl_rsa_new_with_ctx
    - get_legacy_rsa_object
    linkageType: ''
    returnType: void
    signature: void *rsa_newdata_ex(void *provctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_newdata_ex
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: rsa_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - rsa_newdata_ex
    linkageType: ''
    returnType: void
    signature: void *rsa_newdata(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:142,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:145,1
    - Dst: get_legacy_rsa_object
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:148,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:152,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:154,1
    - Dst: RSA_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 140
    functionDepth: 5
    functionLinenumber: 140
    functionLinenumberEnd: 160
    functionName: rsapss_newdata_ex
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_clear_flags
    - RSA_set_flags
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - ossl_rsa_new_with_ctx
    - get_legacy_rsa_object
    linkageType: ''
    returnType: void
    signature: void *rsapss_newdata_ex(void *provctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsapss_newdata_ex
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 6
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: rsapss_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - rsapss_newdata_ex
    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:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 170
    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:177,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:184,1
    - Dst: RSA_get0_e
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:186,1
    - Dst: RSA_get0_d
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: rsa_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_get0_e
    - RSA_get0_n
    - RSA_get0_d
    - ossl_prov_is_running
    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:198,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:202,1
    - Dst: RSA_get0_e
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:202,1
    - Dst: RSA_get0_e
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:202,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:207,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:208,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:211,1
    - Dst: RSA_get0_d
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:217,1
    - Dst: RSA_get0_d
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:218,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 228
    functionName: rsa_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_get0_e
    - ossl_prov_is_running
    - BN_cmp
    - RSA_get0_n
    - RSA_get0_d
    linkageType: ''
    returnType: int
    signature: int rsa_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:237,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:243,1
    - Dst: pss_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:246,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:246,1
    - Dst: ossl_rsa_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:246,1
    - Dst: ossl_rsa_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 230
    functionDepth: 12
    functionLinenumber: 230
    functionLinenumberEnd: 254
    functionName: rsa_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_fromdata
    - RSA_test_flags
    - ossl_rsa_get0_pss_params_30
    - pss_params_fromdata
    - ossl_rsa_get0_libctx
    - ossl_prov_is_running
    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:260,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:265,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:271,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:276,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:276,1
    - Dst: ossl_rsa_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:280,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:283,1
    - Dst: param_callback
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:288,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:289,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:291,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: 293
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: rsa_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ossl_rsa_todata
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_pss_params_30_todata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - ossl_rsa_pss_params_30_is_unrestricted
    - param_callback
    - OSSL_PARAM_clear_free
    - ossl_prov_is_running
    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: 303
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 303
    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: 338
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 338
    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: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    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: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    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:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    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:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 379
    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:384,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:385,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:387,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:389,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:390,1
    - Dst: RSA_bits
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:390,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:392,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:393,1
    - Dst: RSA_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:393,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:395,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:396,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:396,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:398,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:399,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:406,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:408,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:409,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:417,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:421,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:422,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:422,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:424,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:428,1
    - Dst: ossl_rsa_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:429,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 19
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 381
    functionDepth: 7
    functionLinenumber: 381
    functionLinenumberEnd: 430
    functionName: rsa_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_rsa_todata
    - OSSL_PARAM_set_int
    - RSA_size
    - RSA_test_flags
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_get0_pss_params_30
    - RSA_security_bits
    - OSSL_PARAM_set_utf8_string
    - ossl_rsa_oaeppss_nid2name
    - ossl_rsa_pss_params_30_todata
    - ossl_rsa_pss_params_30_is_unrestricted
    - RSA_bits
    - RSA_get0_n
    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: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    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:452,1
    - Dst: ossl_rsa_validate_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:461,1
    - Dst: ossl_rsa_validate_private
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:464,1
    - Dst: ossl_rsa_validate_public
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 447
    functionDepth: 9
    functionLinenumber: 447
    functionLinenumberEnd: 469
    functionName: rsa_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_validate_private
    - ossl_rsa_validate_pairwise
    - ossl_rsa_validate_public
    - ossl_prov_is_running
    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:498,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:501,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:502,1
    - Dst: struct rsa_gen_ctx*::cb
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: rsa_gencb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - struct rsa_gen_ctx*::cb
    - OSSL_PARAM_construct_int
    - BN_GENCB_get_arg
    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:509,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:512,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:518,1
    - Dst: BN_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:520,1
    - Dst: BN_set_word
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:521,1
    - Dst: rsa_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:531,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:537,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:538,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: 540
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 540
    functionName: gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 76
    functionsReached:
    - OPENSSL_zalloc
    - BN_set_word
    - OPENSSL_free
    - rsa_gen_set_params
    - BN_free
    - PROV_LIBCTX_OF
    - BN_new
    - ossl_prov_is_running
    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:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    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:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:564,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:567,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:568,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:571,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:575,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:576,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:578,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:579,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:581,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:582,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:586,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:590,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:591,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:595,1
    - Dst: pss_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:602,1
    - Dst: ossl_rsa_acvp_test_gen_params_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:607,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 559
    functionDepth: 12
    functionLinenumber: 559
    functionLinenumberEnd: 611
    functionName: rsa_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_uint32
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    - pss_params_fromdata
    - ossl_param_is_empty
    - ossl_rsa_acvp_test_gen_params_new
    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: 639
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 639
    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: 651
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 651
    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:659,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:665,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:679,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:684,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:686,1
    - Dst: ossl_rsa_acvp_test_set_params
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:690,1
    - Dst: ossl_rsa_generate_multi_prime_key
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:695,1
    - Dst: ossl_rsa_pss_params_30_copy
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:701,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:701,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:705,1
    - Dst: RSA_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:706,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:711,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:712,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 653
    functionDepth: 4
    functionLinenumber: 653
    functionLinenumberEnd: 714
    functionName: rsa_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_set
    - ossl_rsa_pss_params_30_copy
    - RSA_clear_flags
    - BN_GENCB_new
    - RSA_set_flags
    - RSA_free
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_acvp_test_set_params
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_generate_multi_prime_key
    - ossl_rsa_new_with_ctx
    - BN_GENCB_free
    - ossl_prov_is_running
    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:723,1
    - Dst: BN_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:726,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: rsa_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_rsa_acvp_test_gen_params_free
    - BN_clear_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:735,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:739,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: 747
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 747
    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:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    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:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    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:761,1
    - Dst: ossl_rsa_dup
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 6
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: rsa_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_rsa_dup
    - ossl_prov_is_running
    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: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    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_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:38,1
    - Dst: ossl_lms_key_new
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:40,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: lms_new_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *lms_new_key(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lms_key_free
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: lms_free_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_free
    linkageType: ''
    returnType: void
    signature: void lms_free_key(void *keydata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:52,1
    - Dst: ossl_lms_key_has
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: lms_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_has
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int lms_has(const void *keydata, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:65,1
    - Dst: ossl_lms_key_equal
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: lms_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_equal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int lms_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:75,1
    - Dst: lms_import_decoder
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:77,1
    - Dst: ossl_lms_pubkey_from_params
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: lms_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_pubkey_from_params
    - lms_import_decoder
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int lms_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: lms_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *lms_imexport_types(int selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:101,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:107,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:111,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:117,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:121,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:122,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 126
    functionName: lms_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - ossl_param_build_set_octet_string
    - param_cb
    - OSSL_PARAM_clear_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int lms_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \   void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:132,1
    - Dst: ossl_lms_key_valid
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: lms_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_valid
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int lms_validate(const void *keydata, int selection, int checktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: lms_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *lms_load(const void *reference, size_t reference_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: lms_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *lms_gettable_params(void *provctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lms_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:167,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:171,1
    - Dst: ossl_lms_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:171,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:175,1
    - Dst: ossl_lms_key_get_collision_strength_bits
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:175,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:179,1
    - Dst: ossl_lms_key_get_sig_len
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:179,1
    - Dst: ossl_lms_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:183,1
    - Dst: ossl_lms_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:185,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:186,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c:194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: lms_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/lms_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_get_sig_len
    - lms_get_params_decoder
    - ossl_lms_key_get_pub
    - ossl_lms_key_get_pub_len
    - OSSL_PARAM_set_octet_string
    - ossl_lms_key_get_collision_strength_bits
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int lms_get_params(void *keydata, OSSL_PARAM params[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:85,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:90,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:91,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:96,1
    - Dst: ossl_self_test_in_progress
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:97,1
    - Dst: ossl_self_test_in_progress
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:98,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:105,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:107,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:111,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:115,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:119,1
    - Dst: ossl_ml_kem_encap_rand
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:126,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:129,1
    - Dst: ossl_ml_kem_encap_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:130,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:139,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:142,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:144,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:151,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:159,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - key
    - key_flags
    argTypes:
    - ML_KEM_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 161
    functionName: ml_kem_pairwise_test
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - ossl_fips_self_testing
    - ERR_raise_data
    - ossl_ml_kem_decap
    - OPENSSL_free
    - ossl_ml_kem_key_vinfo
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_onbegin
    - ossl_ml_kem_encap_seed
    - memset
    - ossl_ml_kem_have_prvkey
    - ossl_ml_kem_encap_rand
    - OSSL_SELF_TEST_free
    - OSSL_SELF_TEST_oncorrupt_byte
    - ossl_ml_kem_have_pubkey
    - ossl_self_test_in_progress
    - memcmp
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ml_kem_pairwise_test(const ML_KEM_KEY *key, int key_flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:167,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:171,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:171,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:182,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:182,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:183,1
    - Dst: ossl_prov_ctx_get_bool_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:186,1
    - Dst: ossl_prov_ctx_get_bool_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:191,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:196,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - propq
    - evp_type
    argTypes:
    - PROV_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 163
    functionDepth: 18
    functionLinenumber: 163
    functionLinenumberEnd: 204
    functionName: ossl_prov_ml_kem_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_deferred_self_test
    - ossl_prov_ctx_get_bool_param
    - PROV_LIBCTX_OF
    - ossl_ml_kem_key_new
    - OPENSSL_strcasecmp
    - ossl_prov_ctx_get_param
    - ossl_prov_is_running
    linkageType: ''
    returnType: ML_KEM_KEY
    signature: ML_KEM_KEY *ossl_prov_ml_kem_new(PROV_CTX *ctx, const char *propq,
      int evp_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:211,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:218,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: ml_kem_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - ossl_ml_kem_have_prvkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_kem_has(const void *vkey, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:229,1
    - Dst: ossl_ml_kem_pubkey_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vkey1
    - vkey2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: ml_kem_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_pubkey_cmp
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_kem_match(const void *vkey1, const void *vkey2, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_has
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:243,1
    - Dst: ml_kem_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vkey
    - selection
    - check_type
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: ml_kem_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_pairwise_test
    - ml_kem_has
    linkageType: ''
    returnType: int
    signature: int ml_kem_validate(const void *vkey, int selection, int check_type)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:262,1
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:268,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:269,1
    - Dst: ossl_ml_kem_decoded_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:273,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:277,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:279,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:289,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:291,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:292,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:295,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:297,1
    - Dst: ossl_ml_kem_encode_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:298,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:300,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:302,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:304,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:308,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:314,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:320,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:326,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:330,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:334,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:335,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:338,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:339,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:341,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 65
    argCount: 4
    argNames:
    - vkey
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 343
    functionName: ml_kem_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - ossl_ml_kem_have_dkenc
    - OSSL_PARAM_BLD_to_param
    - ossl_ml_kem_have_prvkey
    - param_cb
    - OSSL_PARAM_clear_free
    - memcpy
    - OPENSSL_free
    - ossl_ml_kem_encode_private_key
    - ERR_raise
    - OSSL_PARAM_BLD_new
    - ossl_param_build_set_octet_string
    - OPENSSL_secure_zalloc
    - ossl_ml_kem_have_pubkey
    - OPENSSL_malloc
    - ossl_ml_kem_encode_public_key
    - ossl_ml_kem_key_vinfo
    - OPENSSL_secure_clear_free
    - ossl_prov_is_running
    - ossl_ml_kem_decoded_key
    - ossl_ml_kem_encode_seed
    - ossl_ml_kem_have_seed
    linkageType: ''
    returnType: int
    signature: "int ml_kem_export(void *vkey, 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: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: ml_kem_import_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_kem_import_types(int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: ml_kem_export_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_kem_export_types(int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:364,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - seed
    - prvenc
    - key
    argTypes:
    - uint8_t*
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: check_seed
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int check_seed(const uint8_t *seed, const uint8_t *prvenc,\n    ML_KEM_KEY
      *key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:378,1
    - Dst: ossl_ml_kem_encode_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:382,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:383,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:384,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:389,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - prvenc
    - key
    argTypes:
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 375
    functionDepth: 6
    functionLinenumber: 375
    functionLinenumberEnd: 394
    functionName: check_prvenc
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_reset
    - ERR_raise_data
    - OPENSSL_clear_free
    - ossl_ml_kem_encode_private_key
    - memcmp
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int check_prvenc(const uint8_t *prvenc, ML_KEM_KEY *key)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:406,1
    - Dst: ml_kem_import_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:407,1
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:409,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:424,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:430,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:433,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:443,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:450,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:458,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:459,1
    - Dst: ossl_ml_kem_key_fetch_digest
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:468,1
    - Dst: check_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:474,1
    - Dst: ossl_ml_kem_set_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:476,1
    - Dst: ossl_ml_kem_genkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:477,1
    - Dst: check_prvenc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:479,1
    - Dst: ossl_ml_kem_parse_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:481,1
    - Dst: ossl_ml_kem_parse_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:483,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 56
    argCount: 3
    argNames:
    - key
    - params
    - include_private
    argTypes:
    - ML_KEM_KEY*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 484
    functionName: ml_kem_key_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_import_params_decoder
    - ossl_ml_kem_genkey
    - check_prvenc
    - ERR_raise_data
    - ossl_ml_kem_key_vinfo
    - check_seed
    - ERR_raise
    - ossl_ml_kem_key_fetch_digest
    - OSSL_PARAM_get_octet_string_ptr
    - ossl_ml_kem_parse_private_key
    - ossl_ml_kem_parse_public_key
    - ossl_ml_kem_set_seed
    - ossl_ml_kem_have_pubkey
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ml_kem_key_fromdata(ML_KEM_KEY *key, const OSSL_PARAM params[],\n
      \   int include_private)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:492,1
    - Dst: ml_kem_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:499,1
    - Dst: ml_kem_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:501,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:503,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - vkey
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 486
    functionDepth: 8
    functionLinenumber: 486
    functionLinenumberEnd: 509
    functionName: ml_kem_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_pairwise_test
    - ossl_ml_kem_key_reset
    - ossl_set_error_state
    - ml_kem_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_kem_import(void *vkey, int selection, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: ml_kem_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_kem_gettable_params(void *provctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:523,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:531,1
    - Dst: check_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:532,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:535,1
    - Dst: ossl_ml_kem_genkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:538,1
    - Dst: check_prvenc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:539,1
    - Dst: ossl_ml_kem_parse_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:542,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:544,1
    - Dst: ml_kem_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:549,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:552,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:558,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:559,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 517
    functionDepth: 7
    functionLinenumber: 517
    functionLinenumberEnd: 561
    functionName: ml_kem_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_pairwise_test
    - ossl_ml_kem_key_free
    - ossl_ml_kem_genkey
    - check_prvenc
    - ERR_raise_data
    - check_seed
    - OPENSSL_secure_clear_free
    - ossl_ml_kem_parse_private_key
    - ossl_prov_is_running
    - ossl_ml_kem_encode_seed
    - ossl_ml_kem_have_seed
    linkageType: ''
    returnType: void
    signature: void *ml_kem_load(const void *reference, size_t reference_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - key
    - p
    - bytes
    argTypes:
    - ML_KEM_KEY*
    - OSSL_PARAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 577
    functionName: ml_kem_get_key_param
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ml_kem_get_key_param(const ML_KEM_KEY *key, OSSL_PARAM *p,\n    size_t
      bytes,\n    int (*get_f)(uint8_t *out, size_t len,\n        const ML_KEM_KEY
      *key))"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:588,1
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:591,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:593,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:596,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:599,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:602,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:605,1
    - Dst: ml_kem_get_key_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:607,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:612,1
    - Dst: ml_kem_get_key_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:614,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:619,1
    - Dst: ml_kem_get_key_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:621,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:626,1
    - Dst: ml_kem_get_key_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:628,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:634,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:644,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:645,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:646,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:648,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:649,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:650,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:651,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:653,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:656,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 44
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 662
    functionName: ml_kem_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - WPACKET_init_der
    - ossl_DER_w_begin_sequence
    - OSSL_PARAM_set_int
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - ossl_ml_kem_key_vinfo
    - ossl_DER_w_precompiled
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_size_t
    - ml_kem_get_key_param
    - ossl_ml_kem_have_prvkey
    - WPACKET_finish
    - ml_kem_get_params_decoder
    - ossl_ml_kem_have_pubkey
    - ossl_DER_w_end_sequence
    - ossl_ml_kem_have_seed
    linkageType: ''
    returnType: int
    signature: int ml_kem_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: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: ml_kem_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_kem_settable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:676,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:681,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:683,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:691,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:692,1
    - Dst: ossl_ml_kem_parse_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 699
    functionName: ml_kem_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_set_params_decoder
    - ERR_raise_data
    - ERR_raise
    - OSSL_PARAM_get_octet_string_ptr
    - ossl_ml_kem_parse_public_key
    - ossl_ml_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: int ml_kem_set_params(void *vkey, const OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:706,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:712,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:713,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:721,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:726,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - vgctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 732
    functionName: ml_kem_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    - ERR_raise
    - ml_kem_gen_set_params_decoder
    linkageType: ''
    returnType: int
    signature: int ml_kem_gen_set_params(void *vgctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:743,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:745,1
    - Dst: ml_kem_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:751,1
    - Dst: ml_kem_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - provctx
    - selection
    - params
    - evp_type
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 756
    functionName: ml_kem_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_gen_set_params
    - OPENSSL_zalloc
    - ml_kem_gen_cleanup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *ml_kem_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[], int evp_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vgctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: ml_kem_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ml_kem_gen_settable_params(ossl_unused void *vgctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ml_kem_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:776,1
    - Dst: ossl_ml_kem_set_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:783,1
    - Dst: ossl_ml_kem_genkey
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:785,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:789,1
    - Dst: ml_kem_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:794,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:795,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:796,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - vgctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 764
    functionDepth: 19
    functionLinenumber: 764
    functionLinenumberEnd: 805
    functionName: ml_kem_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_kem_pairwise_test
    - ossl_ml_kem_key_free
    - ossl_ml_kem_genkey
    - ossl_set_error_state
    - ossl_prov_ml_kem_new
    - ossl_ml_kem_set_seed
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void *ml_kem_gen(void *vgctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:815,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:816,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vgctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 818
    functionName: ml_kem_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ml_kem_gen_cleanup(void *vgctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:824,1
    - Dst: ossl_ml_kem_key_dup
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: ml_kem_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ml_kem_dup(const void *vkey, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: ml_kem_free_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_free
    linkageType: ''
    returnType: void
    signature: void ml_kem_free_key(void *keydata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 877
    functionName: DECLARE_VARIANT
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_VARIANT(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: debug_print
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug_print(char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:40,1
    - Dst: vsnprintf
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:41,1
    - Dst: va_end
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: debug_print
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 6
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void debug_print(char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:75,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:76,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: template_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_prov_is_running
    - debug_print
    linkageType: ''
    returnType: void
    signature: void *template_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vkey
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: template_free
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - debug_print
    linkageType: ''
    returnType: void
    signature: void template_free(void *vkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:100,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:101,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: template_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - debug_print
    linkageType: ''
    returnType: int
    signature: int template_has(const void *keydata, int selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:112,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:113,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: template_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - debug_print
    linkageType: ''
    returnType: int
    signature: int template_match(const void *keydata1, const void *keydata2, int
      selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - key
    - tmpl
    - params
    - include_private
    argTypes:
    - void*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int key_to_params(void *key, OSSL_PARAM_BLD *tmpl,\n    OSSL_PARAM
      params[], int include_private)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:153,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:154,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:160,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:167,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:171,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:175,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:176,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:178,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - key
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 181
    functionName: template_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - debug_print
    - key_to_params
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - param_cb
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int template_export(void *key, int selection, OSSL_CALLBACK *param_cb,\n
      \   void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: template_key_types_decoder
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - key
    - params
    - include_private
    argTypes:
    - void*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: ossl_template_key_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - template_key_types_decoder
    linkageType: ''
    returnType: int
    signature: "int ossl_template_key_fromdata(void *key,\n    const OSSL_PARAM params[],\n
      \   int include_private)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:213,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:214,1
    - Dst: ossl_template_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:221,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - key
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: template_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ossl_template_key_fromdata
    - debug_print
    linkageType: ''
    returnType: int
    signature: int template_import(void *key, int selection, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: template_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *template_imexport_types(int selection)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:238,1
    - Dst: template_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:240,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:245,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:247,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:249,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:251,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:253,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:256,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: template_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_string
    - template_get_params_decoder
    - OSSL_PARAM_set_int
    - debug_print
    linkageType: ''
    returnType: int
    signature: int template_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: template_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - debug_print
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *template_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:270,1
    - Dst: template_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:271,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: template_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - template_set_params_decoder
    - debug_print
    linkageType: ''
    returnType: int
    signature: int template_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: template_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - debug_print
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *template_settable_params(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:293,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: template_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - template_gen_set_params_decoder
    - debug_print
    linkageType: ''
    returnType: int
    signature: int template_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:305,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:309,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:312,1
    - Dst: template_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:317,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 322
    functionName: template_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - debug_print
    - OPENSSL_free
    - template_gen_set_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *template_gen_init(void *provctx, int selection,\n    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: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: template_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *template_gen_settable_params(ossl_unused void *genctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:335,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:342,1
    - Dst: template_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:345,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - vctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: template_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - template_free
    - debug_print
    linkageType: ''
    returnType: void
    signature: void *template_gen(void *vctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: template_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - debug_print
    linkageType: ''
    returnType: void
    signature: void template_gen_cleanup(void *genctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:365,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:366,1
    - Dst: template_new
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:369,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:375,1
    - Dst: template_free
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:378,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - vsrckey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 381
    functionName: template_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/template_kmgmt.c
    functionUses: 0
    functionsReached:
    - template_new
    - ossl_prov_is_running
    - template_free
    - debug_print
    linkageType: ''
    returnType: void
    signature: void *template_dup(const void *vsrckey, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:96,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: dsa_gen_type_name2id
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    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:111,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:114,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - dsa
    - bld
    - pubkey
    - privkey
    - include_private
    argTypes:
    - DSA*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 121
    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 *pubkey,\n
      \   OSSL_PARAM *privkey, int include_private)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:126,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:128,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:135,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:142,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:143,1
    - Dst: ossl_dsa_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:143,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:143,1
    - Dst: DSA_up_ref
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:145,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: dsa_newdata_ex
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_get0_libctx
    - ossl_lib_ctx_get_concrete
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_ptr
    - ossl_dsa_new
    - PROV_LIBCTX_OF
    - DSA_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dsa_newdata_ex(void *provctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_newdata_ex
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: dsa_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - dsa_newdata_ex
    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:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 164
    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:171,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:177,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:179,1
    - Dst: DSA_get0_p
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:181,1
    - Dst: DSA_get0_g
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: dsa_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - DSA_get0_g
    - DSA_get0_priv_key
    - DSA_get0_pub_key
    - DSA_get0_p
    - ossl_prov_is_running
    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:191,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:198,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:199,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:202,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:208,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:209,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:212,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:219,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:220,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 225
    functionName: dsa_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_cmp
    - DSA_get0_pub_key
    - ossl_dsa_get0_params
    - BN_cmp
    - DSA_get0_priv_key
    - ossl_prov_is_running
    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:232,1
    - Dst: ossl_dsa_ffc_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:239,1
    - Dst: ossl_dsa_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 7
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: dsa_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_key_fromdata
    - ossl_dsa_ffc_params_fromdata
    - ossl_prov_is_running
    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:258,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:264,1
    - Dst: ossl_ffc_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:269,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:269,1
    - Dst: dsa_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:273,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:276,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:281,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:282,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:284,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: 286
      start: 250
    functionDepth: 7
    functionLinenumber: 250
    functionLinenumberEnd: 286
    functionName: dsa_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - ossl_dsa_get0_params
    - param_cb
    - OSSL_PARAM_clear_free
    - dsa_key_todata
    - ossl_ffc_params_todata
    - ossl_prov_is_running
    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: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    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:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 339
    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:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: dsa_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:366,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:369,1
    - Dst: DSA_bits
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:369,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:372,1
    - Dst: DSA_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:372,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:375,1
    - Dst: DSA_size
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:375,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:378,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:381,1
    - Dst: ossl_ffc_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:384,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:384,1
    - Dst: dsa_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 361
    functionDepth: 8
    functionLinenumber: 361
    functionLinenumberEnd: 386
    functionName: dsa_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - DSA_size
    - OSSL_PARAM_set_int
    - DSA_security_bits
    - OSSL_PARAM_set_utf8_string
    - ossl_dsa_get0_params
    - DSA_bits
    - dsa_key_todata
    - ossl_ffc_params_todata
    - dsa_get_params_decoder
    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: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    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:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dsa
    - checktype
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 6
    functionLinenumber: 393
    functionLinenumberEnd: 398
    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:405,1
    - Dst: ossl_dsa_check_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: dsa_validate_public
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - DSA_get0_key
    - ossl_dsa_check_pub_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:416,1
    - Dst: ossl_dsa_check_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: dsa_validate_private
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - DSA_get0_key
    - ossl_dsa_check_priv_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:427,1
    - Dst: dsa_validate_domparams
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:434,1
    - Dst: dsa_validate_public
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:437,1
    - Dst: dsa_validate_private
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:440,1
    - Dst: ossl_dsa_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 7
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: dsa_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_check_pairwise
    - dsa_validate_public
    - dsa_validate_private
    - dsa_validate_domparams
    - ossl_prov_is_running
    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:452,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:455,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:458,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:471,1
    - Dst: dsa_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:473,1
    - Dst: dsa_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 478
    functionName: dsa_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - dsa_gen_cleanup
    - dsa_gen_set_params
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    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:485,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 489
    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:494,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:498,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: 504
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 504
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: dsa_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:512,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:515,1
    - Dst: dsa_gen_type_name2id
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:522,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:535,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:538,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:541,1
    - Dst: dsa_set_gen_seed
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:546,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:549,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:552,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:558,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:559,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:567,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:568,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 42
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 573
    functionName: dsa_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - dsa_gen_set_params_decoder
    - dsa_set_gen_seed
    - OPENSSL_strdup
    - OSSL_PARAM_get_int
    - OPENSSL_free
    - ERR_raise
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - dsa_gen_type_name2id
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int dsa_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: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: dsa_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dsa_gen_settable_params(ossl_unused void *genctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_gen_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:586,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: dsa_gen_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - dsa_gen_get_params_decoder
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    linkageType: ''
    returnType: int
    signature: int dsa_gen_get_params(void *genctx, 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: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: dsa_gen_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    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:602,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:605,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:606,1
    - Dst: struct dsa_gen_ctx*::cb
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: dsa_gencb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - struct dsa_gen_ctx*::cb
    - OSSL_PARAM_construct_int
    - BN_GENCB_get_arg
    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:619,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:627,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:633,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:646,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:648,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:655,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:657,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:659,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:662,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:666,1
    - Dst: ossl_ffc_params_set_gindex
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:669,1
    - Dst: ossl_ffc_params_set_pcounter
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:671,1
    - Dst: ossl_ffc_params_set_h
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:673,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:676,1
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:680,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:686,1
    - Dst: DSA_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:693,1
    - Dst: DSA_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:699,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:702,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 704
    functionName: dsa_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_set_h
    - ossl_dsa_new
    - DSA_generate_key
    - ERR_raise_data
    - ossl_dsa_generate_ffc_parameters
    - ossl_dsa_get0_params
    - ossl_ffc_params_enable_flags
    - ossl_ffc_params_copy
    - ossl_ffc_params_set_gindex
    - ossl_ffc_params_set_seed
    - ossl_ffc_params_set_pcounter
    - ossl_ffc_set_digest
    - DSA_free
    - ossl_assert
    - BN_GENCB_free
    - BN_GENCB_set
    - BN_GENCB_new
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - ossl_prov_is_running
    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:713,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:714,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:715,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 717
    functionName: dsa_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_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:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 731
    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:735,1
    - Dst: ossl_dsa_dup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 6
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: dsa_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_dsa_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dsa_dup(const void *keydata_from, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:77,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:78,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vkey
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: mlx_kem_key_free
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mlx_kem_key_free(void *vkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:90,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:91,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:92,1
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - v
    - libctx
    - propq
    argTypes:
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: mlx_kem_key_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_NELEM
    - ossl_ml_kem_get_vinfo
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: 'void *

      mlx_kem_key_new(unsigned int v, OSSL_LIB_CTX *libctx, char *propq)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:114,1
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:121,1
    - Dst: mlx_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: mlx_kem_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - mlx_kem_have_pubkey
    - mlx_kem_have_prvkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mlx_kem_has(const void *vkey, int selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:131,1
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:132,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:134,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:151,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - vkey1
    - vkey2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: mlx_kem_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - mlx_kem_have_pubkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mlx_kem_match(const void *vkey1, const void *vkey2, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_import_export_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:174,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:185,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:188,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:199,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - params
    - varg
    argTypes:
    - OSSL_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 211
    functionName: export_sub_cb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ml_kem_import_export_decoder
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int export_sub_cb(const OSSL_PARAM *params, void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_export
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - sub_arg
    - selection
    - key
    argTypes:
    - EXPORT_CB_ARG*
    - int
    - MLX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 249
    functionName: export_sub
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_export
    linkageType: ''
    returnType: int
    signature: int export_sub(EXPORT_CB_ARG *sub_arg, int selection, MLX_KEY *key)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:262,1
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:270,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:275,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:278,1
    - Dst: mlx_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:283,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:290,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:295,1
    - Dst: export_sub
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:300,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:304,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:309,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:313,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:317,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:318,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:321,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:323,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - vkey
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 325
    functionName: mlx_kem_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_secure_clear_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - memset
    - ossl_param_build_set_octet_string
    - OPENSSL_secure_zalloc
    - mlx_kem_have_prvkey
    - export_sub
    - param_cb
    - OSSL_PARAM_clear_free
    - mlx_kem_have_pubkey
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int mlx_kem_export(void *vkey, 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: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: mlx_kem_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mlx_kem_imexport_types(int selection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:363,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:364,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:366,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:368,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:370,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 9
    argNames:
    - libctx
    - propq
    - pname
    - selection
    - key
    - slot
    - in
    - mbytes
    - xbytes
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - int
    - MLX_KEY*
    - int
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 334
    functionDepth: 6
    functionLinenumber: 334
    functionLinenumberEnd: 376
    functionName: load_slot
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: "int load_slot(OSSL_LIB_CTX *libctx, const char *propq, const char
      *pname,\n    int selection, MLX_KEY *key, int slot, const uint8_t *in,\n    int
      mbytes, int xbytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_slot
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:388,1
    - Dst: load_slot
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:395,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:406,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - key
    - pubenc
    - publen
    - prvenc
    - prvlen
    argTypes:
    - MLX_KEY*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 411
    functionName: load_keys
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - load_slot
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int load_keys(MLX_KEY *key,\n    const uint8_t *pubenc, size_t publen,\n
      \   const uint8_t *prvenc, size_t prvlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:423,1
    - Dst: ml_kem_import_export_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:428,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:432,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:441,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:455,1
    - Dst: load_keys
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - key
    - params
    - include_private
    argTypes:
    - MLX_KEY*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 413
    functionDepth: 8
    functionLinenumber: 413
    functionLinenumberEnd: 460
    functionName: mlx_kem_key_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - load_keys
    - ERR_raise
    - ml_kem_import_export_decoder
    - OSSL_PARAM_get_octet_string_ptr
    - mlx_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: "int mlx_kem_key_fromdata(MLX_KEY *key,\n    const OSSL_PARAM params[],\n
      \   int include_private)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:467,1
    - Dst: mlx_kem_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - vkey
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 9
    functionLinenumber: 462
    functionLinenumberEnd: 475
    functionName: mlx_kem_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - mlx_kem_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mlx_kem_import(void *vkey, int selection, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: mlx_kem_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mlx_kem_gettable_params(void *provctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: mlx_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:493,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:498,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:503,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:508,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:513,1
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:516,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:519,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:529,1
    - Dst: mlx_kem_have_prvkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:538,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:548,1
    - Dst: export_sub
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:567,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 485
    functionDepth: 6
    functionLinenumber: 485
    functionLinenumberEnd: 575
    functionName: mlx_kem_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_int
    - ERR_raise_data
    - mlx_get_params_decoder
    - memset
    - OSSL_PARAM_set_size_t
    - mlx_kem_have_prvkey
    - export_sub
    - mlx_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: int mlx_kem_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: 580
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: mlx_kem_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mlx_kem_settable_params(void *provctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mlx_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:593,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:595,1
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:603,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:604,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:610,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:614,1
    - Dst: load_keys
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 582
    functionDepth: 8
    functionLinenumber: 582
    functionLinenumberEnd: 619
    functionName: mlx_kem_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - load_keys
    - ERR_raise_data
    - OPENSSL_free
    - mlx_set_params_decoder
    - OSSL_PARAM_get_utf8_string
    - ERR_raise
    - OSSL_PARAM_get_octet_string_ptr
    - mlx_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: int mlx_kem_set_params(void *vkey, const OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mlx_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:626,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:632,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - vgctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 637
    functionName: mlx_kem_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - mlx_gen_set_params_decoder
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int mlx_kem_gen_set_params(void *vgctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:648,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:650,1
    - Dst: mlx_kem_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:656,1
    - Dst: mlx_kem_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - evp_type
    - libctx
    - selection
    - params
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 661
    functionName: mlx_kem_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - mlx_kem_gen_set_params
    - OPENSSL_zalloc
    - mlx_kem_gen_cleanup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *mlx_kem_gen_init(int evp_type, OSSL_LIB_CTX *libctx,\n    int
      selection, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vgctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 667
    functionName: mlx_kem_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mlx_kem_gen_settable_params(ossl_unused void *vgctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_key_new
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:682,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:689,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:691,1
    - Dst: mlx_kem_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - vgctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 669
    functionDepth: 9
    functionLinenumber: 669
    functionLinenumberEnd: 701
    functionName: mlx_kem_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_Q_keygen
    - mlx_kem_key_new
    - mlx_kem_key_free
    linkageType: ''
    returnType: void
    signature: void *mlx_kem_gen(void *vgctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:709,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vgctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: mlx_kem_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mlx_kem_gen_cleanup(void *vgctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:718,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:719,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:725,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:726,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:735,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:736,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:745,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:746,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:751,1
    - Dst: mlx_kem_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c:756,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - vkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 713
    functionDepth: 5
    functionLinenumber: 713
    functionLinenumberEnd: 758
    functionName: mlx_kem_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - OPENSSL_free
    - ERR_raise_data
    - EVP_PKEY_dup
    - mlx_kem_key_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *mlx_kem_dup(const void *vkey, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - variant
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 799
    functionName: DECLARE_DISPATCH
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_DISPATCH(name, variant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:50,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 18
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: slh_dsa_self_check
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int slh_dsa_self_check(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_self_check
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:70,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:70,1
    - Dst: ossl_slh_dsa_key_new
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:73,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - alg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: slh_dsa_new_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - slh_dsa_self_check
    - ossl_slh_dsa_key_new
    linkageType: ''
    returnType: void
    signature: void *slh_dsa_new_key(void *provctx, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: slh_dsa_free_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_free
    linkageType: ''
    returnType: void
    signature: void slh_dsa_free_key(void *keydata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:83,1
    - Dst: ossl_slh_dsa_key_dup
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: slh_dsa_dup_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *slh_dsa_dup_key(const void *keydata_from, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:92,1
    - Dst: ossl_slh_dsa_key_has
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: slh_dsa_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_has
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int slh_dsa_has(const void *keydata, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:105,1
    - Dst: ossl_slh_dsa_key_equal
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: slh_dsa_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_equal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int slh_dsa_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_has
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:116,1
    - Dst: ossl_slh_dsa_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - key_data
    - selection
    - check_type
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: slh_dsa_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - slh_dsa_has
    - ossl_slh_dsa_key_pairwise_check
    linkageType: ''
    returnType: int
    signature: int slh_dsa_validate(const void *key_data, int selection, int check_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:130,1
    - Dst: slh_dsa_import_decoder
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:132,1
    - Dst: ossl_slh_dsa_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: slh_dsa_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_fromdata
    - slh_dsa_import_decoder
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int slh_dsa_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: slh_dsa_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *slh_dsa_imexport_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: slh_dsa_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *slh_dsa_gettable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:158,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:162,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:163,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:165,1
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:166,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:173,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:175,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - key
    - tmpl
    - selection
    argTypes:
    - SLH_DSA_KEY*
    - OSSL_PARAM_BLD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_slh_dsa_key_get_pub_len
    - ossl_slh_dsa_key_get_pub
    - ossl_param_build_set_octet_string
    - ossl_slh_dsa_key_get_priv_len
    - ossl_slh_dsa_key_get_priv
    linkageType: ''
    returnType: int
    signature: "int key_to_params(SLH_DSA_KEY *key, OSSL_PARAM_BLD *tmpl,\n    int
      selection)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:185,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:189,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:189,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:192,1
    - Dst: ossl_slh_dsa_key_get_n
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:192,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:195,1
    - Dst: ossl_slh_dsa_key_get_sig_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:195,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:198,1
    - Dst: ossl_slh_dsa_key_get_security_category
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:198,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:201,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:205,1
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:206,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:209,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:212,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:213,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 223
    functionName: slh_dsa_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_get_security_category
    - ossl_slh_dsa_key_get_pub_len
    - OSSL_PARAM_set_int
    - slh_dsa_get_params_decoder
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_utf8_string
    - ossl_slh_dsa_key_get_pub
    - OSSL_PARAM_set_size_t
    - ossl_slh_dsa_key_get_n
    - ossl_slh_dsa_key_get_priv_len
    - ossl_slh_dsa_key_get_sig_len
    - ossl_slh_dsa_key_get_priv
    linkageType: ''
    returnType: int
    signature: int slh_dsa_get_params(void *keydata, OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:233,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:239,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:243,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:246,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:250,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:251,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 255
    functionName: slh_dsa_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - key_to_params
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - param_cb
    - OSSL_PARAM_clear_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \   void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: slh_dsa_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *slh_dsa_load(const void *reference, size_t reference_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:275,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:278,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:281,1
    - Dst: slh_dsa_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: slh_dsa_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - PROV_LIBCTX_OF
    - slh_dsa_gen_set_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *slh_dsa_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:311,1
    - Dst: ossl_self_test_in_progress
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:312,1
    - Dst: ossl_slh_dsa_hash_ctx_new
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:316,1
    - Dst: ossl_slh_dsa_key_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:321,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:323,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:324,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:328,1
    - Dst: ossl_slh_dsa_key_get_sig_len
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:331,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:332,1
    - Dst: ossl_slh_dsa_sign
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:336,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:341,1
    - Dst: ossl_slh_dsa_verify
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:343,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:349,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:350,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:351,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:352,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - SLH_DSA_KEY*
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 296
    functionDepth: 7
    functionLinenumber: 296
    functionLinenumberEnd: 354
    functionName: slh_dsa_fips140_pairwise_test
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - ossl_fips_self_testing
    - ossl_slh_dsa_hash_ctx_new
    - OPENSSL_free
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - ossl_slh_dsa_sign
    - OSSL_SELF_TEST_free
    - ossl_slh_dsa_verify
    - ossl_slh_dsa_key_get0_libctx
    - OSSL_SELF_TEST_oncorrupt_byte
    - ossl_slh_dsa_key_get_sig_len
    - ossl_slh_dsa_hash_ctx_free
    - ossl_self_test_in_progress
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_fips140_pairwise_test(const SLH_DSA_KEY *key,\n    SLH_DSA_HASH_CTX
      *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:363,1
    - Dst: ossl_slh_dsa_key_new
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:365,1
    - Dst: ossl_slh_dsa_hash_ctx_new
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:368,1
    - Dst: ossl_slh_dsa_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:371,1
    - Dst: slh_dsa_fips140_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:375,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:376,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:380,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:383,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - genctx
    - alg
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 357
    functionDepth: 8
    functionLinenumber: 357
    functionLinenumberEnd: 386
    functionName: slh_dsa_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_hash_ctx_new
    - slh_dsa_fips140_pairwise_test
    - ossl_slh_dsa_generate_key
    - ossl_set_error_state
    - ossl_slh_dsa_key_new
    - ossl_slh_dsa_hash_ctx_free
    - ossl_slh_dsa_key_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *slh_dsa_gen(void *genctx, const char *alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:393,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:409,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 415
    functionName: slh_dsa_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - slh_dsa_gen_set_params_decoder
    - OPENSSL_strdup
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int slh_dsa_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: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: slh_dsa_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *slh_dsa_gen_settable_params(ossl_unused void *genctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:430,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:431,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: slh_dsa_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void slh_dsa_gen_cleanup(void *genctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alg
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 469
    functionName: MAKE_KEYMGMT_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/slh_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_KEYMGMT_FUNCTIONS(alg, fn)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    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: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: curve_sm2_query_operation_name
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *curve_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:134,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:137,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:138,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:146,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:146,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:152,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:153,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:154,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:159,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:161,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:165,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:172,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:177,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:182,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:185,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:189,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:232,1
    - Dst: ossl_param_build_set_bn_pad
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:237,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:244,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: 246
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 246
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_locate
    - EC_KEY_get0_public_key
    - EC_KEY_get_conv_form
    - ossl_param_build_set_bn_pad
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - BN_CTX_new_ex
    - BN_CTX_get
    - EC_KEY_get0_private_key
    - EC_POINT_point2buf
    - ossl_param_build_set_bn
    - ossl_param_build_set_octet_string
    - EC_GROUP_order_bits
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    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:258,1
    - Dst: ossl_ec_pt_format_id2name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:259,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:261,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:266,1
    - Dst: ossl_ec_check_group_type_id2name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:267,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:269,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:274,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:275,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:279,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:280,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: 283
      start: 248
    functionDepth: 6
    functionLinenumber: 248
    functionLinenumberEnd: 283
    functionName: otherparams_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_int
    - EC_KEY_get_conv_form
    - ossl_ec_check_group_type_id2name
    - EC_KEY_get_enc_flags
    - EC_KEY_get_flags
    - ossl_ec_pt_format_id2name
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline otherparams_to_params(const EC_KEY *ec, OSSL_PARAM_BLD
      *tmpl,\n    OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:288,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:290,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:297,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:304,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:306,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:306,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:309,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:309,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:309,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:311,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 320
    functionName: ec_newdata_ex
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_check_named_curve
    - ossl_lib_ctx_get_concrete
    - ossl_ec_key_get_libctx
    - OSSL_PARAM_locate_const
    - EC_KEY_get0_group
    - EC_KEY_up_ref
    - EC_KEY_new_ex
    - OSSL_PARAM_get_octet_ptr
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ec_newdata_ex(void *provctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_newdata_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 5
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: ec_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ec_newdata_ex
    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:331,1
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:333,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: sm2_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - EC_KEY_new_by_curve_name_ex
    - ossl_prov_is_running
    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:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 341
    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:348,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:354,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:356,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:358,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 365
    functionName: ec_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_private_key
    - EC_KEY_get0_public_key
    - EC_KEY_get0_group
    - ossl_prov_is_running
    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:371,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:372,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:376,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:379,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:379,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:385,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:390,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:391,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:394,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:400,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:401,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:404,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:410,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 412
    functionName: ec_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - EC_POINT_cmp
    - EC_GROUP_cmp
    - BN_CTX_new_ex
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - EC_KEY_get0_private_key
    - BN_CTX_free
    - BN_cmp
    - ossl_prov_is_running
    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:422,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ec
    - sm2_wanted
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 426
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:434,1
    - Dst: ossl_ec_group_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:453,1
    - Dst: common_check_sm2
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:455,1
    - Dst: ossl_ec_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:461,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - keydata
    - selection
    - params
    - sm2_wanted
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 428
    functionDepth: 8
    functionLinenumber: 428
    functionLinenumberEnd: 467
    functionName: common_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_check_sm2
    - ossl_ec_key_otherparams_fromdata
    - ossl_ec_key_fromdata
    - ossl_ec_group_fromdata
    - ossl_prov_is_running
    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:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 9
    functionLinenumber: 469
    functionLinenumberEnd: 472
    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:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 9
    functionLinenumber: 476
    functionLinenumberEnd: 479
    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:493,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:515,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:520,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:520,1
    - Dst: BN_CTX_start
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:525,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:526,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:526,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:526,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:526,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:532,1
    - Dst: otherparams_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:535,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:537,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:542,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:543,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:545,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:546,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:547,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:548,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:549,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: 551
      start: 483
    functionDepth: 7
    functionLinenumber: 483
    functionLinenumberEnd: 551
    functionName: ec_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_CTX_end
    - BN_CTX_start
    - ossl_ec_group_todata
    - OPENSSL_free
    - ossl_ec_key_get_libctx
    - BN_CTX_new_ex
    - EC_KEY_get0_group
    - ossl_ec_key_get0_propq
    - key_to_params
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - BN_CTX_free
    - param_cb
    - OSSL_PARAM_clear_free
    - otherparams_to_params
    - ossl_prov_is_running
    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: 599
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 599
    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:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 604
    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:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 609
    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:620,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:625,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:633,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:634,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:635,1
    - Dst: EC_GROUP_get_trinomial_basis
      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:642,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:647,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:648,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:650,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:652,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 611
    functionDepth: 6
    functionLinenumber: 611
    functionLinenumberEnd: 660
    functionName: ec_get_ecm_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_int
    - ossl_param_build_set_utf8_string
    - EC_GROUP_get_degree
    - EC_GROUP_get_basis_type
    - EC_GROUP_get_pentanomial_basis
    - 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: 20
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:673,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:675,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:679,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:680,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:682,1
    - Dst: BN_CTX_start
      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: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:688,1
    - Dst: ECDSA_size
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:688,1
    - Dst: OSSL_PARAM_locate
      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:691,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:691,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:693,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:694,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:694,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:696,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:697,1
    - Dst: EC_GROUP_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:697,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:699,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:700,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:703,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:706,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:709,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:714,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:715,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:718,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:719,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:725,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:729,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:731,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:735,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:738,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:741,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:744,1
    - Dst: ec_get_ecm_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:751,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:752,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:754,1
    - Dst: otherparams_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:755,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:757,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:758,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:759,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:760,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 70
    argCount: 3
    argNames:
    - key
    - params
    - sm2
    argTypes:
    - void*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 662
    functionDepth: 8
    functionLinenumber: 662
    functionLinenumberEnd: 762
    functionName: common_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_get_libctx
    - ossl_ec_key_get0_propq
    - EC_KEY_decoded_from_explicit_params
    - ECDSA_size
    - otherparams_to_params
    - BN_CTX_start
    - ossl_ec_group_todata
    - OPENSSL_free
    - EC_GROUP_get_degree
    - ERR_raise
    - BN_CTX_new_ex
    - EC_POINT_point2oct
    - EC_GROUP_order_bits
    - BN_CTX_end
    - EC_KEY_get0_public_key
    - key_to_params
    - BN_CTX_free
    - EC_KEY_get_flags
    - OSSL_PARAM_locate
    - EC_GROUP_security_bits
    - OSSL_PARAM_set_int
    - EC_KEY_get0_group
    - OSSL_PARAM_set_utf8_string
    - ec_get_ecm_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:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 9
    functionLinenumber: 764
    functionLinenumberEnd: 767
    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: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    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: 819
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 819
    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:828,1
    - Dst: ossl_ec_group_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:831,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:831,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:834,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:836,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:836,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:841,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:843,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 821
    functionDepth: 8
    functionLinenumber: 821
    functionLinenumberEnd: 849
    functionName: ec_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ec_group_set_params
    - ossl_ec_key_get_libctx
    - BN_CTX_new_ex
    - EC_KEY_get0_group
    - OSSL_PARAM_locate_const
    - EC_KEY_oct2key
    - BN_CTX_free
    - ossl_ec_key_otherparams_fromdata
    - ossl_param_is_empty
    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:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 9
    functionLinenumber: 853
    functionLinenumberEnd: 856
    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: 877
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 877
    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: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    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:895,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:901,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:901,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:906,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:906,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:910,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:912,1
    - Dst: ossl_sm2_key_private_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:916,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:919,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:921,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 889
    functionDepth: 6
    functionLinenumber: 889
    functionLinenumberEnd: 923
    functionName: sm2_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_public_check
    - ossl_ec_key_public_check_quick
    - ossl_sm2_key_private_check
    - ossl_ec_key_pairwise_check
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - BN_CTX_new_ex
    - BN_CTX_free
    - ossl_prov_is_running
    - EC_GROUP_check
    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:933,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:939,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:939,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:944,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:947,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:947,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:949,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:949,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:954,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:956,1
    - Dst: ossl_ec_key_private_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:960,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:963,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:965,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 927
    functionDepth: 6
    functionLinenumber: 927
    functionLinenumberEnd: 967
    functionName: ec_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_public_check
    - ossl_ec_key_public_check_quick
    - EC_GROUP_check_named_curve
    - ossl_ec_key_pairwise_check
    - ossl_ec_key_get_libctx
    - BN_CTX_new_ex
    - EC_KEY_get_flags
    - EC_KEY_get0_group
    - BN_CTX_free
    - ossl_ec_key_private_check
    - EC_GROUP_check
    - ossl_prov_is_running
    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:990,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:993,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:996,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1000,1
    - Dst: ec_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1001,1
    - Dst: ec_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1007
    functionName: ec_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - ec_gen_cleanup
    - PROV_LIBCTX_OF
    - ec_gen_set_params
    - ossl_prov_is_running
    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:1014,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1019,1
    - Dst: ec_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1024
    functionName: sm2_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ec_gen_cleanup
    - ec_gen_init
    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:1033,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1035,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - genctx
    - src
    argTypes:
    - void*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1028
    functionDepth: 6
    functionLinenumber: 1028
    functionLinenumberEnd: 1041
    functionName: ec_gen_set_group
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    - ERR_raise
    - EC_GROUP_dup
    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:1049,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1051,1
    - Dst: ec_gen_set_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1043
    functionDepth: 7
    functionLinenumber: 1043
    functionLinenumberEnd: 1054
    functionName: ec_gen_set_template
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ec_gen_set_group
    - EC_KEY_get0_group
    - ossl_prov_is_running
    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: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    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: 1071
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1071
    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: 1083
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1083
    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: 1092
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    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:1099,1
    - Dst: COPY_INT_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1103,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1105,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1106,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1107,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1108,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1109,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1111,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1112,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1113,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1114,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1115,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1117,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1118,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1127
    functionName: ec_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 1
    functionsReached:
    - COPY_UTF8_PARAM
    - COPY_BN_PARAM
    - COPY_INT_PARAM
    - OSSL_FIPS_IND_SET_CTX_PARAM
    - COPY_OCTET_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:1136,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1141,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1146,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1152,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1158,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1168,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1169,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1170,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1171,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1175,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1180,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1185,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1189,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1192,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1196,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1201,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1202,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 55
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ec_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1129
    functionDepth: 9
    functionLinenumber: 1129
    functionLinenumberEnd: 1204
    functionName: ec_gen_set_group_from_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EC_GROUP_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - EC_GROUP_new_from_params
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    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:1210,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1211,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1212,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1213,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1214,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1215,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1216,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1217,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1218,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1219,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1220,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1221,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1222,1
    - Dst: OSSL_FIPS_IND_SETTABLE_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1227
    functionName: ec_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_int
    - OSSL_PARAM_octet_string
    - OSSL_FIPS_IND_SETTABLE_CTX_PARAM
    - OSSL_PARAM_BN
    - OSSL_PARAM_utf8_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:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1237
    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:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1250
    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:1255,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - group
    argTypes:
    - EC_KEY*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1259
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1270,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1272,1
    - Dst: ec_gen_set_group_from_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1276,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1280,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1284,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1287,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1291,1
    - Dst: ossl_fips_ind_ec_key_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1295,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1295,1
    - Dst: ec_gen_assign_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1302,1
    - Dst: ossl_ec_generate_key_dhkem
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1308,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1311,1
    - Dst: ossl_ec_set_ecdh_cofactor_mode
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1315,1
    - Dst: ossl_ec_set_check_group_type_from_name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1318,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1321,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1322,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1323,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1324,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1325,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1325,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1327,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1328,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1330,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1338,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 46
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1264
    functionDepth: 10
    functionLinenumber: 1264
    functionLinenumberEnd: 1340
    functionName: ec_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_fips_self_testing
    - ossl_fips_ind_ec_key_check
    - ossl_ec_generate_key_dhkem
    - ossl_ec_key_get_libctx
    - EC_KEY_free
    - ec_gen_assign_group
    - EC_GROUP_set_asn1_flag
    - BN_CTX_new_ex
    - EC_KEY_get0_private_key
    - EC_KEY_new_ex
    - ossl_ec_set_check_group_type_from_name
    - EC_KEY_get0_public_key
    - EC_KEY_generate_key
    - ossl_ec_key_pairwise_check
    - BN_CTX_free
    - EC_GROUP_set_point_conversion_form
    - ossl_ec_set_ecdh_cofactor_mode
    - OSSL_FIPS_IND_GET
    - ossl_ec_encoding_name2id
    - ossl_ec_pt_format_name2id
    - ossl_set_error_state
    - EC_KEY_get0_group
    - ec_gen_set_group_from_params
    - ossl_prov_is_running
    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:1354,1
    - Dst: ec_gen_set_group_from_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1358,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1362,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1366,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1369,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1373,1
    - Dst: ec_gen_assign_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1378,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1382,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1347
    functionDepth: 10
    functionLinenumber: 1347
    functionLinenumberEnd: 1390
    functionName: sm2_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    - EC_KEY_generate_key
    - ossl_ec_encoding_name2id
    - ossl_ec_pt_format_name2id
    - EC_KEY_new_ex
    - EC_GROUP_set_point_conversion_form
    - EC_KEY_free
    - ec_gen_set_group_from_params
    - ec_gen_assign_group
    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:1401,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1402,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1403,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1404,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1405,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1406,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1408,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1410,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1411,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1394
    functionDepth: 5
    functionLinenumber: 1394
    functionLinenumberEnd: 1415
    functionName: ec_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 2
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    - BN_free
    - EC_GROUP_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:1422,1
    - Dst: common_check_sm2
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1426,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: 1434
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1434
    functionName: common_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 2
    functionsReached:
    - common_check_sm2
    - ossl_prov_is_running
    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:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1439
    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:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1446
    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:1452,1
    - Dst: ossl_ec_key_dup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1450
    functionDepth: 6
    functionLinenumber: 1450
    functionLinenumberEnd: 1455
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - variant
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1521
    functionName: SM2_FUNCS
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM2_FUNCS(variant)
  - 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
    - OPENSSL_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    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:
    - CRYPTO_UP_REF
    - ossl_prov_is_running
    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:64,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:67,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - libctx
    - cmac
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: ossl_mac_key_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    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:88,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:92,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:93,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:94,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - MAC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: ossl_mac_key_free
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - OPENSSL_secure_clear_free
    - ossl_prov_cipher_reset
    - CRYPTO_DOWN_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:110,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - MAC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: ossl_mac_key_up_ref
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    - ossl_prov_is_running
    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:119,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    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:124,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 125
    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:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    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:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 149
    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:157,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:169,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:171,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:171,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 151
    functionDepth: 9
    functionLinenumber: 151
    functionLinenumberEnd: 174
    functionName: mac_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - EVP_CIPHER_get0_name
    - EVP_CIPHER_is_a
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mac_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:197,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:200,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:202,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:216,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:217,1
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - key
    - p
    argTypes:
    - MAC_KEY*
    - struct mac_common_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 231
    functionName: mac_key_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - OPENSSL_strdup
    - ossl_prov_cipher_load
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_secure_clear_free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mac_key_fromdata(MAC_KEY *key, const struct mac_common_params_st
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:240,1
    - Dst: mac_import_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:241,1
    - Dst: mac_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: mac_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_import_decoder
    - mac_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mac_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    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:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:261,1
    - Dst: cmac_import_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:262,1
    - Dst: mac_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: cmac_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_key_fromdata
    - cmac_import_decoder
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int cmac_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:281,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:284,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:290,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - key
    - tmpl
    - p
    argTypes:
    - MAC_KEY*
    - OSSL_PARAM_BLD*
    - struct mac_common_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 4
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 4
    functionsReached:
    - ossl_param_build_set_utf8_string
    - memset
    - EVP_CIPHER_get0_name
    - ossl_param_build_set_octet_string
    linkageType: ''
    returnType: int
    signature: "int key_to_params(MAC_KEY *key, OSSL_PARAM_BLD *tmpl,\n    struct
      mac_common_params_st *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:306,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:312,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:316,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:319,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:323,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:324,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 328
    functionName: mac_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - key_to_params
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - param_cb
    - OSSL_PARAM_clear_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int mac_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \   void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:335,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: mac_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - key_to_params
    - mac_get_params_decoder
    linkageType: ''
    returnType: int
    signature: int mac_get_params(void *keydata, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: mac_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mac_gettable_params(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmac_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:351,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: cmac_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - cmac_get_params_decoder
    - key_to_params
    linkageType: ''
    returnType: int
    signature: int cmac_get_params(void *keydata, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: cmac_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *cmac_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mac_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:367,1
    - Dst: mac_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: mac_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_key_fromdata
    - mac_set_params_decoder
    linkageType: ''
    returnType: int
    signature: int mac_set_params(void *keydata, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: mac_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    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:383,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:386,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: mac_gen_init_common
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    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:399,1
    - Dst: mac_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:401,1
    - Dst: mac_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: mac_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_gen_set_params
    - mac_gen_cleanup
    - mac_gen_init_common
    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:411,1
    - Dst: cmac_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:413,1
    - Dst: mac_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 418
    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: 4
    BranchProfiles: []
    Callsites:
    - 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: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - gctx
    - p
    argTypes:
    - struct mac_gen_ctx*
    - struct mac_common_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 436
    functionName: mac_gen_set_params_common
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int mac_gen_set_params_common(struct mac_gen_ctx *gctx,\n    const
      struct mac_common_params_st *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:443,1
    - Dst: mac_gen_set_params_common
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: mac_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 2
    functionsReached:
    - mac_gen_set_params_common
    - mac_gen_set_params_decoder
    linkageType: ''
    returnType: int
    signature: int mac_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmac_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:454,1
    - Dst: mac_gen_set_params_common
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:457,1
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 467
    functionName: cmac_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - cmac_gen_set_params_decoder
    - ossl_prov_cipher_load
    - ERR_raise
    - mac_gen_set_params_common
    linkageType: ''
    returnType: int
    signature: int cmac_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: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: mac_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mac_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: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: cmac_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    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:486,1
    - Dst: ossl_mac_key_new
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:489,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:490,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:499,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:500,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:510,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:511,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:512,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - genctx
    - cb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 522
    functionName: mac_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_prov_cipher_copy
    - ossl_mac_key_new
    - ossl_prov_is_running
    - ossl_prov_cipher_reset
    - 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:531,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:532,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: mac_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_cipher_reset
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mac_gen_cleanup(void *genctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ECX_KEY_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ecx_key_type_is_ed
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ecx_key_type_is_ed(ECX_KEY_TYPE type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:108,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:110,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: x25519_new_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ecx_key_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *x25519_new_key(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:116,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:118,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: x448_new_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ecx_key_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *x448_new_key(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:124,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:126,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: ed25519_new_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ecx_key_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ed25519_new_key(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:132,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:134,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ed448_new_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ecx_key_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ed448_new_key(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: ecx_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecx_has(const void *keydata, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:165,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:183,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:198,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 205
    functionName: ecx_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecx_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:231,1
    - Dst: ecx_imexport_types_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:233,1
    - Dst: ossl_ecx_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: ecx_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_imexport_types_decoder
    - ossl_ecx_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecx_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:251,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - key
    - tmpl
    - pub
    - priv
    - include_private
    argTypes:
    - ECX_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 7
    functionsReached:
    - ossl_param_build_set_octet_string
    linkageType: ''
    returnType: int
    signature: "int key_to_params(ECX_KEY *key, OSSL_PARAM_BLD *tmpl,\n    OSSL_PARAM
      *pub, OSSL_PARAM *priv, int include_private)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:274,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:280,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:287,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:291,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:295,1
    - Dst: OSSL_PARAM_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:296,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 300
    functionName: ecx_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - key_to_params
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_to_param
    - param_cb
    - OSSL_PARAM_clear_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecx_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: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: ecx_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ecx_imexport_types(int selection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:316,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:318,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:320,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:322,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - key
    - p
    - bits
    - secbits
    - size
    argTypes:
    - void*
    - struct ecx_ed_common_get_params_st*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: ecx_ed_common_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - key_to_params
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: "int ecx_ed_common_get_params(void *key,\n    const struct ecx_ed_common_get_params_st
      *p,\n    int bits, int secbits, int size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:334,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:338,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:345,1
    - Dst: ecx_ed_common_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - key
    - params
    - bits
    - secbits
    - size
    argTypes:
    - void*
    - OSSL_PARAM[]
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: ecx_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_get_params_decoder
    - ecx_ed_common_get_params
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: "int ecx_get_params(void *key, OSSL_PARAM params[], int bits, int secbits,\n
      \   int size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ed_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:359,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:361,1
    - Dst: ecx_ed_common_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - key
    - params
    - bits
    - secbits
    - size
    argTypes:
    - void*
    - OSSL_PARAM[]
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 364
    functionName: ed_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ed_get_params_decoder
    - ecx_ed_common_get_params
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: "int ed_get_params(void *key, OSSL_PARAM params[], int bits, int secbits,\n
      \   int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 7
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: x25519_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_get_params
    linkageType: ''
    returnType: int
    signature: int x25519_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 7
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: x448_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_get_params
    linkageType: ''
    returnType: int
    signature: int x448_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ed_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: ed25519_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ed_get_params
    linkageType: ''
    returnType: int
    signature: int ed25519_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ed_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 7
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: ed448_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ed_get_params
    linkageType: ''
    returnType: int
    signature: int ed448_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: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: x25519_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *x25519_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: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: x448_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *x448_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: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: ed25519_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ed25519_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: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: ed448_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ed448_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:411,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ecxkey
    - propq
    argTypes:
    - ECX_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: set_property_query
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int set_property_query(ECX_KEY *ecxkey, const char *propq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ecx_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:426,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:433,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:436,1
    - Dst: set_property_query
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 448
    functionName: ecx_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_set_params_decoder
    - set_property_query
    - OSSL_PARAM_get_octet_string
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: int ecx_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: x25519_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_set_params
    linkageType: ''
    returnType: int
    signature: int x25519_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: x448_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_set_params
    linkageType: ''
    returnType: int
    signature: int x448_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: ed25519_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ed25519_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: ed448_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ed448_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: x25519_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *x25519_settable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: x448_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *x448_settable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: ed25519_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ed25519_settable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: ed448_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ed448_settable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:498,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:501,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:504,1
    - Dst: ossl_FIPS_IND_callback
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:511,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:512,1
    - Dst: ecx_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:519,1
    - Dst: ecx_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - provctx
    - selection
    - params
    - type
    - algdesc
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    - ECX_KEY_TYPE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 524
    functionName: ecx_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_FIPS_IND_callback
    - ecx_gen_cleanup
    - ecx_gen_set_params
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *ecx_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[], ECX_KEY_TYPE type,\n    const char *algdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: x25519_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void
    signature: "void *x25519_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: x448_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void
    signature: "void *x448_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: ed25519_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void
    signature: "void *ed25519_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_init
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: ed448_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_gen_init
    linkageType: ''
    returnType: void
    signature: "void *ed448_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[])"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ecx_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:555,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:579,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:580,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:588,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:596,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:598,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 605
    functionName: ecx_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - ecx_gen_set_params_decoder
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ecx_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: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: ecx_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecx_gen_settable_params(ossl_unused void *genctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:640,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:642,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:647,1
    - Dst: ossl_ed25519_sign
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:651,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:655,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:661,1
    - Dst: ossl_ed25519_verify
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:664,1
    - Dst: ossl_ed448_verify
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:668,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:675,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ecx
    - type
    - self_test
    argTypes:
    - ECX_KEY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 621
    functionDepth: 13
    functionLinenumber: 621
    functionLinenumberEnd: 678
    functionName: ecd_fips140_pairwise_test
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - OSSL_SELF_TEST_oncorrupt_byte
    - ossl_ed25519_verify
    - OSSL_SELF_TEST_new
    - ossl_ed448_verify
    - OSSL_SELF_TEST_onend
    - ossl_ed25519_sign
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - ossl_ed448_sign
    linkageType: ''
    returnType: int
    signature: int ecd_fips140_pairwise_test(const ECX_KEY *ecx, int type, int self_test)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:688,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:691,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:699,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:700,1
    - Dst: ecx_key_type_is_ed
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:705,1
    - Dst: ossl_ecx_dhkem_derive_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:707,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:713,1
    - Dst: ossl_x25519_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:722,1
    - Dst: ossl_x448_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:727,1
    - Dst: ossl_ed25519_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:730,1
    - Dst: ossl_ed448_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:735,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:743,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 681
    functionDepth: 13
    functionLinenumber: 681
    functionLinenumberEnd: 745
    functionName: ecx_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_x448_public_from_private
    - ossl_ecx_key_free
    - ossl_ecx_dhkem_derive_private
    - ossl_ed25519_public_from_private
    - ERR_raise
    - ossl_ecx_key_allocate_privkey
    - RAND_priv_bytes_ex
    - ecx_key_type_is_ed
    - ossl_ecx_key_new
    - ossl_x25519_public_from_private
    - ossl_ed448_public_from_private
    linkageType: ''
    returnType: void
    signature: void *ecx_gen(struct ecx_gen_ctx *gctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:751,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:755,1
    - Dst: s390x_ecx_keygen25519
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:756,1
    - Dst: ecx_gen
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 747
    functionDepth: 14
    functionLinenumber: 747
    functionLinenumberEnd: 759
    functionName: x25519_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - s390x_ecx_keygen25519
    - S390X_CAPBIT
    - ecx_gen
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *x25519_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:765,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:769,1
    - Dst: s390x_ecx_keygen448
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:770,1
    - Dst: ecx_gen
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 14
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: x448_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - s390x_ecx_keygen448
    - S390X_CAPBIT
    - ecx_gen
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *x448_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:780,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:784,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:785,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:787,1
    - Dst: s390x_ecd_keygen25519
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:788,1
    - Dst: ecx_gen
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:792,1
    - Dst: ecd_fips140_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:799,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:800,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:801,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 775
    functionDepth: 14
    functionLinenumber: 775
    functionLinenumberEnd: 807
    functionName: ed25519_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - ecx_gen
    - ossl_set_error_state
    - s390x_ecd_keygen25519
    - S390X_CAPBIT
    - ecd_fips140_pairwise_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ed25519_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:814,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:818,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:819,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:820,1
    - Dst: s390x_ecd_keygen448
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:821,1
    - Dst: ecx_gen
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:825,1
    - Dst: ecd_fips140_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:832,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:833,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:834,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 809
    functionDepth: 14
    functionLinenumber: 809
    functionLinenumberEnd: 840
    functionName: ed448_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - s390x_ecd_keygen448
    - ossl_ecx_key_free
    - ecx_gen
    - ossl_set_error_state
    - S390X_CAPBIT
    - ecd_fips140_pairwise_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ed448_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:849,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:850,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 852
    functionName: ecx_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ecx_gen_cleanup(void *genctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 866
    functionName: ecx_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecx_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:870,1
    - Dst: ossl_ecx_key_dup
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 873
    functionName: ecx_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecx_dup(const void *keydata_from, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x25519_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:881,1
    - Dst: ossl_x448_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:884,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ecx
    - type
    argTypes:
    - ECX_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 875
    functionDepth: 8
    functionLinenumber: 875
    functionLinenumberEnd: 890
    functionName: ecx_key_pairwise_check
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_x448_public_from_private
    - ossl_x25519_public_from_private
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int ecx_key_pairwise_check(const ECX_KEY *ecx, int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ed25519_pubkey_verify
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:902,1
    - Dst: ossl_ed448_pubkey_verify
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ecx
    - type
    argTypes:
    - ECX_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 908
    functionName: ecd_key_pub_check
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ed448_pubkey_verify
    - ossl_ed25519_pubkey_verify
    linkageType: ''
    returnType: int
    signature: int ecd_key_pub_check(const ECX_KEY *ecx, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecd_fips140_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ecx
    - type
    argTypes:
    - ECX_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 14
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: ecd_key_pairwise_check
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecd_fips140_pairwise_test
    linkageType: ''
    returnType: int
    signature: int ecd_key_pairwise_check(const ECX_KEY *ecx, int type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ed25519_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:923,1
    - Dst: ossl_ed448_public_from_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:928,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ecx
    - type
    argTypes:
    - ECX_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 917
    functionDepth: 13
    functionLinenumber: 917
    functionLinenumberEnd: 936
    functionName: ecd_key_pairwise_check
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - ossl_ed25519_public_from_private
    - ossl_ed448_public_from_private
    linkageType: ''
    returnType: int
    signature: int ecd_key_pairwise_check(const ECX_KEY *ecx, int type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:945,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:952,1
    - Dst: ecd_key_pub_check
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:959,1
    - Dst: ecx_key_type_is_ed
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:969,1
    - Dst: ecd_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:970,1
    - Dst: ecx_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:972,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - keydata
    - selection
    - type
    - keylen
    argTypes:
    - void*
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 939
    functionDepth: 15
    functionLinenumber: 939
    functionLinenumberEnd: 975
    functionName: ecx_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecd_key_pub_check
    - ERR_raise
    - ecx_key_pairwise_check
    - ecx_key_type_is_ed
    - ecd_key_pairwise_check
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecx_validate(const void *keydata, int selection, int type,\n    size_t
      keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 16
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: x25519_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: int x25519_validate(const void *keydata, int selection, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 16
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: x448_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: int x448_validate(const void *keydata, int selection, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 16
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: ed25519_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: int ed25519_validate(const void *keydata, int selection, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_validate
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 16
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: ed448_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ecx_validate
    linkageType: ''
    returnType: int
    signature: int ed448_validate(const void *keydata, int selection, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1000
    functionName: ecx_free_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    linkageType: ''
    returnType: void
    signature: void ecx_free_key(void *keydata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1027
    functionName: MAKE_KEYMGMT_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_KEYMGMT_FUNCTIONS(alg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1043,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1048,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1058,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1060,1
    - Dst: ossl_ecx_dhkem_derive_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1068,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1074,1
    - Dst: s390x_x25519_mul
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1082,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1087,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1036
    functionDepth: 7
    functionLinenumber: 1036
    functionLinenumberEnd: 1089
    functionName: s390x_ecx_keygen25519
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_ecx_key_free
    - ossl_ecx_dhkem_derive_private
    - ERR_raise
    - RAND_priv_bytes_ex
    - ossl_ecx_key_allocate_privkey
    - ossl_ecx_key_new
    - s390x_x25519_mul
    linkageType: ''
    returnType: void
    signature: void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1100,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1105,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1115,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1117,1
    - Dst: ossl_ecx_dhkem_derive_private
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1125,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1131,1
    - Dst: s390x_x448_mul
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1138,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1091
    functionDepth: 7
    functionLinenumber: 1091
    functionLinenumberEnd: 1145
    functionName: s390x_ecx_keygen448
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_ecx_key_free
    - ossl_ecx_dhkem_derive_private
    - ERR_raise
    - RAND_priv_bytes_ex
    - ossl_ecx_key_allocate_privkey
    - ossl_ecx_key_new
    - s390x_x448_mul
    linkageType: ''
    returnType: void
    signature: void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1161,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1169,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1179,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1181,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1185,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1188,1
    - Dst: EVP_Digest
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1191,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1192,1
    - Dst: s390x_ed25519_mul
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1200,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1147
    functionDepth: 10
    functionLinenumber: 1147
    functionLinenumberEnd: 1211
    functionName: s390x_ecd_keygen25519
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_ecx_key_free
    - EVP_Digest
    - ERR_raise
    - RAND_priv_bytes_ex
    - EVP_MD_fetch
    - ossl_ecx_key_allocate_privkey
    - s390x_ed25519_mul
    - EVP_MD_free
    - ossl_ecx_key_new
    linkageType: ''
    returnType: void
    signature: void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1230,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1237,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1247,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1249,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1253,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1256,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1259,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1262,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1264,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1266,1
    - Dst: s390x_ed448_mul
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1273,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1279,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1280,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1284,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1285,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c:1286,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ecx_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1213
    functionDepth: 10
    functionLinenumber: 1213
    functionLinenumberEnd: 1288
    functionName: s390x_ecd_keygen448
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_ecx_key_free
    - ERR_raise
    - RAND_priv_bytes_ex
    - EVP_MD_fetch
    - ossl_ecx_key_allocate_privkey
    - s390x_ed448_mul
    - EVP_DigestUpdate
    - EVP_MD_free
    - ossl_ecx_key_new
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: void
    signature: void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_has
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:66,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:67,1
    - Dst: ossl_self_test_in_progress
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:68,1
    - Dst: ossl_ml_dsa_key_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:75,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:76,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:78,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:81,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:84,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:85,1
    - Dst: ossl_ml_dsa_sign
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:87,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:92,1
    - Dst: ossl_ml_dsa_verify
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:94,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:101,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 7
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: ml_dsa_pairwise_test
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - ossl_fips_self_testing
    - ossl_ml_dsa_sign
    - ossl_ml_dsa_key_get0_libctx
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_free
    - memset
    - ossl_ml_dsa_verify
    - OSSL_SELF_TEST_oncorrupt_byte
    - ml_dsa_has
    - ossl_self_test_in_progress
    linkageType: ''
    returnType: int
    signature: int ml_dsa_pairwise_test(const ML_DSA_KEY *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:111,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:115,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:115,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:120,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:120,1
    - Dst: ossl_prov_ctx_get_bool_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:130,1
    - Dst: ossl_prov_ctx_get_bool_param
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:136,1
    - Dst: ossl_ml_dsa_set_prekey
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - propq
    - evp_type
    argTypes:
    - PROV_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 107
    functionDepth: 18
    functionLinenumber: 107
    functionLinenumberEnd: 145
    functionName: ossl_prov_ml_dsa_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_deferred_self_test
    - ossl_ml_dsa_set_prekey
    - ossl_prov_ctx_get_bool_param
    - ossl_ml_dsa_key_new
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: ML_DSA_KEY
    signature: ML_DSA_KEY *ossl_prov_ml_dsa_new(PROV_CTX *ctx, const char *propq,
      int evp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: ml_dsa_free_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_free
    linkageType: ''
    returnType: void
    signature: void ml_dsa_free_key(void *keydata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:154,1
    - Dst: ossl_ml_dsa_key_dup
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: ml_dsa_dup_key
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ml_dsa_dup_key(const void *keydata_from, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:163,1
    - Dst: ossl_ml_dsa_key_has
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: ml_dsa_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_key_has
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_dsa_has(const void *keydata, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:176,1
    - Dst: ossl_ml_dsa_key_equal
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: ml_dsa_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_equal
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_dsa_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_has
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:187,1
    - Dst: ossl_ml_dsa_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - key_data
    - selection
    - check_type
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: ml_dsa_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_pairwise_check
    - ml_dsa_has
    linkageType: ''
    returnType: int
    signature: int ml_dsa_validate(const void *key_data, int selection, int check_type)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:207,1
    - Dst: ml_dsa_import_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:212,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:216,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:219,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:231,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:238,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:251,1
    - Dst: ossl_ml_dsa_key_fetch_digests
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:258,1
    - Dst: ossl_ml_dsa_key_get_prov_flags
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:263,1
    - Dst: ossl_ml_dsa_set_prekey
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:264,1
    - Dst: ossl_ml_dsa_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:267,1
    - Dst: ossl_ml_dsa_sk_decode
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:271,1
    - Dst: ossl_ml_dsa_pk_decode
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:274,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:281,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:281,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:283,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:286,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 58
    argCount: 3
    argNames:
    - key
    - params
    - include_private
    argTypes:
    - ML_DSA_KEY*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 204
    functionDepth: 7
    functionLinenumber: 204
    functionLinenumberEnd: 288
    functionName: ml_dsa_key_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_get_prov_flags
    - ossl_ml_dsa_sk_decode
    - ml_dsa_import_params_decoder
    - ossl_ml_dsa_key_reset
    - ERR_raise_data
    - ossl_ml_dsa_pk_decode
    - ossl_ml_dsa_key_params
    - ERR_raise
    - ossl_ml_dsa_set_prekey
    - ossl_ml_dsa_generate_key
    - OSSL_PARAM_get_octet_string_ptr
    - ossl_ml_dsa_key_fetch_digests
    - memcmp
    - ossl_ml_dsa_key_get_pub
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_key_fromdata(ML_DSA_KEY *key, const OSSL_PARAM params[],\n
      \   int include_private)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:296,1
    - Dst: ml_dsa_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:303,1
    - Dst: ml_dsa_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:306,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:308,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 8
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: ml_dsa_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_reset
    - ossl_set_error_state
    - ml_dsa_pairwise_test
    - ml_dsa_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_dsa_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: ml_dsa_import_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_dsa_import_types(int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: ml_dsa_export_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_dsa_export_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: ml_dsa_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ml_dsa_gettable_params(void *provctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_get_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:342,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:346,1
    - Dst: ossl_ml_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:346,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:350,1
    - Dst: ossl_ml_dsa_key_get_collision_strength_bits
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:350,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:354,1
    - Dst: ossl_ml_dsa_key_get_sig_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:354,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:358,1
    - Dst: ossl_ml_dsa_key_get_security_category
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:358,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:362,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:363,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:368,1
    - Dst: ossl_ml_dsa_key_get_priv_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:370,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:371,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:377,1
    - Dst: ossl_ml_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:379,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:380,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:389,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 392
    functionName: ml_dsa_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_get_priv
    - OSSL_PARAM_set_int
    - ml_dsa_get_params_decoder
    - ossl_ml_dsa_key_get_pub
    - ossl_ml_dsa_key_get_pub_len
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_utf8_string
    - ossl_ml_dsa_key_get_collision_strength_bits
    - OSSL_PARAM_set_size_t
    - ossl_ml_dsa_key_get_sig_len
    - ossl_ml_dsa_key_get_seed
    - ossl_ml_dsa_key_get_priv_len
    - ossl_ml_dsa_key_get_security_category
    linkageType: ''
    returnType: int
    signature: int ml_dsa_get_params(void *keydata, OSSL_PARAM params[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:402,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:415,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:416,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:418,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:419,1
    - Dst: ossl_ml_dsa_key_get_priv_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:420,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:424,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:425,1
    - Dst: ossl_ml_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:426,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:430,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:431,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: 432
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 432
    functionName: ml_dsa_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ossl_ml_dsa_key_get_priv
    - OSSL_PARAM_construct_end
    - ossl_ml_dsa_key_get_pub_len
    - param_cb
    - ossl_ml_dsa_key_get_seed
    - ossl_ml_dsa_key_get_priv_len
    - ossl_ml_dsa_key_get_pub
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_export(void *keydata, int selection,\n    OSSL_CALLBACK
      *param_cb, void *cbarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:441,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:447,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:450,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:451,1
    - Dst: ossl_ml_dsa_key_get_prov_flags
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:453,1
    - Dst: ossl_ml_dsa_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:454,1
    - Dst: ossl_ml_dsa_sk_decode
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:457,1
    - Dst: ossl_ml_dsa_key_get_priv_len
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:458,1
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:460,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:461,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:469,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 435
    functionDepth: 7
    functionLinenumber: 435
    functionLinenumberEnd: 471
    functionName: ml_dsa_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_get_prov_flags
    - ossl_ml_dsa_sk_decode
    - ossl_ml_dsa_key_get_priv
    - ossl_ml_dsa_key_free
    - ERR_raise_data
    - ossl_ml_dsa_key_params
    - ossl_ml_dsa_generate_key
    - ossl_ml_dsa_key_get_seed
    - ossl_ml_dsa_key_get_priv_len
    - ossl_ml_dsa_key_get_pub
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ml_dsa_load(const void *reference, size_t reference_sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:479,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:482,1
    - Dst: ml_dsa_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 490
    functionName: ml_dsa_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ml_dsa_gen_set_params
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *ml_dsa_gen_init(void *provctx, int selection,\n    const OSSL_PARAM
      params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:497,1
    - Dst: ossl_prov_ml_dsa_new
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:499,1
    - Dst: ossl_ml_dsa_set_prekey
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:503,1
    - Dst: ossl_ml_dsa_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:506,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:507,1
    - Dst: ml_dsa_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:511,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:512,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - genctx
    - evp_type
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 492
    functionDepth: 19
    functionLinenumber: 492
    functionLinenumberEnd: 520
    functionName: ml_dsa_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ml_dsa_new
    - ossl_ml_dsa_key_free
    - ossl_set_error_state
    - ml_dsa_pairwise_test
    - ossl_ml_dsa_set_prekey
    - ERR_raise
    - ossl_ml_dsa_generate_key
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ml_dsa_gen(void *genctx, int evp_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_gen_set_params_decoder
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:527,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:541,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 547
    functionName: ml_dsa_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - ml_dsa_gen_set_params_decoder
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ml_dsa_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: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: ml_dsa_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ml_dsa_gen_settable_params(ossl_unused void *genctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:562,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:563,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: ml_dsa_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ml_dsa_gen_cleanup(void *genctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 607
    functionName: MAKE_KEYMGMT_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ml_dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_KEYMGMT_FUNCTIONS(alg)
  - 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: 8
    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: 5
    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: 5
    argNames:
    - (
    - provctx
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: CIPHER_PROV_CHECK
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_PROV_CHECK(provctx, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _provtcx
    - ','
    - _name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: CIPHER_PROV_CHECK
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_PROV_CHECK(_provtcx, _name)
  - 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: 231
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 231
    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: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    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: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    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: 281
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 281
    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: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    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: 314
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 314
    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: 338
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 338
    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: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    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: 357
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 357
    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: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    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: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    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: 381
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 381
    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: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: PROV_DRBG_VERIFY_ZEROIZATION
    functionSourceFile: /src/openssl/providers/implementations/include/prov/drbg.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_DRBG_VERIFY_ZEROIZATION(v)
  - 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: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    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: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    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: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    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: 5
    argNames:
    - (
    - provctx
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: DIGEST_PROV_CHECK
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIGEST_PROV_CHECK(provctx, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _provctx
    - ','
    - _name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: DIGEST_PROV_CHECK
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIGEST_PROV_CHECK(_provctx, _name)
  - 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: 106
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 106
    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: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    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: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - name
    - ','
    - CTX
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - ','
    - init
    - ','
    - upd
    - ','
    - fin
    - ','
    - serialize
    - ','
    - deserialize
    - )
    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: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: IMPLEMENT_digest_functions_with_serialize
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_digest_functions_with_serialize(                                 \\\n
      \   name, CTX, blksize, dgstsize, flags, init, upd, fin,                           \\\n
      \   serialize, deserialize)"
  - 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:65,1
    - Dst: kmgmt_new
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:69,1
    - Dst: kmgmt_import
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:70,1
    - Dst: kmgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:71,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: 76
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: ossl_prov_import_key
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_import
    - ossl_prov_get_keymgmt_free
    - ossl_prov_get_keymgmt_new
    - kmgmt_import
    - kmgmt_new
    - kmgmt_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:80,1
    - Dst: kmgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fns
    - key
    argTypes:
    - OSSL_DISPATCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    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:90,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:99,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:101,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: 103
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: ossl_read_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - asn1_d2i_read_bio
    - BIO_free
    - ossl_bio_new_from_core_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: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: epki2pki_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *epki2pki_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: epki2pki_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void epki2pki_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: epki2pki_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *epki2pki_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epki2pki_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:72,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: epki2pki_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: 0
    functionsReached:
    - epki2pki_set_ctx_params_decoder
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: int epki2pki_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:96,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:102,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:111,1
    - Dst: ossl_epki2pki_der_decode
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:113,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    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: 118
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: epki2pki_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_epki2pki_der_decode
    - BIO_free
    - ossl_bio_new_from_core_bio
    - PROV_LIBCTX_OF
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: int
    signature: "int epki2pki_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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:132,1
    - Dst: d2i_X509_SIG
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:133,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:137,1
    - Dst: pw_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:139,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:140,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:146,1
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:147,1
    - Dst: X509_SIG_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:158,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:160,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:163,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:165,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:166,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:168,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:177,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:179,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:181,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:183,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:185,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:187,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:188,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:190,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:192,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 9
    argNames:
    - der
    - der_len
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - long
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 195
    functionName: ossl_epki2pki_der_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_epki2pki.c
    functionUses: 1
    functionsReached:
    - X509_SIG_get0
    - PKCS12_pbe_crypt_ex
    - OSSL_PARAM_construct_octet_string
    - pw_cb
    - ERR_clear_last_mark
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - OPENSSL_free
    - ERR_raise
    - OSSL_PARAM_construct_end
    - X509_SIG_free
    - data_cb
    - OSSL_PARAM_construct_utf8_string
    - d2i_X509_SIG
    - ERR_set_mark
    - OSSL_PARAM_construct_int
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    linkageType: ''
    returnType: int
    signature: "int ossl_epki2pki_der_decode(unsigned char *der, long der_len, int
      selection,\n    OSSL_CALLBACK *data_cb, void *data_cbarg,\n    OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg,\n    OSSL_LIB_CTX *libctx, const char *propq)"
  - 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
    - OPENSSL_free
    - write_blob
    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_spki2typespki.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: spki2typespki_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *spki2typespki_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: spki2typespki_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void spki2typespki_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: spki2typespki_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *spki2typespki_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spki2typespki_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:69,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: spki2typespki_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_string
    - spki2typespki_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int spki2typespki_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_read_der
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:89,1
    - Dst: ossl_spki2typespki_der_decode
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:92,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    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: 97
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: spki2typespki_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_read_der
    - ossl_spki2typespki_der_decode
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int spki2typespki_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: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_X509_PUBKEY_INTERNAL
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:113,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:121,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:123,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:140,1
    - Dst: ossl_x509_algor_is_sm2
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:141,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:142,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:144,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:145,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:147,1
    - Dst: ossl_X509_PUBKEY_INTERNAL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:150,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:153,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:156,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:159,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:162,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:163,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:165,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:167,1
    - Dst: ossl_X509_PUBKEY_INTERNAL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c:170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 9
    argNames:
    - der
    - len
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - long
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 99
    functionDepth: 9
    functionLinenumber: 99
    functionLinenumberEnd: 172
    functionName: ossl_spki2typespki_der_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_spki2typespki.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - X509_PUBKEY_get0_param
    - ossl_X509_PUBKEY_INTERNAL_free
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_int
    - ossl_x509_algor_is_sm2
    - OSSL_PARAM_construct_end
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - data_cb
    - OBJ_obj2txt
    - OPENSSL_strlcpy
    - ossl_d2i_X509_PUBKEY_INTERNAL
    linkageType: ''
    returnType: int
    signature: "int ossl_spki2typespki_der_decode(unsigned char *der, long len, int
      selection,\n    OSSL_CALLBACK *data_cb, void *data_cbarg,\n    OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg,\n    OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:44,1
    - Dst: i2b_PublicKey_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:49,1
    - Dst: i2b_PrivateKey_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:49,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - cout
    - pkey
    - ispub
    argTypes:
    - struct key2ms_ctx_st*
    - OSSL_CORE_BIO*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: write_msblob
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - i2b_PrivateKey_bio
    - i2b_PublicKey_bio
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: "int write_msblob(struct key2ms_ctx_st *ctx, OSSL_CORE_BIO *cout,\n
      \   EVP_PKEY *pkey, int ispub)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:60,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:62,1
    - Dst: i2b_PVK_bio_ex
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:65,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - cout
    - pkey
    argTypes:
    - struct key2ms_ctx_st*
    - OSSL_CORE_BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: write_pvk
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - BIO_free
    - i2b_PVK_bio_ex
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: "int write_pvk(struct key2ms_ctx_st *ctx, OSSL_CORE_BIO *cout,\n    EVP_PKEY
      *pkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: key2ms_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct key2ms_ctx_st
    signature: struct key2ms_ctx_st *key2ms_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:90,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: key2ms_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void key2ms_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: key2pvk_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *key2pvk_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: key2pvk_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:104,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: key2pvk_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - key2pvk_set_ctx_params_decoder
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int key2pvk_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: key2ms_does_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key2ms_does_selection(void *vctx, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:144,1
    - Dst: set1_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:144,1
    - Dst: write_msblob
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:145,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - vctx
    - key
    - selection
    - cout
    - set1_key
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - void*
    - int
    - OSSL_CORE_BIO*
    - evp_pkey_set1_fn*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: key2msblob_encode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - set1_key
    - EVP_PKEY_new
    - write_msblob
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int key2msblob_encode(void *vctx, const void *key, int selection,\n
      \   OSSL_CORE_BIO *cout, evp_pkey_set1_fn *set1_key,\n    OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:161,1
    - Dst: set1_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:161,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:163,1
    - Dst: write_pvk
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:164,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - vctx
    - key
    - selection
    - cout
    - set1_key
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - void*
    - int
    - OSSL_CORE_BIO*
    - evp_pkey_set1_fn*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: key2pvk_encode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached:
    - write_pvk
    - EVP_PKEY_free
    - set1_key
    - EVP_PKEY_new
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: "int key2pvk_encode(void *vctx, const void *key, int selection,\n    OSSL_CORE_BIO
      *cout, evp_pkey_set1_fn *set1_key,\n    OSSL_PASSPHRASE_CALLBACK *pw_cb, void
      *pw_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - impl
    - ','
    - output
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 203
    functionName: MAKE_MS_ENCODER
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2ms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_MS_ENCODER(impl, output, type)
  - 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:119,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:120,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:123,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:125,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:127,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:130,1
    - Dst: ossl_lms_key_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:131,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: 133
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 133
    functionName: lmsxdr2key_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - ossl_bio_new_from_core_bio
    - BIO_read
    - BIO_free
    - PROV_LIBCTX_OF
    - OSSL_PARAM_construct_end
    - ossl_lms_key_free
    - ossl_lms_pubkey_decode
    - ossl_lms_pubkey_length
    - ossl_lms_key_new
    - ERR_set_mark
    - data_cb
    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:141,1
    - Dst: export
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:152,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: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: lmsxdr2key_export_object
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_export
    - 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: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    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:113,1
    - Dst: ossl_ml_dsa_params_get
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:118,1
    - Dst: ml_dsa_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:119,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:122,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:127,1
    - Dst: ossl_ml_dsa_pk_decode
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:130,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:131,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:134,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: 139
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 139
    functionName: ossl_ml_dsa_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_free
    - ossl_ml_dsa_pk_decode
    - ERR_raise_data
    - ossl_ml_dsa_key_new
    - PROV_LIBCTX_OF
    - ossl_ml_dsa_params_get
    - memcmp
    - ml_dsa_get_codec
    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:162,1
    - Dst: ml_dsa_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:163,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:167,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:170,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:173,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:177,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:179,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:185,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:187,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:196,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:210,1
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:219,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:230,1
    - Dst: ossl_prov_ml_dsa_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:250,1
    - Dst: ossl_ml_dsa_set_prekey
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:263,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:264,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:266,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: 268
      start: 141
    functionDepth: 19
    functionLinenumber: 141
    functionLinenumberEnd: 268
    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
    - ossl_prov_ml_dsa_new
    - ossl_ml_dsa_key_free
    - ERR_raise_data
    - OPENSSL_free
    - ossl_ml_common_pkcs8_fmt_order
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    - ossl_ml_dsa_set_prekey
    - OBJ_obj2nid
    - X509_ALGOR_get0
    - OPENSSL_load_u32_be
    - ossl_ml_dsa_params_get
    - ml_dsa_get_codec
    - 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:273,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:274,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:277,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - ML_DSA_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    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
    - ossl_ml_dsa_key_get_pub
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:291,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:298,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:299,1
    - Dst: ml_dsa_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:302,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:306,1
    - Dst: ossl_ml_dsa_key_get_prov_flags
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:313,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:315,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:319,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:333,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:345,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:350,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:353,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:358,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:369,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:371,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:375,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:380,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:382,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:386,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:393,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:397,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:409,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 87
    argCount: 4
    argNames:
    - key
    - out
    - provctx
    - formats
    argTypes:
    - ML_DSA_KEY*
    - uint8_t**
    - PROV_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 411
    functionName: ossl_ml_dsa_i2d_prvkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_get_prov_flags
    - ossl_ml_dsa_key_get_priv
    - OPENSSL_store_u16_be
    - ERR_raise_data
    - OPENSSL_malloc
    - OPENSSL_free
    - ossl_ml_dsa_key_params
    - ossl_ml_common_pkcs8_fmt_order
    - ossl_ml_dsa_key_get_pub
    - memcpy
    - ossl_ml_dsa_key_get_seed
    - OPENSSL_store_u32_be
    - ml_dsa_get_codec
    - ossl_prov_ctx_get_param
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, uint8_t **out,\n
      \   PROV_CTX *provctx, const char *formats)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:419,1
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:422,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:423,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:424,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:425,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:429,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:436,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:440,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:442,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:444,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:447,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 455
    functionName: ossl_ml_dsa_key_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_ml_dsa_key_get_priv
    - ERR_raise_data
    - ossl_ml_dsa_key_params
    - ERR_raise
    - ossl_ml_dsa_key_get_seed
    - ossl_ml_dsa_key_get_pub
    - ossl_bio_print_labeled_buf
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_to_text(BIO *out, const ML_DSA_KEY *key, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:84,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: free_asn1_data
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 4
    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/providers/implementations/encode_decode/encode_key2any.c:103,1
    - Dst: k2d
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:104,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:105,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:107,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    - ctx
    argTypes:
    - void*
    - int
    - void*
    - int
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: key_to_p8info
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 3
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - OBJ_nid2obj
    - OPENSSL_free
    - ERR_raise
    - PKCS8_pkey_set0
    - k2d
    - PKCS8_PRIV_KEY_INFO_new
    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    OSSL_i2d_of_void_ctx *k2d,\n    KEY2ANY_CTX
      *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:122,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:129,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:133,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p8info
    - ctx
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: p8info_to_encp8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 1
    functionsReached:
    - ossl_pw_get_passphrase
    - PKCS8_encrypt_ex
    - ERR_raise
    - PROV_LIBCTX_OF
    - OPENSSL_cleanse
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info,\n    KEY2ANY_CTX
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_to_p8info
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:144,1
    - Dst: free_asn1_data
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:148,1
    - Dst: p8info_to_encp8
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:150,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    - ctx
    argTypes:
    - void*
    - int
    - void*
    - int
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: key_to_encp8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 2
    functionsReached:
    - key_to_p8info
    - PKCS8_PRIV_KEY_INFO_free
    - p8info_to_encp8
    - free_asn1_data
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *key_to_encp8(const void *key, int key_nid,\n    void *params,
      int params_type,\n    OSSL_i2d_of_void_ctx *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:167,1
    - Dst: k2d
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:168,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:169,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:171,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    - ctx
    argTypes:
    - void*
    - int
    - void*
    - int
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: key_to_pubkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 2
    functionsReached:
    - OBJ_nid2obj
    - OPENSSL_free
    - X509_PUBKEY_free
    - ERR_raise
    - k2d
    - X509_PUBKEY_set0_param
    - X509_PUBKEY_new
    linkageType: ''
    returnType: X509_PUBKEY
    signature: "X509_PUBKEY *key_to_pubkey(const void *key, int key_nid,\n    void
      *params, int params_type,\n    OSSL_i2d_of_void_ctx *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:214,1
    - Dst: key_to_encp8
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:217,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:219,1
    - Dst: X509_SIG_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:221,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*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 224
    functionName: key_to_epki_der_priv_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 1
    functionsReached:
    - i2d_PKCS8_bio
    - p2s
    - key_to_encp8
    - X509_SIG_free
    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    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:241,1
    - Dst: key_to_encp8
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:244,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:246,1
    - Dst: X509_SIG_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:248,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*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: key_to_epki_pem_priv_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 1
    functionsReached:
    - PEM_write_bio_PKCS8
    - p2s
    - key_to_encp8
    - X509_SIG_free
    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    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_to_epki_der_priv_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:266,1
    - Dst: p2s
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:269,1
    - Dst: key_to_p8info
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:272,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:275,1
    - Dst: free_asn1_data
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:277,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:279,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*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 282
    functionName: key_to_pki_der_priv_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_p8info
    - p2s
    - key_to_epki_der_priv_bio
    - free_asn1_data
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    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    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_to_epki_pem_priv_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:297,1
    - Dst: p2s
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:300,1
    - Dst: key_to_p8info
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:303,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:306,1
    - Dst: free_asn1_data
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:308,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:310,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*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: key_to_pki_pem_priv_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - key_to_epki_pem_priv_bio
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_p8info
    - p2s
    - free_asn1_data
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    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    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:327,1
    - Dst: key_to_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:330,1
    - Dst: i2d_X509_PUBKEY_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:333,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:336,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*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 338
    functionName: key_to_spki_der_pub_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - i2d_X509_PUBKEY_bio
    - key_to_pubkey
    - p2s
    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    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:352,1
    - Dst: key_to_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:355,1
    - Dst: PEM_write_bio_X509_PUBKEY
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:358,1
    - Dst: free_asn1_data
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:360,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:363,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*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 365
    functionName: key_to_spki_pem_pub_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - p2s
    - free_asn1_data
    - key_to_pubkey
    - PEM_write_bio_X509_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    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: k2d
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:390,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:391,1
    - Dst: BIO_write
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:395,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 398
    functionName: key_to_type_specific_der_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - k2d
    - ERR_raise
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int key_to_type_specific_der_bio(BIO *out, const void *key,\n    int
      key_nid,\n    ossl_unused const char *pemname,\n    key_to_paramstring_fn *p2s,\n
      \   OSSL_i2d_of_void_ctx *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_ASN1_write_bio_ctx
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    - cb
    - cbarg
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: key_to_type_specific_pem_bio_cb
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - PEM_ASN1_write_bio_ctx
    linkageType: ''
    returnType: int
    signature: "int key_to_type_specific_pem_bio_cb(BIO *out, const void *key,\n    int
      key_nid, const char *pemname,\n    key_to_paramstring_fn *p2s,\n    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx,\n    pem_password_cb *cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_type_specific_pem_bio_cb
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: key_to_type_specific_pem_priv_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - key_to_type_specific_pem_bio_cb
    linkageType: ''
    returnType: int
    signature: "int key_to_type_specific_pem_priv_bio(BIO *out, const void *key,\n
      \   int key_nid, const char *pemname,\n    key_to_paramstring_fn *p2s,\n    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_type_specific_pem_bio_cb
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: key_to_type_specific_pem_pub_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - key_to_type_specific_pem_bio_cb
    linkageType: ''
    returnType: int
    signature: "int key_to_type_specific_pem_pub_bio(BIO *out, const void *key,\n
      \   int key_nid, const char *pemname,\n    key_to_paramstring_fn *p2s,\n    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_type_specific_pem_bio_cb
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - char*
    - key_to_paramstring_fn*
    - OSSL_i2d_of_void_ctx*
    - KEY2ANY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 5
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: key_to_type_specific_pem_param_bio
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - key_to_type_specific_pem_bio_cb
    linkageType: ''
    returnType: int
    signature: "int key_to_type_specific_pem_param_bio(BIO *out, const void *key,\n
      \   int key_nid, const char *pemname,\n    key_to_paramstring_fn *p2s,\n    OSSL_i2d_of_void_ctx
      *k2d,\n    KEY2ANY_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: k2d_NOCTX
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: k2d_NOCTX(n, f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:467,1
    - Dst: i2d_DHxparams
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:472,1
    - Dst: i2d_DHparams
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:477,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - dh
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 486
    functionName: prepare_dh_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ERR_raise
    - i2d_DHxparams
    - ASN1_STRING_new
    - i2d_DHparams
    linkageType: ''
    returnType: int
    signature: "int prepare_dh_params(const void *dh, int nid, int save,\n    void
      **pstr, int *pstrtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:495,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:496,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:499,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:500,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:504,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dh
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 488
    functionDepth: 7
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: dh_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    - ERR_raise
    - DH_get0_pub_key
    linkageType: ''
    returnType: int
    signature: "int dh_spki_pub_to_der(const void *dh, unsigned char **pder,\n    ossl_unused
      void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:518,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:522,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:526,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dh
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 510
    functionDepth: 7
    functionLinenumber: 510
    functionLinenumberEnd: 530
    functionName: dh_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    - ERR_raise
    - DH_get0_priv_key
    linkageType: ''
    returnType: int
    signature: "int dh_pki_priv_to_der(const void *dh, unsigned char **pder,\n    ossl_unused
      void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DH_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:538,1
    - Dst: i2d_DHxparams
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:539,1
    - Dst: i2d_DHparams
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dh
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: dh_type_specific_params_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - DH_test_flags
    - i2d_DHxparams
    - i2d_DHparams
    linkageType: ''
    returnType: int
    signature: "int dh_type_specific_params_to_der(const void *dh, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - expected_type
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: dh_check_key_type
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - DH_test_flags
    linkageType: ''
    returnType: int
    signature: int dh_check_key_type(const void *dh, int expected_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:569,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:572,1
    - Dst: i2d_DSAparams
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:576,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:579,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - dsa
    - nid
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: encode_dsa_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_new
    - ERR_raise
    - i2d_DSAparams
    linkageType: ''
    returnType: int
    signature: "int encode_dsa_params(const void *dsa, int nid,\n    void **pstr,
      int *pstrtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_p
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:592,1
    - Dst: DSA_get0_q
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:593,1
    - Dst: DSA_get0_g
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:594,1
    - Dst: encode_dsa_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - dsa
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: prepare_dsa_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - encode_dsa_params
    - DSA_get0_g
    - DSA_get0_q
    - DSA_get0_p
    linkageType: ''
    returnType: int
    signature: "int prepare_dsa_params(const void *dsa, int nid, int save,\n    void
      **pstr, int *pstrtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:612,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:616,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:620,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dsa
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 604
    functionDepth: 7
    functionLinenumber: 604
    functionLinenumberEnd: 624
    functionName: dsa_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    - DSA_get0_pub_key
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int dsa_spki_pub_to_der(const void *dsa, unsigned char **pder,\n    ossl_unused
      void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:633,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:634,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:637,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:638,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:642,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dsa
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 626
    functionDepth: 7
    functionLinenumber: 626
    functionLinenumberEnd: 646
    functionName: dsa_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - BN_to_ASN1_INTEGER
    - i2d_ASN1_INTEGER
    - ASN1_STRING_clear_free
    - ERR_raise
    - DSA_get0_priv_key
    linkageType: ''
    returnType: int
    signature: "int dsa_pki_priv_to_der(const void *dsa, unsigned char **pder,\n    ossl_unused
      void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:669,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:672,1
    - Dst: i2d_ECParameters
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:676,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:678,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - eckey
    - pstr
    - pstrtype
    argTypes:
    - void*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 666
    functionDepth: 10
    functionLinenumber: 666
    functionLinenumberEnd: 686
    functionName: prepare_ec_explicit_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - i2d_ECParameters
    - ASN1_STRING_new
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int prepare_ec_explicit_params(const void *eckey,\n                void
      **pstr, int *pstrtype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:696,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:701,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:703,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:709,1
    - Dst: OBJ_length
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:711,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:713,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:714,1
    - Dst: prepare_ec_explicit_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - eckey
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 692
    functionDepth: 11
    functionLinenumber: 692
    functionLinenumberEnd: 724
    functionName: prepare_ec_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    - EC_GROUP_get_asn1_flag
    - EC_KEY_get0_group
    - OBJ_length
    - ERR_raise
    - ASN1_OBJECT_free
    - prepare_ec_explicit_params
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: "int prepare_ec_params(const void *eckey, int nid, int save,\n    void
      **pstr, int *pstrtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:730,1
    - Dst: i2o_ECPublicKey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - eckey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 734
    functionName: ec_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - i2o_ECPublicKey
    - EC_KEY_get0_public_key
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ec_spki_pub_to_der(const void *eckey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_enc_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:750,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:751,1
    - Dst: i2d_ECPrivateKey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:752,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - veckey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 736
    functionDepth: 9
    functionLinenumber: 736
    functionLinenumberEnd: 755
    functionName: ec_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - EC_KEY_set_enc_flags
    - EC_KEY_get_enc_flags
    - i2d_ECPrivateKey
    linkageType: ''
    returnType: int
    signature: "int ec_pki_priv_to_der(const void *veckey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:796,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - vecxkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 806
    functionName: ecx_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ecx_spki_pub_to_der(const void *vecxkey, unsigned char **pder,\n
      \           ossl_unused void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:816,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:824,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - vecxkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 831
    functionName: ecx_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - i2d_ASN1_OCTET_STRING
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ecx_pki_priv_to_der(const void *vecxkey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_i2d_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: ml_dsa_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_i2d_pubkey
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_spki_pub_to_der(const void *vkey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_i2d_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vkey
    - pder
    - vctx
    argTypes:
    - void*
    - unsigned char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: ml_dsa_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_i2d_prvkey
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_pki_priv_to_der(const void *vkey, unsigned char **pder,\n
      \   void *vctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_i2d_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: ml_kem_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_i2d_pubkey
    linkageType: ''
    returnType: int
    signature: "int ml_kem_spki_pub_to_der(const void *vkey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_i2d_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vkey
    - pder
    - vctx
    argTypes:
    - void*
    - unsigned char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 899
    functionName: ml_kem_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_i2d_prvkey
    linkageType: ''
    returnType: int
    signature: "int ml_kem_pki_priv_to_der(const void *vkey, unsigned char **pder,\n
      \   void *vctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:924,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:928,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:934,1
    - Dst: WPACKET_init_null_der
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:947,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:951,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:952,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:953,1
    - Dst: ossl_DER_w_RSASSA_PSS_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:958,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:959,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:960,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:961,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:964,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:976,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:984,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 5
    argNames:
    - rsa
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 921
    functionDepth: 4
    functionLinenumber: 921
    functionLinenumberEnd: 991
    functionName: prepare_rsa_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_RSASSA_PSS_params
    - WPACKET_get_total_written
    - ASN1_STRING_set0
    - WPACKET_cleanup
    - OPENSSL_free
    - RSA_test_flags
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_pss_params_30_is_unrestricted
    - WPACKET_finish
    - WPACKET_init_null_der
    - WPACKET_init_der
    - ASN1_STRING_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int prepare_rsa_params(const void *rsa, int nid, int save,\n    void
      **pstr, int *pstrtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rsa
    - expected_type
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1018
    functionName: rsa_check_key_type
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - RSA_test_flags
    linkageType: ''
    returnType: int
    signature: int rsa_check_key_type(const void *rsa, int expected_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1038,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1041,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1042,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - vkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1048
    functionName: slh_dsa_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_slh_dsa_key_get_pub
    - ERR_raise
    - ossl_slh_dsa_key_get_pub_len
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_spki_pub_to_der(const void *vkey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1056,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1057,1
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1060,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1063,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - vkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1067
    functionName: slh_dsa_pki_priv_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_slh_dsa_key_get_priv
    - ERR_raise
    - ossl_slh_dsa_key_get_priv_len
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_pki_priv_to_der(const void *vkey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lms_i2d_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vkey
    - pder
    - ctx
    argTypes:
    - void*
    - unsigned char**
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1116
    functionName: lms_spki_pub_to_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - ossl_lms_i2d_pubkey
    linkageType: ''
    returnType: int
    signature: "int lms_spki_pub_to_der(const void *vkey, unsigned char **pder,\n
      \   ossl_unused void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1139
    functionName: key2any_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *key2any_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1145,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1141
    functionDepth: 4
    functionLinenumber: 1141
    functionLinenumberEnd: 1149
    functionName: key2any_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void key2any_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionName: key2any_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *key2any_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: key2any_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1161,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1169,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1171,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1174,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1175,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1179,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1183,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1156
    functionDepth: 5
    functionLinenumber: 1156
    functionLinenumberEnd: 1201
    functionName: key2any_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_utf8_string_ptr
    - ossl_prov_ctx_get0_libctx
    - OPENSSL_free
    - OSSL_PARAM_get_utf8_string
    - key2any_set_ctx_params_decoder
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    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/providers/implementations/encode_decode/encode_key2any.c:1220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - selection_mask
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1234
    functionName: key2any_check_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int key2any_check_selection(int selection, int selection_mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1247,1
    - Dst: checker
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1249,1
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1250,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1254,1
    - Dst: writer
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1255,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1257,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2any.c:1259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 11
    argNames:
    - ctx
    - cout
    - key
    - type
    - pemname
    - checker
    - writer
    - pwcb
    - pwcbarg
    - key2paramstring
    - key2der
    argTypes:
    - KEY2ANY_CTX*
    - OSSL_CORE_BIO*
    - void*
    - int
    - char*
    - check_key_type_fn*
    - key_to_der_fn*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - key_to_paramstring_fn*
    - OSSL_i2d_of_void_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1236
    functionDepth: 3
    functionLinenumber: 1236
    functionLinenumberEnd: 1262
    functionName: key2any_encode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached:
    - writer
    - ossl_bio_new_from_core_bio
    - BIO_free
    - ERR_raise
    - checker
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: "int key2any_encode(KEY2ANY_CTX *ctx, OSSL_CORE_BIO *cout,\n    const
      void *key, int type, const char *pemname,\n    check_key_type_fn *checker,\n
      \   key_to_der_fn *writer,\n    OSSL_PASSPHRASE_CALLBACK *pwcb, void *pwcbarg,\n
      \   key_to_paramstring_fn *key2paramstring,\n    OSSL_i2d_of_void_ctx *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: 1273
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1273
    functionName: DO_PRIVATE_KEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_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: 1283
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1283
    functionName: DO_PUBLIC_KEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_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: 1293
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1293
    functionName: DO_PARAMETERS
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_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: 1330
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: DO_PrivateKeyInfo
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_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: 1334
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1334
    functionName: DO_EncryptedPrivateKeyInfo
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_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: 1339
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1339
    functionName: DO_SubjectPublicKeyInfo
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_SubjectPublicKeyInfo(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: 1358
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: DO_type_specific_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_params(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: 1363
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: DO_type_specific_keypair
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_keypair(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: 1369
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1369
    functionName: DO_type_specific
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific(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: 1374
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1374
    functionName: DO_type_specific_no_pub
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_no_pub(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: 1383
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1383
    functionName: DO_RSA
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_RSA(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: 1386
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1386
    functionName: DO_DH
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DH(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: 1389
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1389
    functionName: DO_DHX
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DHX(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: 1392
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1392
    functionName: DO_DSA
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DSA(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: 1395
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1395
    functionName: DO_EC
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_EC(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: 1398
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1398
    functionName: DO_SM2
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_SM2(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: 1402
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1402
    functionName: DO_PKCS1
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_PKCS1(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: 1406
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1406
    functionName: DO_PKCS3
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_PKCS3(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: 1409
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1409
    functionName: DO_X9_42
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_X9_42(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: 1413
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1413
    functionName: DO_X9_62
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_X9_62(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: 1466
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1466
    functionName: MAKE_ENCODER
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2any.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_ENCODER(impl, type, kind, output)
  - 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:82,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:83,1
    - Dst: qsort
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:89,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: 93
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 93
    functionName: ossl_ml_common_pkcs8_fmt_order
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strncasecmp
    - strcspn
    - OPENSSL_free
    - ERR_raise_data
    - strspn
    - OPENSSL_calloc
    - 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: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    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:98,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:111,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:114,1
    - Dst: ossl_do_blob_header
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:116,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:117,1
    - Dst: ossl_blob_length
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:130,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:133,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:138,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:148,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:149,1
    - Dst: struct msblob2key_ctx_st*::desc::read_private_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:152,1
    - Dst: struct msblob2key_ctx_st*::desc::read_public_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:160,1
    - Dst: struct msblob2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:180,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:181,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:189,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:190,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:193,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:195,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:197,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:202,1
    - Dst: struct msblob2key_ctx_st*::desc::free_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:203,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: 206
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 206
    functionName: msblob2key_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ossl_bio_new_from_core_bio
    - struct msblob2key_ctx_st*::desc::read_public_key
    - struct msblob2key_ctx_st*::desc::adjust_key
    - ossl_do_blob_header
    - struct msblob2key_ctx_st*::desc::read_private_key
    - ERR_pop_to_mark
    - ossl_blob_length
    - OPENSSL_free
    - BIO_read
    - ERR_raise
    - OSSL_PARAM_construct_end
    - data_cb
    - OPENSSL_malloc
    - OSSL_PARAM_construct_utf8_string
    - BIO_free
    - memset
    - ERR_set_mark
    - OSSL_PARAM_construct_int
    - struct msblob2key_ctx_st*::desc::free_key
    - ossl_pw_set_ossl_passphrase_cb
    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:214,1
    - Dst: export
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:225,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: 228
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: msblob2key_export_object
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_export
    - 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:244,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct msblob2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: rsa_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_rsa_set0_libctx
    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: 280
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 280
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: HSS_LMS_HEADER
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/lms_codecs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSS_LMS_HEADER(n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:82,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pk
    - pk_len
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: find_spkifmt
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/lms_codecs.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: LMS_SPKI_FMT
    signature: LMS_SPKI_FMT *find_spkifmt(const uint8_t *pk, int pk_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:92,1
    - Dst: find_spkifmt
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:96,1
    - Dst: ossl_lms_key_new
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:100,1
    - Dst: ossl_lms_pubkey_decode
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:106,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:107,1
    - Dst: ossl_lms_key_free
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pk
    - pk_len
    - provctx
    argTypes:
    - uint8_t*
    - int
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: ossl_lms_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/lms_codecs.c
    functionUses: 0
    functionsReached:
    - find_spkifmt
    - ERR_raise_data
    - ossl_lms_key_free
    - ossl_lms_pubkey_decode
    - PROV_LIBCTX_OF
    - ossl_lms_key_new
    linkageType: ''
    returnType: LMS_KEY
    signature: 'LMS_KEY *

      ossl_lms_d2i_PUBKEY(const uint8_t *pk, int pk_len, PROV_CTX *provctx)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:119,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:126,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:131,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:133,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:135,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - LMS_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 144
    functionName: ossl_lms_i2d_pubkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/lms_codecs.c
    functionUses: 1
    functionsReached:
    - WPACKET_cleanup
    - ERR_raise_data
    - OPENSSL_free
    - WPACKET_memcpy
    - WPACKET_init_static_len
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_lms_i2d_pubkey(const LMS_KEY *key, unsigned char **out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:148,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: get_digest
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/lms_codecs.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *get_digest(const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:159,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:171,1
    - Dst: get_digest
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:172,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:176,1
    - Dst: get_digest
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:177,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:186,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:189,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/lms_codecs.c:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - LMS_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 194
    functionName: ossl_lms_key_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/lms_codecs.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - get_digest
    - ERR_raise_data
    - ERR_raise
    - ossl_bio_print_labeled_buf
    linkageType: ''
    returnType: int
    signature: int ossl_lms_key_to_text(BIO *out, const LMS_KEY *key, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:39,1
    - Dst: PEM_read_bio
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:44,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - provctx
    - cin
    - pem_name
    - pem_header
    - data
    - len
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: read_pem
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 11
    functionsReached:
    - PEM_read_bio
    - BIO_free
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: "int read_pem(PROV_CTX *provctx, OSSL_CORE_BIO *cin,\n    char **pem_name,
      char **pem_header,\n    unsigned char **data, long *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: pem2der_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *pem2der_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: pem2der_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pem2der_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pem2der_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *pem2der_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pem2der_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:90,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:95,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: pem2der_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 0
    functionsReached:
    - pem2der_set_ctx_params_decoder
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: int pem2der_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct pem2der_pass_data_st*::cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - num
    - w
    - data
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: pem2der_pass_helper
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 0
    functionsReached:
    - struct pem2der_pass_data_st*::cb
    linkageType: ''
    returnType: int
    signature: int pem2der_pass_helper(char *buf, int num, int w, void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: read_pem
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:175,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:188,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:195,1
    - Dst: PEM_do_header
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:196,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:208,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:209,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:212,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:224,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:225,1
    - Dst: ossl_epki2pki_der_decode
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:226,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:228,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:235,1
    - Dst: ossl_spki2typespki_der_decode
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:236,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:238,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:245,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:250,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:252,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:254,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:256,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:262,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c:264,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    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: 266
      start: 124
    functionDepth: 10
    functionLinenumber: 124
    functionLinenumberEnd: 266
    functionName: pem2der_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pem2der.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - PEM_do_header
    - OPENSSL_free
    - ossl_epki2pki_der_decode
    - strcmp
    - read_pem
    - PROV_LIBCTX_OF
    - OSSL_PARAM_construct_end
    - PEM_get_EVP_CIPHER_INFO
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    - strlen
    - data_cb
    - ossl_spki2typespki_der_decode
    linkageType: ''
    returnType: int
    signature: "int pem2der_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: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:53,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:67,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:74,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:81,1
    - Dst: DH_get0_p
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:88,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:92,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:92,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:95,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:98,1
    - Dst: ossl_bio_print_ffc_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:101,1
    - Dst: DH_get_length
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:103,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:105,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 111
    functionName: dh_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_dh_get0_params
    - ossl_bio_print_labeled_bignum
    - ossl_bio_print_ffc_params
    - ERR_raise
    - DH_get0_priv_key
    - DH_get0_p
    - BN_num_bits
    - DH_get_length
    - DH_get0_pub_key
    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:126,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:140,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:147,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:154,1
    - Dst: DSA_get0_p
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:165,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:165,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:168,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:171,1
    - Dst: ossl_bio_print_ffc_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:174,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 178
    functionName: dsa_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_bio_print_labeled_bignum
    - ossl_bio_print_ffc_params
    - DSA_get0_priv_key
    - DSA_get0_pub_key
    - ERR_raise
    - ossl_dsa_get0_params
    - BN_num_bits
    - DSA_get0_p
    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:190,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:191,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:192,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:194,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:197,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:202,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:202,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:206,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:207,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - out
    - group
    - ctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: ec_param_explicit_curve_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OBJ_nid2sn
    - ossl_bio_print_labeled_bignum
    - EC_GROUP_get_curve
    - BN_CTX_get
    - EC_GROUP_get_basis_type
    - EC_GROUP_get_field_type
    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:221,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:222,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:241,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:245,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - out
    - group
    - ctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 248
    functionName: ec_param_explicit_gen_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EC_POINT_point2buf
    - EC_GROUP_get0_generator
    - EC_GROUP_get_point_conversion_form
    - ossl_bio_print_labeled_buf
    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:260,1
    - Dst: BN_CTX_start
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:263,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:265,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:266,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:270,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:272,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:273,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:276,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:276,1
    - Dst: ec_param_explicit_curve_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:277,1
    - Dst: ec_param_explicit_gen_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:278,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:279,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:281,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:283,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:287,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:288,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: 290
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 290
    functionName: ec_param_explicit_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP_get0_cofactor
    - BIO_printf
    - OBJ_nid2sn
    - ossl_bio_print_labeled_bignum
    - ec_param_explicit_curve_to_text
    - BN_CTX_new_ex
    - EC_GROUP_get0_order
    - BN_CTX_free
    - EC_GROUP_get_seed_len
    - EC_GROUP_get0_seed
    - EC_GROUP_get_field_type
    - ossl_bio_print_labeled_buf
    - ec_param_explicit_gen_to_text
    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:295,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:297,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:303,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:303,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:308,1
    - Dst: ec_param_explicit_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:310,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: 312
      start: 292
    functionDepth: 8
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: ec_param_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OBJ_nid2sn
    - EC_curve_nid2nist
    - EC_GROUP_get_asn1_flag
    - ec_param_explicit_to_text
    - EC_GROUP_get_curve_name
    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:324,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:329,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:338,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:345,1
    - Dst: EC_KEY_priv2buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:348,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:356,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:360,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:366,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:367,1
    - Dst: EC_GROUP_security_bits
      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:372,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:375,1
    - Dst: ec_param_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:378,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:378,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:381,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 314
    functionDepth: 9
    functionLinenumber: 314
    functionLinenumberEnd: 383
    functionName: ec_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - BIO_printf
    - ossl_bio_print_labeled_buf
    - EC_KEY_get_conv_form
    - EC_GROUP_security_bits
    - OPENSSL_free
    - OPENSSL_clear_free
    - EC_GROUP_get_degree
    - ec_param_to_text
    - ossl_ec_key_get_libctx
    - EC_KEY_get0_group
    - ERR_raise
    - EC_KEY_get0_private_key
    - EC_KEY_key2buf
    - 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:395,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:416,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:420,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:427,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:431,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:435,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 439
    functionName: ecx_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ERR_raise
    - ossl_bio_print_labeled_buf
    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:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - vkey
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 448
    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:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 457
    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:467,1
    - Dst: STACK_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:468,1
    - Dst: STACK_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:469,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:471,1
    - Dst: ERR_raise
      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:479,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:480,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:484,1
    - Dst: RSA_get0_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:498,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:499,1
    - Dst: sk_BIGNUM_const_num
      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: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:508,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:509,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:514,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:516,1
    - Dst: ossl_bio_print_labeled_bignum
      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: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:532,1
    - Dst: sk_BIGNUM_const_value
      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: sk_BIGNUM_const_num
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:538,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:539,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:541,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:542,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:544,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:546,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:547,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:549,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:551,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:552,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:558,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_is_unrestricted
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:566,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:567,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:570,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:571,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:572,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:573,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:574,1
    - Dst: BIO_printf
      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:578,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:579,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:585,1
    - Dst: ossl_rsa_mgf_nid2name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:586,1
    - Dst: ossl_rsa_oaeppss_nid2name
      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:594,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:599,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:611,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:612,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:613,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 126
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 615
    functionName: rsa_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - sk_BIGNUM_const_free
    - ossl_bio_print_labeled_bignum
    - RSA_get0_key
    - ossl_rsa_mgf_nid2name
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_rsa_pss_params_30_maskgenalg
    - ERR_raise
    - STACK_OF
    - ossl_rsa_get0_all_params
    - sk_BIGNUM_const_value
    - ossl_rsa_pss_params_30_is_unrestricted
    - BN_num_bits
    - sk_BIGNUM_const_num
    - BIO_printf
    - ossl_rsa_pss_params_30_saltlen
    - sk_BIGNUM_const_new_null
    - ossl_rsa_pss_params_30_maskgenhashalg
    - RSA_test_flags
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_oaeppss_nid2name
    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:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 623
    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:
    - Dst: ossl_lms_key_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: lms_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_lms_key_to_text
    linkageType: ''
    returnType: int
    signature: int lms_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: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    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: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    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:650,1
    - Dst: key2text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:656,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:657,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: 660
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 660
    functionName: key2text_encode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - key2text
    - ossl_bio_new_from_core_bio
    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: 686
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 686
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - desc
    argTypes:
    - void*
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: pvk2key_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct pvk2key_ctx_st
    signature: 'struct pvk2key_ctx_st *

      pvk2key_newctx(void *provctx, const struct keytype_desc_st *desc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: pvk2key_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pvk2key_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pvk2key_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *pvk2key_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pvk2key_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:100,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: pvk2key_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached:
    - pvk2key_set_ctx_params_decoder
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: int pvk2key_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: pvk2key_does_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pvk2key_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_pvk2key.c:127,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:142,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:143,1
    - Dst: struct pvk2key_ctx_st*::desc::read_private_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:146,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:147,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:156,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:157,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:158,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:162,1
    - Dst: struct pvk2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:171,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:185,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:192,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:193,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:196,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:198,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:200,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:204,1
    - Dst: struct pvk2key_ctx_st*::desc::free_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:205,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    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: 208
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 208
    functionName: pvk2key_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - struct pvk2key_ctx_st*::desc::adjust_key
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - ERR_clear_last_mark
    - struct pvk2key_ctx_st*::desc::read_private_key
    - ossl_bio_new_from_core_bio
    - ERR_peek_last_error
    - BIO_free
    - ERR_GET_REASON
    - OSSL_PARAM_construct_end
    - memset
    - struct pvk2key_ctx_st*::desc::free_key
    - PROV_LIBCTX_OF
    - ERR_GET_LIB
    - data_cb
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: "int pvk2key_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_pvk2key.c:215,1
    - Dst: export
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:226,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: 229
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 229
    functionName: pvk2key_export_object
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_export
    - export
    linkageType: ''
    returnType: int
    signature: "int pvk2key_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_pvk2key.c:243,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct pvk2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: rsa_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_rsa_set0_libctx
    linkageType: ''
    returnType: void
    signature: void rsa_adjust(void *key, struct pvk2key_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: 284
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 284
    functionName: IMPLEMENT_MS
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_pvk2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_MS(KEYTYPE, keytype)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    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:109,1
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:115,1
    - Dst: ml_kem_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:116,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:120,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:125,1
    - Dst: ossl_ml_kem_parse_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:128,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:129,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:132,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: 137
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: ossl_ml_kem_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_free
    - ml_kem_get_codec
    - ERR_raise_data
    - ossl_ml_kem_key_new
    - ossl_ml_kem_parse_public_key
    - PROV_LIBCTX_OF
    - ossl_ml_kem_get_vinfo
    - memcmp
    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:158,1
    - Dst: ml_kem_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:159,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:163,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:166,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:169,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:173,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:175,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:181,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:183,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:192,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:206,1
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:215,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:226,1
    - Dst: ossl_prov_ml_kem_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:246,1
    - Dst: ossl_ml_kem_set_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:250,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:252,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:259,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:260,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:271,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:272,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:274,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: 276
      start: 139
    functionDepth: 19
    functionLinenumber: 139
    functionLinenumberEnd: 276
    functionName: ossl_ml_kem_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - PKCS8_PRIV_KEY_INFO_free
    - ossl_ml_kem_key_free
    - ml_kem_get_codec
    - ERR_raise_data
    - OPENSSL_free
    - ossl_ml_common_pkcs8_fmt_order
    - ossl_prov_ml_kem_new
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - memcpy
    - X509_ALGOR_get0
    - ossl_ml_kem_get_vinfo
    - ossl_ml_kem_set_seed
    - OPENSSL_load_u32_be
    - 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:283,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:284,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:291,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:293,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - ML_KEM_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: ossl_ml_kem_i2d_pubkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ERR_raise_data
    - ossl_ml_kem_encode_public_key
    - ossl_ml_kem_have_pubkey
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_i2d_pubkey(const ML_KEM_KEY *key, unsigned char **out)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:314,1
    - Dst: ml_kem_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:318,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:321,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:322,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:331,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:335,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:349,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:361,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:366,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:369,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:374,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:386,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:388,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:389,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:398,1
    - Dst: ossl_ml_kem_encode_private_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:400,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:401,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:412,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:429,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 84
    argCount: 4
    argNames:
    - key
    - out
    - provctx
    - formats
    argTypes:
    - ML_KEM_KEY*
    - uint8_t**
    - PROV_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 431
    functionName: ossl_ml_kem_i2d_prvkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 1
    functionsReached:
    - ml_kem_get_codec
    - OPENSSL_store_u16_be
    - ERR_raise_data
    - OPENSSL_malloc
    - ossl_ml_kem_encode_private_key
    - ossl_ml_common_pkcs8_fmt_order
    - ossl_ml_kem_encode_public_key
    - OPENSSL_free
    - ossl_ml_kem_have_prvkey
    - ossl_ml_kem_encode_seed
    - OPENSSL_store_u32_be
    - ossl_prov_ctx_get_param
    - ossl_ml_kem_have_seed
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_i2d_prvkey(const ML_KEM_KEY *key, uint8_t **out,\n
      \   PROV_CTX *provctx, const char *formats)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:441,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:449,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:450,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:451,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:454,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:455,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:457,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:460,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:461,1
    - Dst: ossl_ml_kem_encode_private_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:463,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:465,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:472,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:474,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:477,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:478,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:479,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:486,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:491,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:492,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - ML_KEM_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 433
    functionDepth: 6
    functionLinenumber: 433
    functionLinenumberEnd: 494
    functionName: ossl_ml_kem_key_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - ERR_raise_data
    - OPENSSL_malloc
    - ossl_ml_kem_encode_private_key
    - ossl_ml_kem_encode_public_key
    - OPENSSL_free
    - ERR_raise
    - ossl_ml_kem_have_prvkey
    - ossl_ml_kem_encode_seed
    - ossl_ml_kem_have_pubkey
    - ossl_bio_print_labeled_buf
    - ossl_ml_kem_have_seed
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_key_to_text(BIO *out, const ML_KEM_KEY *key, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:142,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:143,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:144,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:146,1
    - Dst: key_from_pkcs8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:148,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:148,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    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: 152
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: der2key_decode_p8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 2
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - PROV_LIBCTX_OF
    - key_from_pkcs8
    linkageType: ''
    returnType: void
    signature: "void *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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - desc
    argTypes:
    - void*
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: der2key_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct der2key_ctx_st
    signature: 'struct der2key_ctx_st *

      der2key_newctx(void *provctx, const struct keytype_desc_st *desc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: der2key_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *der2key_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: der2key_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:185,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: der2key_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_set_ctx_params_decoder
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: int der2key_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: der2key_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.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/providers/implementations/encode_decode/decode_der2key.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - desc
    argTypes:
    - int
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 235
    functionName: der2key_check_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int der2key_check_selection(int selection,\n    const struct keytype_desc_st
      *desc)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:260,1
    - Dst: ossl_read_der
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:264,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:270,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PKCS8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:274,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:276,1
    - Dst: struct der2key_ctx_st*::desc::d2i_private_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:280,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:283,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PUBKEY
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:290,1
    - Dst: struct der2key_ctx_st*::desc::d2i_public_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:292,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:294,1
    - Dst: struct der2key_ctx_st*::desc::d2i_key_params
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:301,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:303,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:308,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:310,1
    - Dst: struct der2key_ctx_st*::desc::check_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:321,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:322,1
    - Dst: struct der2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:341,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:348,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:351,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:352,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:353,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:357,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:361,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:363,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:365,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:370,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    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: 373
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 373
    functionName: der2key_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - struct der2key_ctx_st*::desc::adjust_key
    - OSSL_PARAM_construct_octet_string
    - ERR_clear_last_mark
    - struct der2key_ctx_st*::desc::d2i_public_key
    - struct der2key_ctx_st*::desc::check_key
    - ERR_pop_to_mark
    - OPENSSL_free
    - ERR_raise
    - OSSL_PARAM_construct_end
    - data_cb
    - struct der2key_ctx_st*::desc::d2i_key_params
    - OSSL_PARAM_construct_utf8_string
    - ossl_read_der
    - strcmp
    - EC_KEY_get_flags
    - struct der2key_ctx_st*::desc::d2i_PKCS8
    - ERR_set_mark
    - OSSL_PARAM_construct_int
    - struct der2key_ctx_st*::desc::free_key
    - struct der2key_ctx_st*::desc::d2i_PUBKEY
    - struct der2key_ctx_st*::desc::d2i_private_key
    linkageType: ''
    returnType: int
    signature: "int 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_export
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:380,1
    - Dst: export
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:391,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: 394
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 394
    functionName: der2key_export_object
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_export
    - 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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: D2I_PUBKEY_NOCTX
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D2I_PUBKEY_NOCTX(n, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 7
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: dh_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *dh_d2i_PKCS8(const unsigned char **der, long der_len,\n    struct
      der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_set0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:426,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: dh_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_dh_set0_libctx
    linkageType: ''
    returnType: void
    signature: void dh_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 7
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: dsa_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *dsa_d2i_PKCS8(const unsigned char **der, long der_len,\n    struct
      der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_set0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:460,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: dsa_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_dsa_set0_libctx
    linkageType: ''
    returnType: void
    signature: void dsa_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 7
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: ec_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *ec_d2i_PKCS8(const unsigned char **der, long der_len,\n    struct
      der2key_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 495
    functionName: ec_check
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get_flags
    linkageType: ''
    returnType: int
    signature: int ec_check(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_set0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:499,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: ec_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ec_key_set0_libctx
    linkageType: ''
    returnType: void
    signature: void ec_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 7
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: ecx_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *ecx_d2i_PKCS8(const unsigned char **der, long der_len,\n    struct
      der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_set0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:522,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: ecx_key_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_ecx_key_set0_libctx
    linkageType: ''
    returnType: void
    signature: void ecx_key_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 7
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: sm2_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *sm2_d2i_PKCS8(const unsigned char **der, long der_len,\n    struct
      der2key_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_d2i_PKCS8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 585
    functionDepth: 20
    functionLinenumber: 585
    functionLinenumberEnd: 595
    functionName: ml_kem_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 1
    functionsReached:
    - ossl_ml_kem_d2i_PKCS8
    linkageType: ''
    returnType: void
    signature: 'void *

      ml_kem_d2i_PKCS8(const uint8_t **der, long der_len, struct der2key_ctx_st *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_d2i_PUBKEY
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 6
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: ml_kem_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 1
    functionsReached:
    - ossl_ml_kem_d2i_PUBKEY
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline *\nml_kem_d2i_PUBKEY(const uint8_t **der, long der_len,\n
      \   struct der2key_ctx_st *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:647,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:653,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:654,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:658,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:659,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:664,1
    - Dst: ossl_slh_dsa_key_new
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:666,1
    - Dst: ossl_slh_dsa_set_priv
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:671,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:675,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 643
    functionDepth: 6
    functionLinenumber: 643
    functionLinenumberEnd: 679
    functionName: slh_dsa_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise_data
    - d2i_PKCS8_PRIV_KEY_INFO
    - PKCS8_pkey_get0
    - OBJ_obj2nid
    - ossl_slh_dsa_key_new
    - X509_ALGOR_get0
    - PROV_LIBCTX_OF
    - ossl_slh_dsa_key_free
    - ossl_slh_dsa_set_priv
    linkageType: ''
    returnType: void
    signature: 'void *

      slh_dsa_d2i_PKCS8(const uint8_t **der, long der_len, struct der2key_ctx_st *ctx)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:685,1
    - Dst: ossl_slh_dsa_key_new
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:691,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:694,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:711,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:718,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:722,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:723,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:725,1
    - Dst: ossl_slh_dsa_key_get_name
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:727,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:733,1
    - Dst: ossl_slh_dsa_key_get_name
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:735,1
    - Dst: OBJ_cmp
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:738,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:738,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:739,1
    - Dst: ossl_slh_dsa_key_get_name
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:741,1
    - Dst: ossl_slh_dsa_set_pub
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:745,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:746,1
    - Dst: ossl_slh_dsa_key_get_name
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:748,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:754,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:755,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:756,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:759,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 681
    functionDepth: 5
    functionLinenumber: 681
    functionLinenumberEnd: 763
    functionName: slh_dsa_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OBJ_cmp
    - OBJ_nid2obj
    - ASN1_BIT_STRING_free
    - ossl_slh_dsa_key_get_pub_len
    - ERR_raise_data
    - ASN1_item_d2i_ex
    - OPENSSL_free
    - ossl_slh_dsa_set_pub
    - ossl_slh_dsa_key_new
    - ASN1_ITEM_rptr
    - ASN1_OBJECT_free
    - PROV_LIBCTX_OF
    - ossl_slh_dsa_key_free
    - ossl_slh_dsa_key_get_name
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline *slh_dsa_d2i_PUBKEY(const uint8_t **der, long der_len,\n
      \   struct der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: der2key_decode_p8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 7
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: rsa_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *rsa_d2i_PKCS8(const unsigned char **der, long der_len,\n    struct
      der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSA_PUBKEY
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - unsigned char**
    - long
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 10
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: rsa_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - d2i_RSA_PUBKEY
    linkageType: ''
    returnType: void
    signature: "void *\nrsa_d2i_PUBKEY(const unsigned char **der, long der_len,\n
      \   ossl_unused struct der2key_ctx_st *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:912,1
    - Dst: ossl_rsa_check_factors
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 927
    functionName: rsa_check
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_check_factors
    - RSA_test_flags
    linkageType: ''
    returnType: int
    signature: int rsa_check(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_set0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:931,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: rsa_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_rsa_set0_libctx
    linkageType: ''
    returnType: void
    signature: void rsa_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_d2i_PKCS8
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 20
    functionLinenumber: 947
    functionLinenumberEnd: 957
    functionName: ml_dsa_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_d2i_PKCS8
    linkageType: ''
    returnType: void
    signature: 'void *

      ml_dsa_d2i_PKCS8(const uint8_t **der, long der_len, struct der2key_ctx_st *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_d2i_PUBKEY
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 959
    functionDepth: 4
    functionLinenumber: 959
    functionLinenumberEnd: 969
    functionName: ml_dsa_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_d2i_PUBKEY
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline *ml_dsa_d2i_PUBKEY(const uint8_t **der, long der_len,\n
      \   struct der2key_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lms_d2i_PUBKEY
      Src: /src/openssl/providers/implementations/encode_decode/decode_der2key.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - der
    - der_len
    - ctx
    argTypes:
    - uint8_t**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1011
    functionDepth: 4
    functionLinenumber: 1011
    functionLinenumberEnd: 1020
    functionName: lms_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 1
    functionsReached:
    - ossl_lms_d2i_PUBKEY
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline *lms_d2i_PUBKEY(const uint8_t **der, long der_len,\n    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: 1039
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1039
    functionName: DO_type_specific_keypair
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_keypair(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: DO_type_specific_pub
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_pub(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1063
    functionName: DO_type_specific_priv
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_priv(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1075
    functionName: DO_type_specific_params
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_params(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1087
    functionName: DO_type_specific
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1100
    functionName: DO_type_specific_no_pub
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_type_specific_no_pub(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1112
    functionName: DO_PrivateKeyInfo
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.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: 1124
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1124
    functionName: DO_SubjectPublicKeyInfo
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_SubjectPublicKeyInfo(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: DO_DH
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DH(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1148
    functionName: DO_DHX
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DHX(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1160
    functionName: DO_DSA
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DSA(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1173
    functionName: DO_EC
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_EC(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1185
    functionName: DO_RSA
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_RSA(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: 1238
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1238
    functionName: MAKE_DECODER
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_der2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DECODER(keytype_name, keytype, type, kind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: any2obj_newctx
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *any2obj_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: any2obj_freectx
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void any2obj_freectx(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any2obj_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:77,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: any2obj_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_string
    - any2obj_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int any2obj_set_ctx_params(void *vctx, const 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: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: any2obj_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *any2obj_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:109,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:112,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:115,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:117,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:118,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:120,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:122,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - vctx
    - objtype
    - input_type
    - data_type
    - mem
    - data_cb
    - data_cbarg
    argTypes:
    - void*
    - int
    - char*
    - char*
    - BUF_MEM*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: any2obj_decode_final
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - BUF_MEM_free
    - OSSL_PARAM_construct_end
    - data_cb
    linkageType: ''
    returnType: int
    signature: "int any2obj_decode_final(void *vctx, int objtype, const char *input_type,\n
      \   const char *data_type, BUF_MEM *mem,\n    OSSL_CALLBACK *data_cb, void *data_cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:134,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:141,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:142,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:143,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:145,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:148,1
    - Dst: any2obj_decode_final
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    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: 153
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: der2obj_decode
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ossl_bio_new_from_core_bio
    - any2obj_decode_final
    - BIO_free
    - BUF_MEM_free
    - asn1_d2i_read_bio
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: "int der2obj_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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:161,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:174,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:176,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:180,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:181,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:183,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:187,1
    - Dst: ossl_do_blob_header
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:189,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:190,1
    - Dst: ossl_blob_length
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:195,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:197,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:201,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:202,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:204,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:208,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:210,1
    - Dst: any2obj_decode_final
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:215,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:220,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    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: 223
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 223
    functionName: msblob2obj_decode
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - ERR_pop_to_mark
    - ossl_blob_length
    - ossl_bio_new_from_core_bio
    - BIO_read
    - BIO_free
    - any2obj_decode_final
    - ERR_raise
    - BUF_MEM_free
    - ossl_do_blob_header
    - ERR_set_mark
    - BUF_MEM_grow
    linkageType: ''
    returnType: int
    signature: "int msblob2obj_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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:231,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:242,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:244,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:248,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:249,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:251,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:255,1
    - Dst: ossl_do_PVK_header
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:257,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:258,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:265,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:269,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:270,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:272,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:276,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:278,1
    - Dst: any2obj_decode_final
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:283,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:288,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    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: 291
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 291
    functionName: pvk2obj_decode
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - ERR_pop_to_mark
    - ossl_do_PVK_header
    - ossl_bio_new_from_core_bio
    - BIO_read
    - BIO_free
    - any2obj_decode_final
    - ERR_raise
    - BUF_MEM_free
    - ERR_set_mark
    - BUF_MEM_grow
    linkageType: ''
    returnType: int
    signature: "int pvk2obj_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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fromtype
    - ','
    - objtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: MAKE_DECODER
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DECODER(fromtype, objtype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:313,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:321,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:323,1
    - Dst: BIO_read_ex
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:329,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:334,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:338,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:342,1
    - Dst: any2obj_decode_final
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:347,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:351,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c:352,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    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: 354
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 354
    functionName: raw2obj_decode
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store_any2obj.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - ossl_bio_new_from_core_bio
    - any2obj_decode_final
    - BIO_free
    - ERR_raise
    - BUF_MEM_free
    - BIO_read_ex
    - BUF_MEM_grow
    linkageType: ''
    returnType: int
    signature: "int raw2obj_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: CertFreeCertificateContext
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct winstore_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: winstore_win_reset
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - CertFreeCertificateContext
    linkageType: ''
    returnType: void
    signature: void winstore_win_reset(struct winstore_ctx_st *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CertFindCertificateInStore
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct winstore_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: winstore_win_advance
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - CertFindCertificateInStore
    linkageType: ''
    returnType: void
    signature: void winstore_win_advance(struct winstore_ctx_st *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:82,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:85,1
    - Dst: CertOpenSystemStoreW
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:90,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:92,1
    - Dst: winstore_win_reset
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: winstore_open
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - HAS_CASE_PREFIX
    - OPENSSL_zalloc
    - winstore_win_reset
    - OPENSSL_free
    - CertOpenSystemStoreW
    linkageType: ''
    returnType: void
    signature: void *winstore_open(void *provctx, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - provctx
    - cin
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: winstore_attach
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *winstore_attach(void *provctx, OSSL_CORE_BIO *cin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - loaderctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: winstore_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *winstore_settable_ctx_params(void *loaderctx, const OSSL_PARAM
      params[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: winstore_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:121,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:123,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:136,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:138,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:145,1
    - Dst: winstore_win_reset
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:149,1
    - Dst: winstore_win_advance
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - loaderctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 154
    functionName: winstore_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - winstore_set_ctx_params_decoder
    - winstore_win_reset
    - winstore_win_advance
    - OPENSSL_free
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_octet_string_ptr
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int winstore_set_ctx_params(void *loaderctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct load_data_st*::object_cb
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - decoder_inst
    - params
    - construct_data
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - OSSL_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: load_construct
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - struct load_data_st*::object_cb
    linkageType: ''
    returnType: int
    signature: "int load_construct(OSSL_DECODER_INSTANCE *decoder_inst,\n    const
      OSSL_PARAM *params, void *construct_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - construct_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: load_cleanup
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load_cleanup(void *construct_data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:175,1
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:184,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:189,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:195,1
    - Dst: ossl_decoder_from_algorithm
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:212,1
    - Dst: ossl_decoder_instance_new_forprov
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:214,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:217,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:224,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:225,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:226,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:230,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:233,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:239,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:244,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:249,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:256,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct winstore_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 259
    functionName: setup_decoder
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - OSSL_DECODER_CTX_set_cleanup
    - OSSL_DECODER_CTX_set_construct
    - ossl_decoder_ctx_add_decoder_inst
    - ossl_prov_ctx_get0_libctx
    - OSSL_DECODER_CTX_new
    - ossl_decoder_from_algorithm
    - OSSL_DECODER_CTX_set_input_structure
    - ERR_raise
    - OSSL_DECODER_INSTANCE_get_input_type
    - OSSL_DECODER_CTX_add_extra
    - OSSL_DECODER_CTX_set_input_type
    - ossl_decoder_instance_free
    - OPENSSL_strcasecmp
    - OSSL_DECODER_CTX_free
    - ossl_decoder_instance_new_forprov
    linkageType: ''
    returnType: int
    signature: int setup_decoder(struct winstore_ctx_st *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_decoder
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:270,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:278,1
    - Dst: OSSL_DECODER_CTX_set_passphrase_cb
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:279,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - ctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    - der
    - der_len
    argTypes:
    - struct winstore_ctx_st*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: winstore_load_using
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_set_passphrase_cb
    - setup_decoder
    - OSSL_DECODER_CTX_set_construct_data
    - OSSL_DECODER_from_data
    linkageType: ''
    returnType: int
    signature: "int winstore_load_using(struct winstore_ctx_st *ctx,\n    OSSL_CALLBACK
      *object_cb, void *object_cbarg,\n    OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg,\n
      \   const void *der, size_t der_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: winstore_load_using
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:297,1
    - Dst: winstore_win_advance
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    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: 305
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 305
    functionName: winstore_load
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - winstore_load_using
    - winstore_win_advance
    linkageType: ''
    returnType: int
    signature: "int winstore_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: 2
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: winstore_eof
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int winstore_eof(void *loaderctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: winstore_win_reset
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:318,1
    - Dst: CertCloseStore
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:319,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:321,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/winstore_store.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: winstore_close
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/winstore_store.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - winstore_win_reset
    - CertCloseStore
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int winstore_close(void *loaderctx)
  - 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/providers/implementations/storemgmt/file_store.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:110,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: free_file_ctx
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_file_ctx(struct file_ctx_st *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:124,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:125,1
    - Dst: free_file_ctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - type
    - uri
    - provctx
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: new_file_ctx
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - free_file_ctx
    linkageType: ''
    returnType: struct file_ctx_st
    signature: "struct file_ctx_st *new_file_ctx(int type, const char *uri,\n    void
      *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: OSSL_is_drive_letter
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_is_drive_letter(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: OSSL_is_abs_drive_prefix
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_is_abs_drive_prefix(p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:158,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:167,1
    - Dst: stat
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:168,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:169,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:172,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:176,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:177,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:187,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:188,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:189,1
    - Dst: OSSL_is_abs_drive_prefix
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:196,1
    - Dst: strchr
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:201,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:202,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:204,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:206,1
    - Dst: OSSL_is_abs_drive_prefix
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:212,1
    - Dst: stat
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:216,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:217,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:220,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - uri
    - st
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 223
    functionName: uri_file_stat
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - HAS_CASE_PREFIX
    - ERR_pop_to_mark
    - strchr
    - ERR_clear_last_mark
    - OSSL_is_abs_drive_prefix
    - ERR_raise_data
    - CHECK_AND_SKIP_CASE_PREFIX
    - strlen
    - ERR_set_mark
    - stat
    linkageType: ''
    returnType: char
    signature: char *uri_file_stat(const char *uri, struct stat *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_file_ctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:241,1
    - Dst: free_file_ctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - source
    - uri
    - provctx
    argTypes:
    - BIO*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: file_open_stream
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - free_file_ctx
    - new_file_ctx
    - ERR_raise
    linkageType: ''
    returnType: struct file_ctx_st
    signature: "struct file_ctx_st *file_open_stream(BIO *source, const char *uri,\n
      \   void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: new_file_ctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:258,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:262,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:266,1
    - Dst: file_close
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - path
    - uri
    - provctx
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: file_open_dir
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - file_close
    - ERR_raise_data
    - ERR_raise
    - new_file_ctx
    - OPENSSL_DIR_read
    linkageType: ''
    returnType: void
    signature: void *file_open_dir(const char *path, const char *uri, void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uri_file_stat
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:282,1
    - Dst: S_ISDIR
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:288,1
    - Dst: file_open_dir
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:289,1
    - Dst: BIO_new_file
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:290,1
    - Dst: file_open_stream
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:291,1
    - Dst: BIO_free_all
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 6
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: file_open
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - file_open_stream
    - BIO_free_all
    - S_ISDIR
    - BIO_new_file
    - file_open_dir
    - uri_file_stat
    linkageType: ''
    returnType: void
    signature: void *file_open(void *provctx, const char *uri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:300,1
    - Dst: file_open_stream
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:305,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - cin
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 6
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: file_attach
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - file_open_stream
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: void
    signature: void *file_attach(void *provctx, OSSL_CORE_BIO *cin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: file_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *file_settable_ctx_params(void *provctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: file_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:332,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:334,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:338,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:340,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:345,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:355,1
    - Dst: d2i_X509_NAME
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:357,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:360,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:364,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:368,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:369,1
    - Dst: BIO_snprintf
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:371,1
    - Dst: X509_NAME_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:374,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - loaderctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 321
    functionDepth: 11
    functionLinenumber: 321
    functionLinenumberEnd: 379
    functionName: file_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - X509_NAME_free
    - OPENSSL_free
    - X509_NAME_oneline
    - file_set_ctx_params_decoder
    - ERR_raise_data
    - ossl_prov_ctx_get0_libctx
    - X509_NAME_hash_ex
    - BIO_snprintf
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_octet_string_ptr
    - d2i_X509_NAME
    linkageType: ''
    returnType: int
    signature: int file_set_ctx_params(void *loaderctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct file_load_data_st*::object_cb
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - decoder_inst
    - params
    - construct_data
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - OSSL_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 413
    functionName: file_load_construct
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - struct file_load_data_st*::object_cb
    linkageType: ''
    returnType: int
    signature: "int file_load_construct(OSSL_DECODER_INSTANCE *decoder_inst,\n    const
      OSSL_PARAM *params, void *construct_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - construct_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: file_load_cleanup
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_load_cleanup(void *construct_data)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:422,1
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:430,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:435,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:437,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:450,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:452,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:469,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:475,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:477,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:485,1
    - Dst: ossl_decoder_from_algorithm
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:508,1
    - Dst: ossl_decoder_instance_new_forprov
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:510,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:512,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:520,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:522,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:523,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:524,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:525,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:534,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:535,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:539,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:541,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:542,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:547,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:549,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:557,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:561,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 89
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 569
    functionName: file_setup_decoders
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - OSSL_DECODER_CTX_set_cleanup
    - OSSL_DECODER_CTX_set_construct
    - ossl_decoder_ctx_add_decoder_inst
    - ossl_prov_ctx_get0_libctx
    - OSSL_DECODER_CTX_new
    - ossl_decoder_from_algorithm
    - OSSL_DECODER_CTX_set_input_structure
    - ERR_raise
    - OSSL_DECODER_INSTANCE_get_input_type
    - OSSL_DECODER_CTX_add_extra
    - OSSL_DECODER_CTX_set_input_type
    - ossl_decoder_instance_free
    - OPENSSL_strcasecmp
    - ossl_decoder_instance_new_forprov
    linkageType: ''
    returnType: int
    signature: int file_setup_decoders(struct file_ctx_st *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: file_setup_decoders
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:580,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:589,1
    - Dst: OSSL_DECODER_CTX_set_passphrase_cb
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:590,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:594,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:595,1
    - Dst: BIO_eof
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:596,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:597,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:598,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:599,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:600,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - struct file_ctx_st*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 571
    functionDepth: 5
    functionLinenumber: 571
    functionLinenumberEnd: 604
    functionName: file_load_file
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - ERR_peek_last_error
    - OSSL_DECODER_CTX_set_passphrase_cb
    - OSSL_DECODER_from_bio
    - ERR_GET_REASON
    - file_setup_decoders
    - OSSL_DECODER_CTX_set_construct_data
    - ERR_GET_LIB
    - ERR_set_mark
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: "int file_load_file(struct file_ctx_st *ctx,\n    OSSL_CALLBACK *object_cb,
      void *object_cbarg,\n    OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:615,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:617,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:618,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:618,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:619,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:621,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:625,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:626,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct file_ctx_st*
    - char*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/openssl/providers/implementations/storemgmt/file_store.c
    constantsTouched: []
    func_position:
      end: 630
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 630
    functionName: file_name_to_uri
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_ends_with_dirsep
    - OPENSSL_strlcat
    - assert
    - strlen
    linkageType: ''
    returnType: char
    signature: char *file_name_to_uri(struct file_ctx_st *ctx, const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:635,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:650,1
    - Dst: isdigit
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:672,1
    - Dst: isdigit
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:674,1
    - Dst: ossl_isdigit
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:683,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - struct file_ctx_st*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 692
    functionName: file_name_check
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strncasecmp
    - strlen
    - ossl_isdigit
    - isdigit
    linkageType: ''
    returnType: int
    signature: int file_name_check(struct file_ctx_st *ctx, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:701,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:702,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:713,1
    - Dst: file_name_check
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:721,1
    - Dst: file_name_to_uri
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:724,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:734,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:741,1
    - Dst: object_cb
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:742,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - struct file_ctx_st*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts:
    - condition: (ctx->_.dir.last_errno != 0)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/openssl/providers/implementations/storemgmt/file_store.c
    constantsTouched: []
    func_position:
      end: 745
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 745
    functionName: file_load_dir_entry
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_int
    - OPENSSL_free
    - ERR_raise
    - file_name_check
    - file_name_to_uri
    - assert
    - OPENSSL_DIR_read
    - strlen
    - object_cb
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: int
    signature: "int file_load_dir_entry(struct file_ctx_st *ctx,\n    OSSL_CALLBACK
      *object_cb, void *object_cbarg,\n    OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_load_file
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:760,1
    - Dst: file_load_dir_entry
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:762,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - loaderctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/openssl/providers/implementations/storemgmt/file_store.c
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 6
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: file_load
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - file_load_dir_entry
    - file_load_file
    - assert
    linkageType: ''
    returnType: int
    signature: "int file_load(void *loaderctx,\n    OSSL_CALLBACK *object_cb, void
      *object_cbarg,\n    OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pending
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:792,1
    - Dst: BIO_eof
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:793,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 796
        line_start: 796
        source_file: /src/openssl/providers/implementations/storemgmt/file_store.c
    constantsTouched: []
    func_position:
      end: 799
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 799
    functionName: file_eof
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - BIO_pending
    - assert
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: int file_eof(void *loaderctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:804,1
    - Dst: free_file_ctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 801
    functionDepth: 4
    functionLinenumber: 801
    functionLinenumberEnd: 807
    functionName: file_close_dir
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - OPENSSL_DIR_end
    - free_file_ctx
    linkageType: ''
    returnType: int
    signature: int file_close_dir(struct file_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:815,1
    - Dst: free_file_ctx
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct file_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 820
    functionName: file_close_stream
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - free_file_ctx
    linkageType: ''
    returnType: int
    signature: int file_close_stream(struct file_ctx_st *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: file_close_dir
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:828,1
    - Dst: file_close_stream
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:830,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/storemgmt/file_store.c:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 833
        line_start: 833
        source_file: /src/openssl/providers/implementations/storemgmt/file_store.c
    constantsTouched: []
    func_position:
      end: 836
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 836
    functionName: file_close
    functionSourceFile: /src/openssl/providers/implementations/storemgmt/file_store.c
    functionUses: 1
    functionsReached:
    - file_close_stream
    - assert
    - file_close_dir
    linkageType: ''
    returnType: int
    signature: int file_close(void *loaderctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:41,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:45,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:45,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:50,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:54,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:56,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 18
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: lms_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OPENSSL_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    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:69,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: lms_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OPENSSL_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:86,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:88,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:90,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - digestname
    argTypes:
    - PROV_LMS_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 10
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: setdigest
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    - EVP_MD_free
    - EVP_MD_fetch
    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:102,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:106,1
    - Dst: setdigest
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 11
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: lms_verify_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - setdigest
    - ERR_raise
    - ossl_prov_is_running
    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:127,1
    - Dst: ossl_lms_sig_verify
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:130,1
    - Dst: ossl_lms_sig_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:131,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: 133
      start: 114
    functionDepth: 10
    functionLinenumber: 114
    functionLinenumberEnd: 133
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:141,1
    - Dst: lms_verify_msg_init
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - mdname
    - vkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 12
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: lms_digest_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - lms_verify_msg_init
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int lms_digest_verify_init(void *vctx, const char *mdname, void *vkey,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lms_verify
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 11
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: lms_digest_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - lms_verify
    linkageType: ''
    returnType: int
    signature: "int lms_digest_verify(void *vctx, const uint8_t *sig, size_t siglen,\n
      \   const uint8_t *tbs, size_t tbslen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:167,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:171,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:171,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:176,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:180,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:185,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 18
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: ecdsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - OPENSSL_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecdsa_newctx(void *provctx, const char *propq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:304,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:309,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:314,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:316,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:322,1
    - Dst: set_ctx_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:323,1
    - Dst: ossl_fips_ind_ec_key_check
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:326,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:326,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - ec
    - set_ctx_params
    - params
    - operation
    - desc
    argTypes:
    - PROV_ECDSA_CTX*
    - void*
    - OSSL_FUNC_signature_set_ctx_params_fn*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 333
    functionName: ecdsa_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_fips_ind_ec_key_check
    - OSSL_FIPS_IND_SET_APPROVED
    - OSSL_FIPS_IND_GET
    - ERR_raise
    - EC_KEY_up_ref
    - EC_KEY_get0_group
    - EC_KEY_free
    - set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_signverify_init(PROV_ECDSA_CTX *ctx, void *ec,\n    OSSL_FUNC_signature_set_ctx_params_fn
      *set_ctx_params,\n    const OSSL_PARAM params[], int operation,\n    const char
      *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - ec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 5
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: ecdsa_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_signverify_init
    linkageType: ''
    returnType: int
    signature: int ecdsa_sign_init(void *vctx, void *ec, const OSSL_PARAM params[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:357,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:359,1
    - Dst: ECDSA_sign_setup
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:368,1
    - Dst: ossl_ecdsa_deterministic_sign
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:383,1
    - Dst: ECDSA_sign_ex
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 350
    functionDepth: 8
    functionLinenumber: 350
    functionLinenumberEnd: 396
    functionName: ecdsa_sign_directly
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ECDSA_sign_setup
    - ECDSA_sign_ex
    - ECDSA_size
    - ossl_ecdsa_deterministic_sign
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_sign_directly(void *vctx,\n    unsigned char *sig, size_t
      *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ecdsa_signverify_message_update
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: "int ecdsa_signverify_message_update(void *vctx,\n    const unsigned
      char *data,\n    size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:417,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:426,1
    - Dst: ecdsa_sign_directly
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 410
    functionDepth: 9
    functionLinenumber: 410
    functionLinenumberEnd: 429
    functionName: ecdsa_sign_message_final
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_sign_directly
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_sign_message_final(void *vctx, unsigned char *sig,\n    size_t
      *siglen, size_t sigsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:446,1
    - Dst: ecdsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:448,1
    - Dst: ecdsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:450,1
    - Dst: ecdsa_sign_directly
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 10
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: ecdsa_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_signverify_message_update
    - ecdsa_sign_message_final
    - ecdsa_sign_directly
    linkageType: ''
    returnType: int
    signature: "int ecdsa_sign(void *vctx, unsigned char *sig, size_t *siglen,\n    size_t
      sigsize, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - ec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 5
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: ecdsa_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_signverify_init
    linkageType: ''
    returnType: int
    signature: int ecdsa_verify_init(void *vctx, void *ec, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:472,1
    - Dst: ECDSA_verify
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 476
    functionName: ecdsa_verify_directly
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ECDSA_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_verify_directly(void *vctx,\n    const unsigned char *sig,
      size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:484,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:486,1
    - Dst: ecdsa_sigalg_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: ecdsa_verify_set_sig
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - ecdsa_sigalg_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int ecdsa_verify_set_sig(void *vctx,\n    const unsigned char *sig,
      size_t siglen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:496,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:503,1
    - Dst: ecdsa_verify_directly
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: ecdsa_verify_message_final
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - ecdsa_verify_directly
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ecdsa_verify_message_final(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_verify_set_sig
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:521,1
    - Dst: ecdsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:523,1
    - Dst: ecdsa_verify_message_final
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:525,1
    - Dst: ecdsa_verify_directly
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: ecdsa_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_signverify_message_update
    - ecdsa_verify_message_final
    - ecdsa_verify_set_sig
    - ecdsa_verify_directly
    linkageType: ''
    returnType: int
    signature: "int ecdsa_verify(void *vctx,\n    const unsigned char *sig, size_t
      siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:538,1
    - Dst: ecdsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:544,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:550,1
    - Dst: ecdsa_setup_md
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:551,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:557,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:562,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - vctx
    - mdname
    - ec
    - params
    - operation
    - desc
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 532
    functionDepth: 8
    functionLinenumber: 532
    functionLinenumberEnd: 569
    functionName: ecdsa_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex2
    - ecdsa_signverify_init
    - OPENSSL_strcasecmp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ecdsa_setup_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_digest_signverify_init(void *vctx, const char *mdname,\n
      \   void *ec, const OSSL_PARAM params[],\n    int operation, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_digest_signverify_init
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - mdname
    - ec
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 9
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: ecdsa_digest_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: "int ecdsa_digest_sign_init(void *vctx, const char *mdname, void *ec,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - vctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 4
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: ecdsa_digest_signverify_update
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_signverify_message_update
    linkageType: ''
    returnType: int
    signature: "int ecdsa_digest_signverify_update(void *vctx, const unsigned char
      *data,\n    size_t datalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 10
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: ecdsa_digest_sign_final
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_sign_message_final
    linkageType: ''
    returnType: int
    signature: "int ecdsa_digest_sign_final(void *vctx, unsigned char *sig, size_t
      *siglen,\n    size_t sigsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_digest_signverify_init
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - mdname
    - ec
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 9
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: ecdsa_digest_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: "int ecdsa_digest_verify_init(void *vctx, const char *mdname, void
      *ec,\n    const OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:626,1
    - Dst: ecdsa_verify_set_sig
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:633,1
    - Dst: ecdsa_verify_message_final
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - vctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 639
    functionName: ecdsa_digest_verify_final
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_verify_message_final
    - ecdsa_verify_set_sig
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_digest_verify_final(void *vctx, const unsigned char *sig,\n
      \   size_t siglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:645,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:648,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:649,1
    - Dst: BN_clear_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:650,1
    - Dst: BN_clear_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:651,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 641
    functionDepth: 8
    functionLinenumber: 641
    functionLinenumberEnd: 653
    functionName: ecdsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    - EC_KEY_free
    - BN_clear_free
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ecdsa_freectx(void *vctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:661,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:664,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:673,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:677,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:682,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:683,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:686,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:689,1
    - Dst: ecdsa_freectx
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:694,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 655
    functionDepth: 9
    functionLinenumber: 655
    functionLinenumberEnd: 696
    functionName: ecdsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - EC_KEY_up_ref
    - EVP_MD_CTX_copy_ex
    - ecdsa_freectx
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ecdsa_dupctx(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:703,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:707,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:712,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:716,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:716,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:719,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:723,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:727,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 730
    functionName: ecdsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_utf8_string
    - EVP_MD_get0_name
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_size_t
    - ecdsa_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int ecdsa_get_ctx_params(void *vctx, 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: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: ecdsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecdsa_gettable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:746,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:749,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:754,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - PROV_ECDSA_CTX*
    - struct ecdsa_all_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 5
    functionLinenumber: 743
    functionLinenumberEnd: 761
    functionName: ecdsa_common_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: "int ecdsa_common_set_ctx_params(PROV_ECDSA_CTX *ctx,\n    const struct
      ecdsa_all_set_ctx_params_st *p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:770,1
    - Dst: ecdsa_common_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:773,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:780,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:783,1
    - Dst: ecdsa_setup_md
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:785,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:790,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 763
    functionDepth: 6
    functionLinenumber: 763
    functionLinenumberEnd: 796
    functionName: ecdsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - ecdsa_set_ctx_params_decoder
    - OSSL_PARAM_get_utf8_string
    - ecdsa_common_set_ctx_params
    - OSSL_PARAM_get_size_t
    - ecdsa_setup_md
    linkageType: ''
    returnType: int
    signature: int ecdsa_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:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: ecdsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecdsa_settable_ctx_params(void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 812
    functionName: ecdsa_get_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int ecdsa_get_ctx_md_params(void *vctx, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 822
    functionName: ecdsa_gettable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ecdsa_gettable_ctx_md_params(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 832
    functionName: ecdsa_set_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int ecdsa_set_ctx_md_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 842
    functionName: ecdsa_settable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ecdsa_settable_ctx_md_params(void *vctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:904,1
    - Dst: ecdsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:907,1
    - Dst: ecdsa_setup_md
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:911,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:918,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:923,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - vctx
    - vec
    - set_ctx_params
    - params
    - mdname
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_FUNC_signature_set_ctx_params_fn*
    - OSSL_PARAM[]
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 896
    functionDepth: 8
    functionLinenumber: 896
    functionLinenumberEnd: 932
    functionName: ecdsa_sigalg_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex2
    - ecdsa_signverify_init
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ecdsa_setup_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ecdsa_sigalg_signverify_init(void *vctx, void *vec,\n    OSSL_FUNC_signature_set_ctx_params_fn
      *set_ctx_params,\n    const OSSL_PARAM params[],\n    const char *mdname,\n
      \   int operation, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 939
    functionName: ecdsa_sigalg_query_key_types
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **ecdsa_sigalg_query_key_types(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 949
    functionName: ecdsa_sigalg_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ecdsa_sigalg_settable_ctx_params(void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_sigalg_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:957,1
    - Dst: ecdsa_common_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:960,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:965,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:968,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ecdsa_sig.c:973,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 951
    functionDepth: 6
    functionLinenumber: 951
    functionLinenumberEnd: 980
    functionName: ecdsa_sigalg_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    - ecdsa_sigalg_set_ctx_params_decoder
    - ecdsa_common_set_ctx_params
    linkageType: ''
    returnType: int
    signature: int ecdsa_sigalg_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - md
    - ','
    - MD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1077
    functionName: IMPL_ECDSA_SIGALG
    functionSourceFile: /src/openssl/providers/implementations/signature/ecdsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_ECDSA_SIGALG(md, MD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - edtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: S390X_CAN_SIGN
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_CAN_SIGN(edtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:176,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: eddsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *eddsa_newctx(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:187,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:191,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:191,1
    - Dst: eddsa_newctx
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - propq_unused
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 18
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: ed448_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - eddsa_newctx
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ed448_newctx(void *provctx, const char *propq_unused)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:201,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:205,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:205,1
    - Dst: eddsa_newctx
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - propq_unused
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 18
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: ed25519_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - eddsa_newctx
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ed25519_newctx(void *provctx, const char *propq_unused)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - vpeddsactx
    - instance_id
    - instance_id_preset
    - prehash_by_caller
    argTypes:
    - void*
    - int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 263
    functionName: eddsa_setup_instance
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eddsa_setup_instance(void *vpeddsactx, int instance_id,\n    unsigned
      int instance_id_preset,\n    unsigned int prehash_by_caller)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:277,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:282,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:302,1
    - Dst: ossl_DER_w_algorithmIdentifier_ED25519
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:305,1
    - Dst: ossl_DER_w_algorithmIdentifier_ED448
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:312,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:313,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:315,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:318,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:319,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:320,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:322,1
    - Dst: memmove
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - vpeddsactx
    - vedkey
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 327
    functionName: eddsa_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_algorithmIdentifier_ED448
    - ossl_DER_w_algorithmIdentifier_ED25519
    - ossl_ecx_key_free
    - WPACKET_get_total_written
    - WPACKET_get_curr
    - WPACKET_cleanup
    - ossl_ecx_key_up_ref
    - ERR_raise
    - memmove
    - WPACKET_finish
    - WPACKET_init_der
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int eddsa_signverify_init(void *vpeddsactx, void *vedkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:332,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:333,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: ed25519_signverify_message_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed25519_signverify_message_init(void *vpeddsactx, void *vedkey,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:340,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:341,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: ed25519ph_signverify_message_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed25519ph_signverify_message_init(void *vpeddsactx, void *vedkey,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:348,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:349,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: ed25519ph_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed25519ph_signverify_init(void *vpeddsactx, void *vedkey,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:362,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:363,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: ed25519_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed25519_signverify_init(void *vpeddsactx, void *vedkey,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:370,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:371,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: ed25519ctx_signverify_message_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed25519ctx_signverify_message_init(void *vpeddsactx, void *vedkey,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:378,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:379,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 5
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: ed448_signverify_message_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed448_signverify_message_init(void *vpeddsactx, void *vedkey,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:386,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:387,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: ed448ph_signverify_message_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed448ph_signverify_message_init(void *vpeddsactx, void *vedkey,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:394,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:395,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: ed448ph_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed448ph_signverify_init(void *vpeddsactx, void *vedkey,\n    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:408,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:409,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - vpeddsactx
    - vedkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 5
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: ed448_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_set_ctx_params
    - eddsa_setup_instance
    linkageType: ''
    returnType: int
    signature: "int ed448_signverify_init(void *vpeddsactx, void *vedkey,\n    const
      OSSL_PARAM params[])"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:426,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:438,1
    - Dst: S390X_CAN_SIGN
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:447,1
    - Dst: s390x_ed25519_digestsign
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:454,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:473,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:478,1
    - Dst: ossl_ed25519_sign
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 6
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 417
    functionDepth: 11
    functionLinenumber: 417
    functionLinenumberEnd: 493
    functionName: ed25519_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 2
    functionsReached:
    - s390x_ed25519_digestsign
    - ERR_raise
    - ossl_ed25519_sign
    - ossl_prov_is_running
    - S390X_CAN_SIGN
    - EVP_Q_digest
    linkageType: ''
    returnType: int
    signature: "int ed25519_sign(void *vpeddsactx,\n    unsigned char *sigret, size_t
      *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:503,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:504,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:509,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:510,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:511,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:517,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - libctx
    - propq
    - in
    - inlen
    - out
    - outlen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 497
    functionDepth: 10
    functionLinenumber: 497
    functionLinenumberEnd: 520
    functionName: ed448_shake256
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - EVP_DigestUpdate
    - EVP_MD_free
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int ed448_shake256(OSSL_LIB_CTX *libctx,\n    const char *propq,\n
      \   const uint8_t *in, size_t inlen,\n    uint8_t *out, size_t outlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:535,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:547,1
    - Dst: S390X_CAN_SIGN
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:556,1
    - Dst: s390x_ed448_digestsign
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:561,1
    - Dst: ed448_shake256
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:576,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:581,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:586,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:591,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 6
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 526
    functionDepth: 13
    functionLinenumber: 526
    functionLinenumberEnd: 596
    functionName: ed448_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 5
    functionsReached:
    - ed448_shake256
    - s390x_ed448_digestsign
    - ERR_raise
    - ossl_ed448_sign
    - S390X_CAN_SIGN
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ed448_sign(void *vpeddsactx,\n    unsigned char *sigret, size_t
      *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:611,1
    - Dst: S390X_CAN_SIGN
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:620,1
    - Dst: s390x_ed25519_digestverify
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:626,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:631,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:634,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:645,1
    - Dst: ossl_ed25519_verify
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 5
    argNames:
    - vpeddsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 602
    functionDepth: 11
    functionLinenumber: 602
    functionLinenumberEnd: 654
    functionName: ed25519_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 2
    functionsReached:
    - ossl_ed25519_verify
    - ERR_raise
    - ossl_prov_is_running
    - s390x_ed25519_digestverify
    - S390X_CAN_SIGN
    - EVP_Q_digest
    linkageType: ''
    returnType: int
    signature: "int ed25519_verify(void *vpeddsactx,\n    const unsigned char *sig,
      size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:669,1
    - Dst: S390X_CAN_SIGN
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:678,1
    - Dst: s390x_ed448_digestverify
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:682,1
    - Dst: ed448_shake256
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:687,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:692,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:697,1
    - Dst: ossl_ed448_verify
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - vpeddsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 660
    functionDepth: 11
    functionLinenumber: 660
    functionLinenumberEnd: 705
    functionName: ed448_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 4
    functionsReached:
    - ed448_shake256
    - s390x_ed448_digestverify
    - ossl_ed448_verify
    - ERR_raise
    - S390X_CAN_SIGN
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ed448_verify(void *vpeddsactx,\n    const unsigned char *sig,
      size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:716,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:722,1
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:724,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:725,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - vpeddsactx
    - mdname
    - vedkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 5
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: ed25519_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_setup_instance
    - eddsa_set_ctx_params
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int ed25519_digest_signverify_init(void *vpeddsactx, const char *mdname,\n
      \   void *vedkey,\n    const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_sign
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: ed25519_digest_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - ed25519_sign
    linkageType: ''
    returnType: int
    signature: "int ed25519_digest_sign(void *vpeddsactx,\n    unsigned char *sigret,
      size_t *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ed25519_verify
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 741
    functionName: ed25519_digest_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - ed25519_verify
    linkageType: ''
    returnType: int
    signature: "int ed25519_digest_verify(void *vpeddsactx,\n    const unsigned char
      *sigret, size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:750,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:756,1
    - Dst: eddsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:758,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:759,1
    - Dst: eddsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - vpeddsactx
    - mdname
    - vedkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 743
    functionDepth: 5
    functionLinenumber: 743
    functionLinenumberEnd: 761
    functionName: ed448_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_signverify_init
    - eddsa_setup_instance
    - eddsa_set_ctx_params
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int ed448_digest_signverify_init(void *vpeddsactx, const char *mdname,\n
      \   void *vedkey,\n    const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ed448_sign
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 14
    functionLinenumber: 763
    functionLinenumberEnd: 768
    functionName: ed448_digest_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - ed448_sign
    linkageType: ''
    returnType: int
    signature: "int ed448_digest_sign(void *vpeddsactx,\n    unsigned char *sigret,
      size_t *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ed448_verify
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vpeddsactx
    - sigret
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 12
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: ed448_digest_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - ed448_verify
    linkageType: ''
    returnType: int
    signature: "int ed448_digest_verify(void *vpeddsactx,\n    const unsigned char
      *sigret, size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:781,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vpeddsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: eddsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void eddsa_freectx(void *vpeddsactx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:791,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:794,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:801,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:802,1
    - Dst: eddsa_freectx
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - vpeddsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 811
    functionName: eddsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_ecx_key_up_ref
    - ERR_raise
    - ossl_prov_is_running
    - eddsa_freectx
    linkageType: ''
    returnType: void
    signature: void *eddsa_dupctx(void *vpeddsactx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: ed25519_sigalg_query_key_types
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **ed25519_sigalg_query_key_types(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: ed448_sigalg_query_key_types
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **ed448_sigalg_query_key_types(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:832,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vpeddsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 842
    functionName: eddsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_get_ctx_params_decoder
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int eddsa_get_ctx_params(void *vpeddsactx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpeddsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: eddsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *eddsa_gettable_ctx_params(ossl_unused void *vpeddsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:858,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:864,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:874,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:875,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:878,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:879,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:882,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:883,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:885,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:886,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:888,1
    - Dst: eddsa_setup_instance
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:889,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:893,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:904,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - peddsactx
    - p
    argTypes:
    - PROV_EDDSA_CTX*
    - struct eddsa_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 913
    functionName: eddsa_set_ctx_params_internal
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - ERR_raise_data
    - OSSL_PARAM_get_utf8_string
    - eddsa_setup_instance
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int eddsa_set_ctx_params_internal(PROV_EDDSA_CTX *peddsactx, const
      struct eddsa_set_ctx_params_st *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpeddsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 919
    functionName: eddsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *eddsa_settable_ctx_params(ossl_unused void *vpeddsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:926,1
    - Dst: eddsa_set_ctx_params_internal
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vpeddsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 921
    functionDepth: 4
    functionLinenumber: 921
    functionLinenumberEnd: 929
    functionName: eddsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 11
    functionsReached:
    - eddsa_set_ctx_params_internal
    - eddsa_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int eddsa_set_ctx_params(void *vpeddsactx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpeddsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 936
    functionName: eddsa_settable_variant_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *\neddsa_settable_variant_ctx_params(ossl_unused void *vpeddsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eddsa_set_variant_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:944,1
    - Dst: eddsa_set_ctx_params_internal
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vpeddsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 938
    functionDepth: 4
    functionLinenumber: 938
    functionLinenumberEnd: 947
    functionName: eddsa_set_variant_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached:
    - eddsa_set_ctx_params_internal
    - eddsa_set_variant_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: "int eddsa_set_variant_ctx_params(void *vpeddsactx,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1016
    functionName: eddsa_variant_DISPATCH_END
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eddsa_variant_DISPATCH_END(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vn
    - ','
    - bn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: IMPL_EDDSA_DISPATCH
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_EDDSA_DISPATCH(vn, bn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1095,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1096,1
    - Dst: s390x_kdsa
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1098,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1099,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1103,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1106
    functionName: s390x_ed25519_digestsign
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 1
    functionsReached:
    - s390x_kdsa
    - OPENSSL_cleanse
    - s390x_flip_endian32
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int s390x_ed25519_digestsign(const ECX_KEY *edkey, unsigned char *sig,\n
      \   const unsigned char *tbs, size_t tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1120,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1121,1
    - Dst: s390x_kdsa
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1123,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1124,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1128,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1129,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1130,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1133
    functionName: s390x_ed448_digestsign
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 1
    functionsReached:
    - s390x_flip_endian64
    - s390x_kdsa
    - OPENSSL_cleanse
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int s390x_ed448_digestsign(const ECX_KEY *edkey, unsigned char *sig,\n
      \   const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1147,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1148,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1149,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1150,1
    - Dst: s390x_kdsa
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1157
    functionName: s390x_ed25519_digestverify
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 1
    functionsReached:
    - s390x_flip_endian32
    - memset
    - s390x_kdsa
    linkageType: ''
    returnType: int
    signature: "int s390x_ed25519_digestverify(const ECX_KEY *edkey,\n    const unsigned
      char *sig,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1172,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1173,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1174,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1175,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1176,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1177,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1178,1
    - Dst: s390x_kdsa
      Src: /src/openssl/providers/implementations/signature/eddsa_sig.c:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - edkey
    - sig
    - tbs
    - tbslen
    argTypes:
    - ECX_KEY*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1185
    functionName: s390x_ed448_digestverify
    functionSourceFile: /src/openssl/providers/implementations/signature/eddsa_sig.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memset
    - s390x_flip_endian64
    - s390x_kdsa
    linkageType: ''
    returnType: int
    signature: "int s390x_ed448_digestverify(const ECX_KEY *edkey,\n    const unsigned
      char *sig,\n    const unsigned char *tbs,\n    size_t tbslen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:97,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:104,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:111,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:112,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:113,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - psm2ctx
    - mdname
    argTypes:
    - PROV_SM2_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 10
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: sm2sig_set_mdname
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - EVP_MD_is_a
    - ERR_raise
    - EVP_MD_fetch
    - EVP_MD_xof
    - strlen
    - OPENSSL_strlcpy
    linkageType: ''
    returnType: int
    signature: int sm2sig_set_mdname(PROV_SM2_CTX *psm2ctx, const char *mdname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:124,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:129,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:131,1
    - Dst: strcpy
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: sm2sig_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    - strcpy
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void *sm2sig_newctx(void *provctx, const char *propq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:149,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:154,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:156,1
    - Dst: sm2sig_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - vpsm2ctx
    - ec
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: sm2sig_signature_init
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - sm2sig_set_ctx_params
    - ERR_raise
    - EC_KEY_up_ref
    - EC_KEY_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int sm2sig_signature_init(void *vpsm2ctx, void *ec,\n    const OSSL_PARAM
      params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:170,1
    - Dst: ossl_sm2_internal_sign
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 8
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: sm2sig_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - ossl_sm2_internal_sign
    - ECDSA_size
    linkageType: ''
    returnType: int
    signature: "int sm2sig_sign(void *vpsm2ctx, unsigned char *sig, size_t *siglen,\n
      \   size_t sigsize, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm2_internal_verify
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: sm2sig_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - ossl_sm2_internal_verify
    linkageType: ''
    returnType: int
    signature: "int sm2sig_verify(void *vpsm2ctx, const unsigned char *sig, size_t
      siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:204,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_SM2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 8
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: free_md
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void free_md(PROV_SM2_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_signature_init
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:225,1
    - Dst: sm2sig_set_mdname
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:226,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:230,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:235,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:245,1
    - Dst: ossl_DER_w_algorithmIdentifier_SM2_with_MD
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:246,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:247,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:248,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:249,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:251,1
    - Dst: memmove
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:253,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - vpsm2ctx
    - mdname
    - ec
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 210
    functionDepth: 11
    functionLinenumber: 210
    functionLinenumberEnd: 262
    functionName: sm2sig_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - sm2sig_signature_init
    - WPACKET_get_total_written
    - WPACKET_get_curr
    - WPACKET_cleanup
    - EVP_MD_get_type
    - ossl_DER_w_algorithmIdentifier_SM2_with_MD
    - memmove
    - WPACKET_finish
    - sm2sig_set_mdname
    - EVP_DigestInit_ex2
    - WPACKET_init_der
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: int
    signature: "int sm2sig_digest_signverify_init(void *vpsm2ctx, const char *mdname,\n
      \   void *ec, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:273,1
    - Dst: ossl_sm2_compute_z_digest
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:275,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:277,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_SM2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: sm2sig_compute_z_digest
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_DigestUpdate
    - ossl_sm2_compute_z_digest
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int sm2sig_compute_z_digest(PROV_SM2_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_compute_z_digest
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:293,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - vpsm2ctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: sm2sig_digest_signverify_update
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - sm2sig_compute_z_digest
    linkageType: ''
    returnType: int
    signature: "int sm2sig_digest_signverify_update(void *vpsm2ctx, const unsigned
      char *data,\n    size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_compute_z_digest
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:312,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:313,1
    - Dst: sm2sig_sign
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 9
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: sm2sig_digest_sign_final
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - sm2sig_compute_z_digest
    - sm2sig_sign
    linkageType: ''
    returnType: int
    signature: "int sm2sig_digest_sign_final(void *vpsm2ctx, unsigned char *sig, size_t
      *siglen,\n    size_t sigsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:331,1
    - Dst: sm2sig_compute_z_digest
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:335,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:336,1
    - Dst: sm2sig_verify
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - vpsm2ctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 340
    functionName: sm2sig_digest_verify_final
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - sm2sig_verify
    - sm2sig_compute_z_digest
    - EVP_MD_get_size
    linkageType: ''
    returnType: int
    signature: "int sm2sig_digest_verify_final(void *vpsm2ctx, const unsigned char
      *sig,\n    size_t siglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_md
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:346,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:347,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:349,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 9
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: sm2sig_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - free_md
    - EC_KEY_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sm2sig_freectx(void *vpsm2ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:358,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:369,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:374,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:379,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:384,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:386,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:391,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:395,1
    - Dst: sm2sig_freectx
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:400,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 353
    functionDepth: 10
    functionLinenumber: 353
    functionLinenumberEnd: 402
    functionName: sm2sig_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - EC_KEY_up_ref
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - memcpy
    - EVP_MD_up_ref
    - sm2sig_freectx
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *sm2sig_dupctx(void *vpsm2ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:409,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:413,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:418,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:422,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 6
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: sm2sig_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - sm2sig_get_ctx_params_decoder
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_utf8_string
    - EVP_MD_get0_name
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int sm2sig_get_ctx_params(void *vpsm2ctx, 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: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: sm2sig_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sm2sig_gettable_ctx_params(ossl_unused void *vpsm2ctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sm2sig_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:456,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:472,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:479,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:482,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:484,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:494,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:500,1
    - Dst: sm2sig_set_mdname
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:502,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:503,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:506,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 434
    functionDepth: 11
    functionLinenumber: 434
    functionLinenumberEnd: 510
    functionName: sm2sig_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 1
    functionsReached:
    - sm2sig_set_ctx_params_decoder
    - OPENSSL_memdup
    - OPENSSL_free
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_get_size_t
    - sm2sig_set_mdname
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: int sm2sig_set_ctx_params(void *vpsm2ctx, 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: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: sm2sig_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sm2sig_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/providers/implementations/signature/sm2_sig.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: sm2sig_get_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int sm2sig_get_ctx_md_params(void *vpsm2ctx, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: sm2sig_gettable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *sm2sig_gettable_ctx_md_params(void *vpsm2ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 546
    functionName: sm2sig_set_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int sm2sig_set_ctx_md_params(void *vpsm2ctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/providers/implementations/signature/sm2_sig.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: sm2sig_settable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/sm2_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *sm2sig_settable_ctx_md_params(void *vpsm2ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:79,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 8
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: ml_dsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_MD_CTX_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ml_dsa_freectx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:89,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:93,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:93,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:98,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - provctx
    - evp_type
    - propq
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 18
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: ml_dsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ml_dsa_newctx(void *provctx, int evp_type, const char *propq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:113,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:120,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:132,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:138,1
    - Dst: ml_dsa_freectx
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 108
    functionDepth: 9
    functionLinenumber: 108
    functionLinenumberEnd: 146
    functionName: ml_dsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ml_dsa_freectx
    - OPENSSL_free
    - EVP_MD_CTX_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ml_dsa_dupctx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:162,1
    - Dst: ossl_DER_w_algorithmIdentifier_ML_DSA
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:163,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:164,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:165,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:166,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:168,1
    - Dst: memmove
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_ML_DSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: set_alg_id_buffer
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - ossl_DER_w_algorithmIdentifier_ML_DSA
    - memmove
    - WPACKET_finish
    - WPACKET_init_der
    linkageType: ''
    returnType: int
    signature: int set_alg_id_buffer(PROV_ML_DSA_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:186,1
    - Dst: ossl_ml_dsa_key_matches
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:192,1
    - Dst: set_alg_id_buffer
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:195,1
    - Dst: ml_dsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - vctx
    - vkey
    - params
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: ml_dsa_signverify_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_ml_dsa_key_matches
    - ml_dsa_set_ctx_params
    - set_alg_id_buffer
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_signverify_msg_init(void *vctx, void *vkey,\n    const
      OSSL_PARAM params[], int operation,\n    const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_signverify_msg_init
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ml_dsa_sign_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ml_dsa_signverify_msg_init
    linkageType: ''
    returnType: int
    signature: int ml_dsa_sign_msg_init(void *vctx, void *vkey, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:214,1
    - Dst: ml_dsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:222,1
    - Dst: ml_dsa_signverify_msg_init
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - vctx
    - mdname
    - vkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 6
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: ml_dsa_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ml_dsa_signverify_msg_init
    - ml_dsa_set_ctx_params
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_digest_signverify_init(void *vctx, const char *mdname,\n
      \   void *vkey, const OSSL_PARAM params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:237,1
    - Dst: ossl_ml_dsa_mu_init
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:244,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - vctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: ml_dsa_signverify_msg_update
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_mu_init
    - ossl_ml_dsa_mu_update
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_signverify_msg_update(void *vctx,\n    const unsigned char
      *data,\n    size_t datalen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:265,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:278,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:279,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:283,1
    - Dst: ossl_ml_dsa_sign
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:287,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 254
    functionDepth: 7
    functionLinenumber: 254
    functionLinenumberEnd: 292
    functionName: ml_dsa_sign_msg_final
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_sign
    - ossl_ml_dsa_mu_finalize
    - RAND_priv_bytes_ex
    - memset
    - OPENSSL_cleanse
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_sign_msg_final(void *vctx, unsigned char *sig,\n    size_t
      *siglen, size_t sigsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:301,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:311,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:312,1
    - Dst: ossl_ml_dsa_sign
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:316,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - msg
    - msg_len
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 294
    functionDepth: 7
    functionLinenumber: 294
    functionLinenumberEnd: 323
    functionName: ml_dsa_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 4
    functionsReached:
    - ossl_ml_dsa_sign
    - RAND_priv_bytes_ex
    - memset
    - OPENSSL_cleanse
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_sign(void *vctx, uint8_t *sig, size_t *siglen, size_t sigsize,\n
      \   const uint8_t *msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_sign
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 8
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: ml_dsa_digest_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ml_dsa_sign
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_digest_sign(void *vctx, uint8_t *sig, size_t *siglen, size_t
      sigsize,\n    const uint8_t *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_signverify_msg_init
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 6
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: ml_dsa_verify_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ml_dsa_signverify_msg_init
    linkageType: ''
    returnType: int
    signature: int ml_dsa_verify_msg_init(void *vctx, void *vkey, const OSSL_PARAM
      params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:342,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:348,1
    - Dst: ossl_ml_dsa_verify
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 337
    functionDepth: 7
    functionLinenumber: 337
    functionLinenumberEnd: 353
    functionName: ml_dsa_verify_msg_final
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_mu_finalize
    - ossl_ml_dsa_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int ml_dsa_verify_msg_final(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:360,1
    - Dst: ossl_ml_dsa_verify
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - msg
    - msg_len
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 7
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: ml_dsa_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 4
    functionsReached:
    - ossl_ml_dsa_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_verify(void *vctx, const uint8_t *sig, size_t siglen,\n
      \   const uint8_t *msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_verify
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 8
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: ml_dsa_digest_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ml_dsa_verify
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_digest_verify(void *vctx,\n    const uint8_t *sig, size_t
      siglen,\n    const uint8_t *tbs, size_t tbslen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_verifymsg_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:383,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:389,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:405,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:410,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:413,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:416,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:420,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:423,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 429
    functionName: ml_dsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_get_int
    - OPENSSL_free
    - ERR_raise
    - ml_dsa_verifymsg_set_ctx_params_decoder
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: int ml_dsa_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: ml_dsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ml_dsa_settable_ctx_params(void *vctx,\n    ossl_unused
      void *provctx)"
  - 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: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: ml_dsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ml_dsa_gettable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:453,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/ml_dsa_sig.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 463
    functionName: ml_dsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ml_dsa_get_ctx_params_decoder
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int ml_dsa_get_ctx_params(void *vctx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 507
    functionName: MAKE_SIGNATURE_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/signature/ml_dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_SIGNATURE_FUNCTIONS(alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pdsactx
    argTypes:
    - PROV_DSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: dsa_get_md_size
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: size_t
    signature: size_t dsa_get_md_size(const PROV_DSA_CTX *pdsactx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:133,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:137,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:137,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:142,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:146,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:148,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 18
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: dsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - OPENSSL_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dsa_newctx(void *provctx, const char *propq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:168,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:171,1
    - Dst: ossl_digest_get_approved_nid
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:172,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:175,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:180,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:185,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:191,1
    - Dst: ossl_fips_ind_digest_sign_check
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:201,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:201,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:212,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:213,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:217,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:221,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:222,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:232,1
    - Dst: ossl_DER_w_algorithmIdentifier_DSA_with_MD
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:233,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:235,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:236,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:237,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:239,1
    - Dst: memmove
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:241,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:245,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:250,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - ctx
    - mdname
    - mdprops
    - desc
    argTypes:
    - PROV_DSA_CTX*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 156
    functionDepth: 10
    functionLinenumber: 156
    functionLinenumberEnd: 252
    functionName: dsa_setup_md
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 3
    functionsReached:
    - WPACKET_cleanup
    - WPACKET_get_total_written
    - ERR_raise_data
    - ERR_raise
    - ossl_digest_get_approved_nid
    - WPACKET_finish
    - EVP_MD_CTX_free
    - ossl_fips_ind_digest_sign_check
    - WPACKET_get_curr
    - EVP_MD_is_a
    - ossl_DER_w_algorithmIdentifier_DSA_with_MD
    - EVP_MD_fetch
    - EVP_MD_xof
    - EVP_MD_free
    - OPENSSL_strlcpy
    - OSSL_FIPS_IND_GET
    - memmove
    - WPACKET_init_der
    - strlen
    linkageType: ''
    returnType: int
    signature: "int dsa_setup_md(PROV_DSA_CTX *ctx,\n    const char *mdname, const
      char *mdprops,\n    const char *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - signing
    - desc
    argTypes:
    - PROV_DSA_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: dsa_sign_check_approved
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: "int dsa_sign_check_approved(PROV_DSA_CTX *ctx, int signing,\n    const
      char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_check_key
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:270,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - sign
    - desc
    argTypes:
    - PROV_DSA_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: dsa_check_key
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 1
    functionsReached:
    - ossl_dsa_check_key
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int dsa_check_key(PROV_DSA_CTX *ctx, int sign, const char *desc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:292,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:297,1
    - Dst: DSA_up_ref
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:302,1
    - Dst: DSA_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:304,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:310,1
    - Dst: set_ctx_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:311,1
    - Dst: dsa_sign_check_approved
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:318,1
    - Dst: dsa_check_key
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - vpdsactx
    - vdsa
    - set_ctx_params
    - params
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_FUNC_signature_set_ctx_params_fn*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 325
    functionName: dsa_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 15
    functionsReached:
    - dsa_sign_check_approved
    - dsa_check_key
    - OSSL_FIPS_IND_SET_APPROVED
    - ERR_raise
    - DSA_free
    - DSA_up_ref
    - set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int dsa_signverify_init(void *vpdsactx, void *vdsa,\n    OSSL_FUNC_signature_set_ctx_params_fn
      *set_ctx_params,\n    const OSSL_PARAM params[], int operation,\n    const char
      *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpdsactx
    - vdsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: dsa_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_signverify_init
    linkageType: ''
    returnType: int
    signature: int dsa_sign_init(void *vpdsactx, void *vdsa, const OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DSA_size
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:345,1
    - Dst: dsa_get_md_size
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:346,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:348,1
    - Dst: dsa_sign_check_approved
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:352,1
    - Dst: ossl_dsa_sign_int
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - vpdsactx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 338
    functionDepth: 11
    functionLinenumber: 338
    functionLinenumberEnd: 375
    functionName: dsa_sign_directly
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - DSA_size
    - dsa_get_md_size
    - ossl_dsa_sign_int
    - ossl_prov_is_running
    - dsa_sign_check_approved
    linkageType: ''
    returnType: int
    signature: "int dsa_sign_directly(void *vpdsactx,\n    unsigned char *sig, size_t
      *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vpdsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: dsa_signverify_message_update
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 3
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: "int dsa_signverify_message_update(void *vpdsactx,\n    const unsigned
      char *data,\n    size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:396,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:409,1
    - Dst: dsa_sign_directly
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - vpdsactx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 12
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: dsa_sign_message_final
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - dsa_sign_directly
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int dsa_sign_message_final(void *vpdsactx, unsigned char *sig,\n    size_t
      *siglen, size_t sigsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:431,1
    - Dst: dsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:433,1
    - Dst: dsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:435,1
    - Dst: dsa_sign_directly
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - vpdsactx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 420
    functionDepth: 13
    functionLinenumber: 420
    functionLinenumberEnd: 438
    functionName: dsa_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 7
    functionsReached:
    - dsa_sign_message_final
    - dsa_signverify_message_update
    - dsa_sign_directly
    linkageType: ''
    returnType: int
    signature: "int dsa_sign(void *vpdsactx, unsigned char *sig, size_t *siglen,\n
      \   size_t sigsize, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpdsactx
    - vdsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: dsa_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_signverify_init
    linkageType: ''
    returnType: int
    signature: "int dsa_verify_init(void *vpdsactx, void *vdsa,\n    const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_get_md_size
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:452,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:454,1
    - Dst: DSA_verify
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - vpdsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 447
    functionDepth: 11
    functionLinenumber: 447
    functionLinenumberEnd: 458
    functionName: dsa_verify_directly
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - DSA_verify
    - dsa_get_md_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int dsa_verify_directly(void *vpdsactx,\n    const unsigned char *sig,
      size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:466,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:468,1
    - Dst: dsa_sigalg_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vpdsactx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: dsa_verify_set_sig
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - dsa_sigalg_set_ctx_params
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int dsa_verify_set_sig(void *vpdsactx,\n    const unsigned char *sig,
      size_t siglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:478,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:488,1
    - Dst: dsa_verify_directly
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 472
    functionDepth: 12
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: dsa_verify_message_final
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - EVP_DigestFinal_ex
    - dsa_verify_directly
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int dsa_verify_message_final(void *vpdsactx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsa_verify_set_sig
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:506,1
    - Dst: dsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:508,1
    - Dst: dsa_verify_message_final
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:510,1
    - Dst: dsa_verify_directly
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - vpdsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 499
    functionDepth: 13
    functionLinenumber: 499
    functionLinenumberEnd: 513
    functionName: dsa_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 7
    functionsReached:
    - dsa_verify_message_final
    - dsa_verify_set_sig
    - dsa_signverify_message_update
    - dsa_verify_directly
    linkageType: ''
    returnType: int
    signature: "int dsa_verify(void *vpdsactx,\n    const unsigned char *sig, size_t
      siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:523,1
    - Dst: dsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:526,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:532,1
    - Dst: dsa_setup_md
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:533,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:539,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:544,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:550,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - vpdsactx
    - mdname
    - vdsa
    - params
    - operation
    - desc
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 517
    functionDepth: 11
    functionLinenumber: 517
    functionLinenumberEnd: 553
    functionName: dsa_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - dsa_setup_md
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex2
    - OPENSSL_strcasecmp
    - EVP_MD_CTX_new
    - dsa_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int dsa_digest_signverify_init(void *vpdsactx, const char *mdname,\n
      \   void *vdsa, const OSSL_PARAM params[],\n    int operation, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_digest_signverify_init
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vpdsactx
    - mdname
    - vdsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 12
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: dsa_digest_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: "int dsa_digest_sign_init(void *vpdsactx, const char *mdname,\n    void
      *vdsa, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vpdsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: dsa_digest_signverify_update
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_signverify_message_update
    linkageType: ''
    returnType: int
    signature: "int dsa_digest_signverify_update(void *vpdsactx, const unsigned char
      *data,\n    size_t datalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - vpdsactx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 577
    functionDepth: 13
    functionLinenumber: 577
    functionLinenumberEnd: 594
    functionName: dsa_digest_sign_final
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_sign_message_final
    linkageType: ''
    returnType: int
    signature: "int dsa_digest_sign_final(void *vpdsactx, unsigned char *sig,\n    size_t
      *siglen, size_t sigsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_digest_signverify_init
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vpdsactx
    - mdname
    - vdsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 12
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: dsa_digest_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: "int dsa_digest_verify_init(void *vpdsactx, const char *mdname,\n    void
      *vdsa, const OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dsa_verify_set_sig
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:616,1
    - Dst: dsa_verify_message_final
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - vpdsactx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 604
    functionDepth: 13
    functionLinenumber: 604
    functionLinenumberEnd: 622
    functionName: dsa_digest_verify_final
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_verify_message_final
    - dsa_verify_set_sig
    linkageType: ''
    returnType: int
    signature: "int dsa_digest_verify_final(void *vpdsactx, const unsigned char *sig,\n
      \   size_t siglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:628,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:629,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:630,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:631,1
    - Dst: DSA_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:632,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 624
    functionDepth: 8
    functionLinenumber: 624
    functionLinenumberEnd: 634
    functionName: dsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 3
    functionsReached:
    - DSA_free
    - EVP_MD_CTX_free
    - EVP_MD_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void dsa_freectx(void *vpdsactx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:641,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:644,1
    - Dst: DSA_up_ref
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:653,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:657,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:662,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:665,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:668,1
    - Dst: dsa_freectx
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:673,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 636
    functionDepth: 9
    functionLinenumber: 636
    functionLinenumberEnd: 675
    functionName: dsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - dsa_freectx
    - EVP_MD_CTX_dup
    - EVP_MD_up_ref
    - DSA_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dsa_dupctx(void *vpdsactx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:699,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:703,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:708,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:711,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:714,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 694
    functionDepth: 5
    functionLinenumber: 694
    functionLinenumberEnd: 718
    functionName: dsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - dsa_get_ctx_params_decoder
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int dsa_get_ctx_params(void *vpdsactx, 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: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: dsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dsa_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:734,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:737,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:740,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pdsactx
    - p
    argTypes:
    - PROV_DSA_CTX*
    - struct dsa_all_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 731
    functionDepth: 5
    functionLinenumber: 731
    functionLinenumberEnd: 748
    functionName: dsa_common_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: "int dsa_common_set_ctx_params(PROV_DSA_CTX *pdsactx,\n    const struct
      dsa_all_set_ctx_params_st *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dsa_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:756,1
    - Dst: dsa_common_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:759,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:766,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:769,1
    - Dst: dsa_setup_md
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:771,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 750
    functionDepth: 11
    functionLinenumber: 750
    functionLinenumberEnd: 775
    functionName: dsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 13
    functionsReached:
    - dsa_set_ctx_params_decoder
    - dsa_setup_md
    - dsa_common_set_ctx_params
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: int dsa_set_ctx_params(void *vpdsactx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vpdsactx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: dsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dsa_settable_ctx_params(void *vpdsactx,\n    ossl_unused
      void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 799
    functionName: dsa_get_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int dsa_get_ctx_md_params(void *vpdsactx, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: dsa_gettable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dsa_gettable_ctx_md_params(void *vpdsactx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: dsa_set_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int dsa_set_ctx_md_params(void *vpdsactx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpdsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 829
    functionName: dsa_settable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dsa_settable_ctx_md_params(void *vpdsactx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:891,1
    - Dst: dsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:894,1
    - Dst: dsa_setup_md
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:898,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:905,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:910,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:916,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - vpdsactx
    - vdsa
    - set_ctx_params
    - params
    - mdname
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_FUNC_signature_set_ctx_params_fn*
    - OSSL_PARAM[]
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 883
    functionDepth: 11
    functionLinenumber: 883
    functionLinenumberEnd: 919
    functionName: dsa_sigalg_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached:
    - dsa_setup_md
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_new
    - dsa_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int dsa_sigalg_signverify_init(void *vpdsactx, void *vdsa,\n    OSSL_FUNC_signature_set_ctx_params_fn
      *set_ctx_params,\n    const OSSL_PARAM params[],\n    const char *mdname,\n
      \   int operation, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: dsa_sigalg_query_key_types
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **dsa_sigalg_query_key_types(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vpdsactx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 936
    functionName: dsa_sigalg_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dsa_sigalg_settable_ctx_params(void *vpdsactx,\n    ossl_unused
      void *provctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dsa_sigalg_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:944,1
    - Dst: dsa_common_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:947,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:952,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:955,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/dsa_sig.c:960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - vpdsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 938
    functionDepth: 6
    functionLinenumber: 938
    functionLinenumberEnd: 967
    functionName: dsa_sigalg_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - dsa_sigalg_set_ctx_params_decoder
    - dsa_common_set_ctx_params
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int dsa_sigalg_set_ctx_params(void *vpdsactx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - md
    - ','
    - MD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1064
    functionName: IMPL_DSA_SIGALG
    functionSourceFile: /src/openssl/providers/implementations/signature/dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_DSA_SIGALG(md, MD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:44,1
    - Dst: strstr
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:48,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:49,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - alg
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 18
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: slh_dsa_self_check
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 1
    functionsReached:
    - strstr
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int slh_dsa_self_check(OSSL_LIB_CTX *libctx, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:82,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: slh_dsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_hash_ctx_free
    - OPENSSL_cleanse
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void slh_dsa_freectx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_self_check
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:91,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:91,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:94,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:98,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:99,1
    - Dst: slh_dsa_freectx
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - provctx
    - alg
    - propq
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: slh_dsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - slh_dsa_self_check
    - slh_dsa_freectx
    linkageType: ''
    returnType: void
    signature: void *slh_dsa_newctx(void *provctx, const char *alg, const char *propq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:114,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:121,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:126,1
    - Dst: ossl_slh_dsa_hash_ctx_dup
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:128,1
    - Dst: slh_dsa_freectx
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: slh_dsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_memdup
    - ossl_slh_dsa_hash_ctx_dup
    - slh_dsa_freectx
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *slh_dsa_dupctx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:152,1
    - Dst: ossl_DER_w_algorithmIdentifier_SLH_DSA
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:153,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:154,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:155,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:156,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:158,1
    - Dst: memmove
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_SLH_DSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 162
    functionName: slh_dsa_set_alg_id_buffer
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - WPACKET_get_total_written
    - ossl_DER_w_algorithmIdentifier_SLH_DSA
    - WPACKET_cleanup
    - memmove
    - WPACKET_finish
    - WPACKET_init_der
    linkageType: ''
    returnType: int
    signature: int slh_dsa_set_alg_id_buffer(PROV_SLH_DSA_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:176,1
    - Dst: ossl_slh_dsa_key_type_matches
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:181,1
    - Dst: ossl_slh_dsa_hash_ctx_new
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:183,1
    - Dst: slh_dsa_set_alg_id_buffer
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:189,1
    - Dst: slh_dsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - vctx
    - vkey
    - params
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 193
    functionName: slh_dsa_signverify_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_hash_ctx_new
    - slh_dsa_set_alg_id_buffer
    - slh_dsa_set_ctx_params
    - ERR_raise
    - ossl_slh_dsa_key_type_matches
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_signverify_msg_init(void *vctx, void *vkey,\n    const
      OSSL_PARAM params[], int operation,\n    const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_signverify_msg_init
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: slh_dsa_sign_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - slh_dsa_signverify_msg_init
    linkageType: ''
    returnType: int
    signature: int slh_dsa_sign_msg_init(void *vctx, void *vkey, const OSSL_PARAM
      params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:207,1
    - Dst: slh_dsa_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:213,1
    - Dst: slh_dsa_signverify_msg_init
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - mdname
    - vkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: slh_dsa_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - slh_dsa_set_ctx_params
    - slh_dsa_signverify_msg_init
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_digest_signverify_init(void *vctx, const char *mdname,\n
      \   void *vkey, const OSSL_PARAM params[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:227,1
    - Dst: ossl_slh_dsa_key_get_n
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:234,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:235,1
    - Dst: ossl_slh_dsa_sign
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:240,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - msg
    - msg_len
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 219
    functionDepth: 7
    functionLinenumber: 219
    functionLinenumberEnd: 248
    functionName: slh_dsa_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 2
    functionsReached:
    - RAND_priv_bytes_ex
    - ossl_slh_dsa_sign
    - ossl_slh_dsa_key_get_n
    - OPENSSL_cleanse
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_sign(void *vctx, unsigned char *sig, size_t *siglen,\n
      \   size_t sigsize, const unsigned char *msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_sign
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 8
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: slh_dsa_digest_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - slh_dsa_sign
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_digest_sign(void *vctx, uint8_t *sig, size_t *siglen,
      size_t sigsize,\n    const uint8_t *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_signverify_msg_init
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 6
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: slh_dsa_verify_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - slh_dsa_signverify_msg_init
    linkageType: ''
    returnType: int
    signature: int slh_dsa_verify_msg_init(void *vctx, void *vkey, const OSSL_PARAM
      params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:267,1
    - Dst: ossl_slh_dsa_verify
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - msg
    - msg_len
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 7
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: slh_dsa_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 3
    functionsReached:
    - ossl_slh_dsa_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_verify(void *vctx, const uint8_t *sig, size_t siglen,\n
      \   const uint8_t *msg, size_t msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_verify
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 8
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: slh_dsa_digest_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - slh_dsa_verify
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_digest_verify(void *vctx, const uint8_t *sig, size_t siglen,\n
      \   const uint8_t *tbs, size_t tbslen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:284,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:290,1
    - Dst: ossl_slh_dsa_key_get_n
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:300,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:302,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:309,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 315
    functionName: slh_dsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - slh_dsa_set_ctx_params_decoder
    - OSSL_PARAM_get_int
    - ossl_slh_dsa_key_get_n
    linkageType: ''
    returnType: int
    signature: int slh_dsa_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:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: slh_dsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *slh_dsa_settable_ctx_params(void *vctx,\n    ossl_unused
      void *provctx)"
  - 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: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: slh_dsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *slh_dsa_gettable_ctx_params(ossl_unused void *vctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:334,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/slh_dsa_sig.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 344
    functionName: slh_dsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached:
    - slh_dsa_get_ctx_params_decoder
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int slh_dsa_get_ctx_params(void *vctx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alg
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: MAKE_SIGNATURE_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/signature/slh_dsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_SIGNATURE_FUNCTIONS(alg, fn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:63,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:66,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:70,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:71,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:74,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:78,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:82,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:84,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:92,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - provctx
    - propq
    - macname
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 58
    functionDepth: 10
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: mac_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - EVP_MAC_fetch
    - OSSL_FIPS_IND_INIT
    - EVP_MAC_free
    - OPENSSL_free
    - strcmp
    - PROV_LIBCTX_OF
    - EVP_MAC_CTX_new
    - ossl_prov_is_running
    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: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_check_key_size
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:115,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - PROV_MAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: hmac_check_key
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_mac_check_key_size
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int hmac_check_key(PROV_MAC_CTX *macctx, const unsigned char *key,
      size_t keylen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:140,1
    - Dst: ossl_mac_key_up_ref
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:145,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:147,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:152,1
    - Dst: ossl_prov_set_macctx
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:154,1
    - Dst: hmac_check_key
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:162,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:165,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: 170
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 170
    functionName: mac_digest_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached:
    - hmac_check_key
    - ossl_mac_key_up_ref
    - EVP_CIPHER_get0_name
    - ERR_raise
    - EVP_MAC_init
    - ossl_prov_is_running
    - ossl_prov_set_macctx
    - 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:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vpmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    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:188,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:191,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: 192
      start: 183
    functionDepth: 6
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: mac_digest_sign_final
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_final
    - ossl_prov_is_running
    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:198,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:199,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:200,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vpmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: mac_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_free
    - ossl_mac_key_free
    - OPENSSL_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:209,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:212,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:221,1
    - Dst: ossl_mac_key_up_ref
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:224,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:229,1
    - Dst: mac_freectx
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - vpmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 238
    functionName: mac_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ossl_mac_key_up_ref
    - mac_freectx
    - ossl_prov_is_running
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: void
    signature: void *mac_dupctx(void *vpmacctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mac_legacy_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:248,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:250,1
    - Dst: hmac_check_key
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:255,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - vpmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 261
    functionName: mac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - hmac_check_key
    - EVP_MAC_CTX_set_params
    - mac_legacy_set_ctx_params_decoder
    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:267,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:267,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:274,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - provctx
    - macname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 10
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - PROV_LIBCTX_OF
    - EVP_MAC_settable_ctx_params
    - EVP_MAC_fetch
    - EVP_MAC_free
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: mac_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mac_gettable_ctx_params(ossl_unused void *vctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mac_legacy_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:296,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:299,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 305
    functionName: mac_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - OSSL_FIPS_IND_GET
    - OSSL_PARAM_set_int
    - mac_legacy_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int mac_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - 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: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    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: 340
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 340
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prsactx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: rsa_pss_restricted
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rsa_pss_restricted(prsactx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - prsactx
    argTypes:
    - PROV_RSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: rsa_get_md_size
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: int
    signature: int rsa_get_md_size(const PROV_RSA_CTX *prsactx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:188,1
    - Dst: RSA_X931_hash_id
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:194,1
    - Dst: rsa_pss_restricted
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:199,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:200,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - prsactx
    - mdname
    - mgf1_mdname
    - mdnid
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 181
    functionDepth: 9
    functionLinenumber: 181
    functionLinenumberEnd: 212
    functionName: rsa_check_padding
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - RSA_X931_hash_id
    - EVP_MD_is_a
    - rsa_pss_restricted
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int rsa_check_padding(const PROV_RSA_CTX *prsactx,\n    const char
      *mdname, const char *mgf1_mdname,\n    int mdnid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:220,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:220,1
    - Dst: RSA_bits
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - prsactx
    - min_saltlen
    argTypes:
    - PROV_RSA_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: rsa_check_parameters
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - RSA_bits
    - RSA_size
    - ERR_raise
    - EVP_MD_get_size
    linkageType: ''
    returnType: int
    signature: int rsa_check_parameters(PROV_RSA_CTX *prsactx, int min_saltlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:237,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:241,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:241,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:246,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:248,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:249,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:253,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 232
    functionDepth: 18
    functionLinenumber: 232
    functionLinenumberEnd: 264
    functionName: rsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - OPENSSL_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *rsa_newctx(void *provctx, const char *propq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:280,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:286,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:294,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:298,1
    - Dst: RSA_bits
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:302,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:308,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 317
    functionName: rsa_pss_compute_saltlen
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - RSA_size
    - ERR_raise
    - EVP_MD_get_size
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: int rsa_pss_compute_saltlen(PROV_RSA_CTX *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:331,1
    - Dst: ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:343,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:346,1
    - Dst: rsa_pss_compute_saltlen
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:351,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:354,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:355,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:356,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:358,1
    - Dst: ossl_DER_w_algorithmIdentifier_RSA_PSS
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:359,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:362,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:367,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:372,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:373,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:374,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:377,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - aid_buf
    - buf_len
    - aid_len
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 379
    functionName: rsa_generate_signature_aid
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_algorithmIdentifier_RSA_PSS
    - WPACKET_get_curr
    - rsa_pss_compute_saltlen
    - WPACKET_get_total_written
    - ERR_raise_data
    - WPACKET_cleanup
    - ossl_rsa_pss_params_30_set_hashalg
    - ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption
    - ossl_rsa_pss_params_30_set_saltlen
    - ERR_raise
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - ossl_rsa_pss_params_30_set_defaults
    - WPACKET_finish
    - WPACKET_init_der
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *rsa_generate_signature_aid(PROV_RSA_CTX *ctx,\n    unsigned
      char *aid_buf,\n    size_t buf_len,\n    size_t *aid_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:391,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:393,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:396,1
    - Dst: ossl_digest_rsa_sign_get_md_nid
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:400,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:402,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:411,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:413,1
    - Dst: ossl_fips_ind_digest_sign_check
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:423,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:423,1
    - Dst: rsa_check_padding
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:432,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:435,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:441,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:442,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:446,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:451,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:454,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:457,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:460,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:461,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:466,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:471,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 4
    argNames:
    - ctx
    - mdname
    - mdprops
    - desc
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 381
    functionDepth: 10
    functionLinenumber: 381
    functionLinenumberEnd: 473
    functionName: rsa_setup_md
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - EVP_MD_is_a
    - ERR_raise
    - EVP_MD_fetch
    - EVP_MD_xof
    - EVP_MD_CTX_free
    - rsa_check_padding
    - EVP_MD_free
    - ossl_digest_rsa_sign_get_md_nid
    - strlen
    - ossl_fips_ind_digest_sign_check
    - EVP_MD_up_ref
    - OPENSSL_strlcpy
    - OSSL_FIPS_IND_GET
    linkageType: ''
    returnType: int
    signature: "int rsa_setup_md(PROV_RSA_CTX *ctx, const char *mdname,\n    const
      char *mdprops, const char *desc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:485,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:486,1
    - Dst: ossl_digest_rsa_sign_get_md_nid
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:491,1
    - Dst: rsa_check_padding
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:492,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:494,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:496,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:499,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:501,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:503,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 475
    functionDepth: 10
    functionLinenumber: 475
    functionLinenumberEnd: 512
    functionName: rsa_setup_mgf1_md
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - EVP_MD_fetch
    - EVP_MD_free
    - ossl_digest_rsa_sign_get_md_nid
    - OPENSSL_strlcpy
    - rsa_check_padding
    linkageType: ''
    returnType: int
    signature: "int rsa_setup_mgf1_md(PROV_RSA_CTX *ctx, const char *mdname,\n    const
      char *mdprops)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:522,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:526,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:531,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:533,1
    - Dst: ossl_rsa_key_op_get_protect
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:536,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:548,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:556,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:558,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:559,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:560,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:561,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:565,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:566,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:569,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:574,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:579,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:582,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:586,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:589,1
    - Dst: rsa_setup_mgf1_md
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:596,1
    - Dst: rsa_setup_md
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:597,1
    - Dst: rsa_check_parameters
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:598,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:605,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:609,1
    - Dst: set_ctx_params
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:610,1
    - Dst: ossl_fips_ind_rsa_key_check
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:613,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:613,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 6
    argNames:
    - prsactx
    - vrsa
    - set_ctx_params
    - params
    - operation
    - desc
    argTypes:
    - PROV_RSA_CTX*
    - void*
    - OSSL_FUNC_signature_set_ctx_params_fn*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 514
    functionDepth: 11
    functionLinenumber: 514
    functionLinenumberEnd: 619
    functionName: rsa_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_key_op_get_protect
    - RSA_up_ref
    - rsa_setup_mgf1_md
    - rsa_setup_md
    - ERR_raise_data
    - ERR_raise
    - RSA_free
    - ossl_fips_ind_rsa_key_check
    - OSSL_FIPS_IND_SET_APPROVED
    - ossl_rsa_pss_params_30_is_unrestricted
    - OPENSSL_strlcpy
    - OSSL_FIPS_IND_GET
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_maskgenhashalg
    - RSA_test_flags
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_oaeppss_nid2name
    - rsa_check_parameters
    - set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_signverify_init(PROV_RSA_CTX *prsactx, void *vrsa,\n    OSSL_FUNC_signature_set_ctx_params_fn
      *set_ctx_params,\n    const OSSL_PARAM params[], int operation,\n    const char
      *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:625,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: setup_tbuf
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - RSA_size
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int setup_tbuf(PROV_RSA_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:633,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: clean_tbuf
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - RSA_size
    linkageType: ''
    returnType: void
    signature: void clean_tbuf(PROV_RSA_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clean_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:638,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: free_tbuf
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - clean_tbuf
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_tbuf(PROV_RSA_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_md_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:646,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:656,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - algoname
    - saltlen
    argTypes:
    - PROV_RSA_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 666
    functionName: rsa_pss_saltlen_check_passed
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_get_md_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int rsa_pss_saltlen_check_passed(PROV_RSA_CTX *ctx, const char *algoname,
      int saltlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 12
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: rsa_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_signverify_init
    linkageType: ''
    returnType: int
    signature: int rsa_sign_init(void *vprsactx, void *vrsa, const OSSL_PARAM params[])
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:692,1
    - Dst: rsa_get_md_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:693,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:695,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:704,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:711,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:716,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:720,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:724,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:728,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:737,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:738,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:740,1
    - Dst: setup_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:743,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:744,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:747,1
    - Dst: RSA_X931_hash_id
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:748,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:749,1
    - Dst: clean_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:751,1
    - Dst: RSA_sign
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:756,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:759,1
    - Dst: rsa_pss_restricted
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:769,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:772,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:773,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:778,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:785,1
    - Dst: setup_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:796,1
    - Dst: ossl_rsa_padding_add_PKCS1_PSS_mgf1
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:799,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:803,1
    - Dst: rsa_pss_saltlen_check_passed
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:807,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:810,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:810,1
    - Dst: clean_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:812,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:816,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:821,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:829,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 6
    argNames:
    - prsactx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 687
    functionDepth: 10
    functionLinenumber: 687
    functionLinenumberEnd: 835
    functionName: rsa_sign_directly
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - setup_tbuf
    - RSA_sign
    - ERR_raise_data
    - RSA_X931_hash_id
    - RSA_size
    - rsa_get_md_size
    - EVP_MD_is_a
    - ERR_raise
    - RSA_sign_ASN1_OCTET_STRING
    - RSA_private_encrypt
    - rsa_pss_restricted
    - EVP_MD_get_size
    - ossl_rsa_padding_add_PKCS1_PSS_mgf1
    - rsa_pss_saltlen_check_passed
    - memcpy
    - clean_tbuf
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_sign_directly(PROV_RSA_CTX *prsactx,\n    unsigned char *sig,
      size_t *siglen, size_t sigsize,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:847,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - vprsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 853
    functionName: rsa_signverify_message_update
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int rsa_signverify_message_update(void *vprsactx,\n    const unsigned
      char *data,\n    size_t datalen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:862,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:867,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:880,1
    - Dst: rsa_sign_directly
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - vprsactx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 855
    functionDepth: 11
    functionLinenumber: 855
    functionLinenumberEnd: 889
    functionName: rsa_sign_message_final
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_sign_directly
    - EVP_DigestFinal_ex
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_sign_message_final(void *vprsactx, unsigned char *sig,\n    size_t
      *siglen, size_t sigsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:900,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:903,1
    - Dst: rsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:913,1
    - Dst: rsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:915,1
    - Dst: rsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:916,1
    - Dst: rsa_sign_directly
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 6
    argNames:
    - vprsactx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 895
    functionDepth: 12
    functionLinenumber: 895
    functionLinenumberEnd: 919
    functionName: rsa_sign
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 2
    functionsReached:
    - rsa_sign_message_final
    - ERR_raise
    - ossl_prov_is_running
    - rsa_signverify_message_update
    - rsa_sign_directly
    linkageType: ''
    returnType: int
    signature: "int rsa_sign(void *vprsactx, unsigned char *sig, size_t *siglen,\n
      \   size_t sigsize, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 921
    functionDepth: 12
    functionLinenumber: 921
    functionLinenumberEnd: 933
    functionName: rsa_verify_recover_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_signverify_init
    linkageType: ''
    returnType: int
    signature: "int rsa_verify_recover_init(void *vprsactx, void *vrsa,\n    const
      OSSL_PARAM params[])"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:947,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:951,1
    - Dst: setup_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:958,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:960,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:963,1
    - Dst: RSA_X931_hash_id
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:967,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:968,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:971,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:972,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:974,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:981,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:986,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:991,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:995,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:999,1
    - Dst: ossl_rsa_verify
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1004,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1007,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1014,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1019,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1022,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1027,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1030,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 6
    argNames:
    - vprsactx
    - rout
    - routlen
    - routsize
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 939
    functionDepth: 3
    functionLinenumber: 939
    functionLinenumberEnd: 1036
    functionName: rsa_verify_recover
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - setup_tbuf
    - ossl_rsa_verify
    - ERR_raise_data
    - RSA_X931_hash_id
    - RSA_size
    - ERR_raise
    - EVP_MD_get_size
    - RSA_public_decrypt
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_verify_recover(void *vprsactx,\n    unsigned char *rout, size_t
      *routlen,\n    size_t routsize,\n    const unsigned char *sig, size_t siglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1038
    functionDepth: 12
    functionLinenumber: 1038
    functionLinenumberEnd: 1050
    functionName: rsa_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_signverify_init
    linkageType: ''
    returnType: int
    signature: "int rsa_verify_init(void *vprsactx, void *vrsa,\n    const OSSL_PARAM
      params[])"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1058,1
    - Dst: RSA_verify
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1063,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1065,1
    - Dst: setup_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1070,1
    - Dst: rsa_verify_recover
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1072,1
    - Dst: rsa_get_md_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1086,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1088,1
    - Dst: setup_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1094,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1096,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1099,1
    - Dst: ossl_rsa_verify_PKCS1_PSS_mgf1
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1103,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1108,1
    - Dst: rsa_pss_saltlen_check_passed
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1112,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1118,1
    - Dst: setup_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1125,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1127,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1130,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1136,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 5
    argNames:
    - prsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - PROV_RSA_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1052
    functionDepth: 10
    functionLinenumber: 1052
    functionLinenumberEnd: 1140
    functionName: rsa_verify_directly
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - setup_tbuf
    - ossl_rsa_verify_PKCS1_PSS_mgf1
    - ERR_raise_data
    - rsa_get_md_size
    - rsa_pss_saltlen_check_passed
    - ERR_raise
    - rsa_verify_recover
    - RSA_public_decrypt
    - memcmp
    - RSA_verify
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_verify_directly(PROV_RSA_CTX *prsactx,\n    const unsigned
      char *sig, size_t siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1148,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1150,1
    - Dst: rsa_sigalg_set_ctx_params
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vprsactx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: rsa_verify_set_sig
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - rsa_sigalg_set_ctx_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int rsa_verify_set_sig(void *vprsactx,\n    const unsigned char *sig,
      size_t siglen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1160,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1165,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1173,1
    - Dst: rsa_verify_directly
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1154
    functionDepth: 11
    functionLinenumber: 1154
    functionLinenumberEnd: 1182
    functionName: rsa_verify_message_final
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - ERR_raise
    - rsa_verify_directly
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int rsa_verify_message_final(void *vprsactx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1194,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1197,1
    - Dst: rsa_verify_set_sig
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1202,1
    - Dst: rsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1203,1
    - Dst: rsa_verify_message_final
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1204,1
    - Dst: rsa_verify_directly
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - vprsactx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1188
    functionDepth: 12
    functionLinenumber: 1188
    functionLinenumberEnd: 1206
    functionName: rsa_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - rsa_verify_message_final
    - rsa_signverify_message_update
    - rsa_verify_set_sig
    - rsa_verify_directly
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_verify(void *vprsactx,\n    const unsigned char *sig, size_t
      siglen,\n    const unsigned char *tbs, size_t tbslen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1221,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1227,1
    - Dst: rsa_setup_md
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1228,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1234,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1239,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - vprsactx
    - mdname
    - vrsa
    - params
    - operation
    - desc
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1210
    functionDepth: 12
    functionLinenumber: 1210
    functionLinenumberEnd: 1248
    functionName: rsa_digest_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_setup_md
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex2
    - OPENSSL_strcasecmp
    - rsa_signverify_init
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_signverify_init(void *vprsactx, const char *mdname,\n
      \   void *vrsa, const OSSL_PARAM params[],\n    int operation, const char *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1253,1
    - Dst: rsa_digest_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vprsactx
    - mdname
    - vrsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1250
    functionDepth: 13
    functionLinenumber: 1250
    functionLinenumberEnd: 1258
    functionName: rsa_digest_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_digest_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_sign_init(void *vprsactx, const char *mdname,\n    void
      *vrsa, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vprsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1260
    functionDepth: 4
    functionLinenumber: 1260
    functionLinenumberEnd: 1272
    functionName: rsa_digest_sign_update
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_signverify_message_update
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_sign_update(void *vprsactx, const unsigned char *data,\n
      \   size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_sign_message_final
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - vprsactx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1274
    functionDepth: 12
    functionLinenumber: 1274
    functionLinenumberEnd: 1292
    functionName: rsa_digest_sign_final
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_sign_message_final
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_sign_final(void *vprsactx, unsigned char *sig,\n    size_t
      *siglen, size_t sigsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1297,1
    - Dst: rsa_digest_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vprsactx
    - mdname
    - vrsa
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1294
    functionDepth: 13
    functionLinenumber: 1294
    functionLinenumberEnd: 1302
    functionName: rsa_digest_verify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_digest_signverify_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_verify_init(void *vprsactx, const char *mdname,\n    void
      *vrsa, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rsa_signverify_message_update
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vprsactx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1304
    functionDepth: 4
    functionLinenumber: 1304
    functionLinenumberEnd: 1316
    functionName: rsa_digest_verify_update
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_signverify_message_update
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_verify_update(void *vprsactx, const unsigned char *data,\n
      \   size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_verify_set_sig
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1330,1
    - Dst: rsa_verify_message_final
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - vprsactx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1318
    functionDepth: 12
    functionLinenumber: 1318
    functionLinenumberEnd: 1337
    functionName: rsa_digest_verify_final
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_verify_message_final
    - rsa_verify_set_sig
    linkageType: ''
    returnType: int
    signature: "int rsa_digest_verify_final(void *vprsactx, const unsigned char *sig,\n
      \   size_t siglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1346,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1347,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1349,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1350,1
    - Dst: free_tbuf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1351,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1352,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1339
    functionDepth: 8
    functionLinenumber: 1339
    functionLinenumberEnd: 1355
    functionName: rsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - free_tbuf
    - OPENSSL_free
    - OPENSSL_clear_free
    - RSA_free
    - EVP_MD_free
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void rsa_freectx(void *vprsactx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1362,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1365,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1378,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1382,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1386,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1391,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1393,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1398,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1404,1
    - Dst: rsa_freectx
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1411,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1357
    functionDepth: 8
    functionLinenumber: 1357
    functionLinenumberEnd: 1413
    functionName: rsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_memdup
    - RSA_up_ref
    - rsa_freectx
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *rsa_dupctx(void *vprsactx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1420,1
    - Dst: rsa_generate_signature_aid
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1429,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1431,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1437,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1451,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1454,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1459,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1462,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1467,1
    - Dst: BIO_snprintf
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1486,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1496,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1502,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1506,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1415
    functionDepth: 6
    functionLinenumber: 1415
    functionLinenumberEnd: 1509
    functionName: rsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_int
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - ERR_raise
    - BIO_snprintf
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_set_octet_string
    - rsa_generate_signature_aid
    - rsa_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int rsa_get_ctx_params(void *vprsactx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    functionName: rsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsa_gettable_ctx_params(ossl_unused void *vprsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1523,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_RSA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1533
    functionName: rsa_x931_padding_allowed
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int rsa_x931_padding_allowed(PROV_RSA_CTX *ctx)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1551,1
    - Dst: rsa_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1555,1
    - Dst: rsa_set_ctx_params_no_digest_decoder
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1558,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1564,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1568,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1572,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1576,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1585,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1590,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1601,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1610,1
    - Dst: RSA_bits
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1643,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1644,1
    - Dst: rsa_x931_padding_allowed
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1648,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1653,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1661,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1664,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1673,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1681,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1684,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1686,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1688,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1690,1
    - Dst: atoi
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1693,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1702,1
    - Dst: rsa_pss_restricted
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1706,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1713,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1719,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1720,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1725,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1731,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1744,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1749,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1755,1
    - Dst: rsa_setup_mgf1_md
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1768,1
    - Dst: rsa_setup_md
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1772,1
    - Dst: rsa_check_padding
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1775,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 163
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1536
    functionDepth: 11
    functionLinenumber: 1536
    functionLinenumberEnd: 1779
    functionName: rsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - RSA_bits
    - OSSL_PARAM_get_int
    - rsa_setup_md
    - ERR_raise_data
    - rsa_x931_padding_allowed
    - rsa_set_ctx_params_no_digest_decoder
    - RSA_test_flags
    - ERR_raise
    - OSSL_PARAM_get_utf8_string
    - strcmp
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - rsa_pss_restricted
    - EVP_MD_get_size
    - atoi
    - rsa_setup_mgf1_md
    - ossl_param_is_empty
    - rsa_set_ctx_params_decoder
    - rsa_check_padding
    linkageType: ''
    returnType: int
    signature: int rsa_set_ctx_params(void *vprsactx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1789
    functionName: rsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsa_settable_ctx_params(void *vprsactx,\n    ossl_unused
      void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1799
    functionName: rsa_get_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int rsa_get_ctx_md_params(void *vprsactx, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1801
    functionDepth: 2
    functionLinenumber: 1801
    functionLinenumberEnd: 1809
    functionName: rsa_gettable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *rsa_gettable_ctx_md_params(void *vprsactx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1819
    functionName: rsa_set_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int rsa_set_ctx_md_params(void *vprsactx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1821
    functionDepth: 2
    functionLinenumber: 1821
    functionLinenumberEnd: 1829
    functionName: rsa_settable_ctx_md_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *rsa_settable_ctx_md_params(void *vprsactx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1897,1
    - Dst: rsa_signverify_init
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1900,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1906,1
    - Dst: rsa_setup_md
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1910,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1918,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1923,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - vprsactx
    - vrsa
    - set_ctx_params
    - params
    - mdname
    - operation
    - pad_mode
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_FUNC_signature_set_ctx_params_fn*
    - OSSL_PARAM[]
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1888
    functionDepth: 12
    functionLinenumber: 1888
    functionLinenumberEnd: 1932
    functionName: rsa_sigalg_signverify_init
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached:
    - rsa_setup_md
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex2
    - rsa_signverify_init
    - EVP_MD_CTX_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_sigalg_signverify_init(void *vprsactx, void *vrsa,\n    OSSL_FUNC_signature_set_ctx_params_fn
      *set_ctx_params,\n    const OSSL_PARAM params[],\n    const char *mdname,\n
      \   int operation, int pad_mode,\n    const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1939
    functionName: rsa_sigalg_query_key_types
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **rsa_sigalg_query_key_types(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - void*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1949
    functionName: rsa_sigalg_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsa_sigalg_settable_ctx_params(void *vprsactx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rsa_sigalg_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1956,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1961,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/signature/rsa_sig.c:1964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 1970
    functionName: rsa_sigalg_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - rsa_sigalg_set_ctx_params_decoder
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int rsa_sigalg_set_ctx_params(void *vprsactx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - md
    - ','
    - MD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 2089
    functionName: IMPL_RSA_SIGALG
    functionSourceFile: /src/openssl/providers/implementations/signature/rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_RSA_SIGALG(md, MD)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:31,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: generic_free
    functionSourceFile: /src/openssl/providers/implementations/skeymgmt/generic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void generic_free(void *keydata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:37,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:42,1
    - Dst: generic_skey_import_decoder
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:48,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:55,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:63,1
    - Dst: generic_free
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 76
    functionName: generic_import
    functionSourceFile: /src/openssl/providers/implementations/skeymgmt/generic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_zalloc
    - generic_skey_import_decoder
    - generic_free
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *generic_import(void *provctx, int selection, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: generic_imp_settable_params
    functionSourceFile: /src/openssl/providers/implementations/skeymgmt/generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *generic_imp_settable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:89,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:96,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:98,1
    - Dst: param_callback
      Src: /src/openssl/providers/implementations/skeymgmt/generic.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: generic_export
    functionSourceFile: /src/openssl/providers/implementations/skeymgmt/generic.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - param_callback
    - OSSL_PARAM_construct_end
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int generic_export(void *keydata, int selection,\n    OSSL_CALLBACK
      *param_callback, void *cbarg)"
  - 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: 2
    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: 3
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:123,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:127,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:127,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:132,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 18
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: kdf_tls1_prf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_tls1_prf_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_tls1_prf_reset
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: kdf_tls1_prf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - kdf_tls1_prf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_tls1_prf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:154,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:155,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:156,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:157,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: kdf_tls1_prf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - memset
    linkageType: ''
    returnType: void
    signature: void kdf_tls1_prf_reset(void *vctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kdf_tls1_prf_new
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:167,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:170,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:173,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:175,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:177,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:180,1
    - Dst: kdf_tls1_prf_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 19
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: kdf_tls1_prf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - kdf_tls1_prf_free
    - ossl_prov_memdup
    - OSSL_FIPS_IND_COPY
    - kdf_tls1_prf_new
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: void
    signature: void *kdf_tls1_prf_dup(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:193,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:203,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TLS1_PRF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: fips_ems_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - memcmp
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_ems_check_passed(TLS1_PRF *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:220,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:228,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:229,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:230,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TLS1_PRF*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 218
    functionDepth: 9
    functionLinenumber: 218
    functionLinenumberEnd: 241
    functionName: fips_digest_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - EVP_MD_is_a
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_digest_check_passed(TLS1_PRF *ctx, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:245,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:246,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TLS1_PRF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: fips_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_key_check_passed(TLS1_PRF *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:265,1
    - Dst: kdf_tls1_prf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:281,1
    - Dst: fips_ems_check_passed
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:286,1
    - Dst: tls1_prf_alg
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: kdf_tls1_prf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - tls1_prf_alg
    - ERR_raise
    - fips_ems_check_passed
    - kdf_tls1_prf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_tls1_prf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tls1prf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:302,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:305,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:307,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:309,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:311,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:319,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:322,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:323,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:328,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:334,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:336,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:342,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:343,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:346,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:348,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:349,1
    - Dst: fips_digest_check_passed
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:354,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:355,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:360,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:364,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:366,1
    - Dst: fips_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:371,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:392,1
    - Dst: safe_add_size_t
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:396,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:404,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:413,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 420
    functionName: kdf_tls1_prf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_macctx_load
    - OSSL_PARAM_get_utf8_string_ptr
    - ossl_prov_digest_reset
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - OSSL_PARAM_get_octet_string_ptr
    - memcpy
    - tls1prf_set_ctx_params_decoder
    - ERR_raise
    - safe_add_size_t
    - fips_digest_check_passed
    - OSSL_PARAM_get_octet_string
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    - ossl_prov_digest_load
    - OPENSSL_clear_realloc
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - EVP_MD_xof
    - memset
    - fips_key_check_passed
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int kdf_tls1_prf_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: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: kdf_tls1_prf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_tls1_prf_settable_ctx_params(\n    ossl_unused void
      *ctx, ossl_unused void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls1prf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:433,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:436,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 428
    functionDepth: 6
    functionLinenumber: 428
    functionLinenumberEnd: 442
    functionName: kdf_tls1_prf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - tls1prf_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int kdf_tls1_prf_get_ctx_params(void *vctx, 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: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: kdf_tls1_prf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_tls1_prf_gettable_ctx_params(\n    ossl_unused void
      *ctx, ossl_unused void *provctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:498,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:500,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:504,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:507,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:512,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:514,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:518,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:521,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:525,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:529,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:533,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:535,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:538,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:540,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:547,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:548,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:549,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 7
    argNames:
    - ctx_init
    - sec
    - sec_len
    - seed
    - seed_len
    - out
    - olen
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 551
    functionName: tls1_prf_P_hash
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - OPENSSL_cleanse
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - EVP_MAC_CTX_get_mac_size
    - memcpy
    - EVP_MAC_final
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: int
    signature: "int tls1_prf_P_hash(EVP_MAC_CTX *ctx_init,\n    const unsigned char
      *sec, size_t sec_len,\n    const unsigned char *seed, size_t seed_len,\n    unsigned
      char *out, size_t olen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls1_prf_P_hash
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:586,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:590,1
    - Dst: tls1_prf_P_hash
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:593,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:595,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:600,1
    - Dst: tls1_prf_P_hash
      Src: /src/openssl/providers/implementations/kdfs/tls1_prf.c:605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 8
    argNames:
    - mdctx
    - sha1ctx
    - sec
    - slen
    - seed
    - seed_len
    - out
    - olen
    argTypes:
    - EVP_MAC_CTX*
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 609
    functionName: tls1_prf_alg
    functionSourceFile: /src/openssl/providers/implementations/kdfs/tls1_prf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_malloc
    - tls1_prf_P_hash
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: "int tls1_prf_alg(EVP_MAC_CTX *mdctx, EVP_MAC_CTX *sha1ctx,\n    const
      unsigned char *sec, size_t slen,\n    const unsigned char *seed, size_t seed_len,\n
      \   unsigned char *out, size_t olen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:69,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:73,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:74,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:75,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:76,1
    - Dst: EVP_MD_size
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:82,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:87,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:89,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:91,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:95,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:98,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:99,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 8
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - md_type
    - out
    - n
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    - EVP_MD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 57
    functionDepth: 8
    functionLinenumber: 57
    functionLinenumberEnd: 101
    functionName: kdf_pbkdf1_do_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - EVP_MD_size
    linkageType: ''
    returnType: int
    signature: "int kdf_pbkdf1_do_derive(const unsigned char *pass, size_t passlen,\n
      \   const unsigned char *salt, size_t saltlen,\n    uint64_t iter, const EVP_MD
      *md_type,\n    unsigned char *out, size_t n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:107,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: kdf_pbkdf1_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_pbkdf1_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:120,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:121,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PBKDF1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: kdf_pbkdf1_cleanup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf1_cleanup(KDF_PBKDF1 *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf1_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: kdf_pbkdf1_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf1_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf1_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf1_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: kdf_pbkdf1_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf1_cleanup
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf1_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf1_new
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:149,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:151,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:153,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:155,1
    - Dst: kdf_pbkdf1_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: kdf_pbkdf1_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf1_free
    - kdf_pbkdf1_new
    - ossl_prov_memdup
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_pbkdf1_dup(void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:169,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:174,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: kdf_pbkdf1_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int kdf_pbkdf1_set_membuf(unsigned char **buffer, size_t *buflen,\n
      \   const OSSL_PARAM *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:186,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:191,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:194,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buffer
    - buflen
    - pskey
    argTypes:
    - unsigned char**
    - size_t*
    - PROV_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 202
    functionName: kdf_pbkdf1_set_membuf_skey
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int kdf_pbkdf1_set_membuf_skey(unsigned char **buffer, size_t *buflen,\n
      \   const PROV_SKEY *pskey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:210,1
    - Dst: kdf_pbkdf1_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:219,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:223,1
    - Dst: kdf_pbkdf1_do_derive
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 9
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: kdf_pbkdf1_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf1_set_ctx_params
    - ERR_raise
    - kdf_pbkdf1_do_derive
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_pbkdf1_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf1_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:234,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:237,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:239,1
    - Dst: kdf_pbkdf1_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:242,1
    - Dst: kdf_pbkdf1_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:245,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 251
    functionName: kdf_pbkdf1_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 1
    functionsReached:
    - kdf_pbkdf1_set_membuf
    - ossl_prov_digest_load
    - OSSL_PARAM_get_uint64
    - pbkdf1_set_ctx_params_decoder
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: int kdf_pbkdf1_set_ctx_params(void *vctx, const 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: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: kdf_pbkdf1_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pbkdf1_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf1_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:264,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 6
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: kdf_pbkdf1_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - pbkdf1_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int kdf_pbkdf1_get_ctx_params(void *vctx, 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: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: kdf_pbkdf1_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pbkdf1_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:286,1
    - Dst: kdf_pbkdf1_set_membuf_skey
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:287,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:289,1
    - Dst: kdf_pbkdf1_set_membuf_skey
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - vctx
    - skeydata
    - paramname
    argTypes:
    - void*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: kdf_pbkdf1_set_skey
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf1_set_membuf_skey
    - strcmp
    linkageType: ''
    returnType: int
    signature: int kdf_pbkdf1_set_skey(void *vctx, void *skeydata, const char *paramname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:306,1
    - Dst: kdf_pbkdf1_derive
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:310,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:314,1
    - Dst: import
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:317,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf1.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - vctx
    - ossl_unused
    - provctx
    - import
    - keylen
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_FUNC_skeymgmt_import_fn*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 295
    functionDepth: 10
    functionLinenumber: 295
    functionLinenumberEnd: 321
    functionName: kdf_pbkdf1_derive_skey
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf1.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_zalloc
    - OPENSSL_free
    - kdf_pbkdf1_derive
    - import
    linkageType: ''
    returnType: void
    signature: "void *kdf_pbkdf1_derive_skey(void *vctx, const char *key_type ossl_unused,
      void *provctx,\n    OSSL_FUNC_skeymgmt_import_fn *import,\n    size_t keylen,
      const OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:88,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:92,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:92,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:97,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 18
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: kdf_ikev2kdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_ikev2kdf_new(void *provctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:107,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:111,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:116,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:121,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:125,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:128,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:131,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:135,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:139,1
    - Dst: kdf_ikev2kdf_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:146,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 35
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 148
    functionName: kdf_ikev2kdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - kdf_ikev2kdf_free
    - OPENSSL_zalloc
    - ossl_prov_memdup
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_ikev2kdf_dup(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_ikev2kdf_reset
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: kdf_ikev2kdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 1
    functionsReached:
    - kdf_ikev2kdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_ikev2kdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:164,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:165,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:166,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:167,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:168,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:169,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:170,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:171,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: kdf_ikev2kdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void kdf_ikev2kdf_reset(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:179,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: ikev2kdf_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int ikev2kdf_set_membuf(unsigned char **dst, size_t *dst_len,\n    const
      OSSL_PARAM *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_IKEV2KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: ikev2_common_check_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ikev2_common_check_ctx_params(KDF_IKEV2KDF *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:225,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:268,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:271,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:272,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_IKEV2KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 276
    functionName: ikev2_check_secret_and_pad
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_zalloc
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ikev2_check_secret_and_pad(KDF_IKEV2KDF *ctx)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:286,1
    - Dst: kdf_ikev2kdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:286,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:291,1
    - Dst: EVP_MD_size
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:294,1
    - Dst: ikev2_common_check_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:309,1
    - Dst: ikev2_check_secret_and_pad
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:312,1
    - Dst: IKEV2_GEN
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:314,1
    - Dst: EVP_MD_name
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:343,1
    - Dst: IKEV2_DKM
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:358,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:364,1
    - Dst: ikev2_check_secret_and_pad
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:367,1
    - Dst: IKEV2_DKM
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:375,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:384,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:392,1
    - Dst: ikev2_check_secret_and_pad
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:395,1
    - Dst: IKEV2_REKEY
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:397,1
    - Dst: EVP_MD_name
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:397,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 87
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 405
    functionName: kdf_ikev2kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - ikev2_check_secret_and_pad
    - EVP_MD_name
    - kdf_ikev2kdf_set_ctx_params
    - IKEV2_REKEY
    - ERR_raise
    - IKEV2_DKM
    - ikev2_common_check_ctx_params
    - IKEV2_GEN
    - ossl_prov_digest_md
    - EVP_MD_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_ikev2kdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:416,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:420,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:424,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:428,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:429,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:430,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:431,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:432,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:440,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:449,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:454,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:457,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:460,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:463,1
    - Dst: ikev2kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:466,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:474,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 56
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 407
    functionDepth: 9
    functionLinenumber: 407
    functionLinenumberEnd: 479
    functionName: kdf_ikev2kdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_digest_load
    - OSSL_PARAM_get_int
    - EVP_MD_is_a
    - ERR_raise
    - ikev2_set_ctx_params_decoder
    - ikev2kdf_set_membuf
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int kdf_ikev2kdf_set_ctx_params(void *vctx, const 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: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: kdf_ikev2kdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_ikev2kdf_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:492,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:499,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:501,1
    - Dst: EVP_MD_size
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:504,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 6
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: kdf_ikev2kdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - ossl_prov_digest_md
    - EVP_MD_size
    - ikev2_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kdf_ikev2kdf_get_ctx_params(void *vctx, 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: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: kdf_ikev2kdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_ikev2kdf_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:566,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:567,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:570,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:573,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:574,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:576,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:578,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:579,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:580,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:581,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:587,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:588,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 10
    argNames:
    - libctx
    - seedkey
    - keylen
    - md_name
    - ni
    - ni_len
    - nr
    - nr_len
    - shared_secret
    - shared_secret_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 555
    functionDepth: 10
    functionLinenumber: 555
    functionLinenumberEnd: 591
    functionName: IKEV2_GEN
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_update
    - EVP_MAC_fetch
    - EVP_MAC_free
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - memcpy
    - EVP_MAC_final
    - OPENSSL_malloc
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int IKEV2_GEN(OSSL_LIB_CTX *libctx, unsigned char *seedkey, const
      size_t keylen,\n    char *md_name, const unsigned char *ni, const size_t ni_len,\n
      \   const unsigned char *nr, const size_t nr_len,\n    const unsigned char *shared_secret,
      const size_t shared_secret_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:627,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:628,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:631,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:633,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:634,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:635,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:636,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:637,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:638,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:645,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 12
    argNames:
    - libctx
    - seedkey
    - keylen
    - md_name
    - ni
    - ni_len
    - nr
    - nr_len
    - shared_secret
    - shared_secret_len
    - sk_d
    - sk_d_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 616
    functionDepth: 10
    functionLinenumber: 616
    functionLinenumberEnd: 648
    functionName: IKEV2_REKEY
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_update
    - EVP_MAC_fetch
    - EVP_MAC_free
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int IKEV2_REKEY(OSSL_LIB_CTX *libctx, unsigned char *seedkey, const
      size_t keylen,\n    char *md_name, const unsigned char *ni, const size_t ni_len,\n
      \   const unsigned char *nr, const size_t nr_len,\n    const unsigned char *shared_secret,
      const size_t shared_secret_len,\n    const unsigned char *sk_d, const size_t
      sk_d_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:702,1
    - Dst: EVP_MD_name
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:702,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:703,1
    - Dst: EVP_MD_size
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:706,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:712,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:716,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:718,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:726,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:729,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:732,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:734,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:735,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:738,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:739,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:741,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:743,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:748,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:751,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:752,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/kdfs/ikev2kdf.c:753,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 16
    argNames:
    - libctx
    - dkm
    - len_out
    - evp_md
    - seedkey
    - seedkey_len
    - ni
    - ni_len
    - nr
    - nr_len
    - spii
    - spii_len
    - spir
    - spir_len
    - shared_secret
    - shared_secret_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - EVP_MD*
    - 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: 755
      start: 684
    functionDepth: 10
    functionLinenumber: 684
    functionLinenumberEnd: 755
    functionName: IKEV2_DKM
    functionSourceFile: /src/openssl/providers/implementations/kdfs/ikev2kdf.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_name
    - EVP_MAC_update
    - EVP_MAC_fetch
    - EVP_MAC_free
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_MAC_final
    - memcpy
    - EVP_MD_size
    - OPENSSL_malloc
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int IKEV2_DKM(OSSL_LIB_CTX *libctx, unsigned char *dkm, const size_t
      len_out,\n    const EVP_MD *evp_md,\n    const unsigned char *seedkey, const
      size_t seedkey_len,\n    const unsigned char *ni, const size_t ni_len,\n    const
      unsigned char *nr, const size_t nr_len,\n    const unsigned char *spii, const
      size_t spii_len,\n    const unsigned char *spir, const size_t spir_len,\n    const
      unsigned char *shared_secret, const size_t shared_secret_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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ARGON2_MIN
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGON2_MIN(a, b)
  - 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: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: G
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - )
    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
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: PERMUTATION_P
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "PERMUTATION_P(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \\\n
      \   v12, v13, v14, v15)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: PERMUTATION_P_COLUMN
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERMUTATION_P_COLUMN(x, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: PERMUTATION_P_ROW
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERMUTATION_P_ROW(x, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: load64
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline load64(const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: store32
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline store32(uint8_t *dst, uint32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: store64
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    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: 2
    argNames:
    - w
    - c
    argTypes:
    - uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: rotr64
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    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: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: mul_lower
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline mul_lower(uint64_t x, uint64_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - in
    argTypes:
    - BLOCK*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: init_block_value
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_block_value(BLOCK *b, uint8_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BLOCK*
    - BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: copy_block
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void copy_block(BLOCK *dst, const BLOCK *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BLOCK*
    - BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: xor_block
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_block(BLOCK *dst, const BLOCK *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load64
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - input
    argTypes:
    - BLOCK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: load_block
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 1
    functionsReached:
    - load64
    linkageType: ''
    returnType: void
    signature: void load_block(BLOCK *dst, const void *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store64
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - output
    - src
    argTypes:
    - void*
    - BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: store_block
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 1
    functionsReached:
    - store64
    linkageType: ''
    returnType: void
    signature: void store_block(void *output, const BLOCK *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:358,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:359,1
    - Dst: blake2b_long
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:360,1
    - Dst: load_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:362,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:364,1
    - Dst: blake2b_long
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:365,1
    - Dst: load_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:367,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - blockhash
    - ctx
    argTypes:
    - uint8_t*
    - KDF_ARGON2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 371
    functionName: fill_first_blocks
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - load_block
    - blake2b_long
    - store32
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void fill_first_blocks(uint8_t *blockhash, const KDF_ARGON2 *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:379,1
    - Dst: xor_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:380,1
    - Dst: copy_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:381,1
    - Dst: xor_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:384,1
    - Dst: PERMUTATION_P_COLUMN
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:387,1
    - Dst: PERMUTATION_P_ROW
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:390,1
    - Dst: copy_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:392,1
    - Dst: xor_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - prev
    - ref
    - next
    - with_xor
    argTypes:
    - BLOCK*
    - BLOCK*
    - BLOCK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 394
    functionName: fill_block
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - PERMUTATION_P_ROW
    - copy_block
    - PERMUTATION_P_COLUMN
    - xor_block
    linkageType: ''
    returnType: void
    signature: "void fill_block(const BLOCK *prev, const BLOCK *ref,\n    BLOCK *next,
      int with_xor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:400,1
    - Dst: fill_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - address_block
    - input_block
    - zero_block
    argTypes:
    - BLOCK*
    - BLOCK*
    - BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: next_addresses
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - fill_block
    linkageType: ''
    returnType: void
    signature: "void next_addresses(BLOCK *address_block, BLOCK *input_block,\n    const
      BLOCK *zero_block)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pass
    - slice
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 416
    functionName: data_indep_addressing
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int data_indep_addressing(const KDF_ARGON2 *ctx, uint32_t pass,\n
      \   uint8_t slice)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - ctx
    - pass
    - slice
    - index
    - pseudo_rand
    - same_lane
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    - uint8_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 463
    functionName: index_alpha
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t index_alpha(const KDF_ARGON2 *ctx, uint32_t pass,\n    uint8_t
      slice, uint32_t index,\n    uint32_t pseudo_rand, int same_lane)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:476,1
    - Dst: data_indep_addressing
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:481,1
    - Dst: init_block_value
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:482,1
    - Dst: init_block_value
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:483,1
    - Dst: data_indep_addressing
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:498,1
    - Dst: next_addresses
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:499,1
    - Dst: data_indep_addressing
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:515,1
    - Dst: next_addresses
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:517,1
    - Dst: index_alpha
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:530,1
    - Dst: fill_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:538,1
    - Dst: fill_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:542,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - pass
    - lane
    - slice
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 545
    functionName: fill_segment
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - next_addresses
    - init_block_value
    - index_alpha
    - memset
    - data_indep_addressing
    - fill_block
    linkageType: ''
    returnType: void
    signature: "void fill_segment(const KDF_ARGON2 *ctx, uint32_t pass, uint32_t lane,\n
      \   uint8_t slice)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_segment
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: fill_segment_thr
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - fill_segment
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fill_segment_thr(void *thread_data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:566,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:567,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:577,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:579,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:590,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:591,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:595,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:597,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:605,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:607,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:614,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:615,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:621,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:623,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_ARGON2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 625
    functionName: fill_mem_blocks_mt
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_clean
    - OPENSSL_free
    - ossl_crypto_thread_start
    - ossl_crypto_thread_join
    - OPENSSL_calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int fill_mem_blocks_mt(KDF_ARGON2 *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_segment
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_ARGON2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: fill_mem_blocks_st
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - fill_segment
    linkageType: ''
    returnType: int
    signature: int fill_mem_blocks_st(KDF_ARGON2 *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_mem_blocks_st
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:643,1
    - Dst: fill_mem_blocks_mt
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:643,1
    - Dst: fill_mem_blocks_st
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_ARGON2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: fill_memory_blocks
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - fill_mem_blocks_st
    - fill_mem_blocks_mt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline fill_memory_blocks(KDF_ARGON2 *ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:667,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:668,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:672,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:673,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:678,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:681,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:686,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:688,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:692,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:695,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:696,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:700,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:703,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:708,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:709,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:713,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:717,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:721,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 2
    argNames:
    - blockhash
    - ctx
    argTypes:
    - uint8_t*
    - KDF_ARGON2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 649
    functionDepth: 5
    functionLinenumber: 649
    functionLinenumberEnd: 722
    functionName: initial_hash
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_destroy
    - EVP_DigestUpdate
    - OPENSSL_cleanse
    - EVP_DigestInit_ex
    - store32
    linkageType: ''
    returnType: void
    signature: void initial_hash(uint8_t *blockhash, KDF_ARGON2 *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_calloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:735,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:737,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:740,1
    - Dst: initial_hash
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:745,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:746,1
    - Dst: fill_first_blocks
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:748,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_ARGON2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 724
    functionDepth: 6
    functionLinenumber: 724
    functionLinenumberEnd: 752
    functionName: initialize
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - initial_hash
    - OPENSSL_secure_calloc
    - fill_first_blocks
    - OPENSSL_calloc
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int initialize(KDF_ARGON2 *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: copy_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:764,1
    - Dst: xor_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:769,1
    - Dst: store_block
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:773,1
    - Dst: blake2b_long
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:774,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:776,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:777,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:780,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - KDF_ARGON2*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 785
    functionName: finalize
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 11
    functionsReached:
    - OPENSSL_clear_free
    - store_block
    - blake2b_long
    - OPENSSL_secure_clear_free
    - copy_block
    - OPENSSL_cleanse
    - xor_block
    linkageType: ''
    returnType: void
    signature: void finalize(const KDF_ARGON2 *ctx, void *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:795,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:798,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:800,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:801,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:803,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:804,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:805,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:806,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - mac
    - out
    - outlen
    - in
    - inlen
    - key
    - keylen
    argTypes:
    - EVP_MAC*
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 787
    functionDepth: 6
    functionLinenumber: 787
    functionLinenumberEnd: 811
    functionName: blake2b_mac
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_MAC_CTX_set_params
    - EVP_MAC_CTX_new
    - EVP_MAC_final
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: "int blake2b_mac(EVP_MAC *mac, void *out, size_t outlen, const void
      *in,\n    size_t inlen, const void *key, size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:820,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:823,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:824,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:826,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:827,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:828,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - md
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_MD*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 813
    functionDepth: 8
    functionLinenumber: 813
    functionLinenumberEnd: 832
    functionName: blake2b_md
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - EVP_DigestFinal_ex
    - OSSL_PARAM_construct_end
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_free
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: "int blake2b_md(EVP_MD *md, void *out, size_t outlen, const void *in,\n
      \   size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_md
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:841,1
    - Dst: blake2b_mac
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 8
    argNames:
    - md
    - mac
    - out
    - outlen
    - in
    - inlen
    - key
    - keylen
    argTypes:
    - EVP_MD*
    - EVP_MAC*
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 834
    functionDepth: 9
    functionLinenumber: 834
    functionLinenumberEnd: 844
    functionName: blake2b
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - blake2b_md
    - blake2b_mac
    linkageType: ''
    returnType: int
    signature: "int blake2b(EVP_MD *md, EVP_MAC *mac, void *out, size_t outlen,\n
      \   const void *in, size_t inlen, const void *key, size_t keylen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:862,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:864,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:868,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:869,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:871,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:872,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:873,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:874,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:882,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:887,1
    - Dst: blake2b
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:888,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:892,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:897,1
    - Dst: blake2b
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:898,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:902,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:907,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 6
    argNames:
    - md
    - mac
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_MD*
    - EVP_MAC*
    - unsigned char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 846
    functionDepth: 10
    functionLinenumber: 846
    functionLinenumberEnd: 909
    functionName: blake2b_long
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 2
    functionsReached:
    - blake2b
    - EVP_MD_CTX_create
    - EVP_DigestFinal_ex
    - OSSL_PARAM_construct_end
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    - memcpy
    - store32
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: "int blake2b_long(EVP_MD *md, EVP_MAC *mac, unsigned char *out,\n    size_t
      outlen, const void *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - KDF_ARGON2*
    - ARGON2_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 926
    functionName: kdf_argon2_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void kdf_argon2_init(KDF_ARGON2 *c, ARGON2_TYPE type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:932,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:935,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:937,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:941,1
    - Dst: kdf_argon2_init
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 945
    functionName: kdf_argon2d_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - kdf_argon2_init
    - ERR_raise
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_argon2d_new(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:951,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:954,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:956,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:960,1
    - Dst: kdf_argon2_init
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 964
    functionName: kdf_argon2i_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - kdf_argon2_init
    - ERR_raise
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_argon2i_new(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:970,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:973,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:975,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:979,1
    - Dst: kdf_argon2_init
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 983
    functionName: kdf_argon2id_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - kdf_argon2_init
    - ERR_raise
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_argon2id_new(void *provctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:993,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:996,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:999,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1002,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1004,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1005,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1007,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 985
    functionDepth: 4
    functionLinenumber: 985
    functionLinenumberEnd: 1012
    functionName: kdf_argon2_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_MAC_free
    - memset
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void kdf_argon2_free(void *vctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1023,1
    - Dst: argon2_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1024,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1028,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1030,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1036,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1038,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1044,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1051,1
    - Dst: kdf_argon2_ctx_set_out_length
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1054,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1064,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1070,1
    - Dst: ossl_get_avail_threads
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1075,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1076,1
    - Dst: ossl_get_avail_threads
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1078,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1083,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1091,1
    - Dst: initialize
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1110,1
    - Dst: fill_memory_blocks
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1113,1
    - Dst: finalize
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1116,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 4
    argNames:
    - vctx
    - out
    - outlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1014
    functionDepth: 10
    functionLinenumber: 1014
    functionLinenumberEnd: 1119
    functionName: kdf_argon2_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - initialize
    - EVP_MAC_fetch
    - ERR_raise_data
    - ERR_raise
    - EVP_MD_fetch
    - kdf_argon2_ctx_set_out_length
    - fill_memory_blocks
    - ossl_get_avail_threads
    - argon2_set_ctx_params
    - finalize
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_argon2_derive(void *vctx, unsigned char *out, size_t outlen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1131,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1134,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1137,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1140,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1143,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1146,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1148,1
    - Dst: kdf_argon2_init
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1121
    functionDepth: 4
    functionLinenumber: 1121
    functionLinenumberEnd: 1151
    functionName: kdf_argon2_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_MAC_free
    - kdf_argon2_init
    - memset
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void kdf_argon2_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1156,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - threads
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1169
    functionName: kdf_argon2_ctx_set_threads
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_threads(KDF_ARGON2 *ctx, uint32_t threads)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1174,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - lanes
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1187
    functionName: kdf_argon2_ctx_set_lanes
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_lanes(KDF_ARGON2 *ctx, uint32_t lanes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - t_cost
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1201
    functionName: kdf_argon2_ctx_set_t_cost
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_t_cost(KDF_ARGON2 *ctx, uint32_t t_cost)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - m_cost
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1215
    functionName: kdf_argon2_ctx_set_m_cost
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_m_cost(KDF_ARGON2 *ctx, uint32_t m_cost)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - outlen
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1233
    functionName: kdf_argon2_ctx_set_out_length
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_out_length(KDF_ARGON2 *ctx, uint32_t outlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1243,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1248,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - KDF_ARGON2*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1260
    functionName: kdf_argon2_ctx_set_secret
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_secret(KDF_ARGON2 *ctx, const OSSL_PARAM *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1270,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1275,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1279,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - KDF_ARGON2*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1292
    functionName: kdf_argon2_ctx_set_pwd
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    - OSSL_PARAM_get_octet_string
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_pwd(KDF_ARGON2 *ctx, const OSSL_PARAM *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1302,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1307,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1311,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1317,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - KDF_ARGON2*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1330
    functionName: kdf_argon2_ctx_set_salt
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    - OSSL_PARAM_get_octet_string
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_salt(KDF_ARGON2 *ctx, const OSSL_PARAM *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1340,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - KDF_ARGON2*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1357
    functionName: kdf_argon2_ctx_set_ad
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_ad(KDF_ARGON2 *ctx, const OSSL_PARAM *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: kdf_argon2_ctx_set_flag_early_clean
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kdf_argon2_ctx_set_flag_early_clean(KDF_ARGON2 *ctx, uint32_t
      f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - version
    argTypes:
    - KDF_ARGON2*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1376
    functionName: kdf_argon2_ctx_set_version
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_ctx_set_version(KDF_ARGON2 *ctx, uint32_t version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1380,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1383,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1387,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - KDF_ARGON2*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1378
    functionDepth: 4
    functionLinenumber: 1378
    functionLinenumberEnd: 1392
    functionName: set_property_query
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - EVP_MD_free
    - EVP_MAC_free
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int set_property_query(KDF_ARGON2 *ctx, const char *propq)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: argon2_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1400,1
    - Dst: kdf_argon2_ctx_set_pwd
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1403,1
    - Dst: kdf_argon2_ctx_set_salt
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1406,1
    - Dst: kdf_argon2_ctx_set_secret
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1409,1
    - Dst: kdf_argon2_ctx_set_ad
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1412,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1416,1
    - Dst: kdf_argon2_ctx_set_out_length
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1418,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1423,1
    - Dst: kdf_argon2_ctx_set_t_cost
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1425,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1430,1
    - Dst: kdf_argon2_ctx_set_threads
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1432,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1437,1
    - Dst: kdf_argon2_ctx_set_lanes
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1439,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1444,1
    - Dst: kdf_argon2_ctx_set_m_cost
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1446,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1451,1
    - Dst: kdf_argon2_ctx_set_flag_early_clean
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1453,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1457,1
    - Dst: kdf_argon2_ctx_set_version
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1459,1
    - Dst: set_property_query
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1465,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    argCount: 3
    argNames:
    - ctx
    - params
    - size_param_ptr
    argTypes:
    - KDF_ARGON2*
    - OSSL_PARAM[]
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1394
    functionDepth: 5
    functionLinenumber: 1394
    functionLinenumberEnd: 1470
    functionName: argon2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 1
    functionsReached:
    - kdf_argon2_ctx_set_salt
    - kdf_argon2_ctx_set_m_cost
    - argon2_set_ctx_params_decoder
    - kdf_argon2_ctx_set_t_cost
    - OSSL_PARAM_get_uint32
    - kdf_argon2_ctx_set_pwd
    - kdf_argon2_ctx_set_out_length
    - kdf_argon2_ctx_set_secret
    - kdf_argon2_ctx_set_version
    - kdf_argon2_ctx_set_threads
    - kdf_argon2_ctx_set_lanes
    - kdf_argon2_ctx_set_flag_early_clean
    - set_property_query
    - kdf_argon2_ctx_set_ad
    linkageType: ''
    returnType: int
    signature: "int argon2_set_ctx_params(KDF_ARGON2 *ctx, const OSSL_PARAM params[],\n
      \   OSSL_PARAM **size_param_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argon2_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1472
    functionDepth: 6
    functionLinenumber: 1472
    functionLinenumberEnd: 1478
    functionName: kdf_argon2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - argon2_set_ctx_params
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_set_ctx_params(void *vctx, const 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: 1484
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1484
    functionName: kdf_argon2_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_argon2_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argon2_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1491,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/argon2.c:1494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1486
    functionDepth: 6
    functionLinenumber: 1486
    functionLinenumberEnd: 1498
    functionName: kdf_argon2_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - argon2_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kdf_argon2_get_ctx_params(void *vctx, 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: 1504
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1504
    functionName: kdf_argon2_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/argon2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_argon2_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:62,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:75,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: kdf_sshkdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_sshkdf_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_sshkdf_reset
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: kdf_sshkdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - kdf_sshkdf_reset
    linkageType: ''
    returnType: void
    signature: void kdf_sshkdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:97,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:98,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:99,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:100,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: kdf_sshkdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void kdf_sshkdf_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_sshkdf_new
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:110,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:112,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:114,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:116,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:118,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:121,1
    - Dst: kdf_sshkdf_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: kdf_sshkdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached:
    - kdf_sshkdf_free
    - ossl_prov_memdup
    - OSSL_FIPS_IND_COPY
    - kdf_sshkdf_new
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_sshkdf_dup(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:133,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: sshkdf_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int sshkdf_set_membuf(unsigned char **dst, size_t *dst_len,\n    const
      OSSL_PARAM *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:142,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:150,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:151,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:152,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:153,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:154,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - KDF_SSHKDF*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 9
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: fips_digest_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 1
    functionsReached:
    - PROV_LIBCTX_OF
    - EVP_MD_is_a
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_digest_check_passed(KDF_SSHKDF *ctx, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:169,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:170,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SSHKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: fips_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 1
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_key_check_passed(KDF_SSHKDF *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:190,1
    - Dst: kdf_sshkdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:190,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:211,1
    - Dst: SSHKDF
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 219
    functionName: kdf_sshkdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached:
    - kdf_sshkdf_set_ctx_params
    - SSHKDF
    - ERR_raise
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_sshkdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sshkdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:227,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:230,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:232,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:234,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:240,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:243,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:245,1
    - Dst: fips_digest_check_passed
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:250,1
    - Dst: sshkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:256,1
    - Dst: fips_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:260,1
    - Dst: sshkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:266,1
    - Dst: sshkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:270,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:282,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 288
    functionName: kdf_sshkdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_digest_load
    - OSSL_PARAM_get_utf8_string_ptr
    - ERR_raise
    - sshkdf_set_membuf
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - EVP_MD_xof
    - fips_key_check_passed
    - fips_digest_check_passed
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    - sshkdf_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kdf_sshkdf_set_ctx_params(void *vctx, const 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: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: kdf_sshkdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_sshkdf_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sshkdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:301,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:304,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: kdf_sshkdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_size_t
    - sshkdf_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kdf_sshkdf_get_ctx_params(void *vctx, 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: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: kdf_sshkdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_sshkdf_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:345,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:349,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:352,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:355,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:358,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:361,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:364,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:368,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:373,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:377,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:380,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:383,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:386,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:389,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:393,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:398,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:404,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/sshkdf.c:405,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 10
    argNames:
    - evp_md
    - key
    - key_len
    - xcghash
    - xcghash_len
    - session_id
    - session_id_len
    - type
    - okey
    - okey_len
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 333
    functionDepth: 8
    functionLinenumber: 333
    functionLinenumberEnd: 407
    functionName: SSHKDF
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sshkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int SSHKDF(const EVP_MD *evp_md,\n    const unsigned char *key, size_t
      key_len,\n    const unsigned char *xcghash, size_t xcghash_len,\n    const unsigned
      char *session_id, size_t session_id_len,\n    char type, unsigned char *okey,
      size_t okey_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:65,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:68,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:71,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:76,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:77,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:78,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:85,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:96,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:97,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:98,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:99,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:102,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:103,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:104,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:133,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:134,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:135,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 9
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - md_type
    - out
    - n
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - uint64_t
    - EVP_MD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 51
    functionDepth: 8
    functionLinenumber: 51
    functionLinenumberEnd: 137
    functionName: pkcs12kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_get_block_size
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int pkcs12kdf_derive(const unsigned char *pass, size_t passlen,\n
      \   const unsigned char *salt, size_t saltlen,\n    int id, uint64_t iter, const
      EVP_MD *md_type,\n    unsigned char *out, size_t n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:143,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: kdf_pkcs12_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_pkcs12_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:156,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:157,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: kdf_pkcs12_cleanup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pkcs12_cleanup(KDF_PKCS12 *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pkcs12_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: kdf_pkcs12_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - kdf_pkcs12_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pkcs12_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pkcs12_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: kdf_pkcs12_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - kdf_pkcs12_cleanup
    linkageType: ''
    returnType: void
    signature: void kdf_pkcs12_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pkcs12_new
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:185,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:187,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:189,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:191,1
    - Dst: kdf_pkcs12_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 201
    functionName: kdf_pkcs12_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - kdf_pkcs12_free
    - ossl_prov_memdup
    - kdf_pkcs12_new
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_pkcs12_dup(void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:206,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:211,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: pkcs12kdf_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int pkcs12kdf_set_membuf(unsigned char **buffer, size_t *buflen,\n
      \   const OSSL_PARAM *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:226,1
    - Dst: kdf_pkcs12_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:235,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:239,1
    - Dst: pkcs12kdf_derive
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 9
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: kdf_pkcs12_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - kdf_pkcs12_set_ctx_params
    - pkcs12kdf_derive
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_pkcs12_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pkcs12_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:250,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:253,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:255,1
    - Dst: pkcs12kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:258,1
    - Dst: pkcs12kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:262,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:265,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:268,1
    - Dst: getenv
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 280
    functionName: kdf_pkcs12_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_int
    - ossl_prov_digest_load
    - pkcs12kdf_set_membuf
    - pkcs12_set_ctx_params_decoder
    - OSSL_PARAM_get_uint64
    - getenv
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: int
    signature: int kdf_pkcs12_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: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: kdf_pkcs12_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pkcs12_settable_ctx_params(\n    ossl_unused void
      *ctx, ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pkcs12_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:293,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 6
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: kdf_pkcs12_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached:
    - pkcs12_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int kdf_pkcs12_get_ctx_params(void *vctx, 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: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: kdf_pkcs12_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pkcs12kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pkcs12_gettable_ctx_params(\n    ossl_unused void
      *ctx, ossl_unused void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:57,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:61,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:61,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 18
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: kdf_snmpkdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_snmpkdf_new(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_snmpkdf_new
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:76,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:78,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:80,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:82,1
    - Dst: kdf_snmpkdf_free
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 19
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: kdf_snmpkdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached:
    - kdf_snmpkdf_new
    - ossl_prov_memdup
    - kdf_snmpkdf_free
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_snmpkdf_dup(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_snmpkdf_reset
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: kdf_snmpkdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 1
    functionsReached:
    - kdf_snmpkdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_snmpkdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:107,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:108,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:109,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: kdf_snmpkdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void kdf_snmpkdf_reset(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:117,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: snmpkdf_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int snmpkdf_set_membuf(unsigned char **dst, size_t *dst_len,\n    const
      OSSL_PARAM *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:129,1
    - Dst: kdf_snmpkdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:129,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:142,1
    - Dst: SNMPKDF
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: kdf_snmpkdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SNMPKDF
    - kdf_snmpkdf_set_ctx_params
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_snmpkdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snmp_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:163,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:166,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:168,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:171,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:172,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:173,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:174,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:175,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:176,1
    - Dst: snmpkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:182,1
    - Dst: snmpkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:188,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 151
    functionDepth: 9
    functionLinenumber: 151
    functionLinenumberEnd: 192
    functionName: kdf_snmpkdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 1
    functionsReached:
    - snmp_set_ctx_params_decoder
    - ossl_prov_digest_load
    - EVP_MD_is_a
    - snmpkdf_set_membuf
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int kdf_snmpkdf_set_ctx_params(void *vctx, const 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: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: kdf_snmpkdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_snmpkdf_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:205,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:207,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SNMPKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: kdf_snmpkdf_size
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - ossl_prov_digest_md
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t kdf_snmpkdf_size(KDF_SNMPKDF *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snmp_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:219,1
    - Dst: kdf_snmpkdf_size
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:223,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 6
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: kdf_snmpkdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached:
    - kdf_snmpkdf_size
    - OSSL_PARAM_set_size_t
    - snmp_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kdf_snmpkdf_get_ctx_params(void *vctx, 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: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: kdf_snmpkdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_snmpkdf_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:303,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:307,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:312,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:316,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:320,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:321,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:322,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:323,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:324,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:325,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:326,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:329,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:334,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/snmpkdf.c:335,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 7
    argNames:
    - evp_md
    - e_id
    - e_len
    - password
    - password_len
    - okey
    - keylen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 285
    functionDepth: 8
    functionLinenumber: 285
    functionLinenumberEnd: 337
    functionName: SNMPKDF
    functionSourceFile: /src/openssl/providers/implementations/kdfs/snmpkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int SNMPKDF(const EVP_MD *evp_md,\n    const unsigned char *e_id,
      size_t e_len,\n    unsigned char *password, size_t password_len,\n    unsigned
      char *okey, size_t keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:99,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:103,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:103,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:108,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 18
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: kdf_pbkdf2_new_no_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_pbkdf2_new_no_init(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf2_new_no_init
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:118,1
    - Dst: kdf_pbkdf2_init
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 19
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: kdf_pbkdf2_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf2_init
    - kdf_pbkdf2_new_no_init
    linkageType: ''
    returnType: void
    signature: void *kdf_pbkdf2_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:127,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:131,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:133,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PBKDF2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: kdf_pbkdf2_cleanup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf2_cleanup(KDF_PBKDF2 *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf2_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: kdf_pbkdf2_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf2_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf2_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf2_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:152,1
    - Dst: kdf_pbkdf2_init
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: kdf_pbkdf2_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf2_init
    - kdf_pbkdf2_cleanup
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf2_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pbkdf2_new_no_init
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:163,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:165,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:167,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:169,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:173,1
    - Dst: kdf_pbkdf2_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 19
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: kdf_pbkdf2_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf2_new_no_init
    - ossl_prov_memdup
    - OSSL_FIPS_IND_COPY
    - kdf_pbkdf2_free
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_pbkdf2_dup(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:185,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:187,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:189,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PBKDF2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: kdf_pbkdf2_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 2
    functionsReached:
    - PROV_LIBCTX_OF
    - OSSL_PARAM_construct_utf8_string
    - ossl_prov_digest_reset
    - ossl_prov_digest_load
    linkageType: ''
    returnType: void
    signature: void kdf_pbkdf2_init(KDF_PBKDF2 *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:203,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:208,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: pbkdf2_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_set_membuf(unsigned char **buffer, size_t *buflen,\n    const
      OSSL_PARAM *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_self_test_in_progress
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - saltlen
    - iter
    - keylen
    - passlen
    - error
    - desc
    argTypes:
    - int
    - uint64_t
    - size_t
    - size_t
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 255
    functionName: pbkdf2_lower_bound_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - ossl_self_test_in_progress
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_lower_bound_check_passed(int saltlen, uint64_t iter,\n
      \   size_t keylen, size_t passlen,\n    int *error, const char **desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:262,1
    - Dst: pbkdf2_lower_bound_check_passed
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:265,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - saltlen
    - iter
    - keylen
    - passlen
    argTypes:
    - KDF_PBKDF2*
    - int
    - uint64_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 277
    functionName: fips_lower_bound_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - pbkdf2_lower_bound_check_passed
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: "int fips_lower_bound_check_passed(KDF_PBKDF2 *ctx, int saltlen,\n
      \   uint64_t iter, size_t keylen,\n    size_t passlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fips_lower_bound_check_passed
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:285,1
    - Dst: pbkdf2_lower_bound_check_passed
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:290,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - ctx
    - saltlen
    - iter
    - keylen
    - passlen
    - lower_bound_checks
    argTypes:
    - KDF_PBKDF2*
    - int
    - uint64_t
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 304
    functionName: lower_bound_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 2
    functionsReached:
    - pbkdf2_lower_bound_check_passed
    - ERR_raise
    - fips_lower_bound_check_passed
    linkageType: ''
    returnType: int
    signature: "int lower_bound_check_passed(KDF_PBKDF2 *ctx, int saltlen, uint64_t
      iter,\n    size_t keylen, size_t passlen,\n    int lower_bound_checks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:312,1
    - Dst: kdf_pbkdf2_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:321,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:325,1
    - Dst: pbkdf2_derive
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: kdf_pbkdf2_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - kdf_pbkdf2_set_ctx_params
    - ERR_raise
    - pbkdf2_derive
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_pbkdf2_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf2_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:340,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:343,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:346,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:348,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:350,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:356,1
    - Dst: ossl_FIPS_IND_set_settable
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:360,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:360,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:369,1
    - Dst: pbkdf2_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:374,1
    - Dst: lower_bound_check_passed
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:379,1
    - Dst: pbkdf2_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:382,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:387,1
    - Dst: lower_bound_check_passed
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:389,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 395
    functionName: kdf_pbkdf2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 1
    functionsReached:
    - pbkdf2_set_ctx_params_decoder
    - ossl_prov_digest_load
    - OSSL_PARAM_get_int
    - ossl_FIPS_IND_set_settable
    - ERR_raise_data
    - pbkdf2_set_membuf
    - lower_bound_check_passed
    - OSSL_PARAM_get_uint64
    - ERR_raise
    - EVP_MD_xof
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    - OSSL_FIPS_IND_GET
    linkageType: ''
    returnType: int
    signature: int kdf_pbkdf2_set_ctx_params(void *vctx, const 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: 401
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: kdf_pbkdf2_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pbkdf2_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pbkdf2_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:408,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:411,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 6
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: kdf_pbkdf2_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_size_t
    - pbkdf2_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kdf_pbkdf2_get_ctx_params(void *vctx, 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: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: kdf_pbkdf2_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pbkdf2_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:471,1
    - Dst: lower_bound_check_passed
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:475,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:478,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:483,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:485,1
    - Dst: HMAC_CTX_copy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:501,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:503,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:504,1
    - Dst: HMAC_Final
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:505,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:507,1
    - Dst: HMAC_CTX_copy
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:509,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:511,1
    - Dst: HMAC_Final
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:512,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:524,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/pbkdf2.c:525,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 10
    argNames:
    - ctx
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - digest
    - key
    - keylen
    - lower_bound_checks
    argTypes:
    - KDF_PBKDF2*
    - char*
    - size_t
    - unsigned char*
    - int
    - uint64_t
    - EVP_MD*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 450
    functionDepth: 12
    functionLinenumber: 450
    functionLinenumberEnd: 527
    functionName: pbkdf2_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pbkdf2.c
    functionUses: 1
    functionsReached:
    - HMAC_CTX_free
    - HMAC_CTX_copy
    - HMAC_Update
    - lower_bound_check_passed
    - ERR_raise
    - EVP_MD_get_size
    - memcpy
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_derive(KDF_PBKDF2 *ctx, const char *pass, size_t passlen,\n
      \   const unsigned char *salt, int saltlen, uint64_t iter,\n    const EVP_MD
      *digest, unsigned char *key,\n    size_t keylen, int lower_bound_checks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:90,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:92,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:100,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - libctx
    - algname
    - propq
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 9
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: find_alg_id
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - OSSL_NELEM
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: int
    signature: "int find_alg_id(OSSL_LIB_CTX *libctx, const char *algname,\n    const
      char *propq, size_t *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:110,1
    - Dst: ossl_DER_w_octet_string_uint32
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:112,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:115,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:116,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pkt
    - der_oid
    - der_oidlen
    - pcounter
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: DER_w_keyinfo
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_octet_string_uint32
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int DER_w_keyinfo(WPACKET *pkt,\n    const unsigned char *der_oid,
      size_t der_oidlen,\n    unsigned char **pcounter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_der
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:129,1
    - Dst: WPACKET_init_null_der
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:129,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:130,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:132,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:134,1
    - Dst: ossl_DER_w_octet_string_uint32
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:136,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:137,1
    - Dst: ossl_DER_w_octet_string
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:138,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:139,1
    - Dst: DER_w_keyinfo
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:140,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:141,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 17
    argNames:
    - pkt
    - buf
    - buflen
    - der_oid
    - der_oidlen
    - acvp
    - acvplen
    - partyu
    - partyulen
    - partyv
    - partyvlen
    - supp_pub
    - supp_publen
    - supp_priv
    - supp_privlen
    - keylen_bits
    - pcounter
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint32_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: der_encode_sharedinfo
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_end_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_octet_string_uint32
    - WPACKET_finish
    - WPACKET_init_null_der
    - WPACKET_init_der
    - DER_w_keyinfo
    - ossl_DER_w_octet_string
    linkageType: ''
    returnType: int
    signature: "int der_encode_sharedinfo(WPACKET *pkt, unsigned char *buf, size_t
      buflen,\n    const unsigned char *der_oid, size_t der_oidlen,\n    const unsigned
      char *acvp, size_t acvplen,\n    const unsigned char *partyu, size_t partyulen,\n
      \   const unsigned char *partyv, size_t partyvlen,\n    const unsigned char
      *supp_pub, size_t supp_publen,\n    const unsigned char *supp_priv, size_t supp_privlen,\n
      \   uint32_t keylen_bits, unsigned char **pcounter)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: der_encode_sharedinfo
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:225,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:230,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:232,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:234,1
    - Dst: der_encode_sharedinfo
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:238,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:248,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:266,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 16
    argNames:
    - keylen
    - cek_oid
    - cek_oid_len
    - acvp
    - acvp_len
    - partyu
    - partyu_len
    - partyv
    - partyv_len
    - supp_pub
    - supp_pub_len
    - supp_priv
    - supp_priv_len
    - der
    - der_len
    - out_ctr
    argTypes:
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 268
    functionName: x942_encode_otherinfo
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - WPACKET_get_curr
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - der_encode_sharedinfo
    linkageType: ''
    returnType: int
    signature: "int x942_encode_otherinfo(size_t keylen,\n    const unsigned char
      *cek_oid, size_t cek_oid_len,\n    const unsigned char *acvp, size_t acvp_len,\n
      \   const unsigned char *partyu, size_t partyu_len,\n    const unsigned char
      *partyv, size_t partyv_len,\n    const unsigned char *supp_pub, size_t supp_pub_len,\n
      \   const unsigned char *supp_priv, size_t supp_priv_len,\n    unsigned char
      **der, size_t *der_len,\n    unsigned char **out_ctr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:286,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:290,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:295,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:296,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:300,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:310,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:311,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:312,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:315,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:322,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:324,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:330,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:331,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:332,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 8
    argNames:
    - kdf_md
    - z
    - z_len
    - other
    - other_len
    - ctr
    - derived_key
    - derived_key_len
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 270
    functionDepth: 8
    functionLinenumber: 270
    functionLinenumberEnd: 334
    functionName: x942kdf_hash_kdm
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - EVP_MD_CTX_copy_ex
    - ERR_raise
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - memcpy
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: "int x942kdf_hash_kdm(const EVP_MD *kdf_md,\n    const unsigned char
      *z, size_t z_len,\n    const unsigned char *other, size_t other_len,\n    unsigned
      char *ctr,\n    unsigned char *derived_key, size_t derived_key_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:340,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:344,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:344,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:349,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 18
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: x942kdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *x942kdf_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:364,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:365,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:366,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:367,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:368,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:369,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:370,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 374
    functionName: x942kdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void x942kdf_reset(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x942kdf_reset
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:381,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: x942kdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - x942kdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void x942kdf_free(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x942kdf_new
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:391,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:393,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:395,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:397,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:399,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:401,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:404,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:407,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:413,1
    - Dst: x942kdf_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 386
    functionDepth: 19
    functionLinenumber: 386
    functionLinenumberEnd: 420
    functionName: x942kdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_memdup
    - OSSL_FIPS_IND_COPY
    - x942kdf_free
    - x942kdf_new
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *x942kdf_dup(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:428,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - out_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: x942kdf_set_buffer
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int x942kdf_set_buffer(unsigned char **out, size_t *out_len,\n    const
      OSSL_PARAM *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:439,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_X942*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 444
    functionName: x942kdf_size
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - ossl_prov_digest_md
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t x942kdf_size(KDF_X942 *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:449,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:450,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_X942*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: fips_x942kdf_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_x942kdf_key_check_passed(KDF_X942 *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:474,1
    - Dst: x942kdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:482,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:494,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:498,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:507,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:515,1
    - Dst: x942_encode_otherinfo
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:519,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:527,1
    - Dst: x942kdf_hash_kdm
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:530,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:532,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 464
    functionDepth: 9
    functionLinenumber: 464
    functionLinenumberEnd: 534
    functionName: x942kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - x942kdf_set_ctx_params
    - x942kdf_hash_kdm
    - x942_encode_otherinfo
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int x942kdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sshkdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:545,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:548,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:550,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:554,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:556,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:558,1
    - Dst: x942kdf_set_buffer
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:564,1
    - Dst: fips_x942kdf_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:567,1
    - Dst: x942kdf_set_buffer
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:573,1
    - Dst: x942kdf_set_buffer
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:577,1
    - Dst: x942kdf_set_buffer
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:581,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:584,1
    - Dst: x942kdf_set_buffer
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:588,1
    - Dst: x942kdf_set_buffer
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:594,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:598,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:600,1
    - Dst: find_alg_id
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:602,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 536
    functionDepth: 10
    functionLinenumber: 536
    functionLinenumberEnd: 609
    functionName: x942kdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_digest_load
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_utf8_string_ptr
    - x942kdf_set_buffer
    - find_alg_id
    - ERR_raise
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - EVP_MD_xof
    - fips_x942kdf_key_check_passed
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    - sshkdf_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int x942kdf_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: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: x942kdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *x942kdf_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sshkdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:622,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:625,1
    - Dst: x942kdf_size
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:625,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/x942kdf.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 6
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: x942kdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached:
    - x942kdf_size
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_size_t
    - sshkdf_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int x942kdf_get_ctx_params(void *vctx, 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: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: x942kdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/x942kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *x942kdf_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:48,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:48,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:53,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 18
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: hmac_drbg_kdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ERR_raise
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *hmac_drbg_kdf_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:71,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:72,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:73,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:74,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: hmac_drbg_kdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - OPENSSL_cleanse
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void hmac_drbg_kdf_reset(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_drbg_kdf_reset
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:84,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: hmac_drbg_kdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - hmac_drbg_kdf_reset
    linkageType: ''
    returnType: void
    signature: void hmac_drbg_kdf_free(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:92,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:96,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:98,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_DRBG_HMAC*
    - PROV_DRBG_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: ossl_drbg_hmac_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_prov_digest_copy
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: int
    signature: int ossl_drbg_hmac_dup(PROV_DRBG_HMAC *dst, const PROV_DRBG_HMAC *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hmac_drbg_kdf_new
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:109,1
    - Dst: ossl_drbg_hmac_dup
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:111,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:112,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:114,1
    - Dst: hmac_drbg_kdf_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 19
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: hmac_drbg_kdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - ossl_drbg_hmac_dup
    - hmac_drbg_kdf_free
    - ossl_prov_memdup
    - hmac_drbg_kdf_new
    linkageType: ''
    returnType: void
    signature: void *hmac_drbg_kdf_dup(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:132,1
    - Dst: hmac_drbg_kdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:133,1
    - Dst: ossl_drbg_hmac_init
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:140,1
    - Dst: ossl_drbg_hmac_generate
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - vctx
    - out
    - outlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 9
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: hmac_drbg_kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - ossl_drbg_hmac_generate
    - ossl_drbg_hmac_init
    - hmac_drbg_kdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int hmac_drbg_kdf_derive(void *vctx, unsigned char *out, size_t outlen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hmac_drbg_kdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:157,1
    - Dst: EVP_MAC_get0_name
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:163,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:163,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:164,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:169,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:171,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 175
    functionName: hmac_drbg_kdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_get0_mac
    - OSSL_PARAM_set_utf8_string
    - EVP_MD_get0_name
    - hmac_drbg_kdf_get_ctx_params_decoder
    - EVP_MAC_get0_name
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int hmac_drbg_kdf_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: hmac_drbg_kdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *hmac_drbg_kdf_gettable_ctx_params(\n    ossl_unused void
      *vctx, ossl_unused void *p_ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hmac_drbg_kdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:195,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:199,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:204,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:214,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:221,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:225,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:228,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:231,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c:236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 241
    functionName: hmac_drbg_kdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_macctx_load
    - hmac_drbg_kdf_set_ctx_params_decoder
    - ossl_prov_digest_load
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_xof
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: "int hmac_drbg_kdf_set_ctx_params(void *vctx,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: hmac_drbg_kdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hmacdrbg_kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *hmac_drbg_kdf_settable_ctx_params(\n    ossl_unused void
      *vctx, ossl_unused void *p_ctx)"
  - 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: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: ossl_min
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_min(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - host
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: be32
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t be32(uint32_t host)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KBKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 913
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(KBKDF *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:123,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:127,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:127,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:132,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:137,1
    - Dst: init
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 18
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: kbkdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - init
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kbkdf_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kbkdf_reset
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: kbkdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - kbkdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kbkdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:157,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:158,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:159,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:160,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:161,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:162,1
    - Dst: init
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: kbkdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - memset
    - init
    linkageType: ''
    returnType: void
    signature: void kbkdf_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kbkdf_new
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:172,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:174,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:176,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:178,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:180,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:182,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:190,1
    - Dst: kbkdf_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 167
    functionDepth: 19
    functionLinenumber: 167
    functionLinenumberEnd: 197
    functionName: kbkdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_memdup
    - kbkdf_new
    - OSSL_FIPS_IND_COPY
    - EVP_MAC_CTX_dup
    - kbkdf_free
    linkageType: ''
    returnType: void
    signature: void *kbkdf_dup(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:202,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:203,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KBKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: fips_kbkdf_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_kbkdf_key_check_passed(KBKDF *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:243,1
    - Dst: be32
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:246,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:248,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:253,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:256,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:257,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:258,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:259,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:260,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:261,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:265,1
    - Dst: ossl_min
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:265,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:269,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:275,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 15
    argNames:
    - ctx_init
    - mode
    - iv
    - iv_len
    - label
    - label_len
    - context
    - context_len
    - k_i
    - h
    - l
    - has_separator
    - ko
    - ko_len
    - r
    argTypes:
    - EVP_MAC_CTX*
    - kbkdf_mode
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint32_t
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 218
    functionDepth: 6
    functionLinenumber: 218
    functionLinenumberEnd: 277
    functionName: derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 103
    functionsReached:
    - EVP_MAC_update
    - ossl_min
    - be32
    - EVP_MAC_CTX_free
    - memcpy
    - EVP_MAC_final
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: int
    signature: "int derive(EVP_MAC_CTX *ctx_init, kbkdf_mode mode, unsigned char *iv,\n
      \   size_t iv_len, unsigned char *label, size_t label_len,\n    unsigned char
      *context, size_t context_len,\n    unsigned char *k_i, size_t h, uint32_t l,
      int has_separator,\n    unsigned char *ko, size_t ko_len, int r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:286,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:288,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - custom
    - customlen
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: kmac_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int kmac_init(EVP_MAC_CTX *ctx, const unsigned char *custom, size_t
      customlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:297,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:298,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:299,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:300,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - context
    - contextlen
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: kmac_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - OSSL_PARAM_construct_end
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: "int kmac_derive(EVP_MAC_CTX *ctx, unsigned char *out, size_t outlen,\n
      \   const unsigned char *context, size_t contextlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:314,1
    - Dst: kbkdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:332,1
    - Dst: kmac_derive
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:337,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:355,1
    - Dst: be32
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:361,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:363,1
    - Dst: derive
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:367,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:372,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:373,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 304
    functionDepth: 7
    functionLinenumber: 304
    functionLinenumberEnd: 375
    functionName: kbkdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_clear_free
    - be32
    - derive
    - ERR_raise
    - kmac_derive
    - kbkdf_set_ctx_params
    - EVP_MAC_CTX_get_mac_size
    - OPENSSL_cleanse
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kbkdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: kbkdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:384,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:387,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:389,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:392,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:398,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:398,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:400,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:400,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:403,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:403,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:405,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:407,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:413,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:415,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:417,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:420,1
    - Dst: ossl_param_get1_octet_string_from_param
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:425,1
    - Dst: fips_kbkdf_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:430,1
    - Dst: ossl_param_get1_octet_string_from_param
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:434,1
    - Dst: ossl_param_get1_concat_octet_string
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:439,1
    - Dst: ossl_param_get1_octet_string_from_param
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:444,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:449,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:455,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:462,1
    - Dst: kmac_init
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:467,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:468,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 57
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 377
    functionDepth: 9
    functionLinenumber: 377
    functionLinenumberEnd: 472
    functionName: kbkdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_macctx_load
    - OPENSSL_strncasecmp
    - kbkdf_set_ctx_params_decoder
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_utf8_string_ptr
    - EVP_MAC_is_a
    - EVP_MAC_CTX_get0_mac
    - ERR_raise
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - ossl_param_get1_concat_octet_string
    - EVP_MAC_init
    - PROV_LIBCTX_OF
    - ossl_param_get1_octet_string_from_param
    - fips_kbkdf_key_check_passed
    - kmac_init
    linkageType: ''
    returnType: int
    signature: int kbkdf_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: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: kbkdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kbkdf_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kbkdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:485,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:489,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/kbkdf.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 480
    functionDepth: 6
    functionLinenumber: 480
    functionLinenumberEnd: 495
    functionName: kbkdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_size_t
    - kbkdf_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kbkdf_get_ctx_params(void *vctx, 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: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: kbkdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/kbkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kbkdf_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:101,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:105,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:105,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:110,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 18
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: kdf_hkdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_hkdf_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_hkdf_reset_ex
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: kdf_hkdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - kdf_hkdf_reset_ex
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_hkdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_hkdf_reset_ex
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: kdf_hkdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - kdf_hkdf_reset_ex
    linkageType: ''
    returnType: void
    signature: void kdf_hkdf_reset(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:143,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:150,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:151,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:152,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:153,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - vctx
    - on_free
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: kdf_hkdf_reset_ex
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 2
    functionsReached:
    - OPENSSL_clear_free
    - memset
    - ossl_prov_digest_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_hkdf_reset_ex(void *vctx, int on_free)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_hkdf_new
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:167,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:169,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:171,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:173,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:175,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:177,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:179,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:181,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:185,1
    - Dst: kdf_hkdf_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 162
    functionDepth: 19
    functionLinenumber: 162
    functionLinenumberEnd: 192
    functionName: kdf_hkdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_memdup
    - OSSL_FIPS_IND_COPY
    - kdf_hkdf_free
    - kdf_hkdf_new
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_hkdf_dup(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:203,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_HKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: kdf_hkdf_size
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - ossl_prov_digest_md
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t kdf_hkdf_size(KDF_HKDF *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:216,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:217,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_HKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: fips_hkdf_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_hkdf_key_check_passed(KDF_HKDF *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:235,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:238,1
    - Dst: kdf_hkdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:238,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:247,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:251,1
    - Dst: HKDF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:258,1
    - Dst: HKDF_Extract
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:262,1
    - Dst: HKDF_Expand
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 269
    functionName: kdf_hkdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - HKDF_Extract
    - HKDF
    - HKDF_Expand
    - ERR_raise
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    - kdf_hkdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_hkdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:296,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:302,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:305,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:307,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:314,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:316,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:321,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:333,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:339,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:347,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:349,1
    - Dst: ossl_param_get1_concat_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - KDF_HKDF*
    - struct hkdf_all_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 361
    functionName: hkdf_common_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_load
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_octet_string
    - OPENSSL_free
    - OPENSSL_clear_free
    - ERR_raise
    - EVP_MD_xof
    - ossl_param_get1_concat_octet_string
    - PROV_LIBCTX_OF
    - OPENSSL_strcasecmp
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int hkdf_common_set_ctx_params(KDF_HKDF *ctx, struct hkdf_all_set_ctx_params_st
      *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:368,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:371,1
    - Dst: hkdf_common_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:374,1
    - Dst: fips_hkdf_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: kdf_hkdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 1
    functionsReached:
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - hkdf_set_ctx_params_decoder
    - hkdf_common_set_ctx_params
    - fips_hkdf_key_check_passed
    linkageType: ''
    returnType: int
    signature: int kdf_hkdf_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: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: kdf_hkdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_hkdf_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *provctx)"
  - 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: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: hkdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *hkdf_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:403,1
    - Dst: kdf_hkdf_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:407,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:411,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:416,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:420,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:420,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:429,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:433,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:437,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:444,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:452,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:459,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:463,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 398
    functionDepth: 6
    functionLinenumber: 398
    functionLinenumberEnd: 467
    functionName: hkdf_common_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - kdf_hkdf_size
    - OSSL_PARAM_set_int
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - hkdf_get_ctx_params_decoder
    - OSSL_PARAM_set_utf8_string
    - EVP_MD_get0_name
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_set_size_t
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int hkdf_common_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:486,1
    - Dst: kdf_hkdf_new
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:490,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:494,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:496,1
    - Dst: kdf_hkdf_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - digest
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 484
    functionDepth: 19
    functionLinenumber: 484
    functionLinenumberEnd: 505
    functionName: kdf_hkdf_fixed_digest_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - ossl_prov_digest_load
    - kdf_hkdf_new
    - kdf_hkdf_free
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void *kdf_hkdf_fixed_digest_new(void *provctx, const char *digest)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_fixed_digest_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:512,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:515,1
    - Dst: hkdf_common_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:518,1
    - Dst: fips_hkdf_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 7
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: kdf_hkdf_fixed_digest_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - hkdf_fixed_digest_set_ctx_params_decoder
    - hkdf_common_set_ctx_params
    - fips_hkdf_key_check_passed
    linkageType: ''
    returnType: int
    signature: int kdf_hkdf_fixed_digest_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: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: kdf_hkdf_fixed_digest_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *kdf_hkdf_fixed_digest_settable_ctx_params(ossl_unused void
      *ctx, ossl_unused void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hashname
    - ','
    - hashstring
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: KDF_HKDF_FIXED_DIGEST_NEW
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KDF_HKDF_FIXED_DIGEST_NEW(hashname, hashstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hashname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 558
    functionName: MAKE_KDF_HKDF_FIXED_DIGEST_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_KDF_HKDF_FIXED_DIGEST_FUNCTIONS(hashname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:598,1
    - Dst: HKDF_Extract
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:604,1
    - Dst: HKDF_Expand
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:609,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 10
    argNames:
    - libctx
    - evp_md
    - salt
    - salt_len
    - ikm
    - ikm_len
    - info
    - info_len
    - okm
    - okm_len
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 613
    functionName: HKDF
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 2
    functionsReached:
    - HKDF_Expand
    - HKDF_Extract
    - EVP_MD_get_size
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int HKDF(OSSL_LIB_CTX *libctx, const EVP_MD *evp_md,\n    const unsigned
      char *salt, size_t salt_len,\n    const unsigned char *ikm, size_t ikm_len,\n
      \   const unsigned char *info, size_t info_len,\n    unsigned char *okm, size_t
      okm_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:644,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:649,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:653,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:653,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - libctx
    - evp_md
    - salt
    - salt_len
    - ikm
    - ikm_len
    - prk
    - prk_len
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 639
    functionDepth: 7
    functionLinenumber: 639
    functionLinenumberEnd: 656
    functionName: HKDF_Extract
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 2
    functionsReached:
    - EVP_Q_mac
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_get0_name
    linkageType: ''
    returnType: int
    signature: "int HKDF_Extract(OSSL_LIB_CTX *libctx, const EVP_MD *evp_md,\n    const
      unsigned char *salt, size_t salt_len,\n    const unsigned char *ikm, size_t
      ikm_len,\n    unsigned char *prk, size_t prk_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:708,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:721,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:724,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:733,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:736,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:740,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:743,1
    - Dst: HMAC_Final
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:746,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:751,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:758,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:759,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 7
    argNames:
    - evp_md
    - prk
    - prk_len
    - info
    - info_len
    - okm
    - okm_len
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 697
    functionDepth: 12
    functionLinenumber: 697
    functionLinenumberEnd: 761
    functionName: HKDF_Expand
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 2
    functionsReached:
    - HMAC_CTX_free
    - HMAC_Update
    - OPENSSL_cleanse
    - EVP_MD_get_size
    - memcpy
    - HMAC_Final
    - HMAC_Init_ex
    - HMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: "int HKDF_Expand(const EVP_MD *evp_md,\n    const unsigned char *prk,
      size_t prk_len,\n    const unsigned char *info, size_t info_len,\n    unsigned
      char *okm, size_t okm_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:792,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:793,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:794,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:795,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:796,1
    - Dst: WPACKET_close
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:797,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:798,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:799,1
    - Dst: WPACKET_finish
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:800,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:801,1
    - Dst: HKDF_Expand
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:805,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 11
    argNames:
    - md
    - key
    - keylen
    - prefix
    - prefixlen
    - label
    - labellen
    - data
    - datalen
    - out
    - outlen
    argTypes:
    - EVP_MD*
    - 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: 807
      start: 775
    functionDepth: 13
    functionLinenumber: 775
    functionLinenumberEnd: 807
    functionName: prov_tls13_hkdf_expand
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - WPACKET_sub_memcpy_u8
    - WPACKET_cleanup
    - HKDF_Expand
    - WPACKET_start_sub_packet_u8
    - WPACKET_put_bytes_u16
    - WPACKET_finish
    - WPACKET_close
    - WPACKET_memcpy
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int prov_tls13_hkdf_expand(const EVP_MD *md,\n    const unsigned char
      *key, size_t keylen,\n    const unsigned char *prefix, size_t prefixlen,\n    const
      unsigned char *label, size_t labellen,\n    const unsigned char *data, size_t
      datalen,\n    unsigned char *out, size_t outlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:827,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:841,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:846,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:847,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:848,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:851,1
    - Dst: prov_tls13_hkdf_expand
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:854,1
    - Dst: HKDF_Extract
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:862,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:866,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 12
    argNames:
    - libctx
    - md
    - prevsecret
    - prevsecretlen
    - insecret
    - insecretlen
    - prefix
    - prefixlen
    - label
    - labellen
    - out
    - outlen
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD*
    - 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: 868
      start: 809
    functionDepth: 14
    functionLinenumber: 809
    functionLinenumberEnd: 868
    functionName: prov_tls13_hkdf_generate_secret
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - HKDF_Extract
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - prov_tls13_hkdf_expand
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int prov_tls13_hkdf_generate_secret(OSSL_LIB_CTX *libctx,\n    const
      EVP_MD *md,\n    const unsigned char *prevsecret,\n    size_t prevsecretlen,\n
      \   const unsigned char *insecret,\n    size_t insecretlen,\n    const unsigned
      char *prefix,\n    size_t prefixlen,\n    const unsigned char *label,\n    size_t
      labellen,\n    unsigned char *out, size_t outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:873,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:881,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:882,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:885,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - KDF_HKDF*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 871
    functionDepth: 9
    functionLinenumber: 871
    functionLinenumberEnd: 893
    functionName: fips_tls1_3_digest_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - EVP_MD_is_a
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_tls1_3_digest_check_passed(KDF_HKDF *ctx, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:904,1
    - Dst: EVP_MD_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_HKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 913
    functionName: fips_tls1_3_key_size
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_md
    - EVP_MD_size
    linkageType: ''
    returnType: size_t
    signature: size_t fips_tls1_3_key_size(KDF_HKDF *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:917,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:918,1
    - Dst: fips_tls1_3_key_size
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:918,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:921,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_HKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 929
    functionName: fips_tls1_3_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - ossl_kdf_check_key_size
    - PROV_LIBCTX_OF
    - fips_tls1_3_key_size
    linkageType: ''
    returnType: int
    signature: int fips_tls1_3_key_check_passed(KDF_HKDF *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:938,1
    - Dst: kdf_tls1_3_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:938,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:941,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:943,1
    - Dst: prov_tls13_hkdf_generate_secret
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:952,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:952,1
    - Dst: prov_tls13_hkdf_expand
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 932
    functionDepth: 15
    functionLinenumber: 932
    functionLinenumberEnd: 967
    functionName: kdf_tls1_3_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached:
    - prov_tls13_hkdf_generate_secret
    - ERR_raise
    - prov_tls13_hkdf_expand
    - PROV_LIBCTX_OF
    - kdf_tls1_3_set_ctx_params
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_tls1_3_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: kdf_tls1_3_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:974,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:977,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:979,1
    - Dst: hkdf_common_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:982,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:986,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:991,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:993,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:999,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:1001,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:1007,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:1009,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:1016,1
    - Dst: fips_tls1_3_digest_check_passed
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:1018,1
    - Dst: fips_tls1_3_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/hkdf.c:1023,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 969
    functionDepth: 10
    functionLinenumber: 969
    functionLinenumberEnd: 1028
    functionName: kdf_tls1_3_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    - hkdf_common_set_ctx_params
    - ERR_raise
    - kdf_tls1_3_set_ctx_params_decoder
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - fips_tls1_3_digest_check_passed
    - OSSL_PARAM_get_octet_string
    - ossl_prov_digest_md
    - fips_tls1_3_key_check_passed
    linkageType: ''
    returnType: int
    signature: int kdf_tls1_3_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: 1034
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: kdf_tls1_3_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/hkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_tls1_3_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:65,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:68,1
    - Dst: kdf_scrypt_init
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: kdf_scrypt_new_inner
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - kdf_scrypt_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_scrypt_new_inner(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_scrypt_new_inner
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:78,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: kdf_scrypt_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - kdf_scrypt_new_inner
    linkageType: ''
    returnType: void
    signature: void *kdf_scrypt_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:86,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:87,1
    - Dst: kdf_scrypt_reset
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: kdf_scrypt_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - kdf_scrypt_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_scrypt_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:97,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:99,1
    - Dst: kdf_scrypt_init
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: kdf_scrypt_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - kdf_scrypt_init
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_scrypt_reset(void *vctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kdf_scrypt_new_inner
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:109,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:111,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:114,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:118,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:120,1
    - Dst: kdf_scrypt_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: kdf_scrypt_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - kdf_scrypt_free
    - OPENSSL_strdup
    - ossl_prov_memdup
    - kdf_scrypt_new_inner
    - EVP_MD_up_ref
    linkageType: ''
    returnType: void
    signature: void *kdf_scrypt_dup(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SCRYPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: kdf_scrypt_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kdf_scrypt_init(KDF_SCRYPT *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:151,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:156,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: scrypt_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int scrypt_set_membuf(unsigned char **buffer, size_t *buflen,\n    const
      OSSL_PARAM *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:167,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SCRYPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 10
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: set_digest
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 5
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int set_digest(KDF_SCRYPT *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:178,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - KDF_SCRYPT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: set_property_query
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int set_property_query(KDF_SCRYPT *ctx, const char *propq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:193,1
    - Dst: kdf_scrypt_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:202,1
    - Dst: set_digest
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:206,1
    - Dst: scrypt_alg
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 11
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: kdf_scrypt_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - set_digest
    - scrypt_alg
    - ERR_raise
    - kdf_scrypt_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_scrypt_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: is_power_of_two
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_power_of_two(uint64_t value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: scrypt_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:226,1
    - Dst: scrypt_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:229,1
    - Dst: scrypt_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:232,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:236,1
    - Dst: is_power_of_two
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:238,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:244,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:250,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:256,1
    - Dst: set_property_query
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:263,1
    - Dst: set_digest
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:264,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 32
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 220
    functionDepth: 11
    functionLinenumber: 220
    functionLinenumberEnd: 268
    functionName: kdf_scrypt_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 1
    functionsReached:
    - set_digest
    - is_power_of_two
    - OSSL_PARAM_get_uint64
    - scrypt_set_membuf
    - scrypt_set_ctx_params_decoder
    - set_property_query
    linkageType: ''
    returnType: int
    signature: int kdf_scrypt_set_ctx_params(void *vctx, const 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: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: kdf_scrypt_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_scrypt_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scrypt_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:281,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 6
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: kdf_scrypt_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - scrypt_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int kdf_scrypt_get_ctx_params(void *vctx, 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: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: kdf_scrypt_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_scrypt_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - 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: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: R
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 243
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:316,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:318,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:319,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:320,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:321,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:322,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:323,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:324,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:325,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:326,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:327,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:328,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:329,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:330,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:331,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:332,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:333,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:334,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:335,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:336,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:337,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:338,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:339,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:340,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:341,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:342,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:343,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:344,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:345,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:346,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:347,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:348,1
    - Dst: R
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:349,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - inout
    argTypes:
    - uint32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 354
    functionName: salsa208_word_specification
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - R
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void salsa208_word_specification(uint32_t inout[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:361,1
    - Dst: salsa208_word_specification
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:366,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:367,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - B_
    - B
    - r
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: scryptBlockMix
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - salsa208_word_specification
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void scryptBlockMix(uint32_t *B_, uint32_t *B, uint64_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scryptBlockMix
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:388,1
    - Dst: scryptBlockMix
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:390,1
    - Dst: scryptBlockMix
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - B
    - r
    - N
    - X
    - T
    - V
    argTypes:
    - unsigned char*
    - uint64_t
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 408
    functionName: scryptROMix
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 0
    functionsReached:
    - scryptBlockMix
    linkageType: ''
    returnType: void
    signature: "void scryptROMix(unsigned char *B, uint64_t r, uint64_t N,\n    uint32_t
      *X, uint32_t *T, uint32_t *V)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:493,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:502,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:510,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:516,1
    - Dst: scryptROMix
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:522,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:524,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:531,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/scrypt.c:533,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 13
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - N
    - r
    - p
    - maxmem
    - key
    - keylen
    - sha256
    - libctx
    - propq
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - unsigned char*
    - size_t
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 430
    functionDepth: 5
    functionLinenumber: 430
    functionLinenumberEnd: 535
    functionName: scrypt_alg
    functionSourceFile: /src/openssl/providers/implementations/kdfs/scrypt.c
    functionUses: 1
    functionsReached:
    - scryptROMix
    - OPENSSL_clear_free
    - ERR_raise
    - ossl_pkcs5_pbkdf2_hmac_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int scrypt_alg(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, EVP_MD *sha256,\n    OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:151,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:156,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:157,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:161,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:170,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:171,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:172,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:173,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:174,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:177,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:184,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:186,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:192,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:193,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:194,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 46
    argCount: 8
    argNames:
    - kdf_md
    - z
    - z_len
    - info
    - info_len
    - append_ctr
    - derived_key
    - derived_key_len
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 133
    functionDepth: 8
    functionLinenumber: 133
    functionLinenumberEnd: 196
    functionName: SSKDF_hash_kdm
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - OPENSSL_cleanse
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_destroy
    - EVP_DigestUpdate
    - memcpy
    - EVP_DigestInit
    linkageType: ''
    returnType: int
    signature: "int SSKDF_hash_kdm(const EVP_MD *kdf_md,\n    const unsigned char
      *z, size_t z_len,\n    const unsigned char *info, size_t info_len,\n    unsigned
      int append_ctr,\n    unsigned char *derived_key, size_t derived_key_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:209,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:211,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:213,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:228,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:231,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - custom
    - custom_len
    - kmac_out_len
    - derived_key_len
    - out
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - size_t
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 244
    functionName: kmac_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_zalloc
    - OSSL_PARAM_construct_end
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: "int kmac_init(EVP_MAC_CTX *ctx, const unsigned char *custom,\n    size_t
      custom_len, size_t kmac_out_len,\n    size_t derived_key_len, unsigned char
      **out)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: kmac_init
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:273,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:279,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:282,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:293,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:295,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:296,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:297,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:300,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:307,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:309,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:312,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:318,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:320,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:322,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 51
    argCount: 12
    argNames:
    - ctx_init
    - kmac_custom
    - kmac_custom_len
    - kmac_out_len
    - salt
    - salt_len
    - z
    - z_len
    - info
    - info_len
    - derived_key
    - derived_key_len
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 324
    functionName: SSKDF_mac_kdm
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - OPENSSL_cleanse
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - EVP_MAC_CTX_get_mac_size
    - kmac_init
    - memcpy
    - EVP_MAC_final
    - EVP_MAC_CTX_dup
    linkageType: ''
    returnType: int
    signature: "int SSKDF_mac_kdm(EVP_MAC_CTX *ctx_init,\n    const unsigned char
      *kmac_custom,\n    size_t kmac_custom_len, size_t kmac_out_len,\n    const unsigned
      char *salt, size_t salt_len,\n    const unsigned char *z, size_t z_len,\n    const
      unsigned char *info, size_t info_len,\n    unsigned char *derived_key, size_t
      derived_key_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:331,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:334,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: sskdf_common_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *sskdf_common_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:345,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:345,1
    - Dst: sskdf_common_new
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 18
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: sskdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_deferred_self_test
    - sskdf_common_new
    linkageType: ''
    returnType: void
    signature: void *sskdf_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:358,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:358,1
    - Dst: sskdf_common_new
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 18
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: x963_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_deferred_self_test
    - sskdf_common_new
    linkageType: ''
    returnType: void
    signature: void *x963_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:372,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:373,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:374,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:375,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:376,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: sskdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MAC_CTX_free
    - memset
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void sskdf_reset(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sskdf_reset
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: sskdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - sskdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sskdf_free(void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sskdf_common_new
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:396,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:399,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:403,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:405,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:407,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:409,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:413,1
    - Dst: sskdf_free
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 420
    functionName: sskdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_memdup
    - sskdf_free
    - OSSL_FIPS_IND_COPY
    - sskdf_common_new
    - EVP_MAC_CTX_dup
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *sskdf_dup(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:430,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:432,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SSKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: sskdf_size
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - ossl_prov_digest_md
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t sskdf_size(KDF_SSKDF *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:443,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:444,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SSKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 455
    functionName: fips_sskdf_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_sskdf_key_check_passed(KDF_SSKDF *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:464,1
    - Dst: sskdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:467,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:471,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:479,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:484,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:487,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:494,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:499,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:504,1
    - Dst: SSKDF_mac_kdm
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:518,1
    - Dst: SSKDF_hash_kdm
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:521,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 458
    functionDepth: 9
    functionLinenumber: 458
    functionLinenumberEnd: 524
    functionName: sskdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSKDF_hash_kdm
    - EVP_MAC_is_a
    - EVP_MAC_CTX_get0_mac
    - ERR_raise
    - EVP_MD_get_size
    - sskdf_set_ctx_params
    - SSKDF_mac_kdm
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int sskdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:531,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:539,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:542,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - KDF_SSKDF*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 529
    functionDepth: 9
    functionLinenumber: 529
    functionLinenumberEnd: 550
    functionName: fips_x963kdf_digest_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - EVP_MD_is_a
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_x963kdf_digest_check_passed(KDF_SSKDF *ctx, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:554,1
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:555,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:558,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SSKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: fips_x963kdf_key_check_passed
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_kdf_check_key_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int fips_x963kdf_key_check_passed(KDF_SSKDF *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:575,1
    - Dst: x963kdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:575,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:579,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:584,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:589,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:591,1
    - Dst: SSKDF_hash_kdm
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 569
    functionDepth: 9
    functionLinenumber: 569
    functionLinenumberEnd: 597
    functionName: x963kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - SSKDF_hash_kdm
    - ERR_raise
    - ossl_prov_digest_md
    - x963kdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int x963kdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:609,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:612,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:613,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:614,1
    - Dst: ossl_param_get1_octet_string_from_param
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:619,1
    - Dst: ossl_param_get1_concat_octet_string
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:624,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:630,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - p
    - params
    - libctx
    argTypes:
    - KDF_SSKDF*
    - struct sskdf_all_set_ctx_params_st*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 635
    functionName: sskdf_common_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_load
    - ERR_raise
    - EVP_MD_xof
    - ossl_param_get1_concat_octet_string
    - OSSL_PARAM_get_size_t
    - ossl_prov_digest_md
    - ossl_param_get1_octet_string_from_param
    linkageType: ''
    returnType: int
    signature: "int sskdf_common_set_ctx_params(KDF_SSKDF *ctx, struct sskdf_all_set_ctx_params_st
      *p,\n    const OSSL_PARAM *params, OSSL_LIB_CTX *libctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sskdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:644,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:647,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:650,1
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:651,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:656,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:656,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:658,1
    - Dst: EVP_MAC_CTX_get0_mac
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:658,1
    - Dst: ossl_param_get1_octet_string_from_param
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:663,1
    - Dst: sskdf_common_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:667,1
    - Dst: fips_sskdf_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:672,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 638
    functionDepth: 9
    functionLinenumber: 638
    functionLinenumberEnd: 677
    functionName: sskdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_macctx_load
    - EVP_MAC_is_a
    - EVP_MAC_CTX_get0_mac
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - fips_sskdf_key_check_passed
    - sskdf_common_set_ctx_params
    - PROV_LIBCTX_OF
    - sskdf_set_ctx_params_decoder
    - ossl_param_get1_octet_string_from_param
    linkageType: ''
    returnType: int
    signature: int sskdf_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: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: sskdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sskdf_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sskdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:690,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:694,1
    - Dst: sskdf_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:694,1
    - Dst: OSSL_FIPS_IND_GET_CTX_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 685
    functionDepth: 6
    functionLinenumber: 685
    functionLinenumberEnd: 702
    functionName: sskdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - sskdf_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    - OSSL_FIPS_IND_GET_CTX_PARAM
    - sskdf_size
    linkageType: ''
    returnType: int
    signature: int sskdf_get_ctx_params(void *vctx, 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: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: sskdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *sskdf_gettable_ctx_params(ossl_unused void *ctx, ossl_unused
      void *provctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: x963kdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:717,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:720,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:722,1
    - Dst: sskdf_common_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:725,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:725,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:730,1
    - Dst: fips_x963kdf_digest_check_passed
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:732,1
    - Dst: fips_x963kdf_key_check_passed
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:737,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 712
    functionDepth: 10
    functionLinenumber: 712
    functionLinenumberEnd: 742
    functionName: x963kdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 1
    functionsReached:
    - fips_x963kdf_digest_check_passed
    - fips_x963kdf_key_check_passed
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - sskdf_common_set_ctx_params
    - x963kdf_set_ctx_params_decoder
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int x963kdf_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: 748
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: x963kdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *x963kdf_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: x963kdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:755,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:759,1
    - Dst: sskdf_size
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:759,1
    - Dst: OSSL_FIPS_IND_GET_CTX_PARAM
      Src: /src/openssl/providers/implementations/kdfs/sskdf.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 750
    functionDepth: 6
    functionLinenumber: 750
    functionLinenumberEnd: 767
    functionName: x963kdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - OSSL_FIPS_IND_GET_CTX_PARAM
    - x963kdf_get_ctx_params_decoder
    - sskdf_size
    linkageType: ''
    returnType: int
    signature: int x963kdf_get_ctx_params(void *vctx, 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: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: x963kdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/sskdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *x963kdf_gettable_ctx_params(ossl_unused void *ctx, ossl_unused
      void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:73,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:77,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:77,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 18
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: kdf_srtpkdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_srtpkdf_new(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_srtpkdf_new
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:92,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:94,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:96,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:98,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:100,1
    - Dst: kdf_srtpkdf_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 19
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: kdf_srtpkdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached:
    - kdf_srtpkdf_free
    - kdf_srtpkdf_new
    - ossl_prov_memdup
    - ossl_prov_cipher_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_srtpkdf_dup(void *vsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_srtpkdf_reset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: kdf_srtpkdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 1
    functionsReached:
    - kdf_srtpkdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_srtpkdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:128,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:129,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:130,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:131,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: kdf_srtpkdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - ossl_prov_cipher_reset
    - memset
    linkageType: ''
    returnType: void
    signature: void kdf_srtpkdf_reset(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:139,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: srtpkdf_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int srtpkdf_set_membuf(unsigned char **dst, size_t *dst_len,\n    const
      OSSL_PARAM *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctz
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 166
    functionName: is_power_of_two
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 1
    functionsReached:
    - __builtin_ctz
    linkageType: ''
    returnType: int
    signature: int is_power_of_two(uint32_t x, uint32_t *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:174,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_SRTPKDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: kdf_srtpkdf_check_key
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_cipher
    - EVP_CIPHER_get_key_length
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int kdf_srtpkdf_check_key(KDF_SRTPKDF *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:192,1
    - Dst: kdf_srtpkdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:192,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:195,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:199,1
    - Dst: kdf_srtpkdf_check_key
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:205,1
    - Dst: SRTPKDF
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 211
    functionName: kdf_srtpkdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_cipher
    - kdf_srtpkdf_check_key
    - ERR_raise
    - kdf_srtpkdf_set_ctx_params
    - PROV_LIBCTX_OF
    - SRTPKDF
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_srtpkdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: srtp_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:222,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:225,1
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:230,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:232,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:235,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:236,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:238,1
    - Dst: srtpkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:243,1
    - Dst: kdf_srtpkdf_check_key
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:245,1
    - Dst: srtpkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:252,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:257,1
    - Dst: is_power_of_two
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:264,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:275,1
    - Dst: srtpkdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:280,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 213
    functionDepth: 9
    functionLinenumber: 213
    functionLinenumberEnd: 289
    functionName: kdf_srtpkdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 1
    functionsReached:
    - ossl_prov_cipher_cipher
    - ossl_prov_cipher_load
    - is_power_of_two
    - srtpkdf_set_membuf
    - kdf_srtpkdf_check_key
    - OSSL_PARAM_get_uint32
    - ERR_raise
    - srtp_set_ctx_params_decoder
    - PROV_LIBCTX_OF
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: int
    signature: int kdf_srtpkdf_set_ctx_params(void *vctx, const 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: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: kdf_srtpkdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_srtpkdf_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: srtp_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:302,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:306,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:306,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 6
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: kdf_srtpkdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_cipher
    - srtp_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    - EVP_CIPHER_key_length
    linkageType: ''
    returnType: int
    signature: int kdf_srtpkdf_get_ctx_params(void *vctx, 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: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: kdf_srtpkdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_srtpkdf_gettable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *p_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: is_srtp
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_srtp(uint32_t label)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_key_length
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:412,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:435,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:436,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:437,1
    - Dst: BN_new
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:440,1
    - Dst: BN_new
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:441,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:443,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:444,1
    - Dst: is_srtp
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:448,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:452,1
    - Dst: BN_bin2bn
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:455,1
    - Dst: BN_rshift
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:458,1
    - Dst: BN_bn2bin
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:461,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:467,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:468,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:472,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:473,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:474,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:475,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:476,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:477,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:482,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:483,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:484,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:485,1
    - Dst: BN_clear_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:486,1
    - Dst: BN_clear_free
      Src: /src/openssl/providers/implementations/kdfs/srtpkdf.c:487,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 11
    argNames:
    - provctx
    - cipher
    - mkey
    - msalt
    - index
    - idxlen
    - kdr
    - kdr_n
    - label
    - obuffer
    - keylen
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_CIPHER*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 489
    functionName: SRTPKDF
    functionSourceFile: /src/openssl/providers/implementations/kdfs/srtpkdf.c
    functionUses: 1
    functionsReached:
    - BN_bin2bn
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptInit_ex
    - EVP_CIPHER_key_length
    - OPENSSL_cleanse
    - BN_bn2bin
    - ERR_raise
    - EVP_EncryptFinal_ex
    - BN_clear_free
    - memcpy
    - memset
    - BN_free
    - BN_rshift
    - EVP_CIPHER_CTX_free
    - is_srtp
    - BN_new
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: "int SRTPKDF(OSSL_LIB_CTX *provctx, const EVP_CIPHER *cipher,\n    const
      uint8_t *mkey, const uint8_t *msalt,\n    const uint8_t *index, size_t idxlen,\n
      \   const uint32_t kdr, const uint32_t kdr_n,\n    const uint32_t label, uint8_t
      *obuffer, const size_t keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:65,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: krb5kdf_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *krb5kdf_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: krb5kdf_reset
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: krb5kdf_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - krb5kdf_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void krb5kdf_free(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:89,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:90,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:91,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: krb5kdf_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - ossl_prov_cipher_reset
    - memset
    linkageType: ''
    returnType: void
    signature: void krb5kdf_reset(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:99,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - dst_len
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: krb5kdf_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int krb5kdf_set_membuf(unsigned char **dst, size_t *dst_len,\n    const
      OSSL_PARAM *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: krb5kdf_new
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:110,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:112,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:114,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:116,1
    - Dst: krb5kdf_free
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: krb5kdf_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_memdup
    - krb5kdf_free
    - krb5kdf_new
    - ossl_prov_cipher_copy
    linkageType: ''
    returnType: void
    signature: void *krb5kdf_dup(void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:132,1
    - Dst: krb5kdf_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:132,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:145,1
    - Dst: KRB5KDF
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: krb5kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_cipher
    - ERR_raise
    - KRB5KDF
    - krb5kdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int krb5kdf_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: krb5kdf_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:160,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:163,1
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:165,1
    - Dst: krb5kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:168,1
    - Dst: krb5kdf_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: krb5kdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 1
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_prov_cipher_load
    - krb5kdf_set_ctx_params_decoder
    - krb5kdf_set_membuf
    linkageType: ''
    returnType: int
    signature: int krb5kdf_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: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: krb5kdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *krb5kdf_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: krb5kdf_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:189,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:193,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:197,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: krb5kdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - krb5kdf_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    - EVP_CIPHER_get_key_length
    - ossl_prov_cipher_cipher
    linkageType: ''
    returnType: int
    signature: int krb5kdf_get_ctx_params(void *vctx, 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: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: krb5kdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *krb5kdf_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:243,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:247,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:251,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: fixup_des3_key
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - memmove
    - CRYPTO_memcmp
    - DES_set_odd_parity
    linkageType: ''
    returnType: int
    signature: int fixup_des3_key(unsigned char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:286,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - block
    - blocksize
    - constant
    - constant_len
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 338
    functionName: n_fold
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void n_fold(unsigned char *block, unsigned int blocksize,\n    const
      unsigned char *constant, unsigned int constant_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:345,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:349,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:351,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:357,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - key_len
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 369
    functionName: cipher_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 5
    functionsReached:
    - EVP_CIPHER_CTX_set_padding
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_set_key_length
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int cipher_init(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n    const
      unsigned char *key, size_t key_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:391,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:395,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:402,1
    - Dst: cipher_init
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:406,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:411,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:420,1
    - Dst: n_fold
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:425,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:432,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:437,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:441,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:449,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:453,1
    - Dst: cipher_init
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:456,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:472,1
    - Dst: fixup_des3_key
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:473,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:475,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:484,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/krb5kdf.c:485,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 7
    argNames:
    - cipher
    - key
    - key_len
    - constant
    - constant_len
    - okey
    - okey_len
    argTypes:
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 487
    functionName: KRB5KDF
    functionSourceFile: /src/openssl/providers/implementations/kdfs/krb5kdf.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_CTX_new
    - fixup_des3_key
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_get_nid
    - ERR_raise
    - EVP_EncryptFinal_ex
    - cipher_init
    - EVP_CIPHER_CTX_free
    - memcpy
    - n_fold
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: "int KRB5KDF(const EVP_CIPHER *cipher,\n    const unsigned char *key,
      size_t key_len,\n    const unsigned char *constant, size_t constant_len,\n    unsigned
      char *okey, size_t okey_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:48,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:51,1
    - Dst: kdf_pvk_init
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: kdf_pvk_new
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - kdf_pvk_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *kdf_pvk_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:61,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:62,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:63,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PVK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: kdf_pvk_cleanup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_cleanse
    - ossl_prov_digest_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pvk_cleanup(KDF_PVK *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pvk_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: kdf_pvk_free
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - kdf_pvk_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void kdf_pvk_free(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pvk_new
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:82,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:84,1
    - Dst: ossl_prov_memdup
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:86,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:88,1
    - Dst: kdf_pvk_free
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: kdf_pvk_dup
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - ossl_prov_memdup
    - kdf_pvk_free
    - kdf_pvk_new
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kdf_pvk_dup(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_pvk_cleanup
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:102,1
    - Dst: kdf_pvk_init
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: kdf_pvk_reset
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - kdf_pvk_init
    - kdf_pvk_cleanup
    linkageType: ''
    returnType: void
    signature: void kdf_pvk_reset(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:110,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:112,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:114,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KDF_PVK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: kdf_pvk_init
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 2
    functionsReached:
    - PROV_LIBCTX_OF
    - OSSL_PARAM_construct_utf8_string
    - ossl_prov_digest_reset
    - ossl_prov_digest_load
    linkageType: ''
    returnType: void
    signature: void kdf_pvk_init(KDF_PVK *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:122,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:127,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - buflen
    - p
    argTypes:
    - unsigned char**
    - size_t*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: pvk_set_membuf
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_malloc
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int pvk_set_membuf(unsigned char **buffer, size_t *buflen,\n    const
      OSSL_PARAM *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:144,1
    - Dst: kdf_pvk_set_ctx_params
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:153,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:159,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:168,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:172,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:174,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:175,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:176,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:177,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - vctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 136
    functionDepth: 8
    functionLinenumber: 136
    functionLinenumberEnd: 180
    functionName: kdf_pvk_derive
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - ERR_raise
    - kdf_pvk_set_ctx_params
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kdf_pvk_derive(void *vctx, unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pvk_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:188,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:191,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:193,1
    - Dst: pvk_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:196,1
    - Dst: pvk_set_membuf
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 203
    functionName: kdf_pvk_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 1
    functionsReached:
    - PROV_LIBCTX_OF
    - pvk_set_membuf
    - pvk_set_ctx_params_decoder
    - ossl_prov_digest_load
    linkageType: ''
    returnType: int
    signature: int kdf_pvk_set_ctx_params(void *vctx, const 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: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: kdf_pvk_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pvk_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *p_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pvk_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:216,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/kdfs/pvkkdf.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 6
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: kdf_pvk_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached:
    - pvk_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int kdf_pvk_get_ctx_params(void *vctx, 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: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: kdf_pvk_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kdfs/pvkkdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_pvk_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *p_ctx)"
  - 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
    - BLAKE2_PARAM_INIT
    - ossl_prov_is_running
    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_cleanse
    - OPENSSL_free
    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:
    - BLAKE2_INIT_KEY
    - ERR_raise
    - blake2_setkey
    - blake2_mac_set_ctx_params
    - ossl_prov_is_running
    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
    - blake2_mac_size
    - ossl_prov_is_running
    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:
    - BLAKE2_PARAM_SET_PERSONAL
    - BLAKE2_PARAM_SET_SALT
    - BLAKE2_PARAM_SET_DIGEST_LENGTH
    - ERR_raise
    - blake2_setkey
    - 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: 1
    argNames:
    - ctx
    argTypes:
    - struct siphash_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: crounds
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int crounds(struct siphash_data_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct siphash_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: drounds
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int drounds(struct siphash_data_st *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:62,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: siphash_new
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *siphash_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: siphash_free
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void siphash_free(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:80,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: siphash_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *siphash_dup(void *vsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_hash_size
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: siphash_size
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - SipHash_hash_size
    linkageType: ''
    returnType: size_t
    signature: size_t siphash_size(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_Init
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:104,1
    - Dst: crounds
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:104,1
    - Dst: drounds
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - struct siphash_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: siphash_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - SipHash_Init
    - crounds
    - drounds
    linkageType: ''
    returnType: int
    signature: "int siphash_setkey(struct siphash_data_st *ctx,\n    const unsigned
      char *key, size_t keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:115,1
    - Dst: siphash_set_params
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:115,1
    - Dst: siphash_setkey
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: siphash_init
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - siphash_setkey
    - siphash_set_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int siphash_init(void *vmacctx, const unsigned char *key, size_t keylen,\n
      \   const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_Update
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: siphash_update
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - SipHash_Update
    linkageType: ''
    returnType: int
    signature: "int siphash_update(void *vmacctx, const unsigned char *data,\n    size_t
      datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: siphash_size
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:144,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:146,1
    - Dst: SipHash_Final
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: siphash_final
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - SipHash_Final
    - siphash_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int siphash_final(void *vmacctx, 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: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: siphash_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *siphash_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: siphash_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:164,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:167,1
    - Dst: siphash_size
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:167,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:169,1
    - Dst: crounds
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:169,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:171,1
    - Dst: drounds
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: siphash_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - siphash_get_ctx_params_decoder
    - siphash_size
    - drounds
    - OSSL_PARAM_set_size_t
    - crounds
    linkageType: ''
    returnType: int
    signature: int siphash_get_ctx_params(void *vmacctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: siphash_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *siphash_settable_ctx_params(ossl_unused void *ctx,\n    void
      *provctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: siphash_set_params_decoder
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:188,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:192,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:193,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:194,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:197,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:199,1
    - Dst: siphash_setkey
      Src: /src/openssl/providers/implementations/macs/siphash_prov.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: siphash_set_params
    functionSourceFile: /src/openssl/providers/implementations/macs/siphash_prov.c
    functionUses: 1
    functionsReached:
    - siphash_setkey
    - siphash_set_params_decoder
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_size_t
    - SipHash_set_hash_size
    linkageType: ''
    returnType: int
    signature: int siphash_set_params(void *vmacctx, const OSSL_PARAM *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:53,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: poly1305_new
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *poly1305_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: poly1305_free
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void poly1305_free(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:71,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: poly1305_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *poly1305_dup(void *vsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: poly1305_size
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t poly1305_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:90,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - struct poly1305_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: poly1305_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - Poly1305_Init
    linkageType: ''
    returnType: int
    signature: "int poly1305_setkey(struct poly1305_data_st *ctx,\n    const unsigned
      char *key, size_t keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:105,1
    - Dst: poly1305_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:105,1
    - Dst: poly1305_setkey
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: poly1305_init
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 1
    functionsReached:
    - poly1305_set_ctx_params
    - poly1305_setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int poly1305_init(void *vmacctx, const unsigned char *key,\n    size_t
      keylen, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: poly1305_update
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - Poly1305_Update
    linkageType: ''
    returnType: int
    signature: "int poly1305_update(void *vmacctx, const unsigned char *data,\n    size_t
      datalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:135,1
    - Dst: Poly1305_Final
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:139,1
    - Dst: poly1305_size
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: poly1305_final
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - Poly1305_Final
    - poly1305_size
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int poly1305_final(void *vmacctx, unsigned char *out, size_t *outl,\n
      \   size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: poly1305_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *poly1305_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_get_params_decoder
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:153,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:156,1
    - Dst: poly1305_size
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 6
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: poly1305_get_params
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached:
    - poly1305_get_params_decoder
    - OSSL_PARAM_set_size_t
    - poly1305_size
    linkageType: ''
    returnType: int
    signature: int poly1305_get_params(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: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: poly1305_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *poly1305_settable_ctx_params(ossl_unused void *ctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:173,1
    - Dst: poly1305_setkey
      Src: /src/openssl/providers/implementations/macs/poly1305_prov.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: poly1305_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/poly1305_prov.c
    functionUses: 3
    functionsReached:
    - poly1305_setkey
    - poly1305_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int poly1305_set_ctx_params(void *vmacctx, const OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:151,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:152,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:153,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 8
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: kmac_free
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_MD_CTX_free
    - ossl_prov_digest_reset
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void kmac_free(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:168,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:171,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:172,1
    - Dst: kmac_free
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:173,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 9
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: kmac_new
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - kmac_free
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - EVP_MD_CTX_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: struct kmac_data_st
    signature: struct kmac_data_st *kmac_new(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: kmac_new
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:185,1
    - Dst: kmac_new_decoder
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:191,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:193,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:194,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:197,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:197,1
    - Dst: kmac_free
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 183
    functionDepth: 10
    functionLinenumber: 183
    functionLinenumberEnd: 206
    functionName: kmac_fetch_new
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - kmac_free
    - ossl_prov_digest_load
    - EVP_MD_get_size
    - kmac_new
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    - kmac_new_decoder
    linkageType: ''
    returnType: void
    signature: void *kmac_fetch_new(void *provctx, const OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:211,1
    - Dst: kmac_fetch_new
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 11
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: kmac128_new
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - kmac_fetch_new
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: void
    signature: void *kmac128_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:221,1
    - Dst: kmac_fetch_new
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 11
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: kmac256_new
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - kmac_fetch_new
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: void
    signature: void *kmac256_new(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:233,1
    - Dst: kmac_new
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:236,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:240,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:241,1
    - Dst: kmac_free
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:242,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:252,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:253,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 228
    functionDepth: 10
    functionLinenumber: 228
    functionLinenumberEnd: 257
    functionName: kmac_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - kmac_free
    - OSSL_FIPS_IND_COPY
    - kmac_new
    - EVP_MD_CTX_copy
    - ossl_prov_is_running
    - memcpy
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *kmac_dup(void *vsrc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:262,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:266,1
    - Dst: ossl_mac_check_key_size
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:275,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:278,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:289,1
    - Dst: kmac_bytepad_encode_key
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - kctx
    - key
    - keylen
    argTypes:
    - struct kmac_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 296
    functionName: kmac_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - kmac_bytepad_encode_key
    - ERR_raise
    - ossl_mac_check_key_size
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - EVP_MD_get_block_size
    - PROV_LIBCTX_OF
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: "int kmac_setkey(struct kmac_data_st *kctx, const unsigned char *key,\n
      \   size_t keylen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:312,1
    - Dst: kmac_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:312,1
    - Dst: kmac_setkey
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:320,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:323,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:323,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:327,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:329,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:337,1
    - Dst: kmac_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:340,1
    - Dst: ossl_sp800_185_bytepad
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:345,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:348,1
    - Dst: ossl_sp800_185_bytepad
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:351,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:353,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:354,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:355,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 357
    functionName: kmac_init
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 2
    functionsReached:
    - kmac_set_ctx_params
    - OPENSSL_free
    - OSSL_PARAM_octet_string
    - kmac_setkey
    - ERR_raise
    - EVP_MD_get_block_size
    - ossl_sp800_185_bytepad
    - EVP_DigestUpdate
    - EVP_DigestInit_ex
    - ossl_prov_digest_md
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kmac_init(void *vmacctx, const unsigned char *key,\n    size_t
      keylen, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: kmac_update
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: "int kmac_update(void *vmacctx, const unsigned char *data,\n    size_t
      datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:376,1
    - Dst: ossl_sp800_185_right_encode
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:382,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:383,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: kmac_final
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - ossl_sp800_185_right_encode
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int kmac_final(void *vmacctx, 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: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: kmac_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kmac_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kmac_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:401,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:404,1
    - Dst: EVP_MD_block_size
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:408,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:408,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:409,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 6
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: kmac_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_MD_block_size
    - OSSL_PARAM_set_int
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_size_t
    - ossl_prov_digest_md
    - kmac_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kmac_get_ctx_params(void *vmacctx, 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: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: kmac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kmac_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: kmac_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:439,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:442,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:445,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:448,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:454,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:457,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:463,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:467,1
    - Dst: kmac_setkey
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:477,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:484,1
    - Dst: ossl_sp800_185_encode_string
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:487,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 434
    functionDepth: 6
    functionLinenumber: 434
    functionLinenumberEnd: 494
    functionName: kmac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_int
    - ossl_sp800_185_encode_string
    - kmac_setkey
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - OSSL_PARAM_get_size_t
    - PROV_LIBCTX_OF
    - kmac_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int kmac_set_ctx_params(void *vmacctx, const OSSL_PARAM *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sp800_185_encode_string
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:503,1
    - Dst: ossl_sp800_185_bytepad
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:505,1
    - Dst: ossl_sp800_185_bytepad
      Src: /src/openssl/providers/implementations/macs/kmac_prov.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - out
    - out_max_len
    - out_len
    - in
    - in_len
    - w
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: kmac_bytepad_encode_key
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 1
    functionsReached:
    - ossl_sp800_185_bytepad
    - ossl_sp800_185_encode_string
    linkageType: ''
    returnType: int
    signature: "int kmac_bytepad_encode_key(unsigned char *out, size_t out_max_len,\n
      \   size_t *out_len, const unsigned char *in, size_t in_len, size_t w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - size
    - ','
    - funcname
    - ','
    - newname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 526
    functionName: IMPLEMENT_KMAC_TABLE
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_KMAC_TABLE(size, funcname, newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    functionName: KMAC_TABLE
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KMAC_TABLE(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: KMAC_INTERNAL_TABLE
    functionSourceFile: /src/openssl/providers/implementations/macs/kmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KMAC_INTERNAL_TABLE(size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:62,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:65,1
    - Dst: CMAC_CTX_new
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:66,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:67,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: cmac_new
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - OPENSSL_free
    - CMAC_CTX_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *cmac_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_free
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:82,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: cmac_free
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_prov_cipher_reset
    - CMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void cmac_free(void *vmacctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:93,1
    - Dst: cmac_new
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:96,1
    - Dst: CMAC_CTX_copy
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:99,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:100,1
    - Dst: cmac_free
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:101,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: cmac_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_COPY
    - CMAC_CTX_copy
    - ossl_prov_cipher_copy
    - cmac_free
    - cmac_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *cmac_dup(void *vsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_get0_cipher_ctx
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:111,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:113,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: cmac_size
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX_get0_cipher
    - CMAC_CTX_get0_cipher_ctx
    linkageType: ''
    returnType: size_t
    signature: size_t cmac_size(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:135,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:136,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:139,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:140,1
    - Dst: OSSL_FIPS_IND_GET_PARAM
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - macctx
    - p
    - state
    argTypes:
    - struct cmac_data_st*
    - OSSL_PARAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 9
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: tdes_check_param
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_cipher
    - OSSL_FIPS_IND_GET_PARAM
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - PROV_LIBCTX_OF
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: int
    signature: "int tdes_check_param(struct cmac_data_st *macctx, OSSL_PARAM *p,\n
      \   int *state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdes_check_param
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:160,1
    - Dst: ossl_cmac_init
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:165,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:166,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct cmac_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 10
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: cmac_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_cipher
    - tdes_check_param
    - ossl_prov_cipher_reset
    - ossl_cmac_init
    linkageType: ''
    returnType: int
    signature: "int cmac_setkey(struct cmac_data_st *macctx,\n    const unsigned char
      *key, size_t keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:176,1
    - Dst: cmac_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:176,1
    - Dst: cmac_setkey
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:179,1
    - Dst: CMAC_Init
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 11
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: cmac_init
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 2
    functionsReached:
    - cmac_set_ctx_params
    - CMAC_Init
    - cmac_setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int cmac_init(void *vmacctx, const unsigned char *key,\n    size_t
      keylen, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_Update
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: cmac_update
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - CMAC_Update
    linkageType: ''
    returnType: int
    signature: "int cmac_update(void *vmacctx, const unsigned char *data,\n    size_t
      datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:197,1
    - Dst: CMAC_Final
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: cmac_final
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - CMAC_Final
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int cmac_final(void *vmacctx, 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: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: cmac_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cmac_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmac_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:214,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:217,1
    - Dst: cmac_size
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:217,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:220,1
    - Dst: cmac_size
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:220,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 6
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: cmac_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - cmac_size
    - OSSL_PARAM_set_size_t
    - cmac_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int cmac_get_ctx_params(void *vmacctx, 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: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: cmac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cmac_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmac_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:244,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:247,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:249,1
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:253,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:256,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:258,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:263,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:265,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:266,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:267,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:269,1
    - Dst: cmac_setkey
      Src: /src/openssl/providers/implementations/macs/cmac_prov.c:279,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 238
    functionDepth: 11
    functionLinenumber: 238
    functionLinenumberEnd: 282
    functionName: cmac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/cmac_prov.c
    functionUses: 1
    functionsReached:
    - ossl_prov_cipher_cipher
    - ossl_prov_cipher_load
    - cmac_setkey
    - cmac_set_ctx_params_decoder
    - ERR_raise
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - EVP_CIPHER_get_mode
    - PROV_LIBCTX_OF
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: int
    signature: int cmac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:55,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:56,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: gmac_free
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - ossl_prov_cipher_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void gmac_free(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:65,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:68,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:69,1
    - Dst: gmac_free
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: gmac_new
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_zalloc
    - gmac_free
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *gmac_new(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:83,1
    - Dst: gmac_new
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:86,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:90,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:91,1
    - Dst: gmac_free
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: gmac_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_copy
    - gmac_free
    - ossl_prov_cipher_copy
    - gmac_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *gmac_dup(void *vsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: gmac_size
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gmac_size(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:109,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct gmac_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: gmac_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - ERR_raise
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int gmac_setkey(struct gmac_data_st *macctx,\n    const unsigned char
      *key, size_t keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:122,1
    - Dst: gmac_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:122,1
    - Dst: gmac_setkey
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:125,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 7
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: gmac_init
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - gmac_set_ctx_params
    - EVP_EncryptInit_ex
    - gmac_setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int gmac_init(void *vmacctx, const unsigned char *key,\n    size_t
      keylen, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:140,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: gmac_update
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    linkageType: ''
    returnType: int
    signature: "int gmac_update(void *vmacctx, const unsigned char *data,\n    size_t
      datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:155,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:158,1
    - Dst: gmac_size
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:161,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:162,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: gmac_final
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_get_params
    - gmac_size
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int gmac_final(void *vmacctx, unsigned char *out, size_t *outl,\n
      \   size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: gmac_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *gmac_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gmac_get_params_decoder
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:180,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:183,1
    - Dst: gmac_size
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: gmac_get_params
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached:
    - gmac_get_params_decoder
    - OSSL_PARAM_set_size_t
    - gmac_size
    linkageType: ''
    returnType: int
    signature: int gmac_get_params(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: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: gmac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *gmac_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gmac_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:205,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:210,1
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:213,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:215,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:217,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:220,1
    - Dst: ossl_prov_cipher_cipher
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:220,1
    - Dst: gmac_setkey
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:227,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:234,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/providers/implementations/macs/gmac_prov.c:237,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 198
    functionDepth: 7
    functionLinenumber: 198
    functionLinenumberEnd: 241
    functionName: gmac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/gmac_prov.c
    functionUses: 1
    functionsReached:
    - ossl_prov_cipher_cipher
    - ossl_prov_cipher_load
    - ERR_raise
    - gmac_set_ctx_params_decoder
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_mode
    - PROV_LIBCTX_OF
    - EVP_EncryptInit_ex
    - gmac_setkey
    linkageType: ''
    returnType: int
    signature: int gmac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:82,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:85,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:87,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: hmac_new
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_FIPS_IND_INIT
    - OPENSSL_free
    - HMAC_CTX_new
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *hmac_new(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:101,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:102,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 9
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: hmac_free
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - HMAC_CTX_free
    - ossl_prov_digest_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void hmac_free(void *vmacctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:114,1
    - Dst: hmac_new
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:116,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:124,1
    - Dst: HMAC_CTX_copy
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:126,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:127,1
    - Dst: hmac_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:128,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:132,1
    - Dst: hmac_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:134,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 108
    functionDepth: 10
    functionLinenumber: 108
    functionLinenumberEnd: 141
    functionName: hmac_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 1
    functionsReached:
    - HMAC_CTX_copy
    - hmac_new
    - hmac_free
    - memset
    - ossl_prov_is_running
    - memcpy
    - OPENSSL_malloc
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *hmac_dup(void *vsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_size
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - macctx
    argTypes:
    - struct hmac_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: hmac_size
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - HMAC_size
    linkageType: ''
    returnType: size_t
    signature: size_t hmac_size(struct hmac_data_st *macctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:150,1
    - Dst: EVP_MD_block_size
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - macctx
    argTypes:
    - struct hmac_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: hmac_block_size
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - EVP_MD_block_size
    - ossl_prov_digest_md
    linkageType: ''
    returnType: int
    signature: int hmac_block_size(struct hmac_data_st *macctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:168,1
    - Dst: ossl_mac_check_key_size
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:169,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:175,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:183,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:185,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:190,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:193,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct hmac_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 157
    functionDepth: 12
    functionLinenumber: 157
    functionLinenumberEnd: 198
    functionName: hmac_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - ossl_mac_check_key_size
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - HMAC_Init_ex
    - PROV_LIBCTX_OF
    - memcpy
    - ossl_prov_digest_md
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int hmac_setkey(struct hmac_data_st *macctx,\n    const unsigned char
      *key, size_t keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:205,1
    - Dst: hmac_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:205,1
    - Dst: hmac_setkey
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:209,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 13
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: hmac_init
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 2
    functionsReached:
    - HMAC_Init_ex
    - hmac_set_ctx_params
    - hmac_setkey
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int hmac_init(void *vmacctx, const unsigned char *key,\n    size_t
      keylen, const OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:226,1
    - Dst: ssl3_cbc_digest_record
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:234,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:234,1
    - Dst: HMAC_Update
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 247
    functionName: hmac_update
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 3
    functionsReached:
    - HMAC_Update
    - memcpy
    - ossl_prov_digest_md
    - ssl3_cbc_digest_record
    linkageType: ''
    returnType: int
    signature: "int hmac_update(void *vmacctx, const unsigned char *data,\n    size_t
      datalen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:255,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:262,1
    - Dst: HMAC_Final
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 9
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: hmac_final
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - HMAC_Final
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int hmac_final(void *vmacctx, 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: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: hmac_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *hmac_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hmac_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:282,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:285,1
    - Dst: hmac_size
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:285,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:288,1
    - Dst: hmac_block_size
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:288,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:296,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 302
    functionName: hmac_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - hmac_get_ctx_params_decoder
    - hmac_size
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_size_t
    - hmac_block_size
    - OSSL_FIPS_IND_GET
    linkageType: ''
    returnType: int
    signature: int hmac_get_ctx_params(void *vmacctx, 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: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: hmac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *hmac_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hmac_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:319,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:322,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:324,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:328,1
    - Dst: hmac_setkey
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:335,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 313
    functionDepth: 13
    functionLinenumber: 313
    functionLinenumberEnd: 343
    functionName: hmac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 1
    functionsReached:
    - ossl_prov_digest_load
    - hmac_set_ctx_params_decoder
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - OSSL_PARAM_get_size_t
    - PROV_LIBCTX_OF
    - hmac_setkey
    linkageType: ''
    returnType: int
    signature: int hmac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_new
      Src: /src/openssl/providers/implementations/macs/hmac_prov.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: hmac_internal_new
    functionSourceFile: /src/openssl/providers/implementations/macs/hmac_prov.c
    functionUses: 0
    functionsReached:
    - hmac_new
    linkageType: ''
    returnType: void
    signature: void *hmac_internal_new(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:88,1
    - Dst: ossl_deferred_self_test
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:92,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:92,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:97,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:100,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 18
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: rsa_newctx
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_deferred_self_test
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *rsa_newctx(void *provctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:112,1
    - Dst: ossl_rsa_key_op_get_protect
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:115,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:117,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:119,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:130,1
    - Dst: OSSL_FIPS_IND_SET_APPROVED
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:134,1
    - Dst: rsa_set_ctx_params
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:135,1
    - Dst: ossl_fips_ind_rsa_key_check
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:138,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - vprsactx
    - vrsa
    - params
    - operation
    - desc
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 144
    functionName: rsa_init
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_key_op_get_protect
    - ossl_fips_ind_rsa_key_check
    - RSA_up_ref
    - OSSL_FIPS_IND_SET_APPROVED
    - OSSL_FIPS_IND_GET
    - RSA_test_flags
    - ERR_raise
    - RSA_free
    - rsa_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_init(void *vprsactx, void *vrsa, const OSSL_PARAM params[],\n
      \   int operation, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_init
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: rsa_encrypt_init
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - rsa_init
    linkageType: ''
    returnType: int
    signature: "int rsa_encrypt_init(void *vprsactx, void *vrsa,\n    const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_init
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vprsactx
    - vrsa
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: rsa_decrypt_init
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - rsa_init
    linkageType: ''
    returnType: int
    signature: "int rsa_decrypt_init(void *vprsactx, void *vrsa,\n    const OSSL_PARAM
      params[])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:164,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:167,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:193,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:198,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:201,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:204,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:207,1
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:219,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:224,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:226,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 6
    argNames:
    - vprsactx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 160
    functionDepth: 10
    functionLinenumber: 160
    functionLinenumberEnd: 234
    functionName: rsa_encrypt
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - RSA_size
    - ERR_raise
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - EVP_MD_fetch
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    - RSA_public_encrypt
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_encrypt(void *vprsactx, unsigned char *out, size_t *outlen,\n
      \   size_t outsize, const unsigned char *in, size_t inlen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:242,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:267,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:276,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:286,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:291,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:294,1
    - Dst: RSA_padding_check_PKCS1_OAEP_mgf1
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:308,1
    - Dst: ossl_rsa_padding_check_PKCS1_type_2_TLS
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:315,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:321,1
    - Dst: constant_time_select_s
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:323,1
    - Dst: constant_time_msb_s
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:323,1
    - Dst: constant_time_select_int
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:324,1
    - Dst: constant_time_msb
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 6
    argNames:
    - vprsactx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 236
    functionDepth: 10
    functionLinenumber: 236
    functionLinenumberEnd: 326
    functionName: rsa_decrypt
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - constant_time_msb_s
    - OPENSSL_free
    - constant_time_select_int
    - RSA_size
    - ERR_raise
    - ossl_rsa_padding_check_PKCS1_type_2_TLS
    - EVP_MD_fetch
    - RSA_padding_check_PKCS1_OAEP_mgf1
    - constant_time_msb
    - constant_time_select_s
    - RSA_private_decrypt
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int rsa_decrypt(void *vprsactx, unsigned char *out, size_t *outlen,\n
      \   size_t outsize, const unsigned char *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:332,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:334,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:336,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: rsa_freectx
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - RSA_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void rsa_freectx(void *vprsactx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:346,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:349,1
    - Dst: RSA_up_ref
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:354,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:355,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:359,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:361,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:365,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:366,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:368,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:373,1
    - Dst: rsa_freectx
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:374,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - vprsactx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 379
    functionName: rsa_dupctx
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_memdup
    - RSA_up_ref
    - OPENSSL_free
    - rsa_freectx
    - RSA_free
    - EVP_MD_free
    - EVP_MD_up_ref
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *rsa_dupctx(void *vprsactx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: rsa_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:386,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:392,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:409,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:414,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:414,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:421,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:421,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:426,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:431,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:435,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:439,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:442,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 446
    functionName: rsa_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_set_int
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - ERR_raise
    - EVP_MD_get0_name
    - OSSL_PARAM_set_utf8_string
    - rsa_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int rsa_get_ctx_params(void *vprsactx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: rsa_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsa_gettable_ctx_params(ossl_unused void *vprsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: rsa_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:463,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:468,1
    - Dst: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:470,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:475,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:480,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:484,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:485,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:496,1
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:505,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:519,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:528,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:533,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:539,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:540,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:550,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:552,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:560,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:568,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/asymciphers/rsa_enc.c:576,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 2
    argNames:
    - vprsactx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 454
    functionDepth: 10
    functionLinenumber: 454
    functionLinenumberEnd: 581
    functionName: rsa_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_int
    - OPENSSL_free
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_utf8_string
    - EVP_MD_fetch
    - OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    - strcmp
    - EVP_MD_free
    - OSSL_PARAM_get_octet_string
    - rsa_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int rsa_set_ctx_params(void *vprsactx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vprsactx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: rsa_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/rsa_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsa_settable_ctx_params(ossl_unused void *vprsactx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:53,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: sm2_newctx
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *sm2_newctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:66,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:68,1
    - Dst: sm2_set_ctx_params
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - vpsm2ctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: sm2_init
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - sm2_set_ctx_params
    - EC_KEY_free
    - EC_KEY_up_ref
    linkageType: ''
    returnType: int
    signature: int sm2_init(void *vpsm2ctx, void *vkey, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:76,1
    - Dst: ossl_prov_digest_fetch
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - psm2ctx
    argTypes:
    - PROV_SM2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: sm2_get_md
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_fetch
    - ossl_prov_digest_md
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *sm2_get_md(PROV_SM2_CTX *psm2ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2_get_md
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:89,1
    - Dst: ossl_sm2_ciphertext_size
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:96,1
    - Dst: ossl_sm2_encrypt
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - vpsm2ctx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 103
    functionName: sm2_asym_encrypt
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - ossl_sm2_encrypt
    - sm2_get_md
    - ERR_raise
    - ossl_sm2_ciphertext_size
    linkageType: ''
    returnType: int
    signature: "int sm2_asym_encrypt(void *vpsm2ctx, unsigned char *out, size_t *outlen,\n
      \   size_t outsize, const unsigned char *in,\n    size_t inlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2_get_md
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:110,1
    - Dst: ossl_sm2_plaintext_size
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:116,1
    - Dst: ossl_sm2_decrypt
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - vpsm2ctx
    - out
    - outlen
    - outsize
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: sm2_asym_decrypt
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - ossl_sm2_decrypt
    - sm2_get_md
    - ossl_sm2_plaintext_size
    linkageType: ''
    returnType: int
    signature: "int sm2_asym_decrypt(void *vpsm2ctx, unsigned char *out, size_t *outlen,\n
      \   size_t outsize, const unsigned char *in,\n    size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:128,1
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: sm2_freectx
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_reset
    - EC_KEY_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sm2_freectx(void *vpsm2ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:139,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:144,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:147,1
    - Dst: ossl_prov_digest_copy
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:151,1
    - Dst: sm2_freectx
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - vpsm2ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: sm2_dupctx
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - sm2_freectx
    - OPENSSL_zalloc
    - OPENSSL_free
    - EC_KEY_up_ref
    - memset
    - ossl_prov_digest_copy
    linkageType: ''
    returnType: void
    signature: void *sm2_dupctx(void *vpsm2ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sm2_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:164,1
    - Dst: ossl_prov_digest_md
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:168,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:170,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: sm2_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached:
    - sm2_get_ctx_params_decoder
    - EVP_MD_get0_name
    - ossl_prov_digest_md
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: int sm2_get_ctx_params(void *vpsm2ctx, 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: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: sm2_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sm2_gettable_ctx_params(ossl_unused void *vpsm2ctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sm2_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:189,1
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/implementations/asymciphers/sm2_enc.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - vpsm2ctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: sm2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 1
    functionsReached:
    - ossl_prov_digest_load
    - sm2_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int sm2_set_ctx_params(void *vpsm2ctx, 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: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: sm2_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/asymciphers/sm2_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sm2_settable_ctx_params(ossl_unused void *vpsm2ctx,\n
      \   ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:43,1
    - Dst: sha1_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:43,1
    - Dst: ossl_sha1_ctrl
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: sha1_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - sha1_set_ctx_params_decoder
    - ossl_sha1_ctrl
    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: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:91,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:95,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:98,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:102,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:105,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:106,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - c
    - out
    - outlen
    argTypes:
    - SHA256_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: SHA256_Serialize
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_le
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int SHA256_Serialize(SHA256_CTX *c, unsigned char *out,\n    size_t
      *outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:134,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:140,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:146,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:153,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:158,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:160,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - c
    - in
    - inlen
    argTypes:
    - SHA256_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 170
    functionName: SHA256_Deserialize
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_u32_le
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int SHA256_Deserialize(SHA256_CTX *c, const unsigned char *in,\n    size_t
      inlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:204,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:208,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:211,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:215,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:218,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:219,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - c
    - out
    - outlen
    argTypes:
    - SHA512_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 229
    functionName: SHA512_Serialize
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_le
    - memcpy
    - OPENSSL_store_u64_le
    linkageType: ''
    returnType: int
    signature: "int SHA512_Serialize(SHA512_CTX *c, unsigned char *out,\n    size_t
      *outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:248,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:254,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:259,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:266,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:271,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:273,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - c
    - in
    - inlen
    argTypes:
    - SHA512_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: SHA512_Deserialize
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_u32_le
    - OPENSSL_load_u64_le
    - memcpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int SHA512_Deserialize(SHA512_CTX *c, const unsigned char *in,\n    size_t
      inlen)"
  - 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_param_is_empty
    - ossl_md5_sha1_ctrl
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int md5_sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: digest_default_get_params_decoder
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:23,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:27,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:31,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:36,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/digestcommon.c:41,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - params
    - blksz
    - paramsz
    - flags
    argTypes:
    - OSSL_PARAM[]
    - size_t
    - size_t
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 18
    functionDepth: 6
    functionLinenumber: 18
    functionLinenumberEnd: 45
    functionName: ossl_digest_default_get_params
    functionSourceFile: /src/openssl/providers/implementations/digests/digestcommon.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - ERR_raise
    - digest_default_get_params_decoder
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: "int ossl_digest_default_get_params(OSSL_PARAM params[], size_t blksz,\n
      \   size_t paramsz, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ossl_digest_default_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/digests/digestcommon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_digest_default_gettable_params(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - in
    - out
    - outlen
    argTypes:
    - char*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 133
    functionName: cshake_set_func_encode_string
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int cshake_set_func_encode_string(const char *in,\n    const uint8_t
      **out, size_t *outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:141,1
    - Dst: strlen
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:146,1
    - Dst: ossl_sp800_185_encode_string
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - in
    - out
    - outmax
    - outlen
    argTypes:
    - char*
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: cshake_set_encode_string
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_cleanse
    - ossl_sp800_185_encode_string
    linkageType: ''
    returnType: int
    signature: "int cshake_set_encode_string(const char *in,\n    uint8_t *out, size_t
      outmax, size_t *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:168,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:169,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - xoflen
    argTypes:
    - CSHAKE_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: cshake_set_xoflen
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int cshake_set_xoflen(CSHAKE_CTX *ctx, size_t xoflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:191,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:192,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:196,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:198,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - shake
    argTypes:
    - CSHAKE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 10
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: cshake_set_shake_mode
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    - OSSL_PARAM_construct_end
    - EVP_MD_fetch
    - EVP_DigestInit_ex2
    - OSSL_PARAM_construct_size_t
    linkageType: ''
    returnType: int
    signature: int cshake_set_shake_mode(CSHAKE_CTX *ctx, int shake)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:206,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:206,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:208,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:212,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - bitlen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: cshake_newctx
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_MD_CTX_create
    - OPENSSL_free
    - ossl_unlikely
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *cshake_newctx(void *provctx, size_t bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:225,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:226,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:227,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: cshake_freectx
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MD_free
    - EVP_MD_CTX_destroy
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cshake_freectx(void *vctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:234,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:234,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:243,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:248,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:250,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:254,1
    - Dst: cshake_freectx
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:261,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 231
    functionDepth: 8
    functionLinenumber: 231
    functionLinenumberEnd: 263
    functionName: cshake_dupctx
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - cshake_freectx
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *cshake_dupctx(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:269,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:269,1
    - Dst: cshake_set_func_encode_string
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:273,1
    - Dst: cshake_set_encode_string
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:274,1
    - Dst: cshake_set_ctx_params
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: cshake_init
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - cshake_set_ctx_params
    - ossl_unlikely
    - cshake_set_encode_string
    - cshake_set_func_encode_string
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int cshake_init(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: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: cshake_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cshake_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:286,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - CSHAKE_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: set_property_query
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int set_property_query(CSHAKE_CTX *ctx, const char *propq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cshake_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:301,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:307,1
    - Dst: cshake_set_xoflen
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:309,1
    - Dst: cshake_set_func_encode_string
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:317,1
    - Dst: cshake_set_encode_string
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:324,1
    - Dst: set_property_query
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:329,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 333
    functionName: cshake_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 1
    functionsReached:
    - cshake_set_ctx_params_decoder
    - cshake_set_xoflen
    - ERR_raise
    - cshake_set_encode_string
    - OSSL_PARAM_get_size_t
    - set_property_query
    - cshake_set_func_encode_string
    linkageType: ''
    returnType: int
    signature: int cshake_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_BLOCKSIZE
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:347,1
    - Dst: SHA3_BLOCKSIZE
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:352,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:371,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:372,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:373,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CSHAKE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 375
    functionName: cshake_absorb_bytepad_strings
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - SHA3_BLOCKSIZE
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int cshake_absorb_bytepad_strings(CSHAKE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cshake_set_shake_mode
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:392,1
    - Dst: cshake_absorb_bytepad_strings
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:393,1
    - Dst: cshake_set_shake_mode
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CSHAKE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 383
    functionDepth: 11
    functionLinenumber: 383
    functionLinenumberEnd: 403
    functionName: check_init
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - cshake_set_shake_mode
    - cshake_absorb_bytepad_strings
    linkageType: ''
    returnType: int
    signature: int check_init(CSHAKE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_init
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:409,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: cshake_update
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - check_init
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int cshake_update(void *vctx, const unsigned char *in, size_t inlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:419,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:419,1
    - Dst: check_init
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:423,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsz
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 426
    functionName: cshake_final
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - check_init
    - EVP_DigestFinal_ex
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int cshake_final(void *vctx, uint8_t *out, size_t *outl, size_t outsz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:433,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:433,1
    - Dst: check_init
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:437,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsz
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: cshake_squeeze
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - EVP_DigestSqueeze
    - check_init
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int cshake_squeeze(void *vctx, uint8_t *out, size_t *outl, size_t outsz)
  - 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: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: cshake_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cshake_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cshake_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:454,1
    - Dst: EVP_MD_CTX_get_size_ex
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:462,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:465,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/cshake_prov.c:469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 449
    functionDepth: 6
    functionLinenumber: 449
    functionLinenumberEnd: 474
    functionName: cshake_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_size_ex
    - OSSL_PARAM_set_size_t
    - ERR_raise
    - cshake_get_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int cshake_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: IMPLEMENT_CSHAKE_functions
    functionSourceFile: /src/openssl/providers/implementations/digests/cshake_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CSHAKE_functions(bitlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2_impl.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    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:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: load64
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 1
    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:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: store32
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 3
    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:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: store64
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 1
    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: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    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: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    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: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    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: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    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:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    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:69,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:74,1
    - Dst: load64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:77,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: 73
        line_start: 73
        source_file: /src/openssl/providers/implementations/digests/blake2b_prov.c
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: blake2b_init_param
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - load64
    - assert
    - blake2b_init0
    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:88,1
    - Dst: store64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:89,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:92,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:93,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - P
    argTypes:
    - BLAKE2B_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: ossl_blake2b_param_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - memset
    - store32
    - store64
    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: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    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: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    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:110,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:111,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: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    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:117,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:118,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: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    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:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - P
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: ossl_blake2b_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    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:138,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:144,1
    - Dst: ossl_blake2b_update
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:145,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - c
    - P
    - key
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: ossl_blake2b_init_key
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - memcpy
    - blake2b_init_param
    - ossl_blake2b_update
    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:172,1
    - Dst: load64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:189,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:229,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:232,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:233,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
    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: 171
        line_start: 171
        source_file: /src/openssl/providers/implementations/digests/blake2b_prov.c
    constantsTouched: []
    func_position:
      end: 254
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 254
    functionName: blake2b_compress
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - ROUND
    - load64
    - assert
    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: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: G
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 98
    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: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    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:273,1
    - Dst: blake2b_compress
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:274,1
    - Dst: blake2b_compress
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:287,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:293,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:295,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: 292
        line_start: 292
        source_file: /src/openssl/providers/implementations/digests/blake2b_prov.c
    constantsTouched: []
    func_position:
      end: 299
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 299
    functionName: ossl_blake2b_update
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    - blake2b_compress
    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:316,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:318,1
    - Dst: blake2b_compress
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:319,1
    - Dst: store64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:323,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:326,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:327,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - BLAKE2B_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 332
    functionName: ossl_blake2b_final
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - blake2b_set_lastblock
    - memset
    - memcpy
    - blake2b_compress
    - store64
    linkageType: ''
    returnType: int
    signature: int ossl_blake2b_final(unsigned char *md, BLAKE2B_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: S390_SHA3_CAPABLE
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390_SHA3_CAPABLE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:101,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:101,1
    - Dst: ossl_sha3_reset
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: keccak_init
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 1
    functionsReached:
    - ossl_unlikely
    - ossl_sha3_reset
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int keccak_init(void *vctx, ossl_unused const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keccak_init
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:110,1
    - Dst: shake_set_ctx_params
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: keccak_init_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - keccak_init
    - shake_set_ctx_params
    linkageType: ''
    returnType: int
    signature: int keccak_init_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha3_absorb
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - inp
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: keccak_update
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_absorb
    linkageType: ''
    returnType: int
    signature: int keccak_update(void *vctx, const unsigned char *inp, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:125,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:125,1
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:128,1
    - Dst: ossl_sha3_final
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: keccak_final
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_sha3_final
    - ERR_raise
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int keccak_final(void *vctx, unsigned char *out, size_t *outl,\n    size_t
      outlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:142,1
    - Dst: ossl_sha3_squeeze
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: shake_squeeze
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_squeeze
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int shake_squeeze(void *vctx, unsigned char *out, size_t *outl,\n
      \   size_t outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s390x_kimd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: s390x_sha3_absorb
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_kimd
    linkageType: ''
    returnType: size_t
    signature: size_t s390x_sha3_absorb(KECCAK1600_CTX *ctx, const unsigned char *inp,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_klmd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:181,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: s390x_sha3_final
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: int s390x_sha3_final(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_klmd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: s390x_shake_final
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: int s390x_shake_final(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s390x_klmd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:207,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:216,1
    - Dst: s390x_klmd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 229
    functionName: s390x_shake_squeeze
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: int s390x_shake_squeeze(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:243,1
    - Dst: s390x_kimd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:246,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:248,1
    - Dst: s390x_klmd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - out
    - outlen
    - padding
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 255
    functionName: s390x_keccakc_final
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_kimd
    - memcpy
    - memset
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: "int s390x_keccakc_final(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen,\n    int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_keccakc_final
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: s390x_keccak_final
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_keccakc_final
    linkageType: ''
    returnType: int
    signature: int s390x_keccak_final(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_keccakc_final
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: s390x_cshake_keccak_final
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_keccakc_final
    linkageType: ''
    returnType: int
    signature: int s390x_cshake_keccak_final(KECCAK1600_CTX *ctx, unsigned char *out,
      size_t outlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:280,1
    - Dst: s390x_kimd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:285,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:293,1
    - Dst: s390x_klmd
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - out
    - outlen
    - padding
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 306
    functionName: s390x_keccakc_squeeze
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_kimd
    - memcpy
    - memset
    - s390x_klmd
    linkageType: ''
    returnType: int
    signature: "int s390x_keccakc_squeeze(KECCAK1600_CTX *ctx, unsigned char *out,
      size_t outlen,\n    int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_keccakc_squeeze
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: s390x_keccak_squeeze
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_keccakc_squeeze
    linkageType: ''
    returnType: int
    signature: int s390x_keccak_squeeze(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_keccakc_squeeze
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: s390x_cshake_keccak_squeeze
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - s390x_keccakc_squeeze
    linkageType: ''
    returnType: int
    signature: int s390x_cshake_keccak_squeeze(KECCAK1600_CTX *ctx, unsigned char
      *out, size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uname
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: SHAKE_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHAKE_SET_MD(uname, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uname
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 357
    functionName: SHA3_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_SET_MD(uname, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: CSHAKE_KECCAK_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSHAKE_KECCAK_SET_MD(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_absorb_cext
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: armsha3_sha3_absorb
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - SHA3_absorb_cext
    linkageType: ''
    returnType: size_t
    signature: size_t armsha3_sha3_absorb(KECCAK1600_CTX *ctx, const unsigned char
      *inp, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uname
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: SHAKE_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHAKE_SET_MD(uname, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uname
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: SHA3_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_SET_MD(uname, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: CSHAKE_KECCAK_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSHAKE_KECCAK_SET_MD(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uname
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: SHA3_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_SET_MD(uname, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: CSHAKE_KECCAK_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSHAKE_KECCAK_SET_MD(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uname
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: SHAKE_SET_MD
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHAKE_SET_MD(uname, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - typ
    - ','
    - uname
    - ','
    - name
    - ','
    - bitlen
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: SHA3_newctx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_newctx(typ, uname, name, bitlen, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - typ
    - ','
    - uname
    - ','
    - name
    - ','
    - bitlen
    - ','
    - mdlen
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: SHAKE_newctx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHAKE_newctx(typ, uname, name, bitlen, mdlen, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uname
    - ','
    - bitlen
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 457
    functionName: CSHAKE_KECCAK_newctx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSHAKE_KECCAK_newctx(uname, bitlen, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uname
    - ','
    - bitlen
    - ','
    - pad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: KMAC_newctx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KMAC_newctx(uname, bitlen, pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - bitlen
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: PROV_FUNC_SHA3_DIGEST_COMMON
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FUNC_SHA3_DIGEST_COMMON(name, bitlen, blksize, dgstsize, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - bitlen
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: PROV_FUNC_SHA3_DIGEST
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FUNC_SHA3_DIGEST(name, bitlen, blksize, dgstsize, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - bitlen
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - )
    argTypes:
    - 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: PROV_FUNC_SHAKE_DIGEST
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FUNC_SHAKE_DIGEST(name, bitlen, blksize, dgstsize, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: keccak_freectx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void keccak_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - voutctx
    - vinctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: keccak_copyctx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keccak_copyctx(void *voutctx, void *vinctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:520,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: keccak_dupctx
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *keccak_dupctx(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:560,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:564,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:565,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:567,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:568,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:569,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:570,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:575,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - c
    - impl_id
    - output
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - int
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 585
    functionName: KECCAK_Serialize
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u64_le
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int KECCAK_Serialize(KECCAK1600_CTX *c, int impl_id,\n    unsigned
      char *output, size_t *outlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:603,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:609,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:614,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:619,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:623,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:627,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:630,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:636,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - c
    - impl_id
    - input
    - len
    argTypes:
    - KECCAK1600_CTX*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 645
    functionName: KECCAK_Deserialize
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_u64_le
    - memcpy
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int KECCAK_Deserialize(KECCAK1600_CTX *c, int impl_id,\n    const
      unsigned char *input, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: IMPLEMENT_SERIALIZE_FNS
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_SERIALIZE_FNS(name, id)
  - 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: 663
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: shake_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *shake_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shake_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:670,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:673,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:674,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:678,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 665
    functionDepth: 6
    functionLinenumber: 665
    functionLinenumberEnd: 683
    functionName: shake_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_size_t
    - shake_get_ctx_params_decoder
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int shake_get_ctx_params(void *vctx, 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: 689
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 689
    functionName: shake_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *shake_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:696,1
    - Dst: shake_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:696,1
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:699,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:700,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/sha3_prov.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 705
    functionName: shake_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 2
    functionsReached:
    - ossl_unlikely
    - shake_set_ctx_params_decoder
    - OSSL_PARAM_get_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int shake_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: IMPLEMENT_SHA3_functions
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_SHA3_functions(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: IMPLEMENT_KECCAK_functions
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_KECCAK_functions(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 741
    functionName: IMPLEMENT_CSHAKE_KECCAK_functions
    functionSourceFile: /src/openssl/providers/implementations/digests/sha3_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CSHAKE_KECCAK_functions(bitlen)
  - 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: 2
    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: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: blake_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *blake_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *pctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: blake_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *blake_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *pctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - variant
    - ','
    - VARIANT
    - ','
    - variantsize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 191
    functionName: IMPLEMENT_BLAKE_functions
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_BLAKE_functions(variant, VARIANT, variantsize)
  - 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:
    - load32
    - blake2s_init0
    - 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: 0
    functionsReached:
    - memset
    - store32
    - store48
    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: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    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:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - P
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: ossl_blake2s_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    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:131,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:137,1
    - Dst: ossl_blake2s_update
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:138,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - c
    - P
    - key
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 143
    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:165,1
    - Dst: load32
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:182,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:222,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
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:234,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: 164
        line_start: 164
        source_file: /src/openssl/providers/implementations/digests/blake2s_prov.c
    constantsTouched: []
    func_position:
      end: 245
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 245
    functionName: blake2s_compress
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - load32
    - ROUND
    - assert
    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: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: G
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 98
    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: 219
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 219
    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:264,1
    - Dst: blake2s_compress
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:265,1
    - Dst: blake2s_compress
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:278,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:284,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:286,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: 283
        line_start: 283
        source_file: /src/openssl/providers/implementations/digests/blake2s_prov.c
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 290
    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:307,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:309,1
    - Dst: blake2s_compress
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:310,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:314,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:317,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:318,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - BLAKE2S_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 323
    functionName: ossl_blake2s_final
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - blake2s_compress
    - memset
    - blake2s_set_lastblock
    - memcpy
    - store32
    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: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: mdc2_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:42,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: mdc2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/mdc2_prov.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_get_uint
    - mdc2_set_ctx_params_decoder
    linkageType: ''
    returnType: int
    signature: int mdc2_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:71,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:71,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:73,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: mu_newctx
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *mu_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:83,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:84,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:85,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 8
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: mu_freectx
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_MD_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mu_freectx(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:92,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:92,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:101,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:106,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:108,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:112,1
    - Dst: mu_freectx
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 89
    functionDepth: 9
    functionLinenumber: 89
    functionLinenumberEnd: 120
    functionName: mu_dupctx
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - EVP_MD_CTX_copy_ex
    - mu_freectx
    - EVP_MD_CTX_new
    - EVP_MD_up_ref
    - OPENSSL_malloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *mu_dupctx(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:126,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:126,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:129,1
    - Dst: mu_set_ctx_params
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: mu_init
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 3
    functionsReached:
    - ossl_unlikely
    - mu_set_ctx_params
    - EVP_MD_CTX_reset
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mu_init(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_default_get_params
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:137,1
    - Dst: SHA3_BLOCKSIZE
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 7
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: mu_get_params
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - SHA3_BLOCKSIZE
    - ossl_digest_default_get_params
    linkageType: ''
    returnType: int
    signature: int mu_get_params(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: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: mu_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mu_settable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:149,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - MU_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: set_property_query
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 4
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int set_property_query(MU_CTX *ctx, const char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MU_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 10
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: shake_digest
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 1
    functionsReached:
    - EVP_MD_fetch
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *shake_digest(MU_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:175,1
    - Dst: shake_digest
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:179,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:182,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:185,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:186,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:187,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - pub
    - publen
    argTypes:
    - MU_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 11
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: digest_public_key
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - shake_digest
    - ERR_raise
    - EVP_DigestUpdate
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: int digest_public_key(MU_CTX *ctx, const uint8_t *pub, size_t publen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_mu_set_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:198,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:204,1
    - Dst: set_property_query
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:212,1
    - Dst: digest_public_key
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:218,1
    - Dst: ossl_der_oid_pq_dsa_prehash_digest
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:227,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 193
    functionDepth: 12
    functionLinenumber: 193
    functionLinenumberEnd: 237
    functionName: mu_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 1
    functionsReached:
    - ERR_raise_data
    - ossl_der_oid_pq_dsa_prehash_digest
    - ml_dsa_mu_set_ctx_params_decoder
    - OSSL_PARAM_get_octet_string
    - set_property_query
    - digest_public_key
    linkageType: ''
    returnType: int
    signature: int mu_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: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: mu_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mu_gettable_ctx_params(ossl_unused void *ctx,\n    ossl_unused
      void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ml_dsa_mu_get_ctx_params_decoder
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:250,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:258,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 6
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: mu_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - ml_dsa_mu_get_ctx_params_decoder
    - OSSL_PARAM_set_size_t
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int mu_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shake_digest
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:277,1
    - Dst: ossl_ml_dsa_mu_init_int
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:280,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MU_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 269
    functionDepth: 11
    functionLinenumber: 269
    functionLinenumberEnd: 288
    functionName: check_init
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 3
    functionsReached:
    - ossl_ml_dsa_mu_update
    - shake_digest
    - ERR_raise
    - ossl_ml_dsa_mu_init_int
    linkageType: ''
    returnType: int
    signature: int check_init(MU_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:298,1
    - Dst: check_init
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:303,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - vctx
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 306
    functionName: mu_update
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 5
    functionsReached:
    - ossl_ml_dsa_mu_update
    - check_init
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int mu_update(void *vctx, const unsigned char *in, size_t inlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:313,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:313,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsz
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: mu_final
    functionSourceFile: /src/openssl/providers/implementations/digests/ml_dsa_mu_prov.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_ml_dsa_mu_finalize
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mu_final(void *vctx, uint8_t *out, size_t *outl, size_t outsz)
  - 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_free
    - OSSL_FUNC_BIO_gets
    - OSSL_FUNC_BIO_new_file
    - OSSL_FUNC_BIO_vprintf
    - OSSL_FUNC_BIO_new_membuf
    - OSSL_FUNC_BIO_puts
    - OSSL_FUNC_BIO_up_ref
    - OSSL_FUNC_BIO_ctrl
    - OSSL_FUNC_BIO_read_ex
    - OSSL_FUNC_BIO_write_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:
    - BIO_get_data
    - ossl_prov_bio_read_ex
    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:
    - BIO_get_data
    - ossl_prov_bio_write_ex
    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:
    - ossl_prov_bio_ctrl
    - BIO_get_data
    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:
    - BIO_get_data
    - ossl_prov_bio_gets
    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:
    - ossl_prov_bio_puts
    - BIO_get_data
    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:
    - BIO_get_data
    - BIO_set_init
    - ossl_prov_bio_free
    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_read_ex
    - BIO_meth_set_destroy
    - BIO_meth_set_puts
    - BIO_meth_set_write_ex
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_free
    - BIO_meth_set_create
    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: 16
    functionsReached:
    - BIO_new
    - ossl_prov_bio_up_ref
    - ossl_prov_ctx_get0_core_bio_method
    - BIO_free
    - BIO_set_data
    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: 1
    functionsReached:
    - ossl_digest_md_to_nid
    - OSSL_NELEM
    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:58,1
    - Dst: OSSL_FUNC_get_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:58,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:61,1
    - Dst: OSSL_FUNC_get_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:61,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:64,1
    - Dst: OSSL_FUNC_cleanup_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:64,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:67,1
    - Dst: OSSL_FUNC_cleanup_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:67,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:70,1
    - Dst: OSSL_FUNC_get_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:70,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:73,1
    - Dst: OSSL_FUNC_get_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:73,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:76,1
    - Dst: OSSL_FUNC_cleanup_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:76,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:79,1
    - Dst: OSSL_FUNC_cleanup_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: ossl_prov_seeding_from_dispatch
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 2
    functionsReached:
    - OSSL_FUNC_cleanup_user_entropy
    - OSSL_FUNC_cleanup_user_nonce
    - OSSL_FUNC_get_entropy
    - OSSL_FUNC_get_user_entropy
    - OSSL_FUNC_cleanup_nonce
    - set_func
    - OSSL_FUNC_cleanup_entropy
    - OSSL_FUNC_get_user_nonce
    - OSSL_FUNC_get_nonce
    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: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    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:90,1
    - Dst: c_get_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:93,1
    - Dst: c_get_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:95,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: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: ossl_prov_get_entropy
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 2
    functionsReached:
    - c_get_user_entropy
    - CORE_HANDLE
    - c_get_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:102,1
    - Dst: c_cleanup_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:105,1
    - Dst: c_cleanup_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:107,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: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: ossl_prov_cleanup_entropy
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 2
    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:114,1
    - Dst: c_get_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:117,1
    - Dst: c_get_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:119,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: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: ossl_prov_get_nonce
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 1
    functionsReached:
    - c_get_user_nonce
    - c_get_nonce
    - CORE_HANDLE
    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:125,1
    - Dst: c_cleanup_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:128,1
    - Dst: c_cleanup_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:130,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: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ossl_prov_cleanup_nonce
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 1
    functionsReached:
    - c_cleanup_user_nonce
    - CORE_HANDLE
    - c_cleanup_nonce
    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:283,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/providers/common/provider_err.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 287
    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: 7
    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: 10
    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: 7
    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: 7
    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: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    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: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: ossl_prov_ctx_get0_libctx
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 8
    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: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    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: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    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: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    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:96,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/providers/common/provider_ctx.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - name
    - defval
    argTypes:
    - PROV_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: ossl_prov_ctx_get_param
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 5
    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:105,1
    - Dst: strcmp
      Src: /src/openssl/providers/common/provider_ctx.c:108,1
    - Dst: OPENSSL_strcasecmp
      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: strcmp
      Src: /src/openssl/providers/common/provider_ctx.c:113,1
    - Dst: OPENSSL_strcasecmp
      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
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - defval
    argTypes:
    - PROV_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: ossl_prov_ctx_get_bool_param
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strcasecmp
    - strcmp
    - 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_digest_get_approved_nid
      Src: /src/openssl/providers/common/securitycheck_fips.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ossl_digest_rsa_sign_get_md_nid
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 2
    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:31,1
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:34,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/common/securitycheck_fips.c:36,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: 42
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: ossl_fips_ind_rsa_key_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 3
    functionsReached:
    - ossl_FIPS_IND_on_unapproved
    - ossl_rsa_check_key_size
    - ERR_raise_data
    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:55,1
    - Dst: ossl_ec_check_security_strength
      Src: /src/openssl/providers/common/securitycheck_fips.c:56,1
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:64,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: 69
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: ossl_fips_ind_ec_key_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 4
    functionsReached:
    - ossl_FIPS_IND_on_unapproved
    - ossl_ec_check_curve_allowed
    - ERR_raise
    - ossl_ec_check_security_strength
    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:76,1
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:82,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: 87
      start: 72
    functionDepth: 11
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: ossl_fips_ind_digest_exch_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 2
    functionsReached:
    - ossl_digest_get_approved_nid
    - ossl_FIPS_IND_on_unapproved
    - ERR_raise
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 8
    argNames:
    - ind
    - id
    - libctx
    - nid
    - sha1_allowed
    - sha512_trunc_allowed
    - desc
    - config_id
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    - char*
    - enum fips_config_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 124
    functionName: ossl_fips_ind_digest_sign_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 2
    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    int sha512_trunc_allowed,\n
      \   const char *desc,\n    enum fips_config_id config_id)"
  - 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:47,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/common/securitycheck.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - rsa
    - operation
    - outprotect
    argTypes:
    - RSA*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 60
    functionName: ossl_rsa_key_op_get_protect
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 3
    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:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rsa
    - protect
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 75
    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: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ossl_kdf_check_key_size
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 8
    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:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ossl_mac_check_key_size
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 3
    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:96,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/providers/common/securitycheck.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 106
    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:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - group
    - protect
    argTypes:
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 139
    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:157,1
    - Dst: DSA_get0_q
      Src: /src/openssl/providers/common/securitycheck.c:158,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:162,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dsa
    - sign
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 186
    functionName: ossl_dsa_check_key
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 1
    functionsReached:
    - DSA_get0_q
    - BN_num_bits
    - DSA_get0_p
    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:204,1
    - Dst: DH_get0_q
      Src: /src/openssl/providers/common/securitycheck.c:205,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:209,1
    - Dst: DH_get_nid
      Src: /src/openssl/providers/common/securitycheck.c:214,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: ossl_dh_check_key
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 1
    functionsReached:
    - DH_get0_p
    - DH_get_nid
    - BN_num_bits
    - 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: 126
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 126
    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:274,1
    - Dst: cb
      Src: /src/openssl/providers/common/capabilities.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 280
    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: 325
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 325
    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:343,1
    - Dst: cb
      Src: /src/openssl/providers/common/capabilities.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 348
    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:353,1
    - Dst: tls_group_capability
      Src: /src/openssl/providers/common/capabilities.c:354,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/capabilities.c:355,1
    - Dst: tls_sigalg_capability
      Src: /src/openssl/providers/common/capabilities.c:356,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: 360
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: ossl_prov_get_capabilities
    functionSourceFile: /src/openssl/providers/common/capabilities.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - tls_sigalg_capability
    - tls_group_capability
    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:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: ossl_prov_cipher_reset
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 8
    functionsReached:
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_cipher_reset(PROV_CIPHER *pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/providers/common/provider_util.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER*
    - PROV_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ossl_prov_cipher_copy
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 5
    functionsReached:
    - EVP_CIPHER_up_ref
    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: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_propq
      Src: /src/openssl/providers/common/provider_util.c:52,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/common/provider_util.c:60,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/common/provider_util.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pc
    - cipher
    - propq
    - ctx
    argTypes:
    - PROV_CIPHER*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: ossl_prov_cipher_load
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 6
    functionsReached:
    - EVP_CIPHER_fetch
    - set_propq
    - EVP_CIPHER_free
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_cipher_load(PROV_CIPHER *pc, const OSSL_PARAM *cipher,\n
      \   const OSSL_PARAM *propq, 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: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ossl_prov_cipher_cipher
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *ossl_prov_cipher_cipher(const PROV_CIPHER *pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/common/provider_util.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: ossl_prov_digest_reset
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 19
    functionsReached:
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_digest_reset(PROV_DIGEST *pd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/common/provider_util.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_DIGEST*
    - PROV_DIGEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: ossl_prov_digest_copy
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 14
    functionsReached:
    - EVP_MD_up_ref
    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:90,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/common/provider_util.c:91,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: 94
      start: 87
    functionDepth: 10
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: ossl_prov_digest_fetch
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - EVP_MD_fetch
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_propq
      Src: /src/openssl/providers/common/provider_util.c:101,1
    - Dst: ossl_prov_digest_fetch
      Src: /src/openssl/providers/common/provider_util.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pd
    - digest
    - propq
    - ctx
    argTypes:
    - PROV_DIGEST*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 11
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: ossl_prov_digest_load
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 20
    functionsReached:
    - ossl_prov_digest_fetch
    - set_propq
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_digest_load(PROV_DIGEST *pd, const OSSL_PARAM *digest,\n
      \   const OSSL_PARAM *propq, OSSL_LIB_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/common/provider_util.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pd
    - md
    argTypes:
    - PROV_DIGEST*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: ossl_prov_digest_set_md
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 2
    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: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ossl_prov_digest_md
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ossl_prov_digest_md(const PROV_DIGEST *pd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:135,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:138,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:141,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/common/provider_util.c:144,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/providers/common/provider_util.c:159,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/common/provider_util.c:164,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/common/provider_util.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - macctx
    - ciphername
    - mdname
    - properties
    - param
    argTypes:
    - EVP_MAC_CTX*
    - char*
    - char*
    - char*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 169
    functionName: ossl_prov_set_macctx
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_free
    - OSSL_PARAM_construct_end
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_merge
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_set_macctx(EVP_MAC_CTX *macctx,\n    const char *ciphername,\n
      \   const char *mdname,\n    const char *properties,\n    const OSSL_PARAM param[])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:180,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:182,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/common/provider_util.c:187,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/common/provider_util.c:189,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/common/provider_util.c:190,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/common/provider_util.c:192,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:205,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:208,1
    - Dst: ossl_prov_set_macctx
      Src: /src/openssl/providers/common/provider_util.c:211,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/common/provider_util.c:214,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 9
    argNames:
    - macctx
    - pmac
    - pcipher
    - pdigest
    - propq
    - macname
    - ciphername
    - mdname
    - libctx
    argTypes:
    - EVP_MAC_CTX**
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - char*
    - char*
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 171
    functionDepth: 10
    functionLinenumber: 171
    functionLinenumberEnd: 217
    functionName: ossl_prov_macctx_load
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 6
    functionsReached:
    - EVP_MAC_fetch
    - EVP_MAC_free
    - OSSL_PARAM_get_utf8_string_ptr
    - EVP_MAC_CTX_free
    - ossl_prov_set_macctx
    - EVP_MAC_CTX_new
    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 char *macname, const char *ciphername,\n    const char *mdname,
      OSSL_LIB_CTX *libctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: capable
      Src: /src/openssl/providers/common/provider_util.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - OSSL_ALGORITHM_CAPABLE*
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    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:238,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: 246
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: ossl_prov_memdup
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 16
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_approved_nid
      Src: /src/openssl/providers/common/securitycheck_default.c:33,1
    - Dst: ossl_digest_md_to_nid
      Src: /src/openssl/providers/common/securitycheck_default.c:35,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/common/securitycheck_default.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 11
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: ossl_digest_rsa_sign_get_md_nid
    functionSourceFile: /src/openssl/providers/common/securitycheck_default.c
    functionUses: 2
    functionsReached:
    - ossl_digest_get_approved_nid
    - ossl_digest_md_to_nid
    - OSSL_NELEM
    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: 149
    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: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ossl_param_is_empty
    functionSourceFile: /src/openssl/providers/common/include/prov/providercommon.h
    functionUses: 9
    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: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    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:249,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:250,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:257,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: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_key.c:271,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: 274
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 274
    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_maskgenhashalg
    - ossl_rsa_pss_params_30_maskgenalg
    - 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: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    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:299,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/common/der/der_rsa_key.c:300,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:303,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/common/der/der_rsa_key.c:304,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/providers/common/der/der_rsa_key.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/der/der_rsa_key.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/der/der_rsa_key.c:312,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:317,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/common/der/der_rsa_key.c:318,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/providers/common/der/der_rsa_key.c:319,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:336,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: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:347,1
    - Dst: ossl_DER_w_uint32
      Src: /src/openssl/providers/common/der/der_rsa_key.c:349,1
    - Dst: ossl_DER_w_uint32
      Src: /src/openssl/providers/common/der/der_rsa_key.c:350,1
    - Dst: DER_w_MaskGenAlgorithm
      Src: /src/openssl/providers/common/der/der_rsa_key.c:351,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_key.c:353,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:354,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: 355
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 355
    functionName: ossl_DER_w_RSASSA_PSS_params
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 1
    functionsReached:
    - ossl_DER_w_begin_sequence
    - DER_w_MaskGenAlgorithm
    - ossl_rsa_pss_params_30_saltlen
    - ossl_DER_w_end_sequence
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_DER_w_precompiled
    - ossl_rsa_pss_params_30_hashalg
    - ERR_raise
    - ossl_DER_w_uint32
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_assert
    - OAEP_PSS_MD_CASE
    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: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    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:376,1
    - Dst: RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:378,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:384,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/common/der/der_rsa_key.c:386,1
    - Dst: ossl_DER_w_RSASSA_PSS_params
      Src: /src/openssl/providers/common/der/der_rsa_key.c:387,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_key.c:388,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:389,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: 390
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: ossl_DER_w_algorithmIdentifier_RSA_PSS
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 1
    functionsReached:
    - ossl_DER_w_RSASSA_PSS_params
    - RSA_CASE
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_rsa_pss_params_30_is_unrestricted
    - 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:394,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/common/der/der_rsa_key.c:395,1
    - Dst: ossl_DER_w_algorithmIdentifier_RSA_PSS
      Src: /src/openssl/providers/common/der/der_rsa_key.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - rsa
    argTypes:
    - WPACKET*
    - int
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 6
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: ossl_DER_w_algorithmIdentifier_RSA
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_algorithmIdentifier_RSA_PSS
    - RSA_test_flags
    - 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_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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: 1
    functionsReached:
    - ossl_DER_w_begin_sequence
    - CASE_OID
    - ossl_DER_w_precompiled
    - ossl_slh_dsa_key_get_type
    - 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - oid
    - ','
    - oidlen
    - ','
    - oidname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: SET_OID
    functionSourceFile: /src/openssl/providers/common/der/der_ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OID(oid, oidlen, oidname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - oidname
    - ','
    - digestsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: SET_DIGEST_OID
    functionSourceFile: /src/openssl/providers/common/der/der_ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DIGEST_OID(oidname, digestsz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_get_name
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:34,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:36,1
    - Dst: SET_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:37,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:38,1
    - Dst: SET_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:39,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:40,1
    - Dst: SET_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:41,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:45,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:47,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pkt
    - tag
    - key
    argTypes:
    - WPACKET*
    - int
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: ossl_DER_w_algorithmIdentifier_ML_DSA
    functionSourceFile: /src/openssl/providers/common/der/der_ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - SET_OID
    - ossl_ml_dsa_key_get_name
    - OPENSSL_strcasecmp
    - 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: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:54,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:55,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:56,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:57,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:58,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:59,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:60,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:61,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:62,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:63,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:64,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:65,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:66,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:67,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:68,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:69,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:70,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:71,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:72,1
    - Dst: SET_DIGEST_OID
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - oid_digest_name
    - oid
    - oidlen
    - sz
    argTypes:
    - char*
    - uint8_t**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: ossl_der_oid_pq_dsa_prehash_digest
    functionSourceFile: /src/openssl/providers/common/der/der_ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strcasecmp
    - SET_DIGEST_OID
    linkageType: ''
    returnType: int
    signature: "int ossl_der_oid_pq_dsa_prehash_digest(const char *oid_digest_name,\n
      \   const uint8_t **oid, size_t *oidlen, size_t *sz)"
  - 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_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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: 1
    functionsReached:
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_sequence
    - MD_CASE
    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_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_sequence
    - MD_CASE
    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: 1
    functionsReached:
    - ossl_DER_w_begin_sequence
    - MD_with_RSA_CASE
    - ossl_DER_w_null
    - ossl_DER_w_precompiled
    - 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: 1
    functionsReached:
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_sequence
    - MD_CASE
    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_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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: 1
    functionsReached:
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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: 1
    functionsReached:
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    - ossl_DER_w_begin_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: 234
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 234
    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: 253
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 253
    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: 272
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 272
    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: 288
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 288
    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:291,1
    - Dst: ASN1_PCTX_new
      Src: /src/openssl/fuzz/asn1.c:292,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/openssl/fuzz/asn1.c:293,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:296,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/asn1.c:297,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/asn1.c:298,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/asn1.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_ssl
    - ASN1_PCTX_set_flags
    - ASN1_PCTX_set_str_flags
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - ASN1_PCTX_new
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/fuzz/asn1.c:311,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/fuzz/asn1.c:312,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/asn1.c:320,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/asn1.c:320,1
    - Dst: ASN1_item_print
      Src: /src/openssl/fuzz/asn1.c:322,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/asn1.c:323,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/fuzz/asn1.c:326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/asn1.c:327,1
    - Dst: ASN1_item_free
      Src: /src/openssl/fuzz/asn1.c:329,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:334,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:335,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_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:339,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:342,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:347,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:348,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:351,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:354,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:359,1
    - Dst: DO_TEST_PRINT_OFFSET
      Src: /src/openssl/fuzz/asn1.c:363,1
    - Dst: DO_TEST_PRINT_OFFSET
      Src: /src/openssl/fuzz/asn1.c:364,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:365,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:366,1
    - Dst: DO_TEST_PRINT_PCTX
      Src: /src/openssl/fuzz/asn1.c:369,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:370,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/asn1.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 304
    functionDepth: 5
    functionLinenumber: 304
    functionLinenumberEnd: 375
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d
    - DO_TEST_PRINT_OFFSET
    - BIO_s_null
    - DO_TEST_NO_PRINT
    - DO_TEST
    - BIO_new
    - OPENSSL_free
    - ASN1_item_free
    - BIO_free
    - ASN1_item_d2i
    - DO_TEST_PRINT_PCTX
    - ASN1_ITEM_ptr
    - ASN1_item_print
    - ERR_clear_error
    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:379,1
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/asn1.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 381
    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: 47
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 47
    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:72,1
    - Dst: init_digests
      Src: /src/openssl/fuzz/provider.c:76,1
    - Dst: init_kdf
      Src: /src/openssl/fuzz/provider.c:77,1
    - Dst: init_cipher
      Src: /src/openssl/fuzz/provider.c:78,1
    - Dst: init_kem
      Src: /src/openssl/fuzz/provider.c:79,1
    - Dst: init_keyexch
      Src: /src/openssl/fuzz/provider.c:80,1
    - Dst: init_rand
      Src: /src/openssl/fuzz/provider.c:81,1
    - Dst: init_mac
      Src: /src/openssl/fuzz/provider.c:82,1
    - Dst: init_keymgmt
      Src: /src/openssl/fuzz/provider.c:83,1
    - Dst: init_signature
      Src: /src/openssl/fuzz/provider.c:84,1
    - Dst: init_asym_ciphers
      Src: /src/openssl/fuzz/provider.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - init_asym_ciphers
    - init_keyexch
    - OSSL_LIB_CTX_new
    - init_rand
    - init_signature
    - init_kdf
    - init_kem
    - init_cipher
    - init_keymgmt
    - init_digests
    - init_mac
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_digests
      Src: /src/openssl/fuzz/provider.c:91,1
    - Dst: cleanup_kdf
      Src: /src/openssl/fuzz/provider.c:92,1
    - Dst: cleanup_cipher
      Src: /src/openssl/fuzz/provider.c:93,1
    - Dst: cleanup_kem
      Src: /src/openssl/fuzz/provider.c:94,1
    - Dst: cleanup_keyexch
      Src: /src/openssl/fuzz/provider.c:95,1
    - Dst: cleanup_rand
      Src: /src/openssl/fuzz/provider.c:96,1
    - Dst: cleanup_mac
      Src: /src/openssl/fuzz/provider.c:97,1
    - Dst: cleanup_keymgmt
      Src: /src/openssl/fuzz/provider.c:98,1
    - Dst: cleanup_signature
      Src: /src/openssl/fuzz/provider.c:99,1
    - Dst: cleanup_asym_ciphers
      Src: /src/openssl/fuzz/provider.c:100,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/fuzz/provider.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - cleanup_digests
    - cleanup_kdf
    - cleanup_keymgmt
    - cleanup_signature
    - cleanup_kem
    - OSSL_LIB_CTX_free
    - cleanup_mac
    - cleanup_keyexch
    - cleanup_cipher
    - cleanup_asym_ciphers
    - cleanup_rand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - uint64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - int64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 169
    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:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 192
    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:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 204
    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: 235
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 235
    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:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 248
    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:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 273
    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: 38
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/fuzz/provider.c:284,1
    - Dst: read_int
      Src: /src/openssl/fuzz/provider.c:301,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:302,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:304,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:312,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:315,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:316,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:320,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:321,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:323,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:324,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:328,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:332,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:336,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:339,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:340,1
    - Dst: read_int
      Src: /src/openssl/fuzz/provider.c:344,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:347,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:348,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:359,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:363,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:367,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:370,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:371,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:375,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:376,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:378,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:379,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:383,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:384,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:387,1
    - Dst: read_uint
      Src: /src/openssl/fuzz/provider.c:391,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:395,1
    - Dst: read_double
      Src: /src/openssl/fuzz/provider.c:406,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:410,1
    - Dst: read_utf8_string
      Src: /src/openssl/fuzz/provider.c:421,1
    - Dst: read_octet_string
      Src: /src/openssl/fuzz/provider.c:429,1
    - Dst: read_utf8_ptr
      Src: /src/openssl/fuzz/provider.c:437,1
    - Dst: read_octet_ptr
      Src: /src/openssl/fuzz/provider.c:445,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:456,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 169
    argCount: 3
    argNames:
    - param
    - buf
    - len
    argTypes:
    - OSSL_PARAM*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 460
    functionName: fuzz_params
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - read_double
    - read_uint
    - OPENSSL_free
    - strcmp
    - read_int
    - read_octet_string
    - read_octet_ptr
    - OPENSSL_calloc
    - read_utf8_ptr
    - OPENSSL_malloc
    - read_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fuzz_params(OSSL_PARAM *param, const uint8_t **buf, size_t
      *len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/fuzz/provider.c:466,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/fuzz/provider.c:467,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/fuzz/provider.c:478,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/fuzz/provider.c:479,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/fuzz/provider.c:487,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/fuzz/provider.c:491,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:494,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/fuzz/provider.c:497,1
    - Dst: strlen
      Src: /src/openssl/fuzz/provider.c:498,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/fuzz/provider.c:504,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:507,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:508,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:509,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:513,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:514,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:515,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - evp_cipher
    - param
    argTypes:
    - EVP_CIPHER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 462
    functionDepth: 6
    functionLinenumber: 462
    functionLinenumberEnd: 517
    functionName: do_evp_cipher
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_zalloc
    - EVP_CIPHER_CTX_set_params
    - OPENSSL_free
    - EVP_CIPHER_get_key_length
    - EVP_EncryptInit_ex2
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_CTX_free
    - strlen
    - EVP_EncryptUpdate
    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:525,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:532,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/fuzz/provider.c:537,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/fuzz/provider.c:543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - evp_kdf
    - params
    argTypes:
    - EVP_KDF*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 545
    functionName: do_evp_kdf
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_set_params
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    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:556,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/fuzz/provider.c:557,1
    - Dst: strlen
      Src: /src/openssl/fuzz/provider.c:557,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:563,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/fuzz/provider.c:568,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/fuzz/provider.c:573,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/fuzz/provider.c:579,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - evp_mac
    - params
    argTypes:
    - EVP_MAC*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 547
    functionDepth: 6
    functionLinenumber: 547
    functionLinenumberEnd: 581
    functionName: do_evp_mac
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - strlen
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - EVP_MAC_CTX_new
    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:589,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:594,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/fuzz/provider.c:599,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/fuzz/provider.c:604,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/fuzz/provider.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - evp_rand
    - params
    argTypes:
    - EVP_RAND*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 612
    functionName: do_evp_rand
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_set_params
    - EVP_RAND_CTX_new
    - EVP_RAND_generate
    - EVP_RAND_CTX_free
    - EVP_RAND_reseed
    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: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    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: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    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: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    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: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    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:641,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/fuzz/provider.c:646,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:651,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/fuzz/provider.c:655,1
    - Dst: strlen
      Src: /src/openssl/fuzz/provider.c:655,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/fuzz/provider.c:659,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/fuzz/provider.c:665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - evp_md
    - params
    argTypes:
    - EVP_MD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 634
    functionDepth: 8
    functionLinenumber: 634
    functionLinenumberEnd: 667
    functionName: do_evp_md
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - strlen
    - EVP_DigestInit_ex2
    - 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: 682
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 682
    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:689,1
    - Dst: read_int
      Src: /src/openssl/fuzz/provider.c:694,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:701,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:704,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:707,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:710,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:713,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:716,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:719,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:722,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:725,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:743,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:744,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 746
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_FUZZ
    - read_uint
    - read_int
    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
    - OPENSSL_init_crypto
    - ERR_clear_error
    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:
    - d2i_X509_ACERT
    - BIO_s_null
    - BIO_new
    - OPENSSL_free
    - X509_ACERT_free
    - BIO_free
    - i2d_X509_ACERT
    - X509_ACERT_print
    - ERR_clear_error
    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_s_null
    - BIO_new
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - ERR_clear_error
    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:
    - ASN1_parse_dump
    - ERR_clear_error
    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: 5
    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:
    - FuzzerTestOneInput
    - fopen
    - printf
    - fflush
    - fclose
    - free
    - fread
    - malloc
    - S_ISREG
    - OPENSSL_assert
    - stat
    linkageType: ''
    returnType: void
    signature: void testfile(const char *pathname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerInitialize
      Src: /src/openssl/fuzz/test-corpus.c:65,1
    - Dst: strlen
      Src: /src/openssl/fuzz/test-corpus.c:68,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/fuzz/test-corpus.c:77,1
    - Dst: malloc
      Src: /src/openssl/fuzz/test-corpus.c:80,1
    - Dst: strcpy
      Src: /src/openssl/fuzz/test-corpus.c:83,1
    - Dst: strchr
      Src: /src/openssl/fuzz/test-corpus.c:85,1
    - Dst: strcpy
      Src: /src/openssl/fuzz/test-corpus.c:90,1
    - Dst: testfile
      Src: /src/openssl/fuzz/test-corpus.c:91,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/fuzz/test-corpus.c:93,1
    - Dst: testfile
      Src: /src/openssl/fuzz/test-corpus.c:97,1
    - Dst: free
      Src: /src/openssl/fuzz/test-corpus.c:99,1
    - Dst: FuzzerCleanup
      Src: /src/openssl/fuzz/test-corpus.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/openssl/fuzz/test-corpus.c
    functionUses: 7
    functionsReached:
    - strchr
    - FuzzerCleanup
    - OPENSSL_DIR_end
    - free
    - strcpy
    - OPENSSL_DIR_read
    - strlen
    - malloc
    - testfile
    - FuzzerInitialize
    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:
    - ERR_clear_error
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - OPENSSL_init_ssl
    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_remaining
    - ossl_quic_srtm_cull
    - PACKET_buf_init
    - PACKET_get_net_8
    - ossl_quic_srtm_remove
    - ossl_quic_srtm_add
    - ossl_quic_srtm_free
    - PACKET_copy_bytes
    - ossl_quic_srtm_check
    - PACKET_get_1
    - ossl_quic_srtm_lookup
    - ossl_quic_srtm_new
    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
    - OPENSSL_init_crypto
    - ERR_clear_error
    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_s_null
    - BIO_new
    - OPENSSL_free
    - BIO_free
    - X509_CRL_free
    - i2d_X509_CRL
    - X509_CRL_print
    - d2i_X509_CRL
    - ERR_clear_error
    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:
    - OPENSSL_free
    - OPENSSL_init_crypto
    - OPENSSL_calloc
    - ERR_clear_error
    - ossl_ht_new
    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: 4
    functionLinenumber: 118
    functionLinenumberEnd: 387
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 1
    functionsReached:
    - HT_INIT_KEY
    - memcpy
    - HT_KEY_RESET
    - ossl_ht_value_list_free
    - ossl_ht_fz_FUZZER_VALUE_insert
    - ossl_ht_fz_FUZZER_VALUE_to_value
    - OPENSSL_assert
    - ossl_ht_filter
    - OPERATION
    - ossl_ht_write_unlock
    - HT_SET_KEY_FIELD
    - ossl_ht_read_unlock
    - IS_REPLACE
    - ossl_ht_delete
    - ossl_ht_fz_FUZZER_VALUE_get
    - TO_HT_KEY
    - ossl_ht_write_lock
    - ossl_ht_read_lock
    - ossl_ht_foreach_until
    - ossl_ht_fz_FUZZER_VALUE_type
    - ossl_ht_flush
    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: 6
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 1
    functionsReached:
    - ossl_ht_free
    - OPENSSL_cleanup
    - OPENSSL_free
    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
    - OPENSSL_init_crypto
    - ERR_clear_error
    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_s_null
    - BIO_new
    - i2d_CMS_bio
    - BIO_write
    - BIO_free
    - ERR_clear_error
    - CMS_ContentInfo_free
    - d2i_CMS_bio
    - OPENSSL_assert
    - BIO_s_mem
    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
    - OPENSSL_init_crypto
    - ERR_clear_error
    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_new
    - OPENSSL_free
    - BIO_write
    - BIO_free
    - ERR_clear_error
    - PEM_read_bio_ex
    - strlen
    - OPENSSL_secure_free
    - OPENSSL_assert
    - BIO_s_mem
    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:27,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/openssl/fuzz/decoder.c:28,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/openssl/fuzz/decoder.c:29,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/decoder.c:31,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/decoder.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/decoder.c
    functionUses: 1
    functionsReached:
    - ASN1_PCTX_set_flags
    - ASN1_PCTX_set_str_flags
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - ASN1_PCTX_new
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/fuzz/decoder.c:43,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/decoder.c:43,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/fuzz/decoder.c:44,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/fuzz/decoder.c:49,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/fuzz/decoder.c:52,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/fuzz/decoder.c:53,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/fuzz/decoder.c:54,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/fuzz/decoder.c:56,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/decoder.c:57,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/decoder.c:58,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/decoder.c:59,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/fuzz/decoder.c:61,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/fuzz/decoder.c:66,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/fuzz/decoder.c:66,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/fuzz/decoder.c:67,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/fuzz/decoder.c:68,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/fuzz/decoder.c:70,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/fuzz/decoder.c:72,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/fuzz/decoder.c:73,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/fuzz/decoder.c:74,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/decoder.c:76,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/decoder.c:77,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/decoder.c:78,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/fuzz/decoder.c:80,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/decoder.c:82,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/decoder.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 36
    functionDepth: 12
    functionLinenumber: 36
    functionLinenumberEnd: 85
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/decoder.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_param_check
    - EVP_PKEY_get_bits
    - OSSL_DECODER_from_data
    - EVP_PKEY_print_params
    - EVP_PKEY_public_check
    - ERR_clear_error
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_new
    - EVP_PKEY_eq
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_private_check
    - OPENSSL_assert
    - BIO_s_null
    - EVP_PKEY_print_private
    - BIO_free
    - EVP_PKEY_print_public
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_is_a
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_dup
    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:89,1
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/decoder.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    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:
    - BN_new
    - OPENSSL_init_crypto
    - BN_CTX_new
    - ERR_clear_error
    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_bin2bn
    - BN_print_fp
    - putchar
    - BN_is_zero
    - ERR_clear_error
    - BN_set_negative
    - printf
    - BN_div
    - puts
    - BN_cmp
    - BN_mul
    - OPENSSL_assert
    - BN_is_negative
    - BN_add
    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_free
    - BN_CTX_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:
    - ERR_clear_error
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - OPENSSL_init_ssl
    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:
    - PACKET_remaining
    - ossl_quic_rcidm_on_packet_sent
    - ossl_quic_rcidm_free
    - PACKET_buf_init
    - ossl_quic_rcidm_add_from_ncid
    - ossl_quic_rcidm_on_handshake_complete
    - ossl_quic_rcidm_pop_retire_seq_num
    - ossl_quic_rcidm_add_from_initial
    - ossl_quic_rcidm_peek_retire_seq_num
    - PACKET_get_net_8
    - ossl_quic_rcidm_add_from_server_retry
    - get_cid
    - ossl_quic_rcidm_request_roll
    - ossl_quic_rcidm_get_preferred_tx_dcid
    - PACKET_get_1
    - ossl_quic_rcidm_new
    - ossl_quic_rcidm_get_preferred_tx_dcid_changed
    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_int
    - OSSL_PARAM_size_t
    - OSSL_PARAM_uint
    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:
    - OSSL_PROVIDER_add_builtin
    - RAND_set_DRBG_type
    - OSSL_PROVIDER_try_load
    - exit
    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:32,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/fuzz/v3name.c:34,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/fuzz/v3name.c:35,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/fuzz/v3name.c:37,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/fuzz/v3name.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 41
    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: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    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
    - OPENSSL_init_crypto
    - ERR_clear_error
    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: 11
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/ct.c
    functionUses: 1
    functionsReached:
    - BIO_s_null
    - BIO_new
    - OPENSSL_free
    - i2d_SCT_LIST
    - BIO_free
    - d2i_SCT_LIST
    - SCT_LIST_free
    - STACK_OF
    - SCT_LIST_print
    - ERR_clear_error
    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: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    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:581,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/server.c:583,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/server.c:584,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/server.c:585,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/server.c:586,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/server.c:587,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/server.c:588,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/server.c:589,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/server.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 8
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/server.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/server.c:629,1
    - Dst: TLS_method
      Src: /src/openssl/fuzz/server.c:629,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:630,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/fuzz/server.c:631,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:632,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/fuzz/server.c:633,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:634,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/fuzz/server.c:639,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:640,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/server.c:641,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:642,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/fuzz/server.c:643,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/server.c:644,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:645,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/server.c:646,1
    - Dst: d2i_X509
      Src: /src/openssl/fuzz/server.c:650,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:651,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/server.c:652,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:653,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/server.c:654,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:659,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:659,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:660,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:661,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:661,1
    - Dst: PEM_read_bio_ECPrivateKey
      Src: /src/openssl/fuzz/server.c:662,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/server.c:663,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:664,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:665,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/server.c:666,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:667,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/fuzz/server.c:668,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/server.c:669,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:670,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/server.c:671,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:673,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:673,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:674,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:675,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:675,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/server.c:676,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:677,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:678,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/server.c:679,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:680,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/server.c:681,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:686,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:686,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:687,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:688,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:688,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/openssl/fuzz/server.c:689,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/server.c:690,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:691,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:692,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/server.c:693,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:694,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/fuzz/server.c:695,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/server.c:696,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:697,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/server.c:698,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:700,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:700,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:701,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:702,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:702,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/server.c:703,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:704,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:705,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/server.c:706,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:707,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/server.c:708,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/server.c:711,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:712,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:712,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:713,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:714,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:714,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:715,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/server.c:716,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/fuzz/server.c:717,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:722,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:722,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/fuzz/server.c:728,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/server.c:735,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/server.c:739,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/server.c:744,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/server.c:745,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/server.c:746,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 96
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 596
    functionDepth: 7
    functionLinenumber: 596
    functionLinenumberEnd: 749
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/server.c
    functionUses: 1
    functionsReached:
    - SSL_set_accept_state
    - SSL_read_early_data
    - X509_free
    - PEM_read_bio_ECPrivateKey
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_use_PrivateKey
    - EVP_PKEY_new
    - ERR_clear_error
    - BIO_new
    - BIO_write
    - PEM_read_bio_DSAPrivateKey
    - SSL_read
    - OPENSSL_assert
    - BIO_s_mem
    - SSL_free
    - TLS_method
    - d2i_X509
    - BIO_free
    - SSL_CTX_set_cipher_list
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_free
    - SSL_CTX_use_certificate
    - EVP_PKEY_assign_RSA
    - SSL_new
    - ERR_print_errors_fp
    - SSL_do_handshake
    - SSL_CTX_new
    - d2i_RSAPrivateKey
    - SSL_set_bio
    - 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:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 754
    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:
    - EVP_PKEY_new_raw_private_key_ex
    - RAND_bytes
    - EVP_PKEY_new_raw_public_key_ex
    - select_keytype_and_size
    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_keygen_init
    - select_keytype_and_size
    - fprintf
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_new
    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:
    - fprintf
    - keygen_ml_dsa_real_key_helper
    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:
    - OPENSSL_zalloc
    - OPENSSL_free
    - OSSL_PARAM_octet_string
    - EVP_PKEY_get0_type_name
    - fprintf
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_verify
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_verify_message_init
    - RAND_bytes_ex
    - EVP_PKEY_CTX_free
    - consume_size_t
    - EVP_PKEY_sign
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_SIGNATURE_free
    - 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:428,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-dsa.c:434,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:435,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/fuzz/ml-dsa.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-dsa.c:437,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: 439
      start: 377
    functionDepth: 8
    functionLinenumber: 377
    functionLinenumberEnd: 439
    functionName: ml_dsa_digest_sign_verify
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - OSSL_PARAM_octet_string
    - OPENSSL_free
    - fprintf
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - RAND_bytes_ex
    - consume_size_t
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_SIGNATURE_free
    - OPENSSL_malloc
    - EVP_DigestVerifyInit_ex
    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:467,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:468,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-dsa.c:472,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:474,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/ml-dsa.c:478,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:479,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:484,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:485,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/fuzz/ml-dsa.c:486,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: 487
      start: 459
    functionDepth: 5
    functionLinenumber: 459
    functionLinenumberEnd: 487
    functionName: ml_dsa_export_import
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - fprintf
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:510,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/ml-dsa.c:511,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: 512
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 512
    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: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
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key1
    - key2
    - key3
    - key4
    argTypes:
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 535
    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: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    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:652,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/ml-dsa.c:657,1
    - Dst: setup
      Src: /src/openssl/fuzz/ml-dsa.c:661,1
    - Dst: doit
      Src: /src/openssl/fuzz/ml-dsa.c:663,1
    - Dst: cleanup
      Src: /src/openssl/fuzz/ml-dsa.c:665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 641
    functionDepth: 9
    functionLinenumber: 641
    functionLinenumberEnd: 668
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 1
    functionsReached:
    - doit
    - cleanup
    - setup
    - OSSL_NELEM
    - consume_uint8_t
    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:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 6
    functionLinenumber: 670
    functionLinenumberEnd: 673
    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: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    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:46,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/client.c:48,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/client.c:49,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/client.c:50,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/client.c:51,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/client.c:52,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/client.c:53,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/client.c:54,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/client.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/client.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/client.c:72,1
    - Dst: TLS_method
      Src: /src/openssl/fuzz/client.c:72,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/client.c:76,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/client.c:79,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/fuzz/client.c:79,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/client.c:80,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/fuzz/client.c:80,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/fuzz/client.c:81,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/client.c:82,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/client.c:82,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/client.c:85,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/client.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/client.c:87,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/client.c:90,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/fuzz/client.c:91,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/client.c:92,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/client.c:92,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/client.c:93,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/client.c:97,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/client.c:103,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/client.c:104,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/client.c:105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 108
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/client.c
    functionUses: 1
    functionsReached:
    - SSL_new
    - TLS_method
    - BIO_new
    - ERR_clear_error
    - BIO_write
    - BIO_free
    - SSL_set_connect_state
    - SSL_do_handshake
    - SSL_CTX_new
    - SSL_set_cipher_list
    - SSL_set_min_proto_version
    - SSL_read
    - SSL_CTX_free
    - SSL_set_bio
    - SSL_free
    - SSL_set_tlsext_host_name
    - OPENSSL_assert
    - BIO_s_mem
    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:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    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: 753
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 753
    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:767,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/dtlsserver.c:769,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/dtlsserver.c:770,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/dtlsserver.c:771,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsserver.c:772,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/dtlsserver.c:773,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/dtlsserver.c:774,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/dtlsserver.c:775,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/dtlsserver.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 765
    functionDepth: 8
    functionLinenumber: 765
    functionLinenumberEnd: 780
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/dtlsserver.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/dtlsserver.c:810,1
    - Dst: DTLS_server_method
      Src: /src/openssl/fuzz/dtlsserver.c:810,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/fuzz/dtlsserver.c:812,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:813,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/fuzz/dtlsserver.c:814,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:815,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:819,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:819,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:820,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:820,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:821,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/dtlsserver.c:822,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:823,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:824,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/dtlsserver.c:825,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/fuzz/dtlsserver.c:826,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:827,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:828,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/dtlsserver.c:829,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:832,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:832,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:833,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:833,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/dtlsserver.c:834,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:835,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:836,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/dtlsserver.c:837,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:838,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/dtlsserver.c:839,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:844,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:844,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:845,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:845,1
    - Dst: PEM_read_bio_ECPrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:846,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/dtlsserver.c:847,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:848,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:849,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/dtlsserver.c:850,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/fuzz/dtlsserver.c:851,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:852,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:853,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/dtlsserver.c:854,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:856,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:856,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:857,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:857,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/dtlsserver.c:858,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:859,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:860,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/dtlsserver.c:861,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:862,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/dtlsserver.c:863,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:868,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:868,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:869,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:869,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:870,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/dtlsserver.c:871,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:872,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:873,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/dtlsserver.c:874,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/fuzz/dtlsserver.c:875,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:876,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:877,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/dtlsserver.c:878,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:880,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:880,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:881,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:881,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/dtlsserver.c:882,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:883,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:884,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/dtlsserver.c:885,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:886,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/dtlsserver.c:887,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/dtlsserver.c:890,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:891,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:891,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:892,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:892,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/dtlsserver.c:893,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/fuzz/dtlsserver.c:894,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:896,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:896,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/dtlsserver.c:898,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/dtlsserver.c:902,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/dtlsserver.c:907,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsserver.c:908,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/dtlsserver.c:909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 782
    functionDepth: 7
    functionLinenumber: 782
    functionLinenumberEnd: 912
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/dtlsserver.c
    functionUses: 1
    functionsReached:
    - SSL_set_accept_state
    - X509_free
    - PEM_read_bio_RSAPrivateKey
    - PEM_read_bio_ECPrivateKey
    - SSL_CTX_free
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_use_PrivateKey
    - EVP_PKEY_new
    - ERR_clear_error
    - BIO_new
    - BIO_write
    - DTLS_server_method
    - PEM_read_bio_DSAPrivateKey
    - SSL_read
    - OPENSSL_assert
    - BIO_s_mem
    - SSL_free
    - BIO_free
    - SSL_CTX_set_cipher_list
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_free
    - SSL_CTX_use_certificate
    - EVP_PKEY_assign_RSA
    - SSL_new
    - ERR_print_errors_fp
    - SSL_do_handshake
    - SSL_CTX_new
    - SSL_set_bio
    - 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:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 917
    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:24,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/x509.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 8
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - ERR_clear_error
    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: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: cb
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 370
    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:45,1
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/x509.c:46,1
    - Dst: d2i_X509
      Src: /src/openssl/fuzz/x509.c:51,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/x509.c:55,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/x509.c:55,1
    - Dst: X509_print
      Src: /src/openssl/fuzz/x509.c:60,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/x509.c:61,1
    - Dst: X509_issuer_and_serial_hash
      Src: /src/openssl/fuzz/x509.c:63,1
    - Dst: i2d_X509
      Src: /src/openssl/fuzz/x509.c:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/x509.c:66,1
    - Dst: d2i_X509
      Src: /src/openssl/fuzz/x509.c:69,1
    - Dst: d2i_X509_CRL
      Src: /src/openssl/fuzz/x509.c:74,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/fuzz/x509.c:79,1
    - Dst: X509_STORE_new
      Src: /src/openssl/fuzz/x509.c:81,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/fuzz/x509.c:84,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/fuzz/x509.c:86,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_VERIFY_PARAM_set_flags
      Src: /src/openssl/fuzz/x509.c:92,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/fuzz/x509.c:94,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/fuzz/x509.c:96,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/fuzz/x509.c:98,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/fuzz/x509.c:102,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/fuzz/x509.c:105,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/fuzz/x509.c:107,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/fuzz/x509.c:110,1
    - Dst: X509_verify_cert
      Src: /src/openssl/fuzz/x509.c:113,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/fuzz/x509.c:116,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/fuzz/x509.c:122,1
    - Dst: sk_X509_push
      Src: /src/openssl/fuzz/x509.c:124,1
    - Dst: sk_X509_push
      Src: /src/openssl/fuzz/x509.c:125,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/fuzz/x509.c:128,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/fuzz/x509.c:130,1
    - Dst: OCSP_resp_find_status
      Src: /src/openssl/fuzz/x509.c:133,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/fuzz/x509.c:138,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/fuzz/x509.c:139,1
    - Dst: X509_STORE_free
      Src: /src/openssl/fuzz/x509.c:140,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/x509.c:141,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/x509.c:142,1
    - Dst: X509_CRL_free
      Src: /src/openssl/fuzz/x509.c:143,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/fuzz/x509.c:144,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/fuzz/x509.c:145,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/fuzz/x509.c:146,1
    - Dst: sk_X509_CRL_free
      Src: /src/openssl/fuzz/x509.c:147,1
    - Dst: sk_X509_free
      Src: /src/openssl/fuzz/x509.c:148,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/x509.c:150,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 34
    functionDepth: 11
    functionLinenumber: 34
    functionLinenumberEnd: 152
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 1
    functionsReached:
    - X509_STORE_set_verify_cb
    - X509_STORE_CTX_init
    - d2i_OCSP_RESPONSE
    - OCSP_resp_find_status
    - OCSP_BASICRESP_free
    - X509_free
    - sk_X509_CRL_free
    - X509_STORE_CTX_free
    - sk_X509_push
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_free
    - d2i_X509_CRL
    - ERR_clear_error
    - OCSP_RESPONSE_free
    - X509_VERIFY_PARAM_set_flags
    - OCSP_response_get1_basic
    - BIO_new
    - OPENSSL_free
    - sk_X509_CRL_push
    - OCSP_cert_to_id
    - STACK_OF
    - X509_STORE_free
    - X509_STORE_CTX_set0_crls
    - BIO_s_null
    - d2i_X509
    - X509_STORE_CTX_new
    - BIO_free
    - sk_X509_new_null
    - OCSP_CERTID_free
    - X509_issuer_and_serial_hash
    - X509_verify_cert
    - X509_print
    - sk_X509_CRL_new_null
    - OCSP_basic_verify
    - X509_CRL_free
    - X509_STORE_add_cert
    - X509_STORE_set1_param
    - sk_X509_free
    - X509_STORE_new
    - i2d_X509
    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:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 157
    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:
    - OPENSSL_init_crypto
    - ERR_clear_error
    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:
    - NCONF_load_bio
    - BIO_new
    - ERR_clear_error
    - BIO_write
    - BIO_free
    - NCONF_free
    - NCONF_new
    - OPENSSL_assert
    - BIO_s_mem
    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:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/pkcs12.c:23,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/pkcs12.c:24,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/pkcs12.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/pkcs12.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/pkcs12.c:36,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/pkcs12.c:41,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/pkcs12.c:41,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/pkcs12.c:42,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/pkcs12.c:42,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/fuzz/pkcs12.c:43,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/fuzz/pkcs12.c:45,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/fuzz/pkcs12.c:46,1
    - Dst: PKCS12_parse
      Src: /src/openssl/fuzz/pkcs12.c:48,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/pkcs12.c:49,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/pkcs12.c:50,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/fuzz/pkcs12.c:51,1
    - Dst: PKCS12_parse
      Src: /src/openssl/fuzz/pkcs12.c:56,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/pkcs12.c:57,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/pkcs12.c:58,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/fuzz/pkcs12.c:59,1
    - Dst: PKCS12_free
      Src: /src/openssl/fuzz/pkcs12.c:61,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/pkcs12.c:64,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/pkcs12.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 68
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/pkcs12.c
    functionUses: 1
    functionsReached:
    - d2i_PKCS12_bio
    - PKCS12_parse
    - BIO_new
    - ERR_clear_error
    - BIO_write
    - X509_free
    - OSSL_STACK_OF_X509_free
    - PKCS12_verify_mac
    - BIO_free
    - STACK_OF
    - EVP_PKEY_free
    - PKCS12_free
    - OPENSSL_assert
    - BIO_s_mem
    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: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/pkcs12.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:
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ERR_clear_error
    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: (thisstream < numstreams)
      pos:
        line_end: 205
        line_start: 205
        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
    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:
    - SSL_set_accept_state
    - SSL_write
    - BIO_s_dgram_mem
    - SSL_accept_stream
    - ossl_time_compare
    - SSL_CTX_free
    - BIO_dgram_set_caps
    - ossl_quic_set_override_now_cb
    - ossl_time_zero
    - SSL_get_accept_stream_queue_len
    - ERR_clear_error
    - BIO_new
    - SSL_get_event_timeout
    - BIO_write
    - SSL_new_listener
    - SSL_read
    - SSL_get_error
    - ossl_time_from_timeval
    - SSL_free
    - BIO_free
    - SSL_CTX_set_alpn_select_cb
    - OSSL_QUIC_server_method
    - SSL_new_stream
    - assert
    - ossl_ms2time
    - SSL_CTX_new
    - OSSL_NELEM
    - ossl_time_add
    - SSL_set_bio
    - 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:23,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/bignum.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/bignum.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_crypto
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/fuzz/bignum.c:41,1
    - 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_CTX_new
      Src: /src/openssl/fuzz/bignum.c:46,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:65,1
    - Dst: BN_bin2bn
      Src: /src/openssl/fuzz/bignum.c:65,1
    - Dst: BN_set_negative
      Src: /src/openssl/fuzz/bignum.c:66,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:67,1
    - Dst: BN_bin2bn
      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: BN_set_negative
      Src: /src/openssl/fuzz/bignum.c:69,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bignum.c:72,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:77,1
    - Dst: BN_mod_exp
      Src: /src/openssl/fuzz/bignum.c:77,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:78,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/fuzz/bignum.c:78,1
    - Dst: BN_cmp
      Src: /src/openssl/fuzz/bignum.c:80,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:82,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:83,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:84,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:85,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:86,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:87,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:88,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:89,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:90,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:91,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:95,1
    - Dst: BN_free
      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_CTX_free
      Src: /src/openssl/fuzz/bignum.c:101,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/bignum.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 105
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/bignum.c
    functionUses: 1
    functionsReached:
    - BN_bin2bn
    - BN_print_fp
    - putchar
    - BN_is_zero
    - BN_set_negative
    - BN_CTX_new
    - BN_CTX_free
    - BN_mod_exp
    - BN_free
    - BN_cmp
    - BN_mod_exp_simple
    - BN_new
    - OPENSSL_assert
    - ERR_clear_error
    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: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    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:
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ERR_clear_error
    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:
    - SSL_write
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - BIO_ADDR_new
    - htons
    - BIO_s_dgram_mem
    - SSL_accept_stream
    - ossl_time_compare
    - SSL_CTX_free
    - BIO_dgram_set_caps
    - ossl_quic_set_override_now_cb
    - ossl_time_zero
    - SSL_get_accept_stream_queue_len
    - ERR_clear_error
    - BIO_new
    - SSL_get_event_timeout
    - BIO_write
    - SSL_set_connect_state
    - SSL_read
    - SSL_set_tlsext_host_name
    - SSL_get_error
    - ossl_time_from_timeval
    - SSL_free
    - BIO_free
    - SSL_set_incoming_stream_policy
    - htonl
    - SSL_new_stream
    - assert
    - ossl_ms2time
    - SSL_set1_initial_peer_addr
    - SSL_new
    - OSSL_QUIC_client_method
    - SSL_set_alpn_protos
    - SSL_do_handshake
    - SSL_CTX_new
    - OSSL_NELEM
    - ossl_time_add
    - 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/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:
    - EVP_PKEY_new_raw_private_key_ex
    - RAND_bytes
    - EVP_PKEY_new_raw_public_key_ex
    - select_keytype_and_size
    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_keygen_init
    - select_keytype_and_size
    - fprintf
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_new
    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:315,1
    - Dst: memcmp
      Src: /src/openssl/fuzz/ml-kem.c:319,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:320,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:322,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: 324
      start: 269
    functionDepth: 12
    functionLinenumber: 269
    functionLinenumberEnd: 324
    functionName: mlkem_encap_decap
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - memcmp
    - EVP_PKEY_encapsulate
    - EVP_PKEY_encapsulate_init
    - fprintf
    - EVP_PKEY_decapsulate
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:348,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:350,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/fuzz/ml-kem.c:354,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:355,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/fuzz/ml-kem.c:359,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:360,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/fuzz/ml-kem.c:364,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:365,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/fuzz/ml-kem.c:372,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:374,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/fuzz/ml-kem.c:377,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:378,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-kem.c:379,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:385,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: 386
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 386
    functionName: do_derive
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - OPENSSL_zalloc
    - OPENSSL_free
    - fprintf
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:415,1
    - Dst: do_derive
      Src: /src/openssl/fuzz/ml-kem.c:416,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-kem.c:421,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-kem.c:422,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: 423
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: mlkem_kex
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - do_derive
    - OPENSSL_free
    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:451,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:452,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-kem.c:456,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:458,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/ml-kem.c:462,1
    - Dst: EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
      Src: /src/openssl/fuzz/ml-kem.c:462,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:463,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:468,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/fuzz/ml-kem.c:470,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: 471
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 471
    functionName: mlkem_export_import
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - 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:494,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/ml-kem.c:495,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: 496
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 496
    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: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
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-kem.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key1
    - key2
    - key3
    - key4
    argTypes:
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 520
    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: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    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:639,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/ml-kem.c:646,1
    - Dst: setup
      Src: /src/openssl/fuzz/ml-kem.c:652,1
    - Dst: doit
      Src: /src/openssl/fuzz/ml-kem.c:654,1
    - Dst: cleanup
      Src: /src/openssl/fuzz/ml-kem.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 9
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 1
    functionsReached:
    - consume_uint8t
    - doit
    - cleanup
    - setup
    - OSSL_NELEM
    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:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 6
    functionLinenumber: 661
    functionLinenumberEnd: 664
    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:
    - sk_PKCS7_SIGNER_INFO_value
    - PKCS7_get_signer_info
    - SMIME_read_PKCS7
    - sk_X509_ALGOR_pop_free
    - BIO_free
    - PKCS7_cert_from_signer_info
    - BIO_new_mem_buf
    - STACK_OF
    - PKCS7_free
    - PKCS7_get_smimecap
    - sk_PKCS7_SIGNER_INFO_num
    - ERR_clear_error
    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:
    - __AFL_LOOP
    - FuzzerTestOneInput
    - FuzzerCleanup
    - FuzzerInitialize
    - free
    - malloc
    - read
    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_keygen_init
    - EVP_PKEY_new::EVP_PKEY_new
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OPENSSL_assert
    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
    - consume_uint8t
    - select_keytype
    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:
    - consume_uint8t
    - select_keytype
    - OSSL_PARAM_construct_octet_string
    - slh_dsa_gen_key
    - RAND_bytes
    - OSSL_PARAM_construct_end
    - OPENSSL_assert
    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:
    - consume_uint8t
    - select_keytype
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_int
    - slh_dsa_gen_key
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_zalloc
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_verify
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_CTX_free
    - EVP_PKEY_sign
    - OPENSSL_assert
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_init
    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_new::EVP_PKEY_new
    - EVP_PKEY_eq
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
    - OPENSSL_assert
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_todata
    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: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    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:578,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/slh-dsa.c:585,1
    - Dst: setup
      Src: /src/openssl/fuzz/slh-dsa.c:591,1
    - Dst: doit
      Src: /src/openssl/fuzz/slh-dsa.c:593,1
    - Dst: cleanup
      Src: /src/openssl/fuzz/slh-dsa.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 565
    functionDepth: 9
    functionLinenumber: 565
    functionLinenumberEnd: 598
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 3
    functionsReached:
    - consume_uint8t
    - doit
    - cleanup
    - setup
    - OSSL_NELEM
    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:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 6
    functionLinenumber: 600
    functionLinenumberEnd: 603
    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:
    - ERR_clear_error
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - OPENSSL_init_ssl
    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:
    - PACKET_remaining
    - ossl_quic_lcidm_generate
    - PACKET_buf_init
    - ossl_quic_lcidm_retire_odcid
    - ossl_quic_lcidm_enrol_odcid
    - PACKET_get_net_8
    - ossl_quic_lcidm_retire
    - get_cid
    - ossl_quic_lcidm_lookup
    - ossl_quic_lcidm_new
    - ossl_quic_lcidm_free
    - PACKET_get_1
    - ossl_quic_lcidm_generate_initial
    - ossl_quic_lcidm_cull
    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:
    - OPENSSL_free
    - ossl_a2ulabel
    - ossl_punycode_decode
    - OSSL_NELEM
    - memcpy
    - 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
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - ERR_clear_error
    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: 25
    functionLinenumber: 51
    functionLinenumberEnd: 100
    functionName: cmp_client_process_response
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_new
    - X509_set_serialNumber
    - OSSL_CMP_exec_IR_ses
    - OSSL_CMP_exec_GENM_ses
    - OSSL_CMP_exec_P10CR_ses
    - OSSL_CMP_exec_KUR_ses
    - OSSL_CMP_CTX_set_log_cb
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_try_certreq
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - ossl_cmp_msg_check_update
    - sk_OSSL_CMP_ITAV_pop_free
    - OSSL_CMP_exec_CR_ses
    - X509_NAME_new
    - X509_NAME_free
    - X509_new
    - ASN1_INTEGER_free
    - X509_set_issuer_name
    - OSSL_CMP_CTX_set_transfer_cb
    - OSSL_CMP_exec_RR_ses
    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: 7
    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: BIO_write
      Src: /src/openssl/fuzz/cmp.c:179,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cmp.c:180,1
    - Dst: d2i_OSSL_CMP_MSG_bio
      Src: /src/openssl/fuzz/cmp.c:184,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/cmp.c:186,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/cmp.c:186,1
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/openssl/fuzz/cmp.c:187,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/fuzz/cmp.c:188,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/fuzz/cmp.c:191,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/fuzz/cmp.c:192,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/fuzz/cmp.c:193,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cmp.c:194,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/cmp.c:195,1
    - Dst: i2d_OSSL_CMP_MSG_bio
      Src: /src/openssl/fuzz/cmp.c:199,1
    - Dst: ASN1_item_print
      Src: /src/openssl/fuzz/cmp.c:200,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/fuzz/cmp.c:201,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cmp.c:202,1
    - Dst: cmp_client_process_response
      Src: /src/openssl/fuzz/cmp.c:205,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/fuzz/cmp.c:207,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/fuzz/cmp.c:207,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/openssl/fuzz/cmp.c:209,1
    - Dst: OSSL_CMP_SRV_CTX_init_trans
      Src: /src/openssl/fuzz/cmp.c:212,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/fuzz/cmp.c:214,1
    - Dst: OSSL_CMP_SRV_process_request
      Src: /src/openssl/fuzz/cmp.c:214,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/fuzz/cmp.c:216,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/fuzz/cmp.c:217,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/fuzz/cmp.c:218,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cmp.c:221,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/cmp.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 170
    functionDepth: 26
    functionLinenumber: 170
    functionLinenumberEnd: 225
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 3
    functionsReached:
    - OSSL_CMP_SRV_CTX_new
    - OSSL_CMP_CTX_set_log_cb
    - ERR_clear_error
    - BIO_new
    - BIO_write
    - OSSL_CMP_SRV_process_request
    - cmp_client_process_response
    - BIO_s_mem
    - BIO_s_null
    - BIO_free
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_new
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - ASN1_ITEM_rptr
    - ASN1_item_print
    - i2d_OSSL_CMP_MSG_bio
    - d2i_OSSL_CMP_MSG_bio
    - OSSL_CMP_SRV_CTX_init
    - OSSL_CMP_SRV_CTX_free
    - OSSL_CMP_SRV_CTX_init_trans
    - OSSL_CMP_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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    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:46,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/dtlsclient.c:48,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/dtlsclient.c:49,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/dtlsclient.c:50,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsclient.c:51,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/dtlsclient.c:52,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/dtlsclient.c:53,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/dtlsclient.c:54,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/dtlsclient.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/dtlsclient.c
    functionUses: 3
    functionsReached:
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    - FuzzerSetRand
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/dtlsclient.c:72,1
    - Dst: DTLS_client_method
      Src: /src/openssl/fuzz/dtlsclient.c:72,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/dtlsclient.c:76,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsclient.c:79,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/fuzz/dtlsclient.c:79,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsclient.c:80,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/fuzz/dtlsclient.c:80,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/fuzz/dtlsclient.c:81,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsclient.c:82,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsclient.c:82,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsclient.c:85,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsclient.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsclient.c:87,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/dtlsclient.c:90,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/fuzz/dtlsclient.c:91,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsclient.c:92,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsclient.c:92,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/dtlsclient.c:93,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/dtlsclient.c:97,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/dtlsclient.c:103,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsclient.c:104,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/dtlsclient.c:105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 108
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/dtlsclient.c
    functionUses: 3
    functionsReached:
    - SSL_new
    - DTLS_client_method
    - BIO_new
    - ERR_clear_error
    - BIO_write
    - BIO_free
    - SSL_set_connect_state
    - SSL_do_handshake
    - SSL_CTX_new
    - SSL_set_cipher_list
    - SSL_set_min_proto_version
    - SSL_read
    - SSL_CTX_free
    - SSL_set_bio
    - SSL_free
    - SSL_set_tlsext_host_name
    - OPENSSL_assert
    - BIO_s_mem
    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:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    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: 144
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 144
    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:153,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/ssl_conf.c:156,1
    - Dst: ssl_set_option
      Src: /src/openssl/ssl/ssl_conf.c:158,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: 160
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: ssl_match_option
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strncasecmp
    - ssl_set_option
    - strcmp
    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:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - elem
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 190
    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:197,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/ssl/ssl_conf.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: cmd_SignatureAlgorithms
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set1_sigalgs_list
    - SSL_CTX_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:209,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/openssl/ssl/ssl_conf.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: cmd_ClientSignatureAlgorithms
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set1_client_sigalgs_list
    - SSL_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:220,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: cmd_Groups
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set1_groups_list
    - SSL_CTX_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:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    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:240,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/ssl_conf.c:241,1
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:243,1
    - Dst: strchr
      Src: /src/openssl/ssl/ssl_conf.c:247,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:251,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: cmd_ECDHParameters
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - strchr
    - SSL_set1_groups_list
    - SSL_CTX_set1_groups_list
    - strcmp
    - OPENSSL_strcasecmp
    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:263,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/ssl/ssl_conf.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: cmd_CipherString
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set_cipher_list
    - SSL_CTX_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:274,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/ssl/ssl_conf.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: cmd_Ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - SSL_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:283,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:284,1
    - 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: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:294,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/ssl_conf.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: cmd_Protocol
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_FLAG_TBL_INV
    - OSSL_NELEM
    - 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:327,1
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 333
    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:346,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_conf.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cctx
    - value
    - bound
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: min_max_proto
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - protocol_from_string
    - ssl_set_version_bound
    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:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 361
    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:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 373
    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:378,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:379,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:381,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:382,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/openssl/ssl/ssl_conf.c:383,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/openssl/ssl/ssl_conf.c:384,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:387,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:388,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_INV
      Src: /src/openssl/ssl/ssl_conf.c:394,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:395,1
    - Dst: SSL_FLAG_TBL
      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_INV
      Src: /src/openssl/ssl/ssl_conf.c:400,1
    - Dst: SSL_FLAG_TBL_INV
      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
      Src: /src/openssl/ssl/ssl_conf.c:403,1
    - Dst: SSL_FLAG_TBL_CERT
      Src: /src/openssl/ssl/ssl_conf.c:404,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:405,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:406,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:407,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:408,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:414,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/ssl_conf.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 416
    functionName: cmd_Options
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_FLAG_TBL
    - SSL_FLAG_TBL_SRV
    - OSSL_NELEM
    - SSL_FLAG_TBL_CERT
    - SSL_FLAG_TBL_INV
    - CONF_parse_list
    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:421,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:422,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:423,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:426,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:428,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:434,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/ssl_conf.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 436
    functionName: cmd_VerifyMode
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_FLAG_VFY_SRV
    - SSL_FLAG_VFY_CLI
    - OSSL_NELEM
    - CONF_parse_list
    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:443,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_conf.c:447,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/openssl/ssl/ssl_conf.c:450,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:464,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_conf.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 472
    functionName: cmd_Certificate
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL
    - SSL_use_certificate_chain_file
    - SSL_CTX_use_certificate_chain_file
    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:480,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/ssl/ssl_conf.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 484
    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:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    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:508,1
    - Dst: X509_STORE_new
      Src: /src/openssl/ssl/ssl_conf.c:524,1
    - Dst: X509_STORE_load_file_ex
      Src: /src/openssl/ssl/ssl_conf.c:529,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/ssl/ssl_conf.c:531,1
    - Dst: X509_STORE_load_store_ex
      Src: /src/openssl/ssl/ssl_conf.c:533,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: 536
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 536
    functionName: do_store
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_file_ex
    - X509_STORE_load_store_ex
    - SSL_CONNECTION_FROM_SSL
    - X509_STORE_load_path
    - X509_STORE_new
    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:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 6
    functionLinenumber: 538
    functionLinenumberEnd: 541
    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:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 6
    functionLinenumber: 543
    functionLinenumberEnd: 546
    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:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 6
    functionLinenumber: 548
    functionLinenumberEnd: 551
    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:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 6
    functionLinenumber: 553
    functionLinenumberEnd: 556
    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:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 6
    functionLinenumber: 558
    functionLinenumberEnd: 561
    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:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 566
    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:571,1
    - Dst: SSL_add_file_cert_subjects_to_stack
      Src: /src/openssl/ssl/ssl_conf.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 575
    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:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 580
    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:585,1
    - Dst: SSL_add_dir_cert_subjects_to_stack
      Src: /src/openssl/ssl/ssl_conf.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 589
    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:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 594
    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:599,1
    - Dst: SSL_add_store_cert_subjects_to_stack
      Src: /src/openssl/ssl/ssl_conf.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 603
    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:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 608
    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:619,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_conf.c:619,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_conf.c:622,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/ssl/ssl_conf.c:626,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_conf.c:631,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/ssl/ssl_conf.c:632,1
    - Dst: BIO_eof
      Src: /src/openssl/ssl/ssl_conf.c:634,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/ssl/ssl_conf.c:636,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/ssl_conf.c:639,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_conf.c:642,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/ssl_conf.c:648,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/ssl_conf.c:652,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_conf.c:656,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_conf.c:657,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 610
    functionDepth: 12
    functionLinenumber: 610
    functionLinenumberEnd: 659
    functionName: cmd_DHParameters
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - SSL_set0_tmp_dh_pkey
    - OSSL_DECODER_CTX_new_for_pkey
    - ERR_clear_last_mark
    - BIO_new
    - BIO_free
    - OSSL_DECODER_from_bio
    - SSL_CTX_set0_tmp_dh_pkey
    - BIO_read_filename
    - BIO_s_file
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_free
    - ERR_set_mark
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: int cmd_DHParameters(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_conf.c:674,1
    - Dst: strstr
      Src: /src/openssl/ssl/ssl_conf.c:677,1
    - Dst: OPENSSL_strtoul
      Src: /src/openssl/ssl/ssl_conf.c:682,1
    - Dst: OPENSSL_strtoul
      Src: /src/openssl/ssl/ssl_conf.c:685,1
    - Dst: SSL_CTX_is_quic
      Src: /src/openssl/ssl/ssl_conf.c:702,1
    - Dst: SSL_CTX_set_block_padding_ex
      Src: /src/openssl/ssl/ssl_conf.c:705,1
    - Dst: SSL_is_quic
      Src: /src/openssl/ssl/ssl_conf.c:712,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/ssl/ssl_conf.c:715,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:719,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 721
    functionName: cmd_RecordPadding
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - SSL_CTX_set_block_padding_ex
    - OPENSSL_free
    - OPENSSL_strtoul
    - SSL_set_block_padding_ex
    - SSL_CTX_is_quic
    - strstr
    - SSL_is_quic
    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:726,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/openssl/ssl/ssl_conf.c:730,1
    - Dst: SSL_set_num_tickets
      Src: /src/openssl/ssl/ssl_conf.c:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: cmd_NumTickets
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_num_tickets
    - atoi
    - SSL_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: 749
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 749
    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: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    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: 755
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 755
    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:899,1
    - Dst: strncmp
      Src: /src/openssl/ssl/ssl_conf.c:901,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/ssl_conf.c:903,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cctx
    - pcmd
    argTypes:
    - SSL_CONF_CTX*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 893
    functionDepth: 3
    functionLinenumber: 893
    functionLinenumberEnd: 912
    functionName: ssl_conf_cmd_skip_prefix
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - OPENSSL_strncasecmp
    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: 927
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 927
    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:938,1
    - Dst: ssl_conf_cmd_allowed
      Src: /src/openssl/ssl/ssl_conf.c:939,1
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:941,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/ssl_conf.c:945,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 951
    functionName: ssl_conf_cmd_lookup
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - strcmp
    - ssl_conf_cmd_allowed
    - OSSL_NELEM
    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:960,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_conf.c:961,1
    - Dst: ssl_set_option
      Src: /src/openssl/ssl/ssl_conf.c:966,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: 968
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 968
    functionName: ctrl_switch_option
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - ssl_set_option
    - ERR_raise
    - OSSL_NELEM
    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:974,1
    - Dst: ssl_conf_cmd_skip_prefix
      Src: /src/openssl/ssl/ssl_conf.c:978,1
    - Dst: ssl_conf_cmd_lookup
      Src: /src/openssl/ssl/ssl_conf.c:981,1
    - Dst: ctrl_switch_option
      Src: /src/openssl/ssl/ssl_conf.c:987,1
    - Dst: ssl_conf_cmd_tbl*::cmd
      Src: /src/openssl/ssl/ssl_conf.c:991,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_conf.c:999,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_conf.c:1007,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - cctx
    - cmd
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 970
    functionDepth: 4
    functionLinenumber: 970
    functionLinenumberEnd: 1010
    functionName: SSL_CONF_cmd
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 5
    functionsReached:
    - ctrl_switch_option
    - ERR_raise_data
    - ssl_conf_cmd_tbl*::cmd
    - ssl_conf_cmd_lookup
    - ERR_raise
    - 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:1029,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - cctx
    - pargc
    - pargv
    argTypes:
    - SSL_CONF_CTX*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1012
    functionDepth: 5
    functionLinenumber: 1012
    functionLinenumberEnd: 1044
    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:1048,1
    - Dst: ssl_conf_cmd_lookup
      Src: /src/openssl/ssl/ssl_conf.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    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:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1062
    functionName: SSL_CONF_CTX_new
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 11
    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:1073,1
    - Dst: cmd_PrivateKey
      Src: /src/openssl/ssl/ssl_conf.c:1086,1
    - Dst: SSL_set0_CA_list
      Src: /src/openssl/ssl/ssl_conf.c:1093,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/ssl/ssl_conf.c:1095,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_conf.c:1097,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1101
    functionName: SSL_CONF_CTX_finish
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - sk_X509_NAME_pop_free
    - cmd_PrivateKey
    - SSL_CTX_set0_CA_list
    - SSL_set0_CA_list
    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:1108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1112
    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:1117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1118,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_conf.c:1119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    functionName: SSL_CONF_CTX_free
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 8
    functionsReached:
    - sk_X509_NAME_pop_free
    - free_cert_filename
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cctx
    - flags
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1136
    functionName: SSL_CONF_CTX_set_flags
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 11
    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: 1142
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    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:1148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1152,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_conf.c:1155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cctx
    - pre
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1159
    functionName: SSL_CONF_CTX_set1_prefix
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - strlen
    - OPENSSL_free
    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:1165,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_conf.c:1167,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_conf.c:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - cctx
    - ssl
    argTypes:
    - SSL_CONF_CTX*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1187
    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:1193,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_conf.c:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - cctx
    - ctx
    argTypes:
    - SSL_CONF_CTX*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1211
    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
    - OPENSSL_init_crypto
    - ERR_raise
    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: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    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:106,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_asn1.c:106,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: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    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:141,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:155,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:160,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:164,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:167,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:170,1
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/ssl/ssl_asn1.c:173,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_asn1.c:174,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/ssl/ssl_asn1.c:182,1
    - Dst: ssl_session_sinit
      Src: /src/openssl/ssl/ssl_asn1.c:187,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:190,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:199,1
    - Dst: ssl_session_sinit
      Src: /src/openssl/ssl/ssl_asn1.c:202,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:211,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:219,1
    - Dst: i2d_SSL_SESSION_ASN1
      Src: /src/openssl/ssl/ssl_asn1.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:223,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 2
    argNames:
    - in
    - pp
    argTypes:
    - SSL_SESSION*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 111
    functionDepth: 12
    functionLinenumber: 111
    functionLinenumberEnd: 225
    functionName: i2d_SSL_SESSION
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 1
    functionsReached:
    - i2d_SSL_SESSION_ASN1
    - ossl_time2seconds
    - OPENSSL_free
    - ssl_session_oinit
    - ossl_time_to_time_t
    - memset
    - i2d_PUBKEY
    - ssl_session_sinit
    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:233,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pdst
    - src
    argTypes:
    - char**
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: ssl_session_strndup
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strndup
    - OPENSSL_free
    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:254,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: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    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:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - SSL_SESSION**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    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:274,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/ssl/ssl_asn1.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:304,1
    - Dst: ssl3_get_cipher_by_id
      Src: /src/openssl/ssl/ssl_asn1.c:312,1
    - Dst: ssl_session_memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:316,1
    - Dst: ssl_session_memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:320,1
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/ssl/ssl_asn1.c:327,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_asn1.c:329,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_asn1.c:332,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_asn1.c:334,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_asn1.c:335,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_asn1.c:337,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_asn1.c:341,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/ssl/ssl_asn1.c:349,1
    - Dst: ssl_session_memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:354,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:361,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:365,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:384,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:401,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:413,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/ssl/ssl_asn1.c:423,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/ssl/ssl_asn1.c:431,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_asn1.c:433,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: 435
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 435
    functionName: d2i_SSL_SESSION_ex
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 2
    functionsReached:
    - SSL_SESSION_new
    - M_ASN1_free_of
    - ssl_session_memcpy
    - OPENSSL_free
    - X509_free
    - d2i_SSL_SESSION_ASN1
    - ERR_raise
    - SSL_SESSION_free
    - ssl3_get_cipher_by_id
    - ssl_session_strndup
    - ossl_time_now
    - ssl_session_calculate_timeout
    - ossl_time_from_time_t
    - EVP_PKEY_free
    - ossl_seconds2time
    - d2i_PUBKEY_ex
    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: 10
    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:
    - BIO_clear_flags
    - OPENSSL_zalloc
    - BIO_set_init
    - BIO_set_data
    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:
    - BIO_set_init
    - OPENSSL_free
    - SSL_in_init
    - SSL_shutdown
    - BIO_get_shutdown
    - BIO_clear_flags
    - BIO_get_init
    - BIO_get_data
    - SSL_free
    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: BIO_clear_flags
      Src: /src/openssl/ssl/bio_ssl.c:109,1
    - Dst: ssl_read_internal
      Src: /src/openssl/ssl/bio_ssl.c:111,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/bio_ssl.c:113,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:120,1
    - Dst: time
      Src: /src/openssl/ssl/bio_ssl.c:127,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:131,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/bio_ssl.c:137,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/bio_ssl.c:140,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:143,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:147,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:151,1
    - Dst: BIO_set_flags
      Src: /src/openssl/ssl/bio_ssl.c:155,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:163,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - b
    - buf
    - size
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 166
    functionName: ssl_read
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - BIO_set_flags
    - BIO_clear_retry_flags
    - BIO_set_retry_reason
    - time
    - BIO_set_retry_read
    - ssl_read_internal
    - BIO_clear_flags
    - BIO_set_retry_write
    - BIO_set_retry_special
    - BIO_get_data
    - SSL_renegotiate
    - SSL_get_error
    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:177,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:180,1
    - Dst: ssl_write_internal
      Src: /src/openssl/ssl/bio_ssl.c:182,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/bio_ssl.c:184,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:191,1
    - Dst: time
      Src: /src/openssl/ssl/bio_ssl.c:198,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:202,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/bio_ssl.c:207,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/bio_ssl.c:210,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:213,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:217,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:225,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: 228
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 228
    functionName: ssl_write
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - BIO_clear_retry_flags
    - ssl_write_internal
    - BIO_set_retry_reason
    - time
    - BIO_set_retry_read
    - BIO_set_retry_write
    - BIO_set_retry_special
    - BIO_get_data
    - SSL_renegotiate
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int ssl_write(BIO *b, const char *buf, size_t size, size_t *written)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:239,1
    - Dst: BIO_next
      Src: /src/openssl/ssl/bio_ssl.c:240,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/bio_ssl.c:247,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:250,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/bio_ssl.c:253,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/bio_ssl.c:255,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/bio_ssl.c:257,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:263,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:265,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/bio_ssl.c:274,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/bio_ssl.c:276,1
    - Dst: time
      Src: /src/openssl/ssl/bio_ssl.c:283,1
    - Dst: ssl_free
      Src: /src/openssl/ssl/bio_ssl.c:295,1
    - Dst: ssl_new
      Src: /src/openssl/ssl/bio_ssl.c:296,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:298,1
    - Dst: BIO_set_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:300,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:303,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/bio_ssl.c:305,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/bio_ssl.c:310,1
    - Dst: BIO_set_next
      Src: /src/openssl/ssl/bio_ssl.c:311,1
    - Dst: BIO_set_init
      Src: /src/openssl/ssl/bio_ssl.c:313,1
    - Dst: BIO_get_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:323,1
    - Dst: BIO_set_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:326,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:329,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/bio_ssl.c:329,1
    - Dst: SSL_pending
      Src: /src/openssl/ssl/bio_ssl.c:332,1
    - Dst: BIO_pending
      Src: /src/openssl/ssl/bio_ssl.c:334,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:334,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:337,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:338,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/bio_ssl.c:338,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/ssl/bio_ssl.c:339,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:342,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/bio_ssl.c:347,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/bio_ssl.c:350,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/bio_ssl.c:357,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:361,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:363,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/bio_ssl.c:364,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/bio_ssl.c:366,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_flags
      Src: /src/openssl/ssl/bio_ssl.c:374,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:375,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:375,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:378,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:379,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:387,1
    - Dst: SSL_dup
      Src: /src/openssl/ssl/bio_ssl.c:388,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/bio_ssl.c:393,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:403,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:403,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/ssl/bio_ssl.c:409,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/ssl/bio_ssl.c:413,1
    - Dst: BIO_test_flags
      Src: /src/openssl/ssl/bio_ssl.c:417,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:419,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:419,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:422,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:422,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 170
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 426
    functionName: ssl_ctrl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - SSL_pending
    - BIO_copy_next_retry
    - BIO_up_ref
    - BIO_next
    - BIO_set_retry_special
    - SSL_get_wbio
    - BIO_set_flags
    - SSL_set_connect_state
    - BIO_pending
    - SSL_get_error
    - SSL_free
    - SSL_clear
    - BIO_test_flags
    - SSL_get_wpoll_descriptor
    - ssl_new
    - BIO_get_shutdown
    - BIO_push
    - SSL_get_rbio
    - SSL_get_rpoll_descriptor
    - SSL_dup
    - BIO_ctrl
    - BIO_clear_retry_flags
    - BIO_set_init
    - BIO_set_retry_reason
    - ssl_free
    - BIO_set_shutdown
    - SSL_shutdown
    - SSL_do_handshake
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_set_next
    - BIO_get_retry_reason
    - BIO_get_data
    - SSL_set_bio
    - time
    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:434,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:438,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: ssl_callback_ctrl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - SSL_get_rbio
    - 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:450,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/bio_ssl.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 456
    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:464,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/ssl/bio_ssl.c:466,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/bio_ssl.c:469,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/ssl/bio_ssl.c:469,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/ssl/bio_ssl.c:471,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/bio_ssl.c:473,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:477,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:478,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 481
    functionName: BIO_new_buffer_ssl_connect
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_f_buffer
    - BIO_new
    - BIO_free
    - IS_QUIC_CTX
    - BIO_push
    - BIO_new_ssl_connect
    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:488,1
    - Dst: BIO_s_connect
      Src: /src/openssl/ssl/bio_ssl.c:488,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/bio_ssl.c:492,1
    - Dst: BIO_set_sock_type
      Src: /src/openssl/ssl/bio_ssl.c:493,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/ssl/bio_ssl.c:497,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/bio_ssl.c:499,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:503,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: BIO_new_ssl_connect
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 6
    functionsReached:
    - BIO_new
    - BIO_s_connect
    - BIO_free
    - IS_QUIC_CTX
    - BIO_new_ssl
    - BIO_push
    - 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:514,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/ssl/bio_ssl.c:514,1
    - Dst: SSL_new
      Src: /src/openssl/ssl/bio_ssl.c:516,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:517,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/bio_ssl.c:521,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/bio_ssl.c:523,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/ssl/bio_ssl.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - client
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 527
    functionName: BIO_new_ssl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 6
    functionsReached:
    - SSL_set_accept_state
    - SSL_new
    - BIO_new
    - BIO_free
    - SSL_set_connect_state
    - BIO_set_ssl
    - 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:532,1
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/bio_ssl.c:533,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:536,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:537,1
    - Dst: SSL_copy_session_id
      Src: /src/openssl/ssl/bio_ssl.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - t
    - f
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 543
    functionName: BIO_ssl_copy_session_id
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - BIO_find_type
    - 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:549,1
    - Dst: BIO_method_type
      Src: /src/openssl/ssl/bio_ssl.c:550,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:552,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: BIO_ssl_shutdown
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - BIO_get_data
    - SSL_shutdown
    - BIO_method_type
    - BIO_next
    linkageType: ''
    returnType: void
    signature: void BIO_ssl_shutdown(BIO *b)
  - 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: 7
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - ossl_statem_in_error
    - SSL_get_state
    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:
    - SSL_CONNECTION_FROM_CONST_SSL
    - ossl_statem_in_error
    - SSL_get_state
    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: 3
    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: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 343
    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: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 417
    functionName: SSL_alert_desc_string_long
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 4
    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: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_get_data
      Src: /src/openssl/ssl/ssl_mcnf.c:27,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/ssl/ssl_mcnf.c:32,1
    - Dst: OSSL_LIB_CTX_get_data
      Src: /src/openssl/ssl/ssl_mcnf.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: ssl_do_lookup_module
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_get0_global_default
    - OSSL_LIB_CTX_get_data
    linkageType: ''
    returnType: CONF_IMODULE
    signature: CONF_IMODULE *ssl_do_lookup_module(OSSL_LIB_CTX *libctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_mcnf.c:48,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_mcnf.c:51,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_mcnf.c:58,1
    - Dst: ssl_do_lookup_module
      Src: /src/openssl/ssl/ssl_mcnf.c:64,1
    - Dst: conf_ssl_name_find
      Src: /src/openssl/ssl/ssl_mcnf.c:65,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_mcnf.c:67,1
    - Dst: conf_ssl_get
      Src: /src/openssl/ssl/ssl_mcnf.c:72,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/ssl/ssl_mcnf.c:77,1
    - Dst: SSL_CONF_CTX_set_ssl
      Src: /src/openssl/ssl/ssl_mcnf.c:86,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/ssl/ssl_mcnf.c:90,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/ssl/ssl_mcnf.c:94,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/ssl/ssl_mcnf.c:101,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/ssl/ssl_mcnf.c:102,1
    - Dst: conf_ssl_get_cmd
      Src: /src/openssl/ssl/ssl_mcnf.c:108,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/ssl/ssl_mcnf.c:109,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/ssl/ssl_mcnf.c:113,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/ssl/ssl_mcnf.c:116,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/ssl/ssl_mcnf.c:117,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_mcnf.c:119,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_mcnf.c:127,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/ssl_mcnf.c:130,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 4
    argNames:
    - s
    - ctx
    - name
    - system
    argTypes:
    - SSL*
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 36
    functionDepth: 7
    functionLinenumber: 36
    functionLinenumberEnd: 132
    functionName: ssl_do_config
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CONF_CTX_set_flags
    - ERR_clear_last_mark
    - ssl_do_lookup_module
    - ERR_raise_data
    - conf_ssl_get_cmd
    - ERR_raise
    - SSL_CONF_CTX_new
    - conf_ssl_get
    - OSSL_LIB_CTX_set0_default
    - conf_ssl_name_find
    - SSL_CONF_cmd
    - SSL_CONF_CTX_free
    - SSL_CONF_CTX_finish
    - SSL_CONF_CTX_set_ssl
    - ERR_set_mark
    - OSSL_LIB_CTX_get_conf_diagnostics
    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:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 137
    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:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 8
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 8
    functionLinenumber: 144
    functionLinenumberEnd: 147
    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: HMAC_CTX_new
      Src: /src/openssl/ssl/tls_depr.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ssl_hmac_old_construct
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: SSL_HMAC
    signature: SSL_HMAC *ssl_hmac_old_construct(SSL_HMAC *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/openssl/ssl/tls_depr.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 9
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ssl_hmac_old_destruct
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void ssl_hmac_old_destruct(SSL_HMAC *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Init_ex
      Src: /src/openssl/ssl/tls_depr.c:38,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/ssl/tls_depr.c:38,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: 39
      start: 36
    functionDepth: 12
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ssl_hmac_old_init
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_Init_ex
    - EVP_get_digestbyname
    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:43,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: 44
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 44
    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:50,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: 57
      start: 46
    functionDepth: 9
    functionLinenumber: 46
    functionLinenumberEnd: 57
    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:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 62
    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: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    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:77,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/openssl/ssl/tls_depr.c:78,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/tls_depr.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 86
    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:95,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_depr.c:99,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/ssl/tls_depr.c:102,1
    - Dst: tls1_set_groups
      Src: /src/openssl/ssl/tls_depr.c:105,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: 112
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: ssl_set_tmp_ecdh_groups
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - tls1_set_groups
    - ERR_raise
    - EC_KEY_get0_group
    - EC_GROUP_get_curve_name
    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:124,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: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    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:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - (*dh)(SSL *ssl, int is_export, int keylength)
    argTypes:
    - SSL*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    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,
      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:
    - dtls1_write_bytes
    - SSL_in_init
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_CONNECTION*::handshake_func
    - ossl_statem_get_in_handshake
    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:
    - do_dtls1_write
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_flush
    - memset
    - SSL_CONNECTION*::msg_callback
    - cb
    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: 3763
      start: 3755
    functionDepth: 0
    functionLinenumber: 3755
    functionLinenumberEnd: 3763
    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:3767,1
    - Dst: qsort
      Src: /src/openssl/ssl/s3_lib.c:3769,1
    - Dst: qsort
      Src: /src/openssl/ssl/s3_lib.c:3771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3772
      start: 3765
    functionDepth: 0
    functionLinenumber: 3765
    functionLinenumberEnd: 3772
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3774
    functionDepth: 0
    functionLinenumber: 3774
    functionLinenumberEnd: 3777
    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: 3785
      start: 3779
    functionDepth: 0
    functionLinenumber: 3779
    functionLinenumberEnd: 3785
    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:3794,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/s3_lib.c:3795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - pkt
    - htype
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3787
    functionDepth: 1
    functionLinenumber: 3787
    functionLinenumberEnd: 3799
    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:3803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3801
    functionDepth: 1
    functionLinenumber: 3801
    functionLinenumberEnd: 3804
    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:3809,1
    - Dst: ssl_srp_ctx_init_intern
      Src: /src/openssl/ssl/s3_lib.c:3814,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/s3_lib.c:3818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3806
    functionDepth: 1
    functionLinenumber: 3806
    functionLinenumberEnd: 3822
    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:3826,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/s3_lib.c:3832,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3834,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3842,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3848,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/s3_lib.c:3852,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/s3_lib.c:3853,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3855,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/s3_lib.c:3856,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3857,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:3858,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3859,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3860,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3861,1
    - Dst: ssl3_free_digest_list
      Src: /src/openssl/ssl/s3_lib.c:3862,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3863,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3864,1
    - Dst: ossl_quic_tls_free
      Src: /src/openssl/ssl/s3_lib.c:3865,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3868,1
    - Dst: ssl_srp_ctx_free_intern
      Src: /src/openssl/ssl/s3_lib.c:3872,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_lib.c:3874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3824
    functionDepth: 4
    functionLinenumber: 3824
    functionLinenumberEnd: 3875
    functionName: ssl3_free
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_evp_cipher_free
    - OPENSSL_free
    - OPENSSL_clear_free
    - ossl_quic_tls_free
    - ssl_srp_ctx_free_intern
    - ssl3_cleanup_key_block
    - SSL_CONNECTION_FROM_SSL
    - sk_X509_NAME_pop_free
    - ssl3_free_digest_list
    - memset
    - EVP_PKEY_free
    - ssl_evp_md_free
    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:3879,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/s3_lib.c:3886,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3887,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/s3_lib.c:3888,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3889,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:3890,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3891,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3892,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3893,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3895,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3902,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3908,1
    - Dst: ssl3_free_digest_list
      Src: /src/openssl/ssl/s3_lib.c:3912,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3914,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3915,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_lib.c:3922,1
    - Dst: ssl_free_wbio_buffer
      Src: /src/openssl/ssl/s3_lib.c:3925,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3931,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3937
      start: 3877
    functionDepth: 4
    functionLinenumber: 3877
    functionLinenumberEnd: 3937
    functionName: ssl3_clear
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    - SSL_CONNECTION_FROM_SSL
    - sk_X509_NAME_pop_free
    - ssl3_free_digest_list
    - memset
    - EVP_PKEY_free
    - ssl_free_wbio_buffer
    - ssl3_cleanup_key_block
    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:3942,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:3947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3940
    functionDepth: 1
    functionLinenumber: 3940
    functionLinenumberEnd: 3948
    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: 93
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3956,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3985,1
    - Dst: ssl_dh_to_pkey
      Src: /src/openssl/ssl/s3_lib.c:3988,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3990,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/s3_lib.c:3993,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3994,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4000,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4010,1
    - Dst: ssl_set_tmp_ecdh_groups
      Src: /src/openssl/ssl/s3_lib.c:4013,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4034,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_lib.c:4040,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4042,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:4045,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4046,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4050,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4069,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4079,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/ssl/s3_lib.c:4093,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/openssl/ssl/s3_lib.c:4096,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4099,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4116,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/s3_lib.c:4120,1
    - Dst: sk_OCSP_RESPONSE_new_reserve
      Src: /src/openssl/ssl/s3_lib.c:4124,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/ssl/s3_lib.c:4129,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/ssl/s3_lib.c:4131,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4141,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/ssl/s3_lib.c:4142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4156,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/s3_lib.c:4161,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4162,1
    - Dst: ssl_cert_set1_chain
      Src: /src/openssl/ssl/s3_lib.c:4169,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4169,1
    - Dst: ssl_cert_set0_chain
      Src: /src/openssl/ssl/s3_lib.c:4171,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4171,1
    - Dst: ssl_cert_add1_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:4175,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:4177,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4180,1
    - Dst: ssl_cert_select_current
      Src: /src/openssl/ssl/s3_lib.c:4185,1
    - Dst: ssl_cert_set_current
      Src: /src/openssl/ssl/s3_lib.c:4206,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:4222,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/s3_lib.c:4225,1
    - Dst: tls1_set_groups
      Src: /src/openssl/ssl/s3_lib.c:4234,1
    - Dst: tls1_set_groups_list
      Src: /src/openssl/ssl/s3_lib.c:4243,1
    - Dst: tls1_shared_group
      Src: /src/openssl/ssl/s3_lib.c:4253,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/s3_lib.c:4256,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:4262,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/s3_lib.c:4266,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:4270,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:4273,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:4276,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:4279,1
    - Dst: ssl3_set_req_cert_type
      Src: /src/openssl/ssl/s3_lib.c:4293,1
    - Dst: ssl_build_cert_chain
      Src: /src/openssl/ssl/s3_lib.c:4296,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4299,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4302,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4305,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4308,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/s3_lib.c:4338,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/s3_lib.c:4349,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 291
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4380
      start: 3953
    functionDepth: 5
    functionLinenumber: 3953
    functionLinenumberEnd: 4380
    functionName: ssl3_ctrl
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_set_current
    - d2i_OCSP_RESPONSE
    - EVP_PKEY_up_ref
    - tls1_set_sigalgs_list
    - ssl_dh_to_pkey
    - ssl_cert_add1_chain_cert
    - ssl_build_cert_chain
    - tls1_set_sigalgs
    - ssl_cert_set1_chain
    - OPENSSL_free
    - ssl_cert_add0_chain_cert
    - ERR_raise
    - ssl3_set_req_cert_type
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - ssl_set_tmp_ecdh_groups
    - tls1_group_id2nid
    - SSL_set0_tmp_dh_pkey
    - tls1_shared_group
    - sk_OCSP_RESPONSE_num
    - ssl_cert_set_cert_store
    - i2d_OCSP_RESPONSE
    - sk_OCSP_RESPONSE_pop_free
    - tls1_set_groups
    - EVP_PKEY_free
    - sk_OCSP_RESPONSE_new_reserve
    - sk_OCSP_RESPONSE_push
    - OPENSSL_strdup
    - ssl_cert_set0_chain
    - tls1_group_id_lookup
    - SSL_CONNECTION_FROM_SSL
    - ssl_cert_select_current
    - SSL_CONNECTION_IS_TLS13
    - ssl_cert_get_cert_store
    - strlen
    - tls1_set_groups_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:4385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4415
      start: 4382
    functionDepth: 1
    functionLinenumber: 4382
    functionLinenumberEnd: 4415
    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:4424,1
    - Dst: ssl_dh_to_pkey
      Src: /src/openssl/ssl/s3_lib.c:4427,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4429,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/s3_lib.c:4432,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:4433,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4439,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4449,1
    - Dst: ssl_set_tmp_ecdh_groups
      Src: /src/openssl/ssl/s3_lib.c:4452,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4471,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4475,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4477,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4480,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4484,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4486,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4518,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_lib.c:4522,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_lib.c:4522,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4523,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:4526,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4527,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4534,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:4535,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4536,1
    - Dst: tls1_set_groups
      Src: /src/openssl/ssl/s3_lib.c:4551,1
    - Dst: tls1_set_groups_list
      Src: /src/openssl/ssl/s3_lib.c:4560,1
    - Dst: tls1_get0_implemented_groups
      Src: /src/openssl/ssl/s3_lib.c:4570,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:4576,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:4579,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:4582,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:4585,1
    - Dst: ssl3_set_req_cert_type
      Src: /src/openssl/ssl/s3_lib.c:4588,1
    - Dst: ssl_build_cert_chain
      Src: /src/openssl/ssl/s3_lib.c:4591,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4594,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4597,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4600,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4603,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/s3_lib.c:4608,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4609,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/s3_lib.c:4613,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4614,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4621,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4623,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/s3_lib.c:4627,1
    - Dst: ssl_cert_set1_chain
      Src: /src/openssl/ssl/s3_lib.c:4633,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4633,1
    - Dst: ssl_cert_set0_chain
      Src: /src/openssl/ssl/s3_lib.c:4635,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4635,1
    - Dst: ssl_cert_add1_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:4639,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:4641,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4644,1
    - Dst: ssl_cert_select_current
      Src: /src/openssl/ssl/s3_lib.c:4648,1
    - Dst: ssl_cert_set_current
      Src: /src/openssl/ssl/s3_lib.c:4651,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: 4657
      start: 4417
    functionDepth: 5
    functionLinenumber: 4417
    functionLinenumberEnd: 4657
    functionName: ssl3_ctx_ctrl
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_set_current
    - tls1_set_sigalgs_list
    - sk_X509_push
    - ssl_dh_to_pkey
    - ssl_cert_add1_chain_cert
    - ssl_build_cert_chain
    - memcpy
    - tls1_set_sigalgs
    - ssl_cert_set1_chain
    - OPENSSL_free
    - ssl_cert_add0_chain_cert
    - ERR_raise
    - tls1_get0_implemented_groups
    - ssl3_set_req_cert_type
    - STACK_OF
    - ssl_set_tmp_ecdh_groups
    - sk_X509_new_null
    - ssl_cert_set_cert_store
    - SSL_CTX_set0_tmp_dh_pkey
    - tls1_set_groups
    - EVP_PKEY_free
    - OPENSSL_strdup
    - ssl_cert_set0_chain
    - OSSL_STACK_OF_X509_free
    - ssl_cert_select_current
    - ssl_cert_get_cert_store
    - strlen
    - tls1_set_groups_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: 4705
      start: 4659
    functionDepth: 0
    functionLinenumber: 4659
    functionLinenumberEnd: 4705
    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: 4711
      start: 4707
    functionDepth: 0
    functionLinenumber: 4707
    functionLinenumberEnd: 4711
    functionName: SSL_CTX_set_tlsext_ticket_key_evp_cb
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_tlsext_ticket_key_evp_cb(SSL_CTX *ctx, int (*fp)(SSL
      *, unsigned char *, unsigned char *, EVP_CIPHER_CTX *, EVP_MAC_CTX *, int))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/openssl/ssl/s3_lib.c:4719,1
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/openssl/ssl/s3_lib.c:4722,1
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/openssl/ssl/s3_lib.c:4725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4726
      start: 4713
    functionDepth: 0
    functionLinenumber: 4713
    functionLinenumberEnd: 4726
    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: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/s3_lib.c:4736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4740
      start: 4728
    functionDepth: 3
    functionLinenumber: 4728
    functionLinenumberEnd: 4740
    functionName: ssl3_get_tls13_cipher_by_std_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ssl3_get_tls13_cipher_by_std_name(const char *stdname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/s3_lib.c:4749,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/s3_lib.c:4753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4759
      start: 4742
    functionDepth: 3
    functionLinenumber: 4742
    functionLinenumberEnd: 4759
    functionName: ssl3_get_cipher_by_std_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - 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:4767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4765
    functionDepth: 1
    functionLinenumber: 4765
    functionLinenumberEnd: 4770
    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:4779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - c
    - pkt
    - len
    argTypes:
    - SSL_CIPHER*
    - WPACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4784
      start: 4772
    functionDepth: 1
    functionLinenumber: 4772
    functionLinenumberEnd: 4784
    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: 27
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4798,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4801,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4814,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4815,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4816,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4817,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4818,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4820,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4821,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4822,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4823,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4824,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/s3_lib.c:4827,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/s3_lib.c:4830,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4840,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4841,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4844,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4847,1
    - Dst: sk_SSL_CIPHER_new_reserve
      Src: /src/openssl/ssl/s3_lib.c:4854,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/s3_lib.c:4858,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4860,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/s3_lib.c:4862,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4866,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/s3_lib.c:4868,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:4880,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/s3_lib.c:4892,1
    - Dst: tls1_set_cert_validity
      Src: /src/openssl/ssl/s3_lib.c:4901,1
    - Dst: ssl_set_masks
      Src: /src/openssl/ssl/s3_lib.c:4902,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4905,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4908,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/s3_lib.c:4909,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/s3_lib.c:4910,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/s3_lib.c:4913,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/s3_lib.c:4914,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:4921,1
    - Dst: OSSL_TRACE7
      Src: /src/openssl/ssl/s3_lib.c:4941,1
    - Dst: tls1_check_ffdhe_tmp_key
      Src: /src/openssl/ssl/s3_lib.c:4950,1
    - Dst: tls1_check_ec_tmp_key
      Src: /src/openssl/ssl/s3_lib.c:4957,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/openssl/ssl/s3_lib.c:4962,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/s3_lib.c:4965,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4972,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4977,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/s3_lib.c:4978,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:4978,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/s3_lib.c:4982,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4990,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/s3_lib.c:4995,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 117
    argCount: 3
    argNames:
    - s
    - clnt
    - srvr
    argTypes:
    - SSL_CONNECTION*
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4794
    functionDepth: 9
    functionLinenumber: 4794
    functionLinenumberEnd: 4998
    functionName: ssl3_choose_cipher
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - sk_SSL_CIPHER_new_reserve
    - tls1_check_ec_tmp_key
    - OSSL_TRACE_END
    - tls1_suiteb
    - tls1_set_cert_validity
    - sk_SSL_CIPHER_push
    - ssl_version_cmp
    - sk_SSL_CIPHER_value
    - ssl_set_masks
    - STACK_OF
    - ssl_md
    - ssl_has_cert
    - SSL_CONNECTION_IS_DTLS
    - EVP_MD_is_a
    - tls1_check_ffdhe_tmp_key
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_find
    - ssl_security
    - BIO_printf
    - sk_SSL_CIPHER_free
    - OSSL_TRACE7
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_GET_CTX
    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:4814,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4815,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4816,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4817,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4818,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4820,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4821,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4822,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4823,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4826
      start: 4812
    functionDepth: 2
    functionLinenumber: 4812
    functionLinenumberEnd: 4826
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - sk_SSL_CIPHER_num
    - BIO_printf
    - sk_SSL_CIPHER_value
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS_CIPHER)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/s3_lib.c:5009,1
    - Dst: ssl_set_sig_mask
      Src: /src/openssl/ssl/s3_lib.c:5011,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5017,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5018,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5019,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5020,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5021,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5025,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5026,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5030,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5032,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:5041,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5045
      start: 5000
    functionDepth: 3
    functionLinenumber: 5000
    functionLinenumberEnd: 5045
    functionName: ssl3_get_req_cert_type
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_set_sig_mask
    - WPACKET_put_bytes_u8
    - WPACKET_memcpy
    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:5049,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/s3_lib.c:5056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - c
    - p
    - len
    argTypes:
    - CERT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5061
      start: 5047
    functionDepth: 0
    functionLinenumber: 5047
    functionLinenumberEnd: 5061
    functionName: ssl3_set_req_cert_type
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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:5066,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/s3_lib.c:5075,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/s3_lib.c:5082,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/s3_lib.c:5091,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/s3_lib.c:5105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5116
      start: 5063
    functionDepth: 1
    functionLinenumber: 5063
    functionLinenumberEnd: 5116
    functionName: ssl3_shutdown
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL_in_before
    - ssl3_send_alert
    - SSL*::method::ssl_dispatch_alert
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_read_bytes
    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:5120,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/s3_lib.c:5125,1
    - Dst: ssl3_renegotiate_check
      Src: /src/openssl/ssl/s3_lib.c:5127,1
    - Dst: SSL*::method::ssl_write_bytes
      Src: /src/openssl/ssl/s3_lib.c:5129,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: 5131
      start: 5118
    functionDepth: 1
    functionLinenumber: 5118
    functionLinenumberEnd: 5131
    functionName: ssl3_write
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_renegotiate_check
    - SSL*::method::ssl_write_bytes
    - clear_sys_error
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:5137,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/s3_lib.c:5142,1
    - Dst: ssl3_renegotiate_check
      Src: /src/openssl/ssl/s3_lib.c:5144,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/s3_lib.c:5146,1
    - Dst: ossl_statem_set_in_handshake
      Src: /src/openssl/ssl/s3_lib.c:5156,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/s3_lib.c:5157,1
    - Dst: ossl_statem_set_in_handshake
      Src: /src/openssl/ssl/s3_lib.c:5159,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: 5164
      start: 5133
    functionDepth: 1
    functionLinenumber: 5133
    functionLinenumberEnd: 5164
    functionName: ssl3_read_internal
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - clear_sys_error
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_read_bytes
    - ossl_statem_set_in_handshake
    - 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:5168,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: 5169
      start: 5166
    functionDepth: 2
    functionLinenumber: 5166
    functionLinenumberEnd: 5169
    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:5173,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: 5174
      start: 5171
    functionDepth: 2
    functionLinenumber: 5171
    functionLinenumberEnd: 5174
    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:5178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5188
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5188
    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:5201,1
    - Dst: RECORD_LAYER_read_pending
      Src: /src/openssl/ssl/s3_lib.c:5207,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/s3_lib.c:5208,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/s3_lib.c:5209,1
    - Dst: ossl_statem_set_renegotiate
      Src: /src/openssl/ssl/s3_lib.c:5215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - initok
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5223
      start: 5198
    functionDepth: 1
    functionLinenumber: 5198
    functionLinenumberEnd: 5223
    functionName: ssl3_renegotiate_check
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached:
    - RECORD_LAYER_write_pending
    - SSL_in_init
    - ossl_statem_set_renegotiate
    - SSL_CONNECTION_FROM_SSL_ONLY
    - RECORD_LAYER_read_pending
    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:5234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5247
      start: 5231
    functionDepth: 1
    functionLinenumber: 5231
    functionLinenumberEnd: 5247
    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:5266,1
    - Dst: l2n
      Src: /src/openssl/ssl/s3_lib.c:5269,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/s3_lib.c:5270,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:5270,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/s3_lib.c:5272,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:5272,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/s3_lib.c:5276,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/s3_lib.c:5277,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:5280,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:5283,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: 5288
      start: 5253
    functionDepth: 7
    functionLinenumber: 5253
    functionLinenumberEnd: 5288
    functionName: ssl_fill_hello_random
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - l2n
    - time
    - RAND_bytes_ex
    - memcpy
    - ossl_assert
    - SSL_CONNECTION_GET_CTX
    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:5295,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5310,1
    - Dst: s2n
      Src: /src/openssl/ssl/s3_lib.c:5314,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_lib.c:5316,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:5318,1
    - Dst: s2n
      Src: /src/openssl/ssl/s3_lib.c:5320,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:5321,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5323,1
    - Dst: SSL*::method::ssl3_enc::generate_master_secret
      Src: /src/openssl/ssl/s3_lib.c:5326,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5329,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5333,1
    - Dst: SSL*::method::ssl3_enc::generate_master_secret
      Src: /src/openssl/ssl/s3_lib.c:5339,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5351,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/s3_lib.c:5353,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: 5360
      start: 5290
    functionDepth: 1
    functionLinenumber: 5290
    functionLinenumberEnd: 5360
    functionName: ssl_generate_master_secret
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - s2n
    - OPENSSL_cleanse
    - OPENSSL_clear_free
    - memset
    - SSL*::method::ssl3_enc::generate_master_secret
    - memcpy
    - SSL_CONNECTION_GET_SSL
    - 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:5367,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5371,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/ssl/s3_lib.c:5374,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/ssl/s3_lib.c:5376,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:5377,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pm
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5384
      start: 5363
    functionDepth: 8
    functionLinenumber: 5363
    functionLinenumberEnd: 5384
    functionName: ssl_generate_pkey
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    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:5389,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:5390,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5395,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/s3_lib.c:5399,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5403,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/ssl/s3_lib.c:5406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5407,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/ssl/s3_lib.c:5410,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5411,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/ssl/s3_lib.c:5414,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5415,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:5416,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5423
      start: 5387
    functionDepth: 8
    functionLinenumber: 5387
    functionLinenumberEnd: 5423
    functionName: ssl_generate_pkey_group
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_group_name
    - tls1_group_id_lookup
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    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:5430,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:5433,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/s3_lib.c:5438,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/ssl/s3_lib.c:5443,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/ssl/s3_lib.c:5445,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5446,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/ssl/s3_lib.c:5449,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:5450,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5457
      start: 5428
    functionDepth: 8
    functionLinenumber: 5428
    functionLinenumberEnd: 5457
    functionName: ssl_generate_param_group
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_group_name
    - tls1_group_id_lookup
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen_init
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_paramgen
    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:5465,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/s3_lib.c:5471,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/s3_lib.c:5471,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/openssl/ssl/s3_lib.c:5477,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/s3_lib.c:5479,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: 5483
      start: 5460
    functionDepth: 2
    functionLinenumber: 5460
    functionLinenumberEnd: 5483
    functionName: ssl_gensecret
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_generate_master_secret
    - tls13_generate_handshake_secret
    - SSL_CONNECTION_IS_TLS13
    - tls13_generate_secret
    - ssl_handshake_md
    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:5492,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5495,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5499,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/ssl/s3_lib.c:5501,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/ssl/s3_lib.c:5502,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/ssl/s3_lib.c:5503,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5504,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:5508,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/s3_lib.c:5508,1
    - Dst: EVP_PKEY_CTX_set_dh_pad
      Src: /src/openssl/ssl/s3_lib.c:5509,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5511,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5513,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/ssl/s3_lib.c:5517,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5521,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/s3_lib.c:5527,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5537,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5538,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: 5540
      start: 5486
    functionDepth: 5
    functionLinenumber: 5486
    functionLinenumberEnd: 5540
    functionName: ssl_derive
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_CTX_set_dh_pad
    - OPENSSL_clear_free
    - ssl_gensecret
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_CTX_free
    - EVP_PKEY_derive_init
    - EVP_PKEY_is_a
    - SSLfatal
    - EVP_PKEY_CTX_new_from_pkey
    - 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:5551,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5554,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5558,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/ssl/s3_lib.c:5560,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/ssl/s3_lib.c:5561,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5562,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5566,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5568,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/ssl/s3_lib.c:5572,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5573,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/s3_lib.c:5579,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5589,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5590,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: 5592
      start: 5543
    functionDepth: 12
    functionLinenumber: 5543
    functionLinenumberEnd: 5592
    functionName: ssl_decapsulate
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ssl_gensecret
    - EVP_PKEY_decapsulate
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_free
    - SSLfatal
    - EVP_PKEY_CTX_new_from_pkey
    - 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:5602,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5605,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5609,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/ssl/s3_lib.c:5611,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/ssl/s3_lib.c:5612,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5614,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5618,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5619,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5621,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/ssl/s3_lib.c:5625,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5626,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/s3_lib.c:5632,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5649,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:5650,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5651,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: 5653
      start: 5594
    functionDepth: 12
    functionLinenumber: 5594
    functionLinenumberEnd: 5653
    functionName: ssl_encapsulate
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    - EVP_PKEY_encapsulate
    - EVP_PKEY_encapsulate_init
    - ssl_gensecret
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_CTX_free
    - SSLfatal
    - EVP_PKEY_CTX_new_from_pkey
    - 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:5657,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:5663,1
    - Dst: tls1_group_id2name
      Src: /src/openssl/ssl/s3_lib.c:5668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5669
      start: 5655
    functionDepth: 1
    functionLinenumber: 5655
    functionLinenumberEnd: 5669
    functionName: SSL_get0_group_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached:
    - tls1_group_id2name
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_IS_TLS13
    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:5680,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:5683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - nid
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5688
      start: 5671
    functionDepth: 1
    functionLinenumber: 5671
    functionLinenumberEnd: 5688
    functionName: SSL_group_to_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 5
    functionsReached:
    - tls1_group_id_lookup
    - tls1_nid2group_id
    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: 4
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: SSL_use_RSAPrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_RSA
    - RSA_up_ref
    - ERR_raise
    - RSA_free
    - EVP_PKEY_free
    - SSL_use_PrivateKey
    - EVP_PKEY_new
    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
    - PEM_read_bio_RSAPrivateKey
    - BIO_free
    - ERR_raise
    - RSA_free
    - SSL_use_RSAPrivateKey
    - SSL_get_default_passwd_cb
    - BIO_read_filename
    - BIO_s_file
    - d2i_RSAPrivateKey_bio
    - SSL_get_default_passwd_cb_userdata
    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: 5
    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: 4
    functionLinenumber: 108
    functionLinenumberEnd: 136
    functionName: SSL_CTX_use_RSAPrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_RSA
    - RSA_up_ref
    - ERR_raise
    - RSA_free
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey
    - EVP_PKEY_new
    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:
    - SSL_CTX_get_default_passwd_cb_userdata
    - BIO_new
    - PEM_read_bio_RSAPrivateKey
    - BIO_free
    - ERR_raise
    - RSA_free
    - SSL_CTX_use_RSAPrivateKey
    - BIO_read_filename
    - BIO_s_file
    - SSL_CTX_get_default_passwd_cb
    - 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: 5
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_enc.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: ssl3_cleanup_key_block
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 2
    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:27,1
    - Dst: BIO_s_mem
      Src: /src/openssl/ssl/s3_enc.c:27,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:30,1
    - Dst: ssl3_free_digest_list
      Src: /src/openssl/ssl/s3_enc.c:33,1
    - Dst: BIO_set_close
      Src: /src/openssl/ssl/s3_enc.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: ssl3_init_finished_mac
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - BIO_set_close
    - BIO_new
    - ssl3_free_digest_list
    - SSLfatal
    - 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:46,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/s3_enc.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 50
    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:59,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/s3_enc.c:62,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:64,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:68,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:70,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: 75
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 75
    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:84,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:86,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/s3_enc.c:90,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:92,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/s3_enc.c:96,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:98,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/s3_enc.c:102,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:103,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:104,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/s3_enc.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - s
    - keep
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: ssl3_digest_cached_records
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - BIO_free
    - BIO_get_mem_data
    - EVP_DigestUpdate
    - ssl_handshake_md
    - EVP_MD_CTX_new
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: int ssl3_digest_cached_records(SSL_CONNECTION *s, int keep)
  - 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: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    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: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:287,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_ciph.c:288,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_ciph.c:302,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:303,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_ciph.c:304,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_ciph.c:306,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/ssl_ciph.c:312,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_ciph.c:314,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_ciph.c:327,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:328,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/ssl/ssl_ciph.c:332,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:333,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/ssl/ssl_ciph.c:337,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:338,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/ssl/ssl_ciph.c:342,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:343,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/ssl/ssl_ciph.c:347,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_ciph.c:348,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_ciph.c:362,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 277
    functionDepth: 10
    functionLinenumber: 277
    functionLinenumberEnd: 402
    functionName: ssl_load_ciphers
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - EVP_MD_get_size
    - EVP_MD_fetch
    - EVP_SIGNATURE_fetch
    - EVP_KEYEXCH_fetch
    - ossl_assert
    - memcpy
    - ssl_evp_cipher_fetch
    - ERR_set_mark
    - EVP_SIGNATURE_free
    - EVP_KEYEXCH_free
    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:407,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:418,1
    - Dst: ssl_evp_cipher_up_ref
      Src: /src/openssl/ssl/ssl_ciph.c:425,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: 431
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 431
    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:437,1
    - Dst: ssl_evp_md_up_ref
      Src: /src/openssl/ssl/ssl_ciph.c:448,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: 458
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 458
    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:473,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/ssl/ssl_ciph.c:477,1
    - Dst: sk_SSL_COMP_find
      Src: /src/openssl/ssl/ssl_ciph.c:479,1
    - Dst: sk_SSL_COMP_value
      Src: /src/openssl/ssl/ssl_ciph.c:481,1
    - Dst: ssl_cipher_get_evp_cipher
      Src: /src/openssl/ssl/ssl_ciph.c:491,1
    - Dst: ssl_cipher_get_evp_md_mac
      Src: /src/openssl/ssl/ssl_ciph.c:494,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/ssl_ciph.c:496,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/ssl_ciph.c:502,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:514,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:519,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:524,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:529,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:534,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/ssl_ciph.c:539,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/ssl_ciph.c:540,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: 548
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 548
    functionName: ssl_cipher_get_evp
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_evp_cipher_free
    - SSL_COMP_get_compression_methods
    - ssl_cipher_get_evp_md_mac
    - sk_SSL_COMP_value
    - EVP_CIPHER_get_flags
    - ssl_cipher_get_evp_cipher
    - STACK_OF
    - sk_SSL_COMP_find
    - ssl_evp_cipher_fetch
    - ssl_evp_md_free
    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: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    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:560,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_ciph.c:560,1
    - Dst: ssl_get_algorithm2
      Src: /src/openssl/ssl/ssl_ciph.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: ssl_handshake_md
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 4
    functionsReached:
    - ssl_md
    - SSL_CONNECTION_GET_CTX
    - ssl_get_algorithm2
    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:565,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_ciph.c:565,1
    - Dst: ssl_get_algorithm2
      Src: /src/openssl/ssl/ssl_ciph.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: ssl_prf_md
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_md
    - SSL_CONNECTION_GET_CTX
    - ssl_get_algorithm2
    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: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    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: 587
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 587
    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: 604
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 604
    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:629,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: 669
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 669
    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: 731
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 731
    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:746,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:791,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:823,1
    - Dst: ll_append_tail
      Src: /src/openssl/ssl/ssl_ciph.c:829,1
    - Dst: ll_append_tail
      Src: /src/openssl/ssl/ssl_ciph.c:837,1
    - Dst: ll_append_head
      Src: /src/openssl/ssl/ssl_ciph.c:847,1
    - Dst: ll_append_head
      Src: /src/openssl/ssl/ssl_ciph.c:852,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/ssl_ciph.c:874,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: 875
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 875
    functionName: ssl_cipher_apply_rule
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ll_append_head
    - ll_append_tail
    - BIO_printf
    - OSSL_TRACE_END
    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:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 751
    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:897,1
    - Dst: ssl_cipher_apply_rule
      Src: /src/openssl/ssl/ssl_ciph.c:916,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_ciph.c:919,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - head_p
    - tail_p
    argTypes:
    - CIPHER_ORDER**
    - CIPHER_ORDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 921
    functionName: ssl_cipher_strength_sort
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    - ssl_cipher_apply_rule
    - OPENSSL_free
    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:958,1
    - Dst: isalnum
      Src: /src/openssl/ssl/ssl_ciph.c:977,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:991,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/ssl_ciph.c:1022,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/ssl_ciph.c:1027,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1142,1
    - Dst: ssl_cipher_strength_sort
      Src: /src/openssl/ssl/ssl_ciph.c:1143,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1145,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1148,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1154,1
    - Dst: ITEM_SEP
      Src: /src/openssl/ssl/ssl_ciph.c:1164,1
    - Dst: ssl_cipher_apply_rule
      Src: /src/openssl/ssl/ssl_ciph.c:1167,1
    - Dst: ITEM_SEP
      Src: /src/openssl/ssl/ssl_ciph.c:1172,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: 1180
      start: 923
    functionDepth: 4
    functionLinenumber: 923
    functionLinenumberEnd: 1180
    functionName: ssl_cipher_process_rulestr
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - HAS_CASE_PREFIX
    - OPENSSL_strncasecmp
    - ITEM_SEP
    - ssl_cipher_apply_rule
    - isalnum
    - ssl_cipher_strength_sort
    - ERR_raise
    - CHECK_AND_SKIP_CASE_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_CASE_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1186,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1188,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1191,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1193,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1209,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - meth
    - c
    - prule_str
    argTypes:
    - SSL_METHOD*
    - CERT*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1228
    functionName: check_suiteb_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - HAS_CASE_PREFIX
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c,\n    const
      char **prule_str)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_ciph.c:1232,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_ciph.c:1232,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_ciph.c:1245,1
    - Dst: ssl3_get_tls13_cipher_by_std_name
      Src: /src/openssl/ssl/ssl_ciph.c:1248,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_ciph.c:1254,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/ssl_ciph.c:1255,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/ssl_ciph.c:1258,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1230
    functionDepth: 4
    functionLinenumber: 1230
    functionLinenumberEnd: 1264
    functionName: ciphersuite_cb
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl3_get_tls13_cipher_by_std_name
    - ERR_raise
    - sk_SSL_CIPHER_push
    - sk_SSL_CIPHER_value
    - STACK_OF
    - sk_SSL_CIPHER_num
    - memcpy
    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:1353,1
    - Dst: update_cipher_list
      Src: /src/openssl/ssl/ssl_ciph.c:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1360
    functionName: SSL_CTX_set_ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 23
    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:1364,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_ciph.c:1365,1
    - Dst: set_ciphersuites
      Src: /src/openssl/ssl/ssl_ciph.c:1371,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/ssl_ciph.c:1374,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_ciph.c:1375,1
    - Dst: update_cipher_list
      Src: /src/openssl/ssl/ssl_ciph.c:1378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1383
    functionName: SSL_set_ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 6
    functionsReached:
    - sk_SSL_CIPHER_dup
    - SSL_get_ciphers
    - SSL_CONNECTION_FROM_SSL
    - update_cipher_list
    - STACK_OF
    - 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:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1606
    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: 64
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_ciph.c:1645,1
    - Dst: ssl_protocol_to_string
      Src: /src/openssl/ssl/ssl_ciph.c:1656,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/ssl_ciph.c:1844,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 197
    argCount: 3
    argNames:
    - cipher
    - buf
    - len
    argTypes:
    - SSL_CIPHER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1847
    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:1860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1861
    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: 1869
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1869
    functionName: SSL_CIPHER_get_name
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 16
    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: 1877
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1877
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_tls13_cipher_by_std_name
      Src: /src/openssl/ssl/ssl_ciph.c:1886,1
    - Dst: ssl3_get_cipher_by_std_name
      Src: /src/openssl/ssl/ssl_ciph.c:1887,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/ssl/ssl_ciph.c:1888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1880
    functionDepth: 4
    functionLinenumber: 1880
    functionLinenumberEnd: 1889
    functionName: OPENSSL_cipher_name
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 2
    functionsReached:
    - ssl3_get_tls13_cipher_by_std_name
    - 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: 1902
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1902
    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: 1907
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1907
    functionName: SSL_CIPHER_get_id
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 8
    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: 1912
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1912
    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:2082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2080
    functionDepth: 1
    functionLinenumber: 2080
    functionLinenumberEnd: 2087
    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:2091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2089
    functionDepth: 1
    functionLinenumber: 2089
    functionLinenumberEnd: 2096
    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:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2105
    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: 2116
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2116
    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:2124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2118
    functionDepth: 1
    functionLinenumber: 2118
    functionLinenumberEnd: 2125
    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: 2130
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    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:2153,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/ssl/ssl_ciph.c:2154,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/ssl_ciph.c:2159,1
    - Dst: SSL_CIPHER_get_cipher_nid
      Src: /src/openssl/ssl/ssl_ciph.c:2163,1
    - Dst: EVP_get_cipherbynid
      Src: /src/openssl/ssl/ssl_ciph.c:2164,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/ssl_ciph.c:2168,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/ssl_ciph.c:2172,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/ssl/ssl_ciph.c:2175,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: 2187
      start: 2132
    functionDepth: 2
    functionLinenumber: 2132
    functionLinenumberEnd: 2187
    functionName: ssl_cipher_get_overhead
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get_block_size
    - EVP_get_digestbynid
    - EVP_MD_get_size
    - SSL_CIPHER_get_digest_nid
    - EVP_CIPHER_get_iv_length
    - EVP_get_cipherbynid
    - EVP_CIPHER_get_mode
    - SSL_CIPHER_get_cipher_nid
    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:2197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - SSL_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2201
    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: 2211
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2211
    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: 2223
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2223
    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:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:65,1
    - Dst: DTLS_RECORD_LAYER_new
      Src: /src/openssl/ssl/d1_lib.c:70,1
    - Dst: ssl3_new
      Src: /src/openssl/ssl/d1_lib.c:74,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/d1_lib.c:76,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/d1_lib.c:77,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/d1_lib.c:81,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/d1_lib.c:82,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:85,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:87,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/d1_lib.c:88,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/d1_lib.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: dtls1_new
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - DTLS_RECORD_LAYER_new
    - OPENSSL_zalloc
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_clear
    - pqueue_new
    - ssl3_free
    - pqueue_free
    - ssl3_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:102,1
    - Dst: dtls1_clear_sent_buffer
      Src: /src/openssl/ssl/d1_lib.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: dtls1_clear_queues
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - dtls1_clear_received_buffer
    - dtls1_clear_sent_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:111,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/d1_lib.c:113,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/d1_lib.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    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:124,1
    - Dst: hm_fragment*::msg_header::saved_retransmit_state::wrlmethod::free
      Src: /src/openssl/ssl/d1_lib.c:134,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/d1_lib.c:137,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/d1_lib.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: dtls1_clear_sent_buffer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - pqueue_pop
    - hm_fragment*::msg_header::saved_retransmit_state::wrlmethod::free
    - pitem_free
    - dtls1_hm_fragment_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:144,1
    - Dst: dtls1_clear_queues
      Src: /src/openssl/ssl/d1_lib.c:150,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:151,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:152,1
    - Dst: DTLS_RECORD_LAYER_free
      Src: /src/openssl/ssl/d1_lib.c:155,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/d1_lib.c:157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: dtls1_free
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - dtls1_clear_queues
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL_ONLY
    - DTLS_RECORD_LAYER_free
    - ssl3_free
    - pqueue_free
    linkageType: ''
    returnType: void
    signature: void dtls1_free(SSL *ssl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:170,1
    - Dst: DTLS_RECORD_LAYER_clear
      Src: /src/openssl/ssl/d1_lib.c:175,1
    - Dst: dtls1_clear_queues
      Src: /src/openssl/ssl/d1_lib.c:185,1
    - Dst: memset
      Src: /src/openssl/ssl/d1_lib.c:187,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/d1_lib.c:192,1
    - Dst: ssl3_clear
      Src: /src/openssl/ssl/d1_lib.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 214
    functionName: dtls1_clear
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_clear
    - SSL_get_options
    - SSL_CONNECTION_FROM_SSL_ONLY
    - DTLS_RECORD_LAYER_clear
    - memset
    - dtls1_clear_queues
    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:220,1
    - Dst: dtls1_get_timeout
      Src: /src/openssl/ssl/d1_lib.c:227,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/d1_lib.c:228,1
    - Dst: dtls1_handle_timeout
      Src: /src/openssl/ssl/d1_lib.c:233,1
    - Dst: ssl3_ctrl
      Src: /src/openssl/ssl/d1_lib.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - ssl
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 256
    functionName: dtls1_ctrl
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - dtls1_get_timeout
    - ssl3_ctrl
    - ossl_time_to_timeval
    - dtls1_handle_timeout
    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:260,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - d1
    argTypes:
    - BIO*
    - DTLS1_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 263
    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:268,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/d1_lib.c:272,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:272,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/d1_lib.c:273,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/d1_lib.c:282,1
    - Dst: SSL_CONNECTION*::d1::timer_cb
      Src: /src/openssl/ssl/d1_lib.c:284,1
    - Dst: ossl_us2time
      Src: /src/openssl/ssl/d1_lib.c:290,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/d1_lib.c:291,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/d1_lib.c:291,1
    - Dst: dtls1_bio_set_next_timeout
      Src: /src/openssl/ssl/d1_lib.c:294,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/d1_lib.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: dtls1_start_timer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - dtls1_bio_set_next_timeout
    - BIO_dgram_is_sctp
    - ossl_time_add
    - ossl_time_is_zero
    - ossl_time_now
    - ossl_us2time
    - SSL_CONNECTION*::d1::timer_cb
    - SSL_get_rbio
    - ossl_time_zero
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    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:302,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/d1_lib.c:306,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/d1_lib.c:313,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/d1_lib.c:314,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/d1_lib.c:314,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/d1_lib.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - timeleft
    argTypes:
    - SSL_CONNECTION*
    - OSSL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: dtls1_get_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - ossl_time_subtract
    - ossl_time_is_zero
    - ossl_time_compare
    - ossl_time_now
    - ossl_time_zero
    - ossl_ms2time
    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:324,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/d1_lib.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 333
    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: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    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:346,1
    - Dst: dtls1_bio_set_next_timeout
      Src: /src/openssl/ssl/d1_lib.c:348,1
    - Dst: dtls1_clear_sent_buffer
      Src: /src/openssl/ssl/d1_lib.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: dtls1_stop_timer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - dtls1_bio_set_next_timeout
    - dtls1_clear_sent_buffer
    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:356,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/d1_lib.c:362,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:363,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:363,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/d1_lib.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 375
    functionName: dtls1_check_timeout_num
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - SSL_get_options
    - SSLfatal
    - SSL_CONNECTION_GET_SSL
    - 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:380,1
    - Dst: SSL_CONNECTION*::d1::timer_cb
      Src: /src/openssl/ssl/d1_lib.c:385,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/d1_lib.c:385,1
    - Dst: dtls1_double_timeout
      Src: /src/openssl/ssl/d1_lib.c:388,1
    - Dst: dtls1_check_timeout_num
      Src: /src/openssl/ssl/d1_lib.c:390,1
    - Dst: dtls1_start_timer
      Src: /src/openssl/ssl/d1_lib.c:395,1
    - Dst: dtls1_retransmit_buffered_messages
      Src: /src/openssl/ssl/d1_lib.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 5
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: dtls1_handle_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - dtls1_is_timer_expired
    - dtls1_start_timer
    - SSL_CONNECTION_GET_USER_SSL
    - dtls1_double_timeout
    - dtls1_check_timeout_num
    - SSL_CONNECTION*::d1::timer_cb
    - dtls1_retransmit_buffered_messages
    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:416,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/d1_lib.c:423,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/d1_lib.c:427,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/d1_lib.c:430,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/d1_lib.c:432,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:448,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/d1_lib.c:452,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/d1_lib.c:455,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:457,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/d1_lib.c:464,1
    - Dst: BIO_read
      Src: /src/openssl/ssl/d1_lib.c:465,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/d1_lib.c:467,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/d1_lib.c:475,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:492,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:497,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:498,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:499,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:500,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:518,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/d1_lib.c:523,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/d1_lib.c:524,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:535,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/d1_lib.c:540,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:543,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/d1_lib.c:544,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/d1_lib.c:545,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/d1_lib.c:546,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/d1_lib.c:547,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/ssl/d1_lib.c:548,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/d1_lib.c:549,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:555,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:574,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:579,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/d1_lib.c:583,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:584,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/d1_lib.c:591,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:592,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/d1_lib.c:596,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/d1_lib.c:597,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/d1_lib.c:598,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:603,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/d1_lib.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:618,1
    - Dst: SSL*::ctx::app_verify_cookie_cb
      Src: /src/openssl/ssl/d1_lib.c:623,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/d1_lib.c:623,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/d1_lib.c:624,1
    - Dst: SSL*::ctx::app_gen_cookie_cb
      Src: /src/openssl/ssl/d1_lib.c:649,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:650,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/d1_lib.c:665,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/d1_lib.c:667,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/d1_lib.c:670,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/d1_lib.c:671,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/d1_lib.c:676,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/d1_lib.c:678,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/d1_lib.c:680,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/ssl/d1_lib.c:688,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/d1_lib.c:693,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/ssl/d1_lib.c:698,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/d1_lib.c:705,1
    - Dst: dtls_raw_hello_verify_request
      Src: /src/openssl/ssl/d1_lib.c:707,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/d1_lib.c:709,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/d1_lib.c:711,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/d1_lib.c:712,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/d1_lib.c:713,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:714,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/d1_lib.c:715,1
    - Dst: memcpy
      Src: /src/openssl/ssl/d1_lib.c:728,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:734,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:738,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/ssl/d1_lib.c:744,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:745,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/ssl/d1_lib.c:754,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/ssl/d1_lib.c:755,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/ssl/d1_lib.c:757,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/d1_lib.c:760,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/d1_lib.c:761,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/d1_lib.c:772,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/d1_lib.c:773,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::increment_sequence_ctr
      Src: /src/openssl/ssl/d1_lib.c:792,1
    - Dst: SSL_set_options
      Src: /src/openssl/ssl/d1_lib.c:798,1
    - Dst: ossl_statem_set_hello_verify_done
      Src: /src/openssl/ssl/d1_lib.c:804,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/ssl/d1_lib.c:809,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/d1_lib.c:810,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/d1_lib.c:813,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:814,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/d1_lib.c:823,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/ssl/d1_lib.c:836,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:837,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:838,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 206
    argCount: 2
    argNames:
    - ssl
    - client
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 840
    functionName: DTLSv1_listen
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 3
    functionsReached:
    - SSL_set_accept_state
    - clear_sys_error
    - PACKET_buf_init
    - WPACKET_cleanup
    - BIO_ADDR_free
    - BIO_ADDR_clear
    - WPACKET_start_sub_packet_u24
    - BIO_ADDR_new
    - PACKET_copy_bytes
    - WPACKET_close
    - memcpy
    - ssl_set_new_record_layer
    - PACKET_get_sub_packet
    - SSL_get_wbio
    - ERR_clear_error
    - WPACKET_get_total_written
    - BIO_should_retry
    - OPENSSL_free
    - BIO_read
    - BIO_write
    - ERR_raise
    - SSL_CONNECTION*::rlayer::wrlmethod::increment_sequence_ctr
    - WPACKET_put_bytes_u8
    - ossl_statem_set_hello_verify_done
    - BIO_dgram_get_peer
    - WPACKET_finish
    - PACKET_get_net_3_len
    - SSL*::ctx::app_gen_cookie_cb
    - WPACKET_init_static_len
    - OPENSSL_malloc
    - SSL_clear
    - DTLS_VERSION_LT
    - PACKET_forward
    - ssl_get_max_send_fragment
    - PACKET_get_net_2
    - WPACKET_start_sub_packet_u16
    - WPACKET_put_bytes_u24
    - BIO_flush
    - PACKET_get_1
    - SSL_get_rbio
    - PACKET_get_length_prefixed_1
    - SSL_CONNECTION*::msg_callback
    - WPACKET_memcpy
    - PACKET_remaining
    - SSL_CONNECTION_FROM_SSL_ONLY
    - PACKET_get_length_prefixed_2
    - PACKET_data
    - WPACKET_put_bytes_u16
    - BIO_dgram_set_peer
    - SSL_set_options
    - dtls_raw_hello_verify_request
    - SSL*::ctx::app_verify_cookie_cb
    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:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 846
    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:853,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:858,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/d1_lib.c:859,1
    - Dst: BIO_dgram_sctp_wait_for_dry
      Src: /src/openssl/ssl/d1_lib.c:860,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:865,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:865,1
    - Dst: ssl3_shutdown
      Src: /src/openssl/ssl/d1_lib.c:869,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:871,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:871,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 874
    functionName: dtls1_shutdown
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_dgram_is_sctp
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_dgram_sctp_wait_for_dry
    - SSL_get_wbio
    - 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:878,1
    - Dst: BIO_dgram_get_mtu_overhead
      Src: /src/openssl/ssl/d1_lib.c:881,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:881,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:886,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/d1_lib.c:887,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:888,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:888,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:894,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:896,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:897,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 904
    functionName: dtls1_query_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - SSL_get_options
    - BIO_dgram_get_mtu_overhead
    - dtls1_min_mtu
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: int dtls1_query_mtu(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/d1_lib.c:908,1
    - Dst: BIO_dgram_get_mtu_overhead
      Src: /src/openssl/ssl/d1_lib.c:910,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 911
    functionName: dtls1_min_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    - BIO_dgram_get_mtu_overhead
    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:916,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:918,1
    - Dst: ssl_cipher_get_overhead
      Src: /src/openssl/ssl/d1_lib.c:928,1
    - Dst: SSL_READ_ETM
      Src: /src/openssl/ssl/d1_lib.c:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 913
    functionDepth: 3
    functionLinenumber: 913
    functionLinenumberEnd: 953
    functionName: DTLS_get_data_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_get_current_cipher
    - SSL_READ_ETM
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - ssl_cipher_get_overhead
    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:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - cb
    argTypes:
    - SSL*
    - DTLS_timer_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: DTLS_set_timer_cb
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 10
    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:41,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:43,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/ssl/t1_enc.c:47,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:47,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/t1_enc.c:51,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/t1_enc.c:53,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:55,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:58,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:60,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:62,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: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:72,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/t1_enc.c:73,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:74,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/t1_enc.c:75,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/t1_enc.c:76,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/t1_enc.c:77,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:86,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/t1_enc.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    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: 89
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 89
    functionName: tls1_PRF
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - ssl_prf_md
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    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:97,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: 105
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 105
    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:110,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/t1_enc.c:112,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/t1_enc.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: tls_iv_length_within_key_block
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_get_iv_length
    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:146,1
    - Dst: tls_iv_length_within_key_block
      Src: /src/openssl/ssl/t1_enc.c:148,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:150,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:172,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/t1_enc.c:176,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/t1_enc.c:189,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_enc.c:234,1
    - Dst: dtls1_increment_epoch
      Src: /src/openssl/ssl/t1_enc.c:235,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/t1_enc.c:237,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:248,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:249,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:249,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:250,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:251,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:253,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 2
    argNames:
    - s
    - which
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 118
    functionDepth: 9
    functionLinenumber: 118
    functionLinenumberEnd: 258
    functionName: tls1_change_cipher_state
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - tls_iv_length_within_key_block
    - BIO_printf
    - OSSL_TRACE_END
    - SSL_CONNECTION_IS_DTLS
    - EVP_CIPHER_get_key_length
    - BIO_dump_indent
    - EVP_CIPHER_get_mode
    - SSLfatal
    - ssl_set_new_record_layer
    - EVP_CIPHER_is_a
    - dtls1_increment_epoch
    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:248,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:249,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:249,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:250,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - EVP_CIPHER_get_key_length
    - 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:274,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:274,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/t1_enc.c:278,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/t1_enc.c:282,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/t1_enc.c:284,1
    - Dst: tls_iv_length_within_key_block
      Src: /src/openssl/ssl/t1_enc.c:288,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:290,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:293,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/t1_enc.c:296,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_enc.c:298,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:299,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:308,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:309,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:310,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:311,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:313,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:314,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:318,1
    - Dst: tls1_generate_key_block
      Src: /src/openssl/ssl/t1_enc.c:320,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:327,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:328,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 260
    functionDepth: 7
    functionLinenumber: 260
    functionLinenumberEnd: 335
    functionName: tls1_setup_key_block
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - tls_iv_length_within_key_block
    - ssl_evp_cipher_free
    - BIO_printf
    - tls1_generate_key_block
    - OSSL_TRACE_END
    - ssl_cipher_get_evp
    - EVP_CIPHER_get_key_length
    - ssl3_cleanup_key_block
    - BIO_dump_indent
    - SSLfatal_alert
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - ssl_evp_md_free
    - OPENSSL_malloc
    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:308,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:309,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:310,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:311,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:313,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 317
    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:327,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 329
    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:347,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/t1_enc.c:352,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:357,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/t1_enc.c:363,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: 365
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 365
    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:379,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/t1_enc.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:386,1
    - Dst: BIO_dump
      Src: /src/openssl/ssl/t1_enc.c:387,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:389,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:390,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/t1_enc.c:401,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:403,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:418,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:419,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:420,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:421,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:422,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:423,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:424,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:425,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:429,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: 433
      start: 367
    functionDepth: 6
    functionLinenumber: 367
    functionLinenumberEnd: 433
    functionName: tls1_generate_master_secret
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_TRACE_END
    - tls1_PRF
    - BIO_dump_indent
    - ssl3_digest_cached_records
    - ssl_handshake_hash
    - BIO_dump
    - OPENSSL_cleanse
    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:386,1
    - Dst: BIO_dump
      Src: /src/openssl/ssl/t1_enc.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 388
    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:418,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:419,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:420,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:421,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:422,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:423,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:424,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 428
    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:449,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_enc.c:463,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:467,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:469,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:471,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:480,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:489,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:493,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:497,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:501,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:505,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:521,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/t1_enc.c:523,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: 525
      start: 435
    functionDepth: 6
    functionLinenumber: 435
    functionLinenumberEnd: 525
    functionName: tls1_export_keying_material
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - tls1_PRF
    - OPENSSL_clear_free
    - ERR_raise
    - memcpy
    - memcmp
    - 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: 37
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 75
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 605
    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:
    - ssl_security_cert
    - ssl_set_cert
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_GET_CTX
    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:
    - d2i_X509_bio
    - BIO_new
    - SSL_use_certificate
    - X509_free
    - BIO_free
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - BIO_read_filename
    - X509_new_ex
    - BIO_s_file
    - PEM_read_bio_X509
    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:
    - d2i_X509
    - SSL_use_certificate
    - X509_free
    - ERR_raise
    - X509_new_ex
    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:
    - ssl_cert_lookup_by_pkey
    - EVP_PKEY_up_ref
    - ERR_raise
    - X509_check_private_key
    - EVP_PKEY_free
    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:
    - ERR_raise
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_FROM_SSL
    - ssl_set_pkey
    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
    - BIO_free
    - SSL_CONNECTION_FROM_SSL
    - ERR_raise
    - BIO_read_filename
    - BIO_s_file
    - PEM_read_bio_PrivateKey_ex
    - d2i_PrivateKey_ex_bio
    - SSL_use_PrivateKey
    - EVP_PKEY_free
    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:233,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:237,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:238,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: 240
      start: 222
    functionDepth: 14
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: SSL_use_PrivateKey_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - d2i_PrivateKey_ex
    - ERR_raise
    - EVP_PKEY_free
    - SSL_use_PrivateKey
    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:246,1
    - Dst: ssl_security_cert
      Src: /src/openssl/ssl/ssl_rsa.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:252,1
    - Dst: ssl_set_cert
      Src: /src/openssl/ssl/ssl_rsa.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 256
    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:263,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:265,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/ssl_rsa.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:270,1
    - Dst: EVP_PKEY_can_sign
      Src: /src/openssl/ssl/ssl_rsa.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:275,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/ssl/ssl_rsa.c:285,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:286,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_rsa.c:288,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:294,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:297,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_rsa.c:301,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - c
    - x
    - ctx
    argTypes:
    - CERT*
    - X509*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 309
    functionName: ssl_set_cert
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - ssl_cert_lookup_by_pkey
    - X509_up_ref
    - X509_free
    - ERR_raise
    - EVP_PKEY_copy_parameters
    - X509_check_private_key
    - X509_get0_pubkey
    - EVP_PKEY_free
    - EVP_PKEY_can_sign
    - ERR_clear_error
    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:319,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:323,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:325,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:329,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:330,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:336,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/ssl/ssl_rsa.c:341,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/ssl/ssl_rsa.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:351,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:355,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:357,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:358,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 360
    functionName: SSL_CTX_use_certificate_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 8
    functionsReached:
    - d2i_X509_bio
    - BIO_new
    - X509_free
    - BIO_free
    - ERR_raise
    - BIO_read_filename
    - X509_new_ex
    - BIO_s_file
    - SSL_CTX_use_certificate
    - PEM_read_bio_X509
    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:367,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:369,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/ssl_rsa.c:373,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:375,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:379,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - len
    - d
    argTypes:
    - SSL_CTX*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: SSL_CTX_use_certificate_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - d2i_X509
    - X509_free
    - ERR_raise
    - X509_new_ex
    - SSL_CTX_use_certificate
    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:387,1
    - Dst: ssl_set_pkey
      Src: /src/openssl/ssl/ssl_rsa.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - SSL_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: SSL_CTX_use_PrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - ssl_set_pkey
    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:400,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:404,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:406,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:411,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/ssl/ssl_rsa.c:416,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/ssl/ssl_rsa.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:424,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:428,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:431,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:432,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:434,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 393
    functionDepth: 6
    functionLinenumber: 393
    functionLinenumberEnd: 436
    functionName: SSL_CTX_use_PrivateKey_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 22
    functionsReached:
    - BIO_new
    - BIO_free
    - ERR_raise
    - BIO_read_filename
    - BIO_s_file
    - PEM_read_bio_PrivateKey_ex
    - d2i_PrivateKey_ex_bio
    - SSL_CTX_use_PrivateKey
    - EVP_PKEY_free
    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:446,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:449,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:453,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:454,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: 456
      start: 438
    functionDepth: 14
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: SSL_CTX_use_PrivateKey_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_PrivateKey
    - d2i_PrivateKey_ex
    - ERR_raise
    - 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:475,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:482,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:492,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:496,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:498,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:502,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:503,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:507,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:509,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/openssl/ssl/ssl_rsa.c:512,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:515,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:520,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:522,1
    - Dst: ERR_peek_error
      Src: /src/openssl/ssl/ssl_rsa.c:524,1
    - Dst: SSL_CTX_clear_chain_certs
      Src: /src/openssl/ssl/ssl_rsa.c:537,1
    - Dst: SSL_clear_chain_certs
      Src: /src/openssl/ssl/ssl_rsa.c:539,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:547,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:549,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/ssl/ssl_rsa.c:552,1
    - Dst: SSL_CTX_add0_chain_cert
      Src: /src/openssl/ssl/ssl_rsa.c:556,1
    - Dst: SSL_add0_chain_cert
      Src: /src/openssl/ssl/ssl_rsa.c:558,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:565,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:570,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/ssl/ssl_rsa.c:575,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/ssl/ssl_rsa.c:576,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/ssl/ssl_rsa.c:577,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:578,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:584,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:585,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - ssl
    - file
    argTypes:
    - SSL_CTX*
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 463
    functionDepth: 5
    functionLinenumber: 463
    functionLinenumberEnd: 587
    functionName: use_certificate_chain_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 17
    functionsReached:
    - SSL_clear_chain_certs
    - SSL_use_certificate
    - X509_free
    - ERR_GET_REASON
    - BIO_s_file
    - ERR_clear_error
    - BIO_new
    - ERR_peek_last_error
    - ERR_raise
    - PEM_read_bio_X509_AUX
    - BIO_read_filename
    - ERR_GET_LIB
    - SSL_CTX_clear_chain_certs
    - BIO_free
    - SSL_CTX_add0_chain_cert
    - SSL_CTX_use_certificate
    - SSL_add0_chain_cert
    - SSL_CONNECTION_FROM_SSL
    - X509_new_ex
    - ERR_peek_error
    - 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:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 6
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: SSL_CTX_use_certificate_chain_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 16
    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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - file
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 6
    functionLinenumber: 594
    functionLinenumberEnd: 597
    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:612,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_rsa.c:620,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/ssl_rsa.c:623,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/ssl_rsa.c:624,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/ssl_rsa.c:625,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_rsa.c:629,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_rsa.c:630,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: 635
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 635
    functionName: serverinfo_find_extension
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_get_net_4
    - PACKET_buf_init
    - PACKET_get_net_2
    - 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: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    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:656,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: 658
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 658
    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:668,1
    - Dst: ssl_get_server_cert_serverinfo
      Src: /src/openssl/ssl/ssl_rsa.c:680,1
    - Dst: serverinfo_find_extension
      Src: /src/openssl/ssl/ssl_rsa.c:684,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: 696
      start: 660
    functionDepth: 5
    functionLinenumber: 660
    functionLinenumberEnd: 696
    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:702,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: 704
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 704
    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:723,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_rsa.c:726,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/ssl_rsa.c:731,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/ssl_rsa.c:732,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/ssl_rsa.c:733,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/ssl/ssl_rsa.c:751,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/ssl/ssl_rsa.c:758,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: 768
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 768
    functionName: serverinfo_process_buffer
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_get_net_4
    - SSL_CTX_add_server_custom_ext
    - PACKET_buf_init
    - PACKET_get_net_2
    - PACKET_get_length_prefixed_2
    - SSL_CTX_add_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: 773
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 773
    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:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - version
    - extension_length
    argTypes:
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 778
    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:785,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_rsa.c:795,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: 796
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 796
    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:805,1
    - Dst: extension_append_length
      Src: /src/openssl/ssl/ssl_rsa.c:813,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_rsa.c:818,1
    - Dst: extension_append
      Src: /src/openssl/ssl/ssl_rsa.c:822,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/ssl/ssl_rsa.c:824,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:827,1
    - Dst: serverinfo_process_buffer
      Src: /src/openssl/ssl/ssl_rsa.c:830,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:832,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:836,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/ssl_rsa.c:839,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_rsa.c:844,1
    - Dst: serverinfo_process_buffer
      Src: /src/openssl/ssl/ssl_rsa.c:851,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:853,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: 857
      start: 798
    functionDepth: 5
    functionLinenumber: 798
    functionLinenumberEnd: 857
    functionName: SSL_CTX_use_serverinfo_ex
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - serverinfo_process_buffer
    - extension_append
    - OPENSSL_free
    - extension_append_length
    - ERR_raise
    - OPENSSL_realloc
    - memcpy
    - SSL_CTX_use_serverinfo_ex
    - 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:862,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: 864
      start: 859
    functionDepth: 6
    functionLinenumber: 859
    functionLinenumberEnd: 864
    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:881,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:885,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:885,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:887,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:890,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:891,1
    - Dst: PEM_read_bio
      Src: /src/openssl/ssl/ssl_rsa.c:899,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:905,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_rsa.c:911,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:913,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_rsa.c:916,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:920,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_rsa.c:923,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:924,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:937,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:945,1
    - Dst: extension_append_length
      Src: /src/openssl/ssl/ssl_rsa.c:950,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/ssl_rsa.c:951,1
    - Dst: extension_append
      Src: /src/openssl/ssl/ssl_rsa.c:955,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:959,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:961,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:963,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/ssl/ssl_rsa.c:967,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:971,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:972,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:973,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:974,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:975,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 866
    functionDepth: 6
    functionLinenumber: 866
    functionLinenumberEnd: 977
    functionName: SSL_CTX_use_serverinfo_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - extension_append
    - BIO_new
    - OPENSSL_free
    - BIO_free
    - extension_append_length
    - ERR_raise
    - HAS_PREFIX
    - OPENSSL_realloc
    - BIO_read_filename
    - BIO_s_file
    - strlen
    - SSL_CTX_use_serverinfo_ex
    - PEM_read_bio
    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:
    - strncmp
    - strlen
    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:111,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_find
      Src: /src/openssl/ssl/d1_srtp.c:112,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
    - sk_SRTP_PROTECTION_PROFILE_push
    - find_profile_by_name
    - sk_SRTP_PROTECTION_PROFILE_find
    - ERR_raise
    - sk_SRTP_PROTECTION_PROFILE_new_null
    - STACK_OF
    - strlen
    - sk_SRTP_PROTECTION_PROFILE_free
    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:
    - ssl_ctx_make_profiles
    - IS_QUIC_METHOD
    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_ctx_make_profiles
    - SSL_CONNECTION_FROM_SSL_ONLY
    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: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    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: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    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:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    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:108,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:109,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: 117
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 117
    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:124,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: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    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:136,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:140,1
    - Dst: pqueue_swap_elem
      Src: /src/openssl/ssl/priority_queue.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 144
    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:154,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:158,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:159,1
    - Dst: pqueue_swap_elem
      Src: /src/openssl/ssl/priority_queue.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: pqueue_move_down
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - pqueue_swap_elem
    - ASSERT_USED
    - 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:175,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:177,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:178,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:179,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:182,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:183,1
    - Dst: pqueue_swap_elem
      Src: /src/openssl/ssl/priority_queue.c:184,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:188,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: pqueue_move_up
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - pqueue_swap_elem
    - ASSERT_USED
    - 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:199,1
    - Dst: pqueue_move_down
      Src: /src/openssl/ssl/priority_queue.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pq
    - data
    - elem
    argTypes:
    - OSSL_PQUEUE*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: ossl_pqueue_push
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - pqueue_move_down
    - ossl_pqueue_reserve
    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:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    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:236,1
    - Dst: pqueue_move_elem
      Src: /src/openssl/ssl/priority_queue.c:241,1
    - Dst: pqueue_move_up
      Src: /src/openssl/ssl/priority_queue.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 251
    functionName: ossl_pqueue_pop
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    - pqueue_move_up
    - pqueue_move_elem
    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:260,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:263,1
    - Dst: pqueue_force_bottom
      Src: /src/openssl/ssl/priority_queue.c:274,1
    - Dst: ossl_pqueue_pop
      Src: /src/openssl/ssl/priority_queue.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - elem
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: ossl_pqueue_remove
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_pop
    - ASSERT_ELEM_USED
    - ASSERT_USED
    - pqueue_force_bottom
    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: 291
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 291
    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:305,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/priority_queue.c:307,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/priority_queue.c:311,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/priority_queue.c:316,1
    - Dst: pqueue_add_freelist
      Src: /src/openssl/ssl/priority_queue.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: ossl_pqueue_reserve
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 1
    functionsReached:
    - compute_pqueue_growth
    - pqueue_add_freelist
    - ERR_raise
    - 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:333,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/priority_queue.c:340,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/priority_queue.c:341,1
    - Dst: ossl_pqueue_free
      Src: /src/openssl/ssl/priority_queue.c:343,1
    - Dst: pqueue_add_freelist
      Src: /src/openssl/ssl/priority_queue.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 348
    functionName: ossl_pqueue_new
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_free
    - pqueue_add_freelist
    - OPENSSL_malloc_array
    - 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:353,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/priority_queue.c:354,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/priority_queue.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 357
    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:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 368
    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: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    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:45,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:45,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: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ssl_undefined_function_3
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_undefined_function
    - SSL_CONNECTION_GET_SSL
    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:50,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - r
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ssl_undefined_function_4
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_undefined_function
    - SSL_CONNECTION_GET_SSL
    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:56,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:56,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: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: ssl_undefined_function_5
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_undefined_function
    - SSL_CONNECTION_GET_SSL
    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:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    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:68,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:68,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: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: ssl_undefined_function_7
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_undefined_function
    - SSL_CONNECTION_GET_SSL
    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:73,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: ssl_undefined_function_8
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_undefined_function
    - SSL_CONNECTION_GET_SSL
    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:124,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_lib.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:129,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_lib.c:134,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/ssl/ssl_lib.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - struct dane_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 148
    functionName: dane_ctx_enable
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    - EVP_get_digestbynid
    - OSSL_NELEM
    - OPENSSL_free
    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:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - struct dane_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    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:164,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:165,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - danetls_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: tlsa_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - OPENSSL_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:171,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_lib.c:174,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - dane
    argTypes:
    - SSL_DANE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: dane_final
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_free
    - OSSL_STACK_OF_X509_free
    - sk_danetls_record_pop_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:192,1
    - Dst: sk_danetls_record_num
      Src: /src/openssl/ssl/ssl_lib.c:195,1
    - Dst: dane_final
      Src: /src/openssl/ssl/ssl_lib.c:196,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:198,1
    - Dst: sk_danetls_record_new_reserve
      Src: /src/openssl/ssl/ssl_lib.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:202,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/ssl/ssl_lib.c:207,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/ssl/ssl_lib.c:209,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - SSL_CONNECTION*
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: ssl_dane_dup
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - sk_danetls_record_new_reserve
    - SSL_dane_tlsa_add
    - dane_final
    - sk_danetls_record_num
    - ERR_raise
    - sk_danetls_record_value
    - DANETLS_ENABLED
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_GET_SSL
    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:223,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/ssl_lib.c:232,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/ssl_lib.c:237,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: 256
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 256
    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: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    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:278,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:293,1
    - Dst: tlsa_md_get
      Src: /src/openssl/ssl/ssl_lib.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:300,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/ssl_lib.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:313,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:317,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_lib.c:323,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:325,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:328,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/ssl_lib.c:339,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:340,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:342,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/ssl_lib.c:345,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:346,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:348,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/ssl/ssl_lib.c:352,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:365,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/ssl_lib.c:376,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/ssl_lib.c:376,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:377,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:378,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:379,1
    - Dst: d2i_PUBKEY
      Src: /src/openssl/ssl/ssl_lib.c:385,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:386,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:388,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:400,1
    - Dst: sk_danetls_record_num
      Src: /src/openssl/ssl/ssl_lib.c:419,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/ssl/ssl_lib.c:421,1
    - Dst: sk_danetls_record_insert
      Src: /src/openssl/ssl/ssl_lib.c:436,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:437,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:438,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/ssl/ssl_lib.c:441,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: 444
      start: 265
    functionDepth: 7
    functionLinenumber: 265
    functionLinenumberEnd: 444
    functionName: dane_tlsa_add
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - DANETLS_USAGE_BIT
    - OPENSSL_zalloc
    - d2i_PUBKEY
    - d2i_X509
    - tlsa_free
    - X509_free
    - sk_X509_new_null
    - EVP_MD_get_size
    - ERR_raise
    - sk_danetls_record_num
    - sk_danetls_record_value
    - sk_X509_push
    - X509_get0_pubkey
    - EVP_PKEY_free
    - memcpy
    - sk_danetls_record_insert
    - OPENSSL_malloc
    - tlsa_md_get
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:486,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:487,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:490,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:491,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 42
    argCount: 2
    argNames:
    - min_version
    - max_version
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 547
    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: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    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: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    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: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    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:564,1
    - Dst: SSL*::method::ssl_reset
      Src: /src/openssl/ssl/ssl_lib.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: SSL_clear
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - SSL*::method::ssl_reset
    - ERR_raise
    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:573,1
    - Dst: ssl_clear_bad_session
      Src: /src/openssl/ssl/ssl_lib.c:578,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:579,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:582,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:584,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:595,1
    - Dst: ossl_statem_clear
      Src: /src/openssl/ssl/ssl_lib.c:599,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/ssl_lib.c:605,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:610,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:614,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:620,1
    - Dst: X509_VERIFY_PARAM_move_peername
      Src: /src/openssl/ssl/ssl_lib.c:625,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:628,1
    - Dst: SSL*::method::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:637,1
    - Dst: SSL*::method::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:639,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/ssl_lib.c:642,1
    - Dst: ossl_quic_tls_clear
      Src: /src/openssl/ssl/ssl_lib.c:646,1
    - Dst: RECORD_LAYER_reset
      Src: /src/openssl/ssl/ssl_lib.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 571
    functionDepth: 8
    functionLinenumber: 571
    functionLinenumberEnd: 652
    functionName: ossl_ssl_connection_reset
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - RECORD_LAYER_reset
    - OPENSSL_free
    - X509_free
    - ossl_statem_clear
    - SSL*::method::ssl_init
    - ossl_quic_tls_clear
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - SSL_SESSION_free
    - BUF_MEM_free
    - memset
    - SSL*::method::ssl_clear
    - SSL*::method::ssl_deinit
    - EVP_MD_CTX_free
    - ssl_clear_bad_session
    - X509_VERIFY_PARAM_move_peername
    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:658,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:661,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:667,1
    - Dst: OSSL_default_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:667,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:668,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:671,1
    - Dst: OSSL_default_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:675,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:676,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - meth
    argTypes:
    - SSL_CTX*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 681
    functionName: SSL_CTX_set_ssl_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - sk_SSL_CIPHER_num
    - ERR_raise
    - IS_QUIC_CTX
    - OSSL_default_cipher_list
    - STACK_OF
    - OSSL_default_ciphersuites
    - ssl_create_cipher_list
    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:687,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:691,1
    - Dst: SSL_CTX*::method::ssl_new
      Src: /src/openssl/ssl/ssl_lib.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 695
    functionName: SSL_new
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 84
    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:699,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:702,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_lib.c:704,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:707,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_lib.c:708,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:719,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:721,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: 723
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 723
    functionName: ossl_ssl_init
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - SSL_CTX_up_ref
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - CRYPTO_FREE_REF
    - CRYPTO_THREAD_lock_new
    - SSL_CTX_free
    linkageType: ''
    returnType: int
    signature: int ossl_ssl_init(SSL *ssl, SSL_CTX *ctx, const SSL_METHOD *method,
      int type)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:731,1
    - Dst: ossl_ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:738,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:739,1
    - Dst: RECORD_LAYER_init
      Src: /src/openssl/ssl/ssl_lib.c:745,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_lib.c:764,1
    - Dst: ssl_cert_dup
      Src: /src/openssl/ssl/ssl_lib.c:777,1
    - Dst: RECORD_LAYER_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:781,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_lib.c:791,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:793,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/ssl/ssl_lib.c:797,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/ssl/ssl_lib.c:800,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:801,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:803,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:822,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:827,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:841,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:856,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:871,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_lib.c:886,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:891,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:903,1
    - Dst: SSL_METHOD*::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:908,1
    - Dst: SSL_METHOD*::ssl_reset
      Src: /src/openssl/ssl/ssl_lib.c:913,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:929,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:932,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:939,1
    - Dst: SSL_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:947,1
    - Dst: ossl_ech_conn_init
      Src: /src/openssl/ssl/ssl_lib.c:953,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:960,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:963,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:966,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/ssl_lib.c:968,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 192
    argCount: 3
    argNames:
    - ctx
    - user_ssl
    - method
    argTypes:
    - SSL_CTX*
    - SSL*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 970
    functionName: ossl_ssl_connection_new_int
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ssl_init
    - OPENSSL_memdup
    - ssl_cert_dup
    - SSL_METHOD*::ssl_init
    - X509_VERIFY_PARAM_new
    - memcpy
    - OPENSSL_zalloc
    - OPENSSL_free
    - SSL_METHOD*::ssl_reset
    - X509_VERIFY_PARAM_inherit
    - ERR_raise
    - SSL_set_ct_validation_callback
    - OPENSSL_malloc
    - SSL_free
    - sk_SSL_CIPHER_dup
    - ossl_ech_conn_init
    - SSL_CTX_up_ref
    - IS_QUIC_CTX
    - ossl_assert
    - RECORD_LAYER_set_read_ahead
    - RECORD_LAYER_init
    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:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 5
    functionLinenumber: 972
    functionLinenumberEnd: 975
    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:979,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: SSL_is_dtls
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL
    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:994,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1005
    functionName: SSL_is_tls
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL
    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:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: SSL_is_quic
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_is_quic(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: SSL_CTX_is_quic
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC_CTX
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_is_quic(const SSL_CTX *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1022
    functionName: SSL_CTX_is_server
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_is_server(const SSL_CTX *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:1028,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:1031,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1034
    functionName: SSL_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    linkageType: ''
    returnType: int
    signature: int SSL_up_ref(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1040,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1044,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: 1047
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1047
    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:1052,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1058,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1062,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: 1065
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1065
    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:1069,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - GEN_SESSION_CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    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:1078,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:1080,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - cb
    argTypes:
    - SSL*
    - GEN_SESSION_CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1085
    functionName: SSL_set_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - SSL_CONNECTION_FROM_SSL
    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:1098,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1105,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_lib.c:1107,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_lib.c:1109,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:1110,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: 1112
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1112
    functionName: SSL_has_matching_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - CRYPTO_THREAD_unlock
    - lh_SSL_SESSION_retrieve
    - CRYPTO_THREAD_read_lock
    - memcpy
    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:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - purpose
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1117
    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:1121,1
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/openssl/ssl/ssl_lib.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - purpose
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    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:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - trust
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1129
    functionDepth: 3
    functionLinenumber: 1129
    functionLinenumberEnd: 1132
    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:1136,1
    - Dst: X509_VERIFY_PARAM_set_trust
      Src: /src/openssl/ssl/ssl_lib.c:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - trust
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1134
    functionDepth: 3
    functionLinenumber: 1134
    functionLinenumberEnd: 1142
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1146,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: SSL_set1_dnsname
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 9
    functionsReached:
    - X509_VERIFY_PARAM_set1_host
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set1_dnsname(SSL *s, const char *host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1156,1
    - Dst: X509_VERIFY_PARAM_add1_host
      Src: /src/openssl/ssl/ssl_lib.c:1161,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1162
    functionName: SSL_add1_dnsname
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - strlen
    - X509_VERIFY_PARAM_add1_host
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_add1_dnsname(SSL *s, const char *host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1166,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ipaddr
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: SSL_set1_ipaddr
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - X509_VERIFY_PARAM_set1_ip_asc
    linkageType: ''
    returnType: int
    signature: int SSL_set1_ipaddr(SSL *s, const char *ipaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1176,1
    - Dst: X509_VERIFY_PARAM_add1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ipaddr
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1182
    functionName: SSL_add1_ipaddr
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_add1_ip_asc
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_add1_ipaddr(SSL *s, const char *ipaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1187,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1193,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/ssl/ssl_lib.c:1194,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1199,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1185
    functionDepth: 3
    functionLinenumber: 1185
    functionLinenumberEnd: 1201
    functionName: SSL_set1_host
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set1_host
    - SSL_CONNECTION_FROM_SSL
    - X509_VERIFY_PARAM_set1_ip_asc
    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:1205,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/ssl/ssl_lib.c:1215,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/ssl/ssl_lib.c:1218,1
    - Dst: X509_VERIFY_PARAM_get1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1220,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1222,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:1224,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1229,1
    - Dst: X509_VERIFY_PARAM_add1_host
      Src: /src/openssl/ssl/ssl_lib.c:1233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1203
    functionDepth: 5
    functionLinenumber: 1203
    functionLinenumberEnd: 1234
    functionName: SSL_add1_host
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_get1_ip_asc
    - ASN1_OCTET_STRING_free
    - OPENSSL_free
    - ERR_raise_data
    - X509_VERIFY_PARAM_add1_host
    - SSL_CONNECTION_FROM_SSL
    - a2i_IPADDRESS
    - X509_VERIFY_PARAM_set1_ip_asc
    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:1239,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/openssl/ssl/ssl_lib.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1245
    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:1249,1
    - Dst: X509_VERIFY_PARAM_get0_peername
      Src: /src/openssl/ssl/ssl_lib.c:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1255
    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:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: SSL_CTX_dane_enable
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    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: 1268
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1268
    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: 1276
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1276
    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:1281,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1288,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1292,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/ssl/ssl_lib.c:1302,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1303,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1309,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1310,1
    - Dst: sk_danetls_record_new_null
      Src: /src/openssl/ssl/ssl_lib.c:1317,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - s
    - basedomain
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1324
    functionName: SSL_dane_enable
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - sk_danetls_record_new_null
    - X509_VERIFY_PARAM_set1_host
    - SSL_set_tlsext_host_name
    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:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1338
    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:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1352
    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:1357,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:1364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - s
    - mcert
    - mspki
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1373
    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:1379,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:1386,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: 1401
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1401
    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:1405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1411
    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:1416,1
    - Dst: dane_tlsa_add
      Src: /src/openssl/ssl/ssl_lib.c:1421,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: 1422
      start: 1413
    functionDepth: 8
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: SSL_dane_tlsa_add
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - dane_tlsa_add
    - SSL_CONNECTION_FROM_SSL
    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:1427,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: 1428
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1428
    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:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - vpm
    argTypes:
    - SSL_CTX*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1430
    functionDepth: 3
    functionLinenumber: 1430
    functionLinenumberEnd: 1433
    functionName: SSL_CTX_set1_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    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:1437,1
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/openssl/ssl/ssl_lib.c:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - vpm
    argTypes:
    - SSL*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1435
    functionDepth: 3
    functionLinenumber: 1435
    functionLinenumberEnd: 1443
    functionName: SSL_set1_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - X509_VERIFY_PARAM_set1
    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: 1448
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1448
    functionName: SSL_CTX_get0_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    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:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1458
    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:1462,1
    - Dst: ssl_cert_clear_certs
      Src: /src/openssl/ssl/ssl_lib.c:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1468
    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:1476,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:1477,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:1480,1
    - Dst: SSL*::method::ssl_free
      Src: /src/openssl/ssl/ssl_lib.c:1483,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:1485,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1486,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:1487,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_lib.c:1488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1470
    functionDepth: 2
    functionLinenumber: 1470
    functionLinenumberEnd: 1491
    functionName: SSL_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1909
    functionsReached:
    - REF_ASSERT_ISNT
    - SSL*::method::ssl_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - SSL_CTX_free
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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:1497,1
    - Dst: ssl_free_wbio_buffer
      Src: /src/openssl/ssl/ssl_lib.c:1506,1
    - Dst: RECORD_LAYER_clear
      Src: /src/openssl/ssl/ssl_lib.c:1507,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/ssl/ssl_lib.c:1509,1
    - Dst: dane_final
      Src: /src/openssl/ssl/ssl_lib.c:1510,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/ssl_lib.c:1512,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1515,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1516,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1517,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1518,1
    - Dst: ssl_clear_bad_session
      Src: /src/openssl/ssl/ssl_lib.c:1522,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:1523,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:1525,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1526,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:1528,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1529,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1532,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1533,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1535,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1536,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1537,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1538,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1539,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1540,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1543,1
    - Dst: sk_OCSP_RESPID_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1547,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1548,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:1552,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1553,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1555,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1556,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1558,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1559,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1560,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1561,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1563,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1564,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1566,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1567,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_lib.c:1569,1
    - Dst: SSL*::method::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:1572,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1574,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1577,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_free
      Src: /src/openssl/ssl/ssl_lib.c:1581,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1590,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1592,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1594,1
    - Dst: ossl_ech_conn_clear
      Src: /src/openssl/ssl/ssl_lib.c:1596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1493
    functionDepth: 8
    functionLinenumber: 1493
    functionLinenumberEnd: 1598
    functionName: ossl_ssl_connection_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_RESPID_pop_free
    - BUF_MEM_free
    - SSL_CTX_free
    - ssl_free_wbio_buffer
    - X509_VERIFY_PARAM_free
    - dane_final
    - OPENSSL_free
    - ASYNC_WAIT_CTX_free
    - EVP_MD_CTX_free
    - sk_SRTP_PROTECTION_PROFILE_free
    - ssl_clear_bad_session
    - ossl_ech_conn_clear
    - SSL_SESSION_free
    - SCT_LIST_free
    - RECORD_LAYER_clear
    - sk_OCSP_RESPONSE_pop_free
    - sk_SSL_CIPHER_free
    - OSSL_STACK_OF_X509_free
    - ssl_cert_free
    - BIO_free_all
    - SSL_CONNECTION_FROM_SSL_ONLY
    - sk_X509_NAME_pop_free
    - SSL*::method::ssl_deinit
    - sk_X509_EXTENSION_pop_free
    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:1602,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1605,1
    - Dst: ossl_quic_conn_set0_net_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1606,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1614,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - rbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1600
    functionDepth: 4
    functionLinenumber: 1600
    functionLinenumberEnd: 1617
    functionName: SSL_set0_rbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - IS_QUIC
    - BIO_free_all
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION*::rlayer::rrlmethod::set1_bio
    - ossl_quic_conn_set0_net_rbio
    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:1621,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1624,1
    - Dst: ossl_quic_conn_set0_net_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1625,1
    - Dst: BIO_pop
      Src: /src/openssl/ssl/ssl_lib.c:1637,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1639,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/ssl_lib.c:1644,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:1646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - wbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1619
    functionDepth: 4
    functionLinenumber: 1619
    functionLinenumberEnd: 1647
    functionName: SSL_set0_wbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 16
    functionsReached:
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    - IS_QUIC
    - BIO_pop
    - BIO_free_all
    - SSL_CONNECTION_FROM_SSL
    - BIO_push
    - ossl_quic_conn_set0_net_wbio
    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:1657,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1657,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:1665,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1672,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1673,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1681,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1681,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1681,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1682,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1687,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1688,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - s
    - rbio
    - wbio
    argTypes:
    - SSL*
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1649
    functionDepth: 5
    functionLinenumber: 1649
    functionLinenumberEnd: 1689
    functionName: SSL_set_bio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 47
    functionsReached:
    - SSL_set0_wbio
    - SSL_set0_rbio
    - BIO_up_ref
    - SSL_get_rbio
    - SSL_get_wbio
    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:1693,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1696,1
    - Dst: ossl_quic_conn_get_net_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1704
    functionName: SSL_get_rbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 25
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - IS_QUIC
    - ossl_quic_conn_get_net_rbio
    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:1708,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1711,1
    - Dst: ossl_quic_conn_get_net_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1712,1
    - Dst: BIO_next
      Src: /src/openssl/ssl/ssl_lib.c:1723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1726
    functionName: SSL_get_wbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 40
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - IS_QUIC
    - BIO_next
    - ossl_quic_conn_get_net_wbio
    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:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1731
    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:1738,1
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/ssl_lib.c:1739,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1743
    functionName: SSL_get_rfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_get_rbio
    - BIO_get_fd
    - BIO_find_type
    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:1750,1
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/ssl_lib.c:1751,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1755
    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:1761,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/ssl/ssl_lib.c:1762,1
    - Dst: BIO_s_socket
      Src: /src/openssl/ssl/ssl_lib.c:1765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1758
    functionDepth: 1
    functionLinenumber: 1758
    functionLinenumberEnd: 1766
    functionName: fd_method
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BIO_s_socket
    - IS_QUIC
    - BIO_s_datagram
    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:1774,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:1778,1
    - Dst: fd_method
      Src: /src/openssl/ssl/ssl_lib.c:1778,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1781,1
    - Dst: BIO_set_fd
      Src: /src/openssl/ssl/ssl_lib.c:1784,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/ssl_lib.c:1785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1768
    functionDepth: 6
    functionLinenumber: 1768
    functionLinenumberEnd: 1789
    functionName: SSL_set_fd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - ERR_raise
    - fd_method
    - 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:1793,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1794,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1797,1
    - Dst: BIO_method_type
      Src: /src/openssl/ssl/ssl_lib.c:1801,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1802,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:1803,1
    - Dst: fd_method
      Src: /src/openssl/ssl/ssl_lib.c:1803,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1806,1
    - Dst: BIO_set_fd
      Src: /src/openssl/ssl/ssl_lib.c:1809,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1810,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:1812,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1791
    functionDepth: 5
    functionLinenumber: 1791
    functionLinenumberEnd: 1817
    functionName: SSL_set_wfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - BIO_get_fd
    - IS_QUIC
    - BIO_set_fd
    - BIO_new
    - SSL_set0_wbio
    - ERR_raise
    - fd_method
    - BIO_up_ref
    - SSL_get_rbio
    - BIO_method_type
    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:1821,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1822,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1825,1
    - Dst: BIO_method_type
      Src: /src/openssl/ssl/ssl_lib.c:1829,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1830,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:1831,1
    - Dst: fd_method
      Src: /src/openssl/ssl/ssl_lib.c:1831,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1834,1
    - Dst: BIO_set_fd
      Src: /src/openssl/ssl/ssl_lib.c:1837,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1838,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:1840,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1819
    functionDepth: 5
    functionLinenumber: 1819
    functionLinenumberEnd: 1846
    functionName: SSL_set_rfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - BIO_get_fd
    - IS_QUIC
    - BIO_set_fd
    - BIO_new
    - ERR_raise
    - SSL_set0_rbio
    - BIO_up_ref
    - SSL_get_wbio
    - fd_method
    - BIO_method_type
    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:1853,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - buf
    - count
    argTypes:
    - SSL*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1863
    functionName: SSL_get_finished
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - memcpy
    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:1869,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - buf
    - count
    argTypes:
    - SSL*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1879
    functionName: SSL_get_peer_finished
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - memcpy
    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:1883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1889
    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:1893,1
    - Dst: X509_VERIFY_PARAM_get_depth
      Src: /src/openssl/ssl/ssl_lib.c:1898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1899
    functionName: SSL_get_verify_depth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - X509_VERIFY_PARAM_get_depth
    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:1903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1909
    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: 1914
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1914
    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:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1919
    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: 1924
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1924
    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:1929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1926
    functionDepth: 1
    functionLinenumber: 1926
    functionLinenumberEnd: 1937
    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:1941,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/ssl/ssl_lib.c:1946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - depth
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 1947
    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:1951,1
    - Dst: RECORD_LAYER_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:1957,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/ssl_lib.c:1959,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:1961,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:1964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - 'yes'
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1949
    functionDepth: 2
    functionLinenumber: 1949
    functionLinenumberEnd: 1965
    functionName: SSL_set_read_ahead
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_int
    - RECORD_LAYER_set_read_ahead
    - OSSL_PARAM_construct_end
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    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:1969,1
    - Dst: RECORD_LAYER_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:1974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 1975
    functionName: SSL_get_read_ahead
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - RECORD_LAYER_get_read_ahead
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    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:1979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1992
    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:2007,1
    - Dst: ossl_quic_has_pending
      Src: /src/openssl/ssl/ssl_lib.c:2008,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2011,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:2014,1
    - Dst: pqueue_iterator
      Src: /src/openssl/ssl/ssl_lib.c:2018,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/ssl_lib.c:2019,1
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/ssl_lib.c:2026,1
    - Dst: RECORD_LAYER_read_pending
      Src: /src/openssl/ssl/ssl_lib.c:2029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1994
    functionDepth: 2
    functionLinenumber: 1994
    functionLinenumberEnd: 2030
    functionName: SSL_has_pending
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - IS_QUIC
    - ossl_quic_has_pending
    - pqueue_next
    - pqueue_iterator
    - SSL_CONNECTION_IS_DTLS
    - RECORD_LAYER_read_pending
    - RECORD_LAYER_processed_read_pending
    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:2034,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:2036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2032
    functionDepth: 2
    functionLinenumber: 2032
    functionLinenumberEnd: 2040
    functionName: SSL_get1_peer_certificate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    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:2044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2042
    functionDepth: 1
    functionLinenumber: 2042
    functionLinenumberEnd: 2053
    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:2084,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2085,1
    - Dst: SSL_set_session
      Src: /src/openssl/ssl/ssl_lib.c:2091,1
    - Dst: SSL_get_session
      Src: /src/openssl/ssl/ssl_lib.c:2091,1
    - Dst: SSL*::method::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:2099,1
    - Dst: SSL*::method::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:2101,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:2105,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:2106,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/ssl/ssl_lib.c:2108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - t
    - f
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2080
    functionDepth: 2
    functionLinenumber: 2080
    functionLinenumberEnd: 2113
    functionName: SSL_copy_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_UP_REF
    - SSL_set_session_id_context
    - SSL*::method::ssl_init
    - ssl_cert_free
    - SSL_set_session
    - SSL_get_session
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - SSL*::method::ssl_deinit
    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:2119,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2123,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_lib.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2116
    functionDepth: 3
    functionLinenumber: 2116
    functionLinenumberEnd: 2127
    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:2134,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2135,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2139,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2143,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_lib.c:2146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2130
    functionDepth: 3
    functionLinenumber: 2130
    functionLinenumberEnd: 2148
    functionName: SSL_check_private_key
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - ERR_raise
    - X509_check_private_key
    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:2152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2161
    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:2166,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/ssl/ssl_lib.c:2173,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: 2174
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2174
    functionName: SSL_get_all_async_fds
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - ASYNC_WAIT_CTX_get_all_fds
    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:2180,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/ssl/ssl_lib.c:2187,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: 2189
      start: 2176
    functionDepth: 1
    functionLinenumber: 2176
    functionLinenumberEnd: 2189
    functionName: SSL_get_changed_async_fds
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_get_changed_fds
    - SSL_CONNECTION_FROM_SSL
    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: 2195
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2195
    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: 2201
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2201
    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:2205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - callback
    argTypes:
    - SSL*
    - SSL_async_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2203
    functionDepth: 1
    functionLinenumber: 2203
    functionLinenumberEnd: 2212
    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:2216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2223
    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:2228,1
    - Dst: ASYNC_WAIT_CTX_get_status
      Src: /src/openssl/ssl/ssl_lib.c:2235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - status
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2237
    functionName: SSL_get_async_status
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - ASYNC_WAIT_CTX_get_status
    linkageType: ''
    returnType: int
    signature: int SSL_get_async_status(SSL *s, int *status)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2259
    functionName: ssl_reset_error_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_reset_error_state(SSL_CONNECTION *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/openssl/ssl/ssl_lib.c:2277,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/ssl/ssl_lib.c:2278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2268
    functionDepth: 2
    functionLinenumber: 2268
    functionLinenumberEnd: 2283
    functionName: ssl_update_error_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_peek_error
    linkageType: ''
    returnType: void
    signature: void ssl_update_error_state(SSL_CONNECTION *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2287,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2290,1
    - Dst: SSL*::method::ssl_accept
      Src: /src/openssl/ssl/ssl_lib.c:2291,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/ssl_lib.c:2300,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/ssl_lib.c:2303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2285
    functionDepth: 1
    functionLinenumber: 2285
    functionLinenumberEnd: 2304
    functionName: SSL_accept
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 24
    functionsReached:
    - SSL_set_accept_state
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    - SSL_do_handshake
    - SSL*::method::ssl_accept
    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:2308,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2311,1
    - Dst: SSL*::method::ssl_connect
      Src: /src/openssl/ssl/ssl_lib.c:2312,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/ssl_lib.c:2321,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/ssl_lib.c:2324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2306
    functionDepth: 1
    functionLinenumber: 2306
    functionLinenumberEnd: 2325
    functionName: SSL_connect
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 45
    functionsReached:
    - IS_QUIC
    - SSL*::method::ssl_connect
    - SSL_set_connect_state
    - SSL_CONNECTION_FROM_SSL
    - SSL_do_handshake
    linkageType: ''
    returnType: int
    signature: int SSL_connect(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_lib.c:2329,1
    - Dst: SSL*::method::get_timeout
      Src: /src/openssl/ssl/ssl_lib.c:2329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2330
    functionName: SSL_get_default_timeout
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL*::method::get_timeout
    - ossl_time2seconds
    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:2335,1
    - Dst: SSL_CONNECTION*::async_cb
      Src: /src/openssl/ssl/ssl_lib.c:2340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2341
    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:2347,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/ssl/ssl_lib.c:2353,1
    - Dst: ASYNC_WAIT_CTX_set_callback
      Src: /src/openssl/ssl/ssl_lib.c:2357,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/ssl/ssl_lib.c:2362,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2366,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - s
    - args
    argTypes:
    - SSL*
    - struct ssl_async_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2343
    functionDepth: 5
    functionLinenumber: 2343
    functionLinenumberEnd: 2385
    functionName: ssl_start_async_job
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_callback
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - ASYNC_WAIT_CTX_new
    - ASYNC_start_job
    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:2399,1
    - Dst: struct ssl_async_args*::f::func_read
      Src: /src/openssl/ssl/ssl_lib.c:2404,1
    - Dst: struct ssl_async_args*::f::func_write
      Src: /src/openssl/ssl/ssl_lib.c:2406,1
    - Dst: struct ssl_async_args*::f::func_other
      Src: /src/openssl/ssl/ssl_lib.c:2408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - vargs
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2387
    functionDepth: 1
    functionLinenumber: 2387
    functionLinenumberEnd: 2411
    functionName: ssl_io_intern
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - struct ssl_async_args*::f::func_other
    - struct ssl_async_args*::f::func_write
    - SSL_CONNECTION_FROM_SSL
    - struct ssl_async_args*::f::func_read
    linkageType: ''
    returnType: int
    signature: int ssl_io_intern(void *vargs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2416,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2419,1
    - Dst: SSL*::method::ssl_read
      Src: /src/openssl/ssl/ssl_lib.c:2420,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2426,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2430,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2442,1
    - Dst: ossl_statem_check_finish_init
      Src: /src/openssl/ssl/ssl_lib.c:2450,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2453,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2462,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2464,1
    - Dst: SSL*::method::ssl_read
      Src: /src/openssl/ssl/ssl_lib.c:2467,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2413
    functionDepth: 6
    functionLinenumber: 2413
    functionLinenumberEnd: 2471
    functionName: ssl_read_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC
    - ssl_update_error_state
    - ossl_statem_check_finish_init
    - ssl_start_async_job
    - SSL_CONNECTION_FROM_SSL
    - ERR_raise
    - SSL*::method::ssl_read
    - ASYNC_get_current_job
    - ssl_reset_error_state
    linkageType: ''
    returnType: int
    signature: int ssl_read_internal(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2477,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2480,1
    - Dst: ssl_read_internal
      Src: /src/openssl/ssl/ssl_lib.c:2486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - s
    - buf
    - num
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2473
    functionDepth: 7
    functionLinenumber: 2473
    functionLinenumberEnd: 2496
    functionName: SSL_read
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 43
    functionsReached:
    - ssl_read_internal
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    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:2502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2498
    functionDepth: 7
    functionLinenumber: 2498
    functionLinenumberEnd: 2507
    functionName: SSL_read_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 47
    functionsReached:
    - ssl_read_internal
    linkageType: ''
    returnType: int
    signature: int SSL_read_ex(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2512,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2516,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2520,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2524,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:2531,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2532,1
    - Dst: SSL_accept
      Src: /src/openssl/ssl/ssl_lib.c:2540,1
    - Dst: SSL_read_ex
      Src: /src/openssl/ssl/ssl_lib.c:2551,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2569,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2509
    functionDepth: 8
    functionLinenumber: 2509
    functionLinenumberEnd: 2573
    functionName: SSL_read_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 16
    functionsReached:
    - SSL_accept
    - SSL_in_before
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_read_ex
    - ssl_reset_error_state
    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:2577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2575
    functionDepth: 1
    functionLinenumber: 2575
    functionLinenumberEnd: 2584
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2589,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2592,1
    - Dst: SSL*::method::ssl_peek
      Src: /src/openssl/ssl/ssl_lib.c:2593,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2599,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2603,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2611,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2620,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2622,1
    - Dst: SSL*::method::ssl_peek
      Src: /src/openssl/ssl/ssl_lib.c:2625,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2586
    functionDepth: 6
    functionLinenumber: 2586
    functionLinenumberEnd: 2629
    functionName: ssl_peek_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC
    - ssl_update_error_state
    - ssl_start_async_job
    - SSL_CONNECTION_FROM_SSL
    - ERR_raise
    - ASYNC_get_current_job
    - ssl_reset_error_state
    - SSL*::method::ssl_peek
    linkageType: ''
    returnType: int
    signature: int ssl_peek_internal(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2635,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2638,1
    - Dst: ssl_peek_internal
      Src: /src/openssl/ssl/ssl_lib.c:2644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - s
    - buf
    - num
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2631
    functionDepth: 7
    functionLinenumber: 2631
    functionLinenumberEnd: 2654
    functionName: SSL_peek
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - ssl_peek_internal
    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:2660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2656
    functionDepth: 7
    functionLinenumber: 2656
    functionLinenumberEnd: 2665
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2671,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2674,1
    - Dst: ossl_quic_write_flags
      Src: /src/openssl/ssl/ssl_lib.c:2675,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2681,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2685,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2692,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2698,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2706,1
    - Dst: ossl_statem_check_finish_init
      Src: /src/openssl/ssl/ssl_lib.c:2711,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2714,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2723,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2725,1
    - Dst: SSL*::method::ssl_write
      Src: /src/openssl/ssl/ssl_lib.c:2728,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2729,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 5
    argNames:
    - s
    - buf
    - num
    - flags
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2667
    functionDepth: 6
    functionLinenumber: 2667
    functionLinenumberEnd: 2732
    functionName: ssl_write_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC
    - ssl_update_error_state
    - ossl_statem_check_finish_init
    - ssl_start_async_job
    - SSL*::method::ssl_write
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - ASYNC_get_current_job
    - ssl_reset_error_state
    - ossl_quic_write_flags
    linkageType: ''
    returnType: int
    signature: "int ssl_write_internal(SSL *s, const void *buf, size_t num,\n    uint64_t
      flags, size_t *written)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2736,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2745,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2749,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2756,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/ssl_lib.c:2761,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2762,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/ssl_lib.c:2769,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2770,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/ssl_lib.c:2779,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/ssl_lib.c:2780,1
    - Dst: set_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2784,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:2791,1
    - Dst: ktls_sendfile
      Src: /src/openssl/ssl/ssl_lib.c:2796,1
    - Dst: SSL_get_wfd
      Src: /src/openssl/ssl/ssl_lib.c:2796,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2797,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/ssl_lib.c:2798,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/ssl/ssl_lib.c:2800,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/ssl_lib.c:2801,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:2804,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2804,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - s
    - fd
    - offset
    - size
    - flags
    argTypes:
    - SSL*
    - int
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2734
    functionDepth: 3
    functionLinenumber: 2734
    functionLinenumberEnd: 2813
    functionName: SSL_sendfile
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - set_sys_error
    - BIO_clear_retry_flags
    - ssl_update_error_state
    - BIO_should_retry
    - ERR_raise_data
    - SSL_get_wfd
    - SSL*::method::ssl_dispatch_alert
    - ERR_raise
    - get_last_sys_error
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ktls_sendfile
    - BIO_flush
    - BIO_sock_should_retry
    - BIO_get_ktls_send
    - BIO_set_retry_write
    - ssl_reset_error_state
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size,
      int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2819,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2822,1
    - Dst: ssl_write_internal
      Src: /src/openssl/ssl/ssl_lib.c:2828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - s
    - buf
    - num
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2815
    functionDepth: 7
    functionLinenumber: 2815
    functionLinenumberEnd: 2838
    functionName: SSL_write
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 33
    functionsReached:
    - ssl_write_internal
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    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:2842,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: 2843
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2843
    functionName: SSL_write_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 40
    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:2850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - s
    - buf
    - num
    - flags
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2845
    functionDepth: 7
    functionLinenumber: 2845
    functionLinenumberEnd: 2855
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2862,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2868,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:2874,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2877,1
    - Dst: SSL_connect
      Src: /src/openssl/ssl/ssl_lib.c:2885,1
    - Dst: SSL_write_ex
      Src: /src/openssl/ssl/ssl_lib.c:2902,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/ssl_lib.c:2913,1
    - Dst: SSL_write_ex
      Src: /src/openssl/ssl/ssl_lib.c:2924,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/ssl_lib.c:2927,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2932,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2857
    functionDepth: 2
    functionLinenumber: 2857
    functionLinenumberEnd: 2936
    functionName: SSL_write_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 13
    functionsReached:
    - SSL_write_ex
    - SSL_in_before
    - SSL_connect
    - ERR_raise
    - statem_flush
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_flush
    - ssl_reset_error_state
    linkageType: ''
    returnType: int
    signature: int SSL_write_early_data(SSL *s, const void *buf, size_t num, size_t
      *written)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2946,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2949,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2953,1
    - Dst: ossl_quic_conn_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:2954,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2961,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:2966,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2967,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:2970,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2975,1
    - Dst: SSL*::method::ssl_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:2977,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2980,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:2985,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2938
    functionDepth: 6
    functionLinenumber: 2938
    functionLinenumberEnd: 2987
    functionName: SSL_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 58
    functionsReached:
    - IS_QUIC
    - ssl_update_error_state
    - ossl_quic_conn_shutdown
    - ssl_start_async_job
    - SSL_in_init
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - memset
    - ASYNC_get_current_job
    - SSL*::method::ssl_shutdown
    - ssl_reset_error_state
    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:2991,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2994,1
    - Dst: ossl_quic_key_update
      Src: /src/openssl/ssl/ssl_lib.c:2995,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:3001,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3002,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3008,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/ssl_lib.c:3012,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3013,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/ssl_lib.c:3017,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3018,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/ssl_lib.c:3022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - s
    - updatetype
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 2989
    functionDepth: 1
    functionLinenumber: 2989
    functionLinenumberEnd: 3025
    functionName: SSL_key_update
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - RECORD_LAYER_write_pending
    - ossl_statem_set_in_init
    - IS_QUIC
    - SSL_is_init_finished
    - ossl_quic_key_update
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_IS_TLS13
    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:3029,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:3032,1
    - Dst: ossl_quic_get_key_update_type
      Src: /src/openssl/ssl/ssl_lib.c:3033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3040
    functionName: SSL_get_key_update_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_get_key_update_type
    - SSL_CONNECTION_FROM_CONST_SSL
    - IS_QUIC
    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:3048,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3049,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3059
    functionName: can_renegotiate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_IS_TLS13
    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:3063,1
    - Dst: can_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:3068,1
    - Dst: SSL*::method::ssl_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:3073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3061
    functionDepth: 2
    functionLinenumber: 3061
    functionLinenumberEnd: 3074
    functionName: SSL_renegotiate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 9
    functionsReached:
    - can_renegotiate
    - SSL*::method::ssl_renegotiate
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:3078,1
    - Dst: can_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:3083,1
    - Dst: SSL*::method::ssl_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:3088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3076
    functionDepth: 2
    functionLinenumber: 3076
    functionLinenumberEnd: 3089
    functionName: SSL_renegotiate_abbreviated
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - can_renegotiate
    - SSL*::method::ssl_renegotiate
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:3093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3103
    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:3107,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:3113,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/ssl_lib.c:3114,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:3115,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/ssl_lib.c:3118,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:3118,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/ssl_lib.c:3119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3105
    functionDepth: 1
    functionLinenumber: 3105
    functionLinenumberEnd: 3121
    functionName: SSL_new_session_ticket
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - RECORD_LAYER_write_pending
    - SSL_IS_FIRST_HANDSHAKE
    - ossl_statem_set_in_init
    - SSL_in_init
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_IS_TLS13
    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:3125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3123
    functionDepth: 1
    functionLinenumber: 3123
    functionLinenumberEnd: 3126
    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:3131,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:3148,1
    - Dst: SSL*::method::ssl_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3149,1
    - Dst: RECORD_LAYER_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:3156,1
    - Dst: RECORD_LAYER_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:3158,1
    - Dst: RECORD_LAYER_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:3159,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/ssl/ssl_lib.c:3167,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:3169,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:3172,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/ssl_lib.c:3190,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
      Src: /src/openssl/ssl/ssl_lib.c:3196,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_max_pipelines
      Src: /src/openssl/ssl/ssl_lib.c:3208,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:3230,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/ssl_lib.c:3230,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_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3243,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3244,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:3249,1
    - Dst: SSL_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3250,1
    - Dst: SSL*::method::ssl_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3252,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: 3254
      start: 3128
    functionDepth: 5
    functionLinenumber: 3128
    functionLinenumberEnd: 3254
    functionName: ossl_ctrl_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::set_max_pipelines
    - IS_QUIC
    - SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
    - ssl_check_allowed_versions
    - ssl_set_version_bound
    - RECORD_LAYER_set_read_ahead
    - SSL_in_init
    - SSL*::method::ssl_ctrl
    - SSL_CONNECTION_FROM_SSL
    - OSSL_PARAM_construct_end
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - RECORD_LAYER_get_read_ahead
    - BIO_get_ktls_send
    - SSL_ctrl
    - OSSL_PARAM_construct_uint32
    - ossl_statem_get_in_handshake
    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:3258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3256
    functionDepth: 4
    functionLinenumber: 3256
    functionLinenumberEnd: 3259
    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:3270,1
    - Dst: tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3271,1
    - Dst: ssl_tsan_unlock
      Src: /src/openssl/ssl/ssl_lib.c:3272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - stat
    argTypes:
    - SSL_CTX*
    - TSAN_QUALIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3266
    functionDepth: 1
    functionLinenumber: 3266
    functionLinenumberEnd: 3275
    functionName: ssl_tsan_load
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - tsan_load
    - ssl_tsan_lock
    - ssl_tsan_unlock
    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:3283,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/ssl_lib.c:3288,1
    - Dst: lh_SSL_SESSION_num_items
      Src: /src/openssl/ssl/ssl_lib.c:3331,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3333,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3335,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3337,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3339,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3341,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3343,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3345,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3347,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3349,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3351,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3353,1
    - Dst: ssl_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3380,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3381,1
    - Dst: ssl_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3386,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3387,1
    - Dst: SSL_CTX*::method::ssl_ctx_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3392,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: 3394
      start: 3277
    functionDepth: 2
    functionLinenumber: 3277
    functionLinenumberEnd: 3394
    functionName: SSL_CTX_ctrl
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_check_allowed_versions
    - tls1_set_sigalgs_list
    - ssl_tsan_load
    - ssl_set_version_bound
    - SSL_CTX*::method::ssl_ctx_ctrl
    - lh_SSL_SESSION_num_items
    - tls1_set_groups_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:3406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3408
    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: 3417
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3417
    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: 3427
      start: 3419
    functionDepth: 0
    functionLinenumber: 3419
    functionLinenumberEnd: 3427
    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:3504,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3508,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3509,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/ssl_lib.c:3511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3501
    functionDepth: 1
    functionLinenumber: 3501
    functionLinenumberEnd: 3515
    functionName: SSL_get_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_value
    - SSL_get_ciphers
    - STACK_OF
    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:3549,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:3551,1
    - Dst: SSL_CTX*::method::num_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3563,1
    - Dst: cipher_list_tls12_num
      Src: /src/openssl/ssl/ssl_lib.c:3563,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3568
      start: 3547
    functionDepth: 1
    functionLinenumber: 3547
    functionLinenumberEnd: 3568
    functionName: SSL_CTX_set_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 43
    functionsReached:
    - ERR_raise
    - SSL_CTX*::method::num_ciphers
    - STACK_OF
    - cipher_list_tls12_num
    - ssl_create_cipher_list
    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:3573,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3574,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:3581,1
    - Dst: SSL_CTX*::method::num_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3587,1
    - Dst: cipher_list_tls12_num
      Src: /src/openssl/ssl/ssl_lib.c:3587,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3571
    functionDepth: 1
    functionLinenumber: 3571
    functionLinenumberEnd: 3592
    functionName: SSL_set_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - ERR_raise
    - SSL_CTX*::method::num_ciphers
    - STACK_OF
    - cipher_list_tls12_num
    - ssl_create_cipher_list
    linkageType: ''
    returnType: int
    signature: int SSL_set_cipher_list(SSL *s, const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:3597,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3600,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3612,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3614,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3615,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3618,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/ssl_lib.c:3621,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/openssl/ssl/ssl_lib.c:3622,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/ssl/ssl_lib.c:3625,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:3629,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - s
    - buf
    - size
    argTypes:
    - SSL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3640
      start: 3594
    functionDepth: 1
    functionLinenumber: 3594
    functionLinenumberEnd: 3640
    functionName: SSL_get_shared_ciphers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - OPENSSL_strnlen
    - SSL_get_ciphers
    - sk_SSL_CIPHER_value
    - STACK_OF
    - sk_SSL_CIPHER_num
    - memcpy
    - sk_SSL_CIPHER_find
    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:3654,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:3686,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:3711,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:3717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3724
    functionName: SSL_get_servername
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - SSL_in_before
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: char
    signature: char *SSL_get_servername(const SSL *s, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/ssl/ssl_lib.c:3728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3726
    functionDepth: 2
    functionLinenumber: 3726
    functionLinenumberEnd: 3731
    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:3760,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/ssl_lib.c:3761,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3762,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:3772,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3773,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:3778,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/ssl_lib.c:3779,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3780,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:3782,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/ssl_lib.c:3783,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/ssl_lib.c:3784,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:3784,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3785,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:3787,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3788,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: 3806
      start: 3753
    functionDepth: 4
    functionLinenumber: 3753
    functionLinenumberEnd: 3806
    functionName: SSL_select_next_proto
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - PACKET_equal
    - PACKET_data
    - PACKET_get_length_prefixed_1
    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:3820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - s
    - data
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3817
    functionDepth: 1
    functionLinenumber: 3817
    functionLinenumberEnd: 3835
    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:3851,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: 3857
      start: 3847
    functionDepth: 1
    functionLinenumber: 3847
    functionLinenumberEnd: 3857
    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:3873,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: 3879
      start: 3869
    functionDepth: 1
    functionLinenumber: 3869
    functionLinenumberEnd: 3879
    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: 3894
      start: 3882
    functionDepth: 0
    functionLinenumber: 3882
    functionLinenumberEnd: 3894
    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:3906,1
    - Dst: alpn_value_ok
      Src: /src/openssl/ssl/ssl_lib.c:3912,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:3915,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3918,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: 3923
      start: 3900
    functionDepth: 1
    functionLinenumber: 3900
    functionLinenumberEnd: 3923
    functionName: SSL_CTX_set_alpn_protos
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - OPENSSL_memdup
    - alpn_value_ok
    - OPENSSL_free
    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:3934,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3940,1
    - Dst: alpn_value_ok
      Src: /src/openssl/ssl/ssl_lib.c:3946,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:3949,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3952,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: 3957
      start: 3930
    functionDepth: 1
    functionLinenumber: 3930
    functionLinenumberEnd: 3957
    functionName: SSL_set_alpn_protos
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 23
    functionsReached:
    - OPENSSL_memdup
    - alpn_value_ok
    - SSL_CONNECTION_FROM_SSL
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos,\n    unsigned
      int protos_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - protos
    - protos_len
    argTypes:
    - SSL_CTX*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3977
      start: 3962
    functionDepth: 0
    functionLinenumber: 3962
    functionLinenumberEnd: 3977
    functionName: SSL_CTX_get0_alpn_protos
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_get0_alpn_protos(SSL_CTX *ctx, const unsigned char **protos,\n
      \   unsigned int *protos_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - protos
    - protos_len
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3982
    functionDepth: 1
    functionLinenumber: 3982
    functionLinenumberEnd: 3998
    functionName: SSL_get0_alpn_protos
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: "void SSL_get0_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: 4011
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4011
    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:4022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - data
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4019
    functionDepth: 1
    functionLinenumber: 4019
    functionLinenumberEnd: 4036
    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:4043,1
    - Dst: SSL_CONNECTION*::ssl::method::ssl3_enc::export_keying_material
      Src: /src/openssl/ssl/ssl_lib.c:4052,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: 4056
      start: 4038
    functionDepth: 1
    functionLinenumber: 4038
    functionLinenumberEnd: 4056
    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:4063,1
    - Dst: tls13_export_keying_material_early
      Src: /src/openssl/ssl/ssl_lib.c:4071,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: 4073
      start: 4058
    functionDepth: 1
    functionLinenumber: 4058
    functionLinenumberEnd: 4073
    functionName: SSL_export_keying_material_early
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - tls13_export_keying_material_early
    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:4082,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:4083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4075
    functionDepth: 0
    functionLinenumber: 4075
    functionLinenumberEnd: 4089
    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:4104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_SESSION*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4105
      start: 4098
    functionDepth: 0
    functionLinenumber: 4098
    functionLinenumberEnd: 4105
    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:4130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4134
    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: 4156
      start: 4142
    functionDepth: 0
    functionLinenumber: 4142
    functionLinenumberEnd: 4156
    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:4166,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_lib.c:4169,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/ssl_lib.c:4170,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:4172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4161
    functionDepth: 2
    functionLinenumber: 4161
    functionLinenumberEnd: 4173
    functionName: do_sslkeylogfile
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - BIO_printf
    - CRYPTO_THREAD_write_lock
    - 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:4191,1
    - Dst: fdopen
      Src: /src/openssl/ssl/ssl_lib.c:4195,1
    - Dst: close
      Src: /src/openssl/ssl/ssl_lib.c:4197,1
    - Dst: BIO_new_fp
      Src: /src/openssl/ssl/ssl_lib.c:4201,1
    - Dst: fclose
      Src: /src/openssl/ssl/ssl_lib.c:4202,1
    - Dst: BIO_new_file
      Src: /src/openssl/ssl/ssl_lib.c:4205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - keylogfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4184
    functionDepth: 6
    functionLinenumber: 4184
    functionLinenumberEnd: 4207
    functionName: get_sslkeylog_bio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - open
    - BIO_new_fp
    - close
    - BIO_new_file
    - fdopen
    - fclose
    linkageType: ''
    returnType: BIO
    signature: BIO *get_sslkeylog_bio(const char *keylogfile)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/ssl/ssl_lib.c:4215,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4222,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/ssl/ssl_lib.c:4226,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/ssl/ssl_lib.c:4230,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4231,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:4235,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_lib.c:4240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4241,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:4245,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4247,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:4252,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4254,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_lib.c:4261,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/ssl/ssl_lib.c:4266,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/ssl_lib.c:4268,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/ssl_lib.c:4270,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/ssl/ssl_lib.c:4273,1
    - Dst: SSL_METHOD*::get_timeout
      Src: /src/openssl/ssl/ssl_lib.c:4284,1
    - Dst: lh_SSL_SESSION_new
      Src: /src/openssl/ssl/ssl_lib.c:4288,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4290,1
    - Dst: X509_STORE_new
      Src: /src/openssl/ssl/ssl_lib.c:4293,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4295,1
    - Dst: CTLOG_STORE_new_ex
      Src: /src/openssl/ssl/ssl_lib.c:4299,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4301,1
    - Dst: ssl_load_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:4307,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4308,1
    - Dst: ssl_load_groups
      Src: /src/openssl/ssl/ssl_lib.c:4312,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4313,1
    - Dst: ssl_load_sigalgs
      Src: /src/openssl/ssl/ssl_lib.c:4318,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4319,1
    - Dst: ssl_setup_sigalgs
      Src: /src/openssl/ssl/ssl_lib.c:4324,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4325,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:4329,1
    - Dst: OSSL_default_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:4329,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4330,1
    - Dst: ssl_cert_new
      Src: /src/openssl/ssl/ssl_lib.c:4334,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4335,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:4339,1
    - Dst: OSSL_default_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:4342,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:4343,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4344,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/ssl/ssl_lib.c:4348,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4350,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_lib.c:4354,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4355,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_lib.c:4359,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4360,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:4364,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4365,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:4369,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/ssl/ssl_lib.c:4374,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4380,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4383,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4386,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4391,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4394,1
    - Dst: ssl_ctx_srp_ctx_init_intern
      Src: /src/openssl/ssl/ssl_lib.c:4399,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4400,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:4410,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_lib.c:4412,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_lib.c:4414,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_lib.c:4416,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/ssl/ssl_lib.c:4464,1
    - Dst: ossl_quic_new_token_store
      Src: /src/openssl/ssl/ssl_lib.c:4465,1
    - Dst: IS_QUIC_METHOD
      Src: /src/openssl/ssl/ssl_lib.c:4468,1
    - Dst: OSSL_QUIC_client_thread_method
      Src: /src/openssl/ssl/ssl_lib.c:4470,1
    - Dst: ssl_ctx_system_config
      Src: /src/openssl/ssl/ssl_lib.c:4487,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4488,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:4493,1
    - Dst: RUN_ONCE
      Src: /src/openssl/ssl/ssl_lib.c:4495,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_lib.c:4497,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:4502,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_lib.c:4503,1
    - Dst: get_sslkeylog_bio
      Src: /src/openssl/ssl/ssl_lib.c:4512,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_lib.c:4514,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/ssl/ssl_lib.c:4517,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:4520,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:4526,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:4533,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:4535,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 217
    argCount: 3
    argNames:
    - libctx
    - propq
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4210
    functionDepth: 11
    functionLinenumber: 4210
    functionLinenumberEnd: 4538
    functionName: SSL_CTX_new_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 63
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - OPENSSL_init_ssl
    - SSL_COMP_get_compression_methods
    - CTLOG_STORE_new_ex
    - OSSL_default_cipher_list
    - RAND_bytes_ex
    - OSSL_QUIC_client_thread_method
    - CRYPTO_THREAD_write_lock
    - ssl_ctx_srp_ctx_init_intern
    - ossl_safe_getenv
    - X509_VERIFY_PARAM_new
    - BIO_up_ref
    - SSL_CTX_free
    - ssl_load_groups
    - OPENSSL_zalloc
    - ssl_load_ciphers
    - RUN_ONCE
    - EVP_MAC_fetch
    - OPENSSL_free
    - ssl_ctx_system_config
    - BIO_set_callback_ex
    - ERR_raise
    - ssl_setup_sigalgs
    - RAND_priv_bytes_ex
    - OPENSSL_secure_zalloc
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ssl_load_sigalgs
    - ossl_comp_has_alg
    - CRYPTO_NEW_REF
    - ssl_cert_new
    - BIO_free
    - ossl_quic_new_token_store
    - EVP_MD_fetch
    - CRYPTO_THREAD_lock_new
    - EVP_CIPHER_fetch
    - memset
    - SSL_METHOD*::get_timeout
    - OSSL_default_ciphersuites
    - sk_SSL_CIPHER_num
    - ssl_create_cipher_list
    - sk_X509_NAME_new_null
    - lh_SSL_SESSION_new
    - OPENSSL_strdup
    - CRYPTO_THREAD_unlock
    - OSSL_QUIC_client_method
    - CRYPTO_new_ex_data
    - get_sslkeylog_bio
    - OSSL_TRACE
    - X509_STORE_new
    - EVP_KDF_fetch
    - strlen
    - IS_QUIC_METHOD
    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:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/ssl/ssl_lib.c:4542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4543
      start: 4540
    functionDepth: 12
    functionLinenumber: 4540
    functionLinenumberEnd: 4543
    functionName: SSL_CTX_new
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 71
    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:4549,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:4552,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:4553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4555
      start: 4545
    functionDepth: 1
    functionLinenumber: 4545
    functionLinenumberEnd: 4555
    functionName: SSL_CTX_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:4565,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:4566,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:4569,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:4572,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:4574,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:4576,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/ssl/ssl_lib.c:4580,1
    - Dst: dane_ctx_final
      Src: /src/openssl/ssl/ssl_lib.c:4581,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/ssl/ssl_lib.c:4593,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/ssl/ssl_lib.c:4595,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/ssl_lib.c:4596,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4597,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/ssl/ssl_lib.c:4599,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:4602,1
    - Dst: lh_SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:4603,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_lib.c:4604,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/ssl/ssl_lib.c:4606,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4608,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4609,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4610,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:4611,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:4612,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:4613,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_lib.c:4614,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_free
      Src: /src/openssl/ssl/ssl_lib.c:4617,1
    - Dst: ssl_ctx_srp_ctx_free_intern
      Src: /src/openssl/ssl/ssl_lib.c:4620,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4623,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4624,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4625,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4626,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4627,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/ssl/ssl_lib.c:4628,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/ssl_lib.c:4631,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/ssl_lib.c:4633,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4635,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4636,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4639,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4641,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4642,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4643,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4645,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4649,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4651,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4652,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4654,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4655,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4657,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4658,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:4660,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_lib.c:4661,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:4663,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4666,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4668,1
    - Dst: ossl_quic_free_token_store
      Src: /src/openssl/ssl/ssl_lib.c:4672,1
    - Dst: ossl_ech_ctx_clear
      Src: /src/openssl/ssl/ssl_lib.c:4676,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 77
    argCount: 1
    argNames:
    - a
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4680
      start: 4557
    functionDepth: 5
    functionLinenumber: 4557
    functionLinenumberEnd: 4680
    functionName: SSL_CTX_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 283
    functionsReached:
    - lh_SSL_SESSION_free
    - CTLOG_STORE_free
    - CRYPTO_THREAD_write_lock
    - ssl_ctx_srp_ctx_free_intern
    - CRYPTO_DOWN_REF
    - X509_VERIFY_PARAM_free
    - OPENSSL_free
    - EVP_KDF_free
    - CRYPTO_free_ex_data
    - dane_ctx_final
    - ossl_ech_ctx_clear
    - X509_STORE_free
    - sk_SRTP_PROTECTION_PROFILE_free
    - SSL_CTX_flush_sessions_ex
    - EVP_MAC_free
    - BIO_free
    - OPENSSL_secure_clear_free
    - EVP_MD_free
    - EVP_CIPHER_free
    - ssl_evp_md_free
    - REF_ASSERT_ISNT
    - ssl_evp_cipher_free
    - CRYPTO_THREAD_unlock
    - sk_SSL_CIPHER_free
    - OSSL_STACK_OF_X509_free
    - ssl_cert_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_FREE_REF
    - sk_X509_NAME_pop_free
    - ossl_quic_free_token_store
    - REF_PRINT_COUNT
    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: 4685
      start: 4682
    functionDepth: 0
    functionLinenumber: 4682
    functionLinenumberEnd: 4685
    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: 4690
      start: 4687
    functionDepth: 0
    functionLinenumber: 4687
    functionLinenumberEnd: 4690
    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: 4695
      start: 4692
    functionDepth: 0
    functionLinenumber: 4692
    functionLinenumberEnd: 4695
    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: 4700
      start: 4697
    functionDepth: 0
    functionLinenumber: 4697
    functionLinenumberEnd: 4700
    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:4704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - pem_password_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4702
    functionDepth: 1
    functionLinenumber: 4702
    functionLinenumberEnd: 4710
    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:4714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - u
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4720
      start: 4712
    functionDepth: 1
    functionLinenumber: 4712
    functionLinenumberEnd: 4720
    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:4724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4730
      start: 4722
    functionDepth: 1
    functionLinenumber: 4722
    functionLinenumberEnd: 4730
    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:4734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4740
      start: 4732
    functionDepth: 1
    functionLinenumber: 4732
    functionLinenumberEnd: 4740
    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: 4748
      start: 4742
    functionDepth: 0
    functionLinenumber: 4742
    functionLinenumberEnd: 4748
    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: 4755
      start: 4750
    functionDepth: 0
    functionLinenumber: 4750
    functionLinenumberEnd: 4755
    functionName: SSL_CTX_set_verify
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 42
    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:4759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4760
      start: 4757
    functionDepth: 1
    functionLinenumber: 4757
    functionLinenumberEnd: 4760
    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:4764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4762
    functionDepth: 1
    functionLinenumber: 4762
    functionLinenumberEnd: 4765
    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:4769,1
    - Dst: ssl_cert_set_cert_cb
      Src: /src/openssl/ssl/ssl_lib.c:4774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4775
      start: 4767
    functionDepth: 1
    functionLinenumber: 4767
    functionLinenumberEnd: 4775
    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: tls1_shared_group
      Src: /src/openssl/ssl/ssl_lib.c:4791,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/ssl/ssl_lib.c:4802,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4806,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4810,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4814,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4832,1
    - Dst: SSL_version
      Src: /src/openssl/ssl/ssl_lib.c:4834,1
    - Dst: XTLS
      Src: /src/openssl/ssl/ssl_lib.c:4834,1
    - Dst: SSL_version
      Src: /src/openssl/ssl/ssl_lib.c:4853,1
    - Dst: XTLS
      Src: /src/openssl/ssl/ssl_lib.c:4853,1
    - Dst: X509_get_key_usage
      Src: /src/openssl/ssl/ssl_lib.c:4867,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4875,1
    - Dst: SSL_version
      Src: /src/openssl/ssl/ssl_lib.c:4877,1
    - Dst: XTLS
      Src: /src/openssl/ssl/ssl_lib.c:4877,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4881,1
    - Dst: SSL_version
      Src: /src/openssl/ssl/ssl_lib.c:4883,1
    - Dst: XTLS
      Src: /src/openssl/ssl/ssl_lib.c:4883,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 68
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4901
      start: 4777
    functionDepth: 5
    functionLinenumber: 4777
    functionLinenumberEnd: 4901
    functionName: ssl_set_masks
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_TRACE4
    - tls1_shared_group
    - ssl_has_cert
    - XTLS
    - SSL_version
    - X509_get_key_usage
    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:4907,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - s
    argTypes:
    - X509*
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4913
      start: 4903
    functionDepth: 5
    functionLinenumber: 4903
    functionLinenumberEnd: 4913
    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: 4928
      start: 4915
    functionDepth: 0
    functionLinenumber: 4915
    functionLinenumberEnd: 4928
    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:4957,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:4970,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/ssl/ssl_lib.c:4976,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:4983,1
    - Dst: SSL_CONNECTION*::session_ctx::new_session_cb
      Src: /src/openssl/ssl/ssl_lib.c:4984,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4984,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:4986,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:4998,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/ssl/ssl_lib.c:4999,1
    - Dst: time
      Src: /src/openssl/ssl/ssl_lib.c:4999,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 21
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5001
      start: 4930
    functionDepth: 2
    functionLinenumber: 4930
    functionLinenumberEnd: 5001
    functionName: ssl_update_cache
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::session_ctx::new_session_cb
    - SSL_CTX_add_session
    - ssl_tsan_load
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_IS_TLS13
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - time
    - 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: 5006
      start: 5003
    functionDepth: 0
    functionLinenumber: 5003
    functionLinenumberEnd: 5006
    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: 5011
      start: 5008
    functionDepth: 0
    functionLinenumber: 5008
    functionLinenumberEnd: 5011
    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:5016,1
    - Dst: IS_QUIC_METHOD
      Src: /src/openssl/ssl/ssl_lib.c:5021,1
    - Dst: SSL_METHOD*::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:5031,1
    - Dst: SSL*::method::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:5033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - s
    - meth
    argTypes:
    - SSL*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5042
      start: 5013
    functionDepth: 2
    functionLinenumber: 5013
    functionLinenumberEnd: 5042
    functionName: SSL_set_ssl_method
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL*::method::ssl_init
    - IS_QUIC_METHOD
    - SSL_CONNECTION_FROM_SSL
    - SSL_METHOD*::ssl_deinit
    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:5046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5047
      start: 5044
    functionDepth: 1
    functionLinenumber: 5044
    functionLinenumberEnd: 5047
    functionName: SSL_get_error
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 92
    functionsReached:
    - ossl_ssl_get_error
    linkageType: ''
    returnType: int
    signature: int SSL_get_error(const SSL *s, int i)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5053,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5059,1
    - Dst: ossl_quic_get_error
      Src: /src/openssl/ssl/ssl_lib.c:5060,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5077,1
    - Dst: SSL_want_read
      Src: /src/openssl/ssl/ssl_lib.c:5080,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:5081,1
    - Dst: BIO_should_read
      Src: /src/openssl/ssl/ssl_lib.c:5082,1
    - Dst: BIO_should_write
      Src: /src/openssl/ssl/ssl_lib.c:5084,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/ssl/ssl_lib.c:5095,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/ssl/ssl_lib.c:5096,1
    - Dst: SSL_want_write
      Src: /src/openssl/ssl/ssl_lib.c:5106,1
    - Dst: BIO_should_write
      Src: /src/openssl/ssl/ssl_lib.c:5112,1
    - Dst: BIO_should_read
      Src: /src/openssl/ssl/ssl_lib.c:5114,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/ssl/ssl_lib.c:5119,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/ssl/ssl_lib.c:5120,1
    - Dst: SSL_want_x509_lookup
      Src: /src/openssl/ssl/ssl_lib.c:5131,1
    - Dst: SSL_want_retry_verify
      Src: /src/openssl/ssl/ssl_lib.c:5133,1
    - Dst: SSL_want_async
      Src: /src/openssl/ssl/ssl_lib.c:5135,1
    - Dst: SSL_want_async_job
      Src: /src/openssl/ssl/ssl_lib.c:5137,1
    - Dst: SSL_want_client_hello_cb
      Src: /src/openssl/ssl/ssl_lib.c:5139,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - s
    - i
    - check_err
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 5049
    functionDepth: 2
    functionLinenumber: 5049
    functionLinenumberEnd: 5146
    functionName: ossl_ssl_get_error
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - ossl_quic_get_error
    - IS_QUIC
    - SSL_want_async
    - BIO_should_read
    - SSL_want_x509_lookup
    - SSL_want_read
    - BIO_should_write
    - BIO_get_retry_reason
    - SSL_want_retry_verify
    - SSL_want_write
    - SSL_want_async_job
    - SSL_get_rbio
    - SSL_want_client_hello_cb
    - BIO_should_io_special
    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:5152,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/ssl_lib.c:5157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vargs
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5158
      start: 5148
    functionDepth: 1
    functionLinenumber: 5148
    functionLinenumberEnd: 5158
    functionName: ssl_do_handshake_intern
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION*::handshake_func
    linkageType: ''
    returnType: int
    signature: int ssl_do_handshake_intern(void *vargs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5163,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5166,1
    - Dst: ossl_quic_do_handshake
      Src: /src/openssl/ssl/ssl_lib.c:5167,1
    - Dst: ssl_reset_error_state
      Src: /src/openssl/ssl/ssl_lib.c:5173,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5179,1
    - Dst: ossl_statem_check_finish_init
      Src: /src/openssl/ssl/ssl_lib.c:5184,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:5185,1
    - Dst: SSL*::method::ssl_renegotiate_check
      Src: /src/openssl/ssl/ssl_lib.c:5189,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:5191,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:5191,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:5192,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:5195,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:5198,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/ssl_lib.c:5200,1
    - Dst: ssl_update_error_state
      Src: /src/openssl/ssl/ssl_lib.c:5204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5206
      start: 5160
    functionDepth: 6
    functionLinenumber: 5160
    functionLinenumberEnd: 5206
    functionName: SSL_do_handshake
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 24
    functionsReached:
    - IS_QUIC
    - ssl_update_error_state
    - SSL_in_before
    - ossl_quic_do_handshake
    - ossl_statem_check_finish_init
    - SSL*::method::ssl_renegotiate_check
    - SSL_in_init
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - ssl_start_async_job
    - memset
    - ASYNC_get_current_job
    - SSL_CONNECTION*::handshake_func
    - ssl_reset_error_state
    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:5210,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5213,1
    - Dst: ossl_quic_set_accept_state
      Src: /src/openssl/ssl/ssl_lib.c:5215,1
    - Dst: ossl_statem_clear
      Src: /src/openssl/ssl/ssl_lib.c:5222,1
    - Dst: RECORD_LAYER_reset
      Src: /src/openssl/ssl/ssl_lib.c:5225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5226
      start: 5208
    functionDepth: 1
    functionLinenumber: 5208
    functionLinenumberEnd: 5226
    functionName: SSL_set_accept_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 15
    functionsReached:
    - RECORD_LAYER_reset
    - IS_QUIC
    - ossl_statem_clear
    - 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:5230,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5233,1
    - Dst: ossl_quic_set_connect_state
      Src: /src/openssl/ssl/ssl_lib.c:5235,1
    - Dst: ossl_statem_clear
      Src: /src/openssl/ssl/ssl_lib.c:5242,1
    - Dst: RECORD_LAYER_reset
      Src: /src/openssl/ssl/ssl_lib.c:5245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5246
      start: 5228
    functionDepth: 1
    functionLinenumber: 5228
    functionLinenumberEnd: 5246
    functionName: SSL_set_connect_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 27
    functionsReached:
    - RECORD_LAYER_reset
    - ossl_quic_set_connect_state
    - IS_QUIC
    - ossl_statem_clear
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_connect_state(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5250,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5256
      start: 5248
    functionDepth: 1
    functionLinenumber: 5248
    functionLinenumberEnd: 5256
    functionName: ssl_undefined_function
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_undefined_function(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5258
    functionDepth: 0
    functionLinenumber: 5258
    functionLinenumberEnd: 5262
    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: 5294
      start: 5264
    functionDepth: 0
    functionLinenumber: 5264
    functionLinenumberEnd: 5294
    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:5298,1
    - Dst: ssl_protocol_to_string
      Src: /src/openssl/ssl/ssl_lib.c:5309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5310
      start: 5296
    functionDepth: 1
    functionLinenumber: 5296
    functionLinenumberEnd: 5310
    functionName: SSL_get_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - ssl_protocol_to_string
    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:5314,1
    - Dst: ossl_time2us
      Src: /src/openssl/ssl/ssl_lib.c:5323,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/ssl_lib.c:5323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - rtt
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5325
      start: 5312
    functionDepth: 3
    functionLinenumber: 5312
    functionLinenumberEnd: 5325
    functionName: SSL_get_handshake_rtt
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_time_subtract
    - SSL_CONNECTION_FROM_CONST_SSL
    - ossl_time2us
    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:5363,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:5369,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:5369,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:5370,1
    - Dst: SSL_new
      Src: /src/openssl/ssl/ssl_lib.c:5377,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/ssl/ssl_lib.c:5377,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5379,1
    - Dst: SSL_copy_session_id
      Src: /src/openssl/ssl/ssl_lib.c:5387,1
    - Dst: SSL_set_ssl_method
      Src: /src/openssl/ssl/ssl_lib.c:5396,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:5400,1
    - Dst: ssl_cert_dup
      Src: /src/openssl/ssl/ssl_lib.c:5401,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/ssl/ssl_lib.c:5406,1
    - Dst: ssl_dane_dup
      Src: /src/openssl/ssl/ssl_lib.c:5411,1
    - Dst: SSL_set_max_cert_list
      Src: /src/openssl/ssl/ssl_lib.c:5418,1
    - Dst: SSL_get_max_cert_list
      Src: /src/openssl/ssl/ssl_lib.c:5418,1
    - Dst: SSL_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:5419,1
    - Dst: SSL_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:5419,1
    - Dst: SSL_set_verify
      Src: /src/openssl/ssl/ssl_lib.c:5422,1
    - Dst: SSL_get_verify_mode
      Src: /src/openssl/ssl/ssl_lib.c:5422,1
    - Dst: SSL_get_verify_callback
      Src: /src/openssl/ssl/ssl_lib.c:5422,1
    - Dst: SSL_set_verify_depth
      Src: /src/openssl/ssl/ssl_lib.c:5423,1
    - Dst: SSL_get_verify_depth
      Src: /src/openssl/ssl/ssl_lib.c:5423,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/ssl/ssl_lib.c:5426,1
    - Dst: SSL_get_info_callback
      Src: /src/openssl/ssl/ssl_lib.c:5426,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:5429,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/ssl_lib.c:5435,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/ssl_lib.c:5437,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/ssl/ssl_lib.c:5445,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_lib.c:5449,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_lib.c:5453,1
    - Dst: dup_ca_names
      Src: /src/openssl/ssl/ssl_lib.c:5458,1
    - Dst: dup_ca_names
      Src: /src/openssl/ssl/ssl_lib.c:5459,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/ssl_lib.c:5465,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5357
    functionDepth: 3
    functionLinenumber: 5357
    functionLinenumberEnd: 5467
    functionName: SSL_dup
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_set_accept_state
    - SSL_in_before
    - SSL_set_info_callback
    - dup_ca_names
    - SSL_set_session_id_context
    - SSL_set_ssl_method
    - SSL_get_verify_callback
    - SSL_get_SSL_CTX
    - ssl_cert_dup
    - SSL_get_max_cert_list
    - SSL_copy_session_id
    - SSL_get_info_callback
    - SSL_set_connect_state
    - X509_VERIFY_PARAM_inherit
    - SSL_set_read_ahead
    - SSL_set_max_cert_list
    - SSL_get_verify_mode
    - CRYPTO_dup_ex_data
    - SSL_free
    - sk_SSL_CIPHER_dup
    - SSL_get_verify_depth
    - SSL_in_init
    - SSL_set_verify
    - SSL_get_read_ahead
    - ssl_dane_dup
    - SSL_new
    - CRYPTO_UP_REF
    - ssl_cert_free
    - SSL_set_verify_depth
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:5471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5480
      start: 5469
    functionDepth: 1
    functionLinenumber: 5469
    functionLinenumberEnd: 5480
    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:5484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5493
      start: 5482
    functionDepth: 1
    functionLinenumber: 5482
    functionLinenumberEnd: 5493
    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: 5501
      start: 5495
    functionDepth: 0
    functionLinenumber: 5495
    functionLinenumberEnd: 5501
    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: 5509
      start: 5503
    functionDepth: 0
    functionLinenumber: 5503
    functionLinenumberEnd: 5509
    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:5513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5521
      start: 5511
    functionDepth: 1
    functionLinenumber: 5511
    functionLinenumberEnd: 5521
    functionName: SSL_get_current_cipher
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    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:5525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5531
      start: 5523
    functionDepth: 1
    functionLinenumber: 5523
    functionLinenumberEnd: 5531
    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:5536,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::get_compression
      Src: /src/openssl/ssl/ssl_lib.c:5541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5545
      start: 5533
    functionDepth: 1
    functionLinenumber: 5533
    functionLinenumberEnd: 5545
    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:5550,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_compression
      Src: /src/openssl/ssl/ssl_lib.c:5555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5559
      start: 5547
    functionDepth: 1
    functionLinenumber: 5547
    functionLinenumberEnd: 5559
    functionName: SSL_get_current_expansion
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::get_compression
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    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:5570,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/ssl/ssl_lib.c:5570,1
    - Dst: BIO_set_read_buffer_size
      Src: /src/openssl/ssl/ssl_lib.c:5571,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:5572,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5573,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/ssl_lib.c:5577,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:5579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5582
      start: 5561
    functionDepth: 5
    functionLinenumber: 5561
    functionLinenumberEnd: 5582
    functionName: ssl_init_wbio_buffer
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    - BIO_f_buffer
    - BIO_new
    - BIO_free
    - ERR_raise
    - 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:5590,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:5591,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:5593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5597
      start: 5584
    functionDepth: 4
    functionLinenumber: 5584
    functionLinenumberEnd: 5597
    functionName: ssl_free_wbio_buffer
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - BIO_pop
    - BIO_free
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    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: 5602
      start: 5599
    functionDepth: 0
    functionLinenumber: 5599
    functionLinenumberEnd: 5602
    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: 5607
      start: 5604
    functionDepth: 0
    functionLinenumber: 5604
    functionLinenumberEnd: 5607
    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:5611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5618
      start: 5609
    functionDepth: 1
    functionLinenumber: 5609
    functionLinenumberEnd: 5618
    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:5622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5629
      start: 5620
    functionDepth: 1
    functionLinenumber: 5620
    functionLinenumberEnd: 5629
    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:5633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5640
      start: 5631
    functionDepth: 1
    functionLinenumber: 5631
    functionLinenumberEnd: 5640
    functionName: SSL_set_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    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:5644,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5648,1
    - Dst: ossl_quic_get_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:5649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5656
      start: 5642
    functionDepth: 1
    functionLinenumber: 5642
    functionLinenumberEnd: 5656
    functionName: SSL_get_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_shutdown
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    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:5660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5658
    functionDepth: 1
    functionLinenumber: 5658
    functionLinenumberEnd: 5671
    functionName: SSL_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 18
    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:5675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5686
      start: 5673
    functionDepth: 1
    functionLinenumber: 5673
    functionLinenumberEnd: 5686
    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: 5691
      start: 5688
    functionDepth: 0
    functionLinenumber: 5688
    functionLinenumberEnd: 5691
    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:5696,1
    - Dst: ssl_cert_dup
      Src: /src/openssl/ssl/ssl_lib.c:5706,1
    - Dst: custom_exts_copy_conn
      Src: /src/openssl/ssl/ssl_lib.c:5709,1
    - Dst: custom_exts_copy_flags
      Src: /src/openssl/ssl/ssl_lib.c:5711,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_lib.c:5718,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:5720,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_lib.c:5729,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5731,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:5734,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:5736,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:5742,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ssl
    - ctx
    argTypes:
    - SSL*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5744
      start: 5693
    functionDepth: 6
    functionLinenumber: 5693
    functionLinenumberEnd: 5744
    functionName: SSL_set_SSL_CTX
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - custom_exts_copy_conn
    - custom_exts_copy_flags
    - SSL_CTX_up_ref
    - ssl_cert_free
    - ssl_cert_dup
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_CTX_free
    - memcpy
    - ossl_assert
    - memcmp
    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:5748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5750
      start: 5746
    functionDepth: 3
    functionLinenumber: 5746
    functionLinenumberEnd: 5750
    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:5756,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/ssl/ssl_lib.c:5756,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:5761,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/ssl/ssl_lib.c:5763,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:5765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5768
      start: 5752
    functionDepth: 2
    functionLinenumber: 5752
    functionLinenumberEnd: 5768
    functionName: SSL_CTX_set_default_verify_dir
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - X509_LOOKUP_hash_dir
    - X509_LOOKUP_add_dir
    - X509_STORE_add_lookup
    - ERR_set_mark
    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:5774,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/ssl/ssl_lib.c:5774,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:5779,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/ssl/ssl_lib.c:5781,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:5784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5787
      start: 5770
    functionDepth: 2
    functionLinenumber: 5770
    functionLinenumberEnd: 5787
    functionName: SSL_CTX_set_default_verify_file
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - X509_LOOKUP_file
    - X509_LOOKUP_load_file_ex
    - X509_STORE_add_lookup
    - ERR_set_mark
    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:5793,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/ssl/ssl_lib.c:5793,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:5798,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/ssl/ssl_lib.c:5800,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:5802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5805
      start: 5789
    functionDepth: 2
    functionLinenumber: 5789
    functionLinenumberEnd: 5805
    functionName: SSL_CTX_set_default_verify_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - X509_LOOKUP_store
    - X509_STORE_add_lookup
    - ERR_set_mark
    - X509_LOOKUP_add_store_ex
    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:5809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - CAfile
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5811
      start: 5807
    functionDepth: 3
    functionLinenumber: 5807
    functionLinenumberEnd: 5811
    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:5815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - CApath
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5816
      start: 5813
    functionDepth: 3
    functionLinenumber: 5813
    functionLinenumberEnd: 5816
    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:5820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - CAstore
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5822
      start: 5818
    functionDepth: 3
    functionLinenumber: 5818
    functionLinenumberEnd: 5822
    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:5829,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/openssl/ssl/ssl_lib.c:5831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - CAfile
    - CApath
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5824
    functionDepth: 4
    functionLinenumber: 5824
    functionLinenumberEnd: 5834
    functionName: SSL_CTX_load_verify_locations
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    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:5839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5836
    functionDepth: 1
    functionLinenumber: 5836
    functionLinenumberEnd: 5845
    functionName: SSL_set_info_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    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:5855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5861
      start: 5851
    functionDepth: 1
    functionLinenumber: 5851
    functionLinenumberEnd: 5861
    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:5865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5871
      start: 5863
    functionDepth: 1
    functionLinenumber: 5863
    functionLinenumberEnd: 5871
    functionName: SSL_set_verify_result
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    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:5875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5881
      start: 5873
    functionDepth: 1
    functionLinenumber: 5873
    functionLinenumberEnd: 5881
    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:5885,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5896
      start: 5883
    functionDepth: 1
    functionLinenumber: 5883
    functionLinenumberEnd: 5896
    functionName: SSL_get_client_random
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - memcpy
    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:5900,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5911
      start: 5898
    functionDepth: 1
    functionLinenumber: 5898
    functionLinenumberEnd: 5911
    functionName: SSL_get_server_random
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - memcpy
    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:5920,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: 5922
      start: 5913
    functionDepth: 0
    functionLinenumber: 5913
    functionLinenumberEnd: 5922
    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:5930,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: 5933
      start: 5924
    functionDepth: 0
    functionLinenumber: 5924
    functionLinenumberEnd: 5933
    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:5937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - idx
    - arg
    argTypes:
    - SSL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5938
      start: 5935
    functionDepth: 1
    functionLinenumber: 5935
    functionLinenumberEnd: 5938
    functionName: SSL_set_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    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:5942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5943
      start: 5940
    functionDepth: 1
    functionLinenumber: 5940
    functionLinenumberEnd: 5943
    functionName: SSL_get_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    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:5947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - idx
    - arg
    argTypes:
    - SSL_CTX*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5948
      start: 5945
    functionDepth: 1
    functionLinenumber: 5945
    functionLinenumberEnd: 5948
    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:5952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5953
      start: 5950
    functionDepth: 1
    functionLinenumber: 5950
    functionLinenumberEnd: 5953
    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: 5958
      start: 5955
    functionDepth: 0
    functionLinenumber: 5955
    functionLinenumberEnd: 5958
    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:5962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - store
    argTypes:
    - SSL_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5960
    functionDepth: 5
    functionLinenumber: 5960
    functionLinenumberEnd: 5964
    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:5968,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/openssl/ssl/ssl_lib.c:5971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - store
    argTypes:
    - SSL_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5972
      start: 5966
    functionDepth: 6
    functionLinenumber: 5966
    functionLinenumberEnd: 5972
    functionName: SSL_CTX_set1_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cert_store
    - X509_STORE_up_ref
    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:5976,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5979,1
    - Dst: ossl_quic_want
      Src: /src/openssl/ssl/ssl_lib.c:5980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5974
    functionDepth: 1
    functionLinenumber: 5974
    functionLinenumberEnd: 5987
    functionName: SSL_want
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - IS_QUIC
    - ossl_quic_want
    linkageType: ''
    returnType: int
    signature: int SSL_want(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:5992,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5993,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:5996,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_lib.c:5998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - identity_hint
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 5990
    functionDepth: 0
    functionLinenumber: 5990
    functionLinenumberEnd: 6004
    functionName: SSL_CTX_use_psk_identity_hint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - strlen
    - ERR_raise
    - OPENSSL_free
    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:6008,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:6013,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6014,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:6017,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_lib.c:6019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s
    - identity_hint
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6025
      start: 6006
    functionDepth: 1
    functionLinenumber: 6006
    functionLinenumberEnd: 6025
    functionName: SSL_use_psk_identity_hint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - strlen
    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:6029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6035
      start: 6027
    functionDepth: 1
    functionLinenumber: 6027
    functionLinenumberEnd: 6035
    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:6039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6045
      start: 6037
    functionDepth: 1
    functionLinenumber: 6037
    functionLinenumberEnd: 6045
    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:6049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - SSL_psk_client_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6055
      start: 6047
    functionDepth: 1
    functionLinenumber: 6047
    functionLinenumberEnd: 6055
    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: 6060
      start: 6057
    functionDepth: 0
    functionLinenumber: 6057
    functionLinenumberEnd: 6060
    functionName: SSL_CTX_set_psk_client_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    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:6064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - SSL_psk_server_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6070
      start: 6062
    functionDepth: 1
    functionLinenumber: 6062
    functionLinenumberEnd: 6070
    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: 6075
      start: 6072
    functionDepth: 0
    functionLinenumber: 6072
    functionLinenumberEnd: 6075
    functionName: SSL_CTX_set_psk_server_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    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:6080,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: 6086
      start: 6078
    functionDepth: 1
    functionLinenumber: 6078
    functionLinenumberEnd: 6086
    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: 6092
      start: 6088
    functionDepth: 0
    functionLinenumber: 6088
    functionLinenumberEnd: 6092
    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:6096,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: 6102
      start: 6094
    functionDepth: 1
    functionLinenumber: 6094
    functionLinenumberEnd: 6102
    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: 6108
      start: 6104
    functionDepth: 0
    functionLinenumber: 6104
    functionLinenumberEnd: 6108
    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:6115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6116
      start: 6110
    functionDepth: 1
    functionLinenumber: 6110
    functionLinenumberEnd: 6116
    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:6123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6124
      start: 6118
    functionDepth: 5
    functionLinenumber: 6118
    functionLinenumberEnd: 6124
    functionName: SSL_set_msg_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 15
    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:6131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6133
      start: 6126
    functionDepth: 1
    functionLinenumber: 6126
    functionLinenumberEnd: 6133
    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:6139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6141
      start: 6135
    functionDepth: 5
    functionLinenumber: 6135
    functionLinenumberEnd: 6141
    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: 6148
      start: 6143
    functionDepth: 0
    functionLinenumber: 6143
    functionLinenumberEnd: 6148
    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: 6153
      start: 6150
    functionDepth: 0
    functionLinenumber: 6150
    functionLinenumberEnd: 6153
    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: 6158
      start: 6155
    functionDepth: 0
    functionLinenumber: 6155
    functionLinenumberEnd: 6158
    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:6163,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: 6182
      start: 6160
    functionDepth: 1
    functionLinenumber: 6160
    functionLinenumberEnd: 6182
    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:6186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - block_size
    argTypes:
    - SSL_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6187
      start: 6184
    functionDepth: 2
    functionLinenumber: 6184
    functionLinenumberEnd: 6187
    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:6194,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:6199,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/ssl_lib.c:6200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6205
      start: 6189
    functionDepth: 2
    functionLinenumber: 6189
    functionLinenumberEnd: 6205
    functionName: SSL_set_record_padding_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - BIO_get_ktls_send
    - SSL_get_wbio
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:6209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6215
      start: 6207
    functionDepth: 1
    functionLinenumber: 6207
    functionLinenumberEnd: 6215
    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:6219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6225
      start: 6217
    functionDepth: 1
    functionLinenumber: 6217
    functionLinenumberEnd: 6225
    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:6230,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6233,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: 6253
      start: 6227
    functionDepth: 1
    functionLinenumber: 6227
    functionLinenumberEnd: 6253
    functionName: SSL_set_block_padding_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    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:6257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - block_size
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6258
      start: 6255
    functionDepth: 2
    functionLinenumber: 6255
    functionLinenumberEnd: 6258
    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:6262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - num_tickets
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6270
      start: 6260
    functionDepth: 1
    functionLinenumber: 6260
    functionLinenumberEnd: 6270
    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:6274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6280
      start: 6272
    functionDepth: 1
    functionLinenumber: 6272
    functionLinenumberEnd: 6280
    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: 6287
      start: 6282
    functionDepth: 0
    functionLinenumber: 6282
    functionLinenumberEnd: 6287
    functionName: SSL_CTX_set_num_tickets
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    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: 6292
      start: 6289
    functionDepth: 0
    functionLinenumber: 6289
    functionLinenumberEnd: 6292
    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:6301,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6305,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/ssl_lib.c:6309,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6311,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/ssl_lib.c:6315,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/ssl_lib.c:6316,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6317,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:6325,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: 6327
      start: 6295
    functionDepth: 8
    functionLinenumber: 6295
    functionLinenumberEnd: 6327
    functionName: ssl_handshake_hash
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - EVP_MD_CTX_get_size
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - SSLfatal
    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:6331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6337
      start: 6329
    functionDepth: 1
    functionLinenumber: 6329
    functionLinenumberEnd: 6337
    functionName: SSL_session_reused
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 37
    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:6341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6347
      start: 6339
    functionDepth: 1
    functionLinenumber: 6339
    functionLinenumberEnd: 6347
    functionName: SSL_is_server
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 20
    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: 6355
      start: 6350
    functionDepth: 0
    functionLinenumber: 6350
    functionLinenumberEnd: 6355
    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:6360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - level
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6358
    functionDepth: 1
    functionLinenumber: 6358
    functionLinenumberEnd: 6366
    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:6370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6376
      start: 6368
    functionDepth: 1
    functionLinenumber: 6368
    functionLinenumberEnd: 6376
    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:6383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6389
      start: 6378
    functionDepth: 1
    functionLinenumber: 6378
    functionLinenumberEnd: 6389
    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:6396,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: 6402
      start: 6391
    functionDepth: 1
    functionLinenumber: 6391
    functionLinenumberEnd: 6402
    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:6406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ex
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6412
      start: 6404
    functionDepth: 1
    functionLinenumber: 6404
    functionLinenumberEnd: 6412
    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:6416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6422
      start: 6414
    functionDepth: 1
    functionLinenumber: 6414
    functionLinenumberEnd: 6422
    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: 6427
      start: 6424
    functionDepth: 0
    functionLinenumber: 6424
    functionLinenumberEnd: 6427
    functionName: SSL_CTX_set_security_level
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    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: 6432
      start: 6429
    functionDepth: 0
    functionLinenumber: 6429
    functionLinenumberEnd: 6432
    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: 6440
      start: 6434
    functionDepth: 0
    functionLinenumber: 6434
    functionLinenumberEnd: 6440
    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: 6450
      start: 6442
    functionDepth: 0
    functionLinenumber: 6442
    functionLinenumberEnd: 6450
    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: 6455
      start: 6452
    functionDepth: 0
    functionLinenumber: 6452
    functionLinenumberEnd: 6455
    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: 6460
      start: 6457
    functionDepth: 0
    functionLinenumber: 6457
    functionLinenumberEnd: 6460
    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: 6465
      start: 6462
    functionDepth: 0
    functionLinenumber: 6462
    functionLinenumberEnd: 6465
    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:6469,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6472,1
    - Dst: ossl_quic_get_options
      Src: /src/openssl/ssl/ssl_lib.c:6473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6480
      start: 6467
    functionDepth: 1
    functionLinenumber: 6467
    functionLinenumberEnd: 6480
    functionName: SSL_get_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - ossl_quic_get_options
    - SSL_CONNECTION_FROM_CONST_SSL
    - IS_QUIC
    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: 6485
      start: 6482
    functionDepth: 0
    functionLinenumber: 6482
    functionLinenumberEnd: 6485
    functionName: SSL_CTX_set_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 33
    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:6493,1
    - Dst: ossl_quic_set_options
      Src: /src/openssl/ssl/ssl_lib.c:6494,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6497,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/ssl/ssl_lib.c:6503,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:6505,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6508,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - op
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6512
      start: 6487
    functionDepth: 2
    functionLinenumber: 6487
    functionLinenumberEnd: 6512
    functionName: SSL_set_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 20
    functionsReached:
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    - OSSL_PARAM_construct_end
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - ossl_quic_set_options
    - SSL_CONNECTION*::rlayer::wrlmethod::set_options
    - OSSL_PARAM_construct_uint64
    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: 6517
      start: 6514
    functionDepth: 0
    functionLinenumber: 6514
    functionLinenumberEnd: 6517
    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:6521,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6525,1
    - Dst: ossl_quic_clear_options
      Src: /src/openssl/ssl/ssl_lib.c:6526,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/ssl/ssl_lib.c:6534,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:6536,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6539,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - op
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6543
      start: 6519
    functionDepth: 2
    functionLinenumber: 6519
    functionLinenumberEnd: 6543
    functionName: SSL_clear_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ossl_quic_clear_options
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    - OSSL_PARAM_construct_end
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - SSL_CONNECTION*::rlayer::wrlmethod::set_options
    - OSSL_PARAM_construct_uint64
    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:6607,1
    - Dst: o2i_SCT_LIST
      Src: /src/openssl/ssl/ssl_lib.c:6607,1
    - Dst: ct_move_scts
      Src: /src/openssl/ssl/ssl_lib.c:6609,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:6611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6615
      start: 6601
    functionDepth: 1
    functionLinenumber: 6601
    functionLinenumberEnd: 6615
    functionName: ct_extract_tls_extension_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ct_move_scts
    - SCT_LIST_free
    - o2i_SCT_LIST
    - STACK_OF
    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:6631,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/ssl/ssl_lib.c:6638,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/ssl/ssl_lib.c:6639,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/ssl/ssl_lib.c:6643,1
    - Dst: OCSP_resp_count
      Src: /src/openssl/ssl/ssl_lib.c:6647,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/ssl/ssl_lib.c:6648,1
    - Dst: OCSP_SINGLERESP_get1_ext_d2i
      Src: /src/openssl/ssl/ssl_lib.c:6653,1
    - Dst: ct_move_scts
      Src: /src/openssl/ssl/ssl_lib.c:6660,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:6663,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/ssl/ssl_lib.c:6673,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/ssl/ssl_lib.c:6678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6684
      start: 6625
    functionDepth: 5
    functionLinenumber: 6625
    functionLinenumberEnd: 6684
    functionName: ct_extract_ocsp_response_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OCSP_response_get1_basic
    - sk_OCSP_RESPONSE_num
    - OCSP_BASICRESP_free
    - SCT_LIST_free
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - OCSP_resp_get0
    - OCSP_SINGLERESP_get1_ext_d2i
    - OCSP_resp_count
    - ct_move_scts
    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:6697,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/ssl/ssl_lib.c:6697,1
    - Dst: ct_move_scts
      Src: /src/openssl/ssl/ssl_lib.c:6699,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:6701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6705
      start: 6691
    functionDepth: 2
    functionLinenumber: 6691
    functionLinenumberEnd: 6705
    functionName: ct_extract_x509v3_extension_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - SCT_LIST_free
    - STACK_OF
    - ct_move_scts
    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:6714,1
    - Dst: ct_extract_tls_extension_scts
      Src: /src/openssl/ssl/ssl_lib.c:6720,1
    - Dst: ct_extract_ocsp_response_scts
      Src: /src/openssl/ssl/ssl_lib.c:6720,1
    - Dst: ct_extract_x509v3_extension_scts
      Src: /src/openssl/ssl/ssl_lib.c:6720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6728
      start: 6712
    functionDepth: 6
    functionLinenumber: 6712
    functionLinenumberEnd: 6728
    functionName: SSL_get0_peer_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ct_extract_x509v3_extension_scts
    - ct_extract_ocsp_response_scts
    - SSL_CONNECTION_FROM_SSL
    - ct_extract_tls_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: 6734
      start: 6730
    functionDepth: 0
    functionLinenumber: 6730
    functionLinenumberEnd: 6734
    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:6739,1
    - Dst: sk_SCT_value
      Src: /src/openssl/ssl/ssl_lib.c:6743,1
    - Dst: SCT_get_validation_status
      Src: /src/openssl/ssl/ssl_lib.c:6744,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6749,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: 6751
      start: 6736
    functionDepth: 1
    functionLinenumber: 6736
    functionLinenumberEnd: 6751
    functionName: ct_strict
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - sk_SCT_value
    - ERR_raise
    - sk_SCT_num
    - SCT_get_validation_status
    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:6756,1
    - Dst: SSL_CTX_has_client_custom_ext
      Src: /src/openssl/ssl/ssl_lib.c:6765,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6766,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/ssl/ssl_lib.c:6774,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: 6782
      start: 6753
    functionDepth: 1
    functionLinenumber: 6753
    functionLinenumberEnd: 6782
    functionName: SSL_set_ct_validation_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_has_client_custom_ext
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - SSL_set_tlsext_status_type
    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:6791,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6792,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: 6799
      start: 6784
    functionDepth: 1
    functionLinenumber: 6784
    functionLinenumberEnd: 6799
    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:6803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6809
      start: 6801
    functionDepth: 1
    functionLinenumber: 6801
    functionLinenumberEnd: 6809
    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: 6814
      start: 6811
    functionDepth: 0
    functionLinenumber: 6811
    functionLinenumberEnd: 6814
    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:6836,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:6843,1
    - Dst: CT_POLICY_EVAL_CTX_new_ex
      Src: /src/openssl/ssl/ssl_lib.c:6851,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:6851,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:6852,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6854,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_lib.c:6858,1
    - Dst: CT_POLICY_EVAL_CTX_set1_cert
      Src: /src/openssl/ssl/ssl_lib.c:6859,1
    - Dst: CT_POLICY_EVAL_CTX_set1_issuer
      Src: /src/openssl/ssl/ssl_lib.c:6860,1
    - Dst: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
      Src: /src/openssl/ssl/ssl_lib.c:6861,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:6862,1
    - Dst: CT_POLICY_EVAL_CTX_set_time
      Src: /src/openssl/ssl/ssl_lib.c:6863,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/ssl/ssl_lib.c:6864,1
    - Dst: SSL_get0_peer_scts
      Src: /src/openssl/ssl/ssl_lib.c:6866,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6866,1
    - Dst: SCT_LIST_validate
      Src: /src/openssl/ssl/ssl_lib.c:6882,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6883,1
    - Dst: SSL_CONNECTION*::ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6887,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6891,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:6894,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6913
      start: 6816
    functionDepth: 14
    functionLinenumber: 6816
    functionLinenumberEnd: 6913
    functionName: ssl_validate_ct
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CT_POLICY_EVAL_CTX_new_ex
    - CT_POLICY_EVAL_CTX_free
    - CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    - CT_POLICY_EVAL_CTX_set_time
    - CT_POLICY_EVAL_CTX_set1_issuer
    - sk_X509_num
    - SCT_LIST_validate
    - sk_X509_value
    - DANETLS_ENABLED
    - CT_POLICY_EVAL_CTX_set1_cert
    - SSL_SESSION_get_time_ex
    - SSL_CONNECTION*::ct_validation_callback
    - SSL_get0_peer_scts
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_GET_SSL
    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:6919,1
    - Dst: SSL_CTX_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6922,1
    - Dst: SSL_CTX_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - validation_mode
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6926
      start: 6915
    functionDepth: 2
    functionLinenumber: 6915
    functionLinenumberEnd: 6926
    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:6932,1
    - Dst: SSL_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6935,1
    - Dst: SSL_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - validation_mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6939
      start: 6928
    functionDepth: 2
    functionLinenumber: 6928
    functionLinenumberEnd: 6939
    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:6943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6944
      start: 6941
    functionDepth: 3
    functionLinenumber: 6941
    functionLinenumberEnd: 6944
    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:6948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6949
      start: 6946
    functionDepth: 4
    functionLinenumber: 6946
    functionLinenumberEnd: 6949
    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:6953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - logs
    argTypes:
    - SSL_CTX*
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6955
      start: 6951
    functionDepth: 1
    functionLinenumber: 6951
    functionLinenumberEnd: 6955
    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: 6960
      start: 6957
    functionDepth: 0
    functionLinenumber: 6957
    functionLinenumberEnd: 6960
    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: 6969
      start: 6964
    functionDepth: 0
    functionLinenumber: 6964
    functionLinenumberEnd: 6969
    functionName: SSL_CTX_set_client_hello_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    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: 6976
      start: 6971
    functionDepth: 0
    functionLinenumber: 6971
    functionLinenumberEnd: 6976
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6982
      start: 6979
    functionDepth: 0
    functionLinenumber: 6979
    functionLinenumberEnd: 6982
    functionName: SSL_client_hello_isv2
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    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:6987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6995
      start: 6985
    functionDepth: 1
    functionLinenumber: 6985
    functionLinenumberEnd: 6995
    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:6999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7009
      start: 6997
    functionDepth: 1
    functionLinenumber: 6997
    functionLinenumberEnd: 7009
    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:7013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7023
      start: 7011
    functionDepth: 1
    functionLinenumber: 7011
    functionLinenumberEnd: 7023
    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:7027,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:7035,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7037
      start: 7025
    functionDepth: 1
    functionLinenumber: 7025
    functionLinenumberEnd: 7037
    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:7041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7051
      start: 7039
    functionDepth: 1
    functionLinenumber: 7039
    functionLinenumberEnd: 7051
    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:7058,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_lib.c:7075,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:7089,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - s
    - out
    - outlen
    argTypes:
    - SSL*
    - int**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7091
      start: 7053
    functionDepth: 1
    functionLinenumber: 7053
    functionLinenumberEnd: 7091
    functionName: SSL_client_hello_get1_extensions_present
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_malloc_array
    - SSL_CONNECTION_FROM_SSL
    - OPENSSL_free
    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:7097,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: 7129
      start: 7093
    functionDepth: 1
    functionLinenumber: 7093
    functionLinenumberEnd: 7129
    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:7136,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:7147,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7149,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: 7154
      start: 7131
    functionDepth: 1
    functionLinenumber: 7131
    functionLinenumberEnd: 7154
    functionName: SSL_client_hello_get0_ext
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    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:7159,1
    - Dst: RECORD_LAYER*::rrlmethod::free_buffers
      Src: /src/openssl/ssl/ssl_lib.c:7166,1
    - Dst: RECORD_LAYER*::wrlmethod::free_buffers
      Src: /src/openssl/ssl/ssl_lib.c:7167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7168
      start: 7156
    functionDepth: 1
    functionLinenumber: 7156
    functionLinenumberEnd: 7168
    functionName: SSL_free_buffers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - RECORD_LAYER*::wrlmethod::free_buffers
    - RECORD_LAYER*::rrlmethod::free_buffers
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:7173,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7179,1
    - Dst: RECORD_LAYER*::rrlmethod::alloc_buffers
      Src: /src/openssl/ssl/ssl_lib.c:7184,1
    - Dst: RECORD_LAYER*::wrlmethod::alloc_buffers
      Src: /src/openssl/ssl/ssl_lib.c:7185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7186
      start: 7170
    functionDepth: 1
    functionLinenumber: 7170
    functionLinenumberEnd: 7186
    functionName: SSL_alloc_buffers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    - RECORD_LAYER*::wrlmethod::alloc_buffers
    - RECORD_LAYER*::rrlmethod::alloc_buffers
    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: 7191
      start: 7188
    functionDepth: 0
    functionLinenumber: 7188
    functionLinenumberEnd: 7191
    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: 7196
      start: 7193
    functionDepth: 0
    functionLinenumber: 7193
    functionLinenumberEnd: 7196
    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:7208,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:7226,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_lib.c:7228,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:7231,1
    - Dst: ossl_to_lowerhex
      Src: /src/openssl/ssl/ssl_lib.c:7236,1
    - Dst: ossl_to_lowerhex
      Src: /src/openssl/ssl/ssl_lib.c:7240,1
    - Dst: do_sslkeylogfile
      Src: /src/openssl/ssl/ssl_lib.c:7245,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7245,1
    - Dst: SSL_CTX*::keylog_callback
      Src: /src/openssl/ssl/ssl_lib.c:7248,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7248,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/ssl_lib.c:7249,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: 7251
      start: 7198
    functionDepth: 4
    functionLinenumber: 7198
    functionLinenumberEnd: 7251
    functionName: nss_keylog_int
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - SSL_CONNECTION_GET_USER_SSL
    - ossl_to_lowerhex
    - SSL_CTX*::keylog_callback
    - strlen
    - memcpy
    - do_sslkeylogfile
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_GET_SSL
    - 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:7260,1
    - Dst: nss_keylog_int
      Src: /src/openssl/ssl/ssl_lib.c:7265,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: 7271
      start: 7253
    functionDepth: 5
    functionLinenumber: 7253
    functionLinenumberEnd: 7271
    functionName: ssl_log_rsa_client_key_exchange
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - nss_keylog_int
    - SSLfatal
    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:7278,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: 7284
      start: 7273
    functionDepth: 5
    functionLinenumber: 7273
    functionLinenumberEnd: 7284
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7288,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7289,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7293,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:7298,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/ssl_lib.c:7302,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - s
    - cipher_suites
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7308
      start: 7286
    functionDepth: 2
    functionLinenumber: 7286
    functionLinenumberEnd: 7308
    functionName: ssl_cache_cipherlist
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - PACKET_memdup
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7315,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:7320,1
    - Dst: ossl_bytes_to_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:7322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 7323
      start: 7310
    functionDepth: 1
    functionLinenumber: 7310
    functionLinenumberEnd: 7323
    functionName: SSL_bytes_to_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ossl_bytes_to_cipher_list
    - SSL_CONNECTION_FROM_SSL
    - PACKET_buf_init
    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: 7403
      start: 7398
    functionDepth: 0
    functionLinenumber: 7398
    functionLinenumberEnd: 7403
    functionName: SSL_CTX_set_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    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: 7408
      start: 7405
    functionDepth: 0
    functionLinenumber: 7405
    functionLinenumberEnd: 7408
    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:7412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - max_early_data
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7420
      start: 7410
    functionDepth: 1
    functionLinenumber: 7410
    functionLinenumberEnd: 7420
    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:7424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7430
      start: 7422
    functionDepth: 1
    functionLinenumber: 7422
    functionLinenumberEnd: 7430
    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: 7437
      start: 7432
    functionDepth: 0
    functionLinenumber: 7432
    functionLinenumberEnd: 7437
    functionName: SSL_CTX_set_recv_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    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: 7442
      start: 7439
    functionDepth: 0
    functionLinenumber: 7439
    functionLinenumberEnd: 7442
    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:7446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - recv_max_early_data
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7454
      start: 7444
    functionDepth: 1
    functionLinenumber: 7444
    functionLinenumberEnd: 7454
    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:7458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7464
      start: 7456
    functionDepth: 1
    functionLinenumber: 7456
    functionLinenumberEnd: 7464
    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:7469,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/ssl_lib.c:7470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7474
      start: 7466
    functionDepth: 1
    functionLinenumber: 7466
    functionLinenumberEnd: 7474
    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:7479,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/ssl_lib.c:7480,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/ssl_lib.c:7481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7489
      start: 7476
    functionDepth: 1
    functionLinenumber: 7476
    functionLinenumberEnd: 7489
    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:7494,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/ssl_lib.c:7500,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_lib.c:7503,1
    - Dst: SSL_accept
      Src: /src/openssl/ssl/ssl_lib.c:7506,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/ssl_lib.c:7512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7516
      start: 7491
    functionDepth: 2
    functionLinenumber: 7491
    functionLinenumberEnd: 7516
    functionName: SSL_stateless
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_accept
    - ossl_statem_in_error
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ERR_clear_error
    - SSL_clear
    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: 7521
      start: 7518
    functionDepth: 0
    functionLinenumber: 7518
    functionLinenumberEnd: 7521
    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:7525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - val
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7531
      start: 7523
    functionDepth: 1
    functionLinenumber: 7523
    functionLinenumberEnd: 7531
    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:7535,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7538,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7539,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:7547,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7548,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7552,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/ssl_lib.c:7556,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7557,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7563,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7567,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7572,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7575,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/ssl_lib.c:7582,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7584,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/ssl_lib.c:7588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7590
      start: 7533
    functionDepth: 1
    functionLinenumber: 7533
    functionLinenumberEnd: 7590
    functionName: SSL_verify_client_post_handshake
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - ossl_statem_set_in_init
    - SSL_is_init_finished
    - IS_QUIC
    - send_certificate_request
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_IS_TLS13
    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: 7601
      start: 7592
    functionDepth: 0
    functionLinenumber: 7592
    functionLinenumberEnd: 7601
    functionName: SSL_CTX_set_session_ticket_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    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: 7609
      start: 7603
    functionDepth: 0
    functionLinenumber: 7603
    functionLinenumberEnd: 7609
    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:7615,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: 7622
      start: 7611
    functionDepth: 1
    functionLinenumber: 7611
    functionLinenumberEnd: 7622
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:7630,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/ssl_lib.c:7631,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/ssl_lib.c:7636,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:7638,1
    - Dst: EVP_CIPHER_get_params
      Src: /src/openssl/ssl/ssl_lib.c:7639,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:7642,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:7646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7648
      start: 7624
    functionDepth: 4
    functionLinenumber: 7624
    functionLinenumberEnd: 7648
    functionName: ssl_evp_cipher_fetch
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ERR_pop_to_mark
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_get_params
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ERR_set_mark
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,\n    const
      char *name,\n    const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/ssl_lib.c:7653,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:7660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7661
      start: 7650
    functionDepth: 2
    functionLinenumber: 7650
    functionLinenumberEnd: 7661
    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:7668,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:7673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7675
      start: 7663
    functionDepth: 4
    functionLinenumber: 7663
    functionLinenumberEnd: 7675
    functionName: ssl_evp_cipher_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - EVP_CIPHER_get0_provider
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void ssl_evp_cipher_free(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/ssl/ssl_lib.c:7680,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:7687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7688
      start: 7677
    functionDepth: 2
    functionLinenumber: 7677
    functionLinenumberEnd: 7688
    functionName: ssl_evp_md_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MD_get0_provider
    - EVP_MD_up_ref
    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:7695,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/ssl_lib.c:7700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7702
      start: 7690
    functionDepth: 3
    functionLinenumber: 7690
    functionLinenumberEnd: 7702
    functionName: ssl_evp_md_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - EVP_MD_get0_provider
    - EVP_MD_free
    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:7706,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/ssl_lib.c:7711,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/ssl_lib.c:7712,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7713,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:7716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - dhpkey
    argTypes:
    - SSL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7719
      start: 7704
    functionDepth: 4
    functionLinenumber: 7704
    functionLinenumberEnd: 7719
    functionName: SSL_set0_tmp_dh_pkey
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ssl_security
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    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:7723,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/ssl_lib.c:7724,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7725,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:7728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - dhpkey
    argTypes:
    - SSL_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7731
      start: 7721
    functionDepth: 4
    functionLinenumber: 7721
    functionLinenumberEnd: 7731
    functionName: SSL_CTX_set0_tmp_dh_pkey
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - ssl_ctx_security
    - EVP_PKEY_get_security_bits
    - ERR_raise
    - 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:7739,1
    - Dst: ossl_quic_handle_events
      Src: /src/openssl/ssl/ssl_lib.c:7740,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7743,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:7744,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/openssl/ssl/ssl_lib.c:7753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7756
      start: 7734
    functionDepth: 1
    functionLinenumber: 7734
    functionLinenumberEnd: 7756
    functionName: SSL_handle_events
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 32
    functionsReached:
    - ossl_quic_handle_events
    - IS_QUIC
    - DTLSv1_handle_timeout
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_handle_events(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7763,1
    - Dst: ossl_quic_get_event_timeout
      Src: /src/openssl/ssl/ssl_lib.c:7764,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7767,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:7768,1
    - Dst: DTLSv1_get_timeout
      Src: /src/openssl/ssl/ssl_lib.c:7769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - tv
    - is_infinite
    argTypes:
    - SSL*
    - struct timeval*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7778
      start: 7758
    functionDepth: 1
    functionLinenumber: 7758
    functionLinenumberEnd: 7778
    functionName: SSL_get_event_timeout
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 13
    functionsReached:
    - IS_QUIC
    - DTLSv1_get_timeout
    - SSL_CONNECTION_IS_DTLS
    - ossl_quic_get_event_timeout
    - 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:7782,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7785,1
    - Dst: ossl_quic_get_rpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7786,1
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7793
      start: 7780
    functionDepth: 2
    functionLinenumber: 7780
    functionLinenumberEnd: 7793
    functionName: SSL_get_rpoll_descriptor
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_get_rpoll_descriptor
    - BIO_get_rpoll_descriptor
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    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:7797,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7800,1
    - Dst: ossl_quic_get_wpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7801,1
    - Dst: BIO_get_wpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7808
      start: 7795
    functionDepth: 2
    functionLinenumber: 7795
    functionLinenumberEnd: 7808
    functionName: SSL_get_wpoll_descriptor
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - BIO_get_wpoll_descriptor
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    - ossl_quic_get_wpoll_descriptor
    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:7813,1
    - Dst: SSL_want_read
      Src: /src/openssl/ssl/ssl_lib.c:7814,1
    - Dst: ossl_quic_get_net_read_desired
      Src: /src/openssl/ssl/ssl_lib.c:7816,1
    - Dst: SSL_want_read
      Src: /src/openssl/ssl/ssl_lib.c:7818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7820
      start: 7810
    functionDepth: 1
    functionLinenumber: 7810
    functionLinenumberEnd: 7820
    functionName: SSL_net_read_desired
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - SSL_want_read
    - IS_QUIC
    - ossl_quic_get_net_read_desired
    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:7825,1
    - Dst: SSL_want_write
      Src: /src/openssl/ssl/ssl_lib.c:7826,1
    - Dst: ossl_quic_get_net_write_desired
      Src: /src/openssl/ssl/ssl_lib.c:7828,1
    - Dst: SSL_want_write
      Src: /src/openssl/ssl/ssl_lib.c:7830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7832
      start: 7822
    functionDepth: 1
    functionLinenumber: 7822
    functionLinenumberEnd: 7832
    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:7837,1
    - Dst: ossl_quic_conn_set_blocking_mode
      Src: /src/openssl/ssl/ssl_lib.c:7840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - blocking
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7844
      start: 7834
    functionDepth: 1
    functionLinenumber: 7834
    functionLinenumberEnd: 7844
    functionName: SSL_set_blocking_mode
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - IS_QUIC
    - ossl_quic_conn_set_blocking_mode
    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:7849,1
    - Dst: ossl_quic_conn_get_blocking_mode
      Src: /src/openssl/ssl/ssl_lib.c:7852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7856
      start: 7846
    functionDepth: 1
    functionLinenumber: 7846
    functionLinenumberEnd: 7856
    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:7861,1
    - Dst: ossl_quic_conn_set_initial_peer_addr
      Src: /src/openssl/ssl/ssl_lib.c:7864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - peer_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7868
      start: 7858
    functionDepth: 1
    functionLinenumber: 7858
    functionLinenumberEnd: 7868
    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:7875,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:7876,1
    - Dst: ossl_quic_conn_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:7878,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:7880,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: 7882
      start: 7870
    functionDepth: 7
    functionLinenumber: 7870
    functionLinenumberEnd: 7882
    functionName: SSL_shutdown_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ossl_quic_conn_shutdown
    - IS_QUIC
    - SSL_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:7887,1
    - Dst: ossl_quic_conn_stream_conclude
      Src: /src/openssl/ssl/ssl_lib.c:7890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7894
      start: 7884
    functionDepth: 1
    functionLinenumber: 7884
    functionLinenumberEnd: 7894
    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:7899,1
    - Dst: ossl_quic_conn_stream_new
      Src: /src/openssl/ssl/ssl_lib.c:7902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7906
      start: 7896
    functionDepth: 1
    functionLinenumber: 7896
    functionLinenumberEnd: 7906
    functionName: SSL_new_stream
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 11
    functionsReached:
    - IS_QUIC
    - ossl_quic_conn_stream_new
    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:7911,1
    - Dst: ossl_quic_get0_connection
      Src: /src/openssl/ssl/ssl_lib.c:7914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7918
      start: 7908
    functionDepth: 1
    functionLinenumber: 7908
    functionLinenumberEnd: 7918
    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:7922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7923
      start: 7920
    functionDepth: 2
    functionLinenumber: 7920
    functionLinenumberEnd: 7923
    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:7928,1
    - Dst: ossl_quic_get0_listener
      Src: /src/openssl/ssl/ssl_lib.c:7931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7935
      start: 7925
    functionDepth: 1
    functionLinenumber: 7925
    functionLinenumberEnd: 7935
    functionName: SSL_get0_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_get0_listener
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_get0_listener(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7940,1
    - Dst: ossl_quic_get0_domain
      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_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:7951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7952
      start: 7949
    functionDepth: 2
    functionLinenumber: 7949
    functionLinenumberEnd: 7952
    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:7956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7957
      start: 7954
    functionDepth: 2
    functionLinenumber: 7954
    functionLinenumberEnd: 7957
    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:7962,1
    - Dst: ossl_quic_get_stream_type
      Src: /src/openssl/ssl/ssl_lib.c:7965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7969
      start: 7959
    functionDepth: 1
    functionLinenumber: 7959
    functionLinenumberEnd: 7969
    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:7974,1
    - Dst: ossl_quic_get_stream_id
      Src: /src/openssl/ssl/ssl_lib.c:7977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7981
      start: 7971
    functionDepth: 1
    functionLinenumber: 7971
    functionLinenumberEnd: 7981
    functionName: SSL_get_stream_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - ossl_quic_get_stream_id
    - IS_QUIC
    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:7986,1
    - Dst: ossl_quic_is_stream_local
      Src: /src/openssl/ssl/ssl_lib.c:7989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7993
      start: 7983
    functionDepth: 1
    functionLinenumber: 7983
    functionLinenumberEnd: 7993
    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:7998,1
    - Dst: ossl_quic_set_default_stream_mode
      Src: /src/openssl/ssl/ssl_lib.c:8001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8005
      start: 7995
    functionDepth: 1
    functionLinenumber: 7995
    functionLinenumberEnd: 8005
    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:8010,1
    - Dst: ossl_quic_set_incoming_stream_policy
      Src: /src/openssl/ssl/ssl_lib.c:8013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - policy
    - aec
    argTypes:
    - SSL*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8017
      start: 8007
    functionDepth: 1
    functionLinenumber: 8007
    functionLinenumberEnd: 8017
    functionName: SSL_set_incoming_stream_policy
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - IS_QUIC
    - ossl_quic_set_incoming_stream_policy
    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:8022,1
    - Dst: ossl_quic_accept_stream
      Src: /src/openssl/ssl/ssl_lib.c:8025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8029
      start: 8019
    functionDepth: 1
    functionLinenumber: 8019
    functionLinenumberEnd: 8029
    functionName: SSL_accept_stream
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - IS_QUIC
    - ossl_quic_accept_stream
    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:8034,1
    - Dst: ossl_quic_get_accept_stream_queue_len
      Src: /src/openssl/ssl/ssl_lib.c:8037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8041
      start: 8031
    functionDepth: 1
    functionLinenumber: 8031
    functionLinenumberEnd: 8041
    functionName: SSL_get_accept_stream_queue_len
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_accept_stream_queue_len
    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:8048,1
    - Dst: ossl_quic_stream_reset
      Src: /src/openssl/ssl/ssl_lib.c:8051,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: 8055
      start: 8043
    functionDepth: 1
    functionLinenumber: 8043
    functionLinenumberEnd: 8055
    functionName: SSL_stream_reset
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_reset
    - IS_QUIC
    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:8060,1
    - Dst: ossl_quic_get_stream_read_state
      Src: /src/openssl/ssl/ssl_lib.c:8063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8067
      start: 8057
    functionDepth: 1
    functionLinenumber: 8057
    functionLinenumberEnd: 8067
    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:8072,1
    - Dst: ossl_quic_get_stream_write_state
      Src: /src/openssl/ssl/ssl_lib.c:8075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8079
      start: 8069
    functionDepth: 1
    functionLinenumber: 8069
    functionLinenumberEnd: 8079
    functionName: SSL_get_stream_write_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_stream_write_state
    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:8084,1
    - Dst: ossl_quic_get_stream_read_error_code
      Src: /src/openssl/ssl/ssl_lib.c:8087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8091
      start: 8081
    functionDepth: 1
    functionLinenumber: 8081
    functionLinenumberEnd: 8091
    functionName: SSL_get_stream_read_error_code
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_stream_read_error_code
    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:8096,1
    - Dst: ossl_quic_get_stream_write_error_code
      Src: /src/openssl/ssl/ssl_lib.c:8099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8103
      start: 8093
    functionDepth: 1
    functionLinenumber: 8093
    functionLinenumberEnd: 8103
    functionName: SSL_get_stream_write_error_code
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_stream_write_error_code
    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:8109,1
    - Dst: ossl_quic_get_conn_close_info
      Src: /src/openssl/ssl/ssl_lib.c:8112,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: 8116
      start: 8105
    functionDepth: 1
    functionLinenumber: 8105
    functionLinenumberEnd: 8116
    functionName: SSL_get_conn_close_info
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_conn_close_info
    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:8122,1
    - Dst: ossl_quic_get_value_uint
      Src: /src/openssl/ssl/ssl_lib.c:8123,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:8126,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: 8128
      start: 8118
    functionDepth: 1
    functionLinenumber: 8118
    functionLinenumberEnd: 8128
    functionName: SSL_get_value_uint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_get_value_uint
    - IS_QUIC
    - ERR_raise
    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:8134,1
    - Dst: ossl_quic_set_value_uint
      Src: /src/openssl/ssl/ssl_lib.c:8135,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:8138,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: 8140
      start: 8130
    functionDepth: 1
    functionLinenumber: 8130
    functionLinenumberEnd: 8140
    functionName: SSL_set_value_uint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC
    - ERR_raise
    - ossl_quic_set_value_uint
    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:8145,1
    - Dst: ossl_quic_new_listener
      Src: /src/openssl/ssl/ssl_lib.c:8148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8152
      start: 8142
    functionDepth: 1
    functionLinenumber: 8142
    functionLinenumberEnd: 8152
    functionName: SSL_new_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 11
    functionsReached:
    - IS_QUIC_CTX
    - ossl_quic_new_listener
    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:8157,1
    - Dst: ossl_quic_new_listener_from
      Src: /src/openssl/ssl/ssl_lib.c:8160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8164
      start: 8154
    functionDepth: 1
    functionLinenumber: 8154
    functionLinenumberEnd: 8164
    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:8169,1
    - Dst: ossl_quic_new_from_listener
      Src: /src/openssl/ssl/ssl_lib.c:8172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8176
      start: 8166
    functionDepth: 1
    functionLinenumber: 8166
    functionLinenumberEnd: 8176
    functionName: SSL_new_from_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    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:8181,1
    - Dst: ossl_quic_accept_connection
      Src: /src/openssl/ssl/ssl_lib.c:8184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8188
      start: 8178
    functionDepth: 1
    functionLinenumber: 8178
    functionLinenumberEnd: 8188
    functionName: SSL_accept_connection
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 16
    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:8193,1
    - Dst: ossl_quic_get_accept_connection_queue_len
      Src: /src/openssl/ssl/ssl_lib.c:8196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8200
      start: 8190
    functionDepth: 1
    functionLinenumber: 8190
    functionLinenumberEnd: 8200
    functionName: SSL_get_accept_connection_queue_len
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ossl_quic_get_accept_connection_queue_len
    - IS_QUIC
    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:8205,1
    - Dst: ossl_quic_get_peer_addr
      Src: /src/openssl/ssl/ssl_lib.c:8208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - peer_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8212
      start: 8202
    functionDepth: 1
    functionLinenumber: 8202
    functionLinenumberEnd: 8212
    functionName: SSL_get_peer_addr
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_get_peer_addr
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_peer_addr(SSL *ssl, BIO_ADDR *peer_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8217,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8217,1
    - Dst: ossl_quic_peeloff_conn
      Src: /src/openssl/ssl/ssl_lib.c:8218,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - listener
    - new_conn
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8224
      start: 8214
    functionDepth: 1
    functionLinenumber: 8214
    functionLinenumberEnd: 8224
    functionName: SSL_listen_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_peeloff_conn
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int SSL_listen_ex(SSL *listener, SSL *new_conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8229,1
    - Dst: ossl_quic_listen
      Src: /src/openssl/ssl/ssl_lib.c:8232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8236
      start: 8226
    functionDepth: 1
    functionLinenumber: 8226
    functionLinenumberEnd: 8236
    functionName: SSL_listen
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - ossl_quic_listen
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_listen(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:8241,1
    - Dst: ossl_quic_new_domain
      Src: /src/openssl/ssl/ssl_lib.c:8244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8248
      start: 8238
    functionDepth: 1
    functionLinenumber: 8238
    functionLinenumberEnd: 8248
    functionName: SSL_new_domain
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC_CTX
    - ossl_quic_new_domain
    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:8253,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8266,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8277,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: 8285
      start: 8250
    functionDepth: 0
    functionLinenumber: 8250
    functionLinenumberEnd: 8285
    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:8290,1
    - Dst: ossl_adjust_domain_flags
      Src: /src/openssl/ssl/ssl_lib.c:8291,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - domain_flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8302
      start: 8287
    functionDepth: 1
    functionLinenumber: 8287
    functionLinenumberEnd: 8302
    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:8307,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - domain_flags
    argTypes:
    - SSL_CTX*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8318
      start: 8304
    functionDepth: 1
    functionLinenumber: 8304
    functionLinenumberEnd: 8318
    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:8323,1
    - Dst: ossl_quic_get_domain_flags
      Src: /src/openssl/ssl/ssl_lib.c:8324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - domain_flags
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8328
      start: 8320
    functionDepth: 1
    functionLinenumber: 8320
    functionLinenumberEnd: 8328
    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:8333,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/ssl/ssl_lib.c:8338,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/ssl/ssl_lib.c:8341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:8346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - rpk
    argTypes:
    - SSL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8348
      start: 8330
    functionDepth: 12
    functionLinenumber: 8330
    functionLinenumberEnd: 8348
    functionName: SSL_add_expected_rpk
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - SSL_dane_tlsa_add
    - SSL_get0_dane
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int SSL_add_expected_rpk(SSL *s, EVP_PKEY *rpk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8357
      start: 8350
    functionDepth: 1
    functionLinenumber: 8350
    functionLinenumberEnd: 8357
    functionName: SSL_get0_peer_rpk
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *SSL_get0_peer_rpk(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8367
      start: 8359
    functionDepth: 1
    functionLinenumber: 8359
    functionLinenumberEnd: 8367
    functionName: SSL_get_negotiated_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_negotiated_client_cert_type(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8377
      start: 8369
    functionDepth: 1
    functionLinenumber: 8369
    functionLinenumberEnd: 8377
    functionName: SSL_get_negotiated_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_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: 8410
      start: 8379
    functionDepth: 0
    functionLinenumber: 8379
    functionLinenumberEnd: 8410
    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:8419,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:8422,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:8425,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: 8429
      start: 8412
    functionDepth: 1
    functionLinenumber: 8412
    functionLinenumberEnd: 8429
    functionName: set_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - validate_cert_type
    - OPENSSL_free
    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:8433,1
    - Dst: set_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - val
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8440
      start: 8431
    functionDepth: 2
    functionLinenumber: 8431
    functionLinenumberEnd: 8440
    functionName: SSL_set1_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - set_cert_type
    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:8444,1
    - Dst: set_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - val
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8451
      start: 8442
    functionDepth: 2
    functionLinenumber: 8442
    functionLinenumberEnd: 8451
    functionName: SSL_set1_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - set_cert_type
    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:8455,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: 8457
      start: 8453
    functionDepth: 2
    functionLinenumber: 8453
    functionLinenumberEnd: 8457
    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:8461,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: 8463
      start: 8459
    functionDepth: 2
    functionLinenumber: 8459
    functionLinenumberEnd: 8463
    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:8467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - t
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8475
      start: 8465
    functionDepth: 1
    functionLinenumber: 8465
    functionLinenumberEnd: 8475
    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:8479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - t
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8487
      start: 8477
    functionDepth: 1
    functionLinenumber: 8477
    functionLinenumberEnd: 8487
    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: 8497
      start: 8489
    functionDepth: 0
    functionLinenumber: 8489
    functionLinenumberEnd: 8497
    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: 8507
      start: 8499
    functionDepth: 0
    functionLinenumber: 8499
    functionLinenumberEnd: 8507
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:8523,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:8523,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:8527,1
    - Dst: ossl_grease_value
      Src: /src/openssl/ssl/ssl_lib.c:8537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - index
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8541
      start: 8515
    functionDepth: 7
    functionLinenumber: 8515
    functionLinenumberEnd: 8541
    functionName: ossl_grease_value
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_grease_value
    - RAND_bytes_ex
    - SSL_CONNECTION_GET_CTX
    - memset
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ossl_grease_value(SSL_CONNECTION *s, int index)
  - 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*::method::ssl3_enc::setup_key_block
    - SSL*::method::ssl3_enc::change_cipher_state
    - ERR_raise
    - SSL_CONNECTION_GET_SSL
    linkageType: ''
    returnType: int
    signature: int ssl3_do_change_cipher_spec(SSL_CONNECTION *s)
  - BBCount: 6
    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:60,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/s3_msg.c:65,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/s3_msg.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - s
    - level
    - desc
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: ssl3_send_alert
    functionSourceFile: /src/openssl/ssl/s3_msg.c
    functionUses: 1
    functionsReached:
    - RECORD_LAYER_write_pending
    - tls13_alert_code
    - SSL*::method::ssl3_enc::alert_value
    - SSL_CONNECTION_TREAT_AS_TLS13
    - SSL_CTX_remove_session
    - SSL*::method::ssl_dispatch_alert
    - SSL_CONNECTION_GET_SSL
    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:80,1
    - Dst: SSL_get_state
      Src: /src/openssl/ssl/s3_msg.c:95,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/s3_msg.c:97,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/s3_msg.c:104,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/s3_msg.c:115,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
      Src: /src/openssl/ssl/s3_msg.c:116,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/s3_msg.c:126,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::write_records
      Src: /src/openssl/ssl/s3_msg.c:127,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/s3_msg.c:139,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/s3_msg.c:143,1
    - Dst: cb
      Src: /src/openssl/ssl/s3_msg.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 157
    functionName: ssl3_dispatch_alert
    functionSourceFile: /src/openssl/ssl/s3_msg.c
    functionUses: 0
    functionsReached:
    - RECORD_LAYER_write_pending
    - HANDLE_RLAYER_WRITE_RETURN
    - SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
    - SSL_CONNECTION_FROM_SSL
    - TLS1_get_version
    - BIO_flush
    - SSL_CONNECTION*::rlayer::wrlmethod::write_records
    - SSL_get_state
    - SSL_CONNECTION*::msg_callback
    - cb
    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:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    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:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    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:68,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_cert.c:71,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_cert.c:76,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:78,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_cert.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ssl_pkey_num
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 93
    functionName: ssl_cert_new
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_calloc
    - ossl_assert
    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:97,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_cert.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:109,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_cert.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:116,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:121,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:134,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:140,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:148,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_cert.c:154,1
    - Dst: OSSL_COMP_CERT_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:162,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_cert.c:172,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_cert.c:176,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_cert.c:183,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_cert.c:187,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_cert.c:194,1
    - Dst: X509_STORE_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:206,1
    - Dst: X509_STORE_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:212,1
    - Dst: custom_exts_copy
      Src: /src/openssl/ssl/ssl_cert.c:221,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_cert.c:225,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_cert.c:233,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 117
    argCount: 1
    argNames:
    - cert
    argTypes:
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 236
    functionName: ssl_cert_dup
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 3
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_memdup
    - OPENSSL_strdup
    - OPENSSL_free
    - X509_up_ref
    - EVP_PKEY_up_ref
    - X509_chain_up_ref
    - ssl_cert_free
    - ERR_raise
    - X509_STORE_up_ref
    - custom_exts_copy
    - OPENSSL_calloc
    - memcpy
    - OPENSSL_malloc_array
    - OSSL_COMP_CERT_up_ref
    linkageType: ''
    returnType: CERT
    signature: CERT *ssl_cert_dup(CERT *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:251,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_cert.c:253,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_cert.c:255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:257,1
    - Dst: OSSL_COMP_CERT_free
      Src: /src/openssl/ssl/ssl_cert.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 268
    functionName: ssl_cert_clear_certs
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - X509_free
    - OSSL_STACK_OF_X509_free
    - OSSL_COMP_CERT_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:276,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_cert.c:277,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_cert.c:280,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_cert.c:282,1
    - Dst: ssl_cert_clear_certs
      Src: /src/openssl/ssl/ssl_cert.c:284,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:285,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:286,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:287,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:288,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:289,1
    - Dst: custom_exts_free
      Src: /src/openssl/ssl/ssl_cert.c:290,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:294,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_cert.c:295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 297
    functionName: ssl_cert_free
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 6
    functionsReached:
    - REF_ASSERT_ISNT
    - X509_STORE_free
    - OPENSSL_free
    - ssl_cert_clear_certs
    - CRYPTO_FREE_REF
    - EVP_PKEY_free
    - REF_PRINT_COUNT
    - custom_exts_free
    - CRYPTO_DOWN_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:343,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:345,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/ssl_cert.c:349,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/ssl_cert.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - s
    - ctx
    - x
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: ssl_cert_add0_chain_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - ssl_security_cert
    - sk_X509_new_null
    - sk_X509_push
    - ERR_raise
    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:357,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/openssl/ssl/ssl_cert.c:359,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ctx
    - x
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: ssl_cert_add1_chain_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - X509_free
    - ssl_cert_add0_chain_cert
    - 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:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - c
    - x
    argTypes:
    - CERT*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 388
    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: 412
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 412
    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: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    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:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - rpk
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    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: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    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:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 638
    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:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 668
    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:704,1
    - Dst: add_ca_name
      Src: /src/openssl/ssl/ssl_cert.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - x
    argTypes:
    - SSL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 710
    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:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 715
    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:723,1
    - Dst: add_ca_name
      Src: /src/openssl/ssl/ssl_cert.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - x
    argTypes:
    - SSL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 729
    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:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    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:744,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/ssl/ssl_cert.c:745,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_cert.c:752,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:754,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 758
    functionName: xname_cmp
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - memcmp
    - i2d_X509_NAME
    - 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:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME**
    - X509_NAME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 763
    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:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 11
    functionLinenumber: 765
    functionLinenumberEnd: 769
    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:1098,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_cert.c:1100,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1104,1
    - Dst: X509_STORE_new
      Src: /src/openssl/ssl/ssl_cert.c:1109,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1112,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_cert.c:1113,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/ssl/ssl_cert.c:1114,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/ssl/ssl_cert.c:1118,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/ssl/ssl_cert.c:1130,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1132,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/ssl/ssl_cert.c:1135,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1136,1
    - Dst: X509_STORE_CTX_set_flags
      Src: /src/openssl/ssl/ssl_cert.c:1140,1
    - Dst: X509_verify_cert
      Src: /src/openssl/ssl/ssl_cert.c:1143,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_cert.c:1146,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/openssl/ssl/ssl_cert.c:1151,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/ssl/ssl_cert.c:1153,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_cert.c:1154,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/ssl/ssl_cert.c:1155,1
    - Dst: sk_X509_shift
      Src: /src/openssl/ssl/ssl_cert.c:1160,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1161,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1163,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_cert.c:1165,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1165,1
    - Dst: X509_get_extension_flags
      Src: /src/openssl/ssl/ssl_cert.c:1166,1
    - Dst: sk_X509_pop
      Src: /src/openssl/ssl/ssl_cert.c:1167,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1168,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1176,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_cert.c:1177,1
    - Dst: ssl_security_cert
      Src: /src/openssl/ssl/ssl_cert.c:1178,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1180,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1181,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1186,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:1192,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/ssl/ssl_cert.c:1193,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 3
    argNames:
    - s
    - ctx
    - flags
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1092
    functionDepth: 8
    functionLinenumber: 1092
    functionLinenumberEnd: 1196
    functionName: ssl_build_cert_chain
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - X509_STORE_CTX_init
    - X509_free
    - X509_STORE_CTX_free
    - sk_X509_num
    - ERR_clear_error
    - ssl_security_cert
    - X509_get_extension_flags
    - ERR_raise_data
    - ERR_raise
    - X509_STORE_CTX_new_ex
    - STACK_OF
    - X509_STORE_free
    - X509_verify_cert
    - X509_STORE_CTX_set_flags
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get1_chain
    - sk_X509_pop
    - OSSL_STACK_OF_X509_free
    - X509_STORE_add_cert
    - SSL_CONNECTION_GET_CTX
    - X509_STORE_new
    - sk_X509_value
    - X509_STORE_CTX_get_error
    - sk_X509_shift
    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:1202,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:1209,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: 1213
      start: 1198
    functionDepth: 5
    functionLinenumber: 1198
    functionLinenumberEnd: 1213
    functionName: ssl_cert_set_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - X509_STORE_free
    - X509_STORE_up_ref
    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: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    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:1232,1
    - Dst: SSL_get_security_level
      Src: /src/openssl/ssl/ssl_cert.c:1234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s
    - ctx
    - levelp
    argTypes:
    - SSL*
    - SSL_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1245
    functionName: ssl_get_security_level_bits
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - SSL_get_security_level
    - SSL_CTX_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:1254,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_cert.c:1289,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_cert.c:1291,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/ssl_cert.c:1297,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: 1315
      start: 1247
    functionDepth: 3
    functionLinenumber: 1247
    functionLinenumberEnd: 1315
    functionName: ssl_security_default_callback
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - SSL_CONNECTION_IS_DTLS
    - DTLS_VERSION_LT
    - ssl_get_security_level_bits
    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:1319,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_cert.c:1319,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: 1321
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1321
    functionName: ssl_security
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION*::cert::sec_cb
    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:1325,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: 1327
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    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:1333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - nid
    - pidx
    - ctx
    argTypes:
    - int
    - size_t*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1346
    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:1353,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1356,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_cert.c:1356,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1357,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/ssl/ssl_cert.c:1357,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1367,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_cert.c:1367,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1368,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/ssl/ssl_cert.c:1368,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: 1376
      start: 1348
    functionDepth: 6
    functionLinenumber: 1348
    functionLinenumberEnd: 1376
    functionName: ssl_cert_lookup_by_pkey
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - OBJ_nid2ln
    - EVP_PKEY_is_a
    - OBJ_nid2sn
    - OSSL_NELEM
    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:1380,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_cert.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ctx
    argTypes:
    - size_t
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1385
    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:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    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:109,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/t1_lib.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: tls1_new
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL*::method::ssl_clear
    - ssl3_new
    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:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:124,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/t1_lib.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: tls1_free
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_free
    - SSL_CONNECTION_FROM_SSL
    - OPENSSL_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:130,1
    - Dst: ssl3_clear
      Src: /src/openssl/ssl/t1_lib.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 144
    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: 22
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:248,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:251,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:258,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:268,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:271,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:277,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:280,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:284,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:286,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:293,1
    - Dst: OPENSSL_strdup
      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:306,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:308,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: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:331,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:333,1
    - Dst: DTLS_VERSION_GT
      Src: /src/openssl/ssl/t1_lib.c:341,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:352,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/ssl/t1_lib.c:353,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/ssl/t1_lib.c:358,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:365,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 110
    argCount: 2
    argNames:
    - params
    - data
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 233
    functionDepth: 10
    functionLinenumber: 233
    functionLinenumberEnd: 369
    functionName: add_provider_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - OPENSSL_strdup
    - OSSL_PARAM_get_int
    - ERR_set_mark
    - OPENSSL_free
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OPENSSL_realloc_array
    - OSSL_PARAM_get_uint
    - EVP_KEYMGMT_free
    - memset
    - DTLS_VERSION_GT
    - EVP_KEYMGMT_fetch
    - OPENSSL_malloc_array
    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:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - provider
    - vctx
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 379
    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:383,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/ssl/t1_lib.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: ssl_load_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set1_groups_list
    - OSSL_PROVIDER_do_all
    linkageType: ''
    returnType: int
    signature: int ssl_load_groups(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sinf
    argTypes:
    - TLS_SIGALG_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: inferred_keytype
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *inferred_keytype(const TLS_SIGALG_INFO *sinf)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:416,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:419,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:426,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:439,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:440,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:446,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:449,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:450,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:454,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:457,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:459,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:464,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:466,1
    - Dst: ERR_raise
      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:532,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:538,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:539,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:544,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:550,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:551,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:558,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:560,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:563,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:564,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:565,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:570,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:577,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:578,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:579,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:582,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:583,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:584,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:588,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:609,1
    - Dst: inferred_keytype
      Src: /src/openssl/ssl/t1_lib.c:610,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/ssl/t1_lib.c:611,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/ssl/t1_lib.c:625,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:633,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:635,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/ssl/t1_lib.c:635,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:635,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:636,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:640,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:642,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:644,1
    - Dst: OBJ_add_sigid
      Src: /src/openssl/ssl/t1_lib.c:645,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:645,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:647,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:649,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/ssl/t1_lib.c:653,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:655,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:658,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:662,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:664,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:666,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:668,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:670,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:672,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:674,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 238
    argCount: 2
    argNames:
    - params
    - data
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 400
    functionDepth: 10
    functionLinenumber: 400
    functionLinenumberEnd: 678
    functionName: add_provider_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_uint
    - EVP_KEYMGMT_fetch
    - OPENSSL_malloc_array
    - ERR_pop_to_mark
    - OBJ_nid2obj
    - OPENSSL_free
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OPENSSL_realloc_array
    - EVP_KEYMGMT_free
    - EVP_KEYMGMT_get0_provider
    - inferred_keytype
    - OBJ_txt2nid
    - memset
    - ERR_set_mark
    - OPENSSL_strdup
    - OBJ_create
    - OBJ_add_sigid
    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:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - provider
    - vctx
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 693
    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:700,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:705,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:706,1
    - Dst: inferred_keytype
      Src: /src/openssl/ssl/t1_lib.c:710,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 695
    functionDepth: 8
    functionLinenumber: 695
    functionLinenumberEnd: 722
    functionName: ssl_load_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - inferred_keytype
    - OSSL_PROVIDER_do_all
    - OBJ_txt2nid
    - OPENSSL_calloc
    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:729,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 735
    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: 747
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 747
    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:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - group_id
    argTypes:
    - SSL_CTX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 757
    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:770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - group_id
    - include_unknown
    argTypes:
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 777
    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:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 793
    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:802,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:805,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:808,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: 831
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 831
    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:849,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: 858
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 858
    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:863,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: 872
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 872
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:878,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:878,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:889,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:890,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:897,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:899,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:901,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 6
    argNames:
    - s
    - group_id
    - minversion
    - maxversion
    - okfortls13
    - giptr
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - int
    - int
    - int*
    - TLS_GROUP_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 910
    functionName: tls_valid_group
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_version_cmp
    - tls1_group_id_lookup
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: "int tls_valid_group(SSL_CONNECTION *s, uint16_t group_id,\n    int
      minversion, int maxversion, int *okfortls13,\n    const TLS_GROUP_INFO **giptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:915,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:915,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:924,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/t1_lib.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - group
    - op
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 926
    functionName: tls_group_allowed
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    - tls1_group_id_lookup
    - SSL_CONNECTION_GET_CTX
    - tls1_group_id2nid
    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: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    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:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TLS_GROUP_IX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    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: 963
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 963
    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:969,1
    - Dst: sk_TLS_GROUP_IX_new
      Src: /src/openssl/ssl/t1_lib.c:977,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:987,1
    - Dst: sk_TLS_GROUP_IX_push
      Src: /src/openssl/ssl/t1_lib.c:991,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:992,1
    - Dst: sk_TLS_GROUP_IX_sort
      Src: /src/openssl/ssl/t1_lib.c:997,1
    - Dst: sk_TLS_GROUP_IX_num
      Src: /src/openssl/ssl/t1_lib.c:998,1
    - Dst: sk_TLS_GROUP_IX_value
      Src: /src/openssl/ssl/t1_lib.c:1000,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/ssl/t1_lib.c:1004,1
    - Dst: sk_TLS_GROUP_IX_pop_free
      Src: /src/openssl/ssl/t1_lib.c:1010,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: 1012
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1012
    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_sort
    - sk_TLS_GROUP_IX_new
    - sk_TLS_GROUP_IX_push
    - OPENSSL_free
    - sk_OPENSSL_CSTRING_push
    - sk_TLS_GROUP_IX_num
    - sk_TLS_GROUP_IX_value
    - STACK_OF
    - 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:1033,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1039,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/t1_lib.c:1061,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:1062,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:1064,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/t1_lib.c:1065,1
    - Dst: tls1_in_list
      Src: /src/openssl/ssl/t1_lib.c:1073,1
    - Dst: is_ffdhe_group
      Src: /src/openssl/ssl/t1_lib.c:1074,1
    - Dst: is_ffdhe_group
      Src: /src/openssl/ssl/t1_lib.c:1075,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/t1_lib.c:1076,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:1078,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/t1_lib.c:1079,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:1082,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:1085,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:1090,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:1092,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 3
    argNames:
    - s
    - nmatch
    - groups
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1103
    functionName: tls1_shared_group
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - tls1_group_id_lookup
    - SSL_CONNECTION_IS_DTLS
    - is_ffdhe_group
    - tls1_get_supported_groups
    - ssl_version_cmp
    - tls_group_allowed
    - tls1_get_peer_groups
    - tls1_suiteb
    - tls1_in_list
    - ossl_assert
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tls1_shared_group(SSL_CONNECTION *s, int nmatch, int groups)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1122,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1125,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1127,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1129,1
    - Dst: tls1_nid2group_id
      Src: /src/openssl/ssl/t1_lib.c:1134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1163,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1165,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: 1167
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1167
    functionName: tls1_set_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc_array
    - ERR_raise
    - tls1_nid2group_id
    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: 42
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1309,1
    - Dst: strchr
      Src: /src/openssl/ssl/t1_lib.c:1315,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/t1_lib.c:1316,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:1352,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1353,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/t1_lib.c:1354,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:1372,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1372,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:1381,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1383,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1384,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:1392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1397,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:1417,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:1429,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:1448,1
    - Dst: tls1_group_name2id
      Src: /src/openssl/ssl/t1_lib.c:1452,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:1459,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:1460,1
    - Dst: memmove
      Src: /src/openssl/ssl/t1_lib.c:1526,1
    - Dst: memmove
      Src: /src/openssl/ssl/t1_lib.c:1567,1
    - Dst: memmove
      Src: /src/openssl/ssl/t1_lib.c:1579,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 165
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1605
    functionName: gid_cb
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strncasecmp
    - tls1_group_name2id
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_realloc_array
    - memmove
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    - strlen
    - memcpy
    - OPENSSL_malloc
    - CONF_parse_list
    linkageType: ''
    returnType: int
    signature: int gid_cb(const char *elem, int len, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:1619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - garg
    argTypes:
    - gid_cb_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1629
    functionName: grow_tuples
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: int
    signature: int grow_tuples(gid_cb_st *garg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: grow_tuples
      Src: /src/openssl/ssl/t1_lib.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - garg
    argTypes:
    - gid_cb_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1664
    functionName: close_tuple
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - grow_tuples
    linkageType: ''
    returnType: int
    signature: int close_tuple(gid_cb_st *garg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1675,1
    - Dst: close_tuple
      Src: /src/openssl/ssl/t1_lib.c:1679,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:1684,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:1687,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:1691,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1694,1
    - Dst: close_tuple
      Src: /src/openssl/ssl/t1_lib.c:1696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - tuple
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1667
    functionDepth: 2
    functionLinenumber: 1667
    functionLinenumberEnd: 1699
    functionName: tuple_cb
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - memcpy
    - close_tuple
    - OPENSSL_malloc
    - CONF_parse_list
    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:1723,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:1727,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1734,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1737,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1741,1
    - Dst: isspace
      Src: /src/openssl/ssl/t1_lib.c:1745,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:1754,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/t1_lib.c:1759,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/t1_lib.c:1780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1813,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1816,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1819,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1826,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1827,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1828,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    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: 1830
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1830
    functionName: tls1_set_groups_list
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - isspace
    - ERR_raise_data
    - OPENSSL_free
    - ERR_raise
    - memset
    - OPENSSL_malloc_array
    - CONF_parse_list
    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:1843,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/t1_lib.c:1860,1
    - Dst: tls1_in_list
      Src: /src/openssl/ssl/t1_lib.c:1861,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/t1_lib.c:1865,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:1873,1
    - Dst: tls1_in_list
      Src: /src/openssl/ssl/t1_lib.c:1883,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: 1884
      start: 1833
    functionDepth: 3
    functionLinenumber: 1833
    functionLinenumberEnd: 1884
    functionName: tls1_check_group_id
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_get_supported_groups
    - tls_group_allowed
    - tls1_get_peer_groups
    - tls1_suiteb
    - 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:1898,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: 1906
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1906
    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:1916,1
    - Dst: EVP_PKEY_get_ec_point_conv_form
      Src: /src/openssl/ssl/t1_lib.c:1920,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:1925,1
    - Dst: EVP_PKEY_get_field_type
      Src: /src/openssl/ssl/t1_lib.c:1932,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - s
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1909
    functionDepth: 5
    functionLinenumber: 1909
    functionLinenumberEnd: 1953
    functionName: tls1_check_pkey_comp
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_field_type
    - EVP_PKEY_is_a
    - SSL_CONNECTION_IS_TLS13
    - EVP_PKEY_get_ec_point_conv_form
    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:1958,1
    - Dst: tls1_nid2group_id
      Src: /src/openssl/ssl/t1_lib.c:1962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1963
    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:1973,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/t1_lib.c:1977,1
    - Dst: tls1_check_pkey_comp
      Src: /src/openssl/ssl/t1_lib.c:1980,1
    - Dst: tls1_get_group_id
      Src: /src/openssl/ssl/t1_lib.c:1982,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:1987,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1993,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: 2011
      start: 1969
    functionDepth: 6
    functionLinenumber: 1969
    functionLinenumberEnd: 2011
    functionName: tls1_check_cert_param
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_suiteb
    - tls1_check_pkey_comp
    - X509_get0_pubkey
    - EVP_PKEY_is_a
    - tls1_get_group_id
    - tls1_check_group_id
    linkageType: ''
    returnType: int
    signature: int tls1_check_cert_param(SSL_CONNECTION *s, X509 *x, int check_ee_md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls1_shared_group
      Src: /src/openssl/ssl/t1_lib.c:2029,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:2040,1
    - Dst: is_ffdhe_group
      Src: /src/openssl/ssl/t1_lib.c:2042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - cid
    argTypes:
    - SSL_CONNECTION*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2023
    functionDepth: 4
    functionLinenumber: 2023
    functionLinenumberEnd: 2051
    functionName: tls1_check_ffdhe_tmp_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - tls1_shared_group
    - is_ffdhe_group
    - tls1_get_peer_groups
    linkageType: ''
    returnType: int
    signature: int tls1_check_ffdhe_tmp_key(SSL_CONNECTION *s, unsigned long cid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2066,1
    - Dst: tls1_shared_group
      Src: /src/openssl/ssl/t1_lib.c:2067,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:2073,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:2075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - cid
    argTypes:
    - SSL_CONNECTION*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2063
    functionDepth: 4
    functionLinenumber: 2063
    functionLinenumberEnd: 2078
    functionName: tls1_check_ec_tmp_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - tls1_shared_group
    - tls1_check_group_id
    - tls1_suiteb
    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:2342,1
    - Dst: SSL_CTX_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:2349,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2351,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:2353,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:2357,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:2361,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2364,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/ssl/t1_lib.c:2383,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/t1_lib.c:2387,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:2391,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2395,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:2402,1
    - Dst: ssl_get_md_idx
      Src: /src/openssl/ssl/t1_lib.c:2403,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:2404,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:2406,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2417,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2420,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2453,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2454,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/t1_lib.c:2455,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2336
    functionDepth: 8
    functionLinenumber: 2336
    functionLinenumberEnd: 2457
    functionName: ssl_setup_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_free
    - SSL_CTX_IS_DTLS
    - ssl_get_md_idx
    - EVP_PKEY_set_type
    - OBJ_txt2nid
    - OSSL_NELEM
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - OPENSSL_calloc
    - EVP_PKEY_new
    - ERR_set_mark
    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:2465,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:2466,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2475,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:2479,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/t1_lib.c:2482,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/ssl/t1_lib.c:2482,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2487,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/t1_lib.c:2490,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/ssl/t1_lib.c:2493,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2495,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/t1_lib.c:2498,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2502,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:2503,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:2509,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:2509,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/t1_lib.c:2513,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2515,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:2520,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/ssl/t1_lib.c:2521,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/ssl/t1_lib.c:2522,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:2525,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/t1_lib.c:2530,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2461
    functionDepth: 10
    functionLinenumber: 2461
    functionLinenumberEnd: 2532
    functionName: SSL_get1_builtin_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_free
    - OPENSSL_strlcat
    - EVP_PKEY_set_type
    - OPENSSL_realloc
    - EVP_MD_fetch
    - OBJ_nid2ln
    - ERR_raise
    - EVP_MD_free
    - OSSL_NELEM
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - strlen
    - EVP_PKEY_new
    - ERR_set_mark
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *SSL_get1_builtin_sigalgs(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - sigalg
    argTypes:
    - SSL_CTX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2544
    functionName: tls1_find_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIGALG_LOOKUP
    signature: "SIGALG_LOOKUP *tls1_find_sigalg(const SSL_CTX *ctx,\n    uint16_t
      sigalg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_find_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sigalg
    argTypes:
    - SSL_CTX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2553
    functionName: tls1_lookup_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_find_sigalg
    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:2566,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: 2573
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2573
    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: 2583
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2583
    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:2590,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/t1_lib.c:2592,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/ssl/t1_lib.c:2594,1
    - Dst: RSA_PSS_MINIMUM_KEY_SIZE
      Src: /src/openssl/ssl/t1_lib.c:2594,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: 2597
      start: 2583
    functionDepth: 1
    functionLinenumber: 2583
    functionLinenumberEnd: 2597
    functionName: rsa_pss_check_min_key_size
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_lookup_md
    - RSA_PSS_MINIMUM_KEY_SIZE
    - EVP_PKEY_get_size
    - EVP_MD_get_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:2616,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2616,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2659,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_lib.c:2662,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2663,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2663,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:2668,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2668,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:2670,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:2674,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2606
    functionDepth: 2
    functionLinenumber: 2606
    functionLinenumberEnd: 2677
    functionName: tls1_get_legacy_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_lookup_md
    - SSL_USE_SIGALGS
    - OSSL_NELEM
    - tls1_lookup_sigalg
    - tls12_sigalg_allowed
    - ssl_cert_lookup_by_idx
    - SSL_CONNECTION_GET_CTX
    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:2684,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2684,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2679
    functionDepth: 7
    functionLinenumber: 2679
    functionLinenumberEnd: 2691
    functionName: tls1_set_peer_legacy_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_lookup_by_pkey
    - tls1_get_legacy_sigalg
    - SSL_CONNECTION_GET_CTX
    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:2699,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2702,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2724,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - s
    - sent
    - psigs
    argTypes:
    - SSL_CONNECTION*
    - int
    - uint16_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2727
    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:2742,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2743,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2747,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - curve
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2733
    functionDepth: 2
    functionLinenumber: 2733
    functionLinenumberEnd: 2758
    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:2769,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/ssl/t1_lib.c:2772,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/t1_lib.c:2775,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - lu
    argTypes:
    - SSL_CTX*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2810
    functionName: sigalg_security_bits
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_lookup_md
    - EVP_MD_get_size
    - EVP_MD_get_type
    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:2820,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:2841,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:2843,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:2844,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - sc
    - lu
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2812
    functionDepth: 1
    functionLinenumber: 2812
    functionLinenumberEnd: 2847
    functionName: tls_sigalg_compat
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_version_cmp
    - SSL_CONNECTION_IS_DTLS
    - tls12_sigalg_allowed
    linkageType: ''
    returnType: int
    signature: int tls_sigalg_compat(SSL_CONNECTION *sc, const SIGALG_LOOKUP *lu)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/t1_lib.c:2864,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2866,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2869,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2878,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2878,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:2879,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2880,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/t1_lib.c:2886,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2886,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2889,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2897,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2905,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2909,1
    - Dst: ssl_cert_lookup_by_nid
      Src: /src/openssl/ssl/t1_lib.c:2913,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/t1_lib.c:2914,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2915,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2917,1
    - Dst: tls1_check_pkey_comp
      Src: /src/openssl/ssl/t1_lib.c:2924,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2925,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2931,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2931,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:2932,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2935,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2939,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:2941,1
    - Dst: tls1_get_group_id
      Src: /src/openssl/ssl/t1_lib.c:2941,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2942,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2945,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2949,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2955,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2956,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:2961,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2968,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:2971,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2971,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2972,1
    - Dst: sigalg_security_bits
      Src: /src/openssl/ssl/t1_lib.c:2981,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2981,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:2982,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/ssl/t1_lib.c:2982,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2983,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 84
    argCount: 3
    argNames:
    - s
    - sig
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2854
    functionDepth: 7
    functionLinenumber: 2854
    functionLinenumberEnd: 2989
    functionName: tls12_check_peer_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_lookup_md
    - sigalg_security_bits
    - ssl_cert_lookup_by_pkey
    - ssl_cert_lookup_by_nid
    - ssl_security
    - EVP_MD_get_type
    - EVP_PKEY_get_id
    - tls12_get_psigalgs
    - ssl_get_EC_curve_nid
    - SSL_CONNECTION_IS_TLS13
    - tls1_suiteb
    - tls1_check_pkey_comp
    - tls1_lookup_sigalg
    - tls1_get_group_id
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - tls_sigalg_compat
    - tls1_check_group_id
    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:2993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pnid
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 3002
    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:3006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pnid
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3004
    functionDepth: 1
    functionLinenumber: 3004
    functionLinenumberEnd: 3015
    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:3031,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/t1_lib.c:3032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3027
    functionDepth: 1
    functionLinenumber: 3027
    functionLinenumberEnd: 3050
    functionName: ssl_set_client_disabled
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_set_sig_mask
    - ssl_get_min_max_version
    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:3064,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:3065,1
    - Dst: SSL_IS_QUIC_INT_HANDSHAKE
      Src: /src/openssl/ssl/t1_lib.c:3073,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/ssl/t1_lib.c:3075,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:3093,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:3094,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:3097,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: 3098
      start: 3061
    functionDepth: 2
    functionLinenumber: 3061
    functionLinenumberEnd: 3098
    functionName: ssl_cipher_disabled
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    - SSL_CONNECTION_IS_DTLS
    - SSL_CIPHER_get_id
    - ssl_version_cmp
    - SSL_IS_QUIC_INT_HANDSHAKE
    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:3104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3100
    functionDepth: 2
    functionLinenumber: 3100
    functionLinenumberEnd: 3105
    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:3112,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:3118,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:3120,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:3122,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:3132,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3135,1
    - Dst: tls1_process_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3151,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:3152,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:3159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3162
      start: 3107
    functionDepth: 3
    functionLinenumber: 3107
    functionLinenumberEnd: 3162
    functionName: tls1_set_server_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_get_legacy_sigalg
    - OPENSSL_free
    - tls12_get_psigalgs
    - tls1_process_sigalgs
    - memset
    - OPENSSL_calloc
    - SSLfatal
    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:3186,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/t1_lib.c:3193,1
    - Dst: tls_decrypt_ticket
      Src: /src/openssl/ssl/t1_lib.c:3195,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/t1_lib.c:3195,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: 3197
      start: 3171
    functionDepth: 3
    functionLinenumber: 3171
    functionLinenumberEnd: 3197
    functionName: tls_get_ticket_from_client
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - tls_use_ticket
    - tls_decrypt_ticket
    - PACKET_data
    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:3238,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3248,1
    - Dst: ssl_hmac_construct
      Src: /src/openssl/ssl/t1_lib.c:3267,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/t1_lib.c:3271,1
    - Dst: SSL_CTX*::ext::ticket_key_evp_cb
      Src: /src/openssl/ssl/t1_lib.c:3286,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/t1_lib.c:3286,1
    - Dst: ssl_hmac_get0_EVP_MAC_CTX
      Src: /src/openssl/ssl/t1_lib.c:3290,1
    - Dst: SSL_CTX*::ext::ticket_key_cb
      Src: /src/openssl/ssl/t1_lib.c:3295,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/t1_lib.c:3295,1
    - Dst: ssl_hmac_get0_HMAC_CTX
      Src: /src/openssl/ssl/t1_lib.c:3297,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_lib.c:3311,1
    - Dst: ssl_hmac_init
      Src: /src/openssl/ssl/t1_lib.c:3318,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/ssl/t1_lib.c:3321,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3328,1
    - Dst: ssl_hmac_size
      Src: /src/openssl/ssl/t1_lib.c:3335,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/t1_lib.c:3341,1
    - Dst: ssl_hmac_update
      Src: /src/openssl/ssl/t1_lib.c:3354,1
    - Dst: ssl_hmac_final
      Src: /src/openssl/ssl/t1_lib.c:3355,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/t1_lib.c:3360,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:3368,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/ssl/t1_lib.c:3369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3370,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/ssl/t1_lib.c:3374,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3375,1
    - Dst: d2i_SSL_SESSION_ex
      Src: /src/openssl/ssl/t1_lib.c:3382,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3384,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/t1_lib.c:3388,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:3400,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/t1_lib.c:3409,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:3416,1
    - Dst: ssl_hmac_destruct
      Src: /src/openssl/ssl/t1_lib.c:3417,1
    - Dst: SSL_CONNECTION*::session_ctx::decrypt_ticket_cb
      Src: /src/openssl/ssl/t1_lib.c:3434,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:3434,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/t1_lib.c:3445,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/t1_lib.c:3453,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3473,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 171
    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: 3485
      start: 3222
    functionDepth: 7
    functionLinenumber: 3222
    functionLinenumberEnd: 3485
    functionName: tls_decrypt_ticket
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ssl_hmac_final
    - ssl_hmac_get0_HMAC_CTX
    - SSL_CTX*::ext::ticket_key_cb
    - memcpy
    - EVP_CIPHER_CTX_get_iv_length
    - SSL_CONNECTION_GET_SSL
    - ERR_clear_error
    - EVP_DecryptUpdate
    - EVP_DecryptFinal
    - ssl_hmac_init
    - SSL_CONNECTION*::session_ctx::decrypt_ticket_cb
    - OPENSSL_free
    - ssl_hmac_destruct
    - EVP_CIPHER_CTX_free
    - OPENSSL_malloc
    - SSL_CTX*::ext::ticket_key_evp_cb
    - SSL_CONNECTION_GET_USER_SSL
    - ssl_hmac_update
    - ssl_hmac_size
    - EVP_DecryptInit_ex
    - SSL_SESSION_free
    - EVP_CIPHER_CTX_new
    - CRYPTO_memcmp
    - ssl_hmac_construct
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_GET_CTX
    - d2i_SSL_SESSION_ex
    - ssl_hmac_get0_EVP_MAC_CTX
    - memcmp
    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:3497,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:3503,1
    - Dst: ssl_cert_is_disabled
      Src: /src/openssl/ssl/t1_lib.c:3511,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3511,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3518,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:3521,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/t1_lib.c:3524,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/t1_lib.c:3535,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:3535,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/t1_lib.c:3536,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/t1_lib.c:3540,1
    - Dst: ssl_cipher_disabled
      Src: /src/openssl/ssl/t1_lib.c:3542,1
    - Dst: sigalg_security_bits
      Src: /src/openssl/ssl/t1_lib.c:3554,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3554,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:3557,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 33
    argCount: 3
    argNames:
    - s
    - op
    - lu
    argTypes:
    - SSL_CONNECTION*
    - int
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3488
    functionDepth: 3
    functionLinenumber: 3488
    functionLinenumberEnd: 3558
    functionName: tls12_sigalg_allowed
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - sigalg_security_bits
    - ssl_security
    - ssl_cert_is_disabled
    - ssl_cipher_disabled
    - SSL_CONNECTION_IS_DTLS
    - SSL_get_ciphers
    - SSL_CONNECTION_IS_TLS13
    - sk_SSL_CIPHER_value
    - STACK_OF
    - sk_SSL_CIPHER_num
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_GET_SSL
    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:3575,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3577,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3577,1
    - Dst: ssl_cert_lookup_by_idx
      Src: /src/openssl/ssl/t1_lib.c:3583,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3584,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:3590,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: 3594
      start: 3566
    functionDepth: 4
    functionLinenumber: 3566
    functionLinenumberEnd: 3594
    functionName: ssl_set_sig_mask
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - tls12_get_psigalgs
    - tls12_sigalg_allowed
    - tls1_lookup_sigalg
    - ssl_cert_lookup_by_idx
    - 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:3603,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3603,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:3605,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/t1_lib.c:3607,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3613,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:3617,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: 3619
      start: 3596
    functionDepth: 2
    functionLinenumber: 3596
    functionLinenumberEnd: 3619
    functionName: tls12_copy_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_IS_TLS13
    - WPACKET_put_bytes_u16
    - tls1_lookup_sigalg
    - SSL_CONNECTION_GET_CTX
    - tls_sigalg_compat
    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:3630,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3630,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:3634,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: 3646
      start: 3622
    functionDepth: 4
    functionLinenumber: 3622
    functionLinenumberEnd: 3646
    functionName: tls12_shared_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - tls12_sigalg_allowed
    - tls1_lookup_sigalg
    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:3656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3658,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:3669,1
    - Dst: tls12_shared_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3681,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:3683,1
    - Dst: tls12_shared_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3692
      start: 3649
    functionDepth: 5
    functionLinenumber: 3649
    functionLinenumberEnd: 3692
    functionName: tls1_set_shared_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - tls12_get_psigalgs
    - tls12_shared_sigalgs
    - tls1_suiteb
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: int tls1_set_shared_sigalgs(SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/t1_lib.c:3700,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:3715,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/t1_lib.c:3717,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3721,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - pkt
    - pdest
    - pdestlen
    - maxnum
    argTypes:
    - PACKET*
    - uint16_t**
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3694
    functionDepth: 3
    functionLinenumber: 3694
    functionLinenumberEnd: 3730
    functionName: tls1_save_u16
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_get_net_2
    - OPENSSL_malloc_array
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int tls1_save_u16(PACKET *pkt, uint16_t **pdest, size_t *pdestlen,
      size_t maxnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_lib.c:3735,1
    - Dst: tls1_save_u16
      Src: /src/openssl/ssl/t1_lib.c:3746,1
    - Dst: tls1_save_u16
      Src: /src/openssl/ssl/t1_lib.c:3749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - s
    - pkt
    - cert
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3732
    functionDepth: 4
    functionLinenumber: 3732
    functionLinenumberEnd: 3751
    functionName: tls1_save_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_USE_SIGALGS
    - tls1_save_u16
    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:3760,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3771,1
    - Dst: ssl_cert_is_disabled
      Src: /src/openssl/ssl/t1_lib.c:3775,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3755
    functionDepth: 6
    functionLinenumber: 3755
    functionLinenumberEnd: 3779
    functionName: tls1_process_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - tls1_set_shared_sigalgs
    - ssl_cert_is_disabled
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int tls1_process_sigalgs(SSL_CONNECTION *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:3787,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3805,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3805,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    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: 3814
      start: 3781
    functionDepth: 2
    functionLinenumber: 3781
    functionLinenumberEnd: 3814
    functionName: SSL_get_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_FROM_SSL
    - tls1_lookup_sigalg
    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:3821,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: 3843
      start: 3816
    functionDepth: 1
    functionLinenumber: 3816
    functionLinenumberEnd: 3843
    functionName: SSL_get_shared_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    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: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:3848,1
    - Dst: tls1_find_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3864,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3864,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - s
    - idx
    - codepoint
    - name
    argTypes:
    - SSL*
    - int
    - unsigned int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3845
    functionDepth: 1
    functionLinenumber: 3845
    functionLinenumberEnd: 3869
    functionName: SSL_get0_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - tls1_find_sigalg
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_get0_sigalg(SSL *s, int idx, unsigned int *codepoint,\n    const
      char **name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:3874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - s
    - idx
    - codepoint
    - name
    argTypes:
    - SSL*
    - int
    - unsigned int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3894
      start: 3871
    functionDepth: 1
    functionLinenumber: 3871
    functionLinenumberEnd: 3894
    functionName: SSL_get0_shared_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_get0_shared_sigalg(SSL *s, int idx, unsigned int *codepoint,\n
      \   const char **name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3908,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3910,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3911,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3913,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3915,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/ssl/t1_lib.c:3918,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/ssl/t1_lib.c:3920,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - psig
    - phash
    - str
    argTypes:
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3922
      start: 3906
    functionDepth: 5
    functionLinenumber: 3906
    functionLinenumberEnd: 3922
    functionName: get_sigorhash
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OBJ_sn2nid
    - OBJ_ln2nid
    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:3947,1
    - Dst: strchr
      Src: /src/openssl/ssl/t1_lib.c:3949,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3964,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3965,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:3976,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3979,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3980,1
    - Dst: get_sigorhash
      Src: /src/openssl/ssl/t1_lib.c:3991,1
    - Dst: get_sigorhash
      Src: /src/openssl/ssl/t1_lib.c:3992,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:4006,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 3926
    functionDepth: 6
    functionLinenumber: 3926
    functionLinenumberEnd: 4028
    functionName: sig_cb
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - get_sigorhash
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    - memcpy
    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:4041,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/t1_lib.c:4044,1
    - Dst: tls1_set_raw_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:4050,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: 4051
      start: 4034
    functionDepth: 1
    functionLinenumber: 4034
    functionLinenumberEnd: 4051
    functionName: tls1_set_sigalgs_list
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - tls1_set_raw_sigalgs
    - ERR_raise_data
    - CONF_parse_list
    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:4058,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:4060,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4063,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4067,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: 4073
      start: 4053
    functionDepth: 0
    functionLinenumber: 4053
    functionLinenumberEnd: 4073
    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:4082,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:4090,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:4098,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4115,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: 4117
      start: 4075
    functionDepth: 0
    functionLinenumber: 4075
    functionLinenumberEnd: 4117
    functionName: tls1_set_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_malloc_array
    - OSSL_NELEM
    - OPENSSL_free
    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:4136,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/ssl/t1_lib.c:4138,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:4142,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4157,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4157,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/ssl/t1_lib.c:4178,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - s
    - x
    - default_nid
    argTypes:
    - SSL_CONNECTION*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4184
      start: 4119
    functionDepth: 4
    functionLinenumber: 4119
    functionLinenumberEnd: 4184
    functionName: tls1_check_sig_alg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    - OBJ_find_sigid_algs
    - tls1_lookup_sigalg
    - X509_self_signed
    - SSL_CONNECTION_GET_CTX
    - X509_get_signature_nid
    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:4481,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4482,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4483,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4484,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4485,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4486,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4487,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4488,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4490
      start: 4479
    functionDepth: 0
    functionLinenumber: 4479
    functionLinenumberEnd: 4490
    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:4511,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/t1_lib.c:4522,1
    - Dst: ssl_get_security_level_bits
      Src: /src/openssl/ssl/t1_lib.c:4527,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:4527,1
    - Dst: BN_get_rfc3526_prime_8192
      Src: /src/openssl/ssl/t1_lib.c:4533,1
    - Dst: BN_get_rfc3526_prime_4096
      Src: /src/openssl/ssl/t1_lib.c:4535,1
    - Dst: BN_get_rfc3526_prime_3072
      Src: /src/openssl/ssl/t1_lib.c:4537,1
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/openssl/ssl/t1_lib.c:4539,1
    - Dst: BN_get_rfc2409_prime_1024
      Src: /src/openssl/ssl/t1_lib.c:4541,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/t1_lib.c:4545,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/ssl/t1_lib.c:4547,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/ssl/t1_lib.c:4550,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/ssl/t1_lib.c:4552,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/ssl/t1_lib.c:4553,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/ssl/t1_lib.c:4556,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/ssl/t1_lib.c:4558,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/ssl/t1_lib.c:4562,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/ssl/t1_lib.c:4563,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:4564,1
    - Dst: BN_free
      Src: /src/openssl/ssl/t1_lib.c:4565,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4567
      start: 4503
    functionDepth: 6
    functionLinenumber: 4503
    functionLinenumberEnd: 4567
    functionName: ssl_get_auto_dh
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - BN_get_rfc3526_prime_2048
    - OSSL_PARAM_BLD_to_param
    - BN_get_rfc3526_prime_3072
    - EVP_PKEY_CTX_new_from_name
    - SSL_CONNECTION_GET_SSL
    - BN_get_rfc3526_prime_4096
    - OSSL_PARAM_BLD_new
    - BN_get_rfc3526_prime_8192
    - OSSL_PARAM_free
    - BN_get_rfc2409_prime_1024
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_CTX_free
    - ssl_get_security_level_bits
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata
    - BN_free
    - OSSL_PARAM_BLD_push_uint
    - SSL_CONNECTION_GET_CTX
    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:4573,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/t1_lib.c:4582,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:4585,1
    - Dst: ssl_ctx_security
      Src: /src/openssl/ssl/t1_lib.c:4587,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: 4588
      start: 4569
    functionDepth: 2
    functionLinenumber: 4569
    functionLinenumberEnd: 4588
    functionName: ssl_security_cert_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_ctx_security
    - ssl_security
    - EVP_PKEY_get_security_bits
    - 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:4597,1
    - Dst: X509_get_signature_info
      Src: /src/openssl/ssl/t1_lib.c:4599,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:4605,1
    - Dst: ssl_ctx_security
      Src: /src/openssl/ssl/t1_lib.c:4607,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: 4608
      start: 4590
    functionDepth: 5
    functionLinenumber: 4590
    functionLinenumberEnd: 4608
    functionName: ssl_security_cert_sig
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_ctx_security
    - ssl_security
    - X509_get_extension_flags
    - X509_get_signature_info
    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:4616,1
    - Dst: ssl_security_cert_key
      Src: /src/openssl/ssl/t1_lib.c:4619,1
    - Dst: ssl_security_cert_sig
      Src: /src/openssl/ssl/t1_lib.c:4622,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: 4625
      start: 4610
    functionDepth: 6
    functionLinenumber: 4610
    functionLinenumberEnd: 4625
    functionName: ssl_security_cert
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 4
    functionsReached:
    - ssl_security_cert_sig
    - ssl_security_cert_key
    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:4668,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4669,1
    - Dst: tls12_rpk_and_privkey
      Src: /src/openssl/ssl/t1_lib.c:4679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - lu
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4683
      start: 4664
    functionDepth: 1
    functionLinenumber: 4664
    functionLinenumberEnd: 4683
    functionName: tls12_get_cert_sigalg_idx
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_lookup_by_idx
    - tls12_rpk_and_privkey
    - SSL_CONNECTION_GET_CTX
    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:4698,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/t1_lib.c:4705,1
    - Dst: EVP_PKEY_digestsign_supports_digest
      Src: /src/openssl/ssl/t1_lib.c:4706,1
    - Dst: X509_get_signature_info
      Src: /src/openssl/ssl/t1_lib.c:4717,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4720,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4720,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: 4742
      start: 4691
    functionDepth: 6
    functionLinenumber: 4691
    functionLinenumberEnd: 4742
    functionName: check_cert_usable
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - X509_get_signature_info
    - tls1_lookup_sigalg
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_digestsign_supports_digest
    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:4756,1
    - Dst: check_cert_usable
      Src: /src/openssl/ssl/t1_lib.c:4759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - sig
    - idx
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4751
    functionDepth: 7
    functionLinenumber: 4751
    functionLinenumberEnd: 4761
    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:4772,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4772,1
    - Dst: check_cert_usable
      Src: /src/openssl/ssl/t1_lib.c:4779,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: 4780
      start: 4767
    functionDepth: 7
    functionLinenumber: 4767
    functionLinenumberEnd: 4780
    functionName: is_cert_usable
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_lookup_by_pkey
    - SSL_CONNECTION_GET_CTX
    - 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:4794,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:4804,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:4808,1
    - Dst: has_usable_cert
      Src: /src/openssl/ssl/t1_lib.c:4810,1
    - Dst: is_cert_usable
      Src: /src/openssl/ssl/t1_lib.c:4811,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:4819,1
    - Dst: rsa_pss_check_min_key_size
      Src: /src/openssl/ssl/t1_lib.c:4824,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 3
    argNames:
    - s
    - x
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4834
      start: 4787
    functionDepth: 8
    functionLinenumber: 4787
    functionLinenumberEnd: 4834
    functionName: find_sig_alg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_lookup_md
    - is_cert_usable
    - ssl_get_EC_curve_nid
    - has_usable_cert
    - rsa_pss_check_min_key_size
    - SSL_CONNECTION_GET_CTX
    - tls_sigalg_compat
    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:4855,1
    - Dst: find_sig_alg
      Src: /src/openssl/ssl/t1_lib.c:4856,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4860,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/t1_lib.c:4868,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_lib.c:4871,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4875,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:4878,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:4879,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:4889,1
    - Dst: tls12_get_cert_sigalg_idx
      Src: /src/openssl/ssl/t1_lib.c:4892,1
    - Dst: has_usable_cert
      Src: /src/openssl/ssl/t1_lib.c:4902,1
    - Dst: rsa_pss_check_min_key_size
      Src: /src/openssl/ssl/t1_lib.c:4908,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4924,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4927,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4939,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4950,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4953,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:4959,1
    - Dst: has_usable_cert
      Src: /src/openssl/ssl/t1_lib.c:4962,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4968,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4974,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4977,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 2
    argNames:
    - s
    - fatalerrs
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4847
    functionDepth: 9
    functionLinenumber: 4847
    functionLinenumberEnd: 4989
    functionName: tls_choose_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_USE_SIGALGS
    - tls1_get_legacy_sigalg
    - ssl_has_cert
    - rsa_pss_check_min_key_size
    - tls12_get_psigalgs
    - ssl_get_EC_curve_nid
    - SSL_CONNECTION_IS_TLS13
    - has_usable_cert
    - tls1_suiteb
    - tls12_get_cert_sigalg_idx
    - find_sig_alg
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - tls_sigalg_compat
    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:4994,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:4995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - SSL_CTX*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5001
      start: 4991
    functionDepth: 1
    functionLinenumber: 4991
    functionLinenumberEnd: 5001
    functionName: SSL_CTX_set_tlsext_max_fragment_length
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    - ERR_raise
    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:5005,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/t1_lib.c:5008,1
    - Dst: IS_MAX_FRAGMENT_LENGTH_EXT_VALID
      Src: /src/openssl/ssl/t1_lib.c:5012,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:5013,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - mode
    argTypes:
    - SSL*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5019
      start: 5003
    functionDepth: 1
    functionLinenumber: 5003
    functionLinenumberEnd: 5019
    functionName: SSL_set_tlsext_max_fragment_length
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    - IS_QUIC
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    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: 5026
      start: 5021
    functionDepth: 0
    functionLinenumber: 5021
    functionLinenumberEnd: 5026
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_hmac_old_construct
      Src: /src/openssl/ssl/t1_lib.c:5040,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/ssl/t1_lib.c:5042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - hctx
    argTypes:
    - SSL_CTX*
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5044
      start: 5031
    functionDepth: 3
    functionLinenumber: 5031
    functionLinenumberEnd: 5044
    functionName: ssl_hmac_construct
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_new
    - ssl_hmac_old_construct
    linkageType: ''
    returnType: SSL_HMAC
    signature: SSL_HMAC *ssl_hmac_construct(const SSL_CTX *ctx, SSL_HMAC *hctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:5049,1
    - Dst: ssl_hmac_old_destruct
      Src: /src/openssl/ssl/t1_lib.c:5051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5046
    functionDepth: 10
    functionLinenumber: 5046
    functionLinenumberEnd: 5054
    functionName: ssl_hmac_destruct
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_free
    - ssl_hmac_old_destruct
    linkageType: ''
    returnType: void
    signature: void ssl_hmac_destruct(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: 5059
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5059
    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:5066,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/t1_lib.c:5067,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/ssl/t1_lib.c:5068,1
    - Dst: ssl_hmac_old_init
      Src: /src/openssl/ssl/t1_lib.c:5073,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: 5076
      start: 5061
    functionDepth: 13
    functionLinenumber: 5061
    functionLinenumberEnd: 5076
    functionName: ssl_hmac_init
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - ssl_hmac_old_init
    - EVP_MAC_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:5081,1
    - Dst: ssl_hmac_old_update
      Src: /src/openssl/ssl/t1_lib.c:5084,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: 5087
      start: 5078
    functionDepth: 5
    functionLinenumber: 5078
    functionLinenumberEnd: 5087
    functionName: ssl_hmac_update
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_update
    - ssl_hmac_old_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:5093,1
    - Dst: ssl_hmac_old_final
      Src: /src/openssl/ssl/t1_lib.c:5096,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: 5099
      start: 5089
    functionDepth: 10
    functionLinenumber: 5089
    functionLinenumberEnd: 5099
    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:5104,1
    - Dst: ssl_hmac_old_size
      Src: /src/openssl/ssl/t1_lib.c:5107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5110
      start: 5101
    functionDepth: 4
    functionLinenumber: 5101
    functionLinenumberEnd: 5110
    functionName: ssl_hmac_size
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_get_mac_size
    - ssl_hmac_old_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:5116,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:5117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5120
      start: 5112
    functionDepth: 8
    functionLinenumber: 5112
    functionLinenumberEnd: 5120
    functionName: ssl_get_EC_curve_nid
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 4
    functionsReached:
    - OBJ_txt2nid
    - EVP_PKEY_get_group_name
    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:5126,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/ssl/t1_lib.c:5127,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/t1_lib.c:5132,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/ssl/t1_lib.c:5138,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: 5139
      start: 5122
    functionDepth: 10
    functionLinenumber: 5122
    functionLinenumberEnd: 5139
    functionName: tls13_set_encoded_pub_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bits
    - EVP_PKEY_is_a
    - EVP_PKEY_set1_encoded_public_key
    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:
    - memset
    - BN_free
    - OPENSSL_free
    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:
    - memset
    - BN_free
    - OPENSSL_free
    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:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_srp.c:112,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/tls_srp.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_srp.c:116,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/tls_srp.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_srp.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:128,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:129,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:130,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:131,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:132,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:133,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:134,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:135,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:136,1
    - Dst: memset
      Src: /src/openssl/ssl/tls_srp.c:137,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 139
    functionName: ssl_srp_ctx_init_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - ERR_raise
    - memset
    - BN_free
    - SSL_CONNECTION_GET_CTX
    - BN_dup
    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:143,1
    - Dst: ssl_srp_ctx_init_intern
      Src: /src/openssl/ssl/tls_srp.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 147
    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:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    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:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:178,1
    - Dst: SSL_CONNECTION*::srp_ctx::TLS_ext_srp_username_callback
      Src: /src/openssl/ssl/tls_srp.c:181,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/tls_srp.c:181,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/tls_srp.c:188,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:188,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/tls_srp.c:192,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls_srp.c:193,1
    - Dst: SRP_Calc_B_ex
      Src: /src/openssl/ssl/tls_srp.c:196,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - s
    - ad
    argTypes:
    - SSL_CONNECTION*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 174
    functionDepth: 13
    functionLinenumber: 174
    functionLinenumberEnd: 205
    functionName: ssl_srp_server_param_with_username_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - SRP_Calc_B_ex
    - SSL_CONNECTION*::srp_ctx::TLS_ext_srp_username_callback
    - SSL_CONNECTION_GET_USER_SSL
    - RAND_priv_bytes_ex
    - BN_clear_free
    - OPENSSL_cleanse
    - SSL_CONNECTION_GET_CTX
    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:209,1
    - Dst: ssl_srp_server_param_with_username_intern
      Src: /src/openssl/ssl/tls_srp.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ad
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 14
    functionLinenumber: 207
    functionLinenumberEnd: 215
    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:225,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/ssl/tls_srp.c:230,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:233,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:234,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:235,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:237,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/ssl/tls_srp.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - s
    - user
    - pass
    - grp
    argTypes:
    - SSL*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 245
    functionName: SSL_set_srp_server_param_pw
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SRP_get_default_gN
    - BN_clear_free
    - SRP_create_verifier_BN_ex
    - BN_dup
    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:250,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:257,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:258,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:262,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:266,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:267,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:271,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:275,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:276,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:280,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:284,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:285,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:293,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/tls_srp.c:294,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: 302
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 302
    functionName: SSL_set_srp_server_param
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    - BN_copy
    - SSL_CONNECTION_FROM_SSL
    - BN_free
    - BN_dup
    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:309,1
    - Dst: SRP_Verify_A_mod_N
      Src: /src/openssl/ssl/tls_srp.c:311,1
    - Dst: SRP_Calc_u_ex
      Src: /src/openssl/ssl/tls_srp.c:313,1
    - Dst: SRP_Calc_server_key
      Src: /src/openssl/ssl/tls_srp.c:317,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/tls_srp.c:322,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/tls_srp.c:323,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:324,1
    - Dst: BN_bn2bin
      Src: /src/openssl/ssl/tls_srp.c:327,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/tls_srp.c:329,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:331,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 304
    functionDepth: 12
    functionLinenumber: 304
    functionLinenumberEnd: 334
    functionName: srp_generate_server_master_secret
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_generate_master_secret
    - BN_num_bytes
    - SRP_Verify_A_mod_N
    - SRP_Calc_server_key
    - SRP_Calc_u_ex
    - BN_bn2bin
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - OPENSSL_malloc
    - BN_clear_free
    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:343,1
    - Dst: SRP_Verify_B_mod_N
      Src: /src/openssl/ssl/tls_srp.c:348,1
    - Dst: SRP_Calc_u_ex
      Src: /src/openssl/ssl/tls_srp.c:349,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:353,1
    - Dst: SSL_CONNECTION*::srp_ctx::SRP_give_srp_client_pwd_callback
      Src: /src/openssl/ssl/tls_srp.c:356,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/tls_srp.c:356,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:359,1
    - Dst: SRP_Calc_x_ex
      Src: /src/openssl/ssl/tls_srp.c:362,1
    - Dst: SRP_Calc_client_key_ex
      Src: /src/openssl/ssl/tls_srp.c:365,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:371,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/tls_srp.c:375,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/tls_srp.c:376,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:377,1
    - Dst: BN_bn2bin
      Src: /src/openssl/ssl/tls_srp.c:380,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/tls_srp.c:382,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:384,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:385,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/tls_srp.c:387,1
    - Dst: strlen
      Src: /src/openssl/ssl/tls_srp.c:387,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:388,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 337
    functionDepth: 13
    functionLinenumber: 337
    functionLinenumberEnd: 390
    functionName: srp_generate_client_master_secret
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SRP_Calc_x_ex
    - ssl_generate_master_secret
    - SRP_Verify_B_mod_N
    - BN_num_bytes
    - OPENSSL_clear_free
    - SSL_CONNECTION_GET_USER_SSL
    - SRP_Calc_client_key_ex
    - SSL_CONNECTION*::srp_ctx::SRP_give_srp_client_pwd_callback
    - strlen
    - SRP_Calc_u_ex
    - BN_clear_free
    - BN_bn2bin
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - 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:399,1
    - Dst: BN_ucmp
      Src: /src/openssl/ssl/tls_srp.c:399,1
    - Dst: BN_is_zero
      Src: /src/openssl/ssl/tls_srp.c:400,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:401,1
    - Dst: BN_num_bits
      Src: /src/openssl/ssl/tls_srp.c:405,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:406,1
    - Dst: SRP_CTX*::SRP_verify_param_callback
      Src: /src/openssl/ssl/tls_srp.c:411,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/tls_srp.c:411,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:414,1
    - Dst: SRP_check_known_gN_param
      Src: /src/openssl/ssl/tls_srp.c:417,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 424
    functionName: srp_verify_server_param
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SRP_CTX*::SRP_verify_param_callback
    - BN_ucmp
    - BN_is_zero
    - SSL_CONNECTION_GET_USER_SSL
    - BN_num_bits
    - SRP_check_known_gN_param
    - SSLfatal
    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:434,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:434,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/tls_srp.c:438,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls_srp.c:439,1
    - Dst: SRP_Calc_A
      Src: /src/openssl/ssl/tls_srp.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 430
    functionDepth: 7
    functionLinenumber: 430
    functionLinenumberEnd: 445
    functionName: ssl_srp_calc_a_param_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - RAND_priv_bytes_ex
    - SRP_Calc_A
    - OPENSSL_cleanse
    - SSL_CONNECTION_GET_CTX
    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:449,1
    - Dst: ssl_srp_calc_a_param_intern
      Src: /src/openssl/ssl/tls_srp.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 8
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: SRP_Calc_A_param
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_srp_calc_a_param_intern
    - SSL_CONNECTION_FROM_SSL
    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:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 467
    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:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 479
    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:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 491
    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:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 503
    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:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    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:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - password
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    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:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - strength
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    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:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 529
    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:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    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:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 541
    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:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - (*cb)(SSL *, void *)
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    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
    - SSL_SESSION_print
    - BIO_free
    - ERR_raise
    - BIO_set_fp
    - BIO_s_file
    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:56,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:62,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:71,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:74,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:77,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:81,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:83,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:86,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:90,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:92,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:96,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:106,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:113,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/ssl_txt.c:115,1
    - Dst: ssl_cipher_get_evp
      Src: /src/openssl/ssl/ssl_txt.c:123,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:129,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/ssl_txt.c:136,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:137,1
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/ssl/ssl_txt.c:138,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/ssl_txt.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:143,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_txt.c:144,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:148,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:153,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/ssl/ssl_txt.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:164,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 132
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 173
    functionName: SSL_SESSION_print
    functionSourceFile: /src/openssl/ssl/ssl_txt.c
    functionUses: 5
    functionsReached:
    - X509_verify_cert_error_string
    - BIO_puts
    - BIO_printf
    - ossl_time2seconds
    - ssl_cipher_get_evp
    - ossl_time_is_zero
    - ossl_time_to_time_t
    - BIO_dump_indent
    - ssl_protocol_to_string
    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:193,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:199,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:205,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:208,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 214
    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: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: DTLS_VERSION_GT
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    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: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    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: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    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: 7
    argNames:
    - (
    - ssl
    - ','
    - m
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: XTLS
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XTLS(ssl, m, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    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: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    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: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    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: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    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: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    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: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    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: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    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: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    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: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    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: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    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: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    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: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    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: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    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: 1259
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1259
    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: 2068
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2068
    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: 2217
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2217
    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: 2219
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2219
    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: 2220
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2220
    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: 2259
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2259
    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: 2339
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2339
    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: 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: 2380
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2380
    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: 2397
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2397
    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:2415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - ct
    argTypes:
    - SSL_CONNECTION*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2416
    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:2425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2430
    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: 2438
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2438
    functionName: tls1_get_peer_groups
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 3
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2543
    functionName: ossl_is_grease_value
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_is_grease_value(uint16_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_local.h:2969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2973
    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:2978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2980
    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:2985,1
    - Dst: tsan_counter
      Src: /src/openssl/ssl/ssl_local.h:2986,1
    - Dst: ssl_tsan_unlock
      Src: /src/openssl/ssl/ssl_local.h:2987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stat
    argTypes:
    - SSL_CTX*
    - TSAN_QUALIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2982
    functionDepth: 1
    functionLinenumber: 2982
    functionLinenumberEnd: 2989
    functionName: ssl_tsan_counter
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached:
    - tsan_counter
    - ssl_tsan_lock
    - ssl_tsan_unlock
    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:
    - BIO_printf
    - do_ssl_trace_str
    - BIO_indent
    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:676,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:677,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:679,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:680,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: 681
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: ssl_print_hex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_indent
    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:697,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: 701
      start: 683
    functionDepth: 5
    functionLinenumber: 683
    functionLinenumberEnd: 701
    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:714,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:715,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:716,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: 720
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 720
    functionName: ssl_print_version
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - BIO_printf
    - BIO_indent
    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:735,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:736,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:737,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:738,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:739,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: 743
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 743
    functionName: ssl_print_random
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_indent
    - 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:750,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:754,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:755,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:756,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:760,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: 761
      start: 745
    functionDepth: 6
    functionLinenumber: 745
    functionLinenumberEnd: 761
    functionName: ssl_print_signature
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - SSL_USE_SIGALGS
    - BIO_printf
    - ssl_print_hexbuf
    - BIO_indent
    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:771,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:772,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:773,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:781,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:787,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:795,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:803,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:816,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/t1_trce.c:817,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:818,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:835,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:837,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:838,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:857,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:860,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:863,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:864,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:870,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:879,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:880,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:881,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:905,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:906,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:907,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:908,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:919,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:920,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:921,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:929,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:938,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:950,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:951,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:959,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:966,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:969,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: 972
      start: 763
    functionDepth: 5
    functionLinenumber: 763
    functionLinenumberEnd: 972
    functionName: ssl_print_extension
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - BIO_printf
    - BIO_puts
    - BIO_write
    - BIO_dump_indent
    - BIO_indent
    - ssl_print_hex
    - ssl_trace_list
    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:981,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:983,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:992,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:999,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1009,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:1011,1
    - Dst: ssl_print_extension
      Src: /src/openssl/ssl/t1_trce.c:1015,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: 1025
      start: 974
    functionDepth: 6
    functionLinenumber: 974
    functionLinenumberEnd: 1025
    functionName: ssl_print_extensions
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_dump_indent
    - ssl_print_extension
    - BIO_indent
    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:1033,1
    - Dst: ssl_print_random
      Src: /src/openssl/ssl/t1_trce.c:1035,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1037,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1039,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1040,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1048,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1049,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1054,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1055,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1056,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1068,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1069,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1071,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1072,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1073,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1078,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: 1082
      start: 1027
    functionDepth: 7
    functionLinenumber: 1027
    functionLinenumberEnd: 1082
    functionName: ssl_print_client_hello
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - ssl_print_hexbuf
    - BIO_printf
    - ssl_print_version
    - ssl_print_random
    - SSL_CONNECTION_IS_DTLS
    - ssl_print_extensions
    - BIO_indent
    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:1087,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1089,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: 1092
      start: 1084
    functionDepth: 6
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    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:1100,1
    - Dst: ssl_print_random
      Src: /src/openssl/ssl/t1_trce.c:1102,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1105,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1110,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1111,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1112,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1118,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1119,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1120,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1124,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: 1128
      start: 1094
    functionDepth: 7
    functionLinenumber: 1094
    functionLinenumberEnd: 1128
    functionName: ssl_print_server_hello
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - ssl_print_hexbuf
    - BIO_printf
    - ssl_print_version
    - ssl_print_random
    - ssl_print_extensions
    - BIO_indent
    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: 1176
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1176
    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: 14
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_keyex
      Src: /src/openssl/ssl/t1_trce.c:1182,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1184,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1185,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:1202,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1208,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1212,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - bio
    - indent
    - sc
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1178
    functionDepth: 6
    functionLinenumber: 1178
    functionLinenumberEnd: 1223
    functionName: ssl_print_client_keyex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ssl_print_hexbuf
    - BIO_indent
    - ssl_print_hex
    - ssl_get_keyex
    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:1229,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1231,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1232,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:1241,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:1250,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1252,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1254,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1262,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1264,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1266,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1272,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1273,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1276,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1279,1
    - Dst: ssl_print_signature
      Src: /src/openssl/ssl/t1_trce.c:1289,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: 1291
      start: 1225
    functionDepth: 7
    functionLinenumber: 1225
    functionLinenumberEnd: 1291
    functionName: ssl_print_server_keyex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ssl_print_hexbuf
    - ssl_trace_str
    - ssl_print_signature
    - BIO_indent
    - ssl_get_keyex
    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:1300,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1308,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1309,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/t1_trce.c:1310,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/t1_trce.c:1311,1
    - Dst: X509_free
      Src: /src/openssl/ssl/t1_trce.c:1312,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1316,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1318,1
    - Dst: X509_print_ex
      Src: /src/openssl/ssl/t1_trce.c:1319,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/ssl/t1_trce.c:1320,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1322,1
    - Dst: X509_free
      Src: /src/openssl/ssl/t1_trce.c:1323,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1326,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: 1331
      start: 1293
    functionDepth: 6
    functionLinenumber: 1293
    functionLinenumberEnd: 1331
    functionName: ssl_print_certificate
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - d2i_X509
    - X509_free
    - PEM_write_bio_X509
    - X509_print_ex
    - X509_new_ex
    - BIO_indent
    - SSL_CONNECTION_GET_CTX
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1346,1
    - Dst: DTLS_VERSION_GT
      Src: /src/openssl/ssl/t1_trce.c:1347,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1364,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1365,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/ssl/t1_trce.c:1367,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/ssl/t1_trce.c:1371,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/t1_trce.c:1372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - bio
    - sc
    - server
    - indent
    - pmsg
    - pmsglen
    argTypes:
    - BIO*
    - SSL_CONNECTION*
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1333
    functionDepth: 6
    functionLinenumber: 1333
    functionLinenumberEnd: 1374
    functionName: ssl_print_raw_public_key
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_CONNECTION_IS_DTLS
    - EVP_PKEY_print_public
    - DTLS_VERSION_GT
    - BIO_indent
    - EVP_PKEY_free
    - d2i_PUBKEY_ex
    linkageType: ''
    returnType: int
    signature: "int ssl_print_raw_public_key(BIO *bio, const SSL_CONNECTION *sc,\n
      \   int server, int indent, const unsigned char **pmsg, size_t *pmsglen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1382,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1383,1
    - Dst: ssl_print_raw_public_key
      Src: /src/openssl/ssl/t1_trce.c:1394,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1396,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1397,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1402,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1403,1
    - Dst: ssl_print_certificate
      Src: /src/openssl/ssl/t1_trce.c:1405,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1407,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1408,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: 1413
      start: 1376
    functionDepth: 7
    functionLinenumber: 1376
    functionLinenumberEnd: 1413
    functionName: ssl_print_certificates
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_print_hexbuf
    - BIO_printf
    - ssl_print_raw_public_key
    - SSL_CONNECTION_IS_TLS13
    - ssl_print_extensions
    - BIO_indent
    - ssl_print_certificate
    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:1440,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1441,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1441,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1442,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1443,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1444,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1446,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1448,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:1450,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/t1_trce.c:1453,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_trce.c:1457,1
    - Dst: COMP_zlib
      Src: /src/openssl/ssl/t1_trce.c:1462,1
    - Dst: COMP_brotli_oneshot
      Src: /src/openssl/ssl/t1_trce.c:1465,1
    - Dst: COMP_zstd_oneshot
      Src: /src/openssl/ssl/t1_trce.c:1468,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/t1_trce.c:1474,1
    - Dst: COMP_expand_block
      Src: /src/openssl/ssl/t1_trce.c:1475,1
    - Dst: ssl_print_certificates
      Src: /src/openssl/ssl/t1_trce.c:1480,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/t1_trce.c:1482,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_trce.c:1483,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: 1486
      start: 1415
    functionDepth: 8
    functionLinenumber: 1415
    functionLinenumberEnd: 1486
    functionName: ssl_print_compressed_certificates
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ossl_comp_has_alg
    - ssl_trace_str
    - BIO_printf
    - COMP_brotli_oneshot
    - COMP_expand_block
    - OPENSSL_free
    - COMP_CTX_new
    - COMP_CTX_free
    - BIO_dump_indent
    - COMP_zstd_oneshot
    - BIO_indent
    - COMP_zlib
    - ssl_print_certificates
    - OPENSSL_malloc
    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:1494,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1495,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1497,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1508,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1509,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:1510,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_trce.c:1515,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1523,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1524,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1526,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1528,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1529,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1539,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1544,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1555,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1556,1
    - Dst: d2i_X509_NAME
      Src: /src/openssl/ssl/t1_trce.c:1558,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1560,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/ssl/t1_trce.c:1562,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1563,1
    - Dst: X509_NAME_free
      Src: /src/openssl/ssl/t1_trce.c:1564,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1569,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1570,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: 1575
      start: 1488
    functionDepth: 7
    functionLinenumber: 1488
    functionLinenumberEnd: 1575
    functionName: ssl_print_cert_request
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - ssl_print_hexbuf
    - BIO_printf
    - SSL_USE_SIGALGS
    - BIO_puts
    - X509_NAME_free
    - SSL_CONNECTION_IS_TLS13
    - ssl_print_extensions
    - BIO_indent
    - ssl_trace_list
    - d2i_X509_NAME
    - X509_NAME_print_ex
    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:1583,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1584,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1595,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1596,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1597,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1608,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1609,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1610,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1614,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1616,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1617,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: 1623
      start: 1577
    functionDepth: 7
    functionLinenumber: 1577
    functionLinenumberEnd: 1623
    functionName: ssl_print_ticket
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ssl_print_hexbuf
    - SSL_CONNECTION_IS_TLS13
    - ssl_print_extensions
    - BIO_indent
    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:1636,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1637,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1638,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1641,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1644,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1645,1
    - Dst: ssl_print_client_hello
      Src: /src/openssl/ssl/t1_trce.c:1657,1
    - Dst: dtls_print_hello_vfyrequest
      Src: /src/openssl/ssl/t1_trce.c:1662,1
    - Dst: ssl_print_server_hello
      Src: /src/openssl/ssl/t1_trce.c:1667,1
    - Dst: ssl_print_server_keyex
      Src: /src/openssl/ssl/t1_trce.c:1672,1
    - Dst: ssl_print_client_keyex
      Src: /src/openssl/ssl/t1_trce.c:1677,1
    - Dst: ssl_print_certificates
      Src: /src/openssl/ssl/t1_trce.c:1682,1
    - Dst: ssl_print_compressed_certificates
      Src: /src/openssl/ssl/t1_trce.c:1687,1
    - Dst: ssl_print_signature
      Src: /src/openssl/ssl/t1_trce.c:1692,1
    - Dst: ssl_print_cert_request
      Src: /src/openssl/ssl/t1_trce.c:1697,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1702,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1708,1
    - Dst: ssl_print_ticket
      Src: /src/openssl/ssl/t1_trce.c:1712,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1717,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1724,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:1727,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1733,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1734,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:1735,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: 1738
      start: 1625
    functionDepth: 9
    functionLinenumber: 1625
    functionLinenumberEnd: 1738
    functionName: ssl_print_handshake
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - BIO_puts
    - ssl_print_client_keyex
    - ssl_print_extensions
    - ssl_trace_list
    - dtls_print_hello_vfyrequest
    - ssl_print_server_hello
    - ssl_print_ticket
    - ssl_print_cert_request
    - ssl_print_server_keyex
    - SSL_CONNECTION_IS_DTLS
    - ssl_print_client_hello
    - BIO_dump_indent
    - BIO_indent
    - ssl_print_certificates
    - ssl_print_compressed_certificates
    - BIO_printf
    - ssl_print_signature
    - 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:1745,1
    - Dst: QUIC_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_trce.c:1747,1
    - Dst: ossl_quic_trace
      Src: /src/openssl/ssl/t1_trce.c:1750,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1768,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1769,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1770,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1774,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_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1777,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1778,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1785,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1786,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1791,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1792,1
    - Dst: ssl_print_handshake
      Src: /src/openssl/ssl/t1_trce.c:1796,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1798,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1803,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1805,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1810,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1812,1
    - Dst: SSL_alert_type_string_long
      Src: /src/openssl/ssl/t1_trce.c:1813,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/ssl/t1_trce.c:1814,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1818,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: 1819
      start: 1740
    functionDepth: 10
    functionLinenumber: 1740
    functionLinenumberEnd: 1819
    functionName: SSL_trace
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 1
    functionsReached:
    - QUIC_CONNECTION_FROM_SSL
    - BIO_puts
    - BIO_printf
    - ssl_trace_str
    - SSL_alert_desc_string_long
    - ssl_print_handshake
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL
    - ssl_print_hex
    - ossl_quic_trace
    - SSL_alert_type_string_long
    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:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - ss
    argTypes:
    - OSSL_TIME
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    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:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_SESSION*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    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:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 50
    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_CONST_SSL
      Src: /src/openssl/ssl/ssl_sess.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: SSL_get_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_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:82,1
    - Dst: SSL_get_session
      Src: /src/openssl/ssl/ssl_sess.c:84,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:85,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: SSL_get1_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 32
    functionsReached:
    - SSL_SESSION_up_ref
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - SSL_get_session
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - idx
    - arg
    argTypes:
    - SSL_SESSION*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    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:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    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:105,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_sess.c:108,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_sess.c:115,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_sess.c:116,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:117,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_sess.c:118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:119,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:123,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_sess.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: SSL_SESSION_new
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 8
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_init_ssl
    - OPENSSL_free
    - CRYPTO_new_ex_data
    - CRYPTO_FREE_REF
    - ossl_time_now
    - ssl_session_calculate_timeout
    - ossl_seconds2time
    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:139,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:147,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_sess.c:167,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_sess.c:174,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:175,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:180,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:186,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:195,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:201,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:208,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:213,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:221,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:226,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:232,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:241,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:249,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:256,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:263,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 105
    argCount: 2
    argNames:
    - src
    - ticket
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 265
    functionName: ssl_session_dup_intern
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_strdup
    - OPENSSL_memdup
    - OPENSSL_free
    - X509_up_ref
    - EVP_PKEY_up_ref
    - X509_chain_up_ref
    - CRYPTO_new_ex_data
    - ERR_raise
    - SSL_SESSION_free
    - memset
    - memcpy
    - CRYPTO_dup_ex_data
    - 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:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: SSL_SESSION_dup
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    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:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - ticket
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 286
    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: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: SSL_SESSION_get_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 7
    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: 301
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 301
    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: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    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:325,1
    - Dst: SSL_has_matching_session_id
      Src: /src/openssl/ssl/ssl_sess.c:332,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: 345
      start: 320
    functionDepth: 7
    functionLinenumber: 320
    functionLinenumberEnd: 345
    functionName: def_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    - SSL_has_matching_session_id
    linkageType: ''
    returnType: int
    signature: "int def_generate_session_id(SSL *ssl, unsigned char *id,\n    unsigned
      int *id_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:351,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:364,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:389,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:389,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:391,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:392,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:393,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:401,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:402,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_sess.c:404,1
    - Dst: cb
      Src: /src/openssl/ssl/ssl_sess.c:406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:408,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:418,1
    - Dst: SSL_has_matching_session_id
      Src: /src/openssl/ssl/ssl_sess.c:424,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:426,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - s
    - ss
    argTypes:
    - SSL_CONNECTION*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 431
    functionName: ssl_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - memset
    - CRYPTO_THREAD_read_lock
    - SSL_has_matching_session_id
    - SSLfatal
    - SSL_CONNECTION_GET_SSL
    - 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:439,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:440,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/ssl_sess.c:445,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:446,1
    - Dst: get_timeout
      Src: /src/openssl/ssl/ssl_sess.c:446,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:449,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:451,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:455,1
    - Dst: ssl_generate_session_id
      Src: /src/openssl/ssl/ssl_sess.c:461,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:463,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:472,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:473,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - s
    - session
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 433
    functionDepth: 5
    functionLinenumber: 433
    functionLinenumberEnd: 487
    functionName: ssl_get_new_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_new
    - ossl_time_is_zero
    - get_timeout
    - SSL_SESSION_free
    - SSL_CONNECTION_IS_TLS13
    - ssl_session_calculate_timeout
    - ssl_generate_session_id
    - memcpy
    - SSLfatal
    - SSL_CONNECTION_GET_SSL
    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:501,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:504,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:507,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_sess.c:509,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:512,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:513,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:517,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:519,1
    - Dst: SSL_CONNECTION*::session_ctx::get_session_cb
      Src: /src/openssl/ssl/ssl_sess.c:525,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_sess.c:525,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:532,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:535,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:545,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/ssl/ssl_sess.c:558,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: 564
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 564
    functionName: lookup_sess_in_cache
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    - SSL_CTX_add_session
    - lh_SSL_SESSION_retrieve
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION*::session_ctx::get_session_cb
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - CRYPTO_THREAD_read_lock
    - ssl_tsan_counter
    - memcpy
    - ossl_assert
    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: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:592,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:593,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/ssl_sess.c:600,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/ssl_sess.c:603,1
    - Dst: tls_get_ticket_from_client
      Src: /src/openssl/ssl/ssl_sess.c:611,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:616,1
    - Dst: lookup_sess_in_cache
      Src: /src/openssl/ssl/ssl_sess.c:622,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_sess.c:643,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:662,1
    - Dst: sess_timedout
      Src: /src/openssl/ssl/ssl_sess.c:668,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_sess.c:668,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:669,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/ssl_sess.c:672,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:681,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:690,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:692,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:715,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_sess.c:717,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:722,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:728,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:730,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 2
    argNames:
    - s
    - hello
    argTypes:
    - SSL_CONNECTION*
    - CLIENTHELLO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 583
    functionDepth: 4
    functionLinenumber: 583
    functionLinenumberEnd: 745
    functionName: ssl_get_prev_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - lookup_sess_in_cache
    - SSL_CTX_remove_session
    - SSL_SESSION_free
    - SSL_CONNECTION_IS_TLS13
    - tls_get_ticket_from_client
    - ossl_time_now
    - sess_timedout
    - ssl_tsan_counter
    - SSLfatal
    - memcmp
    - 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:757,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:763,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:764,1
    - Dst: lh_SSL_SESSION_insert
      Src: /src/openssl/ssl/ssl_sess.c:767,1
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:776,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:777,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_sess.c:785,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_sess.c:797,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:798,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/openssl/ssl/ssl_sess.c:809,1
    - Dst: SSL_CTX_sess_number
      Src: /src/openssl/ssl/ssl_sess.c:810,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/openssl/ssl/ssl_sess.c:810,1
    - Dst: remove_session_lock
      Src: /src/openssl/ssl/ssl_sess.c:811,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:814,1
    - Dst: SSL_SESSION_list_add
      Src: /src/openssl/ssl/ssl_sess.c:818,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:827,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:830,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 832
    functionName: SSL_CTX_add_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    functionsReached:
    - lh_SSL_SESSION_insert
    - ssl_tsan_counter
    - SSL_CTX_sess_get_cache_size
    - CRYPTO_THREAD_unlock
    - SSL_SESSION_list_add
    - lh_SSL_SESSION_retrieve
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - CRYPTO_THREAD_write_lock
    - SSL_SESSION_list_remove
    - ossl_time_now
    - ssl_session_calculate_timeout
    - SSL_CTX_sess_number
    - remove_session_lock
    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:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 837
    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:846,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_sess.c:849,1
    - Dst: lh_SSL_SESSION_delete
      Src: /src/openssl/ssl/ssl_sess.c:851,1
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:852,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:857,1
    - Dst: SSL_CTX*::remove_session_cb
      Src: /src/openssl/ssl/ssl_sess.c:860,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - c
    - lck
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 866
    functionName: remove_session_lock
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_unlock
    - lh_SSL_SESSION_delete
    - lh_SSL_SESSION_retrieve
    - SSL_SESSION_free
    - SSL_SESSION_list_remove
    - CRYPTO_THREAD_write_lock
    - SSL_CTX*::remove_session_cb
    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:874,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_sess.c:875,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_sess.c:878,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:880,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/ssl_sess.c:882,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/ssl_sess.c:883,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_sess.c:884,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_sess.c:885,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_sess.c:886,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:887,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:888,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:890,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:891,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:894,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:896,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:897,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_sess.c:898,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/ssl_sess.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 900
    functionName: SSL_SESSION_free
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 71
    functionsReached:
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - X509_free
    - OSSL_STACK_OF_X509_free
    - OPENSSL_clear_free
    - CRYPTO_FREE_REF
    - CRYPTO_free_ex_data
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - EVP_PKEY_free
    - OPENSSL_cleanse
    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:906,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_sess.c:909,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_sess.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 912
    functionName: SSL_SESSION_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 14
    functionsReached:
    - REF_ASSERT_ISNT
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:916,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:921,1
    - Dst: ssl_clear_bad_session
      Src: /src/openssl/ssl/ssl_sess.c:924,1
    - Dst: SSL_set_ssl_method
      Src: /src/openssl/ssl/ssl_sess.c:926,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:927,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 939
    functionName: SSL_set_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 40
    functionsReached:
    - SSL_set_ssl_method
    - SSL_CONNECTION_FROM_SSL
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - ssl_clear_bad_session
    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:945,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:950,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: 953
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 953
    functionName: SSL_SESSION_set1_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    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:957,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:962,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:965,1
    - Dst: SSL_SESSION_list_add
      Src: /src/openssl/ssl/ssl_sess.c:966,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:967,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_SESSION*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 955
    functionDepth: 4
    functionLinenumber: 955
    functionLinenumberEnd: 973
    functionName: SSL_SESSION_set_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - CRYPTO_THREAD_unlock
    - SSL_SESSION_list_add
    - CRYPTO_THREAD_write_lock
    - ssl_session_calculate_timeout
    - ossl_seconds2time
    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:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 980
    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:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 986
    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:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 994
    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:998,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:1003,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:1006,1
    - Dst: SSL_SESSION_list_add
      Src: /src/openssl/ssl/ssl_sess.c:1007,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:1008,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:1011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_SESSION*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 996
    functionDepth: 4
    functionLinenumber: 996
    functionLinenumberEnd: 1014
    functionName: SSL_SESSION_set_time_ex
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    functionsReached:
    - CRYPTO_THREAD_unlock
    - SSL_SESSION_list_add
    - CRYPTO_THREAD_write_lock
    - ssl_session_calculate_timeout
    - ossl_time_from_time_t
    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:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_SESSION*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 5
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    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: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    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: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    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: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    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: 1043
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    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: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    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:1052,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - hostname
    argTypes:
    - SSL_SESSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1060
    functionName: SSL_SESSION_set1_hostname
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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: 1065
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: SSL_SESSION_has_ticket
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    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: 1070
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1070
    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: 1078
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1078
    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: 1083
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1083
    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: 1090
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    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: 1098
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1098
    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:1103,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:1109,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: 1117
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1117
    functionName: SSL_SESSION_set1_alpn_selected
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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: 1122
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1122
    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: 1127
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1127
    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:1133,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:1138,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: 1141
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1141
    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: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    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:1159,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_sess.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_CTX*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1162
    functionName: SSL_CTX_set_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached:
    - ossl_seconds2time
    - ossl_time2seconds
    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:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1169
    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:1175,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: 1183
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1183
    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:1188,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: 1196
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1196
    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:1200,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:1203,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_sess.c:1205,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:1210,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_sess.c:1212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - s
    - ext_data
    - ext_len
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1219
    functionName: SSL_set_session_ticket_ext
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - memcpy
    - SSL_CONNECTION_FROM_SSL
    - OPENSSL_malloc
    - OPENSSL_free
    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:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_CTX*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1225
    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:1230,1
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/ssl/ssl_sess.c:1233,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:1235,1
    - Dst: sk_SSL_SESSION_new_null
      Src: /src/openssl/ssl/ssl_sess.c:1238,1
    - Dst: lh_SSL_SESSION_get_down_load
      Src: /src/openssl/ssl/ssl_sess.c:1239,1
    - Dst: lh_SSL_SESSION_set_down_load
      Src: /src/openssl/ssl/ssl_sess.c:1240,1
    - Dst: sess_timedout
      Src: /src/openssl/ssl/ssl_sess.c:1251,1
    - Dst: lh_SSL_SESSION_delete
      Src: /src/openssl/ssl/ssl_sess.c:1252,1
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:1253,1
    - Dst: SSL_CTX*::remove_session_cb
      Src: /src/openssl/ssl/ssl_sess.c:1256,1
    - Dst: sk_SSL_SESSION_push
      Src: /src/openssl/ssl/ssl_sess.c:1264,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:1265,1
    - Dst: lh_SSL_SESSION_set_down_load
      Src: /src/openssl/ssl/ssl_sess.c:1271,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:1272,1
    - Dst: sk_SSL_SESSION_pop_free
      Src: /src/openssl/ssl/ssl_sess.c:1274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_CTX*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1228
    functionDepth: 5
    functionLinenumber: 1228
    functionLinenumberEnd: 1275
    functionName: SSL_CTX_flush_sessions_ex
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    functionsReached:
    - sk_SSL_SESSION_pop_free
    - sk_SSL_SESSION_new_null
    - CRYPTO_THREAD_unlock
    - sk_SSL_SESSION_push
    - lh_SSL_SESSION_delete
    - SSL_SESSION_free
    - lh_SSL_SESSION_get_down_load
    - SSL_SESSION_list_remove
    - CRYPTO_THREAD_write_lock
    - SSL_CTX*::remove_session_cb
    - STACK_OF
    - ossl_time_from_time_t
    - sess_timedout
    - lh_SSL_SESSION_set_down_load
    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:1279,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1279,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_sess.c:1279,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1279,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/ssl_sess.c:1280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1284
    functionName: ssl_clear_bad_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - SSL_in_before
    - SSL_CTX_remove_session
    - SSL_in_init
    - SSL_CONNECTION_GET_SSL
    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: 1315
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1315
    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:1322,1
    - Dst: timeoutcmp
      Src: /src/openssl/ssl/ssl_sess.c:1330,1
    - Dst: timeoutcmp
      Src: /src/openssl/ssl/ssl_sess.c:1339,1
    - Dst: timeoutcmp
      Src: /src/openssl/ssl/ssl_sess.c:1352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1364
    functionName: SSL_SESSION_list_add
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - timeoutcmp
    - SSL_SESSION_list_remove
    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: 1370
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1370
    functionName: SSL_CTX_sess_set_new_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 11
    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: 1375
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1375
    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: 1381
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    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: 1387
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1387
    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: 1395
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1395
    functionName: SSL_CTX_sess_set_get_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    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: 1404
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1404
    functionName: "*(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(SSL *ssl,\n    const
      unsigned char\n        *data,\n    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,\n    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: 1410
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: SSL_CTX_set_info_callback
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    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: 1416
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1416
    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: 1423
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1423
    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: 1429
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    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: 1437
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    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: 1445
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1445
    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:1449,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:1455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ss
    - data
    - len
    argTypes:
    - SSL_SESSION*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1461
    functionName: SSL_SESSION_set1_ticket_appdata
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached:
    - OPENSSL_memdup
    - OPENSSL_free
    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: 1468
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1468
    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: 1477
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1477
    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: 1486
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1486
    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_brotli
    - BIO_f_zstd
    - BIO_f_zlib
    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:
    - ossl_comp_has_alg
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - ERR_raise
    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:
    - OPENSSL_memdup
    - OSSL_COMP_CERT_new
    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:
    - COMP_brotli_oneshot
    - OPENSSL_zalloc
    - ossl_calculate_comp_expansion
    - OPENSSL_free
    - COMP_CTX_new
    - OSSL_COMP_CERT_new
    - COMP_zstd_oneshot
    - COMP_compress_block
    - COMP_zlib_oneshot
    - COMP_CTX_free
    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_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_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
    - CRYPTO_UP_REF
    - REF_PRINT_COUNT
    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:
    - ssl3_output_cert_chain
    - SSL_in_before
    - WPACKET_get_total_written
    - WPACKET_cleanup
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL
    - WPACKET_put_bytes_u8
    - WPACKET_init
    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_has_alg
    - OSSL_COMP_CERT_from_uncompressed_data
    - OPENSSL_free
    - ssl_get_cert_to_compress
    - OSSL_COMP_CERT_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_has_alg
    - SSL_in_before
    - OSSL_COMP_CERT_from_uncompressed_data
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL
    - ssl_get_cert_to_compress
    - OSSL_COMP_CERT_free
    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_CONNECTION_FROM_SSL
    - ssl_set_cert_comp_pref
    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:
    - ctx::ctx
    - SSL_new
    - ssl_compress_certs
    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:
    - ctx::ctx
    - SSL_new
    - 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:
    - SSL_CONNECTION_FROM_SSL
    - ossl_set1_compressed_cert
    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: 10
    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_utf8_string
      Src: /src/openssl/ssl/tls13_enc.c:88,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/tls13_enc.c:91,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/tls13_enc.c:93,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls13_enc.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    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: 102
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 102
    functionName: tls13_hkdf_expand_ex
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - ERR_raise
    - EVP_MD_get_size
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_end
    - EVP_KDF_fetch
    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:111,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/tls13_enc.c:113,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:117,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: 120
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: tls13_hkdf_expand
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 3
    functionsReached:
    - tls13_hkdf_expand_ex
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    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:133,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: 135
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 135
    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:148,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: 150
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 150
    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:159,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: 161
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 161
    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:181,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:184,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/ssl/tls13_enc.c:186,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:187,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/ssl/tls13_enc.c:188,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:190,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:194,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:196,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:197,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:198,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/tls13_enc.c:203,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/tls13_enc.c:204,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:211,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:213,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:216,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/tls13_enc.c:219,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/tls13_enc.c:221,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:224,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:226,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: 228
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 228
    functionName: tls13_generate_secret
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 2
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - EVP_MD_get_size
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_KDF_fetch
    - ossl_assert
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    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:240,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:240,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: 243
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 243
    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:254,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:257,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:259,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/tls13_enc.c:264,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: 265
      start: 250
    functionDepth: 6
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: tls13_generate_master_secret
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - ssl_handshake_md
    - tls13_generate_secret
    - SSLfatal
    - EVP_MD_get_size
    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:274,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/tls13_enc.c:275,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:281,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/tls13_enc.c:288,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/tls13_enc.c:291,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/tls13_enc.c:293,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/tls13_enc.c:298,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/tls13_enc.c:300,1
    - Dst: tls13_derive_finishedkey
      Src: /src/openssl/ssl/tls13_enc.c:303,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/ssl/tls13_enc.c:310,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:314,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:319,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: 321
      start: 271
    functionDepth: 8
    functionLinenumber: 271
    functionLinenumberEnd: 321
    functionName: tls13_final_finish_mac
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - SSL_IS_FIRST_HANDSHAKE
    - tls13_derive_finishedkey
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_Q_mac
    - ssl_handshake_hash
    - ssl_handshake_md
    - OPENSSL_cleanse
    - SSLfatal
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_GET_SSL
    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:335,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:335,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/tls13_enc.c:338,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/tls13_enc.c:342,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/tls13_enc.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 350
    functionName: tls13_setup_key_block
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - ssl_evp_cipher_free
    - ssl_cipher_get_evp
    - SSLfatal_alert
    - SSL_CONNECTION_GET_CTX
    - ssl_evp_md_free
    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:364,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:369,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:370,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:375,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/tls13_enc.c:382,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:385,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:388,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/tls13_enc.c:395,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/tls13_enc.c:397,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:411,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/tls13_enc.c:427,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:429,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/tls13_enc.c:437,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:439,1
    - Dst: tls13_derive_key
      Src: /src/openssl/ssl/tls13_enc.c:444,1
    - Dst: tls13_derive_iv
      Src: /src/openssl/ssl/tls13_enc.c:445,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: 451
      start: 352
    functionDepth: 9
    functionLinenumber: 352
    functionLinenumberEnd: 451
    functionName: derive_secret_key_and_iv
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - tls13_derive_iv
    - tls13_hkdf_expand
    - EVP_CIPHER_get_key_length
    - EVP_MD_get_size
    - tls13_derive_key
    - EVP_CIPHER_get_iv_length
    - ossl_assert
    - EVP_CIPHER_get_mode
    - SSLfatal
    - EVP_CIPHER_is_a
    - OPENSSL_malloc
    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:457,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/tls13_enc.c:458,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: 464
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 464
    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:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 470
    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:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    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: 37
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:512,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:525,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:537,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/ssl/tls13_enc.c:545,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:547,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:561,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:563,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:566,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:569,1
    - Dst: ssl_cipher_get_evp_cipher
      Src: /src/openssl/ssl/tls13_enc.c:577,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/tls13_enc.c:579,1
    - Dst: EVP_CIPHER_flags
      Src: /src/openssl/ssl/tls13_enc.c:583,1
    - Dst: ssl_cipher_get_evp_md_mac
      Src: /src/openssl/ssl/tls13_enc.c:584,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/tls13_enc.c:586,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:595,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:597,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/tls13_enc.c:601,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:602,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/tls13_enc.c:603,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:604,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:605,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:606,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:610,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:612,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:618,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:622,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:624,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:630,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:630,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:632,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:666,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:666,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:668,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:684,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/tls13_enc.c:688,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/tls13_enc.c:689,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:700,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:700,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:711,1
    - Dst: derive_secret_key_and_iv
      Src: /src/openssl/ssl/tls13_enc.c:714,1
    - Dst: memcpy
      Src: /src/openssl/ssl/tls13_enc.c:722,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:724,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:724,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:733,1
    - Dst: memcpy
      Src: /src/openssl/ssl/tls13_enc.c:739,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:741,1
    - Dst: tls13_derive_finishedkey
      Src: /src/openssl/ssl/tls13_enc.c:747,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:747,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/tls13_enc.c:755,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/tls13_enc.c:757,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/tls13_enc.c:766,1
    - Dst: EVP_CIPHER_flags
      Src: /src/openssl/ssl/tls13_enc.c:779,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/tls13_enc.c:780,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/tls13_enc.c:781,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:783,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls13_enc.c:786,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 181
    argCount: 2
    argNames:
    - s
    - which
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 478
    functionDepth: 10
    functionLinenumber: 478
    functionLinenumberEnd: 788
    functionName: tls13_change_cipher_state
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - ssl_cipher_get_evp_md_mac
    - SSLfatal_alert
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - ssl_set_new_record_layer
    - OPENSSL_cleanse
    - tls13_derive_finishedkey
    - EVP_CIPHER_flags
    - OPENSSL_free
    - SSL_SESSION_get0_cipher
    - ssl_handshake_hash
    - ssl_handshake_md
    - ssl_md
    - EVP_MD_CTX_free
    - ssl_log_secret
    - ssl_cipher_get_evp_cipher
    - SSL_CONNECTION*::rlayer::wrlmethod::set_plain_alerts
    - ssl3_digest_cached_records
    - ossl_assert
    - SSLfatal
    - ssl_evp_md_free
    - ssl_evp_cipher_free
    - tls13_hkdf_expand
    - EVP_DigestFinal_ex
    - EVP_MD_get_size
    - BIO_get_mem_data
    - derive_secret_key_and_iv
    - SSL_CONNECTION_GET_CTX
    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:794,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:807,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:808,1
    - Dst: derive_secret_key_and_iv
      Src: /src/openssl/ssl/tls13_enc.c:818,1
    - Dst: memcpy
      Src: /src/openssl/ssl/tls13_enc.c:829,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/tls13_enc.c:831,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:843,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:849,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:850,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls13_enc.c:852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - s
    - sending
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 790
    functionDepth: 10
    functionLinenumber: 790
    functionLinenumberEnd: 854
    functionName: tls13_update_key
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    - derive_secret_key_and_iv
    - EVP_MD_get_size
    - ssl_log_secret
    - ssl_handshake_md
    - memcpy
    - SSLfatal
    - ssl_set_new_record_layer
    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:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 863
    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:875,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:876,1
    - Dst: ossl_statem_export_allowed
      Src: /src/openssl/ssl/tls13_enc.c:880,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:886,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/tls13_enc.c:887,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:888,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:889,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:890,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:891,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:894,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:901,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: 903
      start: 865
    functionDepth: 8
    functionLinenumber: 865
    functionLinenumberEnd: 903
    functionName: tls13_export_keying_material
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - ssl_handshake_md
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - 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:916,1
    - Dst: ossl_statem_export_early_allowed
      Src: /src/openssl/ssl/tls13_enc.c:921,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:926,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:928,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/tls13_enc.c:930,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:930,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:948,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/tls13_enc.c:949,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:950,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:951,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:952,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:953,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:956,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:963,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: 965
      start: 905
    functionDepth: 8
    functionLinenumber: 905
    functionLinenumberEnd: 965
    functionName: tls13_export_keying_material_early
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - tls13_hkdf_expand
    - ossl_statem_export_early_allowed
    - SSL_SESSION_get0_cipher
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - ssl_md
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - SSL_CONNECTION_GET_CTX
    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: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    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: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    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: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    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: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    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:43,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:52,1
    - Dst: RECORD_LAYER*::rrlmethod::free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:56,1
    - Dst: RECORD_LAYER*::wrlmethod::free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:58,1
    - Dst: DTLS_RECORD_LAYER_clear
      Src: /src/openssl/ssl/record/rec_layer_s3.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 70
    functionName: RECORD_LAYER_clear
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 3
    functionsReached:
    - ssl_release_record
    - BIO_free
    - DTLS_RECORD_LAYER_clear
    - memset
    - RECORD_LAYER*::rrlmethod::free
    - RECORD_LAYER*::wrlmethod::free
    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:76,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:79,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:80,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: 99
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: RECORD_LAYER_reset
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 3
    functionsReached:
    - RECORD_LAYER_clear
    - ssl_set_new_record_layer
    - 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:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    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:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    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: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    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:130,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: ossl_get_max_early_data
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    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:155,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:158,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:167,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: 174
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 174
    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:179,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:184,1
    - Dst: pqueue_iterator
      Src: /src/openssl/ssl/record/rec_layer_s3.c:188,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/record/rec_layer_s3.c:189,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::app_data_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: ssl3_pending
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - pqueue_next
    - pqueue_iterator
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION*::rlayer::rrlmethod::app_data_pending
    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: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    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:213,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/record/rec_layer_s3.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: SSL_set_default_read_buffer_len
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - IS_QUIC
    - SSL_CONNECTION_FROM_SSL
    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:222,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_state
      Src: /src/openssl/ssl/record/rec_layer_s3.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: SSL_rstate_string_long
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - SSL_CONNECTION*::rlayer::rrlmethod::get_state
    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:238,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_state
      Src: /src/openssl/ssl/record/rec_layer_s3.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: SSL_rstate_string
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    - SSL_CONNECTION*::rlayer::rrlmethod::get_state
    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:263,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: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    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:280,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:301,1
    - Dst: ossl_early_data_count_ok
      Src: /src/openssl/ssl/record/rec_layer_s3.c:306,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:319,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:326,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:326,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_s3.c:328,1
    - Dst: tls_write_check_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:337,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:343,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
      Src: /src/openssl/ssl/record/rec_layer_s3.c:344,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:370,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_s3.c:381,1
    - Dst: ssl_get_split_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_s3.c:382,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:391,1
    - Dst: SSL_get_state
      Src: /src/openssl/ssl/record/rec_layer_s3.c:400,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/record/rec_layer_s3.c:402,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::get_max_records
      Src: /src/openssl/ssl/record/rec_layer_s3.c:414,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:430,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:470,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::write_records
      Src: /src/openssl/ssl/record/rec_layer_s3.c:471,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: 489
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 489
    functionName: ssl3_write_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_statem_set_in_init
    - ossl_early_data_count_ok
    - ssl_get_max_send_fragment
    - HANDLE_RLAYER_WRITE_RETURN
    - tls_write_check_pending
    - SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
    - SSL_in_init
    - SSL*::method::ssl_dispatch_alert
    - ssl_get_split_send_fragment
    - SSL_CONNECTION_FROM_SSL_ONLY
    - TLS1_get_version
    - SSL_CONNECTION*::rlayer::wrlmethod::write_records
    - SSL_CONNECTION*::handshake_func
    - SSL_get_state
    - SSL_CONNECTION*::rlayer::wrlmethod::get_max_records
    - SSLfatal
    - ossl_statem_get_in_handshake
    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:494,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:507,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/record/rec_layer_s3.c:508,1
    - Dst: ossl_statem_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:509,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/ssl/record/rec_layer_s3.c:513,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:516,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/record/rec_layer_s3.c:517,1
    - Dst: ossl_statem_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:522,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_alert_code
      Src: /src/openssl/ssl/record/rec_layer_s3.c:526,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:529,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/record/rec_layer_s3.c:530,1
    - Dst: ossl_statem_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:531,1
    - Dst: ossl_statem_send_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:542,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - s
    - writing
    - ret
    - file
    - line
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 558
    functionName: ossl_tls_handle_rlayer_return
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_statem_fatal
    - ossl_statem_send_fatal
    - ERR_set_debug
    - SSL_CONNECTION*::rlayer::rrlmethod::get_alert_code
    - ERR_new
    - SSL_CONNECTION_GET_SSL
    - 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:566,1
    - Dst: HANDLE_RLAYER_READ_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:571,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:572,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:584,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: 565
        line_start: 565
        source_file: /src/openssl/ssl/record/rec_layer_s3.c
    constantsTouched: []
    func_position:
      end: 595
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 595
    functionName: ssl_release_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::release_record
    - assert
    - HANDLE_RLAYER_READ_RETURN
    - OPENSSL_free
    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:636,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:638,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:644,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:678,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:678,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_s3.c:680,1
    - Dst: HANDLE_RLAYER_READ_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:703,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::read_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:704,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:715,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:722,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:723,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:740,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:768,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_s3.c:769,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:770,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:777,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:790,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/rec_layer_s3.c:804,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:808,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:811,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:847,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:860,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:874,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_s3.c:875,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_s3.c:876,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/record/rec_layer_s3.c:877,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:878,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/record/rec_layer_s3.c:883,1
    - Dst: cb
      Src: /src/openssl/ssl/record/rec_layer_s3.c:893,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:899,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:904,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:923,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:927,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/record/rec_layer_s3.c:929,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:940,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:947,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:962,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:963,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_s3.c:970,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_s3.c:971,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_s3.c:972,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:983,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:985,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1008,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1015,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1023,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1032,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1036,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1038,1
    - Dst: RECORD_LAYER_read_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1055,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1064,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1065,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1066,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1082,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1092,1
    - Dst: ossl_statem_app_data_allowed
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1102,1
    - Dst: ossl_statem_skip_early_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1105,1
    - Dst: ossl_early_data_count_ok
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1115,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1120,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1124,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: 1128
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 1128
    functionName: ssl3_read_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - HANDLE_RLAYER_READ_RETURN
    - SSL_CONNECTION*::rlayer::rrlmethod::read_record
    - SSLfatal_data
    - memcpy
    - ossl_statem_get_in_handshake
    - ossl_statem_skip_early_data
    - cb
    - ssl_release_record
    - ossl_early_data_count_ok
    - SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
    - BIO_set_retry_read
    - SSL_CONNECTION*::handshake_func
    - ossl_statem_set_in_init
    - SSL_in_init
    - ossl_statem_app_data_allowed
    - PACKET_get_1
    - SSL_get_rbio
    - RECORD_LAYER_read_pending
    - SSLfatal
    - SSL_CONNECTION*::msg_callback
    - PACKET_remaining
    - SSL_IS_FIRST_HANDSHAKE
    - BIO_clear_retry_flags
    - SSL_CTX_remove_session
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_FROM_SSL_ONLY
    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_GET_USER_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1136,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1139,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: 1141
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1141
    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:1149,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: 1150
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1150
    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:1156,1
    - Dst: SSL_CONNECTION*::rlayer::record_padding_cb
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cbarg
    - type
    - len
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    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: 1176
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1176
    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:1186,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1196,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - s
    - direction
    - level
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1203
    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_DTLS
    - SSL_CONNECTION_IS_TLS13
    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:1220,1
    - Dst: SSL_set_options
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1224,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1228,1
    - Dst: OSSL_RECORD_METHOD*::set_first_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1229,1
    - Dst: OSSL_RECORD_METHOD*::set_max_pipelines
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - direction
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1235
    functionName: ssl_post_record_layer_select
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_IS_FIRST_HANDSHAKE
    - OSSL_RECORD_METHOD*::set_max_pipelines
    - OSSL_RECORD_METHOD*::set_first_handshake
    - SSL_set_options
    - SSL_CONNECTION_GET_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_post_record_layer_select(SSL_CONNECTION *s, int direction)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1252,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1256,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1263,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1271,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1275,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1281,1
    - Dst: ssl_select_next_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1287,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1302,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1303,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1308,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1310,1
    - Dst: OSSL_PARAM_construct_size_t
      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:1315,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1318,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1320,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1323,1
    - Dst: SSL_READ_ETM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1327,1
    - Dst: SSL_WRITE_ETM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1334,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1343,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1347,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1351,1
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1360,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1361,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1364,1
    - Dst: ossl_get_max_early_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1379,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1382,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1386,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1393,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1398,1
    - Dst: dtls1_get_epoch
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1400,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1403,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1404,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1404,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1407,1
    - Dst: BIO_s_mem
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1407,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1410,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1415,1
    - Dst: dtls1_get_epoch
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1417,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1424,1
    - Dst: OSSL_RECORD_METHOD*::new_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1440,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1448,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1451,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1463,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1471,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1484,1
    - Dst: pqueue_peek
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1486,1
    - Dst: free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1487,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1488,1
    - Dst: ssl_post_record_layer_select
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1496,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 137
    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: 1497
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1497
    functionName: ssl_set_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 5
    functionsReached:
    - SSL_WRITE_ETM
    - dtls1_get_epoch
    - BIO_s_dgram_mem
    - OSSL_RECORD_METHOD*::new_record_layer
    - USE_MAX_FRAGMENT_LENGTH_EXT
    - OSSL_PARAM_construct_uint
    - ossl_get_max_early_data
    - pqueue_peek
    - BIO_new
    - ERR_raise
    - OSSL_PARAM_construct_end
    - SSL_READ_ETM
    - BIO_s_mem
    - ssl_get_max_send_fragment
    - BIO_free
    - SSL_CONNECTION_IS_DTLS
    - ssl_select_next_record_layer
    - GET_MAX_FRAGMENT_LENGTH
    - OSSL_PARAM_construct_uint32
    - free
    - ossl_assert
    - SSLfatal
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_int
    - ssl_post_record_layer_select
    - OSSL_NELEM
    - SSL_CONNECTION_GET_CTX
    - OSSL_PARAM_construct_uint64
    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:1501,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1502,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_protocol_version
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1504,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_protocol_version
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - vers
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1508
    functionName: ssl_set_record_protocol_version
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSL_CONNECTION*::rlayer::wrlmethod::set_protocol_version
    - SSL_CONNECTION*::rlayer::rrlmethod::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
    - OPENSSL_malloc
    - pqueue_new
    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
    - pqueue_free
    - OPENSSL_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:
    - OPENSSL_free
    - pqueue_pop
    - memset
    - pitem_free
    - OPENSSL_cleanse
    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:121,1
    - Dst: ossl_statem_get_state
      Src: /src/openssl/ssl/record/rec_layer_d1.c:121,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/record/rec_layer_d1.c:122,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:130,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - s
    - rec
    argTypes:
    - SSL_CONNECTION*
    - TLS_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 135
    functionName: dtls_buffer_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - OPENSSL_memdup
    - pitem_new
    - BIO_dgram_is_sctp
    - pqueue_insert
    - OPENSSL_free
    - SSLfatal
    - pitem_free
    - ossl_statem_get_state
    - pqueue_size
    - ossl_assert
    - 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:147,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:157,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/record/rec_layer_d1.c:158,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:163,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: dtls_unbuffer_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_dgram_is_sctp
    - OPENSSL_free
    - pqueue_pop
    - 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:205,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:211,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_d1.c:215,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:215,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_d1.c:217,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/record/rec_layer_d1.c:232,1
    - Dst: dtls_unbuffer_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:233,1
    - Dst: dtls1_handle_timeout
      Src: /src/openssl/ssl/record/rec_layer_d1.c:236,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/record/rec_layer_d1.c:238,1
    - Dst: HANDLE_RLAYER_READ_RETURN
      Src: /src/openssl/ssl/record/rec_layer_d1.c:249,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::read_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:250,1
    - Dst: dtls1_read_failed
      Src: /src/openssl/ssl/record/rec_layer_d1.c:256,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_d1.c:268,1
    - Dst: dtls_buffer_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:290,1
    - Dst: ssl_release_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:304,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:322,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_d1.c:323,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:324,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:338,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/rec_layer_d1.c:348,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:350,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:353,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:362,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:362,1
    - Dst: BIO_dgram_sctp_msg_waiting
      Src: /src/openssl/ssl/record/rec_layer_d1.c:363,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:363,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:382,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_d1.c:383,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_d1.c:384,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/record/rec_layer_d1.c:385,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:386,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/record/rec_layer_d1.c:391,1
    - Dst: cb
      Src: /src/openssl/ssl/record/rec_layer_d1.c:401,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:411,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:423,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:423,1
    - Dst: BIO_dgram_sctp_msg_waiting
      Src: /src/openssl/ssl/record/rec_layer_d1.c:423,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:423,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_d1.c:426,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:426,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_d1.c:427,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:427,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:442,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/record/rec_layer_d1.c:448,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:452,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/record/rec_layer_d1.c:454,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:457,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:467,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:477,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_d1.c:485,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:494,1
    - Dst: dtls1_get_message_header
      Src: /src/openssl/ssl/record/rec_layer_d1.c:499,1
    - Dst: dtls1_check_timeout_num
      Src: /src/openssl/ssl/record/rec_layer_d1.c:506,1
    - Dst: dtls1_retransmit_buffered_messages
      Src: /src/openssl/ssl/record/rec_layer_d1.c:511,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/record/rec_layer_d1.c:513,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:516,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::unprocessed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_d1.c:519,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:524,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_d1.c:525,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_d1.c:526,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:539,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/record/rec_layer_d1.c:539,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:540,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:545,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_d1.c:547,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::unprocessed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_d1.c:555,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:565,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_d1.c:566,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_d1.c:567,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:576,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:586,1
    - Dst: ossl_statem_app_data_allowed
      Src: /src/openssl/ssl/record/rec_layer_d1.c:596,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:600,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: 605
      start: 197
    functionDepth: 6
    functionLinenumber: 197
    functionLinenumberEnd: 605
    functionName: dtls1_read_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - HANDLE_RLAYER_READ_RETURN
    - SSL_CONNECTION*::rlayer::rrlmethod::read_record
    - SSLfatal_data
    - dtls1_read_failed
    - memcpy
    - dtls1_retransmit_buffered_messages
    - ossl_statem_get_in_handshake
    - cb
    - ssl_release_record
    - BIO_dgram_is_sctp
    - dtls_unbuffer_record
    - SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
    - BIO_set_retry_read
    - dtls_buffer_record
    - SSL_CONNECTION*::handshake_func
    - ossl_statem_set_in_init
    - SSL_is_init_finished
    - ossl_statem_in_error
    - SSL_in_init
    - dtls1_check_timeout_num
    - ossl_statem_app_data_allowed
    - PACKET_get_1
    - SSL_get_rbio
    - SSL_CONNECTION*::rlayer::rrlmethod::unprocessed_read_pending
    - SSLfatal
    - SSL_CONNECTION*::msg_callback
    - ossl_assert
    - PACKET_remaining
    - SSL_IS_FIRST_HANDSHAKE
    - BIO_clear_retry_flags
    - BIO_dgram_sctp_msg_waiting
    - SSL_CTX_remove_session
    - SSL_CONNECTION_FROM_SSL
    - dtls1_get_message_header
    - dtls1_handle_timeout
    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:616,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:617,1
    - Dst: do_dtls1_write
      Src: /src/openssl/ssl/record/rec_layer_d1.c:621,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: 623
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 623
    functionName: dtls1_write_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 1
    functionsReached:
    - do_dtls1_write
    - SSLfatal
    - ossl_assert
    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:630,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:635,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_d1.c:644,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:645,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/record/rec_layer_d1.c:663,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::write_records
      Src: /src/openssl/ssl/record/rec_layer_d1.c:664,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: 670
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 670
    functionName: do_dtls1_write
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 2
    functionsReached:
    - ssl_get_max_send_fragment
    - HANDLE_RLAYER_WRITE_RETURN
    - SSL*::method::ssl_dispatch_alert
    - SSL_CONNECTION*::rlayer::wrlmethod::write_records
    - SSLfatal
    - SSL_CONNECTION_GET_SSL
    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:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - rw
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 685
    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: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:56,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:57,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:59,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:60,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:66,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:70,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:92,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:99,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:110,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 114
    functionName: tls_validate_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached:
    - 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: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    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: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    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: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    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: 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:80,1
    - Dst: EVP_CIPHER_is_a
      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:87,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:92,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:92,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:95,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:97,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:99,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:116,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: 122
      start: 73
    functionDepth: 9
    functionLinenumber: 73
    functionLinenumberEnd: 122
    functionName: ktls_configure_crypto
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - EVP_CIPHER_is_a
    - EVP_MD_is_a
    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:148,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:156,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:159,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:162,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: 168
      start: 128
    functionDepth: 9
    functionLinenumber: 128
    functionLinenumberEnd: 168
    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:186,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:187,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:188,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:189,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:193,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:196,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:201,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:205,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:211,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:212,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:215,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:217,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:223,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:224,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: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:232,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:234,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:240,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:241,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: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:250,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:252,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:258,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:259,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: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:267,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:273,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:274,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:275,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: 282
      start: 171
    functionDepth: 7
    functionLinenumber: 171
    functionLinenumberEnd: 282
    functionName: ktls_configure_crypto
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_nid
    - RAND_bytes_ex
    - memset
    - EVP_CIPHER_get_mode
    - memcpy
    - ossl_assert
    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:312,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:317,1
    - Dst: ktls_configure_crypto
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:325,1
    - Dst: BIO_set_ktls
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:331,1
    - Dst: BIO_set_ktls_tx_zerocopy_sendfile
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:339,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: 342
      start: 286
    functionDepth: 10
    functionLinenumber: 286
    functionLinenumberEnd: 342
    functionName: ktls_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - ktls_int_check_supported_cipher
    - BIO_set_ktls
    - BIO_set_ktls_tx_zerocopy_sendfile
    - BIO_flush
    - ktls_configure_crypto
    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:349,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:354,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
    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: 371
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 371
    functionName: ktls_read_n
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - tls_default_read_n
    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: 378
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 378
    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:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 388
    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:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    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:415,1
    - Dst: funcs::set_crypto_state
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:425,1
    - Dst: tls_free
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:430,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: 440
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 440
    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:446,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: 456
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 456
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_is_app_buffer
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:479,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:480,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:480,1
    - Dst: TLS_BUFFER_set_buf
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:486,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:487,1
    - Dst: TLS_BUFFER_set_app_buffer
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    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: 491
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 491
    functionName: ktls_initialise_write_packets
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - TLS_BUFFER_set_offset
    - OPENSSL_free
    - TLS_BUFFER_set_buf
    - TLS_BUFFER_is_app_buffer
    - TLS_BUFFER_get_buf
    - TLS_BUFFER_set_app_buffer
    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: 503
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 503
    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: 512
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 512
    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: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    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:531,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:534,1
    - Dst: BIO_set_ktls_ctrl_msg
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rl
    - type
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 544
    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:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 553
    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: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls_multib.c:29,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/record/methods/tls_multib.c:30,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls_multib.c:31,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls_multib.c:31,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: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: tls_is_multiblock_capable
    functionSourceFile: /src/openssl/ssl/record/methods/tls_multib.c
    functionUses: 0
    functionsReached:
    - RLAYER_USE_EXPLICIT_IV
    - BIO_get_ktls_send
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_CTX_get0_cipher
    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:43,1
    - Dst: tls_get_max_records_default
      Src: /src/openssl/ssl/record/methods/tls_multib.c:54,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: 55
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 55
    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:92,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls_multib.c:109,1
    - Dst: tls_setup_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_multib.c:113,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls_multib.c:120,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls_multib.c:130,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_multib.c:135,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls_multib.c:143,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_multib.c:147,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: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 165
    functionName: tls_write_records_multiblock_int
    functionSourceFile: /src/openssl/ssl/record/methods/tls_multib.c
    functionUses: 0
    functionsReached:
    - tls_setup_write_buffer
    - RLAYERfatal
    - EVP_CIPHER_CTX_ctrl
    - memcpy
    - 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_multiblock_int
    - tls_write_records_default
    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: 1
    functionsReached:
    - constant_time_ge_s
    - ssl3_cbc_copy_mac
    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
    - constant_time_ge_s
    - ssl3_cbc_copy_mac
    - constant_time_ge_8_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:302,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/tls_pad.c:305,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: 311
      start: 182
    functionDepth: 7
    functionLinenumber: 182
    functionLinenumberEnd: 311
    functionName: ssl3_cbc_copy_mac
    functionSourceFile: /src/openssl/ssl/record/methods/tls_pad.c
    functionUses: 2
    functionsReached:
    - constant_time_eq_8_s
    - constant_time_lt_s
    - constant_time_eq_s
    - memset
    - RAND_bytes_ex
    - constant_time_select_8
    - ossl_assert
    - constant_time_eq_8
    - 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:
    - ERR_vset_error
    - va_end
    - 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: 0
    functionsReached:
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_get_flags
    - EVP_MD_get_size
    - OSSL_PARAM_construct_end
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    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: 0
    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:
    - TLS_BUFFER_set_app_buffer
    - TLS_BUFFER_is_app_buffer
    - OPENSSL_free
    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:
    - RLAYERfatal
    - OPENSSL_free
    - tls_allow_compression
    - tls_release_write_buffer_int
    - memset
    - 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:
    - tls_allow_compression
    - RLAYERfatal
    - 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_cleanse
    - OPENSSL_free
    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:
    - RLAYERfatal
    - clear_sys_error
    - BIO_should_retry
    - BIO_read
    - BIO_free
    - memmove
    - tls_release_read_buffer
    - ossl_assert
    - BIO_eof
    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:
    - n2s
    - TLS_BUFFER_get_buf
    - TLS_BUFFER_get_left
    - 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: 46
    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:581,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:582,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/record/methods/tls_common.c:591,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:592,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/methods/tls_common.c:597,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/record/methods/tls_common.c:598,1
    - Dst: PACKET_get_net_2_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:599,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:601,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:602,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:609,1
    - Dst: OSSL_RECORD_LAYER*::funcs::validate_record_header
      Src: /src/openssl/ssl/record/methods/tls_common.c:611,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:616,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:617,1
    - Dst: OSSL_RECORD_LAYER*::funcs::read_n
      Src: /src/openssl/ssl/record/methods/tls_common.c:639,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls_common.c:681,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls_common.c:683,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:683,1
    - Dst: tls_record_app_data_waiting
      Src: /src/openssl/ssl/record/methods/tls_common.c:686,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:697,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:706,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:710,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls_common.c:722,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/record/methods/tls_common.c:725,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:726,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:727,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:745,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:750,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:751,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:752,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:765,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:767,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:772,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:773,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:784,1
    - Dst: OSSL_RECORD_LAYER*::skip_early_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:789,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:799,1
    - Dst: rlayer_early_data_count_ok
      Src: /src/openssl/ssl/record/methods/tls_common.c:803,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_common.c:814,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:818,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:819,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:823,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls_common.c:827,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls_common.c:828,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/tls_common.c:830,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls_common.c:835,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:841,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:843,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:867,1
    - Dst: OSSL_RECORD_LAYER*::funcs::post_process_record
      Src: /src/openssl/ssl/record/methods/tls_common.c:875,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:892,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:908,1
    - Dst: rlayer_early_data_count_ok
      Src: /src/openssl/ssl/record/methods/tls_common.c:920,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:934,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:936,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 212
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 939
    functionName: tls_get_more_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    - PACKET_buf_init
    - OSSL_TRACE_END
    - EVP_MD_CTX_get0_md
    - tls_record_app_data_waiting
    - OSSL_RECORD_LAYER*::msg_callback
    - ERR_pop_to_mark
    - rlayer_early_data_count_ok
    - RLAYERfatal
    - OPENSSL_free
    - RLAYER_USE_EXPLICIT_IV
    - PACKET_get_net_2_len
    - OPENSSL_calloc
    - OSSL_RECORD_LAYER*::funcs::post_process_record
    - EVP_CIPHER_CTX_get0_cipher
    - OSSL_RECORD_LAYER*::funcs::cipher
    - OSSL_RECORD_LAYER*::funcs::validate_record_header
    - PACKET_get_net_2
    - EVP_CIPHER_get_flags
    - OSSL_RECORD_LAYER*::funcs::mac
    - BIO_dump_indent
    - tls_setup_read_buffer
    - memset
    - PACKET_get_1
    - ossl_assert
    - ERR_set_mark
    - OSSL_RECORD_LAYER*::funcs::read_n
    - CRYPTO_memcmp
    - BIO_printf
    - EVP_MD_get_size
    - TLS_BUFFER_get_len
    - OSSL_RECORD_LAYER*::skip_early_data
    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:827,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls_common.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 829
    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:947,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 967
    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:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rl
    - wr
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 986
    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:995,1
    - Dst: COMP_expand_block
      Src: /src/openssl/ssl/record/methods/tls_common.c:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1011
    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:1018,1
    - Dst: tls_do_uncompress
      Src: /src/openssl/ssl/record/methods/tls_common.c:1022,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1023,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1035
    functionName: tls_default_post_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - tls_do_uncompress
    - RLAYERfatal
    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:1043,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1050,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1060,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1065
    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:1083,1
    - Dst: OSSL_RECORD_LAYER*::funcs::get_more_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1087,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls_common.c:1106,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: 1110
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1110
    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:1116,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:1117,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1119,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1125,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/record/methods/tls_common.c:1130,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1142,1
    - Dst: tls_release_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1143,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: 1146
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1146
    functionName: tls_release_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - TLS_BUFFER_get_left
    - tls_release_read_buffer
    - OPENSSL_cleanse
    - ossl_assert
    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:1152,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/ssl/record/methods/tls_common.c:1153,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1154,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1158,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/ssl/record/methods/tls_common.c:1159,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1160,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1165,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:1167,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1168,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1172,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:1174,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1175,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1178,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:1180,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1181,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1193,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1195,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1196,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - rl
    - options
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1148
    functionDepth: 6
    functionLinenumber: 1148
    functionLinenumberEnd: 1202
    functionName: tls_set_options
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint64
    - ERR_raise
    - OSSL_PARAM_locate_const
    - 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:1213,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1230,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1231,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1232,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1235,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/record/methods/tls_common.c:1238,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1239,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1242,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/ssl/record/methods/tls_common.c:1245,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1246,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1249,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1252,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1253,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1256,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1259,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1260,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1264,1
    - Dst: tls_set1_bio
      Src: /src/openssl/ssl/record/methods/tls_common.c:1286,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/record/methods/tls_common.c:1289,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/record/methods/tls_common.c:1293,1
    - Dst: OSSL_FUNC_rlayer_skip_early_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1302,1
    - Dst: OSSL_FUNC_rlayer_msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1305,1
    - Dst: OSSL_FUNC_rlayer_security
      Src: /src/openssl/ssl/record/methods/tls_common.c:1308,1
    - Dst: OSSL_FUNC_rlayer_padding
      Src: /src/openssl/ssl/record/methods/tls_common.c:1311,1
    - Dst: tls_set_options
      Src: /src/openssl/ssl/record/methods/tls_common.c:1319,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1320,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/tls_common.c:1326,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/tls_common.c:1327,1
    - Dst: tls_int_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1338,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: 1340
      start: 1204
    functionDepth: 9
    functionLinenumber: 1204
    functionLinenumberEnd: 1340
    functionName: tls_int_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - OSSL_FUNC_rlayer_padding
    - OPENSSL_zalloc
    - OSSL_PARAM_get_int
    - tls_set_options
    - OSSL_FUNC_rlayer_msg_callback
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_uint
    - ERR_raise
    - strcmp
    - tls_set1_bio
    - OSSL_FUNC_rlayer_security
    - tls_int_free
    - BIO_up_ref
    - EVP_CIPHER_is_a
    - OSSL_FUNC_rlayer_skip_early_data
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: tls_int_new_record_layer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1359,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1381,1
    - Dst: funcs::set_crypto_state
      Src: /src/openssl/ssl/record/methods/tls_common.c:1386,1
    - Dst: tls_int_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    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: 1396
      start: 1342
    functionDepth: 10
    functionLinenumber: 1342
    functionLinenumberEnd: 1396
    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:1400,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/record/methods/tls_common.c:1401,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1402,1
    - Dst: ossl_tls_buffer_release
      Src: /src/openssl/ssl/record/methods/tls_common.c:1403,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1405,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1407,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1408,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1409,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1411,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1413,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1414,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/record/methods/tls_common.c:1416,1
    - Dst: TLS_RL_RECORD_release
      Src: /src/openssl/ssl/record/methods/tls_common.c:1418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1398
    functionDepth: 8
    functionLinenumber: 1398
    functionLinenumberEnd: 1421
    functionName: tls_int_free
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 2
    functionsReached:
    - tls_release_write_buffer
    - OPENSSL_free
    - OPENSSL_cleanse
    - BIO_free
    - EVP_MAC_CTX_free
    - TLS_RL_RECORD_release
    - BIO_free_all
    - EVP_CIPHER_CTX_free
    - EVP_MD_CTX_free
    - COMP_CTX_free
    - ossl_tls_buffer_release
    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:1434,1
    - Dst: BIO_write_ex
      Src: /src/openssl/ssl/record/methods/tls_common.c:1440,1
    - Dst: tls_int_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1423
    functionDepth: 9
    functionLinenumber: 1423
    functionLinenumberEnd: 1445
    functionName: tls_free
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 2
    functionsReached:
    - TLS_BUFFER_get_left
    - BIO_write_ex
    - 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:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1450
    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: 1455
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1455
    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: 1468
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1468
    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:1480,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:1480,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls_common.c:1483,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: 1494
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1494
    functionName: tls_get_max_records_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - RLAYER_USE_EXPLICIT_IV
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_get_flags
    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:1499,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: 1500
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1500
    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:1507,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: 1513
      start: 1502
    functionDepth: 3
    functionLinenumber: 1502
    functionLinenumberEnd: 1513
    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:1534,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1539,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:1541,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1541,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:1542,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1543,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1547,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1548,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: 1554
      start: 1515
    functionDepth: 4
    functionLinenumber: 1515
    functionLinenumberEnd: 1554
    functionName: tls_initialise_write_packets_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - TLS_BUFFER_set_offset
    - WPACKET_allocate_bytes
    - TLS_BUFFER_get_len
    - 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:1570,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/tls_common.c:1571,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/record/methods/tls_common.c:1572,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1574,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1576,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1578,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: 1583
      start: 1556
    functionDepth: 2
    functionLinenumber: 1556
    functionLinenumberEnd: 1583
    functionName: tls_prepare_record_header_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - WPACKET_allocate_bytes
    - WPACKET_start_sub_packet_u16
    - WPACKET_reserve_bytes
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    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:1602,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:1603,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1604,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1615,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1620,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1621,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/record/methods/tls_common.c:1626,1
    - Dst: TLS_RL_RECORD_set_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1627,1
    - Dst: TLS_RL_RECORD_reset_input
      Src: /src/openssl/ssl/record/methods/tls_common.c:1628,1
    - Dst: TLS_RL_RECORD_set_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1629,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: 1632
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1632
    functionName: tls_prepare_for_encryption_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - RLAYERfatal
    - WPACKET_allocate_bytes
    - TLS_RL_RECORD_set_data
    - WPACKET_reserve_bytes
    - OSSL_RECORD_LAYER*::funcs::mac
    - WPACKET_get_length
    - TLS_RL_RECORD_set_length
    - TLS_RL_RECORD_reset_input
    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:1645,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:1647,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1653,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1656,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1662,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:1663,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1664,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1668,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1671,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/record/methods/tls_common.c:1672,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1673,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/record/methods/tls_common.c:1680,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1681,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1687,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/record/methods/tls_common.c:1692,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1693,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1697,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: 1700
      start: 1634
    functionDepth: 4
    functionLinenumber: 1634
    functionLinenumberEnd: 1700
    functionName: tls_post_encryption_processing_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_curr
    - RLAYERfatal
    - WPACKET_allocate_bytes
    - TLS_RL_RECORD_add_length
    - OSSL_RECORD_LAYER*::funcs::mac
    - WPACKET_finish
    - WPACKET_get_length
    - WPACKET_close
    - ossl_assert
    - OSSL_RECORD_LAYER*::msg_callback
    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:1716,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/tls_common.c:1717,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1719,1
    - Dst: OSSL_RECORD_LAYER*::funcs::allocate_write_buffers
      Src: /src/openssl/ssl/record/methods/tls_common.c:1724,1
    - Dst: OSSL_RECORD_LAYER*::funcs::initialise_write_packets
      Src: /src/openssl/ssl/record/methods/tls_common.c:1729,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1737,1
    - Dst: OSSL_RECORD_LAYER*::funcs::get_record_type
      Src: /src/openssl/ssl/record/methods/tls_common.c:1751,1
    - Dst: TLS_RL_RECORD_set_type
      Src: /src/openssl/ssl/record/methods/tls_common.c:1755,1
    - Dst: TLS_RL_RECORD_set_rec_version
      Src: /src/openssl/ssl/record/methods/tls_common.c:1756,1
    - Dst: OSSL_RECORD_LAYER*::funcs::prepare_record_header
      Src: /src/openssl/ssl/record/methods/tls_common.c:1758,1
    - Dst: TLS_RL_RECORD_set_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1765,1
    - Dst: TLS_RL_RECORD_set_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1766,1
    - Dst: TLS_RL_RECORD_set_input
      Src: /src/openssl/ssl/record/methods/tls_common.c:1768,1
    - Dst: tls_do_compress
      Src: /src/openssl/ssl/record/methods/tls_common.c:1777,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1778,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1779,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/record/methods/tls_common.c:1783,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1784,1
    - Dst: TLS_RL_RECORD_reset_input
      Src: /src/openssl/ssl/record/methods/tls_common.c:1787,1
    - Dst: OSSL_RECORD_LAYER*::funcs::add_record_padding
      Src: /src/openssl/ssl/record/methods/tls_common.c:1791,1
    - Dst: OSSL_RECORD_LAYER*::funcs::prepare_for_encryption
      Src: /src/openssl/ssl/record/methods/tls_common.c:1797,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:1804,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1806,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:1812,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1814,1
    - Dst: OSSL_RECORD_LAYER*::funcs::post_encryption_processing
      Src: /src/openssl/ssl/record/methods/tls_common.c:1824,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1831,1
    - Dst: TLS_RL_RECORD_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1831,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/record/methods/tls_common.c:1837,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: 1839
      start: 1702
    functionDepth: 3
    functionLinenumber: 1702
    functionLinenumberEnd: 1839
    functionName: tls_write_records_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - WPACKET_cleanup
    - TLS_RL_RECORD_set_data
    - EVP_MD_CTX_get0_md
    - TLS_RL_RECORD_set_rec_version
    - OSSL_RECORD_LAYER*::funcs::allocate_write_buffers
    - tls_do_compress
    - OSSL_RECORD_LAYER*::funcs::post_encryption_processing
    - RLAYERfatal
    - TLS_RL_RECORD_set_type
    - TLS_BUFFER_set_left
    - OSSL_RECORD_LAYER*::funcs::add_record_padding
    - TLS_RL_RECORD_get_length
    - TLS_RL_RECORD_reset_input
    - OSSL_RECORD_LAYER*::funcs::prepare_for_encryption
    - WPACKET_allocate_bytes
    - OSSL_RECORD_LAYER*::funcs::cipher
    - OSSL_RECORD_LAYER*::funcs::initialise_write_packets
    - memset
    - WPACKET_memcpy
    - EVP_MD_CTX_get_size
    - OSSL_RECORD_LAYER*::funcs::get_record_type
    - TLS_RL_RECORD_set_input
    - TLS_RL_RECORD_set_length
    - OSSL_RECORD_LAYER*::funcs::prepare_record_header
    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:1845,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1846,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1847,1
    - Dst: OSSL_RECORD_LAYER*::funcs::write_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1851,1
    - Dst: tls_retry_write_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1858,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: 1859
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1859
    functionName: tls_write_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_LAYER*::funcs::write_records
    - tls_retry_write_records
    - RLAYERfatal
    - TLS_BUFFER_get_left
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int tls_write_records(OSSL_RECORD_LAYER *rl, OSSL_RECORD_TEMPLATE
      *templates,\n    size_t numtempl)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/record/methods/tls_common.c:1873,1
    - Dst: OSSL_RECORD_LAYER*::funcs::prepare_write_bio
      Src: /src/openssl/ssl/record/methods/tls_common.c:1876,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/record/methods/tls_common.c:1880,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1880,1
    - Dst: TLS_BUFFER_get_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1880,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1881,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/tls_common.c:1884,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/tls_common.c:1889,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1892,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/record/methods/tls_common.c:1892,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1898,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1910,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1911,1
    - Dst: TLS_BUFFER_add_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1912,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1918,1
    - Dst: TLS_BUFFER_is_app_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1926,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1928,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:1931,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1933,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls_common.c:1936,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1937,1
    - Dst: TLS_BUFFER_get_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1937,1
    - Dst: TLS_BUFFER_set_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1939,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1940,1
    - Dst: TLS_BUFFER_set_app_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1941,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1948,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1951,1
    - Dst: TLS_BUFFER_add_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1955,1
    - Dst: TLS_BUFFER_sub_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1956,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1861
    functionDepth: 4
    functionLinenumber: 1861
    functionLinenumberEnd: 1958
    functionName: tls_retry_write_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - clear_sys_error
    - TLS_BUFFER_set_offset
    - TLS_BUFFER_set_buf
    - TLS_BUFFER_get_left
    - OSSL_RECORD_LAYER*::funcs::prepare_write_bio
    - memcpy
    - TLS_BUFFER_set_app_buffer
    - tls_release_write_buffer
    - RLAYERfatal
    - BIO_should_retry
    - ERR_raise_data
    - BIO_write
    - TLS_BUFFER_set_left
    - get_last_sys_error
    - TLS_BUFFER_get_offset
    - OPENSSL_malloc
    - TLS_BUFFER_add_offset
    - TLS_BUFFER_is_app_buffer
    - TLS_BUFFER_sub_left
    - TLS_BUFFER_get_buf
    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: 1963
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1963
    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:1967,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/record/methods/tls_common.c:1969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - bio
    argTypes:
    - OSSL_RECORD_LAYER*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1965
    functionDepth: 4
    functionLinenumber: 1965
    functionLinenumberEnd: 1973
    functionName: tls_set1_bio
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - BIO_free_all
    - BIO_up_ref
    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: 1982
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1982
    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:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - version
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1984
    functionDepth: 3
    functionLinenumber: 1984
    functionLinenumberEnd: 1987
    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: 1992
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1992
    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: 1997
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1997
    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: 2004
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2004
    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: 2028
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2028
    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:2033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2037
    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: 2049
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2049
    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:2063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2051
    functionDepth: 1
    functionLinenumber: 2051
    functionLinenumberEnd: 2067
    functionName: tls_increment_sequence_ctr
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    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:2081,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2089,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2096,1
    - Dst: tls_setup_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2069
    functionDepth: 3
    functionLinenumber: 2069
    functionLinenumberEnd: 2099
    functionName: tls_alloc_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - TLS_BUFFER_get_left
    - tls_setup_write_buffer
    - TLS_BUFFER_set_left
    - tls_setup_read_buffer
    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:2113,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2116,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2125,1
    - Dst: tls_release_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2101
    functionDepth: 3
    functionLinenumber: 2101
    functionLinenumberEnd: 2130
    functionName: tls_free_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - tls_release_read_buffer
    - tls_release_write_buffer
    - TLS_BUFFER_get_left
    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:76,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:80,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: 85
      start: 16
    functionDepth: 10
    functionLinenumber: 16
    functionLinenumberEnd: 85
    functionName: tls13_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_name
    - EVP_CIPHER_CTX_new
    - EVP_MAC_fetch
    - EVP_MAC_free
    - EVP_CipherInit_ex
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_mode
    - memcpy
    - EVP_CIPHER_is_a
    - OPENSSL_malloc
    - EVP_MAC_CTX_new
    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:107,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:116,1
    - Dst: memmove
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:127,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:134,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:136,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:140,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:159,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:163,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:167,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:173,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:174,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:175,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:176,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:177,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:179,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:180,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:181,1
    - Dst: EVP_MAC_CTX_dup
      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_update
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:190,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:191,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:192,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:193,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:198,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:200,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:207,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:211,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:213,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:216,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:218,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:219,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:220,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:229,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:232,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:235,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:238,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:244,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:247,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: 254
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 254
    functionName: tls13_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - WPACKET_cleanup
    - EVP_MAC_CTX_get_mac_size
    - EVP_CIPHER_get_mode
    - memcpy
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherInit_ex
    - WPACKET_get_total_written
    - RLAYERfatal
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - WPACKET_init_static_len
    - tls_increment_sequence_ctr
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_MAC_CTX_free
    - EVP_CipherFinal_ex
    - EVP_MAC_final
    - CRYPTO_memcmp
    - EVP_CipherUpdate
    - memmove
    - EVP_CIPHER_CTX_ctrl
    - WPACKET_put_bytes_u16
    - EVP_MAC_CTX_dup
    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:263,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:268,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 278
    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:288,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:302,1
    - Dst: tls13_common_post_process_record
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 312
    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: 326
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 326
    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:339,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:340,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:343,1
    - Dst: TLS_RL_RECORD_get_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:346,1
    - Dst: OSSL_RECORD_LAYER*::padding
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:368,1
    - Dst: WPACKET_memset
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:401,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:402,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:406,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: 411
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 411
    functionName: tls13_add_record_padding
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - TLS_RL_RECORD_add_length
    - WPACKET_memset
    - WPACKET_put_bytes_u8
    - OSSL_RECORD_LAYER*::padding
    - TLS_RL_RECORD_get_length
    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:
    - ossl_tls_rl_record_set_seq_num
    - satsub64be
    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:
    - memcpy
    - satsub64be
    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:212,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:213,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:215,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:220,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:223,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:225,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:241,1
    - Dst: tls_do_uncompress
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:245,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:246,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:256,1
    - Dst: dtls_record_bitmap_update
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:279,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 2
    argNames:
    - rl
    - bitmap
    argTypes:
    - OSSL_RECORD_LAYER*
    - DTLS_BITMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 281
    functionName: dtls_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - CRYPTO_memcmp
    - BIO_printf
    - RLAYERfatal
    - OSSL_RECORD_LAYER*::funcs::cipher
    - ERR_clear_last_mark
    - OSSL_TRACE_END
    - tls_do_uncompress
    - dtls_record_bitmap_update
    - EVP_MD_CTX_get0_md
    - OSSL_RECORD_LAYER*::funcs::mac
    - EVP_MD_get_size
    - OPENSSL_free
    - BIO_dump_indent
    - ossl_assert
    - ERR_set_mark
    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:212,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 214
    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:290,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:293,1
    - Dst: pitem_new
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:296,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:297,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:298,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:304,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:305,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:311,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:312,1
    - Dst: tls_setup_read_buffer
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:317,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:318,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:325,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:326,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: 330
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 330
    functionName: dtls_rlayer_buffer_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - pitem_new
    - RLAYERfatal
    - pqueue_insert
    - OPENSSL_free
    - memset
    - tls_setup_read_buffer
    - pitem_free
    - pqueue_size
    - memcpy
    - OPENSSL_malloc
    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:339,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:343,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:344,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - rl
    - item
    argTypes:
    - OSSL_RECORD_LAYER*
    - pitem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: dtls_copy_rlayer_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_tls_buffer_release
    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:357,1
    - Dst: dtls_copy_rlayer_record
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:359,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:361,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rl
    - queue
    argTypes:
    - OSSL_RECORD_LAYER*
    - struct pqueue_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 368
    functionName: dtls_retrieve_rlayer_buffered_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - dtls_copy_rlayer_record
    - pqueue_pop
    - pitem_free
    - OPENSSL_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:
    - OPENSSL_free
    - pqueue_pop
    - pitem_free
    - tls_free
    - pqueue_free
    - BIO_write_ex
    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:
    - tls_int_new_record_layer
    - dtls_free
    - ERR_raise
    - funcs::set_crypto_state
    - 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:
    - RLAYERfatal
    - WPACKET_allocate_bytes
    - WPACKET_start_sub_packet_u16
    - WPACKET_reserve_bytes
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - 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_increment_sequence_ctr
    - tls_post_encryption_processing_default
    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:748,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:749,1
    - Dst: assert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:758,1
    - Dst: assert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:759,1
    - Dst: EVP_MD_size
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts:
    - condition: (rl->md == NULL || (int)rl->taglen == EVP_MD_size(rl->md))
      pos:
        line_end: 758
        line_start: 758
        source_file: /src/openssl/ssl/record/methods/dtls_meth.c
    - condition: (rl->enc_ctx == NULL || ((blocksize == 0 || rl->eivlen > 0) && rl->taglen
        > 0))
      pos:
        line_end: 757
        line_start: 757
        source_file: /src/openssl/ssl/record/methods/dtls_meth.c
    constantsTouched: []
    func_position:
      end: 773
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 773
    functionName: dtls_get_max_record_overhead
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX_get_mode
    - assert
    - EVP_MD_size
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_get_max_record_overhead(OSSL_RECORD_LAYER *rl)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:37,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:38,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:44,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:46,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:53,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:63,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:65,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:74,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:83,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:86,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:89,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:89,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:94,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:97,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:100,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:101,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:105,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:108,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:109,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:110,1
    - Dst: EVP_CIPHER_CTX_ctrl
      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:116,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:120,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:125,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:130,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:135,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:139,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:139,1
    - Dst: ossl_set_tls_provider_parameters
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:140,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:146,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:147,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:151,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:153,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    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: 168
      start: 19
    functionDepth: 9
    functionLinenumber: 19
    functionLinenumberEnd: 168
    functionName: tls1_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - COMP_CTX_new
    - EVP_DigestSignInit_ex
    - EVP_PKEY_new_mac_key
    - EVP_CIPHER_get_mode
    - EVP_MD_CTX_new
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherInit_ex
    - RLAYERfatal
    - ERR_raise
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - RLAYER_USE_EXPLICIT_IV
    - OSSL_PARAM_construct_utf8_string
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_get_flags
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_get0_provider
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_CTX_ctrl
    - ossl_set_tls_provider_parameters
    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: 35
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:195,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:199,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:200,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:202,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:203,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:208,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:209,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:213,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:219,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:220,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:221,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:227,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:229,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:232,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:238,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:239,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:243,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:243,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:246,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: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:258,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:265,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:265,1
    - Dst: s2n
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:275,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:276,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:277,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:279,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:280,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:291,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:294,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:316,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:319,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:326,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:329,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:332,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:348,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:359,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:363,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:374,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:377,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:380,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:393,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:396,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:398,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:400,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 138
    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: 408
      start: 181
    functionDepth: 7
    functionLinenumber: 181
    functionLinenumberEnd: 408
    functionName: tls1_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_block_size
    - EVP_MD_CTX_get0_md
    - RAND_bytes_ex
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get_mode
    - memcpy
    - RLAYERfatal
    - OSSL_PARAM_construct_end
    - RLAYER_USE_EXPLICIT_IV
    - tls_increment_sequence_ctr
    - s2n
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_get_flags
    - ossl_assert
    - EVP_MD_CTX_get_size
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_octet_ptr
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:424,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:425,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:432,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:433,1
    - Dst: EVP_MD_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:441,1
    - Dst: s2n
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:447,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:448,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:450,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:452,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:462,1
    - Dst: ssl3_cbc_record_digest_supported
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:463,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:466,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:468,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:470,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:472,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:476,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:480,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:481,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:482,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:487,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:488,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:489,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:490,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:492,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:494,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:501,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:502,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:504,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:507,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 4
    argNames:
    - rl
    - rec
    - md
    - sending
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 410
    functionDepth: 8
    functionLinenumber: 410
    functionLinenumberEnd: 509
    functionName: tls1_mac
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - OSSL_TRACE_END
    - EVP_PKEY_CTX_set_params
    - EVP_MD_CTX_new
    - memcpy
    - RLAYERfatal
    - OSSL_PARAM_construct_end
    - EVP_MD_CTX_ctrl
    - EVP_MD_CTX_copy
    - EVP_MD_CTX_free
    - tls_increment_sequence_ctr
    - s2n
    - EVP_DigestSignUpdate
    - BIO_dump_indent
    - ssl3_cbc_record_digest_supported
    - EVP_MD_CTX_get_pkey_ctx
    - ossl_assert
    - OSSL_PARAM_construct_size_t
    - EVP_MD_CTX_get_size
    - BIO_printf
    - EVP_CIPHER_CTX_get_mode
    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:487,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:488,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:489,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 491
    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:501,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 503
    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:546,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: 553
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 553
    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:585,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:589,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:591,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:591,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:592,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:593,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:597,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:598,1
    - Dst: tls_initialise_write_packets_default
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:603,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: 607
      start: 556
    functionDepth: 5
    functionLinenumber: 556
    functionLinenumberEnd: 607
    functionName: tls1_initialise_write_packets
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - TLS_BUFFER_set_offset
    - WPACKET_allocate_bytes
    - tls_initialise_write_packets_default
    - TLS_BUFFER_get_len
    - TLS_BUFFER_get_buf
    - 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:182,1
    - Dst: SHA1_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:183,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:188,1
    - Dst: SHA224_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:189,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:194,1
    - Dst: SHA256_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:195,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:200,1
    - Dst: SHA384_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:201,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:208,1
    - Dst: SHA512_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:209,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:223,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:226,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:227,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:228,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:327,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:328,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:330,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:334,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:338,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:344,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:369,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:370,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:371,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:372,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:374,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: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:385,1
    - Dst: constant_time_eq_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:396,1
    - Dst: constant_time_eq_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:397,1
    - Dst: constant_time_ge_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:408,1
    - Dst: constant_time_ge_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:409,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:415,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:433,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:439,1
    - Dst: md_final_raw
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:440,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:446,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:450,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:454,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:456,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:457,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:458,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_DigestFinal
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:469,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:475,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: 477
      start: 126
    functionDepth: 9
    functionLinenumber: 126
    functionLinenumberEnd: 477
    functionName: ssl3_cbc_digest_record
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 1
    functionsReached:
    - constant_time_eq_8_s
    - EVP_DigestFinal
    - md_transform
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - memcpy
    - EVP_DigestInit_ex
    - SHA384_Init
    - SHA224_Init
    - EVP_MD_CTX_free
    - MD5_Init
    - SHA512_Init
    - SHA1_Init
    - EVP_MD_is_a
    - memset
    - constant_time_select_8
    - ossl_assert
    - md_final_raw
    - constant_time_ge_8_s
    - SHA256_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: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    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: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    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: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    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: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    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: 5
    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: 2
    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: 4
    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: 3
    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: 3
    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*::get_sstream_by_id
    - ossl_quic_sstream_mark_acked_fin
    - QUIC_FIFD*::confirm_frame
    - ossl_quic_txpim_pkt_get_num_chunks
    - ossl_quic_cfq_release
    - ossl_quic_sstream_mark_acked
    - ossl_quic_txpim_pkt_get_chunks
    - QUIC_FIFD*::sstream_updated
    - ossl_quic_sstream_is_totally_acked
    - ossl_quic_txpim_pkt_release
    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:
    - ossl_quic_sstream_mark_lost
    - QUIC_FIFD*::get_sstream_by_id
    - ossl_quic_txpim_pkt_get_num_chunks
    - ossl_qlog_event_recovery_packet_lost
    - QUIC_FIFD*::regen_frame
    - fifd_get_qlog
    - ossl_quic_txpim_pkt_get_chunks
    - ossl_quic_sstream_mark_lost_fin
    - ossl_quic_txpim_pkt_release
    - QUIC_FIFD*::sstream_updated
    - ossl_quic_cfq_mark_lost
    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_cfq_release
    - ossl_quic_txpim_pkt_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_num_chunks
    - ossl_quic_cfq_mark_tx
    - ossl_list_tx_history_init_elem
    - ossl_quic_txpim_pkt_get_chunks
    - ossl_ackm_on_tx_packet
    - ossl_quic_sstream_mark_transmitted
    - ossl_quic_sstream_mark_transmitted_fin
    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_set_local_addr_enable
    - BIO_dgram_get_local_addr_cap
    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:
    - ossl_list_urxe_remove
    - ossl_list_urxe_head
    - ossl_list_urxe_next
    - OPENSSL_free
    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:
    - demux_free_urxl
    - OPENSSL_free
    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: 6
    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:187,1
    - Dst: ossl_list_urxe_insert_head
      Src: /src/openssl/ssl/quic/quic_demux.c:191,1
    - Dst: ossl_list_urxe_insert_after
      Src: /src/openssl/ssl/quic/quic_demux.c:193,1
    - Dst: ossl_list_urxe_insert_head
      Src: /src/openssl/ssl/quic/quic_demux.c:199,1
    - Dst: ossl_list_urxe_insert_after
      Src: /src/openssl/ssl/quic/quic_demux.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - demux
    - e
    - new_alloc_len
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 205
    functionName: demux_resize_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_prev
    - ossl_list_urxe_insert_after
    - OPENSSL_realloc
    - ossl_list_urxe_insert_head
    - ossl_list_urxe_remove
    - ossl_assert
    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:210,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: 211
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 211
    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:217,1
    - Dst: demux_alloc_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:218,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - demux
    - min_num_free
    argTypes:
    - QUIC_DEMUX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: demux_ensure_free_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - demux_alloc_urxe
    - ossl_list_urxe_insert_tail
    - ossl_list_urxe_num
    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:241,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:245,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:245,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:246,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_demux.c:258,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:259,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_demux.c:262,1
    - Dst: demux_reserve_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:269,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_demux.c:275,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_demux.c:276,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:279,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:283,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:286,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/ssl/quic/quic_demux.c:287,1
    - Dst: BIO_err_is_non_fatal
      Src: /src/openssl/ssl/quic/quic_demux.c:288,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/ssl/quic/quic_demux.c:288,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:290,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:294,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:299,1
    - Dst: QUIC_DEMUX*::now
      Src: /src/openssl/ssl/quic/quic_demux.c:300,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_demux.c:300,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:302,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:304,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:311,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:312,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: 244
        line_start: 244
        source_file: /src/openssl/ssl/quic/quic_demux.c
    - condition: (urxe->demux_state == URXE_DEMUX_STATE_FREE)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 317
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 317
    functionName: demux_recv
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - demux_reserve_urxe
    - ERR_clear_last_mark
    - BIO_ADDR_clear
    - ossl_time_zero
    - ossl_quic_urxe_data
    - ERR_pop_to_mark
    - BIO_err_is_non_fatal
    - ERR_peek_last_error
    - ossl_list_urxe_head
    - ossl_list_urxe_remove
    - memset
    - assert
    - ossl_list_urxe_next
    - QUIC_DEMUX*::now
    - ossl_assert
    - ERR_set_mark
    - ossl_list_urxe_insert_tail
    - OSSL_NELEM
    - BIO_recvmmsg
    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:324,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_demux.c:324,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: 328
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 328
    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:340,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:340,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:343,1
    - Dst: demux_identify_conn_id
      Src: /src/openssl/ssl/quic/quic_demux.c:346,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:348,1
    - Dst: QUIC_DEMUX*::default_cb
      Src: /src/openssl/ssl/quic/quic_demux.c:355,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:359,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: 342
        line_start: 342
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 364
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 364
    functionName: demux_process_pending_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - QUIC_DEMUX*::default_cb
    - ossl_list_urxe_remove
    - assert
    - demux_identify_conn_id
    - ossl_assert
    - ossl_list_urxe_head
    - ossl_list_urxe_insert_tail
    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:372,1
    - Dst: demux_process_pending_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 377
    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:387,1
    - Dst: demux_ensure_free_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:388,1
    - Dst: demux_recv
      Src: /src/openssl/ssl/quic/quic_demux.c:392,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:399,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:399,1
    - Dst: demux_process_pending_urxl
      Src: /src/openssl/ssl/quic/quic_demux.c:402,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: 398
        line_start: 398
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 406
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 406
    functionName: ossl_quic_demux_pump
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 1
    functionsReached:
    - demux_recv
    - demux_ensure_free_urxe
    - demux_process_pending_urxl
    - assert
    - ossl_list_urxe_head
    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:418,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:422,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:424,1
    - Dst: demux_reserve_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:426,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_demux.c:430,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_demux.c:430,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:436,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:441,1
    - Dst: QUIC_DEMUX*::now
      Src: /src/openssl/ssl/quic/quic_demux.c:444,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_demux.c:444,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:447,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:449,1
    - Dst: demux_process_pending_urxl
      Src: /src/openssl/ssl/quic/quic_demux.c:452,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: 423
        line_start: 423
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 453
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 453
    functionName: ossl_quic_demux_inject
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 1
    functionsReached:
    - demux_reserve_urxe
    - BIO_ADDR_clear
    - demux_ensure_free_urxe
    - demux_process_pending_urxl
    - ossl_list_urxe_remove
    - assert
    - QUIC_DEMUX*::now
    - memcpy
    - ossl_time_zero
    - ossl_quic_urxe_data
    - ossl_list_urxe_head
    - ossl_list_urxe_insert_tail
    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:459,1
    - Dst: ossl_list_urxe_prev
      Src: /src/openssl/ssl/quic/quic_demux.c:459,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:459,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:460,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:461,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: 458
        line_start: 458
        source_file: /src/openssl/ssl/quic/quic_demux.c
    - condition: (e->demux_state == URXE_DEMUX_STATE_ISSUED)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: ossl_quic_demux_release_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_insert_tail
    - ossl_list_urxe_prev
    - assert
    - ossl_list_urxe_next
    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:468,1
    - Dst: ossl_list_urxe_prev
      Src: /src/openssl/ssl/quic/quic_demux.c:468,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:468,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:469,1
    - Dst: ossl_list_urxe_insert_head
      Src: /src/openssl/ssl/quic/quic_demux.c:470,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: 467
        line_start: 467
        source_file: /src/openssl/ssl/quic/quic_demux.c
    - condition: (e->demux_state == URXE_DEMUX_STATE_ISSUED)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: ossl_quic_demux_reinject_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_insert_head
    - ossl_list_urxe_prev
    - assert
    - ossl_list_urxe_next
    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:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    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:
    - assert
    - quic_set_last_error
    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:
    - ossl_quic_channel_restore_err_state
    - quic_set_last_error
    - ERR_set_debug
    - ERR_new
    - va_start
    - ERR_vset_error
    - va_end
    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:
    - qc_try_create_default_xso_for_write
    - quic_mutation_allowed
    - qctx_lock
    - qc_wait_for_default_xso_for_read
    - qctx_lock_for_io
    - quic_do_handshake
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - wrong_type
    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_c
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_c(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_cl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_cl(const SSL *s, QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 426
    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:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 431
    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:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 438
    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:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 443
    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:470,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: 471
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 471
    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:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 480
    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:491,1
    - Dst: ossl_crypto_mutex_lock
      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: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 494
    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:501,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:502,1
    - Dst: ossl_quic_obj_get0_mutex
      Src: /src/openssl/ssl/quic/quic_impl.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts:
    - condition: (ctx->obj != NULL)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: qctx_unlock
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_unlock
    - assert
    - ossl_quic_obj_get0_mutex
    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:508,1
    - Dst: quic_set_last_error
      Src: /src/openssl/ssl/quic/quic_impl.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 518
    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:532,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_impl.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - qc
    - req_active
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: quic_mutation_allowed
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_is_term_any
    - ossl_quic_channel_is_active
    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: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    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:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 549
    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:565,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:566,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:572,1
    - Dst: ossl_quic_engine_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:574,1
    - Dst: ossl_quic_reactor_block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:575,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: 565
        line_start: 565
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 576
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 576
    functionName: block_until_pred
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_set_inhibit_tick
    - ossl_quic_engine_get0_reactor
    - assert
    - ossl_quic_reactor_block_until_pred
    - ossl_quic_obj_get0_engine
    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:605,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:606,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:610,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:612,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:618,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:619,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_impl.c:625,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_impl.c:625,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:626,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:627,1
    - Dst: create_channel
      Src: /src/openssl/ssl/quic/quic_impl.c:647,1
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_impl.c:650,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_impl.c:651,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:654,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:656,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:667,1
    - Dst: qc_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:683,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:684,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 596
    functionDepth: 5
    functionLinenumber: 596
    functionLinenumberEnd: 687
    functionName: ossl_quic_new
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - qc_cleanup
    - TLS_method
    - ossl_quic_obj_init
    - ossl_quic_channel_set_msg_callback_arg
    - OPENSSL_free
    - qc_update_reject_policy
    - OSSL_QUIC_server_method
    - ossl_crypto_mutex_new
    - SSL_CONNECTION_FROM_SSL
    - ossl_ssl_connection_new_int
    - ossl_quic_channel_set_msg_callback
    - create_channel
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:697,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:698,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:700,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 689
    functionDepth: 4
    functionLinenumber: 689
    functionLinenumberEnd: 702
    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:707,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_impl.c:710,1
    - Dst: quic_unref_port_bios
      Src: /src/openssl/ssl/quic/quic_impl.c:714,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:715,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:718,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:725,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - qc
    - have_lock
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 704
    functionDepth: 5
    functionLinenumber: 704
    functionLinenumberEnd: 730
    functionName: qc_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_port_free
    - ossl_quic_engine_free
    - ossl_crypto_mutex_free
    - quic_unref_port_bios
    - ossl_crypto_mutex_unlock
    - SSL_free
    - ossl_quic_channel_free
    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:736,1
    - Dst: ossl_quic_port_drop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:737,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:738,1
    - 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
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 733
    functionDepth: 5
    functionLinenumber: 733
    functionLinenumberEnd: 748
    functionName: quic_free_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_free
    - ossl_quic_engine_free
    - ossl_crypto_mutex_free
    - quic_unref_port_bios
    - ossl_quic_port_drop_incoming
    - SSL_free
    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:754,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 758
    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:767,1
    - Dst: quic_free_domain
      Src: /src/openssl/ssl/quic/quic_impl.c:771,1
    - Dst: quic_free_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:776,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:780,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:790,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:796,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_impl.c:797,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:797,1
    - Dst: ossl_quic_stream_map_stop_sending_recv_part
      Src: /src/openssl/ssl/quic/quic_impl.c:803,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:803,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_impl.c:808,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:808,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:812,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:822,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:835,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:836,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:837,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:842,1
    - Dst: ossl_quic_thread_assist_wait_stopped
      Src: /src/openssl/ssl/quic/quic_impl.c:846,1
    - Dst: ossl_quic_thread_assist_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:847,1
    - Dst: qc_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:855,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:859,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:861,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts:
    - condition: (ctx.qc->num_xso > 0)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/openssl/ssl/quic/quic_impl.c
    - condition: (ctx.qc->num_xso == 0)
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 862
      start: 760
    functionDepth: 6
    functionLinenumber: 760
    functionLinenumberEnd: 862
    functionName: ossl_quic_free
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_free_domain
    - qc_cleanup
    - ossl_quic_thread_assist_cleanup
    - ossl_quic_thread_assist_wait_stopped
    - ossl_quic_sstream_get_final_size
    - qctx_lock
    - quic_free_listener
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_stop_sending_recv_part
    - ossl_quic_stream_map_reset_stream_send_part
    - assert
    - ossl_quic_stream_map_update_state
    - qctx_unlock
    - expect_quic_any
    - SSL_free
    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:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 869
    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: 875
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 875
    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:882,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_impl.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 887
    functionName: ossl_quic_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - expect_quic_any
    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:894,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_impl.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 899
    functionName: ossl_quic_clear
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - expect_quic_any
    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:907,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:910,1
    - Dst: ossl_quic_engine_set_time_cb
      Src: /src/openssl/ssl/quic/quic_impl.c:912,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - now_cb_arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: ossl_quic_set_override_now_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 5
    functionsReached:
    - ossl_quic_engine_set_time_cb
    - qctx_unlock
    - qctx_lock
    - expect_quic_any
    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:922,1
    - Dst: ossl_quic_thread_assist_notify_deadline_changed
      Src: /src/openssl/ssl/quic/quic_impl.c:927,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 929
    functionName: ossl_quic_conn_force_assist_thread_wake
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_conn_only
    - ossl_quic_thread_assist_notify_deadline_changed
    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:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 936
    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:961,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:961,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:973,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:975,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:976,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:981,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: (*old_xso == NULL)
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/openssl/ssl/quic/quic_impl.c
    - condition: (refs > 0)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 982
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 982
    functionName: qc_set_default_xso_keep_ref
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - SSL_up_ref
    - assert
    - CRYPTO_DOWN_REF
    - qc_touch_default_xso
    - ossl_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:993,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - qc
    - xso
    - touch
    argTypes:
    - QUIC_CONNECTION*
    - QUIC_XSO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 997
    functionName: qc_set_default_xso
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qc_set_default_xso_keep_ref
    - SSL_free
    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:1005,1
    - Dst: ossl_quic_sstream_set_cleanse
      Src: /src/openssl/ssl/quic/quic_impl.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1009
    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:1029,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1032,1
    - Dst: SSL_clear_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1042,1
    - Dst: SSL_set_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1043,1
    - Dst: xso_update_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1057,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1063,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: 1065
      start: 1023
    functionDepth: 4
    functionLinenumber: 1023
    functionLinenumberEnd: 1065
    functionName: quic_mask_or_options
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - SSL_clear_options
    - xso_update_options
    - qctx_lock
    - expect_quic_cs
    - 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:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - options
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1067
    functionDepth: 5
    functionLinenumber: 1067
    functionLinenumberEnd: 1070
    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:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - options
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 5
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    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:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    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:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - net_wbio
    - peer
    argTypes:
    - BIO*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1151
    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:1159,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1160,1
    - Dst: ossl_quic_port_set_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1164,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:1167,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - net_rbio
    argTypes:
    - QUIC_OBJ*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1153
    functionDepth: 4
    functionLinenumber: 1153
    functionLinenumberEnd: 1172
    functionName: quic_set0_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_set_net_rbio
    - BIO_set_nbio
    - ossl_quic_obj_get0_port
    - BIO_free_all
    - ossl_quic_port_get_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:1180,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1181,1
    - Dst: ossl_quic_port_set_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1185,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:1188,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - net_wbio
    argTypes:
    - QUIC_OBJ*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1174
    functionDepth: 4
    functionLinenumber: 1174
    functionLinenumberEnd: 1193
    functionName: quic_set0_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_net_wbio
    - ossl_quic_port_set_net_wbio
    - ossl_quic_obj_get0_port
    - BIO_set_nbio
    - BIO_free_all
    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:1199,1
    - Dst: quic_set0_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - net_rbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1195
    functionDepth: 5
    functionLinenumber: 1195
    functionLinenumberEnd: 1205
    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:1211,1
    - Dst: quic_set0_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - net_wbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1207
    functionDepth: 5
    functionLinenumber: 1207
    functionLinenumberEnd: 1217
    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: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_rbio
      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_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - ossl_quic_port_get_net_rbio
    - assert
    - ossl_quic_obj_get0_port
    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:1237,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1240,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:1241,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts:
    - condition: (port != NULL)
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 1243
      start: 1232
    functionDepth: 4
    functionLinenumber: 1232
    functionLinenumberEnd: 1243
    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
    - assert
    - ossl_quic_obj_get0_port
    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:1249,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1245
    functionDepth: 4
    functionLinenumber: 1245
    functionLinenumberEnd: 1253
    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:1262,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1265,1
    - Dst: qctx_is_top_level
      Src: /src/openssl/ssl/quic/quic_impl.c:1273,1
    - Dst: ossl_quic_engine_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_impl.c:1274,1
    - Dst: ossl_quic_obj_can_support_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1277,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1278,1
    - Dst: ossl_quic_obj_set_blocking_mode
      Src: /src/openssl/ssl/quic/quic_impl.c:1287,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - blocking
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1255
    functionDepth: 4
    functionLinenumber: 1255
    functionLinenumberEnd: 1293
    functionName: ossl_quic_conn_set_blocking_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_is_top_level
    - expect_quic_csl
    - qctx_lock
    - ossl_quic_obj_can_support_blocking
    - ossl_quic_engine_update_poll_descriptors
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_obj_set_blocking_mode
    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:1300,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1304,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_impl.c:1308,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_impl.c:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - peer_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1295
    functionDepth: 4
    functionLinenumber: 1295
    functionLinenumberEnd: 1313
    functionName: ossl_quic_conn_set_initial_peer_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_clear
    - expect_quic_cs
    - BIO_ADDR_copy
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:1331,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1334,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:1335,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1335,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1338
    functionName: ossl_quic_handle_events
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock
    - ossl_quic_obj_get0_reactor
    - expect_quic_any
    - qctx_unlock
    - ossl_quic_reactor_tick
    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:1355,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1358,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1360,1
    - Dst: ossl_quic_reactor_get_tick_deadline
      Src: /src/openssl/ssl/quic/quic_impl.c:1361,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_impl.c:1363,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1364,1
    - Dst: ossl_quic_engine_get_time
      Src: /src/openssl/ssl/quic/quic_impl.c:1376,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1378,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/quic/quic_impl.c:1380,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_impl.c:1380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - s
    - tv
    - is_infinite
    argTypes:
    - SSL*
    - struct timeval*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1347
    functionDepth: 3
    functionLinenumber: 1347
    functionLinenumberEnd: 1384
    functionName: ossl_quic_get_event_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_get_tick_deadline
    - ossl_time_subtract
    - ossl_time_is_infinite
    - qctx_lock
    - ossl_quic_obj_get0_reactor
    - ossl_time_to_timeval
    - ossl_quic_engine_get_time
    - qctx_unlock
    - expect_quic_any
    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:1393,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1396,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1397,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1399,1
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_impl.c:1402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1387
    functionDepth: 4
    functionLinenumber: 1387
    functionLinenumberEnd: 1403
    functionName: ossl_quic_get_rpoll_descriptor
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_obj_get0_port
    - expect_quic_csl
    - BIO_get_rpoll_descriptor
    - ossl_quic_port_get_net_rbio
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:1412,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1415,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1416,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1418,1
    - Dst: BIO_get_wpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_impl.c:1421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1406
    functionDepth: 4
    functionLinenumber: 1406
    functionLinenumberEnd: 1422
    functionName: ossl_quic_get_wpoll_descriptor
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - BIO_get_wpoll_descriptor
    - ossl_quic_port_get_net_wbio
    - ossl_quic_obj_get0_port
    - expect_quic_csl
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:1431,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1434,1
    - Dst: ossl_quic_reactor_net_read_desired
      Src: /src/openssl/ssl/quic/quic_impl.c:1435,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1435,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1425
    functionDepth: 4
    functionLinenumber: 1425
    functionLinenumberEnd: 1438
    functionName: ossl_quic_get_net_read_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - ossl_quic_reactor_net_read_desired
    - qctx_lock
    - ossl_quic_obj_get0_reactor
    - 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:1447,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1450,1
    - Dst: ossl_quic_reactor_net_write_desired
      Src: /src/openssl/ssl/quic/quic_impl.c:1451,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1451,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1441
    functionDepth: 4
    functionLinenumber: 1441
    functionLinenumberEnd: 1454
    functionName: ossl_quic_get_net_write_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - qctx_lock
    - ossl_quic_reactor_net_write_desired
    - ossl_quic_obj_get0_reactor
    - qctx_unlock
    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:1478,1
    - Dst: ossl_quic_stream_map_begin_shutdown_flush
      Src: /src/openssl/ssl/quic/quic_impl.c:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1482
    functionName: qc_shutdown_flush_init
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_begin_shutdown_flush
    - ossl_quic_channel_get_qsm
    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:1488,1
    - Dst: ossl_quic_stream_map_is_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1492
    functionName: qc_shutdown_flush_finished
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_is_shutdown_flush_finished
    - ossl_quic_channel_get_qsm
    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:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1500
    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:1507,1
    - Dst: qc_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1509
    functionName: quic_shutdown_flush_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_term_any
    - qc_shutdown_flush_finished
    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:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    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:1558,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1562,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1566,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1568,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1569,1
    - Dst: ossl_quic_channel_set_tcause
      Src: /src/openssl/ssl/quic/quic_impl.c:1581,1
    - Dst: qc_shutdown_flush_init
      Src: /src/openssl/ssl/quic/quic_impl.c:1588,1
    - Dst: qc_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1590,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1591,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:1592,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1598,1
    - Dst: qc_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1602,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1603,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1609,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1610,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:1611,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1617,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1620,1
    - Dst: ossl_quic_channel_local_close
      Src: /src/openssl/ssl/quic/quic_impl.c:1638,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/ssl/quic/quic_impl.c:1642,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1644,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1645,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1650,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:1652,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1658,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1661,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1663,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: 1665
      start: 1547
    functionDepth: 4
    functionLinenumber: 1547
    functionLinenumberEnd: 1665
    functionName: ossl_quic_conn_shutdown
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - block_until_pred
    - qctx_maybe_autotick
    - qctx_blocking
    - qctx_lock
    - ossl_quic_channel_is_term_any
    - ossl_quic_channel_local_close
    - qc_shutdown_flush_finished
    - ossl_quic_channel_set_tcause
    - qc_shutdown_flush_init
    - expect_quic_cs
    - ossl_quic_channel_is_terminated
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_unlock
    - SSL_set_shutdown
    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:1672,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1678,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1700,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1714,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_impl.c:1716,1
    - Dst: SSL_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:1718,1
    - Dst: ossl_quic_get_event_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:1724,1
    - Dst: ossl_quic_handle_events
      Src: /src/openssl/ssl/quic/quic_impl.c:1731,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1751,1
    - Dst: ossl_ctrl_internal
      Src: /src/openssl/ssl/quic/quic_impl.c:1753,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1668
    functionDepth: 6
    functionLinenumber: 1668
    functionLinenumberEnd: 1755
    functionName: ossl_quic_ctrl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_handle_events
    - ossl_ctrl_internal
    - ossl_quic_channel_set_msg_callback_arg
    - expect_quic_csl
    - ossl_quic_get_event_timeout
    - SSL_ctrl
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:1762,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - raiseerrs
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1758
    functionDepth: 4
    functionLinenumber: 1758
    functionLinenumberEnd: 1777
    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:1784,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - raiseerrs
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1780
    functionDepth: 4
    functionLinenumber: 1780
    functionLinenumberEnd: 1799
    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:1808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1816
    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:1822,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:1825,1
    - Dst: tls_wants_non_io_retry
      Src: /src/openssl/ssl/quic/quic_impl.c:1828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1818
    functionDepth: 3
    functionLinenumber: 1818
    functionLinenumberEnd: 1832
    functionName: quic_handshake_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - tls_wants_non_io_retry
    - ossl_quic_channel_is_handshake_complete
    linkageType: ''
    returnType: int
    signature: int quic_handshake_wait(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:1836,1
    - Dst: ossl_quic_channel_set_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts:
    - condition: (qc->ch != NULL)
      pos:
        line_end: 1835
        line_start: 1835
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 1842
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 1842
    functionName: configure_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - assert
    - ossl_quic_channel_set_peer_addr
    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: 1849
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1849
    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:1863,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_impl.c:1866,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1868,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1873,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1875,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:1876,1
    - Dst: ossl_quic_port_create_outgoing
      Src: /src/openssl/ssl/quic/quic_impl.c:1881,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1883,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:1884,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - qc
    - ctx
    argTypes:
    - QUIC_CONNECTION*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1892
    functionName: create_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_create_port
    - ossl_quic_port_create_outgoing
    - ossl_quic_port_free
    - need_notifier_for_domain_flags
    - ossl_quic_engine_free
    - ossl_quic_engine_new
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:1904,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1905,1
    - Dst: ossl_quic_channel_start
      Src: /src/openssl/ssl/quic/quic_impl.c:1910,1
    - Dst: ossl_quic_channel_restore_err_state
      Src: /src/openssl/ssl/quic/quic_impl.c:1911,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1912,1
    - Dst: ossl_quic_thread_assist_init_start
      Src: /src/openssl/ssl/quic/quic_impl.c:1919,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1898
    functionDepth: 2
    functionLinenumber: 1898
    functionLinenumberEnd: 1929
    functionName: ensure_channel_started
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_restore_err_state
    - configure_channel
    - ossl_quic_channel_start
    - ossl_quic_thread_assist_init_start
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:1939,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:1943,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1944,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1947,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1951,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1952,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1953,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1956,1
    - Dst: ossl_quic_port_is_addressed_w
      Src: /src/openssl/ssl/quic/quic_impl.c:1960,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_impl.c:1961,1
    - Dst: csm_analyse_init_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1974,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_impl.c:1976,1
    - Dst: ossl_quic_channel_set_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1978,1
    - Dst: ossl_quic_port_is_addressed_w
      Src: /src/openssl/ssl/quic/quic_impl.c:1982,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_impl.c:1983,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1988,1
    - Dst: ensure_channel_started
      Src: /src/openssl/ssl/quic/quic_impl.c:1996,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:1999,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2003,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2005,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:2007,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:2011,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2012,1
    - Dst: ossl_quic_obj_desires_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2014,1
    - Dst: ossl_quic_engine_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_impl.c:2022,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2029,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2035,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2036,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2037,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2040,1
    - Dst: tls_wants_non_io_retry
      Src: /src/openssl/ssl/quic/quic_impl.c:2044,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2045,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/quic/quic_impl.c:2045,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2049,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:2049,1
    - Dst: tls_wants_non_io_retry
      Src: /src/openssl/ssl/quic/quic_impl.c:2053,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2054,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/quic/quic_impl.c:2054,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2062,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: 2048
        line_start: 2048
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 2064
      start: 1931
    functionDepth: 3
    functionLinenumber: 1931
    functionLinenumberEnd: 2064
    functionName: quic_do_handshake
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - ossl_quic_obj_get0_port
    - quic_mutation_allowed
    - BIO_ADDR_clear
    - ossl_quic_channel_is_handshake_complete
    - ossl_quic_channel_is_term_any
    - ossl_quic_port_is_addressed_w
    - QUIC_RAISE_NORMAL_ERROR
    - ensure_channel_started
    - BIO_ADDR_family
    - ossl_quic_obj_desires_blocking
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_blocking
    - tls_wants_non_io_retry
    - csm_analyse_init_peer_addr
    - SSL_get_error
    - ossl_quic_channel_set_peer_addr
    - ossl_quic_engine_update_poll_descriptors
    - assert
    - ossl_quic_port_get_net_wbio
    - qctx_maybe_autotick
    - ossl_quic_port_get_net_rbio
    - 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:2072,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:2075,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2077,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2066
    functionDepth: 4
    functionLinenumber: 2066
    functionLinenumberEnd: 2080
    functionName: ossl_quic_do_handshake
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock_for_io
    - quic_do_handshake
    - expect_quic_cs
    - qctx_unlock
    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:2086,1
    - Dst: ossl_quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2083
    functionDepth: 5
    functionLinenumber: 2083
    functionLinenumberEnd: 2091
    functionName: ossl_quic_connect
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_set_connect_state
    - ossl_quic_do_handshake
    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:2097,1
    - Dst: ossl_quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2094
    functionDepth: 5
    functionLinenumber: 2094
    functionLinenumberEnd: 2102
    functionName: ossl_quic_accept
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_set_accept_state
    - ossl_quic_do_handshake
    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:2129,1
    - Dst: qc_set_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2135,1
    - Dst: quic_conn_stream_new
      Src: /src/openssl/ssl/quic/quic_impl.c:2135,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2139,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2117
    functionDepth: 4
    functionLinenumber: 2117
    functionLinenumberEnd: 2143
    functionName: qc_try_create_default_xso_for_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_touch_default_xso
    - qc_set_default_xso
    - QUIC_RAISE_NON_NORMAL_ERROR
    - 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:2157,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2159,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2163,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2163,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2166,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2152
    functionDepth: 2
    functionLinenumber: 2152
    functionLinenumberEnd: 2173
    functionName: quic_wait_for_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - ossl_quic_stream_map_get_by_id
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_get_qsm
    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:2192,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2204,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2204,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2207,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2207,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2211,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2213,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2213,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:2221,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2222,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2223,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2225,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2234,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2236,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_impl.c:2248,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_impl.c:2248,1
    - Dst: ossl_quic_stream_map_remove_from_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:2249,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2249,1
    - Dst: qc_set_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2255,1
    - Dst: create_xso_from_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:2255,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2257,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - peek
    argTypes:
    - QCTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2175
    functionDepth: 4
    functionLinenumber: 2175
    functionLinenumberEnd: 2261
    functionName: qc_wait_for_default_xso_for_read
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - block_until_pred
    - qc_set_default_xso
    - qctx_maybe_autotick
    - ossl_quic_stream_map_get_by_id
    - qctx_blocking
    - ossl_quic_channel_get_statm
    - ossl_quic_channel_get_qsm
    - ossl_quic_channel_is_term_any
    - QUIC_RAISE_NORMAL_ERROR
    - ossl_statm_get_rtt_info
    - ossl_quic_stream_map_remove_from_accept_queue
    - qc_touch_default_xso
    - create_xso_from_stream
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:2268,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2269,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:2273,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2275,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:2280,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2281,1
    - Dst: xso_update_options
      Src: /src/openssl/ssl/quic/quic_impl.c:2294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:2298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - qc
    - qs
    argTypes:
    - QUIC_CONNECTION*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2300
    functionName: create_xso_from_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_quic_obj_init
    - OPENSSL_free
    - SSL_up_ref
    - xso_update_options
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:2312,1
    - Dst: ossl_quic_channel_is_new_local_stream_admissible
      Src: /src/openssl/ssl/quic/quic_impl.c:2315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2307
    functionDepth: 2
    functionLinenumber: 2307
    functionLinenumberEnd: 2319
    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:2333,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2335,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2336,1
    - Dst: ossl_quic_channel_is_new_local_stream_admissible
      Src: /src/openssl/ssl/quic/quic_impl.c:2341,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2348,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2349,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2357,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2358,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2359,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2362,1
    - Dst: ossl_quic_channel_new_stream_local
      Src: /src/openssl/ssl/quic/quic_impl.c:2367,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2369,1
    - Dst: create_xso_from_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:2373,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2377,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2379,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:2384,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/ssl/quic/quic_impl.c:2385,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2385,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2387,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - flags
    - need_lock
    argTypes:
    - QCTX*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2322
    functionDepth: 3
    functionLinenumber: 2322
    functionLinenumberEnd: 2390
    functionName: quic_conn_stream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - block_until_pred
    - qctx_blocking
    - ossl_quic_stream_map_release
    - OPENSSL_free
    - quic_mutation_allowed
    - ossl_quic_channel_new_stream_local
    - qctx_lock
    - ossl_quic_channel_get_qsm
    - qc_touch_default_xso
    - create_xso_from_stream
    - qctx_unlock
    - ossl_quic_channel_is_new_local_stream_admissible
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:2397,1
    - Dst: quic_conn_stream_new
      Src: /src/openssl/ssl/quic/quic_impl.c:2400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2392
    functionDepth: 4
    functionLinenumber: 2392
    functionLinenumberEnd: 2401
    functionName: ossl_quic_conn_stream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_conn_only
    - quic_conn_stream_new
    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:2430,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2433,1
    - Dst: ossl_quic_channel_net_error
      Src: /src/openssl/ssl/quic/quic_impl.c:2434,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2424
    functionDepth: 4
    functionLinenumber: 2424
    functionLinenumberEnd: 2442
    functionName: ossl_quic_get_error
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_unlock
    - ossl_quic_channel_net_error
    - qctx_lock
    - is_quic_cs
    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: 2469
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2469
    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:2477,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2480,1
    - Dst: error_to_want
      Src: /src/openssl/ssl/quic/quic_impl.c:2482,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2472
    functionDepth: 4
    functionLinenumber: 2472
    functionLinenumberEnd: 2486
    functionName: ossl_quic_want
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_cs
    - error_to_want
    - qctx_lock
    - 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:2513,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2513,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/ssl/quic/quic_impl.c:2517,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:2526,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:2526,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: 2527
      start: 2503
    functionDepth: 1
    functionLinenumber: 2503
    functionLinenumberEnd: 2527
    functionName: quic_post_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_reactor
    - ossl_quic_channel_get_qsm
    - ossl_quic_sstream_fin
    - ossl_quic_stream_map_update_state
    - ossl_quic_reactor_tick
    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:2551,1
    - Dst: ossl_quic_sstream_get_buffer_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:2552,1
    - Dst: ossl_quic_sstream_set_buffer_size
      Src: /src/openssl/ssl/quic/quic_impl.c:2565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sstream
    - spare
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2566
    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:2577,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_impl.c:2578,1
    - Dst: sstream_ensure_spare
      Src: /src/openssl/ssl/quic/quic_impl.c:2584,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2587,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: 2588
      start: 2572
    functionDepth: 2
    functionLinenumber: 2572
    functionLinenumberEnd: 2588
    functionName: xso_sstream_append
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_cur_size
    - ossl_quic_txfc_get_cwm
    - sstream_ensure_spare
    - ossl_quic_sstream_append
    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:2596,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2600,1
    - Dst: xso_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2608,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2590
    functionDepth: 3
    functionLinenumber: 2590
    functionLinenumberEnd: 2624
    functionName: quic_write_again
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - xso_sstream_append
    - quic_validate_for_write
    - 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:2636,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2639,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2642,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2666,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2668,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2669,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2671,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: 2683
      start: 2626
    functionDepth: 3
    functionLinenumber: 2626
    functionLinenumberEnd: 2683
    functionName: quic_write_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - quic_mutation_allowed
    - xso_sstream_append
    - quic_post_write
    - 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:2692,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: 2691
        line_start: 2691
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 2698
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2698
    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: 2706
      start: 2700
    functionDepth: 0
    functionLinenumber: 2700
    functionLinenumberEnd: 2706
    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:2731,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2735,1
    - Dst: xso_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2742,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2745,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2748,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2749,1
    - Dst: aon_write_finish
      Src: /src/openssl/ssl/quic/quic_impl.c:2761,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2777,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2778,1
    - Dst: aon_write_begin
      Src: /src/openssl/ssl/quic/quic_impl.c:2787,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2794,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: 2734
        line_start: 2734
        source_file: /src/openssl/ssl/quic/quic_impl.c
    - condition: (xso->aon_buf_pos < xso->aon_buf_len)
      pos:
        line_end: 2776
        line_start: 2776
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 2795
      start: 2708
    functionDepth: 3
    functionLinenumber: 2708
    functionLinenumberEnd: 2795
    functionName: quic_write_nonblocking_aon
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_sstream_append
    - aon_write_begin
    - qctx_should_autotick
    - QUIC_RAISE_NORMAL_ERROR
    - aon_write_finish
    - quic_post_write
    - assert
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:2804,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2807,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2810,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2811,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2815,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: 2818
      start: 2797
    functionDepth: 3
    functionLinenumber: 2797
    functionLinenumberEnd: 2818
    functionName: quic_write_nonblocking_epw
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_sstream_append
    - qctx_should_autotick
    - QUIC_RAISE_NORMAL_ERROR
    - quic_post_write
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:2837,1
    - Dst: ossl_quic_stream_map_ensure_send_part_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2839,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:2847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - xso
    - err
    argTypes:
    - QUIC_XSO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2862
    functionName: quic_validate_for_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_ensure_send_part_id
    - ossl_quic_sstream_get_final_size
    - ossl_quic_channel_get_qsm
    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:2876,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:2879,1
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2881,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2890,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2894,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2895,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2903,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2909,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2910,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2916,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2917,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2923,1
    - Dst: quic_write_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2924,1
    - Dst: quic_write_nonblocking_epw
      Src: /src/openssl/ssl/quic/quic_impl.c:2926,1
    - Dst: quic_write_nonblocking_aon
      Src: /src/openssl/ssl/quic/quic_impl.c:2928,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2931,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: 2933
      start: 2864
    functionDepth: 4
    functionLinenumber: 2864
    functionLinenumberEnd: 2933
    functionName: ossl_quic_write_flags
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_write_nonblocking_aon
    - qctx_blocking
    - quic_mutation_allowed
    - quic_write_nonblocking_epw
    - qctx_should_autotick
    - quic_validate_for_write
    - quic_post_write
    - quic_write_blocking
    - qctx_lock_for_io
    - quic_do_handshake
    - expect_quic_cs
    - expect_quic_with_stream_lock
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:2938,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: 2939
      start: 2935
    functionDepth: 5
    functionLinenumber: 2935
    functionLinenumberEnd: 2939
    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:2982,1
    - Dst: ossl_quic_stream_map_notify_app_read_reset_recv_part
      Src: /src/openssl/ssl/quic/quic_impl.c:2983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - xso
    - err
    - eos
    argTypes:
    - QUIC_XSO*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 2990
    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:3002,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3005,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3007,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/ssl/quic/quic_impl.c:3012,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3014,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3017,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3019,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_impl.c:3032,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_impl.c:3032,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_impl.c:3034,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3036,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:3040,1
    - Dst: ossl_quic_stream_map_notify_totally_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3042,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_impl.c:3046,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:3046,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3052,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: 3056
      start: 2992
    functionDepth: 2
    functionLinenumber: 2992
    functionLinenumberEnd: 3056
    functionName: quic_read_actual
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_rxfc_on_retire
    - ossl_quic_channel_get_statm
    - ossl_quic_stream_map_notify_totally_read
    - ossl_quic_rstream_read
    - ossl_quic_channel_get_qsm
    - QUIC_RAISE_NORMAL_ERROR
    - quic_validate_for_read
    - ossl_statm_get_rtt_info
    - ossl_quic_stream_map_update_state
    - ossl_quic_rstream_peek
    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:3063,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3065,1
    - Dst: quic_read_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3058
    functionDepth: 3
    functionLinenumber: 3058
    functionLinenumberEnd: 3079
    functionName: quic_read_again
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - quic_read_actual
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:3090,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:3093,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:3096,1
    - Dst: qc_wait_for_default_xso_for_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3108,1
    - Dst: quic_read_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3116,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3126,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3127,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3130,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3131,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:3133,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:3146,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3148,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3161,1
    - Dst: quic_read_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3164,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3172,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3176,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: 3178
      start: 3081
    functionDepth: 5
    functionLinenumber: 3081
    functionLinenumberEnd: 3178
    functionName: quic_read
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - block_until_pred
    - quic_read_actual
    - qctx_maybe_autotick
    - qctx_blocking
    - quic_mutation_allowed
    - QUIC_RAISE_NORMAL_ERROR
    - qc_wait_for_default_xso_for_read
    - qctx_lock_for_io
    - quic_do_handshake
    - expect_quic_cs
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:3182,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: 3183
      start: 3180
    functionDepth: 6
    functionLinenumber: 3180
    functionLinenumberEnd: 3183
    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:3187,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: 3188
      start: 3185
    functionDepth: 6
    functionLinenumber: 3185
    functionLinenumberEnd: 3188
    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:3201,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3204,1
    - Dst: qc_wait_for_default_xso_for_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3211,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3214,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3220,1
    - Dst: ossl_quic_stream_recv_pending
      Src: /src/openssl/ssl/quic/quic_impl.c:3226,1
    - Dst: ossl_quic_channel_has_pending
      Src: /src/openssl/ssl/quic/quic_impl.c:3229,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:3230,1
    - Dst: ossl_quic_stream_recv_pending
      Src: /src/openssl/ssl/quic/quic_impl.c:3232,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - s
    - check_channel
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3195
    functionDepth: 5
    functionLinenumber: 3195
    functionLinenumberEnd: 3238
    functionName: ossl_quic_pending_int
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_recv_pending
    - qctx_lock
    - ossl_quic_channel_has_pending
    - ossl_quic_channel_is_term_any
    - qc_wait_for_default_xso_for_read
    - expect_quic_cs
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3240
    functionDepth: 6
    functionLinenumber: 3240
    functionLinenumberEnd: 3243
    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:3248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3245
    functionDepth: 6
    functionLinenumber: 3245
    functionLinenumberEnd: 3249
    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:3263,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3268,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3269,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3270,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:3274,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3275,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3276,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:3280,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3281,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/ssl/quic/quic_impl.c:3285,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:3286,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3286,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3255
    functionDepth: 4
    functionLinenumber: 3255
    functionLinenumberEnd: 3289
    functionName: ossl_quic_conn_stream_conclude
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_mutation_allowed
    - ossl_quic_sstream_get_final_size
    - qctx_should_autotick
    - ossl_quic_sstream_fin
    - quic_validate_for_write
    - quic_post_write
    - qctx_unlock
    - expect_quic_with_stream_lock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:3306,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3309,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:3311,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3313,1
    - Dst: ossl_quic_port_get0_demux
      Src: /src/openssl/ssl/quic/quic_impl.c:3317,1
    - Dst: ossl_quic_demux_inject
      Src: /src/openssl/ssl/quic/quic_impl.c:3318,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3321,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: 3323
      start: 3295
    functionDepth: 5
    functionLinenumber: 3295
    functionLinenumberEnd: 3323
    functionName: SSL_inject_net_dgram
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - ossl_quic_obj_get0_port
    - expect_quic_csl
    - qctx_lock
    - ossl_quic_port_get0_demux
    - ossl_quic_demux_inject
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:3333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3329
    functionDepth: 4
    functionLinenumber: 3329
    functionLinenumberEnd: 3337
    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:3347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3351
      start: 3343
    functionDepth: 4
    functionLinenumber: 3343
    functionLinenumberEnd: 3351
    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:3361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3357
    functionDepth: 0
    functionLinenumber: 3357
    functionLinenumberEnd: 3365
    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:3375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - domain_flags
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3382
    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:3392,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_impl.c:3410,1
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_impl.c:3413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3388
    functionDepth: 4
    functionLinenumber: 3388
    functionLinenumberEnd: 3417
    functionName: ossl_quic_get_stream_type
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_is_server_init
    - expect_quic_cs
    - ossl_quic_stream_is_bidi
    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:3429,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3423
    functionDepth: 4
    functionLinenumber: 3423
    functionLinenumberEnd: 3436
    functionName: ossl_quic_get_stream_id
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_unlock
    - expect_quic_with_stream_lock
    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:3448,1
    - Dst: ossl_quic_stream_is_local_init
      Src: /src/openssl/ssl/quic/quic_impl.c:3451,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3442
    functionDepth: 4
    functionLinenumber: 3442
    functionLinenumberEnd: 3455
    functionName: ossl_quic_is_stream_local
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_unlock
    - expect_quic_with_stream_lock
    - 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:3466,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3469,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3472,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3473,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3484,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3485,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3461
    functionDepth: 2
    functionLinenumber: 3461
    functionLinenumberEnd: 3491
    functionName: ossl_quic_set_default_stream_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_conn_only
    - qctx_unlock
    - qctx_lock
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_set_default_stream_mode(SSL *s, uint32_t
      mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3497
    functionDepth: 0
    functionLinenumber: 3497
    functionLinenumberEnd: 3511
    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:3516,1
    - Dst: ossl_quic_channel_set_incoming_stream_auto_reject
      Src: /src/openssl/ssl/quic/quic_impl.c:3519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3513
    functionDepth: 1
    functionLinenumber: 3513
    functionLinenumberEnd: 3522
    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:3531,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3534,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3545,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:3550,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - s
    - policy
    - aec
    argTypes:
    - SSL*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3524
    functionDepth: 2
    functionLinenumber: 3524
    functionLinenumberEnd: 3553
    functionName: ossl_quic_set_incoming_stream_policy
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_update_reject_policy
    - expect_quic_conn_only
    - qctx_lock
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_set_incoming_stream_policy(SSL *s, int policy,\n
      \   uint64_t aec)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3566,1
    - Dst: ossl_quic_port_get_max_idle_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:3571,1
    - Dst: ossl_quic_channel_get_max_idle_timeout_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3572,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3577,1
    - Dst: ossl_quic_port_set_max_idle_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:3583,1
    - Dst: ossl_quic_channel_set_max_idle_timeout_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3585,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3586,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3597,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3603,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3608,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3609,1
    - Dst: ossl_quic_channel_get_max_idle_timeout_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3615,1
    - Dst: ossl_quic_channel_get_max_idle_timeout_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3616,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3620,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3627,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3559
    functionDepth: 2
    functionLinenumber: 3559
    functionLinenumberEnd: 3632
    functionName: qc_getset_idle_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_max_idle_timeout_peer_request
    - ossl_quic_channel_get_max_idle_timeout_request
    - ossl_quic_channel_is_handshake_complete
    - ossl_quic_channel_set_max_idle_timeout_request
    - qctx_lock
    - ossl_quic_channel_get_max_idle_timeout_actual
    - ossl_quic_port_set_max_idle_timeout
    - ossl_quic_port_get_max_idle_timeout
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3641,1
    - Dst: ossl_quic_port_get_max_udp_payload_size
      Src: /src/openssl/ssl/quic/quic_impl.c:3646,1
    - Dst: ossl_quic_channel_get_max_udp_payload_size_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3647,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3652,1
    - Dst: ossl_quic_port_set_max_udp_payload_size
      Src: /src/openssl/ssl/quic/quic_impl.c:3658,1
    - Dst: ossl_quic_channel_set_max_udp_payload_size_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3660,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3661,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3671,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3677,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3682,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3683,1
    - Dst: ossl_quic_channel_get_max_udp_payload_size_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3688,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3692,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3699,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3634
    functionDepth: 2
    functionLinenumber: 3634
    functionLinenumberEnd: 3704
    functionName: qc_getset_max_udp_payload_size
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_max_udp_payload_size
    - ossl_quic_channel_get_max_udp_payload_size_peer_request
    - ossl_quic_channel_is_handshake_complete
    - qctx_lock
    - ossl_quic_channel_get_max_udp_payload_size_request
    - ossl_quic_port_set_max_udp_payload_size
    - ossl_quic_channel_set_max_udp_payload_size_request
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_max_udp_payload_size(QCTX *ctx, uint32_t
      class_,\n    uint64_t *p_value_out, uint64_t *p_value_in)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3713,1
    - Dst: ossl_quic_port_get_init_max_data
      Src: /src/openssl/ssl/quic/quic_impl.c:3718,1
    - Dst: ossl_quic_channel_get_max_data_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3719,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3724,1
    - Dst: ossl_quic_port_set_init_max_data
      Src: /src/openssl/ssl/quic/quic_impl.c:3730,1
    - Dst: ossl_quic_channel_set_max_data_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3732,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3733,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3743,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3749,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3754,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3755,1
    - Dst: ossl_quic_channel_get_max_data_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3760,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3764,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3771,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3706
    functionDepth: 2
    functionLinenumber: 3706
    functionLinenumberEnd: 3776
    functionName: qc_getset_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_init_max_data
    - ossl_quic_channel_is_handshake_complete
    - qctx_lock
    - ossl_quic_channel_set_max_data_request
    - ossl_quic_channel_get_max_data_peer_request
    - ossl_quic_port_set_init_max_data
    - ossl_quic_channel_get_max_data_request
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_max_data(QCTX *ctx, uint32_t class_,\n    uint64_t
      *p_value_out, uint64_t *p_value_in)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3785,1
    - Dst: ossl_quic_port_get_init_max_stream_data
      Src: /src/openssl/ssl/quic/quic_impl.c:3790,1
    - Dst: ossl_quic_channel_get_max_stream_data_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3791,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3796,1
    - Dst: ossl_quic_port_set_init_max_stream_data
      Src: /src/openssl/ssl/quic/quic_impl.c:3802,1
    - Dst: ossl_quic_channel_set_max_stream_data_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3804,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3805,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3815,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3821,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3826,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3827,1
    - Dst: ossl_quic_channel_get_max_stream_data_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3832,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3836,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3843,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 6
    argNames:
    - ctx
    - class_
    - p_value_out
    - is_uni
    - is_remote
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - int
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3778
    functionDepth: 2
    functionLinenumber: 3778
    functionLinenumberEnd: 3848
    functionName: qc_getset_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_max_stream_data_peer_request
    - ossl_quic_port_set_init_max_stream_data
    - ossl_quic_channel_is_handshake_complete
    - qctx_lock
    - ossl_quic_channel_set_max_stream_data_request
    - ossl_quic_port_get_init_max_stream_data
    - ossl_quic_channel_get_max_stream_data_request
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_max_stream_data(QCTX *ctx, uint32_t class_,\n
      \   uint64_t *p_value_out, int is_uni, int is_remote, uint64_t *p_value_in)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3857,1
    - Dst: ossl_quic_port_get_ack_delay_exponent
      Src: /src/openssl/ssl/quic/quic_impl.c:3862,1
    - Dst: ossl_quic_channel_get_ack_delay_exponent_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3863,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3868,1
    - Dst: ossl_quic_port_set_ack_delay_exponent
      Src: /src/openssl/ssl/quic/quic_impl.c:3874,1
    - Dst: ossl_quic_channel_set_ack_delay_exponent_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3876,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3877,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3887,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3893,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3898,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3899,1
    - Dst: ossl_quic_channel_get_ack_delay_exponent_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3904,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3908,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3915,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3850
    functionDepth: 2
    functionLinenumber: 3850
    functionLinenumberEnd: 3920
    functionName: qc_getset_ack_delay_exponent
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_ack_delay_exponent_peer_request
    - ossl_quic_port_set_ack_delay_exponent
    - ossl_quic_channel_is_handshake_complete
    - qctx_lock
    - ossl_quic_channel_set_ack_delay_exponent_request
    - ossl_quic_port_get_ack_delay_exponent
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_get_ack_delay_exponent_request
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_ack_delay_exponent(QCTX *ctx, uint32_t class_,\n
      \   uint64_t *p_value_out, uint64_t *p_value_in)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3929,1
    - Dst: ossl_quic_port_get_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_impl.c:3934,1
    - Dst: ossl_quic_channel_get_max_ack_delay_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3935,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3940,1
    - Dst: ossl_quic_port_set_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_impl.c:3946,1
    - Dst: ossl_quic_channel_set_max_ack_delay_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3948,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3949,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3959,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3965,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3970,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3971,1
    - Dst: ossl_quic_channel_get_max_ack_delay_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3976,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3980,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3987,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3992
      start: 3922
    functionDepth: 2
    functionLinenumber: 3922
    functionLinenumberEnd: 3992
    functionName: qc_getset_max_ack_delay
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_max_ack_delay
    - ossl_quic_channel_is_handshake_complete
    - qctx_lock
    - ossl_quic_channel_get_max_ack_delay_peer_request
    - ossl_quic_channel_get_max_ack_delay_request
    - qctx_unlock
    - ossl_quic_channel_set_max_ack_delay_request
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_port_set_max_ack_delay
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_max_ack_delay(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:4002,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4007,1
    - Dst: ossl_quic_channel_get_remote_stream_count_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:4010,1
    - Dst: ossl_quic_channel_get_local_stream_count_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:4011,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4014,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: 4016
      start: 3994
    functionDepth: 2
    functionLinenumber: 3994
    functionLinenumberEnd: 4016
    functionName: qc_get_stream_avail
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_remote_stream_count_avail
    - ossl_quic_channel_get_local_stream_count_avail
    - qctx_lock
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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: 4030
      start: 4018
    functionDepth: 0
    functionLinenumber: 4018
    functionLinenumberEnd: 4030
    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:4035,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:4038,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:4038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4032
    functionDepth: 1
    functionLinenumber: 4032
    functionLinenumberEnd: 4039
    functionName: qctx_maybe_autotick
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 4
    functionsReached:
    - ossl_quic_reactor_tick
    - qctx_should_autotick
    - ossl_quic_obj_get0_reactor
    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:4049,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4052,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4064,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4077,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: 4082
      start: 4041
    functionDepth: 2
    functionLinenumber: 4041
    functionLinenumberEnd: 4082
    functionName: qc_getset_event_handling
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_unlock
    - qctx_lock
    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:4092,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4095,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4101,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_impl.c:4105,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4106,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_impl.c:4110,1
    - Dst: getter
      Src: /src/openssl/ssl/quic/quic_impl.c:4111,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4115,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: 4118
      start: 4084
    functionDepth: 2
    functionLinenumber: 4084
    functionLinenumberEnd: 4118
    functionName: qc_get_stream_write_buf_stat
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_send_buffer
    - getter
    - qctx_lock
    - ossl_quic_stream_has_send
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:4128,1
    - Dst: expect_quic_cl
      Src: /src/openssl/ssl/quic/quic_impl.c:4136,1
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:4138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - s
    - ctx
    - id
    argTypes:
    - SSL*
    - QCTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4140
      start: 4120
    functionDepth: 4
    functionLinenumber: 4120
    functionLinenumberEnd: 4140
    functionName: expect_quic_for_value
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_conn_only
    - expect_quic_cs
    - expect_quic_cl
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK expect_quic_for_value(SSL *s, QCTX *ctx, uint32_t id)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_for_value
      Src: /src/openssl/ssl/quic/quic_impl.c:4148,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4152,1
    - Dst: qc_getset_idle_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:4157,1
    - Dst: qc_getset_max_udp_payload_size
      Src: /src/openssl/ssl/quic/quic_impl.c:4159,1
    - Dst: qc_getset_max_data
      Src: /src/openssl/ssl/quic/quic_impl.c:4161,1
    - Dst: qc_getset_max_stream_data
      Src: /src/openssl/ssl/quic/quic_impl.c:4163,1
    - Dst: qc_getset_max_stream_data
      Src: /src/openssl/ssl/quic/quic_impl.c:4165,1
    - Dst: qc_getset_ack_delay_exponent
      Src: /src/openssl/ssl/quic/quic_impl.c:4167,1
    - Dst: qc_getset_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_impl.c:4169,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:4172,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:4174,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:4176,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:4178,1
    - Dst: qc_getset_event_handling
      Src: /src/openssl/ssl/quic/quic_impl.c:4181,1
    - Dst: qc_get_stream_write_buf_stat
      Src: /src/openssl/ssl/quic/quic_impl.c:4184,1
    - Dst: qc_get_stream_write_buf_stat
      Src: /src/openssl/ssl/quic/quic_impl.c:4187,1
    - Dst: qc_get_stream_write_buf_stat
      Src: /src/openssl/ssl/quic/quic_impl.c:4190,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 4
    argNames:
    - s
    - class_
    - id
    - value
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4142
    functionDepth: 5
    functionLinenumber: 4142
    functionLinenumberEnd: 4199
    functionName: ossl_quic_get_value_uint
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_for_value
    - qc_getset_idle_timeout
    - qc_getset_max_udp_payload_size
    - qc_getset_max_ack_delay
    - qc_getset_event_handling
    - qc_get_stream_write_buf_stat
    - qc_getset_max_data
    - qc_get_stream_avail
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_getset_ack_delay_exponent
    - qc_getset_max_stream_data
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_for_value
      Src: /src/openssl/ssl/quic/quic_impl.c:4207,1
    - Dst: qc_getset_event_handling
      Src: /src/openssl/ssl/quic/quic_impl.c:4212,1
    - Dst: qc_getset_idle_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:4215,1
    - Dst: qc_getset_max_udp_payload_size
      Src: /src/openssl/ssl/quic/quic_impl.c:4217,1
    - Dst: qc_getset_max_data
      Src: /src/openssl/ssl/quic/quic_impl.c:4219,1
    - Dst: qc_getset_max_stream_data
      Src: /src/openssl/ssl/quic/quic_impl.c:4221,1
    - Dst: qc_getset_max_stream_data
      Src: /src/openssl/ssl/quic/quic_impl.c:4223,1
    - Dst: qc_getset_ack_delay_exponent
      Src: /src/openssl/ssl/quic/quic_impl.c:4225,1
    - Dst: qc_getset_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_impl.c:4227,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - s
    - class_
    - id
    - value
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4235
      start: 4201
    functionDepth: 5
    functionLinenumber: 4201
    functionLinenumberEnd: 4235
    functionName: ossl_quic_set_value_uint
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_for_value
    - qc_getset_idle_timeout
    - qc_getset_max_udp_payload_size
    - qc_getset_max_ack_delay
    - qc_getset_event_handling
    - qc_getset_max_data
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_getset_ack_delay_exponent
    - qc_getset_max_stream_data
    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:4251,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:4253,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4255,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:4259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4246
    functionDepth: 2
    functionLinenumber: 4246
    functionLinenumberEnd: 4264
    functionName: wait_for_incoming_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - ossl_quic_stream_map_peek_accept_queue
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_get_qsm
    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:4277,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4280,1
    - Dst: qc_get_effective_incoming_stream_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:4282,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4284,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:4288,1
    - Dst: ossl_quic_stream_map_find_in_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:4291,1
    - Dst: ossl_quic_stream_map_find_in_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:4294,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:4296,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:4300,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:4307,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4309,1
    - Dst: create_xso_from_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:4321,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_impl.c:4325,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_impl.c:4325,1
    - Dst: ossl_quic_stream_map_remove_from_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:4326,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:4331,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4334,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4336
      start: 4266
    functionDepth: 3
    functionLinenumber: 4266
    functionLinenumberEnd: 4336
    functionName: ossl_quic_accept_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - block_until_pred
    - qctx_blocking
    - ossl_quic_stream_map_peek_accept_queue
    - expect_quic_conn_only
    - ossl_quic_channel_get_statm
    - qctx_lock
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_find_in_accept_queue
    - ossl_statm_get_rtt_info
    - ossl_quic_stream_map_remove_from_accept_queue
    - qc_touch_default_xso
    - create_xso_from_stream
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_get_effective_incoming_stream_policy
    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:4348,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4351,1
    - Dst: ossl_quic_stream_map_get_total_accept_queue_len
      Src: /src/openssl/ssl/quic/quic_impl.c:4353,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:4353,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4342
    functionDepth: 2
    functionLinenumber: 4342
    functionLinenumberEnd: 4357
    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
    - expect_quic_conn_only
    - qctx_lock
    - ossl_quic_channel_get_qsm
    - qctx_unlock
    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:4373,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:4376,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:4380,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4381,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_impl.c:4385,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4390,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: 4392
      start: 4363
    functionDepth: 4
    functionLinenumber: 4363
    functionLinenumberEnd: 4392
    functionName: ossl_quic_stream_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_reset_stream_send_part
    - quic_validate_for_write
    - qctx_unlock
    - expect_quic_with_stream_lock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:4407,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_impl.c:4414,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:4420,1
    - Dst: ossl_quic_stream_send_is_reset
      Src: /src/openssl/ssl/quic/quic_impl.c:4427,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_impl.c:4437,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: 4455
      start: 4398
    functionDepth: 1
    functionLinenumber: 4398
    functionLinenumberEnd: 4455
    functionName: quic_classify_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_server_init
    - ossl_quic_stream_send_is_reset
    - ossl_quic_channel_is_term_any
    - ossl_quic_stream_is_bidi
    - ossl_quic_stream_recv_is_reset
    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:4462,1
    - Dst: quic_classify_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:4465,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - is_write
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4457
    functionDepth: 4
    functionLinenumber: 4457
    functionLinenumberEnd: 4468
    functionName: quic_get_stream_state
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_classify_stream
    - expect_quic_with_stream_lock
    - qctx_unlock
    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:4472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4473
      start: 4470
    functionDepth: 5
    functionLinenumber: 4470
    functionLinenumberEnd: 4473
    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:4481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4479
    functionDepth: 5
    functionLinenumber: 4479
    functionLinenumberEnd: 4482
    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:4494,1
    - Dst: quic_classify_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:4497,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4500,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: 4510
      start: 4488
    functionDepth: 4
    functionLinenumber: 4488
    functionLinenumberEnd: 4510
    functionName: quic_get_stream_error_code
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_classify_stream
    - expect_quic_with_stream_lock
    - qctx_unlock
    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:4514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4515
      start: 4512
    functionDepth: 5
    functionLinenumber: 4512
    functionLinenumberEnd: 4515
    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:4523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4521
    functionDepth: 5
    functionLinenumber: 4521
    functionLinenumberEnd: 4524
    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:4535,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_impl.c:4538,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4540,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_impl.c:4544,1
    - Dst: ossl_quic_sstream_set_buffer_size
      Src: /src/openssl/ssl/quic/quic_impl.c:4553,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4554,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ssl
    - size
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4530
    functionDepth: 4
    functionLinenumber: 4530
    functionLinenumberEnd: 4563
    functionName: ossl_quic_set_write_buffer_size
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_sstream_set_buffer_size
    - ossl_quic_stream_has_send
    - qctx_unlock
    - expect_quic_with_stream_lock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:4576,1
    - Dst: ossl_quic_channel_get_terminate_cause
      Src: /src/openssl/ssl/quic/quic_impl.c:4579,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: 4593
      start: 4569
    functionDepth: 1
    functionLinenumber: 4569
    functionLinenumberEnd: 4593
    functionName: ossl_quic_get_conn_close_info
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_conn_only
    - ossl_quic_channel_get_terminate_cause
    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:4603,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4616,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4620,1
    - Dst: ossl_quic_channel_trigger_txku
      Src: /src/openssl/ssl/quic/quic_impl.c:4623,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4624,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4625,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - update_type
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4599
    functionDepth: 2
    functionLinenumber: 4599
    functionLinenumberEnd: 4631
    functionName: ossl_quic_key_update
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_trigger_txku
    - expect_quic_conn_only
    - qctx_lock
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    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: 4644
      start: 4637
    functionDepth: 0
    functionLinenumber: 4637
    functionLinenumberEnd: 4644
    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:4666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - ql
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4669
      start: 4664
    functionDepth: 1
    functionLinenumber: 4664
    functionLinenumberEnd: 4669
    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, QUIC_LISTENER *ql)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4686,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4687,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:4692,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4693,1
    - Dst: need_notifier_for_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:4704,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_impl.c:4707,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4708,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_impl.c:4718,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4720,1
    - Dst: ossl_quic_port_set_allow_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4726,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4729,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4736,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4737,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4740,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4744
      start: 4680
    functionDepth: 1
    functionLinenumber: 4680
    functionLinenumberEnd: 4744
    functionName: ossl_quic_new_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_create_port
    - OPENSSL_zalloc
    - ossl_quic_port_free
    - need_notifier_for_domain_flags
    - ossl_quic_obj_init
    - ossl_quic_engine_free
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - ossl_quic_engine_new
    - ossl_crypto_mutex_new
    - ossl_quic_port_set_allow_incoming
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:4756,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:4759,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4762,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4764,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4765,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_impl.c:4775,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4777,1
    - Dst: ossl_quic_port_set_allow_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4796,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4799,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4803,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4808,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4810,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4811,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4812,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4750
    functionDepth: 4
    functionLinenumber: 4750
    functionLinenumberEnd: 4815
    functionName: ossl_quic_new_listener_from
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_create_port
    - OPENSSL_zalloc
    - ossl_quic_port_free
    - ossl_quic_obj_init
    - OPENSSL_free
    - SSL_up_ref
    - expect_quic_domain
    - qctx_lock
    - ossl_quic_port_set_allow_incoming
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - SSL_free
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new_listener_from(SSL *ssl, uint64_t flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:4840,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:4843,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4846,1
    - Dst: ossl_quic_new_token_store
      Src: /src/openssl/ssl/quic/quic_impl.c:4857,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4860,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4861,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_impl.c:4884,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_impl.c:4884,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:4885,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4886,1
    - Dst: ossl_quic_port_create_outgoing
      Src: /src/openssl/ssl/quic/quic_impl.c:4899,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4901,1
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_impl.c:4905,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_impl.c:4906,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4914,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4917,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:4928,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4930,1
    - Dst: qc_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:4936,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4937,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4939,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4940,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4943
      start: 4830
    functionDepth: 6
    functionLinenumber: 4830
    functionLinenumberEnd: 4943
    functionName: ossl_quic_new_from_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_quic_port_create_outgoing
    - TLS_method
    - ossl_quic_obj_init
    - ossl_quic_channel_set_msg_callback_arg
    - qc_cleanup
    - SSL_up_ref
    - qc_update_reject_policy
    - OPENSSL_free
    - ossl_quic_new_token_store
    - qctx_lock
    - SSL_CONNECTION_FROM_SSL
    - expect_quic_listener
    - ossl_ssl_connection_new_int
    - ossl_quic_channel_set_msg_callback
    - qctx_unlock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - SSL_free
    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:4955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ql
    argTypes:
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4949
    functionDepth: 1
    functionLinenumber: 4949
    functionLinenumberEnd: 4958
    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:4966,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:4969,1
    - Dst: ql_listen
      Src: /src/openssl/ssl/quic/quic_impl.c:4971,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4975
      start: 4960
    functionDepth: 4
    functionLinenumber: 4960
    functionLinenumberEnd: 4975
    functionName: ossl_quic_listen
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_listener
    - qctx_unlock
    - qctx_lock_for_io
    - ql_listen
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_listen(SSL *ssl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:4988,1
    - Dst: expect_quic_c
      Src: /src/openssl/ssl/quic/quic_impl.c:4991,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:4994,1
    - Dst: ossl_quic_port_test_and_set_peeloff
      Src: /src/openssl/ssl/quic/quic_impl.c:4996,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4997,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:5003,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_impl.c:5005,1
    - Dst: ossl_quic_port_get_channel_ctx
      Src: /src/openssl/ssl/quic/quic_impl.c:5005,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_impl.c:5006,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:5016,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5019,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5020,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5021,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5032,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5036,1
    - Dst: ossl_quic_channel_set0_tls
      Src: /src/openssl/ssl/quic/quic_impl.c:5037,1
    - Dst: ossl_quic_channel_get_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:5039,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:5047,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5051,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - listener
    - new_conn
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5053
      start: 4977
    functionDepth: 5
    functionLinenumber: 4977
    functionLinenumberEnd: 5053
    functionName: ossl_quic_peeloff_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_port_free
    - expect_quic_c
    - SSL_up_ref
    - ossl_quic_port_get_channel_ctx
    - ossl_ssl_connection_new_int
    - ossl_quic_port_pop_incoming
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_crypto_mutex_free
    - qc_update_reject_policy
    - expect_quic_listener
    - qctx_unlock
    - SSL_free
    - TLS_method
    - ossl_quic_channel_set0_tls
    - ossl_quic_port_test_and_set_peeloff
    - ossl_quic_engine_free
    - ossl_quic_channel_get_peer_addr
    - qctx_lock_for_io
    - ossl_quic_channel_free
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_peeloff_conn(SSL *listener, SSL *new_conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:5063,1
    - Dst: ossl_quic_port_have_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:5066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5070
      start: 5059
    functionDepth: 1
    functionLinenumber: 5059
    functionLinenumberEnd: 5070
    functionName: quic_accept_connection_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_is_running
    - ossl_quic_port_have_incoming
    linkageType: ''
    returnType: int
    signature: int quic_accept_connection_wait(void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:5084,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:5087,1
    - Dst: ql_listen
      Src: /src/openssl/ssl/quic/quic_impl.c:5089,1
    - Dst: ossl_quic_port_test_and_set_peeloff
      Src: /src/openssl/ssl/quic/quic_impl.c:5092,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5093,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:5099,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:5100,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:5101,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:5102,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:5107,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:5110,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:5113,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:5116,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:5118,1
    - Dst: ossl_quic_engine_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5118,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:5120,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_impl.c:5136,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/ssl/quic/quic_impl.c:5136,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_impl.c:5137,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:5137,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_impl.c:5138,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:5138,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:5142,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5151,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5167,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5169
      start: 5072
    functionDepth: 4
    functionLinenumber: 5072
    functionLinenumberEnd: 5169
    functionName: ossl_quic_accept_connection
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - SSL_up_ref
    - ossl_quic_port_pop_incoming
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ql_listen
    - qctx_blocking
    - expect_quic_listener
    - ossl_quic_engine_get0_reactor
    - qctx_unlock
    - ossl_quic_reactor_tick
    - SSL_free
    - SSL_CONNECTION_GET_USER_SSL
    - ossl_assert
    - ossl_quic_channel_get0_tls
    - ossl_quic_port_test_and_set_peeloff
    - ossl_quic_port_is_running
    - qctx_maybe_autotick
    - SSL_CONNECTION_FROM_SSL
    - qctx_lock_for_io
    - block_until_pred
    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:5175,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5176,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:5180,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5183,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:5201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - ql
    - ch
    argTypes:
    - QUIC_LISTENER*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5228
      start: 5171
    functionDepth: 2
    functionLinenumber: 5171
    functionLinenumberEnd: 5228
    functionName: create_qc_from_incoming_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_quic_obj_init
    - OPENSSL_free
    - qc_update_reject_policy
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:5240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5241
      start: 5238
    functionDepth: 1
    functionLinenumber: 5238
    functionLinenumberEnd: 5241
    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:5247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_TOKEN*
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5248
      start: 5243
    functionDepth: 0
    functionLinenumber: 5243
    functionLinenumberEnd: 5248
    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:5253,1
    - Dst: lh_QUIC_TOKEN_new
      Src: /src/openssl/ssl/quic/quic_impl.c:5258,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:5263,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:5267,1
    - Dst: ossl_quic_free_token_store
      Src: /src/openssl/ssl/quic/quic_impl.c:5273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5277
      start: 5250
    functionDepth: 1
    functionLinenumber: 5250
    functionLinenumberEnd: 5277
    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:5281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tok
    argTypes:
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5279
    functionDepth: 1
    functionLinenumber: 5279
    functionLinenumberEnd: 5282
    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:5291,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5298,1
    - Dst: lh_QUIC_TOKEN_doall
      Src: /src/openssl/ssl/quic/quic_impl.c:5299,1
    - Dst: lh_QUIC_TOKEN_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5300,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:5301,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hdl
    argTypes:
    - SSL_TOKEN_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5304
      start: 5284
    functionDepth: 1
    functionLinenumber: 5284
    functionLinenumberEnd: 5304
    functionName: ossl_quic_free_token_store
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - lh_QUIC_TOKEN_doall
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - lh_QUIC_TOKEN_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_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:5348,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_impl.c:5350,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/ssl/quic/quic_impl.c:5351,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:5357,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:5361,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5362,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_impl.c:5377,1
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:5378,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_impl.c:5382,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: 5384
      start: 5333
    functionDepth: 1
    functionLinenumber: 5333
    functionLinenumberEnd: 5384
    functionName: ossl_quic_build_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - BIO_ADDR_rawaddress
    - OPENSSL_zalloc
    - ossl_quic_free_peer_token
    - OPENSSL_free
    - BIO_ADDR_rawport
    - memcpy
    - BIO_ADDR_family
    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:5395,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5400,1
    - Dst: lh_QUIC_TOKEN_retrieve
      Src: /src/openssl/ssl/quic/quic_impl.c:5402,1
    - Dst: lh_QUIC_TOKEN_delete
      Src: /src/openssl/ssl/quic/quic_impl.c:5404,1
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:5405,1
    - Dst: lh_QUIC_TOKEN_insert
      Src: /src/openssl/ssl/quic/quic_impl.c:5407,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5409,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: 5411
      start: 5386
    functionDepth: 2
    functionLinenumber: 5386
    functionLinenumberEnd: 5411
    functionName: ossl_quic_set_peer_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - lh_QUIC_TOKEN_retrieve
    - lh_QUIC_TOKEN_delete
    - ossl_quic_free_peer_token
    - ossl_quic_build_new_token
    - lh_QUIC_TOKEN_insert
    - ossl_crypto_mutex_unlock
    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:5425,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5429,1
    - Dst: lh_QUIC_TOKEN_retrieve
      Src: /src/openssl/ssl/quic/quic_impl.c:5430,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:5433,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5437,1
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:5438,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: 5440
      start: 5413
    functionDepth: 2
    functionLinenumber: 5413
    functionLinenumberEnd: 5440
    functionName: ossl_quic_get_peer_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    - lh_QUIC_TOKEN_retrieve
    - CRYPTO_UP_REF
    - ossl_quic_free_peer_token
    - ossl_quic_build_new_token
    - ossl_crypto_mutex_unlock
    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:5446,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:5452,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - token
    argTypes:
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5454
      start: 5442
    functionDepth: 1
    functionLinenumber: 5442
    functionLinenumberEnd: 5454
    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:5466,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5469,1
    - Dst: ossl_quic_port_get_num_incoming_channels
      Src: /src/openssl/ssl/quic/quic_impl.c:5471,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5460
    functionDepth: 4
    functionLinenumber: 5460
    functionLinenumberEnd: 5475
    functionName: ossl_quic_get_accept_connection_queue_len
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_listener
    - ossl_quic_port_get_num_incoming_channels
    - qctx_unlock
    - qctx_lock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_accept_connection_queue_len(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:5483,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5486,1
    - Dst: ossl_quic_channel_get_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:5487,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - peer_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5491
      start: 5477
    functionDepth: 4
    functionLinenumber: 5477
    functionLinenumberEnd: 5491
    functionName: ossl_quic_get_peer_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get_peer_addr
    - expect_quic_cs
    - qctx_unlock
    - qctx_lock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_peer_addr(SSL *ssl, BIO_ADDR *peer_addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_adjust_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:5514,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:5517,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5518,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:5523,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5524,1
    - Dst: need_notifier_for_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:5535,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_impl.c:5538,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5539,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:5544,1
    - Dst: ossl_quic_obj_set_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:5548,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5552,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5554,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5502
    functionDepth: 1
    functionLinenumber: 5502
    functionLinenumberEnd: 5558
    functionName: ossl_quic_new_domain
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_quic_obj_set_domain_flags
    - need_notifier_for_domain_flags
    - ossl_quic_obj_init
    - ossl_quic_engine_free
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - ossl_quic_engine_new
    - ossl_crypto_mutex_new
    - ossl_adjust_domain_flags
    - QUIC_RAISE_NON_NORMAL_ERROR
    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:5569,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: 5571
      start: 5565
    functionDepth: 6
    functionLinenumber: 5565
    functionLinenumberEnd: 5571
    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:5577,1
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_impl.c:5582,1
    - Dst: ssl3_callback_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:5585,1
    - Dst: ssl3_callback_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:5590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5592
      start: 5573
    functionDepth: 2
    functionLinenumber: 5573
    functionLinenumberEnd: 5592
    functionName: ossl_quic_callback_ctrl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_conn_only
    - ssl3_callback_ctrl
    - ossl_quic_channel_set_msg_callback
    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:5596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5597
      start: 5594
    functionDepth: 1
    functionLinenumber: 5594
    functionLinenumberEnd: 5597
    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: 5603
      start: 5599
    functionDepth: 0
    functionLinenumber: 5599
    functionLinenumberEnd: 5603
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_cipher_by_char
      Src: /src/openssl/ssl/quic/quic_impl.c:5607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5615
      start: 5605
    functionDepth: 2
    functionLinenumber: 5605
    functionLinenumberEnd: 5615
    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: 5625
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5625
    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: 5630
      start: 5627
    functionDepth: 0
    functionLinenumber: 5627
    functionLinenumberEnd: 5630
    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:5641,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:5644,1
    - Dst: ossl_quic_channel_is_closing
      Src: /src/openssl/ssl/quic/quic_impl.c:5646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5651
      start: 5636
    functionDepth: 1
    functionLinenumber: 5636
    functionLinenumberEnd: 5651
    functionName: ossl_quic_get_shutdown
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_is_term_any
    - expect_quic_conn_only
    - ossl_quic_channel_is_closing
    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:5681,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/ssl/quic/quic_impl.c:5682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5684
      start: 5659
    functionDepth: 1
    functionLinenumber: 5659
    functionLinenumberEnd: 5684
    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:5690,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_impl.c:5691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5693
      start: 5687
    functionDepth: 1
    functionLinenumber: 5687
    functionLinenumberEnd: 5693
    functionName: test_poll_event_er
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_recv_is_reset
    - ossl_quic_stream_has_recv
    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:5700,1
    - Dst: ossl_quic_sstream_get_buffer_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:5701,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:5702,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_impl.c:5703,1
    - Dst: ossl_quic_sstream_get_cur_size
      Src: /src/openssl/ssl/quic/quic_impl.c:5704,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:5705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5696
    functionDepth: 2
    functionLinenumber: 5696
    functionLinenumberEnd: 5706
    functionName: test_poll_event_w
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_send_buffer
    - quic_mutation_allowed
    - ossl_quic_sstream_get_cur_size
    - ossl_quic_sstream_get_final_size
    - ossl_quic_sstream_get_buffer_avail
    - ossl_quic_txfc_get_cwm
    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:5712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5716
      start: 5709
    functionDepth: 1
    functionLinenumber: 5709
    functionLinenumberEnd: 5716
    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:5722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5723
      start: 5719
    functionDepth: 1
    functionLinenumber: 5719
    functionLinenumberEnd: 5723
    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:5729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5730
      start: 5726
    functionDepth: 1
    functionLinenumber: 5726
    functionLinenumberEnd: 5730
    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:5736,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:5736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qc
    - is_uni
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5739
      start: 5733
    functionDepth: 1
    functionLinenumber: 5733
    functionLinenumberEnd: 5739
    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:5746,1
    - Dst: ossl_quic_channel_get_local_stream_count_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:5747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - qc
    - is_uni
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5748
      start: 5742
    functionDepth: 2
    functionLinenumber: 5742
    functionLinenumberEnd: 5748
    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:5754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ql
    argTypes:
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5755
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5755
    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:5761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ql
    argTypes:
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5758
    functionDepth: 1
    functionLinenumber: 5758
    functionLinenumberEnd: 5762
    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:5771,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5774,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:5784,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5784,1
    - Dst: test_poll_event_r
      Src: /src/openssl/ssl/quic/quic_impl.c:5790,1
    - Dst: test_poll_event_er
      Src: /src/openssl/ssl/quic/quic_impl.c:5794,1
    - Dst: test_poll_event_w
      Src: /src/openssl/ssl/quic/quic_impl.c:5798,1
    - Dst: test_poll_event_ew
      Src: /src/openssl/ssl/quic/quic_impl.c:5802,1
    - Dst: test_poll_event_ec
      Src: /src/openssl/ssl/quic/quic_impl.c:5808,1
    - Dst: test_poll_event_ecd
      Src: /src/openssl/ssl/quic/quic_impl.c:5812,1
    - Dst: test_poll_event_is
      Src: /src/openssl/ssl/quic/quic_impl.c:5816,1
    - Dst: test_poll_event_is
      Src: /src/openssl/ssl/quic/quic_impl.c:5820,1
    - Dst: test_poll_event_os
      Src: /src/openssl/ssl/quic/quic_impl.c:5824,1
    - Dst: test_poll_event_os
      Src: /src/openssl/ssl/quic/quic_impl.c:5828,1
    - Dst: test_poll_event_el
      Src: /src/openssl/ssl/quic/quic_impl.c:5834,1
    - Dst: test_poll_event_ic
      Src: /src/openssl/ssl/quic/quic_impl.c:5838,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5843,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: 5846
      start: 5764
    functionDepth: 4
    functionLinenumber: 5764
    functionLinenumberEnd: 5846
    functionName: ossl_quic_conn_poll_events
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - test_poll_event_ew
    - test_poll_event_el
    - test_poll_event_ic
    - expect_quic_csl
    - qctx_lock
    - test_poll_event_er
    - ossl_quic_obj_get0_reactor
    - test_poll_event_ec
    - test_poll_event_is
    - test_poll_event_ecd
    - test_poll_event_os
    - test_poll_event_w
    - qctx_unlock
    - ossl_quic_reactor_tick
    - test_poll_event_r
    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:5856,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5859,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5860,1
    - Dst: ossl_quic_reactor_get0_notifier
      Src: /src/openssl/ssl/quic/quic_impl.c:5861,1
    - Dst: ossl_rio_notifier_as_fd
      Src: /src/openssl/ssl/quic/quic_impl.c:5864,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5869
      start: 5848
    functionDepth: 2
    functionLinenumber: 5848
    functionLinenumberEnd: 5869
    functionName: ossl_quic_get_notifier_fd
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_reactor_get0_notifier
    - ossl_rio_notifier_as_fd
    - qctx_lock
    - ossl_quic_obj_get0_reactor
    - qctx_unlock
    - expect_quic_any
    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:5877,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5880,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5881,1
    - Dst: ossl_quic_reactor_wait_ctx_enter
      Src: /src/openssl/ssl/quic/quic_impl.c:5882,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - wctx
    argTypes:
    - SSL*
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5884
      start: 5871
    functionDepth: 2
    functionLinenumber: 5871
    functionLinenumberEnd: 5884
    functionName: ossl_quic_enter_blocking_section
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qctx_lock
    - ossl_quic_obj_get0_reactor
    - qctx_unlock
    - expect_quic_any
    - ossl_quic_reactor_wait_ctx_enter
    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:5892,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5895,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5896,1
    - Dst: ossl_quic_reactor_wait_ctx_leave
      Src: /src/openssl/ssl/quic/quic_impl.c:5897,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - wctx
    argTypes:
    - SSL*
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5899
      start: 5886
    functionDepth: 2
    functionLinenumber: 5886
    functionLinenumberEnd: 5899
    functionName: ossl_quic_leave_blocking_section
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qctx_lock
    - ossl_quic_obj_get0_reactor
    - ossl_quic_reactor_wait_ctx_leave
    - qctx_unlock
    - expect_quic_any
    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:5910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5914
      start: 5906
    functionDepth: 0
    functionLinenumber: 5906
    functionLinenumberEnd: 5914
    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:5919,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/quic_impl.c:5925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - title
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5930
      start: 5916
    functionDepth: 0
    functionLinenumber: 5916
    functionLinenumberEnd: 5930
    functionName: ossl_quic_set_diag_title
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strdup
    - OPENSSL_free
    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
    - ossl_list_uint_set_next
    - OPENSSL_free
    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_prev
    - ossl_list_uint_set_remove
    - OPENSSL_free
    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:
    - OPENSSL_malloc
    - ossl_list_uint_set_init_elem
    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: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:177,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:192,1
    - Dst: uint_range_overlaps
      Src: /src/openssl/ssl/quic/uint_set.c:198,1
    - Dst: u64_max
      Src: /src/openssl/ssl/quic/uint_set.c:205,1
    - Dst: uint_range_overlaps
      Src: /src/openssl/ssl/quic/uint_set.c:208,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:210,1
    - Dst: u64_min
      Src: /src/openssl/ssl/quic/uint_set.c:213,1
    - Dst: ossl_list_uint_set_next
      Src: /src/openssl/ssl/quic/uint_set.c:217,1
    - Dst: ossl_list_uint_set_remove
      Src: /src/openssl/ssl/quic/uint_set.c:218,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:219,1
    - Dst: uint_set_merge_adjacent
      Src: /src/openssl/ssl/quic/uint_set.c:232,1
    - Dst: uint_set_merge_adjacent
      Src: /src/openssl/ssl/quic/uint_set.c:241,1
    - Dst: create_set_item
      Src: /src/openssl/ssl/quic/uint_set.c:247,1
    - Dst: ossl_list_uint_set_insert_before
      Src: /src/openssl/ssl/quic/uint_set.c:250,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 2
    argNames:
    - s
    - range
    argTypes:
    - UINT_SET*
    - UINT_RANGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 257
    functionName: ossl_uint_set_insert
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_head
    - ossl_list_uint_set_insert_tail
    - uint_range_overlaps
    - uint_set_merge_adjacent
    - OPENSSL_free
    - create_set_item
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_is_empty
    - u64_min
    - ossl_list_uint_set_insert_head
    - u64_max
    - ossl_list_uint_set_remove
    - ossl_list_uint_set_next
    - ossl_assert
    - ossl_list_uint_set_tail
    - ossl_list_uint_set_insert_before
    linkageType: ''
    returnType: int
    signature: int ossl_uint_set_insert(UINT_SET *s, const UINT_RANGE *range)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/uint_set.c:264,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/uint_set.c:268,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:269,1
    - Dst: ossl_list_uint_set_remove
      Src: /src/openssl/ssl/quic/uint_set.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:281,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:288,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:296,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:297,1
    - Dst: create_set_item
      Src: /src/openssl/ssl/quic/uint_set.c:306,1
    - Dst: ossl_list_uint_set_insert_after
      Src: /src/openssl/ssl/quic/uint_set.c:309,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:314,1
    - Dst: uint_range_overlaps
      Src: /src/openssl/ssl/quic/uint_set.c:314,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - s
    - range
    argTypes:
    - UINT_SET*
    - UINT_RANGE*
    assertStmts:
    - condition: (end < z->range.end)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/openssl/ssl/quic/uint_set.c
    - condition: (start > z->range.start)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/openssl/ssl/quic/uint_set.c
    - condition: (start > 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/openssl/ssl/quic/uint_set.c
    - condition: (!uint_range_overlaps(&z->range, range))
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/openssl/ssl/quic/uint_set.c
    constantsTouched: []
    func_position:
      end: 319
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 319
    functionName: ossl_uint_set_remove
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - uint_range_overlaps
    - OPENSSL_free
    - create_set_item
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_insert_after
    - ossl_list_uint_set_remove
    - assert
    - ossl_assert
    - ossl_list_uint_set_tail
    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:325,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/uint_set.c:328,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - UINT_SET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: ossl_uint_set_query
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_tail
    - ossl_list_uint_set_is_empty
    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:
    - ossl_quic_reactor_leave_blocking_section
    - assert
    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:
    - OSSL_LIST_FOREACH
    - OPENSSL_zalloc
    - ossl_list_quic_reactor_wait_slot_insert_tail
    - slot_activate
    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:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:84,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: 82
        line_start: 82
        source_file: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: ossl_quic_reactor_wait_ctx_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_LIST_FOREACH_DELSAFE
    - assert
    - OPENSSL_free
    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:
    - txp_el_ensure_iovec
    - ossl_assert
    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:
    - tx_helper_get_space_left
    - WPACKET_cleanup
    - ossl_assert
    - WPACKET_init_static_len
    - WPACKET_set_max_size
    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:
    - WPACKET_get_total_written
    - PACKET_buf_init
    - tx_helper_end
    - ossl_quic_wire_peek_frame_header
    - struct tx_helper*::txp::msg_callback
    - OSSL_QUIC_FRAME_TYPE_IS_STREAM
    - tx_helper_append_iovec
    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
    - OPENSSL_free
    - ERR_raise
    - ossl_quic_fifd_init
    - ossl_time_zero
    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_check_token_len
    - txp_get_mdpl
    - OSSL_QUIC_TX_PACKETISER*::initial_token_free_cb
    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_clear
    - BIO_ADDR_copy
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_peer(OSSL_QUIC_TX_PACKETISER *txp,\n
      \   const BIO_ADDR *peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_txp.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txp
    - exp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: ossl_quic_tx_packetiser_set_ack_delay_exponent
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_ack_delay_exponent(OSSL_QUIC_TX_PACKETISER
      *txp,\n    uint32_t exp)"
  - 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: 731
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 731
    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:737,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: 738
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 738
    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:744,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:749,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: 752
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 752
    functionName: ossl_quic_tx_packetiser_discard_enc_level
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_quic_enc_level_to_pn_space
    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: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    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: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    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: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    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: 774
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 774
    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:874,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_txp.c:877,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_txp.c:888,1
    - Dst: txp_determine_archetype
      Src: /src/openssl/ssl/quic/quic_txp.c:891,1
    - Dst: txp_should_try_staging
      Src: /src/openssl/ssl/quic/quic_txp.c:903,1
    - Dst: txp_pkt_init
      Src: /src/openssl/ssl/quic/quic_txp.c:907,1
    - Dst: txp_generate_for_el
      Src: /src/openssl/ssl/quic/quic_txp.c:916,1
    - Dst: txp_pkt_postgen_update_pkt_overhead
      Src: /src/openssl/ssl/quic/quic_txp.c:959,1
    - Dst: txp_pkt_append_padding
      Src: /src/openssl/ssl/quic/quic_txp.c:967,1
    - Dst: ossl_quic_tx_packetiser_check_unvalidated_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:1005,1
    - Dst: ossl_quic_tx_packetiser_consume_unvalidated_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:1010,1
    - Dst: txp_pkt_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:1012,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_txp.c:1037,1
    - Dst: txp_pkt_cleanup
      Src: /src/openssl/ssl/quic/quic_txp.c:1042,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: 1047
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 1047
    functionName: ossl_quic_tx_packetiser_generate
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - txp_generate_for_el
    - ossl_qtx_finish_dgram
    - txp_determine_archetype
    - txp_pkt_append_padding
    - txp_pkt_commit
    - txp_pkt_cleanup
    - OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
    - ossl_quic_tx_packetiser_check_unvalidated_credit
    - txp_pkt_postgen_update_pkt_overhead
    - memset
    - ossl_quic_tx_packetiser_consume_unvalidated_credit
    - txp_pkt_init
    - txp_should_try_staging
    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: 1314
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1314
    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:1326,1
    - Dst: ossl_quic_enc_level_to_pkt_type
      Src: /src/openssl/ssl/quic/quic_txp.c:1330,1
    - Dst: txp_determine_pn_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1332,1
    - Dst: ossl_quic_wire_get_encoded_pkt_hdr_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1370,1
    - Dst: txp_get_mdpl
      Src: /src/openssl/ssl/quic/quic_txp.c:1376,1
    - Dst: txp_determine_ppl_from_pl
      Src: /src/openssl/ssl/quic/quic_txp.c:1389,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: 1396
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1396
    functionName: txp_determine_geometry
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - txp_get_archetype_data
    - txp_get_mdpl
    - ossl_quic_wire_get_encoded_pkt_hdr_len
    - txp_determine_pn_len
    - ossl_quic_enc_level_to_pkt_type
    - txp_determine_ppl_from_pl
    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:1402,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: 1431
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1431
    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:1440,1
    - Dst: ossl_qtx_is_enc_level_provisioned
      Src: /src/openssl/ssl/quic/quic_txp.c:1443,1
    - Dst: txp_get_archetype_data
      Src: /src/openssl/ssl/quic/quic_txp.c:1446,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/ssl/quic/quic_txp.c:1490,1
    - Dst: sstream_is_pending
      Src: /src/openssl/ssl/quic/quic_txp.c:1501,1
    - Dst: ossl_ackm_is_ack_desired
      Src: /src/openssl/ssl/quic/quic_txp.c:1505,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:1514,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:1520,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:1523,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/ssl/quic/quic_txp.c:1543,1
    - Dst: ossl_quic_cfq_item_get_priority_next
      Src: /src/openssl/ssl/quic/quic_txp.c:1545,1
    - Dst: ossl_quic_cfq_item_get_frame_type
      Src: /src/openssl/ssl/quic/quic_txp.c:1546,1
    - Dst: ossl_quic_stream_iter_init
      Src: /src/openssl/ssl/quic/quic_txp.c:1584,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: 1590
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1590
    functionName: txp_should_try_staging
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_cfq_item_get_frame_type
    - txp_get_archetype_data
    - ossl_qtx_is_enc_level_provisioned
    - sstream_is_pending
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_stream_iter_init
    - ossl_ackm_is_ack_desired
    - ossl_ackm_get0_probe_request
    - ossl_quic_cfq_item_get_priority_next
    - ossl_quic_enc_level_to_pn_space
    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:1596,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sstream
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1599
    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: 1605
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1605
    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:1619,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: 1625
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1625
    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:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1630
    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:1641,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: 1646
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1646
    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:1671,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1677,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1681,1
    - Dst: ossl_quic_stream_map_schedule_stop_sending
      Src: /src/openssl/ssl/quic/quic_txp.c:1686,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1690,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1696,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: 1648
    functionDepth: 1
    functionLinenumber: 1648
    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:
    - tx_helper_init
    - txp_need_ping
    - txp_determine_geometry
    - ossl_quic_enc_level_to_pn_space
    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_qtx_calculate_ciphertext_payload_len
    - ossl_quic_wire_get_encoded_pkt_hdr_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:1803,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1809,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1813,1
    - Dst: ossl_quic_stream_map_notify_reset_stream_acked
      Src: /src/openssl/ssl/quic/quic_txp.c:1822,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1823,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txp.c:1826,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: 1825
        line_start: 1825
        source_file: /src/openssl/ssl/quic/quic_txp.c
    constantsTouched: []
    func_position:
      end: 1829
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1829
    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_notify_reset_stream_acked
    - ossl_quic_stream_map_get_by_id
    - assert
    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:1839,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:1842,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:1845,1
    - Dst: ossl_quic_wire_encode_padding
      Src: /src/openssl/ssl/quic/quic_txp.c:1849,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:1850,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:1854,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: 1861
      start: 1831
    functionDepth: 6
    functionLinenumber: 1831
    functionLinenumberEnd: 1861
    functionName: txp_pkt_append_padding
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_wire_encode_padding
    - tx_helper_commit
    - tx_helper_begin
    - ossl_assert
    - tx_helper_rollback
    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:1868,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream_id
    - arg
    argTypes:
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1873
    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: 1908
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1908
    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: 1914
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1914
    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:1922,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:1933,1
    - Dst: ossl_ackm_is_ack_desired
      Src: /src/openssl/ssl/quic/quic_txp.c:1935,1
    - Dst: ossl_ackm_get_ack_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:1936,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:1937,1
    - Dst: ossl_quic_wire_encode_frame_ack
      Src: /src/openssl/ssl/quic/quic_txp.c:1946,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:1949,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::ack_tx_cb
      Src: /src/openssl/ssl/quic/quic_txp.c:1958,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:1960,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:1966,1
    - Dst: ossl_quic_wire_encode_frame_conn_close
      Src: /src/openssl/ssl/quic/quic_txp.c:1998,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_txp.c:1999,1
    - Dst: try_commit_conn_close
      Src: /src/openssl/ssl/quic/quic_txp.c:2000,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2001,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2007,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: 2012
      start: 1916
    functionDepth: 6
    functionLinenumber: 1916
    functionLinenumberEnd: 2012
    functionName: txp_generate_pre_token
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - tx_helper_get_space_left
    - ossl_quic_wire_encode_frame_ack
    - WPACKET_get_total_written
    - OSSL_QUIC_TX_PACKETISER*::ack_tx_cb
    - try_commit_conn_close
    - tx_helper_rollback
    - tx_helper_commit
    - ossl_quic_wire_encode_frame_conn_close
    - ossl_ackm_get_ack_frame
    - tx_helper_begin
    - ossl_ackm_is_ack_desired
    - ossl_quic_enc_level_to_pn_space
    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: 2036
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2036
    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:2048,1
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2051,1
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2054,1
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2057,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_txp.c:2061,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: 2071
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2071
    functionName: determine_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - try_len
    - OSSL_NELEM
    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:2096,1
    - Dst: determine_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2103,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: 2104
      start: 2081
    functionDepth: 2
    functionLinenumber: 2081
    functionLinenumberEnd: 2104
    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:2121,1
    - Dst: determine_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2129,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: 2130
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2130
    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:2137,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2150,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_txp.c:2156,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:2157,1
    - Dst: determine_crypto_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2170,1
    - Dst: ossl_quic_sstream_adjust_iov
      Src: /src/openssl/ssl/quic/quic_txp.c:2180,1
    - Dst: txp_el_ensure_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2186,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2190,1
    - Dst: ossl_quic_wire_encode_frame_crypto_hdr
      Src: /src/openssl/ssl/quic/quic_txp.c:2194,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2195,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2199,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2204,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2207,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2214,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: 2217
      start: 2132
    functionDepth: 6
    functionLinenumber: 2132
    functionLinenumberEnd: 2217
    functionName: txp_generate_crypto_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - txp_el_ensure_iovec
    - tx_helper_get_space_left
    - ossl_quic_sstream_adjust_iov
    - tx_helper_commit
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_txpim_pkt_append_chunk
    - determine_crypto_len
    - tx_helper_unrestrict
    - OSSL_NELEM
    - ossl_quic_wire_encode_frame_crypto_hdr
    - tx_helper_append_iovec
    - tx_helper_begin
    - tx_helper_rollback
    - ossl_quic_enc_level_to_pn_space
    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:2237,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:2238,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2245,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:2252,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2253,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: 2274
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2274
    functionName: txp_plan_stream_chunk
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txfc_get_swm
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_txfc_get_credit
    - OSSL_NELEM
    - ossl_assert
    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:2308,1
    - Dst: txp_plan_stream_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2318,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2331,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2345,1
    - Dst: txp_plan_stream_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2357,1
    - Dst: determine_stream_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2367,1
    - Dst: determine_stream_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2400,1
    - Dst: ossl_quic_sstream_adjust_iov
      Src: /src/openssl/ssl/quic/quic_txp.c:2426,1
    - Dst: txp_el_ensure_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2433,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2437,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2441,1
    - Dst: ossl_quic_wire_encode_frame_stream_hdr
      Src: /src/openssl/ssl/quic/quic_txp.c:2441,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2443,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2449,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2454,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2458,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2473,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: 2489
      start: 2281
    functionDepth: 6
    functionLinenumber: 2281
    functionLinenumberEnd: 2489
    functionName: txp_generate_stream_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - txp_el_ensure_iovec
    - tx_helper_get_space_left
    - ossl_quic_txfc_get_swm
    - ossl_quic_sstream_adjust_iov
    - txp_plan_stream_chunk
    - tx_helper_commit
    - ossl_quic_wire_encode_frame_stream_hdr
    - ossl_quic_txpim_pkt_append_chunk
    - tx_helper_unrestrict
    - determine_stream_len
    - tx_helper_append_iovec
    - tx_helper_begin
    - ossl_assert
    - tx_helper_rollback
    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: 2495
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2495
    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:2509,1
    - Dst: ossl_quic_stream_iter_next
      Src: /src/openssl/ssl/quic/quic_txp.c:2513,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2526,1
    - Dst: ossl_quic_wire_encode_frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_txp.c:2532,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2533,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2534,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2538,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2542,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2549,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2552,1
    - Dst: ossl_quic_stream_send_get_final_size
      Src: /src/openssl/ssl/quic/quic_txp.c:2558,1
    - Dst: ossl_quic_wire_encode_frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_txp.c:2561,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2562,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2563,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2567,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2571,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2580,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2580,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2584,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2597,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2599,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2603,1
    - Dst: ossl_quic_wire_encode_frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_txp.c:2605,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2607,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2608,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2612,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2616,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_txp.c:2630,1
    - Dst: ossl_quic_stream_send_is_reset
      Src: /src/openssl/ssl/quic/quic_txp.c:2631,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2634,1
    - Dst: txp_generate_stream_frames
      Src: /src/openssl/ssl/quic/quic_txp.c:2637,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2646,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2652,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2657,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: 2661
      start: 2497
    functionDepth: 7
    functionLinenumber: 2497
    functionLinenumberEnd: 2661
    functionName: txp_generate_stream_related
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_txfc_get_swm
    - ossl_quic_wire_encode_frame_reset_stream
    - ossl_quic_stream_send_is_reset
    - tx_helper_commit
    - ossl_quic_stream_send_get_final_size
    - txp_enlink_tmp
    - ossl_quic_wire_encode_frame_max_stream_data
    - ossl_quic_rxfc_has_cwm_changed
    - tx_helper_unrestrict
    - ossl_quic_wire_encode_frame_stop_sending
    - txp_generate_stream_frames
    - tx_helper_begin
    - ossl_assert
    - tx_helper_rollback
    - ossl_quic_stream_iter_next
    - ossl_quic_stream_iter_init
    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:2669,1
    - Dst: ossl_quic_pn_valid
      Src: /src/openssl/ssl/quic/quic_txp.c:2686,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2689,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/ssl/quic/quic_txp.c:2692,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2704,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2705,1
    - Dst: ossl_quic_wire_encode_frame_handshake_done
      Src: /src/openssl/ssl/quic/quic_txp.c:2710,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2714,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2717,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2719,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2726,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2727,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2728,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2729,1
    - Dst: ossl_quic_wire_encode_frame_max_data
      Src: /src/openssl/ssl/quic/quic_txp.c:2734,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2738,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2741,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2743,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2750,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2751,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2752,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2754,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_txp.c:2759,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2764,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2767,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2769,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2776,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2777,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2778,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2780,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_txp.c:2785,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2790,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2793,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2795,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/ssl/quic/quic_txp.c:2800,1
    - Dst: ossl_quic_cfq_item_get_priority_next
      Src: /src/openssl/ssl/quic/quic_txp.c:2802,1
    - Dst: ossl_quic_cfq_item_get_frame_type
      Src: /src/openssl/ssl/quic/quic_txp.c:2803,1
    - Dst: ossl_quic_cfq_item_get_encoded
      Src: /src/openssl/ssl/quic/quic_txp.c:2804,1
    - Dst: ossl_quic_cfq_item_get_encoded_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2805,1
    - Dst: txp_generate_pre_token
      Src: /src/openssl/ssl/quic/quic_txp.c:2828,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2855,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2858,1
    - Dst: ossl_quic_txpim_pkt_add_cfq_item
      Src: /src/openssl/ssl/quic/quic_txp.c:2861,1
    - Dst: ossl_quic_frame_type_is_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_txp.c:2863,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2865,1
    - Dst: txp_generate_pre_token
      Src: /src/openssl/ssl/quic/quic_txp.c:2874,1
    - Dst: txp_generate_crypto_frames
      Src: /src/openssl/ssl/quic/quic_txp.c:2881,1
    - Dst: txp_generate_stream_related
      Src: /src/openssl/ssl/quic/quic_txp.c:2886,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2892,1
    - Dst: txp_need_ping
      Src: /src/openssl/ssl/quic/quic_txp.c:2894,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2897,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2898,1
    - Dst: ossl_quic_wire_encode_frame_ping
      Src: /src/openssl/ssl/quic/quic_txp.c:2902,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2903,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::now
      Src: /src/openssl/ssl/quic/quic_txp.c:2931,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/ssl/quic/quic_txp.c:2944,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: 2896
        line_start: 2896
        source_file: /src/openssl/ssl/quic/quic_txp.c
    constantsTouched: []
    func_position:
      end: 2948
      start: 2663
    functionDepth: 8
    functionLinenumber: 2663
    functionLinenumberEnd: 2948
    functionName: txp_generate_for_el
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - OSSL_QUIC_TX_PACKETISER*::args::now
    - ossl_quic_rxfc_has_cwm_changed
    - tx_helper_unrestrict
    - tx_helper_append_iovec
    - ossl_quic_wire_encode_frame_handshake_done
    - ossl_quic_frame_type_is_ack_eliciting
    - tx_helper_get_space_left
    - txp_generate_stream_related
    - ossl_quic_wire_encode_frame_max_data
    - ossl_quic_pn_valid
    - ossl_quic_cfq_item_get_encoded_len
    - ossl_quic_enc_level_to_pn_space
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_cfq_item_get_encoded
    - ossl_quic_wire_encode_frame_ping
    - txp_generate_crypto_frames
    - ossl_quic_wire_encode_frame_max_streams
    - tx_helper_commit
    - txp_need_ping
    - assert
    - ossl_assert
    - ossl_quic_txpim_pkt_release
    - ossl_quic_cfq_item_get_priority_next
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_cfq_item_get_frame_type
    - ossl_quic_txpim_pkt_add_cfq_item
    - txp_generate_pre_token
    - tx_helper_begin
    - tx_helper_rollback
    - ossl_quic_txpim_pkt_alloc
    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:2988,1
    - Dst: txp_get_archetype_data
      Src: /src/openssl/ssl/quic/quic_txp.c:3000,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_txp.c:3008,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:3026,1
    - Dst: ossl_quic_fifd_pkt_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:3031,1
    - Dst: ossl_qtx_write_pkt
      Src: /src/openssl/ssl/quic/quic_txp.c:3049,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3059,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:3069,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:3069,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:3087,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_txp.c:3089,1
    - Dst: ossl_quic_sstream_has_pending
      Src: /src/openssl/ssl/quic/quic_txp.c:3090,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_txp.c:3091,1
    - Dst: ossl_quic_stream_map_notify_all_data_sent
      Src: /src/openssl/ssl/quic/quic_txp.c:3096,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3108,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3113,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3118,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/ssl/quic/quic_txp.c:3133,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: 3149
      start: 2981
    functionDepth: 2
    functionLinenumber: 2981
    functionLinenumberEnd: 3149
    functionName: txp_pkt_commit
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_fifd_pkt_commit
    - txp_get_archetype_data
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_sstream_has_pending
    - ossl_quic_txfc_consume_credit
    - ossl_quic_sstream_get_final_size
    - ossl_qtx_write_pkt
    - ossl_quic_txpim_pkt_append_chunk
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_stream_map_update_state
    - ossl_assert
    - ossl_quic_stream_map_notify_all_data_sent
    - BIO_ADDR_family
    - ossl_ackm_get0_probe_request
    - ossl_quic_enc_level_to_pn_space
    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:3161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - el
    - num
    argTypes:
    - struct txp_el*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3168
    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:3175,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/quic/quic_txp.c:3188,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: 3198
      start: 3170
    functionDepth: 2
    functionLinenumber: 3170
    functionLinenumberEnd: 3198
    functionName: ossl_quic_tx_packetiser_schedule_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_memdup
    - txp_get_mdpl
    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: 3206
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3206
    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: 3212
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3212
    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: 3221
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3221
    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:3230,1
    - Dst: ossl_qtx_is_enc_level_provisioned
      Src: /src/openssl/ssl/quic/quic_txp.c:3242,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:3243,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_txp.c:3244,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/ssl/quic/quic_txp.c:3245,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
      Src: /src/openssl/ssl/quic/quic_txp.c:3249,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_txp.c:3250,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_wakeup_deadline
      Src: /src/openssl/ssl/quic/quic_txp.c:3251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3254
      start: 3223
    functionDepth: 2
    functionLinenumber: 3223
    functionLinenumberEnd: 3254
    functionName: ossl_quic_tx_packetiser_get_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
    - ossl_qtx_is_enc_level_provisioned
    - ossl_time_infinite
    - OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_wakeup_deadline
    - ossl_time_min
    - ossl_ackm_get_ack_deadline
    - ossl_quic_enc_level_to_pn_space
    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:
    - ring_buf_init
    - OPENSSL_zalloc
    - OPENSSL_free
    - ring_buf_resize
    - 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:
    - ossl_sframe_list_destroy
    - ring_buf_destroy
    - OPENSSL_free
    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:
    - ring_buf_get_ptr
    - ossl_sframe_list_peek
    - ring_buf_cpop_range
    - ossl_sframe_list_drop_frames
    - memcpy
    - ossl_assert
    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:
    - ossl_quic_rxfc_on_retire
    - read_internal
    - get_rtt
    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:
    - ossl_sframe_list_lock_head
    - ring_buf_get_ptr
    - ossl_assert
    - ossl_sframe_list_drop_frames
    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:235,1
    - Dst: ossl_sframe_list_drop_frames
      Src: /src/openssl/ssl/quic/quic_rstream.c:246,1
    - Dst: ring_buf_cpop_range
      Src: /src/openssl/ssl/quic/quic_rstream.c:250,1
    - Dst: get_rtt
      Src: /src/openssl/ssl/quic/quic_rstream.c:253,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_rstream.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - qrs
    - read_len
    argTypes:
    - QUIC_RSTREAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 260
    functionName: ossl_quic_rstream_release_record
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 1
    functionsReached:
    - ossl_quic_rxfc_on_retire
    - ring_buf_cpop_range
    - ossl_sframe_list_is_head_locked
    - ossl_sframe_list_drop_frames
    - 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:269,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: 270
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 270
    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:274,1
    - Dst: ossl_sframe_list_move_data
      Src: /src/openssl/ssl/quic/quic_rstream.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qrs
    argTypes:
    - QUIC_RSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: ossl_quic_rstream_move_to_rbuf
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - ring_buf_avail
    - ossl_sframe_list_move_data
    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:282,1
    - Dst: ring_buf_resize
      Src: /src/openssl/ssl/quic/quic_rstream.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qrs
    - rbuf_size
    argTypes:
    - QUIC_RSTREAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 289
    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: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    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: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    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: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    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:81,1
    - Dst: lh_OSSL_ACKM_TX_PKT_new
      Src: /src/openssl/ssl/quic/quic_ackm.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: tx_pkt_history_init
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_init
    - lh_OSSL_ACKM_TX_PKT_new
    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:95,1
    - Dst: ossl_list_tx_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: tx_pkt_history_destroy
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_ACKM_TX_PKT_free
    - ossl_list_tx_history_init
    linkageType: ''
    returnType: void
    signature: void tx_pkt_history_destroy(struct tx_pkt_history_st *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_ACKM_TX_PKT_retrieve
      Src: /src/openssl/ssl/quic/quic_ackm.c:110,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:111,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:115,1
    - Dst: ossl_list_tx_history_next
      Src: /src/openssl/ssl/quic/quic_ackm.c:115,1
    - Dst: ossl_list_tx_history_prev
      Src: /src/openssl/ssl/quic/quic_ackm.c:116,1
    - Dst: lh_OSSL_ACKM_TX_PKT_insert
      Src: /src/openssl/ssl/quic/quic_ackm.c:119,1
    - Dst: lh_OSSL_ACKM_TX_PKT_error
      Src: /src/openssl/ssl/quic/quic_ackm.c:120,1
    - Dst: ossl_list_tx_history_insert_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - h
    - pkt
    argTypes:
    - struct tx_pkt_history_st*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: tx_pkt_history_add_actual
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_ACKM_TX_PKT_insert
    - lh_OSSL_ACKM_TX_PKT_retrieve
    - ossl_list_tx_history_insert_tail
    - lh_OSSL_ACKM_TX_PKT_error
    - ossl_list_tx_history_prev
    - ossl_assert
    - ossl_list_tx_history_next
    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:132,1
    - Dst: tx_pkt_history_add_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:135,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: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: tx_pkt_history_add
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - tx_pkt_history_add_actual
    - ossl_assert
    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:151,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: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    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:161,1
    - Dst: ossl_list_tx_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:165,1
    - Dst: lh_OSSL_ACKM_TX_PKT_delete
      Src: /src/openssl/ssl/quic/quic_ackm.c:166,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: 168
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: tx_pkt_history_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_remove
    - tx_pkt_history_by_pkt_num
    - lh_OSSL_ACKM_TX_PKT_delete
    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:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct rx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 409
    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:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct rx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    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:426,1
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/quic_ackm.c:427,1
    - Dst: ossl_quic_pn_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:431,1
    - Dst: ossl_uint_set_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:433,1
    - Dst: rx_pkt_history_bump_watermark
      Src: /src/openssl/ssl/quic/quic_ackm.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct rx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 442
    functionName: rx_pkt_history_trim_range_count
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_head
    - ossl_list_uint_set_num
    - rx_pkt_history_bump_watermark
    - ossl_uint_set_remove
    - ossl_quic_pn_max
    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:455,1
    - Dst: rx_pkt_history_trim_range_count
      Src: /src/openssl/ssl/quic/quic_ackm.c:458,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: 460
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 460
    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:473,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: 478
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 478
    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: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    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:625,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: 624
        line_start: 624
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 628
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 628
    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:636,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: 635
        line_start: 635
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 639
    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: 649
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 649
    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: 661
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 661
    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: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    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:684,1
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:697,1
    - Dst: tx_pkt_history_by_pkt_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:699,1
    - Dst: ossl_list_tx_history_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:701,1
    - Dst: ossl_list_tx_history_prev
      Src: /src/openssl/ssl/quic/quic_ackm.c:708,1
    - Dst: range_contains
      Src: /src/openssl/ssl/quic/quic_ackm.c:719,1
    - Dst: tx_pkt_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:721,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:738,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: 683
        line_start: 683
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    - condition: (pkt->pkt_num < ack->ack_ranges[ridx].start)
      pos:
        line_end: 737
        line_start: 737
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 746
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 746
    functionName: ackm_detect_and_remove_newly_acked_pkts
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - tx_pkt_history_by_pkt_num
    - get_tx_history
    - ossl_list_tx_history_tail
    - range_contains
    - ossl_list_tx_history_prev
    - assert
    - tx_pkt_history_remove
    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:761,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:763,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:765,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:767,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:767,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_ackm.c:770,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:773,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:773,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:776,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_ackm.c:777,1
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:779,1
    - Dst: ossl_list_tx_history_head
      Src: /src/openssl/ssl/quic/quic_ackm.c:780,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:783,1
    - Dst: ossl_list_tx_history_next
      Src: /src/openssl/ssl/quic/quic_ackm.c:789,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:797,1
    - Dst: tx_pkt_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:800,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:806,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:807,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_ackm.c:809,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts:
    - condition: (pkt_space == pkt->pkt_space)
      pos:
        line_end: 782
        line_start: 782
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    - condition: (ackm->largest_acked_pkt[pkt_space] != QUIC_PN_INVALID)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 815
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 815
    functionName: ackm_detect_and_remove_lost_pkts
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_subtract
    - ossl_time_divide
    - get_tx_history
    - ossl_list_tx_history_next
    - tx_pkt_history_remove
    - OSSL_ACKM*::now
    - ossl_time_is_zero
    - ossl_time_add
    - ossl_list_tx_history_head
    - ossl_time_compare
    - ossl_statm_get_rtt_info
    - assert
    - ossl_time_max
    - ossl_time_min
    - ossl_time_zero
    - ossl_time_multiply
    - ossl_ticks2time
    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:823,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ackm
    - pspace
    argTypes:
    - OSSL_ACKM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 831
    functionName: ackm_get_loss_time_and_space
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    - ossl_time_is_zero
    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:837,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:840,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:843,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:844,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:844,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:845,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:848,1
    - Dst: min_u32
      Src: /src/openssl/ssl/quic/quic_ackm.c:849,1
    - Dst: ackm_ack_eliciting_bytes_in_flight
      Src: /src/openssl/ssl/quic/quic_ackm.c:853,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:854,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:859,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:859,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:877,1
    - Dst: min_u32
      Src: /src/openssl/ssl/quic/quic_ackm.c:879,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:882,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:883,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:894,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:895,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:896,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: 853
        line_start: 853
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 905
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 905
    functionName: ackm_get_pto_time_and_space
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - min_u32
    - ossl_time_is_infinite
    - ossl_time_is_zero
    - ossl_time_max
    - OSSL_ACKM*::now
    - ossl_time_compare
    - ackm_ack_eliciting_bytes_in_flight
    - ossl_statm_get_rtt_info
    - ossl_time_infinite
    - assert
    - ossl_time_add
    - ossl_time_multiply
    - ossl_ticks2time
    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:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ackm
    - deadline
    argTypes:
    - OSSL_ACKM*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 915
    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:922,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:923,1
    - Dst: ackm_set_loss_detection_timer_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:925,1
    - Dst: ackm_ack_eliciting_bytes_in_flight
      Src: /src/openssl/ssl/quic/quic_ackm.c:929,1
    - Dst: ackm_set_loss_detection_timer_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:936,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:936,1
    - Dst: ackm_get_pto_time_and_space
      Src: /src/openssl/ssl/quic/quic_ackm.c:940,1
    - Dst: ackm_set_loss_detection_timer_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 917
    functionDepth: 4
    functionLinenumber: 917
    functionLinenumberEnd: 943
    functionName: ackm_set_loss_detection_timer
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_is_zero
    - ackm_set_loss_detection_timer_actual
    - ackm_ack_eliciting_bytes_in_flight
    - ackm_get_pto_time_and_space
    - ackm_get_loss_time_and_space
    - ossl_time_zero
    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: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    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:982,1
    - Dst: OSSL_ACKM_TX_PKT*::on_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:986,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:993,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:994,1
    - Dst: ackm_in_persistent_congestion
      Src: /src/openssl/ssl/quic/quic_ackm.c:995,1
    - Dst: OSSL_ACKM*::cc_method::on_data_lost_finished
      Src: /src/openssl/ssl/quic/quic_ackm.c:998,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: 999
      start: 952
    functionDepth: 3
    functionLinenumber: 952
    functionLinenumberEnd: 999
    functionName: ackm_on_pkts_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - OSSL_ACKM*::cc_method::on_data_lost
    - ossl_time_is_zero
    - OSSL_ACKM_TX_PKT*::on_lost
    - ossl_statm_get_rtt_info
    - OSSL_ACKM*::cc_method::on_data_lost_finished
    - ackm_in_persistent_congestion
    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:1022,1
    - Dst: get_rx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1022,1
    - Dst: OSSL_ACKM_TX_PKT*::on_acked
      Src: /src/openssl/ssl/quic/quic_ackm.c:1031,1
    - Dst: OSSL_ACKM*::cc_method::on_data_acked
      Src: /src/openssl/ssl/quic/quic_ackm.c:1034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ackm
    - apkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1036
    functionName: ackm_on_pkts_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - get_rx_history
    - rx_pkt_history_bump_watermark
    - OSSL_ACKM*::cc_method::on_data_acked
    - 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:1048,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1052,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1054,1
    - Dst: tx_pkt_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:1055,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1059,1
    - Dst: rx_pkt_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:1060,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:1069,1
    - Dst: tx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1076,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_ackm.c:1078,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: 1080
      start: 1038
    functionDepth: 2
    functionLinenumber: 1038
    functionLinenumberEnd: 1080
    functionName: ossl_ackm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - tx_pkt_history_init
    - ossl_time_infinite
    - OSSL_NELEM
    - tx_pkt_history_destroy
    - ossl_ms2time
    - rx_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:1089,1
    - Dst: tx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1091,1
    - Dst: rx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1092,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_ackm.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1096
    functionName: ossl_ackm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - tx_pkt_history_destroy
    - rx_pkt_history_destroy
    - OSSL_NELEM
    - OPENSSL_free
    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:1100,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1103,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:1104,1
    - Dst: tx_pkt_history_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1117,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1128,1
    - Dst: OSSL_ACKM*::cc_method::on_data_sent
      Src: /src/openssl/ssl/quic/quic_ackm.c:1130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ackm
    - pkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1098
    functionDepth: 5
    functionLinenumber: 1098
    functionLinenumberEnd: 1134
    functionName: ossl_ackm_on_tx_packet
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 4
    functionsReached:
    - ackm_set_loss_detection_timer
    - get_tx_history
    - ossl_time_is_zero
    - ossl_time_compare
    - OSSL_ACKM*::cc_method::on_data_sent
    - tx_pkt_history_add
    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: 1140
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1140
    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:1156,1
    - Dst: tx_pkt_history_by_pkt_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:1157,1
    - Dst: OSSL_ACKM*::cc_method::on_ecn
      Src: /src/openssl/ssl/quic/quic_ackm.c:1162,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: 1164
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1164
    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:1176,1
    - Dst: ackm_detect_and_remove_newly_acked_pkts
      Src: /src/openssl/ssl/quic/quic_ackm.c:1192,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1195,1
    - Dst: ack_includes_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_ackm.c:1206,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:1207,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1208,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_ackm.c:1214,1
    - Dst: ossl_statm_update_rtt
      Src: /src/openssl/ssl/quic/quic_ackm.c:1216,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_ackm.c:1217,1
    - Dst: ackm_process_ecn
      Src: /src/openssl/ssl/quic/quic_ackm.c:1228,1
    - Dst: ackm_detect_and_remove_lost_pkts
      Src: /src/openssl/ssl/quic/quic_ackm.c:1231,1
    - Dst: ackm_on_pkts_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:1233,1
    - Dst: ackm_on_pkts_acked
      Src: /src/openssl/ssl/quic/quic_ackm.c:1235,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1244,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: 1246
      start: 1166
    functionDepth: 5
    functionLinenumber: 1166
    functionLinenumberEnd: 1246
    functionName: ossl_ackm_on_rx_ack_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 4
    functionsReached:
    - ackm_set_loss_detection_timer
    - ack_includes_ack_eliciting
    - ossl_statm_update_rtt
    - ossl_time_subtract
    - ackm_detect_and_remove_newly_acked_pkts
    - ossl_time_is_zero
    - OSSL_ACKM*::now
    - ackm_process_ecn
    - ackm_on_pkts_lost
    - ackm_on_pkts_acked
    - ossl_quic_pn_max
    - ossl_time_min
    - ackm_detect_and_remove_lost_pkts
    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:1259,1
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1259,1
    - Dst: ossl_list_tx_history_next
      Src: /src/openssl/ssl/quic/quic_ackm.c:1261,1
    - Dst: OSSL_ACKM_TX_PKT*::on_discarded
      Src: /src/openssl/ssl/quic/quic_ackm.c:1267,1
    - Dst: tx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1270,1
    - Dst: rx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1271,1
    - Dst: OSSL_ACKM*::cc_method::on_data_invalidated
      Src: /src/openssl/ssl/quic/quic_ackm.c:1274,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1277,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1278,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1284
    functionName: ossl_ackm_on_pkt_space_discarded
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - ackm_set_loss_detection_timer
    - rx_pkt_history_destroy
    - get_tx_history
    - OSSL_ACKM*::cc_method::on_data_invalidated
    - OSSL_ACKM_TX_PKT*::on_discarded
    - ossl_list_tx_history_head
    - ossl_time_zero
    - tx_pkt_history_destroy
    - ossl_list_tx_history_next
    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:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1286
    functionDepth: 5
    functionLinenumber: 1286
    functionLinenumberEnd: 1292
    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: 1297
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1297
    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: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    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: 1312
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1312
    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:1320,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1321,1
    - Dst: ackm_detect_and_remove_lost_pkts
      Src: /src/openssl/ssl/quic/quic_ackm.c:1323,1
    - Dst: ackm_on_pkts_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:1325,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1326,1
    - Dst: ackm_ack_eliciting_bytes_in_flight
      Src: /src/openssl/ssl/quic/quic_ackm.c:1330,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:1331,1
    - Dst: ackm_queue_probe_anti_deadlock_handshake
      Src: /src/openssl/ssl/quic/quic_ackm.c:1338,1
    - Dst: ackm_queue_probe_anti_deadlock_initial
      Src: /src/openssl/ssl/quic/quic_ackm.c:1340,1
    - Dst: ackm_get_pto_time_and_space
      Src: /src/openssl/ssl/quic/quic_ackm.c:1347,1
    - Dst: ackm_queue_probe
      Src: /src/openssl/ssl/quic/quic_ackm.c:1348,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts:
    - condition: (!ackm->peer_completed_addr_validation)
      pos:
        line_end: 1330
        line_start: 1330
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 1354
      start: 1314
    functionDepth: 5
    functionLinenumber: 1314
    functionLinenumberEnd: 1354
    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_initial
    - ackm_queue_probe_anti_deadlock_handshake
    - ossl_time_is_zero
    - ackm_queue_probe
    - ackm_ack_eliciting_bytes_in_flight
    - ackm_on_pkts_lost
    - ackm_get_pto_time_and_space
    - assert
    - ackm_get_loss_time_and_space
    - ackm_detect_and_remove_lost_pkts
    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: 1359
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1359
    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: 1364
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1364
    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:1371,1
    - Dst: ossl_list_tx_history_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1372,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: 1379
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1379
    functionName: ossl_ackm_get_largest_unacked
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - get_tx_history
    - ossl_list_tx_history_tail
    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:1402,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:1403,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:1403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1406
    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:1416,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: 1420
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1420
    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:1434,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: 1435
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1435
    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:1445,1
    - Dst: ossl_list_uint_set_is_empty
      Src: /src/openssl/ssl/quic/quic_ackm.c:1447,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1463,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1464,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1467
    functionName: ackm_has_newly_missing
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - get_rx_history
    - ossl_list_uint_set_tail
    - ossl_list_uint_set_is_empty
    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:1475,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1475,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: 1477
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1477
    functionName: ackm_set_flush_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_get_ack_deadline
    - OSSL_ACKM*::ack_deadline_cb
    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:1485,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1480
    functionDepth: 2
    functionLinenumber: 1480
    functionLinenumberEnd: 1486
    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:1504,1
    - Dst: ackm_queue_ack
      Src: /src/openssl/ssl/quic/quic_ackm.c:1527,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1543,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1545,1
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1546,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1547,1
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1549,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_ackm.c:1550,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1551,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: 1553
      start: 1488
    functionDepth: 3
    functionLinenumber: 1488
    functionLinenumberEnd: 1553
    functionName: ackm_on_rx_ack_eliciting
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ackm_has_newly_missing
    - ossl_time_is_infinite
    - ackm_set_flush_deadline
    - ackm_queue_ack
    - ossl_time_add
    - ossl_time_min
    - ossl_time_zero
    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:1557,1
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/ssl/quic/quic_ackm.c:1560,1
    - Dst: ackm_is_missing
      Src: /src/openssl/ssl/quic/quic_ackm.c:1579,1
    - Dst: rx_pkt_history_add_pn
      Src: /src/openssl/ssl/quic/quic_ackm.c:1585,1
    - Dst: ackm_on_rx_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_ackm.c:1594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ackm
    - pkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1555
    functionDepth: 5
    functionLinenumber: 1555
    functionLinenumberEnd: 1612
    functionName: ossl_ackm_on_rx_packet
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 2
    functionsReached:
    - ossl_ackm_is_rx_pn_processable
    - get_rx_history
    - ackm_on_rx_ack_eliciting
    - rx_pkt_history_add_pn
    - ackm_is_missing
    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:1617,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1625,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1626,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/quic_ackm.c:1627,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: 1634
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1634
    functionName: ackm_fill_rx_ack_ranges
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - get_rx_history
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_tail
    - OSSL_NELEM
    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:1640,1
    - Dst: ackm_fill_rx_ack_ranges
      Src: /src/openssl/ssl/quic/quic_ackm.c:1642,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1644,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:1645,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_ackm.c:1647,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1649,1
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1660,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1636
    functionDepth: 3
    functionLinenumber: 1636
    functionLinenumberEnd: 1662
    functionName: ossl_ackm_get_ack_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 2
    functionsReached:
    - ackm_fill_rx_ack_ranges
    - ossl_time_subtract
    - ossl_time_is_zero
    - OSSL_ACKM*::now
    - ossl_time_compare
    - ossl_time_infinite
    - ackm_set_flush_deadline
    - ossl_time_zero
    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:
    - get_rx_history
    - ossl_uint_set_query
    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:
    - get_tx_history
    - tx_pkt_history_by_pkt_num
    - tx_pkt_history_remove
    - ackm_on_pkts_lost
    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_time_multiply
    - ossl_ticks2time
    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: 47
    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: 4
    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:163,1
    - Dst: list_insert_head
      Src: /src/openssl/ssl/quic/quic_cfq.c:165,1
    - Dst: list_insert_after
      Src: /src/openssl/ssl/quic/quic_cfq.c:167,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: 168
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: list_insert_sorted
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached:
    - list_insert_after
    - cmp
    - list_insert_head
    - list_insert_tail
    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:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    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:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 191
    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:199,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_cfq.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: free_list_items
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached:
    - clear_item
    - OPENSSL_free
    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:209,1
    - Dst: free_list_items
      Src: /src/openssl/ssl/quic/quic_cfq.c:210,1
    - Dst: free_list_items
      Src: /src/openssl/ssl/quic/quic_cfq.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_cfq.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cfq
    argTypes:
    - QUIC_CFQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 213
    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:222,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cfq
    argTypes:
    - QUIC_CFQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 229
    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:241,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:256,1
    - Dst: list_insert_sorted
      Src: /src/openssl/ssl/quic/quic_cfq.c:257,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: 259
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 259
    functionName: ossl_quic_cfq_add_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 4
    functionsReached:
    - cfq_get_free
    - list_remove
    - 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:267,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:268,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_cfq.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cfq
    - item
    argTypes:
    - QUIC_CFQ*
    - QUIC_CFQ_ITEM*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/openssl/ssl/quic/quic_cfq.c
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: ossl_quic_cfq_mark_tx
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached:
    - list_remove
    - assert
    - list_insert_tail
    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:284,1
    - Dst: ossl_quic_cfq_release
      Src: /src/openssl/ssl/quic/quic_cfq.c:285,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:292,1
    - Dst: list_insert_sorted
      Src: /src/openssl/ssl/quic/quic_cfq.c:294,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:300,1
    - Dst: list_insert_sorted
      Src: /src/openssl/ssl/quic/quic_cfq.c:301,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_cfq.c:305,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: 304
        line_start: 304
        source_file: /src/openssl/ssl/quic/quic_cfq.c
    constantsTouched: []
    func_position:
      end: 308
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 308
    functionName: ossl_quic_cfq_mark_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached:
    - ossl_quic_cfq_item_is_unreliable
    - list_remove
    - ossl_quic_cfq_release
    - list_insert_sorted
    - 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:320,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:321,1
    - Dst: clear_item
      Src: /src/openssl/ssl/quic/quic_cfq.c:322,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:325,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:326,1
    - Dst: clear_item
      Src: /src/openssl/ssl/quic/quic_cfq.c:327,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_cfq.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cfq
    - item
    argTypes:
    - QUIC_CFQ*
    - QUIC_CFQ_ITEM*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/openssl/ssl/quic/quic_cfq.c
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: ossl_quic_cfq_release
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 4
    functionsReached:
    - list_remove
    - clear_item
    - assert
    - list_insert_tail
    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: 347
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 347
    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: 366
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 366
    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:112,1
    - Dst: port_init
      Src: /src/openssl/ssl/quic/quic_port.c:122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - QUIC_PORT_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: ossl_quic_port_new
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - port_init
    - OPENSSL_zalloc
    - OPENSSL_free
    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:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: ossl_quic_port_free
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 6
    functionsReached:
    - port_cleanup
    - OPENSSL_free
    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:150,1
    - Dst: ossl_quic_demux_new
      Src: /src/openssl/ssl/quic/quic_port.c:153,1
    - Dst: ossl_quic_demux_set_default_handler
      Src: /src/openssl/ssl/quic/quic_port.c:159,1
    - Dst: ossl_quic_srtm_new
      Src: /src/openssl/ssl/quic/quic_port.c:163,1
    - Dst: ossl_quic_lcidm_new
      Src: /src/openssl/ssl/quic/quic_port.c:168,1
    - Dst: ossl_list_port_insert_tail
      Src: /src/openssl/ssl/quic/quic_port.c:204,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_port.c:209,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_port.c:210,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:213,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/ssl/quic/quic_port.c:214,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:215,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/quic/quic_port.c:216,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:217,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_port.c:222,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/quic/quic_port.c:224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:226,1
    - Dst: port_cleanup
      Src: /src/openssl/ssl/quic/quic_port.c:228,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 230
    functionName: port_init
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_new
    - ossl_quic_demux_new
    - OPENSSL_free
    - OPENSSL_clear_free
    - ossl_quic_demux_set_default_handler
    - EVP_CIPHER_CTX_get_key_length
    - RAND_priv_bytes_ex
    - ossl_list_port_insert_tail
    - ossl_quic_lcidm_new
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - OSSL_ERR_STATE_new
    - port_cleanup
    - EVP_EncryptInit_ex
    - OPENSSL_malloc
    - ossl_quic_srtm_new
    linkageType: ''
    returnType: int
    signature: int port_init(QUIC_PORT *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:234,1
    - Dst: ossl_list_ch_num
      Src: /src/openssl/ssl/quic/quic_port.c:234,1
    - Dst: ossl_quic_demux_free
      Src: /src/openssl/ssl/quic/quic_port.c:236,1
    - Dst: ossl_quic_srtm_free
      Src: /src/openssl/ssl/quic/quic_port.c:239,1
    - Dst: ossl_quic_lcidm_free
      Src: /src/openssl/ssl/quic/quic_port.c:242,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/ssl/quic/quic_port.c:245,1
    - Dst: ossl_list_port_remove
      Src: /src/openssl/ssl/quic/quic_port.c:249,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_port.c:253,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: 233
        line_start: 233
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 255
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 255
    functionName: port_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 2
    functionsReached:
    - ossl_list_port_remove
    - ossl_quic_srtm_free
    - ossl_list_ch_num
    - ossl_quic_lcidm_free
    - assert
    - OSSL_ERR_STATE_free
    - EVP_CIPHER_CTX_free
    - 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: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    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: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    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: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    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:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 293
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: get_time
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 10
    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: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    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: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    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:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    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:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 329
    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: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    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: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    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:346,1
    - Dst: BIO_get_wpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_port.c:347,1
    - Dst: validate_poll_descriptor
      Src: /src/openssl/ssl/quic/quic_port.c:351,1
    - Dst: ossl_quic_reactor_set_poll_w
      Src: /src/openssl/ssl/quic/quic_port.c:364,1
    - Dst: ossl_quic_reactor_set_poll_r
      Src: /src/openssl/ssl/quic/quic_port.c:366,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: 369
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: port_update_poll_desc
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BIO_get_wpoll_descriptor
    - ossl_quic_reactor_set_poll_r
    - ossl_quic_reactor_set_poll_w
    - 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:378,1
    - Dst: port_update_poll_desc
      Src: /src/openssl/ssl/quic/quic_port.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - port
    - force
    argTypes:
    - QUIC_PORT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 386
    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:422,1
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/ssl/quic/quic_port.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 430
    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: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    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: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    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:444,1
    - Dst: ossl_quic_port_is_addressed_w
      Src: /src/openssl/ssl/quic/quic_port.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    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:458,1
    - Dst: ossl_quic_demux_set_bio
      Src: /src/openssl/ssl/quic/quic_port.c:461,1
    - Dst: port_update_addressing_mode
      Src: /src/openssl/ssl/quic/quic_port.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - port
    - net_rbio
    argTypes:
    - QUIC_PORT*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 465
    functionName: ossl_quic_port_set_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_quic_demux_set_bio
    - port_update_poll_desc
    - port_update_addressing_mode
    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:474,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_port.c:477,1
    - Dst: ossl_qtx_set_bio
      Src: /src/openssl/ssl/quic/quic_port.c:478,1
    - Dst: port_update_addressing_mode
      Src: /src/openssl/ssl/quic/quic_port.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - port
    - net_wbio
    argTypes:
    - QUIC_PORT*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: ossl_quic_port_set_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - OSSL_LIST_FOREACH
    - ossl_qtx_set_bio
    - port_update_poll_desc
    - port_update_addressing_mode
    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: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: ossl_quic_port_get_channel_ctx
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    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:541,1
    - Dst: QUIC_PORT*::get_conn_user_ssl
      Src: /src/openssl/ssl/quic/quic_port.c:543,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:553,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_port.c:556,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_port.c:556,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_port.c:557,1
    - Dst: QUIC_LISTENER*::obj::ssl::ctx::new_pending_conn_cb
      Src: /src/openssl/ssl/quic/quic_port.c:561,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:578,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:579,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - port
    - ch
    - user_sslp
    argTypes:
    - QUIC_PORT*
    - QUIC_CHANNEL*
    - SSL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 583
    functionName: port_new_handshake_layer
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - QUIC_LISTENER*::obj::ssl::ctx::new_pending_conn_cb
    - TLS_method
    - SSL_CONNECTION_FROM_SSL
    - QUIC_PORT*::get_conn_user_ssl
    - ossl_ssl_connection_new_int
    - ossl_assert
    - SSL_free
    linkageType: ''
    returnType: SSL
    signature: SSL *port_new_handshake_layer(QUIC_PORT *port, QUIC_CHANNEL *ch, SSL
      **user_sslp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_alloc
      Src: /src/openssl/ssl/quic/quic_port.c:623,1
    - Dst: ossl_quic_port_test_and_set_peeloff
      Src: /src/openssl/ssl/quic/quic_port.c:630,1
    - Dst: port_new_handshake_layer
      Src: /src/openssl/ssl/quic/quic_port.c:634,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:651,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/quic_port.c:652,1
    - Dst: ossl_quic_channel_init
      Src: /src/openssl/ssl/quic/quic_port.c:660,1
    - Dst: ossl_qtx_set_bio
      Src: /src/openssl/ssl/quic/quic_port.c:663,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:670,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:671,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 5
    argNames:
    - port
    - tls
    - qrx
    - is_server
    - is_tserver
    argTypes:
    - QUIC_PORT*
    - SSL*
    - OSSL_QRX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 585
    functionDepth: 6
    functionLinenumber: 585
    functionLinenumberEnd: 674
    functionName: port_make_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ossl_quic_channel_init
    - ossl_quic_port_test_and_set_peeloff
    - ossl_quic_channel_alloc
    - OPENSSL_free
    - ossl_qtx_set_bio
    - port_new_handshake_layer
    - SSL_free
    - ossl_quic_channel_free
    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:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - tls
    argTypes:
    - QUIC_PORT*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 7
    functionLinenumber: 676
    functionLinenumberEnd: 680
    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:686,1
    - Dst: port_make_channel
      Src: /src/openssl/ssl/quic/quic_port.c:692,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: 685
        line_start: 685
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 697
      start: 682
    functionDepth: 7
    functionLinenumber: 682
    functionLinenumberEnd: 697
    functionName: ossl_quic_port_create_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - port_make_channel
    - assert
    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:703,1
    - Dst: ossl_list_incoming_ch_remove
      Src: /src/openssl/ssl/quic/quic_port.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 709
    functionName: ossl_quic_port_pop_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 2
    functionsReached:
    - ossl_list_incoming_ch_remove
    - ossl_list_incoming_ch_head
    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:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    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:724,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/ssl/quic/quic_port.c:728,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_port.c:737,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/quic/quic_port.c:741,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:743,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:744,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 749
    functionName: ossl_quic_port_drop_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get0_tls
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_FROM_SSL
    - ossl_quic_port_pop_incoming
    - SSL_free
    - ossl_quic_channel_free
    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: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    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: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - port
    - using_peeloff
    argTypes:
    - QUIC_PORT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 775
    functionName: ossl_quic_port_test_and_set_peeloff
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_test_and_set_peeloff(QUIC_PORT *port, int using_peeloff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:791,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_port.c:794,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:798,1
    - Dst: port_rx_pre
      Src: /src/openssl/ssl/quic/quic_port.c:799,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_port.c:802,1
    - Dst: ossl_quic_channel_subtick
      Src: /src/openssl/ssl/quic/quic_port.c:806,1
    - Dst: ossl_quic_tick_result_merge_into
      Src: /src/openssl/ssl/quic/quic_port.c:807,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: 810
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 810
    functionName: ossl_quic_port_subtick
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - OSSL_LIST_FOREACH
    - ossl_quic_port_is_running
    - ossl_quic_channel_subtick
    - ossl_quic_tick_result_merge_into
    - ossl_time_infinite
    - port_rx_pre
    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:840,1
    - Dst: ossl_quic_port_raise_net_error
      Src: /src/openssl/ssl/quic/quic_port.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 849
    functionName: port_rx_pre
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_quic_demux_pump
    - ossl_quic_port_raise_net_error
    linkageType: ''
    returnType: void
    signature: void port_rx_pre(QUIC_PORT *port)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_port.c:870,1
    - Dst: ossl_quic_channel_set_peer_addr
      Src: /src/openssl/ssl/quic/quic_port.c:871,1
    - Dst: ossl_quic_channel_bind_qrx
      Src: /src/openssl/ssl/quic/quic_port.c:873,1
    - Dst: ossl_qrx_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_port.c:874,1
    - Dst: ossl_qrx_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_port.c:876,1
    - Dst: port_make_channel
      Src: /src/openssl/ssl/quic/quic_port.c:878,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_port.c:894,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:898,1
    - Dst: ossl_quic_tx_packetiser_set_validated
      Src: /src/openssl/ssl/quic/quic_port.c:908,1
    - Dst: ossl_quic_bind_channel
      Src: /src/openssl/ssl/quic/quic_port.c:909,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:910,1
    - Dst: ossl_quic_channel_on_new_conn
      Src: /src/openssl/ssl/quic/quic_port.c:918,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:919,1
    - Dst: ossl_list_incoming_ch_insert_tail
      Src: /src/openssl/ssl/quic/quic_port.c:924,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 6
    argNames:
    - port
    - peer
    - dcid
    - odcid
    - qrx
    - new_ch
    argTypes:
    - QUIC_PORT*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - OSSL_QRX*
    - QUIC_CHANNEL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 856
    functionDepth: 7
    functionLinenumber: 856
    functionLinenumberEnd: 926
    functionName: port_bind_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - port_make_channel
    - ossl_quic_tx_packetiser_set_validated
    - ossl_quic_bind_channel
    - ossl_list_incoming_ch_insert_tail
    - ossl_qrx_set_msg_callback_arg
    - ossl_quic_channel_set_peer_addr
    - ossl_quic_channel_bind_qrx
    - ossl_quic_channel_on_new_conn
    - ossl_quic_provide_initial_secret
    - BIO_ADDR_family
    - ossl_qrx_set_msg_callback
    - ossl_quic_channel_free
    linkageType: ''
    returnType: void
    signature: "void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,\n    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:931,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/ssl/quic/quic_port.c:961,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:967,1
    - Dst: ossl_quic_channel_on_stateless_reset
      Src: /src/openssl/ssl/quic/quic_port.c:968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - port
    - e
    argTypes:
    - QUIC_PORT*
    - QUIC_URXE*
    assertStmts:
    - condition: (opaque != NULL)
      pos:
        line_end: 966
        line_start: 966
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 972
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 972
    functionName: port_try_handle_stateless_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_srtm_lookup
    - ossl_quic_urxe_data
    - assert
    - ossl_quic_channel_on_stateless_reset
    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:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - QUIC_VALIDATION_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    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:995,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:1000,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:1002,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:1003,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1005,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: 1010
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1010
    functionName: generate_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - cleanup_validation_token
    - BIO_ADDR_rawaddress
    - 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:1026,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_port.c:1030,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/quic/quic_port.c:1034,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_port.c:1035,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_port.c:1036,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/quic/quic_port.c:1039,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/quic/quic_port.c:1041,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/quic/quic_port.c:1043,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_port.c:1044,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_port.c:1046,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_port.c:1047,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_port.c:1048,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_port.c:1052,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_port.c:1053,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: 1055
      start: 1022
    functionDepth: 5
    functionLinenumber: 1022
    functionLinenumberEnd: 1055
    functionName: marshal_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    - WPACKET_get_total_written
    - WPACKET_sub_memcpy_u8
    - WPACKET_cleanup
    - BUF_MEM_free
    - WPACKET_put_bytes_u8
    - WPACKET_finish
    - WPACKET_init
    - memcpy
    - 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:1084,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_port.c:1085,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1097,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1098,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/ssl/quic/quic_port.c:1099,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1100,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_port.c:1101,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: 1107
      start: 1074
    functionDepth: 7
    functionLinenumber: 1074
    functionLinenumberEnd: 1107
    functionName: encrypt_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - RAND_bytes_ex
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_EncryptUpdate
    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:1134,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_port.c:1135,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1151,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/ssl/quic/quic_port.c:1152,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_port.c:1154,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1156,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: 1163
      start: 1124
    functionDepth: 6
    functionLinenumber: 1124
    functionLinenumberEnd: 1163
    functionName: decrypt_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_DecryptUpdate
    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:1184,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1185,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1187,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/quic/quic_port.c:1190,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1191,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1193,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/quic/quic_port.c:1196,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1197,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1199,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/quic/quic_port.c:1201,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1202,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:1203,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1204,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1205,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1206,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: 1211
      start: 1174
    functionDepth: 4
    functionLinenumber: 1174
    functionLinenumberEnd: 1211
    functionName: parse_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - cleanup_validation_token
    - PACKET_copy_bytes
    - PACKET_get_length_prefixed_1
    - 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:1253,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1260,1
    - Dst: ossl_quic_lcidm_get_unused_cid
      Src: /src/openssl/ssl/quic/quic_port.c:1267,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1271,1
    - Dst: generate_token
      Src: /src/openssl/ssl/quic/quic_port.c:1274,1
    - Dst: marshal_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1276,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1277,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1280,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:1282,1
    - Dst: ossl_quic_calculate_retry_integrity_tag
      Src: /src/openssl/ssl/quic/quic_port.c:1291,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_port.c:1307,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_port.c:1311,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_port.c:1316,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_port.c:1320,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/ssl/quic/quic_port.c:1328,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_port.c:1329,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1333,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: 1334
      start: 1235
    functionDepth: 8
    functionLinenumber: 1235
    functionLinenumberEnd: 1334
    functionName: port_send_retry
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - encrypt_validation_token
    - WPACKET_get_total_written
    - ERR_raise_data
    - cleanup_validation_token
    - marshal_validation_token
    - generate_token
    - memset
    - WPACKET_finish
    - ossl_quic_wire_encode_pkt_hdr
    - ossl_quic_lcidm_get_unused_cid
    - ossl_assert
    - WPACKET_init_static_len
    - ossl_quic_calculate_retry_integrity_tag
    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:1364,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_port.c:1394,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_port.c:1397,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_port.c:1404,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/quic/quic_port.c:1405,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_port.c:1409,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_port.c:1412,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/ssl/quic/quic_port.c:1420,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_port.c:1421,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: 1423
      start: 1353
    functionDepth: 4
    functionLinenumber: 1353
    functionLinenumberEnd: 1423
    functionName: port_send_version_negotiation
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - WPACKET_put_bytes_u32
    - WPACKET_get_total_written
    - ERR_raise_data
    - memset
    - WPACKET_finish
    - OSSL_NELEM
    - ossl_quic_wire_encode_pkt_hdr
    - 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:1472,1
    - Dst: decrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1476,1
    - Dst: decrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1479,1
    - Dst: parse_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1481,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_port.c:1488,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/quic/quic_port.c:1490,1
    - Dst: ossl_time_abs_difference
      Src: /src/openssl/ssl/quic/quic_port.c:1490,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:1497,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:1499,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:1500,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_port.c:1501,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_port.c:1520,1
    - Dst: ossl_quic_lcidm_get_unused_cid
      Src: /src/openssl/ssl/quic/quic_port.c:1526,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1550,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:1551,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 5
    argNames:
    - hdr
    - port
    - peer
    - odcid
    - gen_new_token
    argTypes:
    - QUIC_PKT_HDR*
    - QUIC_PORT*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1464
    functionDepth: 7
    functionLinenumber: 1464
    functionLinenumberEnd: 1553
    functionName: port_validate_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_rawaddress
    - ossl_time2seconds
    - OPENSSL_free
    - cleanup_validation_token
    - ossl_time_compare
    - ossl_time_now
    - ossl_time_abs_difference
    - ossl_quic_lcidm_get_unused_cid
    - parse_validation_token
    - memcmp
    - OPENSSL_malloc
    - decrypt_validation_token
    linkageType: ''
    returnType: int
    signature: "int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,\n    BIO_ADDR
      *peer, QUIC_CONN_ID *odcid, uint8_t *gen_new_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_port.c:1568,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1579,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:1580,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1584,1
    - Dst: generate_token
      Src: /src/openssl/ssl/quic/quic_port.c:1586,1
    - Dst: marshal_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1587,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1588,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1591,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:1593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:1594,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1595,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ch
    - peer
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1555
    functionDepth: 8
    functionLinenumber: 1555
    functionLinenumberEnd: 1603
    functionName: generate_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - encrypt_validation_token
    - OPENSSL_free
    - cleanup_validation_token
    - marshal_validation_token
    - generate_token
    - RAND_bytes_ex
    - memset
    - ossl_assert
    linkageType: ''
    returnType: void
    signature: void generate_new_token(QUIC_CHANNEL *ch, BIO_ADDR *peer)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:1625,1
    - Dst: port_try_handle_stateless_reset
      Src: /src/openssl/ssl/quic/quic_port.c:1628,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/ssl/quic/quic_port.c:1632,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:1634,1
    - Dst: ossl_quic_channel_inject
      Src: /src/openssl/ssl/quic/quic_port.c:1635,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_port.c:1660,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_port.c:1660,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_port.c:1668,1
    - Dst: port_send_version_negotiation
      Src: /src/openssl/ssl/quic/quic_port.c:1700,1
    - Dst: ossl_qrx_new
      Src: /src/openssl/ssl/quic/quic_port.c:1721,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_port.c:1728,1
    - Dst: ossl_qrx_validate_initial_packet
      Src: /src/openssl/ssl/quic/quic_port.c:1735,1
    - Dst: port_send_retry
      Src: /src/openssl/ssl/quic/quic_port.c:1761,1
    - Dst: port_validate_token
      Src: /src/openssl/ssl/quic/quic_port.c:1772,1
    - Dst: port_send_retry
      Src: /src/openssl/ssl/quic/quic_port.c:1791,1
    - Dst: port_bind_channel
      Src: /src/openssl/ssl/quic/quic_port.c:1806,1
    - Dst: generate_new_token
      Src: /src/openssl/ssl/quic/quic_port.c:1820,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/ssl/quic/quic_port.c:1832,1
    - Dst: ossl_quic_channel_inject_pkt
      Src: /src/openssl/ssl/quic/quic_port.c:1833,1
    - Dst: ossl_qrx_update_pn_space
      Src: /src/openssl/ssl/quic/quic_port.c:1834,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/ssl/quic/quic_port.c:1851,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/ssl/quic/quic_port.c:1852,1
    - Dst: ossl_quic_demux_release_urxe
      Src: /src/openssl/ssl/quic/quic_port.c:1853,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 95
    argCount: 3
    argNames:
    - e
    - arg
    - dcid
    argTypes:
    - QUIC_URXE*
    - void*
    - QUIC_CONN_ID*
    assertStmts:
    - condition: (ch != NULL)
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 1854
      start: 1609
    functionDepth: 9
    functionLinenumber: 1609
    functionLinenumberEnd: 1854
    functionName: port_default_packet_handler
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_pkt_hdr
    - PACKET_buf_init
    - ossl_qrx_new
    - ossl_quic_channel_inject
    - ossl_quic_urxe_data
    - ossl_quic_demux_release_urxe
    - port_send_version_negotiation
    - port_bind_channel
    - ossl_quic_lcidm_lookup
    - ossl_qrx_update_pn_space
    - ossl_quic_provide_initial_secret
    - ossl_quic_channel_inject_pkt
    - assert
    - ossl_qrx_validate_initial_packet
    - port_try_handle_stateless_reset
    - ossl_quic_port_is_running
    - port_validate_token
    - ossl_qrx_free
    - ossl_qrx_read_pkt
    - generate_new_token
    - port_send_retry
    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:1861,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_port.c:1868,1
    - Dst: OSSL_ERR_STATE_save
      Src: /src/openssl/ssl/quic/quic_port.c:1870,1
    - Dst: port_transition_failed
      Src: /src/openssl/ssl/quic/quic_port.c:1872,1
    - Dst: ossl_quic_channel_raise_net_error
      Src: /src/openssl/ssl/quic/quic_port.c:1876,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_port.c:1878,1
    - Dst: ossl_quic_channel_raise_net_error
      Src: /src/openssl/ssl/quic/quic_port.c:1880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - port
    - triggering_ch
    argTypes:
    - QUIC_PORT*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1856
    functionDepth: 5
    functionLinenumber: 1856
    functionLinenumberEnd: 1881
    functionName: ossl_quic_port_raise_net_error
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - OSSL_LIST_FOREACH
    - OSSL_ERR_STATE_save
    - ossl_quic_port_is_running
    - ERR_raise_data
    - ossl_quic_channel_raise_net_error
    - port_transition_failed
    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:1885,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/ssl/quic/quic_port.c:1886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1883
    functionDepth: 5
    functionLinenumber: 1883
    functionLinenumberEnd: 1887
    functionName: ossl_quic_port_restore_err_state
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - OSSL_ERR_STATE_restore
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_restore_err_state(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - ms
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1892
    functionName: ossl_quic_port_set_max_idle_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_max_idle_timeout(QUIC_PORT *port, uint64_t
      ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1897
    functionName: ossl_quic_port_get_max_idle_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_max_idle_timeout(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - size
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1902
    functionName: ossl_quic_port_set_max_udp_payload_size
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_max_udp_payload_size(QUIC_PORT *port, uint64_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1907
    functionName: ossl_quic_port_get_max_udp_payload_size
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_max_udp_payload_size(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - max_data
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1912
    functionName: ossl_quic_port_set_init_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_init_max_data(QUIC_PORT *port, uint64_t max_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: ossl_quic_port_get_init_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_init_max_data(const QUIC_PORT *port)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - port
    - max_data
    - is_uni
    - is_remote
    argTypes:
    - QUIC_PORT*
    - uint64_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1929
    functionName: ossl_quic_port_set_init_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_init_max_stream_data(QUIC_PORT *port, uint64_t
      max_data, int is_uni, int is_remote)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - port
    - is_uni
    - is_remote
    argTypes:
    - QUIC_PORT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1937
    functionName: ossl_quic_port_get_init_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_init_max_stream_data(const QUIC_PORT *port,
      int is_uni, int is_remote)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - port
    - max_streams
    - is_uni
    argTypes:
    - QUIC_PORT*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1946
    functionName: ossl_quic_port_set_init_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_init_max_streams(QUIC_PORT *port, uint64_t
      max_streams, int is_uni)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - is_uni
    argTypes:
    - QUIC_PORT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1951
    functionName: ossl_quic_port_get_init_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_init_max_streams(const QUIC_PORT *port,
      int is_uni)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - exp
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1956
    functionName: ossl_quic_port_set_ack_delay_exponent
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_ack_delay_exponent(QUIC_PORT *port, uint64_t
      exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1961
    functionName: ossl_quic_port_get_ack_delay_exponent
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_ack_delay_exponent(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - ms
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1966
    functionName: ossl_quic_port_set_max_ack_delay
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_max_ack_delay(QUIC_PORT *port, uint64_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: ossl_quic_port_get_max_ack_delay
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_max_ack_delay(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - disable
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1976
    functionName: ossl_quic_port_set_disable_active_migration
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_disable_active_migration(QUIC_PORT *port, uint64_t
      disable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1981
    functionName: ossl_quic_port_get_disable_active_migration
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_disable_active_migration(const QUIC_PORT
      *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - limit
    argTypes:
    - QUIC_PORT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1986
    functionName: ossl_quic_port_set_active_conn_id_limit
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_active_conn_id_limit(QUIC_PORT *port, uint64_t
      limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1991
    functionName: ossl_quic_port_get_active_conn_id_limit
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_port_get_active_conn_id_limit(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_subtract
    - ossl_time_muldiv
    - QUIC_RXFC*::now
    - ossl_time_compare
    - 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_start_epoch
    - rxfc_should_bump_window_size
    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_cwm_bump_desired
    - rxfc_adjust_window_size
    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:
    - rxfc_start_epoch
    - ossl_time_is_zero
    - rxfc_update_cwm
    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: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    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: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    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:237,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_obj_local.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: ossl_quic_obj_get0_port_local
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_get0_port
    - ossl_quic_obj_is_port_leader
    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:279,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 280
    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:289,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    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:296,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    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:303,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: ossl_quic_obj_get0_propq
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_get0_engine
    - ossl_quic_engine_get0_propq
    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:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj->init_done)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 317
    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:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj->init_done)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    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: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    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
    - OPENSSL_cleanse
    - ossl_qrx_pkt_release
    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:
    - OPENSSL_zalloc
    - ossl_qrx_pkt_up_ref
    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:
    - append_frame
    - stream_frame_free
    - stream_frame_new
    - assert
    - ossl_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
    - OPENSSL_cleanse
    - stream_frame_free
    - ossl_qrx_pkt_release
    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:101,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:104,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:106,1
    - Dst: ossl_time2ticks
      Src: /src/openssl/ssl/quic/quic_trace.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:108,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:114,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_trace.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 126
    functionName: frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 6
    functionsReached:
    - ossl_time2ticks
    - BIO_printf
    - OPENSSL_zalloc
    - ossl_quic_wire_decode_frame_ack
    - OPENSSL_free
    - ossl_quic_wire_peek_frame_ack_num_ranges
    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:132,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:135,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:137,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: frame_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - BIO_printf
    - ossl_quic_wire_decode_frame_reset_stream
    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:149,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 158
    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:164,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 171
    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:178,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:181,1
    - Dst: put_token
      Src: /src/openssl/ssl/quic/quic_trace.c:182,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: frame_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - BIO_puts
    - put_token
    - ossl_quic_wire_decode_frame_new_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:193,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:196,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:200,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:204,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:208,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:212,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:216,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:220,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:224,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:231,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:234,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:243,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - bio
    - pkt
    - frame_type
    argTypes:
    - BIO*
    - PACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 248
    functionName: frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 6
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ossl_quic_wire_decode_frame_stream
    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:254,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: frame_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - BIO_printf
    - ossl_quic_wire_decode_frame_max_data
    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:267,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: frame_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 4
    functionsReached:
    - ossl_quic_wire_decode_frame_max_stream_data
    - BIO_printf
    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:281,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 4
    functionsReached:
    - BIO_printf
    - ossl_quic_wire_decode_frame_max_streams
    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:293,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - ossl_quic_wire_decode_frame_data_blocked
    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:306,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:310,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    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:320,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 326
    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:332,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:335,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:337,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:339,1
    - Dst: put_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:340,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:341,1
    - Dst: put_data
      Src: /src/openssl/ssl/quic/quic_trace.c:342,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 347
    functionName: frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 8
    functionsReached:
    - ossl_quic_wire_decode_frame_new_conn_id
    - BIO_puts
    - BIO_printf
    - put_conn_id
    - put_data
    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:353,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 359
    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:365,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 371
    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:377,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 383
    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:389,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:392,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:394,1
    - Dst: put_str
      Src: /src/openssl/ssl/quic/quic_trace.c:395,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 399
    functionName: frame_conn_closed
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ossl_quic_wire_decode_frame_conn_close
    - put_str
    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:405,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:410,1
    - Dst: ossl_quic_wire_decode_frame_ping
      Src: /src/openssl/ssl/quic/quic_trace.c:411,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:416,1
    - Dst: ossl_quic_wire_decode_padding
      Src: /src/openssl/ssl/quic/quic_trace.c:417,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:422,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:424,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:426,1
    - Dst: frame_ack
      Src: /src/openssl/ssl/quic/quic_trace.c:427,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:432,1
    - Dst: frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:433,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:438,1
    - Dst: frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_trace.c:439,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:444,1
    - Dst: frame_crypto
      Src: /src/openssl/ssl/quic/quic_trace.c:445,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:450,1
    - Dst: frame_new_token
      Src: /src/openssl/ssl/quic/quic_trace.c:451,1
    - Dst: frame_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:464,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:469,1
    - Dst: frame_max_data
      Src: /src/openssl/ssl/quic/quic_trace.c:470,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:475,1
    - Dst: frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_trace.c:476,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:482,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:484,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:486,1
    - Dst: frame_max_streams
      Src: /src/openssl/ssl/quic/quic_trace.c:487,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:492,1
    - Dst: frame_data_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:493,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:498,1
    - Dst: frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:499,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:505,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:507,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:509,1
    - Dst: frame_streams_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:510,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:515,1
    - Dst: frame_new_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:516,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:521,1
    - Dst: frame_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:522,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:527,1
    - Dst: frame_path_challenge
      Src: /src/openssl/ssl/quic/quic_trace.c:528,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:533,1
    - Dst: frame_path_response
      Src: /src/openssl/ssl/quic/quic_trace.c:534,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:540,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:542,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:544,1
    - Dst: frame_conn_closed
      Src: /src/openssl/ssl/quic/quic_trace.c:545,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:550,1
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/ssl/quic/quic_trace.c:551,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_trace.c:559,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:560,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 131
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 563
    functionName: trace_frame_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached:
    - frame_path_challenge
    - BIO_puts
    - frame_new_token
    - ossl_quic_wire_decode_frame_handshake_done
    - frame_stream
    - frame_reset_stream
    - frame_retire_conn_id
    - frame_conn_closed
    - ossl_quic_wire_decode_padding
    - frame_data_blocked
    - frame_new_conn_id
    - frame_stream_data_blocked
    - frame_max_stream_data
    - ossl_quic_wire_peek_frame_header
    - frame_stop_sending
    - frame_max_data
    - frame_crypto
    - frame_ack
    - frame_streams_blocked
    - frame_max_streams
    - PACKET_remaining
    - frame_path_response
    - ossl_quic_wire_decode_frame_ping
    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:575,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:581,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:598,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:599,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:600,1
    - Dst: packet_type
      Src: /src/openssl/ssl/quic/quic_trace.c:600,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:602,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:604,1
    - Dst: put_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:605,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:606,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:608,1
    - Dst: put_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:609,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:610,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:612,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:614,1
    - Dst: put_token
      Src: /src/openssl/ssl/quic/quic_trace.c:615,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:616,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:620,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:623,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:624,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: 649
      start: 565
    functionDepth: 6
    functionLinenumber: 565
    functionLinenumberEnd: 649
    functionName: ossl_quic_trace
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ossl_quic_wire_decode_pkt_hdr
    - put_token
    - PACKET_buf_init
    - put_conn_id
    - trace_frame_data
    - packet_type
    - ossl_quic_channel_get_short_header_conn_id_len
    - ossl_quic_conn_get_channel
    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:
    - encode_frame_hdr
    - ossl_time_divide
    - ossl_time2ticks
    - WPACKET_quic_write_vlint
    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:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:
    - ossl_quic_wire_encode_frame_crypto_hdr
    - memcpy
    - 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:
    - encode_frame_hdr
    - WPACKET_memcpy
    - WPACKET_quic_write_vlint
    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:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:
    - ossl_quic_wire_encode_frame_stream_hdr
    - memcpy
    - WPACKET_allocate_bytes
    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:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:277,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: 281
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: ossl_quic_wire_encode_frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:286,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: ossl_quic_wire_encode_frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:297,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:298,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:299,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: 303
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: ossl_quic_wire_encode_frame_stream_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:309,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:310,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: 314
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: ossl_quic_wire_encode_frame_streams_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:323,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:324,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:325,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire.c:326,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:327,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:328,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: 333
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: ossl_quic_wire_encode_frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - encode_frame_hdr
    - WPACKET_put_bytes_u8
    - WPACKET_quic_write_vlint
    - WPACKET_memcpy
    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:338,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - seq_num
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: ossl_quic_wire_encode_frame_retire_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - encode_frame_hdr
    - WPACKET_quic_write_vlint
    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:348,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/ssl/quic/quic_wire.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: ossl_quic_wire_encode_frame_path_challenge
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - encode_frame_hdr
    - WPACKET_put_bytes_u64
    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:358,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/ssl/quic/quic_wire.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: ossl_quic_wire_encode_frame_path_response
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - encode_frame_hdr
    - WPACKET_put_bytes_u64
    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:368,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:369,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:376,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:379,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_CONN_CLOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 384
    functionName: ossl_quic_wire_encode_frame_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - encode_frame_hdr
    - WPACKET_memcpy
    - WPACKET_quic_write_vlint
    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:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 389
    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:398,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:399,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/quic/quic_wire.c:403,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:404,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:408,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: 411
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 411
    functionName: ossl_quic_wire_encode_transport_param_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - memcpy
    - WPACKET_quic_write_vlint
    - WPACKET_allocate_bytes
    - WPACKET_get_curr
    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:417,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:418,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:418,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - id
    - value
    argTypes:
    - WPACKET*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: ossl_quic_wire_encode_transport_param_int
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - ossl_quic_vlint_encode_len
    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:432,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: 439
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 439
    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:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - type
    - was_minimal
    argTypes:
    - PACKET*
    - uint64_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 449
    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:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - type
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 454
    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:463,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: 471
      start: 456
    functionDepth: 4
    functionLinenumber: 456
    functionLinenumberEnd: 471
    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:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - expected_frame_type
    argTypes:
    - PACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 482
    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:490,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:492,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:493,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:494,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:505,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - orig_pkt
    - total_ranges
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 5
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: ossl_quic_wire_peek_frame_ack_num_ranges
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header_mask
    - PACKET_skip_quic_vlint
    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:523,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:525,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:526,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: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_wire.c:542,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_wire.c:542,1
    - Dst: safe_mul_uint64_t
      Src: /src/openssl/ssl/quic/quic_wire.c:543,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_wire.c:547,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:558,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:559,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:581,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:582,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:583,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: 597
      start: 514
    functionDepth: 5
    functionLinenumber: 514
    functionLinenumberEnd: 597
    functionName: ossl_quic_wire_decode_frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - safe_mul_uint64_t
    - expect_frame_header_mask
    - ossl_time_infinite
    - PACKET_get_quic_vlint
    - ossl_time_multiply
    - ossl_ticks2time
    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:602,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:603,1
    - Dst: PACKET_get_quic_vlint
      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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_RESET_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 5
    functionLinenumber: 599
    functionLinenumberEnd: 609
    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:614,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:615,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_STOP_SENDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 620
    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:626,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:627,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:628,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire.c:639,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:642,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:644,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: 649
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 649
    functionName: ossl_quic_wire_decode_frame_crypto
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - PACKET_data
    - expect_frame_header
    - 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:657,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:658,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:664,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:667,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: 671
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 671
    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:680,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:683,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:687,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:697,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire.c:703,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:717,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:720,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: 725
      start: 673
    functionDepth: 5
    functionLinenumber: 673
    functionLinenumberEnd: 725
    functionName: ossl_quic_wire_decode_frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - PACKET_remaining
    - PACKET_forward
    - expect_frame_header_mask
    - PACKET_data
    - PACKET_get_quic_vlint
    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:730,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 727
    functionDepth: 5
    functionLinenumber: 727
    functionLinenumberEnd: 735
    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:741,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:742,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:743,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: 747
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 747
    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:753,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_streams
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 759
    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:764,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 5
    functionLinenumber: 761
    functionLinenumberEnd: 769
    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:775,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:776,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:777,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: 781
      start: 771
    functionDepth: 5
    functionLinenumber: 771
    functionLinenumberEnd: 781
    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:787,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_streams
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 5
    functionLinenumber: 783
    functionLinenumberEnd: 793
    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:800,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:801,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:802,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/quic/quic_wire.c:804,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:810,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire.c:815,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:817,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: 822
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: ossl_quic_wire_decode_frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - expect_frame_header
    - memset
    - PACKET_copy_bytes
    - PACKET_get_1
    - PACKET_get_quic_vlint
    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:827,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - seq_num
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 824
    functionDepth: 5
    functionLinenumber: 824
    functionLinenumberEnd: 832
    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:837,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/ssl/quic/quic_wire.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 834
    functionDepth: 5
    functionLinenumber: 834
    functionLinenumberEnd: 842
    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:847,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/ssl/quic/quic_wire.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 844
    functionDepth: 5
    functionLinenumber: 844
    functionLinenumberEnd: 852
    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:860,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:862,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:868,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:874,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:878,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_CONN_CLOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 854
    functionDepth: 5
    functionLinenumber: 854
    functionLinenumberEnd: 884
    functionName: ossl_quic_wire_decode_frame_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - PACKET_get_bytes
    - expect_frame_header_mask
    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:888,1
    - Dst: PACKET_end
      Src: /src/openssl/ssl/quic/quic_wire.c:888,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: ossl_quic_wire_decode_padding
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_end
    - PACKET_forward
    - PACKET_data
    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:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 5
    functionLinenumber: 900
    functionLinenumberEnd: 903
    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:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 5
    functionLinenumber: 905
    functionLinenumberEnd: 908
    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:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - id
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 4
    functionLinenumber: 910
    functionLinenumberEnd: 913
    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:923,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:924,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - id
    - len
    argTypes:
    - PACKET*
    - uint64_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 935
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:945,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_wire.c:948,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: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pkt
    - id
    - value
    argTypes:
    - PACKET*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    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
    - PACKET_buf_init
    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_copy_bytes
    - PACKET_get_1
    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: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
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1047,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - frame_type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1053
    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: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: X
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1074,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1075,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1076,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1082
    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: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: X
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 169
    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:
    - OPENSSL_zalloc
    - newreno_set_max_dgram_size
    - 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_get_size_t
    - OSSL_PARAM_locate_const
    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:
    - bind_diag
    - newreno_update_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:
    - OSSL_CC_NEWRENO*::now_cb
    - newreno_in_cong_recovery
    - safe_muldiv_u64
    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:
    - ossl_time_zero
    - newreno_update_diag
    - 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:
    - newreno_get_tx_allowance
    - ossl_time_zero
    - ossl_time_infinite
    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_max
    - ossl_time_compare
    - 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_tx_packetiser_schedule_ack_eliciting
    - ossl_quic_wire_decode_frame_ping
    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:90,1
    - Dst: ossl_qrx_get_key_epoch
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:94,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:118,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:127,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:135,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: 140
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 140
    functionName: depack_do_frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_ack
    - ossl_qrx_get_key_epoch
    - ossl_ackm_on_rx_ack_frame
    - OPENSSL_realloc
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_peek_frame_ack_num_ranges
    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:150,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:151,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:158,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:166,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:167,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:185,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:187,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:195,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:197,1
    - Dst: ossl_quic_stream_map_notify_reset_recv_part
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:210,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:214,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: 216
      start: 142
    functionDepth: 6
    functionLinenumber: 142
    functionLinenumberEnd: 216
    functionName: depack_do_frame_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_recv
    - depack_do_implicit_stream_create
    - ossl_quic_rxfc_get_error
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_stream_map_notify_reset_recv_part
    - ossl_quic_stream_map_update_state
    - ossl_quic_wire_decode_frame_reset_stream
    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:225,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:226,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:233,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:241,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:242,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:258,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: 261
      start: 218
    functionDepth: 6
    functionLinenumber: 218
    functionLinenumberEnd: 261
    functionName: depack_do_frame_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - depack_do_implicit_stream_create
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_stream_map_reset_stream_send_part
    - ossl_quic_stream_has_send
    - ossl_quic_wire_decode_frame_stop_sending
    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:274,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:275,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:286,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:296,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:298,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:305,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:306,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:312,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:314,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: 325
      start: 263
    functionDepth: 6
    functionLinenumber: 263
    functionLinenumberEnd: 325
    functionName: depack_do_frame_crypto
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_crypto
    - ossl_quic_rstream_queue_data
    - ossl_quic_rxfc_get_error
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_assert
    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:333,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:334,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:347,1
    - Dst: ossl_quic_set_peer_token
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:355,1
    - Dst: ossl_quic_port_get_channel_ctx
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:355,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: 360
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 360
    functionName: depack_do_frame_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_set_peer_token
    - ossl_quic_port_get_channel_ctx
    - ossl_quic_wire_decode_frame_new_token
    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:378,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:428,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:431,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:438,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:439,1
    - Dst: ossl_quic_channel_new_stream_remote
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:452,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:454,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:476,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: 494
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 494
    functionName: depack_do_implicit_stream_create
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_new_stream_remote
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_rxfc_get_error
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_rxfc_on_rx_stream_frame
    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:510,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:511,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:518,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:529,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:530,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:539,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:542,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:550,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:552,1
    - Dst: ossl_quic_stream_recv_get_final_size
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:582,1
    - Dst: ossl_quic_stream_map_notify_size_known_recv_part
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:585,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:609,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:614,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:628,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:629,1
    - Dst: ossl_quic_stream_map_notify_totally_received
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:637,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: 642
      start: 496
    functionDepth: 6
    functionLinenumber: 496
    functionLinenumberEnd: 642
    functionName: depack_do_frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_available
    - ossl_quic_stream_map_notify_size_known_recv_part
    - ossl_quic_stream_has_recv
    - ossl_quic_stream_map_notify_totally_received
    - ossl_quic_rstream_queue_data
    - ossl_quic_stream_recv_get_final_size
    - depack_do_implicit_stream_create
    - ossl_quic_rxfc_get_error
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_wire_decode_frame_stream
    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:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 649
    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:655,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 659
    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:665,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 669
    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:676,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:677,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:684,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:685,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: 687
      start: 671
    functionDepth: 6
    functionLinenumber: 671
    functionLinenumberEnd: 687
    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_stream_map_visit
    - ossl_quic_wire_decode_frame_max_data
    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:697,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:699,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:706,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:714,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:715,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:723,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:724,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: 726
      start: 689
    functionDepth: 6
    functionLinenumber: 689
    functionLinenumberEnd: 726
    functionName: depack_do_frame_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - depack_do_implicit_stream_create
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_max_stream_data
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_has_send
    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:735,1
    - Dst: ossl_quic_channel_raise_protocol_error
      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:744,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:757,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:764,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:767,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: 775
      start: 728
    functionDepth: 6
    functionLinenumber: 728
    functionLinenumberEnd: 775
    functionName: depack_do_frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_stream_map_visit
    - ossl_quic_wire_decode_frame_max_streams
    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:783,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:784,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: 793
      start: 777
    functionDepth: 6
    functionLinenumber: 777
    functionLinenumberEnd: 793
    functionName: depack_do_frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_data_blocked
    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:803,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:805,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:816,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:824,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:830,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: 840
      start: 795
    functionDepth: 6
    functionLinenumber: 795
    functionLinenumberEnd: 840
    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:849,1
    - Dst: ossl_quic_channel_raise_protocol_error
      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:864,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: 873
      start: 842
    functionDepth: 6
    functionLinenumber: 842
    functionLinenumberEnd: 873
    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:881,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:882,1
    - Dst: ossl_quic_channel_on_new_conn_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:889,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: 892
      start: 875
    functionDepth: 6
    functionLinenumber: 875
    functionLinenumberEnd: 892
    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_raise_protocol_error
    - ossl_quic_channel_on_new_conn_id
    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:900,1
    - Dst: ossl_quic_channel_raise_protocol_error
      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:922,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: 930
      start: 894
    functionDepth: 6
    functionLinenumber: 894
    functionLinenumberEnd: 930
    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:934,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: 935
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 935
    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:946,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:947,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:962,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:965,1
    - Dst: ossl_quic_wire_encode_frame_path_response
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:968,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:969,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:973,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:975,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:985,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:986,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: 990
      start: 937
    functionDepth: 6
    functionLinenumber: 937
    functionLinenumberEnd: 990
    functionName: depack_do_frame_path_challenge
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_path_response
    - WPACKET_cleanup
    - OPENSSL_free
    - ossl_quic_cfq_add_frame
    - ossl_quic_channel_raise_protocol_error
    - WPACKET_finish
    - ossl_quic_wire_decode_frame_path_challenge
    - WPACKET_init_static_len
    - OPENSSL_malloc
    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:998,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:999,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: 1009
      start: 992
    functionDepth: 6
    functionLinenumber: 992
    functionLinenumberEnd: 1009
    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:1016,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1017,1
    - Dst: ossl_quic_channel_on_remote_conn_close
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1024,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: 1026
      start: 1011
    functionDepth: 6
    functionLinenumber: 1011
    functionLinenumberEnd: 1026
    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_wire_decode_frame_conn_close
    - ossl_quic_channel_on_remote_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:1032,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1034,1
    - Dst: ossl_quic_channel_on_handshake_confirmed
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1041,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: 1043
      start: 1028
    functionDepth: 6
    functionLinenumber: 1028
    functionLinenumberEnd: 1043
    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:1052,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1054,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1060,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1067,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1074,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1076,1
    - Dst: ossl_quic_channel_raise_protocol_error
      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:1085,1
    - Dst: depack_do_frame_ping
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1113,1
    - Dst: depack_do_frame_padding
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1118,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1126,1
    - Dst: depack_do_frame_ack
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1132,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1141,1
    - Dst: depack_do_frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1148,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1155,1
    - Dst: depack_do_frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1162,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1168,1
    - Dst: depack_do_frame_crypto
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1174,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1180,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1192,1
    - Dst: depack_do_frame_new_token
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1199,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1214,1
    - Dst: depack_do_frame_stream
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1220,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1229,1
    - Dst: depack_do_frame_max_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1235,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1242,1
    - Dst: depack_do_frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1248,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1257,1
    - Dst: depack_do_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1263,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1272,1
    - Dst: depack_do_frame_data_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1278,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1285,1
    - Dst: depack_do_frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1291,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1300,1
    - Dst: depack_do_frame_streams_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1306,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1315,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: 211
    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: 1047
    functionDepth: 7
    functionLinenumber: 1047
    functionLinenumberEnd: 1422
    functionName: depack_process_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - depack_do_frame_padding
    - depack_do_frame_max_stream_data
    - depack_do_frame_stream_data_blocked
    - depack_do_frame_path_response
    - depack_do_frame_streams_blocked
    - depack_do_frame_max_data
    - depack_do_frame_handshake_done
    - ossl_quic_wire_peek_frame_header
    - depack_do_frame_path_challenge
    - depack_do_frame_reset_stream
    - depack_do_frame_stop_sending
    - ossl_quic_enc_level_to_pn_space
    - QUIC_CHANNEL*::msg_callback
    - depack_do_frame_crypto
    - depack_do_frame_stream
    - depack_do_frame_data_blocked
    - OSSL_QUIC_FRAME_TYPE_IS_STREAM
    - depack_do_frame_ping
    - PACKET_remaining
    - depack_do_frame_max_streams
    - depack_do_frame_retire_conn_id
    - depack_do_frame_ack
    - depack_do_frame_new_conn_id
    - depack_do_frame_conn_close
    - PACKET_data
    - ossl_quic_channel_raise_protocol_error
    - depack_do_frame_new_token
    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_tx_packetiser_set_validated
    - depack_process_frames
    - PACKET_buf_init
    - ossl_quic_pkt_type_to_enc_level
    - ossl_quic_tx_packetiser_add_unvalidated_credit
    - ossl_ackm_on_rx_packet
    - memset
    - ossl_quic_enc_level_to_pn_space
    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:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - EVP_MD_get0_name
    - EVP_KDF_fetch
    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:
    - ossl_quic_hkdf_extract
    - tls13_hkdf_expand_ex
    - ossl_qtx_provide_secret
    - EVP_MD_fetch
    - EVP_MD_free
    - ossl_qrx_provide_secret
    - EVP_MD_up_ref
    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: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    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: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_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: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_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: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_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: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_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: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_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: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_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: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_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:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 293
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 305
    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: 76
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 76
    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:89,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_tserver.c:95,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/ssl/quic/quic_tserver.c:102,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_tserver.c:103,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/ssl/quic/quic_tserver.c:108,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/ssl/quic/quic_tserver.c:112,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/ssl/quic/quic_tserver.c:115,1
    - Dst: SSL_new
      Src: /src/openssl/ssl/quic/quic_tserver.c:117,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_tserver.c:125,1
    - Dst: ossl_quic_engine_set_time_cb
      Src: /src/openssl/ssl/quic/quic_tserver.c:128,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_tserver.c:134,1
    - Dst: ossl_quic_port_create_incoming
      Src: /src/openssl/ssl/quic/quic_tserver.c:137,1
    - Dst: ossl_quic_port_set_net_rbio
      Src: /src/openssl/ssl/quic/quic_tserver.c:140,1
    - Dst: ossl_quic_port_set_net_wbio
      Src: /src/openssl/ssl/quic/quic_tserver.c:141,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_tserver.c:144,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:156,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:157,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:158,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:159,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:160,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:167,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 3
    argNames:
    - args
    - certfile
    - keyfile
    argTypes:
    - QUIC_TSERVER_ARGS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 78
    functionDepth: 12
    functionLinenumber: 78
    functionLinenumberEnd: 169
    functionName: ossl_quic_tserver_new
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 3
    functionsReached:
    - ossl_quic_port_free
    - SSL_CTX_use_certificate_file
    - SSL_CTX_free
    - ossl_quic_port_create_incoming
    - ossl_crypto_mutex_new
    - ossl_quic_engine_create_port
    - OPENSSL_zalloc
    - ossl_quic_port_set_net_wbio
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - SSL_free
    - TLS_method
    - ossl_quic_port_set_net_rbio
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_new_ex
    - ossl_quic_engine_set_time_cb
    - SSL_new
    - ossl_quic_engine_free
    - SSL_CTX_use_PrivateKey_file
    - ossl_quic_engine_new
    - ossl_quic_channel_free
    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:176,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:177,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:178,1
    - Dst: ossl_quic_engine_free
      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: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_tserver.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:182,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:183,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: ossl_quic_tserver_free
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 28
    functionsReached:
    - ossl_quic_port_free
    - ossl_quic_engine_free
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - BIO_free_all
    - SSL_CTX_free
    - SSL_free
    - ossl_quic_channel_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:196,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: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    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:205,1
    - Dst: ossl_quic_channel_get0_ssl
      Src: /src/openssl/ssl/quic/quic_tserver.c:205,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: 209
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 209
    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:213,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:213,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: ossl_quic_tserver_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 23
    functionsReached:
    - ossl_quic_channel_get_reactor
    - ossl_quic_channel_is_active
    - ossl_quic_reactor_tick
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    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:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    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:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    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:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    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:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    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:263,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:263,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:276,1
    - Dst: ossl_quic_stream_has_recv_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:284,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:287,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_tserver.c:300,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_tserver.c:300,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_tserver.c:302,1
    - Dst: ossl_quic_stream_map_notify_totally_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:308,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:308,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:312,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:312,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: 315
      start: 254
    functionDepth: 8
    functionLinenumber: 254
    functionLinenumberEnd: 315
    functionName: ossl_quic_tserver_read
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 10
    functionsReached:
    - ossl_quic_channel_is_active
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_rxfc_on_retire
    - ossl_quic_channel_get_statm
    - ossl_quic_stream_map_notify_totally_read
    - ossl_quic_rstream_read
    - ossl_quic_channel_get_qsm
    - ossl_statm_get_rtt_info
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_has_recv_buffer
    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:324,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:324,1
    - Dst: ossl_quic_stream_has_recv_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:333,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/ssl/quic/quic_tserver.c:342,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:349,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_tserver.c:353,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_tserver.c:354,1
    - Dst: ossl_quic_stream_map_notify_totally_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:356,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:356,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:358,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:358,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: 352
        line_start: 352
        source_file: /src/openssl/ssl/quic/quic_tserver.c
    - condition: (qs->recv_state == QUIC_RSTREAM_STATE_DATA_RECVD)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/openssl/ssl/quic/quic_tserver.c
    constantsTouched: []
    func_position:
      end: 363
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 363
    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_stream_map_notify_totally_read
    - ossl_quic_rstream_read
    - ossl_quic_channel_get_qsm
    - assert
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_has_recv_buffer
    - ossl_quic_rstream_peek
    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:373,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:376,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:376,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:378,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/ssl/quic/quic_tserver.c:381,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:390,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:390,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:393,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: 395
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 395
    functionName: ossl_quic_tserver_write
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 11
    functionsReached:
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_sstream_append
    - ossl_quic_channel_is_active
    - ossl_quic_tserver_tick
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_channel_get_qsm
    - 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:401,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:404,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:404,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:406,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_tserver.c:409,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/ssl/quic/quic_tserver.c:410,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:411,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:411,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - srv
    - stream_id
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 416
    functionName: ossl_quic_tserver_conclude
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_channel_is_active
    - ossl_quic_tserver_tick
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_sstream_get_final_size
    - ossl_quic_channel_get_qsm
    - ossl_quic_sstream_fin
    - ossl_quic_stream_map_update_state
    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:424,1
    - Dst: ossl_quic_channel_new_stream_local
      Src: /src/openssl/ssl/quic/quic_tserver.c:427,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: 432
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 432
    functionName: ossl_quic_tserver_stream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 5
    functionsReached:
    - ossl_quic_channel_is_active
    - ossl_quic_channel_new_stream_local
    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: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    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: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    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:450,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:450,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: 459
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: ossl_quic_tserver_stream_has_peer_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_channel_get_qsm
    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:467,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:467,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_tserver.c:472,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_tserver.c:475,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: 476
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 476
    functionName: ossl_quic_tserver_stream_has_peer_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_stream_recv_is_reset
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_channel_get_qsm
    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:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - srv
    - conn_id
    argTypes:
    - QUIC_TSERVER*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 483
    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:487,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_tserver.c:488,1
    - Dst: ossl_quic_stream_map_remove_from_accept_queue
      Src: /src/openssl/ssl/quic/quic_tserver.c:493,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_tserver.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: ossl_quic_tserver_pop_incoming_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_peek_accept_queue
    - ossl_time_zero
    - ossl_quic_stream_map_remove_from_accept_queue
    - ossl_quic_channel_get_qsm
    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:503,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:503,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/ssl/quic/quic_tserver.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - srv
    - stream_id
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: ossl_quic_tserver_is_stream_totally_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_is_totally_acked
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_channel_get_qsm
    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:513,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 515
    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:519,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: ossl_quic_tserver_get_net_write_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_reactor
    - ossl_quic_reactor_net_write_desired
    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:525,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 527
    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:531,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_tserver.c:533,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:536,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:536,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_tserver.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - srv
    - app_error_code
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 539
    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:543,1
    - Dst: ossl_quic_channel_ping
      Src: /src/openssl/ssl/quic/quic_tserver.c:546,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:549,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: ossl_quic_tserver_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_get_reactor
    - ossl_quic_channel_ping
    - ossl_quic_channel_is_terminated
    - ossl_quic_reactor_tick
    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: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: ossl_quic_tserver_get_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 5
    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:565,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_tserver.c:566,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_tserver.c:567,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_tserver.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - srv
    - arg
    argTypes:
    - QUIC_TSERVER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 6
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: ossl_quic_tserver_set_msg_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - SSL_set_msg_callback_arg
    - SSL_set_msg_callback
    - ossl_quic_channel_set_msg_callback
    - 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:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 574
    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:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - srv
    - max_early_data
    argTypes:
    - QUIC_TSERVER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 580
    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:585,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: 586
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 586
    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:
    - assert
    - free_list
    - OPENSSL_free
    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: 8
    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: 51
    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:49,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/ssl/quic/quic_reactor.c:52,1
    - Dst: ossl_rio_notifier_cleanup
      Src: /src/openssl/ssl/quic/quic_reactor.c:53,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: 63
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: ossl_quic_reactor_init
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - ossl_rio_notifier_cleanup
    - ossl_crypto_condvar_new
    - 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:71,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/ssl/quic/quic_reactor.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: ossl_quic_reactor_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_condvar_free
    - ossl_rio_notifier_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_cleanup(QUIC_REACTOR *rtor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAIoctl
      Src: /src/openssl/ssl/quic/quic_reactor.c:98,1
    - Dst: WSAIoctl
      Src: /src/openssl/ssl/quic/quic_reactor.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bpd
    argTypes:
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: rtor_configure_winsock
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - WSAIoctl
    linkageType: ''
    returnType: void
    signature: void rtor_configure_winsock(BIO_POLL_DESCRIPTOR *bpd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtor_configure_winsock
      Src: /src/openssl/ssl/quic/quic_reactor.c:114,1
    - Dst: ossl_quic_reactor_can_support_poll_descriptor
      Src: /src/openssl/ssl/quic/quic_reactor.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rtor
    - r
    argTypes:
    - QUIC_REACTOR*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: ossl_quic_reactor_set_poll_r
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - rtor_configure_winsock
    - 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: rtor_configure_winsock
      Src: /src/openssl/ssl/quic/quic_reactor.c:129,1
    - Dst: ossl_quic_reactor_can_support_poll_descriptor
      Src: /src/openssl/ssl/quic/quic_reactor.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rtor
    - w
    argTypes:
    - QUIC_REACTOR*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: ossl_quic_reactor_set_poll_w
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - rtor_configure_winsock
    - 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: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    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: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    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: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    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: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    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: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    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: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    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: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    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:188,1
    - Dst: rtor_notify_other_threads
      Src: /src/openssl/ssl/quic/quic_reactor.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rtor
    - flags
    argTypes:
    - QUIC_REACTOR*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: ossl_quic_reactor_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 8
    functionsReached:
    - QUIC_REACTOR*::tick_cb
    - rtor_notify_other_threads
    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: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    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:272,1
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/quic/quic_reactor.c:273,1
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/quic/quic_reactor.c:274,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:277,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:279,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:283,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:285,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:289,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:290,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_reactor.c:299,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:300,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_reactor.c:312,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:321,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_reactor.c:324,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_reactor.c:329,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/quic/quic_reactor.c:330,1
    - Dst: select
      Src: /src/openssl/ssl/quic/quic_reactor.c:334,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/quic/quic_reactor.c:335,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_reactor.c:339,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_reactor.c:373,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:373,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_reactor.c:379,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:383,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_reactor.c:386,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_reactor.c:387,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/quic/quic_reactor.c:388,1
    - Dst: poll
      Src: /src/openssl/ssl/quic/quic_reactor.c:391,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/quic/quic_reactor.c:392,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_reactor.c:396,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: 401
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 401
    functionName: poll_two_fds
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - get_last_socket_error_is_eintr
    - ossl_crypto_mutex_lock
    - poll
    - ossl_time_subtract
    - ossl_time_is_infinite
    - select
    - FD_ZERO
    - ossl_time_now
    - ossl_time_to_timeval
    - ossl_assert
    - ossl_crypto_mutex_unlock
    - openssl_fdset
    - 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: 416
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 416
    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:437,1
    - Dst: poll_descriptor_to_fd
      Src: /src/openssl/ssl/quic/quic_reactor.c:438,1
    - Dst: poll_two_fds
      Src: /src/openssl/ssl/quic/quic_reactor.c:441,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: 443
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 443
    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:479,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/ssl/quic/quic_reactor.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 490
    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:511,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_reactor.c:519,1
    - Dst: pred
      Src: /src/openssl/ssl/quic/quic_reactor.c:521,1
    - Dst: ossl_quic_reactor_net_read_desired
      Src: /src/openssl/ssl/quic/quic_reactor.c:524,1
    - Dst: ossl_quic_reactor_net_write_desired
      Src: /src/openssl/ssl/quic/quic_reactor.c:525,1
    - Dst: ossl_quic_reactor_get_tick_deadline
      Src: /src/openssl/ssl/quic/quic_reactor.c:526,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:528,1
    - Dst: ossl_quic_reactor_enter_blocking_section
      Src: /src/openssl/ssl/quic/quic_reactor.c:532,1
    - Dst: poll_two_descriptors
      Src: /src/openssl/ssl/quic/quic_reactor.c:534,1
    - Dst: ossl_quic_reactor_get_poll_r
      Src: /src/openssl/ssl/quic/quic_reactor.c:534,1
    - Dst: ossl_quic_reactor_get_poll_w
      Src: /src/openssl/ssl/quic/quic_reactor.c:536,1
    - Dst: ossl_quic_reactor_leave_blocking_section
      Src: /src/openssl/ssl/quic/quic_reactor.c:582,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: 604
      start: 503
    functionDepth: 5
    functionLinenumber: 503
    functionLinenumberEnd: 604
    functionName: ossl_quic_reactor_block_until_pred
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_get_tick_deadline
    - ossl_quic_reactor_net_read_desired
    - ossl_time_is_infinite
    - ossl_quic_reactor_get_poll_w
    - ossl_rio_notifier_as_fd
    - ossl_quic_reactor_net_write_desired
    - ossl_quic_reactor_get_poll_r
    - pred
    - poll_two_descriptors
    - ossl_quic_reactor_leave_blocking_section
    - ossl_quic_reactor_enter_blocking_section
    - ossl_quic_reactor_tick
    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: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    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:613,1
    - Dst: ossl_rio_notifier_unsignal
      Src: /src/openssl/ssl/quic/quic_reactor.c:618,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/ssl/quic/quic_reactor.c:625,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/ssl/quic/quic_reactor.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts:
    - condition: (rtor->cur_blocking_waiters > 0)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/openssl/ssl/quic/quic_reactor.c
    constantsTouched: []
    func_position:
      end: 632
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 632
    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
    - ossl_rio_notifier_unsignal
    - assert
    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_assert
    - ossl_qrl_enc_level_set_get
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:88,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:91,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - els
    - enc_level
    - keyslot
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: el_teardown_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - ossl_qrl_enc_level_set_get
    linkageType: ''
    returnType: void
    signature: "void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,\n    uint32_t
      enc_level,\n    size_t keyslot)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_get_suite_cipher_name
      Src: /src/openssl/ssl/quic/quic_record_shared.c:111,1
    - Dst: ossl_qrl_get_suite_cipher_iv_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:112,1
    - Dst: ossl_qrl_get_suite_cipher_key_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:115,1
    - Dst: ossl_qrl_get_suite_secret_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:121,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:126,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:132,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_record_shared.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:139,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_record_shared.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:144,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:148,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/quic/quic_record_shared.c:148,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:149,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/quic/quic_record_shared.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:150,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:156,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:164,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:165,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:169,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:170,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:171,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:172,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 6
    argNames:
    - el
    - secret
    - secret_len
    - out_cctx
    - out_iv
    - out_iv_len
    argTypes:
    - OSSL_QRL_ENC_LEVEL*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX**
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 174
    functionName: el_build_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand_ex
    - EVP_CIPHER_CTX_new
    - ossl_qrl_get_suite_cipher_name
    - EVP_CIPHER_get_key_length
    - ERR_raise
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_iv_length
    - ossl_qrl_get_suite_cipher_key_len
    - EVP_CIPHER_free
    - ossl_qrl_get_suite_cipher_iv_len
    - ossl_qrl_get_suite_secret_len
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - ossl_assert
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int el_build_keyslot(OSSL_QRL_ENC_LEVEL *el,\n    const unsigned char
      *secret, size_t secret_len,\n    EVP_CIPHER_CTX **out_cctx, unsigned char *out_iv,
      size_t *out_iv_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:179,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:180,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_shared.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - el
    - keyslot
    - new_cctx
    - new_iv
    - new_iv_len
    argTypes:
    - OSSL_QRL_ENC_LEVEL*
    - size_t
    - EVP_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (el->cctx[keyslot] == NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/openssl/ssl/quic/quic_record_shared.c
    - condition: (new_iv_len <= sizeof(el->iv[keyslot]))
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/openssl/ssl/quic/quic_record_shared.c
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: el_install_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: "void el_install_keyslot(OSSL_QRL_ENC_LEVEL *el, size_t keyslot,\n
      \   EVP_CIPHER_CTX *new_cctx, const unsigned char *new_iv, size_t new_iv_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:190,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:195,1
    - Dst: ossl_qrl_enc_level_set_has_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:198,1
    - Dst: el_build_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:202,1
    - Dst: el_install_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:206,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    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: []
    constantsTouched: []
    func_position:
      end: 210
      start: 186
    functionDepth: 7
    functionLinenumber: 186
    functionLinenumberEnd: 210
    functionName: el_setup_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - el_build_keyslot
    - el_install_keyslot
    - ERR_raise
    - ossl_qrl_enc_level_set_has_keyslot
    - ossl_qrl_enc_level_set_get
    - OPENSSL_cleanse
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, uint32_t enc_level,\n
      \   unsigned char tgt_state, size_t keyslot, 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:223,1
    - Dst: ossl_qrl_get_suite_md_name
      Src: /src/openssl/ssl/quic/quic_record_shared.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:233,1
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_shared.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:250,1
    - Dst: ossl_qrl_get_suite_hdr_prot_key_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:257,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/quic/quic_record_shared.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:264,1
    - Dst: ossl_qrl_get_suite_cipher_tag_len
      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:281,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:291,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:299,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:310,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:317,1
    - Dst: ossl_quic_hdr_protector_init
      Src: /src/openssl/ssl/quic/quic_record_shared.c:329,1
    - Dst: ossl_qrl_get_suite_hdr_prot_cipher_id
      Src: /src/openssl/ssl/quic/quic_record_shared.c:331,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:341,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:342,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:349,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:350,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:351,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:353,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:355,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:357,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: 359
      start: 212
    functionDepth: 10
    functionLinenumber: 212
    functionLinenumberEnd: 359
    functionName: ossl_qrl_enc_level_set_provide_secret
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand_ex
    - ossl_qrl_get_suite_hdr_prot_key_len
    - el_teardown_keyslot
    - ERR_raise
    - ossl_qrl_get_suite_md_name
    - EVP_MD_fetch
    - ossl_qrl_enc_level_set_discard
    - ossl_qrl_get_suite_cipher_tag_len
    - ossl_quic_hdr_protector_init
    - ossl_qrl_get_suite_hdr_prot_cipher_id
    - ossl_qrl_enc_level_set_get
    - EVP_MD_free
    - OPENSSL_cleanse
    - el_setup_keyslot
    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:364,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:377,1
    - Dst: ossl_qrl_get_suite_secret_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:394,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:397,1
    - Dst: el_build_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:406,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:410,1
    - Dst: el_install_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:411,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:412,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_shared.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - els
    - enc_level
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 361
    functionDepth: 7
    functionLinenumber: 361
    functionLinenumberEnd: 419
    functionName: ossl_qrl_enc_level_set_key_update
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand_ex
    - el_build_keyslot
    - el_install_keyslot
    - el_teardown_keyslot
    - ERR_raise
    - memcpy
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_get_suite_secret_len
    - OPENSSL_cleanse
    - ossl_assert
    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:425,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:428,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:433,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: 436
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: ossl_qrl_enc_level_set_key_update_done
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - el_teardown_keyslot
    - ossl_assert
    - ossl_qrl_enc_level_set_get
    - 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:445,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:449,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:450,1
    - Dst: ossl_qrl_enc_level_set_key_update_done
      Src: /src/openssl/ssl/quic/quic_record_shared.c:455,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:456,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:461,1
    - Dst: ossl_qrl_get_suite_secret_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:465,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:467,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:472,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:479,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_shared.c:483,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: 486
      start: 442
    functionDepth: 8
    functionLinenumber: 442
    functionLinenumberEnd: 486
    functionName: ossl_qrl_enc_level_set_key_cooldown_done
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand_ex
    - ossl_qrl_enc_level_set_key_update_done
    - el_teardown_keyslot
    - ERR_raise
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_get_suite_secret_len
    - memcpy
    - ossl_assert
    - 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:495,1
    - Dst: ossl_qrl_enc_level_set_have_el
      Src: /src/openssl/ssl/quic/quic_record_shared.c:500,1
    - Dst: ossl_quic_hdr_protector_cleanup
      Src: /src/openssl/ssl/quic/quic_record_shared.c:501,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:503,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:504,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:507,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: 510
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ossl_qrl_enc_level_set_discard
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_have_el
    - el_teardown_keyslot
    - ossl_quic_hdr_protector_cleanup
    - ossl_qrl_enc_level_set_get
    - EVP_MD_free
    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: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    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:113,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:118,1
    - Dst: quic_set1_bio
      Src: /src/openssl/ssl/quic/quic_tls.c:124,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:125,1
    - Dst: OSSL_FUNC_rlayer_msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:136,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: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/quic/quic_tls.c:165,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:168,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/ssl/quic/quic_tls.c:174,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:175,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:179,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::yield_secret_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:186,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:189,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_tls.c:190,1
    - Dst: quic_free
      Src: /src/openssl/ssl/quic/quic_tls.c:197,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: 199
      start: 98
    functionDepth: 9
    functionLinenumber: 98
    functionLinenumberEnd: 199
    functionName: quic_new_record_layer
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - quic_set1_bio
    - OSSL_FUNC_rlayer_msg_callback
    - OSSL_RECORD_LAYER*::qtls::args::yield_secret_cb
    - quic_free
    - QUIC_TLS_FATAL
    - EVP_MD_free
    - ossl_assert
    - EVP_MD_up_ref
    - EVP_CIPHER_is_a
    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:206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tls.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: quic_free
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached:
    - BIO_free
    - OPENSSL_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: 218
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 218
    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: 236
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 236
    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: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    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:252,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:254,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/quic/quic_tls.c:258,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:281,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:285,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:298,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::alert_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:307,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:308,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:322,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:330,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:331,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/quic/quic_tls.c:343,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - rl
    - numtempl
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 354
    functionName: quic_write_records
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - QUIC_TLS_FATAL
    - BIO_set_retry_write
    - OSSL_RECORD_LAYER*::qtls::args::alert_cb
    - ossl_assert
    - OSSL_RECORD_LAYER*::msg_callback
    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:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 362
    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:372,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::crypto_recv_rcd_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:374,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:376,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/quic/quic_tls.c:381,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:410,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:412,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: 417
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 417
    functionName: quic_read_record
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - OSSL_RECORD_LAYER*::qtls::args::crypto_recv_rcd_cb
    - BIO_set_retry_read
    - QUIC_TLS_FATAL
    - OSSL_RECORD_LAYER*::msg_callback
    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:422,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:423,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:424,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:425,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:426,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::crypto_release_rcd_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:431,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:433,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: 440
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: quic_release_record
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_LAYER*::qtls::args::crypto_release_rcd_cb
    - QUIC_TLS_FATAL
    - ossl_assert
    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: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    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:450,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - version
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 456
    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: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    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: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    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: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    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: 494
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 494
    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: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    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: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    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: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    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: 523
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 523
    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: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    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:536,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/quic/quic_tls.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - bio
    argTypes:
    - OSSL_RECORD_LAYER*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: quic_set1_bio
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached:
    - BIO_free
    - BIO_up_ref
    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:553,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 555
    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:559,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 561
    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:565,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 567
    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: 611
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 611
    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: 618
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 618
    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:629,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: 631
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 631
    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:640,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_tls.c:644,1
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/ssl/quic/quic_tls.c:648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tls.c:649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - QUIC_TLS_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 655
    functionName: ossl_quic_tls_new
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - ERR_raise
    - OSSL_ERR_STATE_new
    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:661,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tls.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: ossl_quic_tls_free
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached:
    - OSSL_ERR_STATE_free
    - OPENSSL_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:678,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/quic/quic_tls.c:679,1
    - Dst: ERR_set_error
      Src: /src/openssl/ssl/quic/quic_tls.c:680,1
    - Dst: OSSL_ERR_STATE_save_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:685,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:695,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: 698
      start: 665
    functionDepth: 5
    functionLinenumber: 665
    functionLinenumberEnd: 698
    functionName: raise_error
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_debug
    - OSSL_ERR_STATE_save_to_mark
    - ERR_new
    - ERR_set_error
    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: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    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: 707
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 707
    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: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    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:714,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/ssl/quic/quic_tls.c:717,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:718,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/quic/quic_tls.c:720,1
    - Dst: BIO_s_null
      Src: /src/openssl/ssl/quic/quic_tls.c:720,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:722,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/quic/quic_tls.c:728,1
    - Dst: SSL_clear_options
      Src: /src/openssl/ssl/quic/quic_tls.c:730,1
    - Dst: ossl_ssl_set_custom_record_layer
      Src: /src/openssl/ssl/quic/quic_tls.c:731,1
    - Dst: ossl_tls_add_custom_ext_intern
      Src: /src/openssl/ssl/quic/quic_tls.c:733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 712
    functionDepth: 6
    functionLinenumber: 712
    functionLinenumberEnd: 748
    functionName: ossl_quic_tls_configure
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - BIO_s_null
    - RAISE_INTERNAL_ERROR
    - BIO_new
    - SSL_clear_options
    - SSL_CONNECTION_FROM_SSL
    - ossl_tls_add_custom_ext_intern
    - SSL_set_min_proto_version
    - SSL_set_bio
    - ossl_ssl_set_custom_record_layer
    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:781,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls.c:784,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:788,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/quic/quic_tls.c:789,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:799,1
    - Dst: RAISE_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:802,1
    - Dst: ossl_quic_tls_configure
      Src: /src/openssl/ssl/quic/quic_tls.c:806,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:807,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/quic/quic_tls.c:812,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/quic/quic_tls.c:814,1
    - Dst: SSL_read
      Src: /src/openssl/ssl/quic/quic_tls.c:824,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/quic/quic_tls.c:826,1
    - Dst: ossl_ssl_get_error
      Src: /src/openssl/ssl/quic/quic_tls.c:829,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:830,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:838,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:842,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/ssl/quic/quic_tls.c:848,1
    - Dst: RAISE_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:850,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:854,1
    - Dst: QUIC_TLS*::args::handshake_complete_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:855,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:858,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 751
    functionDepth: 8
    functionLinenumber: 751
    functionLinenumberEnd: 860
    functionName: ossl_quic_tls_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - ossl_ssl_get_error
    - RAISE_INTERNAL_ERROR
    - RAISE_ERROR
    - ERR_pop_to_mark
    - QUIC_TLS*::args::handshake_complete_cb
    - ERR_set_mark
    - ossl_quic_tls_configure
    - SSL_set_connect_state
    - ERR_count_to_mark
    - SSL_CONNECTION_FROM_SSL
    - SSL_do_handshake
    - SSL_get0_alpn_selected
    - SSL_read
    - SSL_CONNECTION_GET_CTX
    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: 868
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 868
    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: 880
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 880
    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: 894
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 894
    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:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 908
    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:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 924
    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:928,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/quic/quic_tls.c:930,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/quic/quic_tls.c:930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - qtls
    - enabled
    argTypes:
    - QUIC_TLS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 951
    functionName: ossl_quic_tls_set_early_data_enabled
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - SSL_in_before
    - SSL_CONNECTION_FROM_SSL
    - 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:80,1
    - Dst: SipHash_Init
      Src: /src/openssl/ssl/quic/quic_lcidm.c:82,1
    - Dst: SipHash_Update
      Src: /src/openssl/ssl/quic/quic_lcidm.c:84,1
    - Dst: SipHash_Final
      Src: /src/openssl/ssl/quic/quic_lcidm.c:85,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_lcidm.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - lcid_obj
    argTypes:
    - QUIC_LCID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: lcid_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - SipHash_Final
    - SipHash_Init
    - SipHash_Update
    - SipHash_set_hash_size
    - memcpy
    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:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_LCID*
    - QUIC_LCID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    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: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    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: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    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:118,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_lcidm.c:122,1
    - Dst: lh_QUIC_LCID_new
      Src: /src/openssl/ssl/quic/quic_lcidm.c:126,1
    - Dst: lh_QUIC_LCIDM_CONN_new
      Src: /src/openssl/ssl/quic/quic_lcidm.c:129,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:140,1
    - Dst: lh_QUIC_LCIDM_CONN_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - libctx
    - lcid_len
    argTypes:
    - OSSL_LIB_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: ossl_quic_lcidm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - lh_QUIC_LCIDM_CONN_free
    - OPENSSL_free
    - lh_QUIC_LCID_new
    - lh_QUIC_LCIDM_CONN_new
    - RAND_bytes_ex
    - lh_QUIC_LCID_free
    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:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - arg
    argTypes:
    - QUIC_LCIDM_CONN*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    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:176,1
    - Dst: lh_QUIC_LCIDM_CONN_doall_arg
      Src: /src/openssl/ssl/quic/quic_lcidm.c:178,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:180,1
    - Dst: lh_QUIC_LCIDM_CONN_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lcidm
    argTypes:
    - QUIC_LCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 183
    functionName: ossl_quic_lcidm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 3
    functionsReached:
    - lh_QUIC_LCIDM_CONN_set_down_load
    - lh_QUIC_LCIDM_CONN_doall_arg
    - lh_QUIC_LCIDM_CONN_free
    - OPENSSL_free
    - lh_QUIC_LCID_free
    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:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - lcid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    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:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    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:209,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_lcidm.c:214,1
    - Dst: lh_QUIC_LCID_new
      Src: /src/openssl/ssl/quic/quic_lcidm.c:217,1
    - Dst: lh_QUIC_LCIDM_CONN_insert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:222,1
    - Dst: lh_QUIC_LCIDM_CONN_error
      Src: /src/openssl/ssl/quic/quic_lcidm.c:223,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: lcidm_upsert_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - lh_QUIC_LCIDM_CONN_error
    - lh_QUIC_LCID_new
    - lh_QUIC_LCID_free
    - lh_QUIC_LCIDM_CONN_insert
    - lcidm_get0_conn
    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:238,1
    - Dst: lh_QUIC_LCID_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:239,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:242,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: 239
        line_start: 239
        source_file: /src/openssl/ssl/quic/quic_lcidm.c
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: lcidm_delete_conn_lcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - assert
    - lh_QUIC_LCID_delete
    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:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lcid_obj
    - arg
    argTypes:
    - QUIC_LCID*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    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:254,1
    - Dst: lh_QUIC_LCID_doall_arg
      Src: /src/openssl/ssl/quic/quic_lcidm.c:256,1
    - Dst: lh_QUIC_LCIDM_CONN_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:257,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - conn
    argTypes:
    - QUIC_LCIDM*
    - QUIC_LCIDM_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: lcidm_delete_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 1
    functionsReached:
    - lh_QUIC_LCIDM_CONN_delete
    - OPENSSL_free
    - lh_QUIC_LCID_set_down_load
    - lh_QUIC_LCID_free
    - lh_QUIC_LCID_doall_arg
    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:270,1
    - Dst: lh_QUIC_LCID_insert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:277,1
    - Dst: lh_QUIC_LCID_error
      Src: /src/openssl/ssl/quic/quic_lcidm.c:278,1
    - Dst: lh_QUIC_LCID_insert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:281,1
    - Dst: lh_QUIC_LCID_error
      Src: /src/openssl/ssl/quic/quic_lcidm.c:282,1
    - Dst: lh_QUIC_LCID_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:291,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: 293
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 293
    functionName: lcidm_conn_new_lcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - lh_QUIC_LCID_insert
    - lh_QUIC_LCID_delete
    - lh_QUIC_LCID_error
    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: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    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:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    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:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - lcidm
    - cid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 329
    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:342,1
    - Dst: lcidm_generate_cid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:358,1
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:365,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:367,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: 378
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 378
    functionName: lcidm_generate
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lh_QUIC_LCID_retrieve
    - lcidm_generate_cid
    - lcidm_upsert_conn
    - lcidm_conn_new_lcid
    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:391,1
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:399,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:402,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: 411
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 411
    functionName: ossl_quic_lcidm_enrol_odcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lh_QUIC_LCID_retrieve
    - lcidm_upsert_conn
    - lcidm_conn_new_lcid
    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:417,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: 419
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 419
    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:433,1
    - Dst: lcidm_upsert_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:436,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:439,1
    - Dst: lcidm_delete_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:440,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: 449
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 449
    functionName: ossl_quic_lcidm_bind_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lcidm_delete_conn
    - ossl_quic_lcidm_lookup
    - lcidm_upsert_conn
    - lcidm_conn_new_lcid
    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:458,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: 461
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 461
    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:467,1
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 476
    functionName: ossl_quic_lcidm_retire_odcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_upsert_conn
    - lcidm_delete_conn_lcid
    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: 496
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 496
    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:515,1
    - Dst: lh_QUIC_LCID_doall_arg
      Src: /src/openssl/ssl/quic/quic_lcidm.c:521,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_lcidm.c:526,1
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:536,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: 538
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 538
    functionName: ossl_quic_lcidm_retire
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_delete_conn_lcid
    - lh_QUIC_LCID_doall_arg
    - lh_QUIC_LCIDM_CONN_retrieve
    - ossl_quic_conn_id_eq
    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:546,1
    - Dst: lcidm_delete_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 551
    functionName: ossl_quic_lcidm_cull
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lh_QUIC_LCIDM_CONN_retrieve
    - lcidm_delete_conn
    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:563,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: 573
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 573
    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:582,1
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lcidm
    - lcid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    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:599,1
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:604,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:607,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: 613
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 613
    functionName: ossl_quic_lcidm_debug_add
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lh_QUIC_LCID_retrieve
    - lcidm_upsert_conn
    - lcidm_conn_new_lcid
    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:620,1
    - Dst: lcidm_get0_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - cid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 626
    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: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    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:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - OSSL_QTX_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 142
    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:148,1
    - Dst: ossl_list_txe_next
      Src: /src/openssl/ssl/quic/quic_record_tx.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - TXE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: qtx_cleanup_txl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_list_txe_head
    - ossl_list_txe_next
    - OPENSSL_free
    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:163,1
    - Dst: qtx_cleanup_txl
      Src: /src/openssl/ssl/quic/quic_record_tx.c:164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:165,1
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_tx.c:169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: ossl_qtx_free
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - ossl_qrl_enc_level_set_discard
    - qtx_cleanup_txl
    - OPENSSL_free
    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: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    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: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    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:200,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: 210
      start: 190
    functionDepth: 11
    functionLinenumber: 190
    functionLinenumberEnd: 210
    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:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 219
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 224
    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:234,1
    - Dst: ossl_list_txe_init_elem
      Src: /src/openssl/ssl/quic/quic_record_tx.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - alloc_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: qtx_alloc_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_list_txe_init_elem
    - OPENSSL_malloc
    linkageType: ''
    returnType: TXE
    signature: TXE *qtx_alloc_txe(size_t alloc_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:258,1
    - Dst: ossl_list_txe_remove
      Src: /src/openssl/ssl/quic/quic_record_tx.c:261,1
    - Dst: qtx_alloc_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:263,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_record_tx.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - qtx
    - min_size
    argTypes:
    - OSSL_QTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 288
    functionName: qtx_get_cons_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc
    - ossl_list_txe_head
    - ossl_list_txe_remove
    - qtx_alloc_txe
    linkageType: ''
    returnType: TXE
    signature: TXE *qtx_get_cons_txe(OSSL_QTX *qtx, size_t min_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:293,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:295,1
    - Dst: ossl_list_txe_remove
      Src: /src/openssl/ssl/quic/quic_record_tx.c:296,1
    - Dst: ossl_list_txe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_tx.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts:
    - condition: (txe != NULL)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: qtx_pending_to_free
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_list_txe_head
    - ossl_list_txe_remove
    - assert
    - ossl_list_txe_insert_tail
    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:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qtx
    - txe
    argTypes:
    - OSSL_QTX*
    - TXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    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: 324
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 324
    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:334,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: 335
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 335
    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: 376
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 376
    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:384,1
    - Dst: ossl_qrl_get_suite_cipher_tag_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:396,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: 400
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 400
    functionName: ossl_qtx_calculate_ciphertext_payload_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_get_suite_cipher_tag_len
    - ossl_qrl_enc_level_set_get
    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:408,1
    - Dst: ossl_qrl_get_suite_cipher_tag_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:416,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: 425
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: ossl_qtx_calculate_plaintext_payload_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_get_suite_cipher_tag_len
    - ossl_qrl_enc_level_set_get
    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:441,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:443,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_record_tx.c:446,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_record_tx.c:448,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_record_tx.c:449,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_record_tx.c:452,1
    - Dst: OSSL_QTX*::msg_callback
      Src: /src/openssl/ssl/quic/quic_record_tx.c:455,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: 461
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 461
    functionName: qtx_write_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - txe_data
    - WPACKET_get_total_written
    - OSSL_QTX*::msg_callback
    - WPACKET_finish
    - ossl_quic_wire_encode_pkt_hdr
    - 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:470,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:477,1
    - Dst: ossl_qrl_get_suite_max_pkt
      Src: /src/openssl/ssl/quic/quic_record_tx.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:486,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:497,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_record_tx.c:502,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:504,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:508,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_record_tx.c:513,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:514,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_record_tx.c:519,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:520,1
    - Dst: iovec_cur_get_buffer
      Src: /src/openssl/ssl/quic/quic_record_tx.c:529,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_record_tx.c:533,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:536,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:542,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:542,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:545,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/quic/quic_record_tx.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:551,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_record_tx.c:555,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:556,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:558,1
    - Dst: ossl_quic_hdr_protector_encrypt
      Src: /src/openssl/ssl/quic/quic_record_tx.c:565,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: 544
        line_start: 544
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    constantsTouched: []
    func_position:
      end: 570
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 570
    functionName: qtx_encrypt_into_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - txe_data
    - ERR_raise
    - EVP_CipherFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - ossl_qrl_enc_level_set_get
    - assert
    - ossl_quic_hdr_protector_encrypt
    - ossl_qrl_get_suite_max_pkt
    - memcpy
    - ossl_assert
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherInit_ex
    - iovec_cur_get_buffer
    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:592,1
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:598,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:599,1
    - Dst: iovec_cur_init
      Src: /src/openssl/ssl/quic/quic_record_tx.c:616,1
    - Dst: ossl_qtx_calculate_ciphertext_payload_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:626,1
    - Dst: ossl_quic_wire_get_encoded_pkt_hdr_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:635,1
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/quic_record_tx.c:650,1
    - Dst: ossl_quic_wire_encode_pkt_hdr_pn
      Src: /src/openssl/ssl/quic/quic_record_tx.c:651,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:660,1
    - Dst: qtx_write_hdr
      Src: /src/openssl/ssl/quic/quic_record_tx.c:661,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:666,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:667,1
    - Dst: iovec_cur_get_buffer
      Src: /src/openssl/ssl/quic/quic_record_tx.c:676,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:680,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:680,1
    - Dst: qtx_encrypt_into_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:685,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:691,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: 666
        line_start: 666
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    - condition: (txe->data_len - orig_data_len == pkt_len)
      pos:
        line_end: 690
        line_start: 690
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    constantsTouched: []
    func_position:
      end: 703
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 703
    functionName: qtx_write
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - txe_data
    - qtx_write_hdr
    - ossl_quic_wire_get_encoded_pkt_hdr_len
    - iovec_cur_init
    - ossl_quic_pkt_type_is_encrypted
    - ossl_quic_pkt_type_has_pn
    - ossl_qrl_enc_level_set_get
    - ossl_qtx_calculate_ciphertext_payload_len
    - assert
    - qtx_encrypt_into_txe
    - memcpy
    - ossl_assert
    - iovec_cur_get_buffer
    - ossl_quic_wire_encode_pkt_hdr_pn
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_QTX*::get_qlog_cb
      Src: /src/openssl/ssl/quic/quic_record_tx.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    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:723,1
    - Dst: qtx_write
      Src: /src/openssl/ssl/quic/quic_record_tx.c:732,1
    - Dst: ossl_qlog_event_transport_packet_sent
      Src: /src/openssl/ssl/quic/quic_record_tx.c:735,1
    - Dst: qtx_get_qlog
      Src: /src/openssl/ssl/quic/quic_record_tx.c:735,1
    - Dst: OSSL_QTX*::finishmutatecb
      Src: /src/openssl/ssl/quic/quic_record_tx.c:740,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: 743
      start: 713
    functionDepth: 8
    functionLinenumber: 713
    functionLinenumberEnd: 743
    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
    - OSSL_QTX*::mutatecb
    - qtx_get_qlog
    - qtx_write
    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:747,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:748,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_record_tx.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 750
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_to_enc_level
      Src: /src/openssl/ssl/quic/quic_record_tx.c:764,1
    - Dst: ossl_quic_pkt_type_can_share_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:767,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:768,1
    - Dst: ossl_qrl_enc_level_set_have_el
      Src: /src/openssl/ssl/quic/quic_record_tx.c:770,1
    - Dst: addr_eq
      Src: /src/openssl/ssl/quic/quic_record_tx.c:777,1
    - Dst: addr_eq
      Src: /src/openssl/ssl/quic/quic_record_tx.c:778,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:780,1
    - Dst: qtx_get_cons_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:801,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:819,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_record_tx.c:822,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:826,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_record_tx.c:829,1
    - Dst: qtx_mutate_write
      Src: /src/openssl/ssl/quic/quic_record_tx.c:833,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:847,1
    - Dst: ossl_quic_pkt_type_must_be_last
      Src: /src/openssl/ssl/quic/quic_record_tx.c:867,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:871,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - qtx
    - pkt
    argTypes:
    - OSSL_QTX*
    - OSSL_QTX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 752
    functionDepth: 9
    functionLinenumber: 752
    functionLinenumberEnd: 874
    functionName: ossl_qtx_write_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - qtx_get_cons_txe
    - ossl_qtx_finish_dgram
    - ossl_qrl_enc_level_set_have_el
    - BIO_ADDR_clear
    - ossl_quic_pkt_type_to_enc_level
    - ossl_quic_pkt_type_must_be_last
    - addr_eq
    - qtx_mutate_write
    - ossl_quic_pkt_type_can_share_dgram
    - BIO_ADDR_copy
    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:892,1
    - Dst: qtx_add_to_pending
      Src: /src/openssl/ssl/quic/quic_record_tx.c:894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 899
    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:903,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:907,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - txe
    - msg
    argTypes:
    - TXE*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 910
    functionName: txe_to_msg
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - txe_data
    - BIO_ADDR_family
    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:921,1
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:928,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_record_tx.c:929,1
    - Dst: ossl_list_txe_next
      Src: /src/openssl/ssl/quic/quic_record_tx.c:930,1
    - Dst: txe_to_msg
      Src: /src/openssl/ssl/quic/quic_record_tx.c:931,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:937,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/ssl/quic/quic_record_tx.c:938,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:943,1
    - Dst: BIO_err_is_non_fatal
      Src: /src/openssl/ssl/quic/quic_record_tx.c:950,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/ssl/quic/quic_record_tx.c:950,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:952,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:956,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:961,1
    - Dst: OSSL_QTX*::msg_callback
      Src: /src/openssl/ssl/quic/quic_record_tx.c:968,1
    - Dst: qtx_pending_to_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:972,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 981
    functionName: ossl_qtx_flush_net
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - BIO_sendmmsg
    - ossl_list_txe_head
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - BIO_err_is_non_fatal
    - ERR_peek_last_error
    - txe_to_msg
    - OSSL_QTX*::msg_callback
    - OSSL_NELEM
    - qtx_pending_to_free
    - ossl_list_txe_next
    - ERR_set_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:985,1
    - Dst: txe_to_msg
      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:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qtx
    - msg
    argTypes:
    - OSSL_QTX*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 993
    functionName: ossl_qtx_pop_net
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - txe_to_msg
    - ossl_list_txe_head
    - qtx_pending_to_free
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_pop_net(OSSL_QTX *qtx, BIO_MSG *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dgram_get_mtu
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1007,1
    - Dst: ossl_qtx_set_mtu
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - qtx
    - bio
    argTypes:
    - OSSL_QTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1011
    functionName: ossl_qtx_set_bio
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - ossl_qtx_set_mtu
    - BIO_dgram_get_mtu
    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
    - mtu
    argTypes:
    - OSSL_QTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1020
    functionName: ossl_qtx_set_mtu
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_set_mtu(OSSL_QTX *qtx, unsigned int mtu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dgram_get_mtu_overhead
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qtx
    - mdpl
    argTypes:
    - OSSL_QTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1032
    functionName: ossl_qtx_set_mdpl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - BIO_dgram_get_mtu_overhead
    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: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    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: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    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: 1047
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1047
    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: 1052
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1052
    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: 1057
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1057
    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:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 8
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    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:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1074
    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:1080,1
    - Dst: ossl_qrl_get_suite_max_pkt
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1085
    functionName: ossl_qtx_get_max_epoch_pkt_count
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_get_suite_max_pkt
    - ossl_qrl_enc_level_set_get
    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: 1092
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    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: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    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:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1108
    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:49,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_statm.c:49,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_statm.c:49,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: 52
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 52
    functionName: ossl_statm_update_rtt
    functionSourceFile: /src/openssl/ssl/quic/quic_statm.c
    functionUses: 2
    functionsReached:
    - ossl_time_subtract
    - ossl_time_divide
    - ossl_time_is_zero
    - ossl_time_compare
    - ossl_time_abs_difference
    - 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:60,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_statm.c:61,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_statm.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - statm
    argTypes:
    - OSSL_STATM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: ossl_statm_init
    functionSourceFile: /src/openssl/ssl/quic/quic_statm.c
    functionUses: 3
    functionsReached:
    - ossl_time_divide
    - ossl_time_zero
    - ossl_time_infinite
    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: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    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: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    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:252,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:255,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:257,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:259,1
    - Dst: ossl_list_retiring_next
      Src: /src/openssl/ssl/quic/quic_rcidm.c:259,1
    - Dst: ossl_list_retiring_prev
      Src: /src/openssl/ssl/quic/quic_rcidm.c:260,1
    - Dst: ossl_list_retiring_head
      Src: /src/openssl/ssl/quic/quic_rcidm.c:261,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:267,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:269,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:270,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: 253
        line_start: 251
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: "((rcid->state == RCID_STATE_CUR)\n        == (rcidm->cur_rcid ==
        rcid))"
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: "((rcid->state == RCID_STATE_PENDING)\n        == (rcid->pq_idx !=
        SIZE_MAX))"
      pos:
        line_end: 255
        line_start: 254
        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: 261
        line_start: 258
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->type != RCID_TYPE_INITIAL || rcid->seq_num == 0)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->type != RCID_TYPE_PREF_ADDR || rcid->seq_num == 1)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->seq_num <= OSSL_QUIC_VLINT_MAX)
      pos:
        line_end: 264
        line_start: 264
        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: 265
        line_start: 265
        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: 267
        line_start: 266
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcidm->num_changes == 0 || rcidm->handshake_complete)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->state != RCID_STATE_RETIRING || rcidm->num_retiring > 0)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: rcidm_check_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_list_retiring_prev
    - ossl_list_retiring_head
    - assert
    - ossl_list_retiring_next
    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:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: rcid_cmp
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rcid_cmp(const void *av, const void *bv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_rcidm.c:289,1
    - Dst: ossl_pqueue_RCID_new
      Src: /src/openssl/ssl/quic/quic_rcidm.c:292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:293,1
    - Dst: rcidm_update
      Src: /src/openssl/ssl/quic/quic_rcidm.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - initial_odcid
    argTypes:
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 304
    functionName: ossl_quic_rcidm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_update
    - ossl_pqueue_RCID_new
    - OPENSSL_zalloc
    - OPENSSL_free
    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:313,1
    - Dst: ossl_pqueue_RCID_pop
      Src: /src/openssl/ssl/quic/quic_rcidm.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:315,1
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/ssl/quic/quic_rcidm.c:317,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:318,1
    - Dst: ossl_pqueue_RCID_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 322
    functionName: ossl_quic_rcidm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - ossl_pqueue_RCID_pop
    - ossl_pqueue_RCID_free
    - OSSL_LIST_FOREACH_DELSAFE
    - OPENSSL_free
    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:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 339
    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:353,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_rcidm.c:357,1
    - Dst: ossl_pqueue_RCID_push
      Src: /src/openssl/ssl/quic/quic_rcidm.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:368,1
    - Dst: ossl_list_retiring_insert_tail
      Src: /src/openssl/ssl/quic/quic_rcidm.c:375,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:379,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: 381
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: rcidm_create_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - ossl_pqueue_RCID_push
    - ossl_pqueue_RCID_num
    - 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:388,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:389,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:394,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:395,1
    - Dst: ossl_pqueue_RCID_remove
      Src: /src/openssl/ssl/quic/quic_rcidm.c:399,1
    - Dst: ossl_list_retiring_insert_tail
      Src: /src/openssl/ssl/quic/quic_rcidm.c:411,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:415,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: 387
        line_start: 387
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcidm->cur_rcid == NULL)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 416
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 416
    functionName: rcidm_transition_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - ossl_pqueue_RCID_remove
    - assert
    - rcidm_transition_rcid
    - ossl_list_retiring_insert_tail
    - rcidm_check_rcid
    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:423,1
    - Dst: ossl_pqueue_RCID_remove
      Src: /src/openssl/ssl/quic/quic_rcidm.c:427,1
    - Dst: ossl_list_retiring_remove
      Src: /src/openssl/ssl/quic/quic_rcidm.c:433,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - RCID*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: rcidm_free_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_pqueue_RCID_remove
    - assert
    - ossl_list_retiring_remove
    - rcidm_check_rcid
    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:456,1
    - Dst: ossl_pqueue_RCID_peek
      Src: /src/openssl/ssl/quic/quic_rcidm.c:463,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - rcidm
    - retire_prior_to
    argTypes:
    - QUIC_RCIDM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 468
    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:479,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 491
    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:501,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:502,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:503,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:508,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:509,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:518,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:523,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts:
    - condition: (rcidm->cur_rcid != NULL)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 529
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 529
    functionName: rcidm_update
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - ossl_pqueue_RCID_peek
    - assert
    - rcidm_transition_rcid
    - rcidm_check_rcid
    - rcidm_set_preferred_rcid
    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: 542
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 542
    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:546,1
    - Dst: rcidm_roll
      Src: /src/openssl/ssl/quic/quic_rcidm.c:547,1
    - Dst: rcidm_update
      Src: /src/openssl/ssl/quic/quic_rcidm.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: rcidm_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - rcidm_update
    - rcidm_roll
    - rcidm_should_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:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 563
    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:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rcidm
    - num_packets
    argTypes:
    - QUIC_RCIDM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 572
    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:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 578
    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:592,1
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 600
    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:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rcidm
    - retry_odcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 4
    functionLinenumber: 602
    functionLinenumberEnd: 612
    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:619,1
    - Dst: rcidm_handle_retire_prior_to
      Src: /src/openssl/ssl/quic/quic_rcidm.c:623,1
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:624,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: 626
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 626
    functionName: ossl_quic_rcidm_add_from_ncid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_create_rcid
    - rcidm_handle_retire_prior_to
    - rcidm_tick
    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:635,1
    - Dst: rcidm_free_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:644,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: 647
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: rcidm_get_retire
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - rcidm_free_rcid
    - ossl_list_retiring_head
    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:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcidm
    - seq_num
    argTypes:
    - QUIC_RCIDM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 653
    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:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcidm
    - seq_num
    argTypes:
    - QUIC_RCIDM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 659
    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: 669
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 669
    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: 680
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 680
    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:684,1
    - Dst: ossl_quic_rcidm_get_num_retiring
      Src: /src/openssl/ssl/quic/quic_rcidm.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 687
    functionName: ossl_quic_rcidm_get_num_active
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - ossl_quic_rcidm_get_num_retiring
    - ossl_pqueue_RCID_num
    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: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    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_FROM_SSL
    - SSL_CONNECTION*::qtcb::crypto_send_cb
    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*::qtcb::crypto_recv_rcd_cb
    - SSL_CONNECTION_FROM_SSL
    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*::qtcb::yield_secret_cb
    - SSL_CONNECTION_FROM_SSL
    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:93,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_crypto_release_rcd
      Src: /src/openssl/ssl/quic/quic_tls_api.c:97,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_yield_secret
      Src: /src/openssl/ssl/quic/quic_tls_api.c:101,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_got_transport_params
      Src: /src/openssl/ssl/quic/quic_tls_api.c:105,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_alert
      Src: /src/openssl/ssl/quic/quic_tls_api.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:120,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - qtcb
    - qtdis
    argTypes:
    - OSSL_QUIC_TLS_CALLBACKS*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 125
    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_alert
    - OSSL_FUNC_SSL_QUIC_TLS_crypto_recv_rcd
    - OSSL_FUNC_SSL_QUIC_TLS_got_transport_params
    - OSSL_FUNC_SSL_QUIC_TLS_crypto_send
    - ERR_raise
    - OSSL_FUNC_SSL_QUIC_TLS_crypto_release_rcd
    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:129,1
    - Dst: SSL_is_tls
      Src: /src/openssl/ssl/quic/quic_tls_api.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:133,1
    - Dst: tls_callbacks_from_dispatch
      Src: /src/openssl/ssl/quic/quic_tls_api.c:137,1
    - Dst: ossl_quic_tls_free
      Src: /src/openssl/ssl/quic/quic_tls_api.c:143,1
    - Dst: ossl_quic_tls_new
      Src: /src/openssl/ssl/quic/quic_tls_api.c:161,1
    - Dst: ossl_quic_tls_configure
      Src: /src/openssl/ssl/quic/quic_tls_api.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - s
    - qtdis
    - arg
    argTypes:
    - SSL*
    - OSSL_DISPATCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 127
    functionDepth: 7
    functionLinenumber: 127
    functionLinenumberEnd: 169
    functionName: SSL_set_quic_tls_cbs
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - ossl_quic_tls_free
    - ossl_quic_tls_configure
    - tls_callbacks_from_dispatch
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - ossl_quic_tls_new
    - SSL_is_tls
    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:175,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:181,1
    - Dst: ossl_quic_tls_set_transport_params
      Src: /src/openssl/ssl/quic/quic_tls_api.c:185,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: 186
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: SSL_set_quic_tls_transport_params
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - ossl_quic_tls_set_transport_params
    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:190,1
    - Dst: SSL_is_tls
      Src: /src/openssl/ssl/quic/quic_tls_api.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:198,1
    - Dst: ossl_quic_tls_set_early_data_enabled
      Src: /src/openssl/ssl/quic/quic_tls_api.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - enabled
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: SSL_set_quic_tls_early_data_enabled
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_quic_tls_set_early_data_enabled
    - SSL_CONNECTION_FROM_SSL
    - SSL_is_tls
    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:
    - obj_update_cache
    - ossl_ssl_init
    - IS_QUIC
    - ossl_assert
    - 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: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    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:86,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/quic/quic_obj.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL && obj->init_done)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: ossl_quic_obj_get0_handshake_layer
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - SSL_CONNECTION_FROM_SSL_ONLY
    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:99,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_obj.c:100,1
    - Dst: ossl_quic_reactor_can_poll_r
      Src: /src/openssl/ssl/quic/quic_obj.c:107,1
    - Dst: ossl_quic_reactor_can_poll_w
      Src: /src/openssl/ssl/quic/quic_obj.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 109
    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_reactor_can_poll_r
    - assert
    - ossl_quic_obj_get0_reactor
    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:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    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:126,1
    - Dst: ossl_quic_obj_desires_blocking
      Src: /src/openssl/ssl/quic/quic_obj.c:128,1
    - Dst: ossl_quic_engine_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_obj.c:131,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj.c:131,1
    - Dst: ossl_quic_obj_can_support_blocking
      Src: /src/openssl/ssl/quic/quic_obj.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: ossl_quic_obj_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 1
    functionsReached:
    - ossl_quic_obj_can_support_blocking
    - ossl_quic_engine_update_poll_descriptors
    - assert
    - ossl_quic_obj_desires_blocking
    - ossl_quic_obj_get0_engine
    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:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - mode
    argTypes:
    - QUIC_OBJ*
    - unsigned int
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    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:
    - memmove
    - BIO_flush
    - BIO_write_ex
    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:
    - OPENSSL_realloc
    - OSSL_NELEM
    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:
    - wbuf_init
    - memset
    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:
    - wbuf_cleanup
    - OPENSSL_free
    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_flush
    - ossl_json_cleanup
    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_undefer
    - ossl_json_in_error
    - wbuf_write_char
    - json_raise_error
    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:
    - wbuf_write_str
    - json_undefer
    - ossl_json_in_error
    - json_raise_error
    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:
    - json_write_str
    - in_pretty
    - json_write_char
    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:
    - in_seq
    - ossl_json_in_error
    - json_indent
    - json_peek
    - json_write_char
    - json_raise_error
    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_write_char
    - json_peek
    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_write_char
    - json_raise_error
    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:
    - ossl_json_in_error
    - json_indent
    - json_peek
    - json_post_item
    - json_write_char
    - json_raise_error
    - json_pop
    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:
    - ossl_json_in_error
    - json_indent
    - json_peek
    - json_write_qstring
    - json_write_char
    - json_raise_error
    - in_pretty
    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_write_str
    - json_pre_item
    - json_post_item
    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_write_str
    - json_pre_item
    - json_post_item
    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:
    - json_write_str
    - json_pre_item
    - json_post_item
    - in_ijson
    - json_write_char
    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
    - json_pre_item
    - json_u64
    - in_ijson
    - json_write_char
    - 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:650,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/json_enc.c:661,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/json_enc.c:674,1
    - Dst: hex_digit
      Src: /src/openssl/ssl/quic/json_enc.c:685,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:689,1
    - Dst: json_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:695,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:698,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: 699
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 699
    functionName: json_write_qstring_inner
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - ossl_json_in_error
    - json_write_str
    - json_write_char
    - hex_digit
    - strlen
    - memcpy
    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:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - json
    - str
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 5
    functionLinenumber: 701
    functionLinenumberEnd: 705
    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:710,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: 711
      start: 707
    functionDepth: 5
    functionLinenumber: 707
    functionLinenumberEnd: 711
    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:715,1
    - Dst: json_write_qstring
      Src: /src/openssl/ssl/quic/json_enc.c:718,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - json
    - str
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 6
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: ossl_json_str
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_write_qstring
    - json_pre_item
    - json_post_item
    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:724,1
    - Dst: json_write_qstring_len
      Src: /src/openssl/ssl/quic/json_enc.c:727,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:728,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: 729
      start: 722
    functionDepth: 6
    functionLinenumber: 722
    functionLinenumberEnd: 729
    functionName: ossl_json_str_len
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_post_item
    - json_pre_item
    - json_write_qstring_len
    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:740,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:743,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:747,1
    - Dst: hex_digit
      Src: /src/openssl/ssl/quic/json_enc.c:747,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:748,1
    - Dst: hex_digit
      Src: /src/openssl/ssl/quic/json_enc.c:748,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:751,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:752,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: 753
      start: 735
    functionDepth: 6
    functionLinenumber: 735
    functionLinenumberEnd: 753
    functionName: ossl_json_str_hex
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_post_item
    - json_pre_item
    - json_write_char
    - hex_digit
    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:87,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
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:102,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - info
    argTypes:
    - QLOG_TRACE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 105
    functionName: ossl_qlog_new
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 2
    functionsReached:
    - ossl_json_init
    - OPENSSL_strdup
    - OPENSSL_zalloc
    - OPENSSL_free
    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:110,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/ssl/quic/qlog.c:111,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/qlog.c:118,1
    - Dst: ossl_determine_dirsep
      Src: /src/openssl/ssl/quic/qlog.c:122,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/qlog.c:126,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/qlog.c:130,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/quic/qlog.c:135,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/quic/qlog.c:137,1
    - Dst: ossl_qlog_new
      Src: /src/openssl/ssl/quic/qlog.c:140,1
    - Dst: ossl_qlog_set_sink_filename
      Src: /src/openssl/ssl/quic/qlog.c:144,1
    - Dst: ossl_qlog_set_filter
      Src: /src/openssl/ssl/quic/qlog.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:157,1
    - Dst: ossl_qlog_free
      Src: /src/openssl/ssl/quic/qlog.c:158,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - info
    argTypes:
    - QLOG_TRACE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 160
    functionName: ossl_qlog_new_from_env
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_qlog_set_filter
    - ossl_qlog_set_sink_filename
    - OPENSSL_free
    - ossl_determine_dirsep
    - BIO_snprintf
    - ossl_qlog_new
    - ossl_qlog_free
    - ossl_safe_getenv
    - strlen
    - memcpy
    - 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:167,1
    - Dst: BIO_free_all
      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
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 174
    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:185,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/qlog.c:186,1
    - Dst: ossl_json_set0_sink
      Src: /src/openssl/ssl/quic/qlog.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qlog
    - bio
    argTypes:
    - QLOG*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: ossl_qlog_set_sink_bio
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 1
    functionsReached:
    - ossl_json_set0_sink
    - ossl_qlog_flush
    - 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